]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-15571:
authorthepurpleblob <thepurpleblob>
Wed, 9 Jul 2008 10:26:13 +0000 (10:26 +0000)
committerthepurpleblob <thepurpleblob>
Wed, 9 Jul 2008 10:26:13 +0000 (10:26 +0000)
Now substitutes for group templates

lib/formslib.php

index 79457ecee3d4cac193279300bd5f126b7159c6d2..e8cd5789a5aac74ae4cd005f75c2793bc30d4bf4 100644 (file)
@@ -1702,7 +1702,7 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
     }
 
     function renderElement(&$element, $required, $error){
-        //manipulate id of all elements before rendering
+        //manipulate id of all elements before rendering       
         if (!is_null($element->getAttribute('id'))) {
             $id = $element->getAttribute('id');
         } else {
@@ -1715,7 +1715,12 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
         }
 
         //adding stuff to place holders in template
-        if (method_exists($element, 'getElementTemplateType')){
+        //check if this is a group element first 
+        if (($this->_inGroup) and !empty($this->_groupElementTemplate)) {
+               // so it gets substitutions for *each* element
+            $html = $this->_groupTemplates[$element->getName()];       
+        }
+        elseif (method_exists($element, 'getElementTemplateType')){
             $html = $this->_elementTemplates[$element->getElementTemplateType()];
         }else{
             $html = $this->_elementTemplates['default'];
@@ -1743,10 +1748,13 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
             $html = str_replace('{help}', '', $html);
 
         }
-        if (!isset($this->_templates[$element->getName()])) {
-            $this->_templates[$element->getName()] = $html;
+        if (($this->_inGroup) and !empty($this->_groupElementTemplate)) {
+            $this->_groupElementTemplate = $html;
         }
-
+        elseif (!isset($this->_templates[$element->getName()])) {
+            $this->_templates[$element->getName()] = $html;
+        }  
+        
         parent::renderElement($element, $required, $error);
     }