mirror of
https://github.com/moodle/moodle.git
synced 2025-03-20 07:30:01 +01:00
MDL-75940 editor_tiny: Allow administrators to disable Tiny branding
Part of MDL-75966
This commit is contained in:
parent
a809f82862
commit
07b9f384a2
2
lib/editor/tiny/amd/build/editor.min.js
vendored
2
lib/editor/tiny/amd/build/editor.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -216,6 +216,7 @@ const getStandardConfig = (target, tinyMCE, options, plugins) => {
|
||||
|
||||
// Disable quickbars entirely.
|
||||
// The UI is not ideal and we'll wait for it to improve in future before we enable it in Moodle.
|
||||
// eslint-disable-next-line camelcase
|
||||
quickbars_insert_toolbar: '',
|
||||
|
||||
// The list of plugins to include in the instance.
|
||||
@ -236,6 +237,10 @@ const getStandardConfig = (target, tinyMCE, options, plugins) => {
|
||||
// https://www.tiny.cloud/docs/tinymce/6/editor-premium-upgrade-promotion/
|
||||
promotion: false,
|
||||
|
||||
// Allow the administrator to disable branding.
|
||||
// https://www.tiny.cloud/docs/tinymce/6/statusbar-configuration-options/#branding
|
||||
branding: options.branding,
|
||||
|
||||
setup: (editor) => {
|
||||
Options.register(editor, options);
|
||||
},
|
||||
|
@ -161,6 +161,7 @@ class editor extends \texteditor {
|
||||
}
|
||||
|
||||
// Generate the configuration for this editor.
|
||||
$siteconfig = get_config('editor_tiny');
|
||||
$config = (object) [
|
||||
// The URL to the CSS file for the editor.
|
||||
'css' => $PAGE->theme->editor_css_url()->out(false),
|
||||
@ -173,6 +174,8 @@ class editor extends \texteditor {
|
||||
|
||||
'currentLanguage' => current_language(),
|
||||
|
||||
'branding' => property_exists($siteconfig, 'branding') ? !empty($siteconfig->branding) : true,
|
||||
|
||||
// Language options.
|
||||
'language' => [
|
||||
'currentlang' => current_language(),
|
||||
|
@ -23,7 +23,10 @@
|
||||
*/
|
||||
|
||||
$string['pluginname'] = 'TinyMCE editor';
|
||||
$string['settings'] = 'General settings';
|
||||
$string['privacy:reason'] = 'The TinyMCE Editor does not store any preferences or user data.';
|
||||
$string['branding'] = 'Tiny Branding';
|
||||
$string['branding_desc'] = 'Display TinyMCE Branding. We do encourage you to support TinyMCE by leaving this enabled.';
|
||||
$string['tiny:hash'] = '#';
|
||||
$string['tiny:accessibility'] = 'Accessibility';
|
||||
$string['tiny:action'] = 'Action';
|
||||
|
52
lib/editor/tiny/settings.php
Normal file
52
lib/editor/tiny/settings.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Moodle is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/**
|
||||
* Tiny admin settings.
|
||||
*
|
||||
* @package editor_tiny
|
||||
* @copyright 2022 Huong Nguyen <huongnv13@gmail.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
defined('MOODLE_INTERNAL') || die;
|
||||
|
||||
$ADMIN->add('editorsettings', new admin_category('editortiny', $editor->displayname, $editor->is_enabled() === false));
|
||||
|
||||
$settings = new admin_settingpage('editorsettingstiny', new lang_string('settings', 'editor_tiny'));
|
||||
if ($ADMIN->fulltree) {
|
||||
$setting = new admin_setting_configcheckbox(
|
||||
'editor_tiny/branding',
|
||||
new lang_string('branding', 'editor_tiny'),
|
||||
new lang_string('branding_desc', 'editor_tiny'),
|
||||
1
|
||||
);
|
||||
|
||||
$settings->add($setting);
|
||||
}
|
||||
|
||||
foreach (core_plugin_manager::instance()->get_plugins_of_type('tiny') as $plugin) {
|
||||
/** @var \editor_tiny\plugininfo\tiny $plugin */
|
||||
$plugin->load_settings($ADMIN, 'editortiny', $hassiteconfig);
|
||||
}
|
||||
|
||||
// Note: We add editortiny to the settings page here manually rather than deferring to the plugininfo class.
|
||||
// This ensures that it shows in the category list too.
|
||||
$ADMIN->add('editortiny', $settings);
|
||||
|
||||
// Required or the editor plugininfo will add this section twice.
|
||||
unset($settings);
|
||||
$settings = null;
|
Loading…
x
Reference in New Issue
Block a user