20 jQuery('{ch_var_selector}').tinymce({
23 document_base_url: '{ch_url_root}',
24 skin_url: '{ch_url_tinymce}skins/{ch_var_skin}/',
25 language: '{ch_var_lang}',
26 language_url: '{ch_url_tinymce}langs/{ch_var_lang}.js',
27 content_css: '{ch_var_css_path}',
28 entity_encoding: 'raw',
29 browser_spellcheck: true
38 "advlist: '{ch_url_tinymce}plugins/advlist/plugin.min.js'",
39 "autolink: '{ch_url_tinymce}plugins/autolink/plugin.min.js'",
40 "autosave: '{ch_url_tinymce}plugins/autosave/plugin.min.js'",
41 "code: '{ch_url_tinymce}plugins/code/plugin.min.js'",
42 "hr: '{ch_url_tinymce}plugins/hr/plugin.min.js'",
43 "image: '{ch_url_tinymce}plugins/image/plugin.min.js'",
44 "link: '{ch_url_tinymce}plugins/link/plugin.min.js'",
45 "lists: '{ch_url_tinymce}plugins/lists/plugin.min.js'",
46 "media: '{ch_url_tinymce}plugins/media/plugin.min.js'",
47 "fullscreen: '{ch_url_tinymce}plugins/fullscreen/plugin.min.js'",
55 theme_url: '{ch_url_tinymce}themes/modern/theme.min.js',
56 toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
66 "autolink: '{ch_url_tinymce}plugins/autolink/plugin.min.js'",
67 "image: '{ch_url_tinymce}plugins/image/plugin.min.js'",
68 "link: '{ch_url_tinymce}plugins/link/plugin.min.js'",
69 "lists: '{ch_url_tinymce}plugins/lists/plugin.min.js'",
78 theme_url: '{ch_url_tinymce}themes/modern/theme.min.js',
79 toolbar: 'bold italic underline removeformat | bullist numlist | alignleft aligncenter alignright | blockquote | link unlink image',
88 "advlist: '{ch_url_tinymce}plugins/advlist/plugin.min.js'",
89 "anchor: '{ch_url_tinymce}plugins/anchor/plugin.min.js'",
90 "autolink: '{ch_url_tinymce}plugins/autolink/plugin.min.js'",
91 "autoresize: '{ch_url_tinymce}plugins/autoresize/plugin.min.js'",
92 "autosave: '{ch_url_tinymce}plugins/autosave/plugin.min.js'",
93 "charmap: '{ch_url_tinymce}plugins/charmap/plugin.min.js'",
94 "code: '{ch_url_tinymce}plugins/code/plugin.min.js'",
95 "emoticons: '{ch_url_tinymce}plugins/emoticons/plugin.min.js'",
96 "hr: '{ch_url_tinymce}plugins/hr/plugin.min.js'",
97 "image: '{ch_url_tinymce}plugins/image/plugin.min.js'",
98 "link: '{ch_url_tinymce}plugins/link/plugin.min.js'",
99 "lists: '{ch_url_tinymce}plugins/lists/plugin.min.js'",
100 "media: '{ch_url_tinymce}plugins/media/plugin.min.js'",
101 "nonbreaking: '{ch_url_tinymce}plugins/nonbreaking/plugin.min.js'",
102 "pagebreak: '{ch_url_tinymce}plugins/pagebreak/plugin.min.js'",
103 "preview: '{ch_url_tinymce}plugins/preview/plugin.min.js'",
104 "print: '{ch_url_tinymce}plugins/print/plugin.min.js'",
105 "save: '{ch_url_tinymce}plugins/save/plugin.min.js'",
106 "searchreplace: '{ch_url_tinymce}plugins/searchreplace/plugin.min.js'",
107 "table: '{ch_url_tinymce}plugins/table/plugin.min.js'",
108 "textcolor: '{ch_url_tinymce}plugins/textcolor/plugin.min.js'",
109 "visualblocks: '{ch_url_tinymce}plugins/visualblocks/plugin.min.js'",
110 "fullscreen: '{ch_url_tinymce}plugins/fullscreen/plugin.min.js'",
118 theme_url: '{ch_url_tinymce}themes/modern/theme.min.js',
120 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
121 'print preview media | forecolor emoticons'
133 protected static $CONF_LANGS = array(
'ar' => 1,
'ar_SA' => 1,
'az' => 1,
'be' => 1,
'bg_BG' => 1,
'bn_BD' => 1,
'bs' => 1,
'ca' => 1,
'cs' => 1,
'cs_CZ' => 1,
'cy' => 1,
'da' => 1,
'de' => 1,
'de_AT' => 1,
'dv' => 1,
'el' => 1,
'en_CA' => 1,
'en_GB' => 1,
'eo' => 1,
'es' => 1,
'es_MX' => 1,
'et' => 1,
'eu' => 1,
'fa' => 1,
'fa_IR' => 1,
'fi' => 1,
'fo' => 1,
'fr_CH' => 1,
'fr_FR' => 1,
'ga' => 1,
'gd' => 1,
'gl' => 1,
'he_IL' => 1,
'hi_IN' => 1,
'hr' => 1,
'hu_HU' => 1,
'hy' => 1,
'id' => 1,
'is_IS' => 1,
'it' => 1,
'ja' => 1,
'ka_GE' => 1,
'kab' => 1,
'kk' => 1,
'km_KH' => 1,
'ko' => 1,
'ko_KR' => 1,
'ku' => 1,
'ku_IQ' => 1,
'lb' => 1,
'lt' => 1,
'lv' => 1,
'ml' => 1,
'ml_IN' => 1,
'mn_MN' => 1,
'nb_NO' => 1,
'nl' => 1,
'pl' => 1,
'pt_BR' => 1,
'pt_PT' => 1,
'ro' => 1,
'ru' => 1,
'si_LK' => 1,
'sk' => 1,
'sl_SI' => 1,
'sr' => 1,
'sv_SE' => 1,
'ta' => 1,
'ta_IN' => 1,
'tg' => 1,
'th_TH' => 1,
'tr' => 1,
'tr_TR' => 1,
'tt' => 1,
'ug' => 1,
'uk' => 1,
'uk_UA' => 1,
'vi' => 1,
'vi_VN' => 1,
'zh_CN' => 1,
'zh_TW' => 1);
140 parent::__construct ($aObject);
143 $this->_oTemplate = $oTemplate;
145 $this->_oTemplate =
$GLOBALS[
'oSysTemplate'];
153 switch ($iViewMode) {
170 $this->_sConfCustom =
$s;
182 switch ($iViewMode) {
199 if (isset(self::$CONF_LANGS[$aLang[
'LanguageCountry']]))
200 $sLang = $aLang[
'LanguageCountry'];
201 elseif (isset(self::$CONF_LANGS[$aLang[
'Name']]))
202 $sLang = $aLang[
'Name'];
207 'ch_var_custom_init' => &$sToolsItems,
208 'ch_var_custom_conf' => $this->_sConfCustom,
218 $o =
new ChWsbAlerts(
'system',
'attach_editor', 0, 0, array(
'markers' => &$aMarkers,
'modules' => &
$aModules,
'view_mode' => $iViewMode,
'dynamic_mode' => $bDynamicMode,
'selector' => $sSelector,
'editor' => $this));
221 $sToolsItems = str_replace(
'{modules}', join(
",\n",
$aModules), $sToolsItems);
229 if ('undefined' == typeof(jQuery(document).tinymce)) {
237 setTimeout(function () {
239 }, 10); // wait while html is rendered in case of dynamic adding html with tinymce
247 $(document).ready(function () {
254 return $this->
_addJsCss($bDynamicMode) . $sScript;
260 protected function _addJsCss($bDynamicMode =
false, $sInitEditor =
'')
264 if ($this->_bJsCssAdded)
267 $this->_oTemplate->addInjection (
'injection_head_begin',
'text',
"<script>window.tinyMCEPreInit = {base : '" .
ch_js_string(CH_WSB_URL_PLUGINS .
'tinymce',
CH_ESCAPE_STR_APOS) .
"', suffix : '.min', query : ''};</script>\n");
269 $aJs = array(
'tinymce/tinymce.min.js',
'tinymce/jquery.tinymce.min.js');
270 $this->_oTemplate->addJs($aJs);
272 if (isset(
$GLOBALS[
'oAdmTemplate']))
273 $GLOBALS[
'oAdmTemplate']->addJs($aJs);
275 $this->_bJsCssAdded =
true;