string wanted editor
* @param context string page context (post,page,comment,event,...)
* @param tags array array of ids to inject editor
* @param syntax string wanted syntax (wiki,markdown,...)
*/
public static function adminPostEditor($editor = '', $context = '', array $tags = [], $syntax = '')
{
if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
$js = [
'legacy_editor_context' => $context,
'legacy_editor_syntax' => $syntax,
'legacy_editor_tags_context' => [$context => $tags]
];
return
self::jsToolBar() .
dcPage::jsJson('legacy_editor_ctx', $js) .
dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/_post_editor.js'));
}
public static function adminPopupMedia($editor = '')
{
if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_media.js'));
}
public static function adminPopupLink($editor = '')
{
if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_link.js'));
}
public static function adminPopupPosts($editor = '')
{
if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_posts.js'));
}
protected static function jsToolBar()
{
$rtl = l10n::getTextDirection($GLOBALS['_lang']) == 'rtl' ? 'direction: rtl;' : '';
$css = << p:first-child {
margin-top: 0;
}
EOT;
$js = [
'dialog_url' => 'popup.php',
'iframe_css' => $css,
'base_url' => $GLOBALS['core']->blog->host,
'switcher_visual_title' => __('visual'),
'switcher_source_title' => __('source'),
'legend_msg' => __('You can use the following shortcuts to format your text.'),
'elements' => [
'blocks' => ['options' => [
'none' => __('-- none --'),
'nonebis' => __('-- block format --'),
'p' => __('Paragraph'),
'h1' => __('Level 1 header'),
'h2' => __('Level 2 header'),
'h3' => __('Level 3 header'),
'h4' => __('Level 4 header'),
'h5' => __('Level 5 header'),
'h6' => __('Level 6 header'),
]],
'strong' => ['title' => __('Strong emphasis')],
'em' => ['title' => __('Emphasis')],
'ins' => ['title' => __('Inserted')],
'del' => ['title' => __('Deleted')],
'quote' => ['title' => __('Inline quote')],
'code' => ['title' => __('Code')],
'mark' => ['title' => __('Mark')],
'br' => ['title' => __('Line break')],
'blockquote' => ['title' => __('Blockquote')],
'pre' => ['title' => __('Preformated text')],
'ul' => ['title' => __('Unordered list')],
'ol' => ['title' => __('Ordered list')],
'link' => [
'title' => __('Link'),
'accesskey' => __('l'),
'href_prompt' => __('URL?'),
'hreflang_prompt' => __('Language?')
],
'img' => [
'title' => __('External image'),
'src_prompt' => __('URL?')
],
'img_select' => [
'title' => __('Media chooser'),
'accesskey' => __('m')
],
'post_link' => ['title' => __('Link to an entry')],
'removeFormat' => ['title' => __('Remove text formating')]
],
'toolbar_bottom' => (boolean) isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('toolbar_bottom')
];
if (!$GLOBALS['core']->auth->check('media,media_admin', $GLOBALS['core']->blog->id)) {
$js['elements']['img_select']['disabled'] = true;
}
$res =
dcPage::jsJson('legacy_editor', $js) .
dcPage::cssLoad(dcPage::getPF('dcLegacyEditor/css/jsToolBar/jsToolBar.css')) .
dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.js'));
if (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('enable_wysiwyg')) {
$res .= dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.wysiwyg.js'));
}
$res .=
dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.dotclear.js')) .
dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.config.js'));
return $res;
}
}