original_string: protected function render_enrol_user_button(enrol_user_button $button) {
          $attributes = array('type'     => 'submit',
                              'value'    => $button->label,
                              'disabled' => $button->disabled ? 'disabled' : null,
                              'title'    => $button->tooltip,
                              'class'    => 'btn btn-secondary my-1');
  
          if ($button->actions) {
              $id = html_writer::random_id('single_button');
              $attributes['id'] = $id;
              foreach ($button->actions as $action) {
                  $this->add_action_handler($action, $id);
              }
          }
          $button->initialise_js($this->page);
  
          // first the input element
          $output = html_writer::empty_tag('input', $attributes);
  
          // then hidden fields
          $params = $button->url->params();
          if ($button->method === 'post') {
              $params['sesskey'] = sesskey();
          }
          foreach ($params as $var => $val) {
              $output .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => $var, 'value' => $val));
          }
  
          // then div wrapper for xhtml strictness
          $output = html_writer::tag('div', $output);
  
          // now the form itself around it
          if ($button->method === 'get') {
              $url = $button->url->out_omit_querystring(true); // url without params, the anchor part allowed
          } else {
              $url = $button->url->out_omit_querystring();     // url without params, the anchor part not allowed
          }
          if ($url === '') {
              $url = '#'; // there has to be always some action
          }
          $attributes = array('method' => $button->method,
                              'action' => $url,
                              'id'     => $button->formid);
          $output = html_writer::tag('form', $output, $attributes);
  
          // and finally one more wrapper with class
          return html_writer::tag('div', $output, array('class' => $button->class));
      }
code: protected function render_enrol_user_button(enrol_user_button $button) {
          $attributes = array('type'     => 'submit',
                              'value'    => $button->label,
                              'disabled' => $button->disabled ? 'disabled' : null,
                              'title'    => $button->tooltip,
                              'class'    => 'btn btn-secondary my-1');
  
          if ($button->actions) {
              $id = html_writer::random_id('single_button');
              $attributes['id'] = $id;
              foreach ($button->actions as $action) {
                  $this->add_action_handler($action, $id);
              }
          }
          $button->initialise_js($this->page);
  
          // first the input element
          $output = html_writer::empty_tag('input', $attributes);
  
          // then hidden fields
          $params = $button->url->params();
          if ($button->method === 'post') {
              $params['sesskey'] = sesskey();
          }
          foreach ($params as $var => $val) {
              $output .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => $var, 'value' => $val));
          }
  
          // then div wrapper for xhtml strictness
          $output = html_writer::tag('div', $output);
  
          // now the form itself around it
          if ($button->method === 'get') {
              $url = $button->url->out_omit_querystring(true); // url without params, the anchor part allowed
          } else {
              $url = $button->url->out_omit_querystring();     // url without params, the anchor part not allowed
          }
          if ($url === '') {
              $url = '#'; // there has to be always some action
          }
          $attributes = array('method' => $button->method,
                              'action' => $url,
                              'id'     => $button->formid);
          $output = html_writer::tag('form', $output, $attributes);
  
          // and finally one more wrapper with class
          return html_writer::tag('div', $output, array('class' => $button->class));
      }
code_tokens: protected function render_enrol_user_button ( enrol_user_button $ button ) { $ attributes = array ( 'type' => 'submit' , 'value' => $ button -> label , 'disabled' => $ button -> disabled ? 'disabled' : null , 'title' => $ button -> tooltip , 'class' => 'btn btn-secondary my-1' ) ; if ( $ button -> actions ) { $ id = html_writer :: random_id ( 'single_button' ) ; $ attributes [ 'id' ] = $ id ; foreach ( $ button -> actions as $ action ) { $ this -> add_action_handler ( $ action , $ id ) ; } } $ button -> initialise_js ( $ this -> page ) ; // first the input element $ output = html_writer :: empty_tag ( 'input' , $ attributes ) ; // then hidden fields $ params = $ button -> url -> params ( ) ; if ( $ button -> method === 'post' ) { $ params [ 'sesskey' ] = sesskey ( ) ; } foreach ( $ params as $ var => $ val ) { $ output .= html_writer :: empty_tag ( 'input' , array ( 'type' => 'hidden' , 'name' => $ var , 'value' => $ val ) ) ; } // then div wrapper for xhtml strictness $ output = html_writer :: tag ( 'div' , $ output ) ; // now the form itself around it if ( $ button -> method === 'get' ) { $ url = $ button -> url -> out_omit_querystring ( true ) ; // url without params, the anchor part allowed } else { $ url = $ button -> url -> out_omit_querystring ( ) ; // url without params, the anchor part not allowed } if ( $ url === '' ) { $ url = '#' ; // there has to be always some action } $ attributes = array ( 'method' => $ button -> method , 'action' => $ url , 'id' => $ button -> formid ) ; $ output = html_writer :: tag ( 'form' , $ output , $ attributes ) ; // and finally one more wrapper with class return html_writer :: tag ( 'div' , $ output , array ( 'class' => $ button -> class ) ) ; }
docstring: Renderers the enrol_user_button.
  
  @param enrol_user_button $button
  @return string XHTML
docstring_tokens: Renderers the enrol_user_button .