Dotclear

source: plugins/dcLegacyEditor/inc/dc.legacy.editor.behaviors.php @ 3730:5c45a5df9a59

Revision 3730:5c45a5df9a59, 7.9 KB checked in by franck <carnet.franck.paul@…>, 7 years ago (diff)

Code formatting (PSR-2)

Line 
1<?php
2# -- BEGIN LICENSE BLOCK ---------------------------------------
3#
4# This file is part of Dotclear 2.
5#
6# Copyright (c) 2003-2013 Olivier Meunier & Association Dotclear
7# Licensed under the GPL version 2.0 license.
8# See LICENSE file or
9# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
10#
11# -- END LICENSE BLOCK -----------------------------------------
12
13class dcLegacyEditorBehaviors
14{
15    protected static $p_url = 'index.php?pf=dcLegacyEditor';
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    {
27        if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
28
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    }
38
39    public static function adminPopupMedia($editor = '')
40    {
41        if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
42
43        return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_media.js'));
44    }
45
46    public static function adminPopupLink($editor = '')
47    {
48        if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
49
50        return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_link.js'));
51    }
52
53    public static function adminPopupPosts($editor = '')
54    {
55        if (empty($editor) || $editor != 'dcLegacyEditor') {return;}
56
57        return dcPage::jsLoad(dcPage::getPF('dcLegacyEditor/js/jsToolBar/popup_posts.js'));
58    }
59
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'));
65
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        }
69
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" .
117
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" .
122
123        "jsToolBar.prototype.elements.img.title = '" . html::escapeJS(__('External image')) . "'; " . "\n" .
124        "jsToolBar.prototype.elements.img.src_prompt = '" . html::escapeJS(__('URL?')) . "'; " . "\n" .
125
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";
131
132        if (!$GLOBALS['core']->auth->check('media,media_admin', $GLOBALS['core']->blog->id)) {
133            $res .= "jsToolBar.prototype.elements.img_select.disabled = true;\n";
134        }
135
136        $res .= "jsToolBar.prototype.toolbar_bottom = " .
137            (isset($GLOBALS['core']->auth) && $GLOBALS['core']->auth->getOption('toolbar_bottom') ? 'true' : 'false') . ";\n";
138
139        $res .=
140            "</script>\n";
141
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        }
148
149        return $res;
150    }
151}
Note: See TracBrowser for help on using the repository browser.

Sites map