Seditio Source
Root |
./othercms/dotclear-2.22/plugins/dcCKEditor/_admin.php
<?php
/**
 * @brief dcCKEditor, a plugin for Dotclear 2
 *
 * @package Dotclear
 * @subpackage Plugins
 *
 * @copyright Olivier Meunier & Association Dotclear
 * @copyright GPL-2.0-only
 */
if (!defined('DC_CONTEXT_ADMIN')) {
    return;
}

$_menu['Plugins']->addItem(
   
'dcCKEditor',
   
$core->adminurl->get('admin.plugin.dcCKEditor'),
    [
dcPage::getPF('dcCKEditor/icon.svg'), dcPage::getPF('dcCKEditor/icon-dark.svg')],
   
preg_match('/' . preg_quote($core->adminurl->get('admin.plugin.dcCKEditor')) . '(&.*)?$/', $_SERVER['REQUEST_URI']),
   
$core->auth->check('admin,contentadmin', $core->blog->id)
);

$self_ns = $core->blog->settings->addNamespace('dcckeditor');

if (
$self_ns->active) {
   
$core->addEditorFormater('dcCKEditor', 'xhtml', fn ($s) => $s);

   
$core->addBehavior('adminPostEditor', ['dcCKEditorBehaviors', 'adminPostEditor']);
   
$core->addBehavior('adminPopupMedia', ['dcCKEditorBehaviors', 'adminPopupMedia']);
   
$core->addBehavior('adminPopupLink', ['dcCKEditorBehaviors', 'adminPopupLink']);
   
$core->addBehavior('adminPopupPosts', ['dcCKEditorBehaviors', 'adminPopupPosts']);

   
$core->addBehavior('adminMediaURL', ['dcCKEditorBehaviors', 'adminMediaURL']);

   
$core->addBehavior('adminPageHTTPHeaderCSP', ['dcCKEditorBehaviors', 'adminPageHTTPHeaderCSP']);
}