コード例 #1
0
 public function test_toolbar_parsing()
 {
     global $CFG;
     require_once "{$CFG->dirroot}/lib/editorlib.php";
     require_once "{$CFG->dirroot}/lib/editor/tinymce/lib.php";
     $result = tinymce_texteditor::parse_toolbar_setting("bold,italic\npreview");
     $this->assertSame(array('bold,italic', 'preview'), $result);
     $result = tinymce_texteditor::parse_toolbar_setting("| bold,|italic*blink\rpreview\n\n| \n paste STYLE | ");
     $this->assertSame(array('bold,|,italic,blink', 'preview', 'paste,style'), $result);
     $result = tinymce_texteditor::parse_toolbar_setting("| \n\n| \n \r");
     $this->assertSame(array(), $result);
     $result = tinymce_texteditor::parse_toolbar_setting("one\ntwo\n\nthree\nfour\nfive\nsix\nseven\neight\nnine\nten");
     $this->assertSame(array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten'), $result);
 }
コード例 #2
0
ファイル: adminlib.php プロジェクト: JP-Git/moodle
 /**
  * Builds the XHTML to display the control.
  *
  * @param string $data Unused
  * @param string $query
  * @return string
  */
 public function output_html($data, $query = '')
 {
     global $CFG, $OUTPUT, $PAGE;
     require_once "{$CFG->libdir}/editorlib.php";
     require_once "{$CFG->libdir}/pluginlib.php";
     require_once __DIR__ . '/lib.php';
     $tinymce = new tinymce_texteditor();
     $pluginmanager = plugin_manager::instance();
     // display strings
     $strbuttons = get_string('availablebuttons', 'editor_tinymce');
     $strdisable = get_string('disable');
     $strenable = get_string('enable');
     $strname = get_string('name');
     $strsettings = get_string('settings');
     $struninstall = get_string('uninstallplugin', 'admin');
     $strversion = get_string('version');
     $subplugins = get_plugin_list('tinymce');
     $return = $OUTPUT->heading(get_string('subplugintype_tinymce_plural', 'editor_tinymce'), 3, 'main', true);
     $return .= $OUTPUT->box_start('generalbox tinymcesubplugins');
     $table = new html_table();
     $table->head = array($strname, $strbuttons, $strversion, $strenable, $strsettings, $struninstall);
     $table->align = array('left', 'left', 'center', 'center', 'center', 'center');
     $table->data = array();
     $table->width = '100%';
     // Iterate through subplugins.
     foreach ($subplugins as $name => $dir) {
         $namestr = get_string('pluginname', 'tinymce_' . $name);
         $version = get_config('tinymce_' . $name, 'version');
         if ($version === false) {
             $version = '';
         }
         $plugin = $tinymce->get_plugin($name);
         $plugininfo = $pluginmanager->get_plugin_info('tinymce_' . $name);
         // Add hide/show link.
         if (!$version) {
             $hideshow = '';
             $displayname = html_writer::tag('span', $name, array('class' => 'error'));
         } else {
             if ($plugininfo->is_enabled()) {
                 $url = new moodle_url('/lib/editor/tinymce/subplugins.php', array('sesskey' => sesskey(), 'return' => 'settings', 'disable' => $name));
                 $hideshow = html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/hide'), 'class' => 'icon', 'alt' => $strdisable));
                 $hideshow = html_writer::link($url, $hideshow);
                 $displayname = html_writer::tag('span', $namestr);
             } else {
                 $url = new moodle_url('/lib/editor/tinymce/subplugins.php', array('sesskey' => sesskey(), 'return' => 'settings', 'enable' => $name));
                 $hideshow = html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/show'), 'class' => 'icon', 'alt' => $strenable));
                 $hideshow = html_writer::link($url, $hideshow);
                 $displayname = html_writer::tag('span', $namestr, array('class' => 'dimmed_text'));
             }
         }
         if ($PAGE->theme->resolve_image_location('icon', 'tinymce_' . $name)) {
             $icon = $OUTPUT->pix_icon('icon', '', 'tinymce_' . $name, array('class' => 'smallicon pluginicon'));
         } else {
             $icon = $OUTPUT->pix_icon('spacer', '', 'moodle', array('class' => 'smallicon pluginicon noicon'));
         }
         $displayname = $icon . ' ' . $displayname;
         // Add available buttons.
         $buttons = implode(', ', $plugin->get_buttons());
         $buttons = html_writer::tag('span', $buttons, array('class' => 'tinymcebuttons'));
         // Add settings link.
         if (!$version) {
             $settings = '';
         } else {
             if ($url = $plugininfo->get_settings_url()) {
                 $settings = html_writer::link($url, $strsettings);
             } else {
                 $settings = '';
             }
         }
         // Add uninstall info.
         if ($version) {
             $url = new moodle_url($plugininfo->get_uninstall_url(), array('return' => 'settings'));
             $uninstall = html_writer::link($url, $struninstall);
         } else {
             $uninstall = '';
         }
         // Add a row to the table.
         $table->data[] = array($displayname, $buttons, $version, $hideshow, $settings, $uninstall);
     }
     $return .= html_writer::table($table);
     $return .= html_writer::tag('p', get_string('tablenosave', 'admin'));
     $return .= $OUTPUT->box_end();
     return highlight($query, $return);
 }