Exemplo n.º 1
0
 /**
  * Called when visiting a form, after processing all form elements
  * Adds required note, form attributes, validation javascript and form content.
  *
  * @global moodle_page $PAGE
  * @param moodleform $form Passed by reference
  */
 function finishForm(&$form)
 {
     global $PAGE;
     if ($form->isFrozen()) {
         $this->_hiddenHtml = '';
     }
     parent::finishForm($form);
     $this->_html = str_replace('{collapsebtns}', $this->_collapseButtons, $this->_html);
     if (!$form->isFrozen()) {
         $args = $form->getLockOptionObject();
         if (count($args[1]) > 0) {
             $PAGE->requires->js_init_call('M.form.initFormDependencies', $args, true, moodleform::get_js_module());
         }
     }
 }
 /**
  * Called when visiting a header element
  *
  * @param    object  $header   An HTML_QuickForm_header element being visited
  * @access   public
  * @return   void
  * @global moodle_page $PAGE
  */
 function renderHeader(&$header)
 {
     global $PAGE;
     $name = $header->getName();
     $id = empty($name) ? '' : ' id="' . $name . '"';
     $id = preg_replace(array('/\\]/', '/\\[/'), array('', '_'), $id);
     if (is_null($header->_text)) {
         $header_html = '';
     } elseif (!empty($name) && isset($this->_templates[$name])) {
         $header_html = str_replace('{header}', $header->toHtml(), $this->_templates[$name]);
     } else {
         $header_html = str_replace('{header}', $header->toHtml(), $this->_headerTemplate);
     }
     if (isset($this->_advancedElements[$name])) {
         $header_html = str_replace('{advancedimg}', $this->_advancedHTML, $header_html);
         $elementName = 'mform_showadvanced';
         if ($this->_showAdvanced == 0) {
             $buttonlabel = get_string('showadvanced', 'form');
         } else {
             $buttonlabel = get_string('hideadvanced', 'form');
         }
         $button = '<input name="' . $elementName . '" class="showadvancedbtn" value="' . $buttonlabel . '" type="submit" />';
         $PAGE->requires->js_init_call('M.form.initShowAdvanced', array(), false, moodleform::get_js_module());
         $header_html = str_replace('{button}', $button, $header_html);
     } else {
         $header_html = str_replace('{advancedimg}', '', $header_html);
         $header_html = str_replace('{button}', '', $header_html);
     }
     if ($this->_fieldsetsOpen > 0) {
         $this->_html .= $this->_closeFieldsetTemplate;
         $this->_fieldsetsOpen--;
     }
     $openFieldsetTemplate = str_replace('{id}', $id, $this->_openFieldsetTemplate);
     if ($this->_showAdvanced) {
         $advclass = ' class="advanced"';
     } else {
         $advclass = ' class="advanced hide"';
     }
     if (isset($this->_advancedElements[$name])) {
         $openFieldsetTemplate = str_replace('{advancedclass}', $advclass, $openFieldsetTemplate);
     } else {
         $openFieldsetTemplate = str_replace('{advancedclass}', '', $openFieldsetTemplate);
     }
     $this->_html .= $openFieldsetTemplate . $header_html;
     $this->_fieldsetsOpen++;
 }