Changeset 3730:5c45a5df9a59 for plugins/dcLegacyEditor/inc
Legend:
- Unmodified
- Added
- Removed
-
plugins/dcLegacyEditor/inc/dc.legacy.editor.behaviors.php
r3669 r3730 13 13 class dcLegacyEditorBehaviors 14 14 { 15 15 protected static $p_url = 'index.php?pf=dcLegacyEditor'; 16 16 17 /** 18 * adminPostEditor add javascript to the DOM to load ckeditor depending on context 19 * 20 * @param editor <b>string</b> wanted editor 21 * @param context <b>string</b> page context (post,page,comment,event,...) 22 * @param tags <b>array</b> array of ids to inject editor 23 * @param syntax <b>string</b> wanted syntax (wiki,markdown,...) 24 */ 25 public static function adminPostEditor($editor='',$context='',array $tags=array(),$syntax='') { 26 if (empty($editor) || $editor!='dcLegacyEditor') {return;} 17 /** 18 * adminPostEditor add javascript to the DOM to load ckeditor depending on context 19 * 20 * @param editor <b>string</b> wanted editor 21 * @param context <b>string</b> page context (post,page,comment,event,...) 22 * @param tags <b>array</b> array of ids to inject editor 23 * @param syntax <b>string</b> wanted syntax (wiki,markdown,...) 24 */ 25 public static function adminPostEditor($editor = '', $context = '', array $tags = array(), $syntax = '') 26 { 27 if (empty($editor) || $editor != 'dcLegacyEditor') {return;} 27 28 28 29 self::jsToolBar().30 dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/_post_editor.js')).31 '<script type="text/javascript">'."\n".32 dcPage::jsVar('dotclear.legacy_editor_context', $context).33 dcPage::jsVar('dotclear.legacy_editor_syntax', $syntax).34 'dotclear.legacy_editor_tags_context = '.sprintf('{%s:["%s"]};'."\n", $context, implode('","', $tags))."\n".35 36 29 return 30 self::jsToolBar() . 31 dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/_post_editor.js')) . 32 '<script type="text/javascript">' . "\n" . 33 dcPage::jsVar('dotclear.legacy_editor_context', $context) . 34 dcPage::jsVar('dotclear.legacy_editor_syntax', $syntax) . 35 'dotclear.legacy_editor_tags_context = ' . sprintf('{%s:["%s"]};' . "\n", $context, implode('","', $tags)) . "\n" . 36 "</script>\n"; 37 } 37 38 38 public static function adminPopupMedia($editor='') { 39 if (empty($editor) || $editor!='dcLegacyEditor') {return;} 39 public static function adminPopupMedia($editor = '') 40 { 41 if (empty($editor) || $editor != 'dcLegacyEditor') {return;} 40 42 41 42 43 return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_media.js')); 44 } 43 45 44 public static function adminPopupLink($editor='') { 45 if (empty($editor) || $editor!='dcLegacyEditor') {return;} 46 public static function adminPopupLink($editor = '') 47 { 48 if (empty($editor) || $editor != 'dcLegacyEditor') {return;} 46 49 47 48 50 return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_link.js')); 51 } 49 52 50 public static function adminPopupPosts($editor='') { 51 if (empty($editor) || $editor!='dcLegacyEditor') {return;} 53 public static function adminPopupPosts($editor = '') 54 { 55 if (empty($editor) || $editor != 'dcLegacyEditor') {return;} 52 56 53 54 57 return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_posts.js')); 58 } 55 59 56 protected static function jsToolBar() { 57 $res = 58 dcPage::cssLoad(dcPage::getPF('dcLegacyEditor/css/jsToolBar/jsToolBar.css')). 59 dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.js')); 60 protected static function jsToolBar() 61 { 62 $res = 63 dcPage::cssLoad(dcPage::getPF('dcLegacyEditor/css/jsToolBar/jsToolBar.css')) . 64 dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.js')); 60 65 61 62 63 66 if (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('enable_wysiwyg')) { 67 $res .= dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.wysiwyg.js')); 68 } 64 69 65 66 dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.dotclear.js')).67 '<script type="text/javascript">'."\n".68 "jsToolBar.prototype.dialog_url = 'popup.php'; "."\n".69 "jsToolBar.prototype.iframe_css = '".70 'body {'.71 ' color: #000;'.72 ' background: #f9f9f9;'.73 ' margin: 0;'.74 ' padding: 2px;'.75 ' border: none;'.76 (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl' ? ' direction: rtl;' : '').77 '}'.78 'code {'.79 ' color: #666;'.80 ' font-weight: bold;'.81 '}'.82 'body > p:first-child {'.83 ' margin-top: 0;'.84 '}'.85 "'; "."\n".86 "jsToolBar.prototype.base_url = '".html::escapeJS($GLOBALS['core']->blog->host)."'; "."\n".87 "jsToolBar.prototype.switcher_visual_title = '".html::escapeJS(__('visual'))."'; "."\n".88 "jsToolBar.prototype.switcher_source_title = '".html::escapeJS(__('source'))."'; "."\n".89 "jsToolBar.prototype.legend_msg = '".90 html::escapeJS(__('You can use the following shortcuts to format your text.'))."'; "."\n".91 "jsToolBar.prototype.elements.blocks.options.none = '".html::escapeJS(__('-- none --'))."'; "."\n".92 "jsToolBar.prototype.elements.blocks.options.nonebis = '".html::escapeJS(__('-- block format --'))."'; "."\n".93 "jsToolBar.prototype.elements.blocks.options.p = '".html::escapeJS(__('Paragraph'))."'; "."\n".94 "jsToolBar.prototype.elements.blocks.options.h1 = '".html::escapeJS(__('Level 1 header'))."'; "."\n".95 "jsToolBar.prototype.elements.blocks.options.h2 = '".html::escapeJS(__('Level 2 header'))."'; "."\n".96 "jsToolBar.prototype.elements.blocks.options.h3 = '".html::escapeJS(__('Level 3 header'))."'; "."\n".97 "jsToolBar.prototype.elements.blocks.options.h4 = '".html::escapeJS(__('Level 4 header'))."'; "."\n".98 "jsToolBar.prototype.elements.blocks.options.h5 = '".html::escapeJS(__('Level 5 header'))."'; "."\n".99 "jsToolBar.prototype.elements.blocks.options.h6 = '".html::escapeJS(__('Level 6 header'))."'; "."\n".100 "jsToolBar.prototype.elements.strong.title = '".html::escapeJS(__('Strong emphasis'))."'; "."\n".101 "jsToolBar.prototype.elements.em.title = '".html::escapeJS(__('Emphasis'))."'; "."\n".102 "jsToolBar.prototype.elements.ins.title = '".html::escapeJS(__('Inserted'))."'; "."\n".103 "jsToolBar.prototype.elements.del.title = '".html::escapeJS(__('Deleted'))."'; "."\n".104 "jsToolBar.prototype.elements.quote.title = '".html::escapeJS(__('Inline quote'))."'; "."\n".105 "jsToolBar.prototype.elements.code.title = '".html::escapeJS(__('Code'))."'; "."\n".106 "jsToolBar.prototype.elements.mark.title = '".html::escapeJS(__('Mark'))."'; "."\n".107 "jsToolBar.prototype.elements.br.title = '".html::escapeJS(__('Line break'))."'; "."\n".108 "jsToolBar.prototype.elements.blockquote.title = '".html::escapeJS(__('Blockquote'))."'; "."\n".109 "jsToolBar.prototype.elements.pre.title = '".html::escapeJS(__('Preformated text'))."'; "."\n".110 "jsToolBar.prototype.elements.ul.title = '".html::escapeJS(__('Unordered list'))."'; "."\n".111 "jsToolBar.prototype.elements.ol.title = '".html::escapeJS(__('Ordered list'))."'; "."\n".70 $res .= 71 dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/jsToolBar.dotclear.js')) . 72 '<script type="text/javascript">' . "\n" . 73 "jsToolBar.prototype.dialog_url = 'popup.php'; " . "\n" . 74 "jsToolBar.prototype.iframe_css = '" . 75 'body {' . 76 ' color: #000;' . 77 ' background: #f9f9f9;' . 78 ' margin: 0;' . 79 ' padding: 2px;' . 80 ' border: none;' . 81 (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl' ? ' direction: rtl;' : '') . 82 '}' . 83 'code {' . 84 ' color: #666;' . 85 ' font-weight: bold;' . 86 '}' . 87 'body > p:first-child {' . 88 ' margin-top: 0;' . 89 '}' . 90 "'; " . "\n" . 91 "jsToolBar.prototype.base_url = '" . html::escapeJS($GLOBALS['core']->blog->host) . "'; " . "\n" . 92 "jsToolBar.prototype.switcher_visual_title = '" . html::escapeJS(__('visual')) . "'; " . "\n" . 93 "jsToolBar.prototype.switcher_source_title = '" . html::escapeJS(__('source')) . "'; " . "\n" . 94 "jsToolBar.prototype.legend_msg = '" . 95 html::escapeJS(__('You can use the following shortcuts to format your text.')) . "'; " . "\n" . 96 "jsToolBar.prototype.elements.blocks.options.none = '" . html::escapeJS(__('-- none --')) . "'; " . "\n" . 97 "jsToolBar.prototype.elements.blocks.options.nonebis = '" . html::escapeJS(__('-- block format --')) . "'; " . "\n" . 98 "jsToolBar.prototype.elements.blocks.options.p = '" . html::escapeJS(__('Paragraph')) . "'; " . "\n" . 99 "jsToolBar.prototype.elements.blocks.options.h1 = '" . html::escapeJS(__('Level 1 header')) . "'; " . "\n" . 100 "jsToolBar.prototype.elements.blocks.options.h2 = '" . html::escapeJS(__('Level 2 header')) . "'; " . "\n" . 101 "jsToolBar.prototype.elements.blocks.options.h3 = '" . html::escapeJS(__('Level 3 header')) . "'; " . "\n" . 102 "jsToolBar.prototype.elements.blocks.options.h4 = '" . html::escapeJS(__('Level 4 header')) . "'; " . "\n" . 103 "jsToolBar.prototype.elements.blocks.options.h5 = '" . html::escapeJS(__('Level 5 header')) . "'; " . "\n" . 104 "jsToolBar.prototype.elements.blocks.options.h6 = '" . html::escapeJS(__('Level 6 header')) . "'; " . "\n" . 105 "jsToolBar.prototype.elements.strong.title = '" . html::escapeJS(__('Strong emphasis')) . "'; " . "\n" . 106 "jsToolBar.prototype.elements.em.title = '" . html::escapeJS(__('Emphasis')) . "'; " . "\n" . 107 "jsToolBar.prototype.elements.ins.title = '" . html::escapeJS(__('Inserted')) . "'; " . "\n" . 108 "jsToolBar.prototype.elements.del.title = '" . html::escapeJS(__('Deleted')) . "'; " . "\n" . 109 "jsToolBar.prototype.elements.quote.title = '" . html::escapeJS(__('Inline quote')) . "'; " . "\n" . 110 "jsToolBar.prototype.elements.code.title = '" . html::escapeJS(__('Code')) . "'; " . "\n" . 111 "jsToolBar.prototype.elements.mark.title = '" . html::escapeJS(__('Mark')) . "'; " . "\n" . 112 "jsToolBar.prototype.elements.br.title = '" . html::escapeJS(__('Line break')) . "'; " . "\n" . 113 "jsToolBar.prototype.elements.blockquote.title = '" . html::escapeJS(__('Blockquote')) . "'; " . "\n" . 114 "jsToolBar.prototype.elements.pre.title = '" . html::escapeJS(__('Preformated text')) . "'; " . "\n" . 115 "jsToolBar.prototype.elements.ul.title = '" . html::escapeJS(__('Unordered list')) . "'; " . "\n" . 116 "jsToolBar.prototype.elements.ol.title = '" . html::escapeJS(__('Ordered list')) . "'; " . "\n" . 112 117 113 "jsToolBar.prototype.elements.link.title = '".html::escapeJS(__('Link'))."'; "."\n".114 "jsToolBar.prototype.elements.link.accesskey = '".html::escapeJS(__('l'))."'; "."\n".115 "jsToolBar.prototype.elements.link.href_prompt = '".html::escapeJS(__('URL?'))."'; "."\n".116 "jsToolBar.prototype.elements.link.hreflang_prompt = '".html::escapeJS(__('Language?'))."'; "."\n".118 "jsToolBar.prototype.elements.link.title = '" . html::escapeJS(__('Link')) . "'; " . "\n" . 119 "jsToolBar.prototype.elements.link.accesskey = '" . html::escapeJS(__('l')) . "'; " . "\n" . 120 "jsToolBar.prototype.elements.link.href_prompt = '" . html::escapeJS(__('URL?')) . "'; " . "\n" . 121 "jsToolBar.prototype.elements.link.hreflang_prompt = '" . html::escapeJS(__('Language?')) . "'; " . "\n" . 117 122 118 "jsToolBar.prototype.elements.img.title = '".html::escapeJS(__('External image'))."'; "."\n".119 "jsToolBar.prototype.elements.img.src_prompt = '".html::escapeJS(__('URL?'))."'; "."\n".123 "jsToolBar.prototype.elements.img.title = '" . html::escapeJS(__('External image')) . "'; " . "\n" . 124 "jsToolBar.prototype.elements.img.src_prompt = '" . html::escapeJS(__('URL?')) . "'; " . "\n" . 120 125 121 "jsToolBar.prototype.elements.img_select.title = '".html::escapeJS(__('Media chooser'))."'; "."\n".122 "jsToolBar.prototype.elements.img_select.accesskey = '".html::escapeJS(__('m'))."'; "."\n".123 "jsToolBar.prototype.elements.post_link.title = '".html::escapeJS(__('Link to an entry'))."'; "."\n".124 "jsToolBar.prototype.elements.removeFormat = jsToolBar.prototype.elements.removeFormat || {}; "."\n".125 "jsToolBar.prototype.elements.removeFormat.title = '".html::escapeJS(__('Remove text formating'))."'; "."\n";126 "jsToolBar.prototype.elements.img_select.title = '" . html::escapeJS(__('Media chooser')) . "'; " . "\n" . 127 "jsToolBar.prototype.elements.img_select.accesskey = '" . html::escapeJS(__('m')) . "'; " . "\n" . 128 "jsToolBar.prototype.elements.post_link.title = '" . html::escapeJS(__('Link to an entry')) . "'; " . "\n" . 129 "jsToolBar.prototype.elements.removeFormat = jsToolBar.prototype.elements.removeFormat || {}; " . "\n" . 130 "jsToolBar.prototype.elements.removeFormat.title = '" . html::escapeJS(__('Remove text formating')) . "'; " . "\n"; 126 131 127 if (!$GLOBALS['core']->auth->check('media,media_admin',$GLOBALS['core']->blog->id)) {128 129 132 if (!$GLOBALS['core']->auth->check('media,media_admin', $GLOBALS['core']->blog->id)) { 133 $res .= "jsToolBar.prototype.elements.img_select.disabled = true;\n"; 134 } 130 135 131 $res .= "jsToolBar.prototype.toolbar_bottom = ".132 (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('toolbar_bottom') ? 'true' : 'false').";\n";136 $res .= "jsToolBar.prototype.toolbar_bottom = " . 137 (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('toolbar_bottom') ? 'true' : 'false') . ";\n"; 133 138 134 135 139 $res .= 140 "</script>\n"; 136 141 137 138 139 '<script type="text/javascript">'."\n".140 dcPage::jsVar('dotclear_htmlFontSize',$GLOBALS['core']->auth->user_prefs->interface->htmlfontsize)."\n".141 142 142 if ($GLOBALS['core']->auth->user_prefs->interface->htmlfontsize) { 143 $res .= 144 '<script type="text/javascript">' . "\n" . 145 dcPage::jsVar('dotclear_htmlFontSize', $GLOBALS['core']->auth->user_prefs->interface->htmlfontsize) . "\n" . 146 "</script>\n"; 147 } 143 148 144 145 149 return $res; 150 } 146 151 }
Note: See TracChangeset
for help on using the changeset viewer.