original_string: public function manage_messageoutputs($processors) {
          // Display the current workflows
          $table = new html_table();
          $table->attributes['class'] = 'admintable generaltable';
          $table->data        = array();
          $table->head        = array(
              get_string('name'),
              get_string('enable'),
              get_string('settings'),
          );
          $table->colclasses = array(
              'displayname', 'availability', 'settings',
          );
  
          foreach ($processors as $processor) {
              $row = new html_table_row();
              $row->attributes['class'] = 'messageoutputs';
  
              $name = new html_table_cell(get_string('pluginname', 'message_'.$processor->name));
              $enable = new html_table_cell();
              if (!$processor->available) {
                  $enable->text = html_writer::nonempty_tag('span', get_string('outputnotavailable', 'message'),
                      array('class' => 'error')
                  );
              } else {
                  $enable->text = html_writer::checkbox($processor->name, $processor->id, $processor->enabled, '',
                      array('id' => $processor->name)
                  );
              }
              // Settings
              $settings = new html_table_cell();
              if ($processor->available && $processor->hassettings) {
                  $settingsurl = new moodle_url('/admin/settings.php', array('section' => 'messagesetting'.$processor->name));
                  $settings->text = html_writer::link($settingsurl, get_string('settings', 'message'));
              }
  
              $row->cells = array($name, $enable, $settings);
              $table->data[] = $row;
          }
          return html_writer::table($table);
      }
code: public function manage_messageoutputs($processors) {
          // Display the current workflows
          $table = new html_table();
          $table->attributes['class'] = 'admintable generaltable';
          $table->data        = array();
          $table->head        = array(
              get_string('name'),
              get_string('enable'),
              get_string('settings'),
          );
          $table->colclasses = array(
              'displayname', 'availability', 'settings',
          );
  
          foreach ($processors as $processor) {
              $row = new html_table_row();
              $row->attributes['class'] = 'messageoutputs';
  
              $name = new html_table_cell(get_string('pluginname', 'message_'.$processor->name));
              $enable = new html_table_cell();
              if (!$processor->available) {
                  $enable->text = html_writer::nonempty_tag('span', get_string('outputnotavailable', 'message'),
                      array('class' => 'error')
                  );
              } else {
                  $enable->text = html_writer::checkbox($processor->name, $processor->id, $processor->enabled, '',
                      array('id' => $processor->name)
                  );
              }
              // Settings
              $settings = new html_table_cell();
              if ($processor->available && $processor->hassettings) {
                  $settingsurl = new moodle_url('/admin/settings.php', array('section' => 'messagesetting'.$processor->name));
                  $settings->text = html_writer::link($settingsurl, get_string('settings', 'message'));
              }
  
              $row->cells = array($name, $enable, $settings);
              $table->data[] = $row;
          }
          return html_writer::table($table);
      }
code_tokens: public function manage_messageoutputs ( $ processors ) { // Display the current workflows $ table = new html_table ( ) ; $ table -> attributes [ 'class' ] = 'admintable generaltable' ; $ table -> data = array ( ) ; $ table -> head = array ( get_string ( 'name' ) , get_string ( 'enable' ) , get_string ( 'settings' ) , ) ; $ table -> colclasses = array ( 'displayname' , 'availability' , 'settings' , ) ; foreach ( $ processors as $ processor ) { $ row = new html_table_row ( ) ; $ row -> attributes [ 'class' ] = 'messageoutputs' ; $ name = new html_table_cell ( get_string ( 'pluginname' , 'message_' . $ processor -> name ) ) ; $ enable = new html_table_cell ( ) ; if ( ! $ processor -> available ) { $ enable -> text = html_writer :: nonempty_tag ( 'span' , get_string ( 'outputnotavailable' , 'message' ) , array ( 'class' => 'error' ) ) ; } else { $ enable -> text = html_writer :: checkbox ( $ processor -> name , $ processor -> id , $ processor -> enabled , '' , array ( 'id' => $ processor -> name ) ) ; } // Settings $ settings = new html_table_cell ( ) ; if ( $ processor -> available && $ processor -> hassettings ) { $ settingsurl = new moodle_url ( '/admin/settings.php' , array ( 'section' => 'messagesetting' . $ processor -> name ) ) ; $ settings -> text = html_writer :: link ( $ settingsurl , get_string ( 'settings' , 'message' ) ) ; } $ row -> cells = array ( $ name , $ enable , $ settings ) ; $ table -> data [ ] = $ row ; } return html_writer :: table ( $ table ) ; }
docstring: Display the interface to manage message outputs
  
  @param  array  $processors array of objects containing message processors
  @return string The text to render
docstring_tokens: Display the interface to manage message outputs