original_string: protected function subscription_action_form($subscription) {
          // Assemble form for the subscription row.
          $html = html_writer::start_tag('form', array('action' => new moodle_url('/calendar/managesubscriptions.php'), 'method' => 'post'));
          if (empty($subscription->url)) {
              // Don't update an iCal file, which has no URL.
              $html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'pollinterval', 'value' => '0'));
          } else {
              // Assemble pollinterval control.
              $html .= html_writer::start_tag('div', array('style' => 'float:left;'));
              $html .= html_writer::start_tag('select', array('name' => 'pollinterval', 'class' => 'custom-select'));
              foreach (calendar_get_pollinterval_choices() as $k => $v) {
                  $attributes = array();
                  if ($k == $subscription->pollinterval) {
                      $attributes['selected'] = 'selected';
                  }
                  $attributes['value'] = $k;
                  $html .= html_writer::tag('option', $v, $attributes);
              }
              $html .= html_writer::end_tag('select');
              $html .= html_writer::end_tag('div');
          }
          $html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));
          $html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'id', 'value' => $subscription->id));
          $html .= html_writer::start_tag('div', array('class' => 'btn-group float-right'));
          if (!empty($subscription->url)) {
              $html .= html_writer::tag('button', get_string('update'), array('type'  => 'submit', 'name' => 'action',
                                                                              'class' => 'btn btn-secondary',
                                                                              'value' => CALENDAR_SUBSCRIPTION_UPDATE));
          }
          $html .= html_writer::tag('button', get_string('remove'), array('type'  => 'submit', 'name' => 'action',
                                                                          'class' => 'btn btn-secondary',
                                                                          'value' => CALENDAR_SUBSCRIPTION_REMOVE));
          $html .= html_writer::end_tag('div');
          $html .= html_writer::end_tag('form');
          return $html;
      }
code: protected function subscription_action_form($subscription) {
          // Assemble form for the subscription row.
          $html = html_writer::start_tag('form', array('action' => new moodle_url('/calendar/managesubscriptions.php'), 'method' => 'post'));
          if (empty($subscription->url)) {
              // Don't update an iCal file, which has no URL.
              $html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'pollinterval', 'value' => '0'));
          } else {
              // Assemble pollinterval control.
              $html .= html_writer::start_tag('div', array('style' => 'float:left;'));
              $html .= html_writer::start_tag('select', array('name' => 'pollinterval', 'class' => 'custom-select'));
              foreach (calendar_get_pollinterval_choices() as $k => $v) {
                  $attributes = array();
                  if ($k == $subscription->pollinterval) {
                      $attributes['selected'] = 'selected';
                  }
                  $attributes['value'] = $k;
                  $html .= html_writer::tag('option', $v, $attributes);
              }
              $html .= html_writer::end_tag('select');
              $html .= html_writer::end_tag('div');
          }
          $html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));
          $html .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'id', 'value' => $subscription->id));
          $html .= html_writer::start_tag('div', array('class' => 'btn-group float-right'));
          if (!empty($subscription->url)) {
              $html .= html_writer::tag('button', get_string('update'), array('type'  => 'submit', 'name' => 'action',
                                                                              'class' => 'btn btn-secondary',
                                                                              'value' => CALENDAR_SUBSCRIPTION_UPDATE));
          }
          $html .= html_writer::tag('button', get_string('remove'), array('type'  => 'submit', 'name' => 'action',
                                                                          'class' => 'btn btn-secondary',
                                                                          'value' => CALENDAR_SUBSCRIPTION_REMOVE));
          $html .= html_writer::end_tag('div');
          $html .= html_writer::end_tag('form');
          return $html;
      }
code_tokens: protected function subscription_action_form ( $ subscription ) { // Assemble form for the subscription row. $ html = html_writer :: start_tag ( 'form' , array ( 'action' => new moodle_url ( '/calendar/managesubscriptions.php' ) , 'method' => 'post' ) ) ; if ( empty ( $ subscription -> url ) ) { // Don't update an iCal file, which has no URL. $ html .= html_writer :: empty_tag ( 'input' , array ( 'type' => 'hidden' , 'name' => 'pollinterval' , 'value' => '0' ) ) ; } else { // Assemble pollinterval control. $ html .= html_writer :: start_tag ( 'div' , array ( 'style' => 'float:left;' ) ) ; $ html .= html_writer :: start_tag ( 'select' , array ( 'name' => 'pollinterval' , 'class' => 'custom-select' ) ) ; foreach ( calendar_get_pollinterval_choices ( ) as $ k => $ v ) { $ attributes = array ( ) ; if ( $ k == $ subscription -> pollinterval ) { $ attributes [ 'selected' ] = 'selected' ; } $ attributes [ 'value' ] = $ k ; $ html .= html_writer :: tag ( 'option' , $ v , $ attributes ) ; } $ html .= html_writer :: end_tag ( 'select' ) ; $ html .= html_writer :: end_tag ( 'div' ) ; } $ html .= html_writer :: empty_tag ( 'input' , array ( 'type' => 'hidden' , 'name' => 'sesskey' , 'value' => sesskey ( ) ) ) ; $ html .= html_writer :: empty_tag ( 'input' , array ( 'type' => 'hidden' , 'name' => 'id' , 'value' => $ subscription -> id ) ) ; $ html .= html_writer :: start_tag ( 'div' , array ( 'class' => 'btn-group float-right' ) ) ; if ( ! empty ( $ subscription -> url ) ) { $ html .= html_writer :: tag ( 'button' , get_string ( 'update' ) , array ( 'type' => 'submit' , 'name' => 'action' , 'class' => 'btn btn-secondary' , 'value' => CALENDAR_SUBSCRIPTION_UPDATE ) ) ; } $ html .= html_writer :: tag ( 'button' , get_string ( 'remove' ) , array ( 'type' => 'submit' , 'name' => 'action' , 'class' => 'btn btn-secondary' , 'value' => CALENDAR_SUBSCRIPTION_REMOVE ) ) ; $ html .= html_writer :: end_tag ( 'div' ) ; $ html .= html_writer :: end_tag ( 'form' ) ; return $ html ; }
docstring: Creates a form to perform actions on a given subscription.
  
  @param stdClass $subscription
  @return string
docstring_tokens: Creates a form to perform actions on a given subscription .