MDL-52996 Atto: Allow plugins to customise toolbar
[moodle.git] / lib / editor / atto / tests / fixtures / custom_toolbar_example.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
17 /**
18  * Demonstrates use of Atto editor with overridden toolbar setting.
19  *
20  * This fixture is only used by the Behat test.
21  *
22  * @package editor_atto
23  * @copyright 2016 The Open University
24  * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25  */
27 require(__DIR__ . '/../../../../../config.php');
28 require_once($CFG->dirroot . '/lib/editor/atto/lib.php');
30 // Behat test fixture only.
31 defined('BEHAT_SITE_RUNNING') || die('Only available on Behat test server');
33 $PAGE->set_url('/lib/editor/atto/tests/fixtures/override_plugins_example.php');
34 $PAGE->set_context(context_system::instance());
36 echo $OUTPUT->header();
38 // If this was sending some input, display it.
39 $normal = optional_param('normaleditor', '', PARAM_RAW);
40 $special = optional_param('specialeditor', '', PARAM_RAW);
41 if ($normal !== '' || $special !== '') {
42     echo html_writer::start_div('normalresult');
43     echo s($normal);
44     echo html_writer::end_div();
45     echo html_writer::start_div('specialresult');
46     echo s($special);
47     echo html_writer::end_div();
48 } else {
49     // Create a form.
50     echo html_writer::start_tag('form', array('method' => 'post', 'action' => 'custom_toolbar_example.php'));
51     echo html_writer::start_div();
53     // Basic editor options.
54     $options = array();
55     $atto = new atto_texteditor();
57     // Normal Atto.
58     echo html_writer::start_div('normaldiv');
59     echo $OUTPUT->heading('Normal Atto');
60     echo html_writer::div(html_writer::tag('textarea', '',
61             array('id' => 'normaleditor', 'name' => 'normaleditor', 'rows' => 10)));
62     $atto->use_editor('normaleditor', $options);
63     echo html_writer::end_div();
65     // Second Atto with custom options.
66     echo html_writer::start_div('specialdiv');
67     $options['atto:toolbar'] = <<<EOT
68 style1 = bold, italic
69 list = unorderedlist, orderedlist
70 EOT;
71     echo $OUTPUT->heading('Special Atto');
72     echo html_writer::div(html_writer::tag('textarea', '',
73             array('id' => 'specialeditor', 'name' => 'specialeditor', 'rows' => 10)));
74     $atto->use_editor('specialeditor', $options);
75     echo html_writer::end_div();
77     // Button to submit form.
78     echo html_writer::start_div('', array('style' => 'margin-top: 20px'));
79     echo html_writer::tag('button', 'Submit and see the HTML');
80     echo html_writer::end_div();
82     echo html_writer::end_div();
83     echo html_writer::end_tag('form');
84 }
86 echo $OUTPUT->footer();