Пример #1
0
 public function getConfig(&$settings)
 {
     $model = JModel::getInstance('editor', 'WFModel');
     $wf = WFEditor::getInstance();
     // Add format plugin to plugins list
     if (!in_array('format', $settings['plugins'])) {
         $settings['plugins'][] = 'format';
     }
     // Encoding
     $settings['entity_encoding'] = $wf->getParam('editor.entity_encoding', 'raw', 'named');
     $settings['inline_styles'] = $wf->getParam('editor.inline_styles', 1, 1);
     // Paragraph handling
     $settings['forced_root_block'] = $wf->getParam('editor.forced_root_block', 'p', 'p');
     $settings['removeformat_selector'] = $wf->getParam('editor.removeformat_selector', 'span,b,strong,em,i,font,u,strike', 'span,b,strong,em,i,font,u,strike');
     $formats = array('p' => 'advanced.paragraph', 'address' => 'advanced.address', 'pre' => 'advanced.pre', 'h1' => 'advanced.h1', 'h2' => 'advanced.h2', 'h3' => 'advanced.h3', 'h4' => 'advanced.h4', 'h5' => 'advanced.h5', 'h6' => 'advanced.h6', 'div' => 'advanced.div', 'blockquote' => 'advanced.blockquote', 'code' => 'advanced.code', 'dt' => 'advanced.dt', 'dd' => 'advanced.dd', 'samp' => 'advanced.samp', 'span' => 'advanced.span');
     $tmpblocks = $wf->getParam('editor.theme_advanced_blockformats', 'p,div,address,pre,h1,h2,h3,h4,h5,h6,code,samp,span', 'p,address,pre,h1,h2,h3,h4,h5,h6');
     $list = array();
     $blocks = array();
     if (is_string($tmpblocks)) {
         $tmpblocks = explode(',', $tmpblocks);
     }
     foreach ($tmpblocks as $k => $v) {
         $key = $formats[$v];
         if ($key) {
             $list[$key] = $v;
         }
         $blocks[] = $v;
     }
     $selector = $settings['removeformat_selector'] == '' ? 'span,b,strong,em,i,font,u,strike' : $settings['removeformat_selector'];
     $selector = explode(',', $selector);
     // set the root block
     $rootblock = !$settings['forced_root_block'] ? 'p' : $settings['forced_root_block'];
     if ($k = array_search($rootblock, $blocks) !== false) {
         unset($blocks[$k]);
     }
     // remove format selector
     $settings['removeformat_selector'] = implode(',', array_unique(array_merge($blocks, $selector)));
     // Format list / Remove Format
     $settings['theme_advanced_blockformats'] = json_encode($list);
     // add span 'format'
     $settings['formats'] = "{span : {inline : 'span'}}";
     // new lines (paragraphs or linebreaks)
     if ($wf->getParam('editor.newlines', 0)) {
         $settings['force_br_newlines'] = 1;
         $settings['force_p_newlines'] = 0;
         $settings['forced_root_block'] = false;
     }
     // Relative urls
     $settings['relative_urls'] = $wf->getParam('editor.relative_urls', 1, 1);
     if ($settings['relative_urls'] == 0) {
         $settings['remove_script_host'] = 0;
     }
     // Fonts
     $settings['theme_advanced_fonts'] = $model->getEditorFonts($wf->getParam('editor.theme_advanced_fonts_add', ''), $wf->getParam('editor.theme_advanced_fonts_remove', ''));
     $settings['theme_advanced_font_sizes'] = $wf->getParam('editor.theme_advanced_font_sizes', '8pt,10pt,12pt,14pt,18pt,24pt,36pt');
     $settings['theme_advanced_default_foreground_color'] = $wf->getParam('editor.theme_advanced_default_foreground_color', '#000000');
     $settings['theme_advanced_default_background_color'] = $wf->getParam('editor.theme_advanced_default_background_color', '#FFFF00');
     // colour picker custom colours
     $settings['custom_colors'] = $wf->getParam('editor.custom_colors', '', '');
 }
Пример #2
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $number = $wf->getParam('lists.number_styles');
     $bullet = $wf->getParam('lists.bullet_styles');
     if (!empty($number)) {
         if (count($number) < count(self::$defaultNumList)) {
             $items = array();
             foreach ($number as $item) {
                 $title = $item == 'default' ? 'def' : str_replace('-', '_', $item);
                 $style = $item == 'default' ? '' : $item;
                 $items[] = array('title' => 'advlist.' . $title, 'styles' => array('listStyleType' => $style));
             }
             $settings['advlist_number_styles'] = json_encode($items);
         }
     }
     if (!empty($bullet)) {
         if (count($bullet) < count(self::$defaultBulletList)) {
             $items = array();
             foreach ($bullet as $item) {
                 $title = $item == 'default' ? 'def' : str_replace('-', '_', $item);
                 $style = $item == 'default' ? '' : $item;
                 $items[] = array('title' => 'advlist.' . $title, 'styles' => array('listStyleType' => $style));
             }
             $settings['advlist_bullet_styles'] = json_encode($items);
         }
     }
 }
Пример #3
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     //$settings['article_hide_xtd_btns'] 	= $wf->getParam('article.hide_xtd_btns', 0, 0);
     $settings['article_show_readmore'] = $wf->getParam('article.show_readmore', 1, 1);
     $settings['article_show_pagebreak'] = $wf->getParam('article.show_pagebreak', 1, 1);
 }
Пример #4
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     // legacy
     $state = $wf->getParam('editor.visualchars', 0);
     $settings['visualchars_default_state'] = $wf->getParam('editor.visualchars_state', $state, 0, 'boolean');
 }
Пример #5
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $engine = $wf->getParam('spellchecker.engine', 'browser', 'browser');
     $url = JURI::base(true) . '/index.php?option=com_jce&view=editor&layout=plugin&plugin=spellchecker&component_id=' . $settings['component_id'];
     switch ($engine) {
         default:
         case 'browser':
             $languages = '';
             $settings['spellchecker_browser_state'] = $wf->getParam('spellchecker.browser_state', 0, 0);
             break;
         case 'googlespell':
             $languages = $wf->getParam('spellchecker.googlespell_languages', '');
             // use a default
             if (!$languages) {
                 $languages = $wf->getParam('spellchecker.languages', 'English=en', '');
             }
             break;
         case 'pspell':
         case 'pspellshell':
         case 'enchantspell':
             $languages = $wf->getParam('spellchecker.languages', 'English=en', '');
             break;
     }
     $settings['spellchecker_rpc_url'] = $url;
     // cast as array
     if ($languages) {
         $languages = (array) $languages;
     }
     if (!empty($languages)) {
         $settings['spellchecker_languages'] = '+' . implode(',', $languages);
     }
     $settings['spellchecker_engine'] = $engine;
 }
Пример #6
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $model = JModel::getInstance('editor', 'WFModel');
     $settings['cleanup_pluginmode'] = $wf->getParam('cleanup.pluginmode', 0, 0, 'boolean');
     $settings['verify_html'] = $wf->getParam('editor.verify_html', 0, 1, 'boolean');
     // set schema
     $settings['schema'] = $wf->getParam('editor.schema', 'html4', 'html4');
     // Get Extended elements
     $settings['extended_valid_elements'] = $wf->getParam('editor.extended_elements', '', '');
     // Configuration list of invalid elements as array
     $settings['invalid_elements'] = explode(',', $wf->getParam('editor.invalid_elements', '', ''));
     // Add elements to invalid list (removed by plugin)
     $model->addKeys($settings['invalid_elements'], self::$invalid_elements);
     // remove extended_valid_elements
     if ($settings['extended_valid_elements']) {
         preg_match_all('#(\\w+)(\\[([^\\]]+)\\])?#', $settings['extended_valid_elements'], $extended);
         if ($extended && count($extended) > 1) {
             $settings['invalid_elements'] = array_diff($settings['invalid_elements'], $extended[1]);
         }
     }
     // remove it if it is the same as the default
     if ($settings['invalid_elements'] === self::$invalid_elements) {
         $settings['invalid_elements'] = array();
     }
     $settings['invalid_attributes'] = $wf->getParam('editor.invalid_attributes', 'dynsrc,lowsrc', 'dynsrc,lowsrc', 'string', true);
     $settings['invalid_attribute_values'] = $wf->getParam('editor.invalid_attribute_values', '', '', 'string', true);
 }
Пример #7
0
 public function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $settings['spellchecker_languages'] = '+' . $wf->getParam('spellchecker.languages', 'English=en', '');
     $settings['spellchecker_engine'] = $wf->getParam('spellchecker.engine', 'googlespell', 'googlespell');
     $settings['spellchecker_rpc_url'] = JURI::base(true) . '/index.php?option=com_jce&view=editor&layout=plugin&plugin=spellchecker&component_id=' . $settings['component_id'];
 }
Пример #8
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     wfimport('admin.models.editor');
     $model = new WFModelEditor();
     $tags = array();
     if ($wf->getParam('media.iframes', 0)) {
         $tags[] = 'iframe';
     }
     if ($wf->getParam('media.audio', 1)) {
         $tags[] = 'audio';
     }
     if ($wf->getParam('media.video', 1)) {
         $tags[] = 'video';
     }
     if (in_array('audio', $tags) || in_array('video', $tags)) {
         $tags[] = 'source';
     }
     if ($wf->getParam('media.embed', 1)) {
         $tags[] = 'embed';
     }
     if ($wf->getParam('media.object', 1)) {
         $tags[] = 'object';
         $tags[] = 'param';
     }
     $model->removeKeys($settings['invalid_elements'], $tags);
     $settings['media_strict'] = $wf->getParam('media.strict', 1, 1);
     $settings['media_version_flash'] = $wf->getParam('media.version_flash', '10,1,53,64', '10,1,53,64');
     $settings['media_version_windowsmedia'] = $wf->getParam('media.version_windowsmedia', '10,00,00,3646', '10,00,00,3646');
     $settings['media_version_shockwave'] = $wf->getParam('media.version_shockwave', '10,2,0,023', '10,2,0,023');
     $settings['media_version_quicktime'] = $wf->getParam('media.version_quicktime', '7,3,0,0', '7,3,0,0');
     $settings['media_version_java'] = $wf->getParam('media.version_java', '1,5,0,0', '1,5,0,0');
 }
Пример #9
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $width = $wf->getParam('table.width');
     $height = $wf->getParam('table.height');
     if ($width && preg_match('#^[0-9\\.]$#', $width)) {
         $width .= 'px';
     }
     if ($height && preg_match('#^[0-9\\.]$#', $height)) {
         $height .= 'px';
     }
     $settings['table_default_width'] = $width;
     $settings['table_default_height'] = $height;
     $settings['table_default_border'] = $wf->getParam('table.border', 0, 0);
     $settings['table_default_align'] = $wf->getParam('table.align', '', '');
     $settings['table_default_cellpadding'] = $wf->getParam('table.cellpadding', 0, 0);
     $settings['table_default_cellspacing'] = $wf->getParam('table.cellspacing', 0, 0);
     $settings['table_default_rows'] = $wf->getParam('table.rows', 2, 2);
     $settings['table_default_cols'] = $wf->getParam('table.cols', 2, 2);
     $settings['table_cell_limit'] = $wf->getParam('table.cell_limit', 0, 0);
     $settings['table_row_limit'] = $wf->getParam('table.row_limit', 0, 0);
     $settings['table_col_limit'] = $wf->getParam('table.col_limit', 0, 0);
     $settings['table_pad_empty_cells'] = $wf->getParam('table.pad_empty_cells', 1, 1);
     $settings['table_classes'] = $wf->getParam('table.classes', "", "");
 }
Пример #10
0
 public static function getConfig(&$settings)
 {
     wfimport('admin.models.editor');
     $model = new WFModelEditor();
     $wf = WFEditor::getInstance();
     $settings['inline_styles'] = $wf->getParam('editor.inline_styles', 1, 1);
     // Paragraph handling
     $settings['forced_root_block'] = $wf->getParam('editor.forced_root_block', 'p', '', false);
     // set as boolean if disabled
     if (is_numeric($settings['forced_root_block'])) {
         $settings['forced_root_block'] = (bool) $settings['forced_root_block'];
         if ($wf->getParam('editor.force_br_newlines', 0, 0, 'boolean') === false) {
             // legacy
             $settings['force_p_newlines'] = $wf->getParam('editor.force_p_newlines', 1, 0, 'boolean');
         }
     }
     if (strpos($settings['forced_root_block'], '|') !== false) {
         // multiple values
         $values = explode('|', $settings['forced_root_block']);
         foreach ($values as $value) {
             $kv = explode(':', $value);
             if (count($kv) == 2) {
                 $settings[$kv[0]] = (bool) $kv[1];
             } else {
                 $settings['forced_root_block'] = (bool) $kv[0];
             }
         }
     }
     $settings['removeformat_selector'] = $wf->getParam('editor.removeformat_selector', 'span,b,strong,em,i,font,u,strike', 'span,b,strong,em,i,font,u,strike');
     // Relative urls
     $settings['relative_urls'] = $wf->getParam('editor.relative_urls', 1, 1, 'boolean');
     if ($settings['relative_urls'] == 0) {
         $settings['remove_script_host'] = false;
     }
 }
Пример #11
0
 public function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $model = JModel::getInstance('editor', 'WFModel');
     if ($wf->getParam('media.iframes', 0)) {
         $model->removeKeys($settings['invalid_elements'], array('iframe'));
     }
     if ($wf->getParam('media.audio', 1)) {
         $model->removeKeys($settings['invalid_elements'], array('audio', 'source'));
     }
     if ($wf->getParam('media.video', 1)) {
         $model->removeKeys($settings['invalid_elements'], array('video', 'source'));
     }
     if ($wf->getParam('media.embed', 1)) {
         $model->removeKeys($settings['invalid_elements'], array('embed'));
     }
     if ($wf->getParam('media.object', 1)) {
         $model->removeKeys($settings['invalid_elements'], array('object', 'param'));
     }
     $settings['media_strict'] = $wf->getParam('media.strict', 1, 1);
     $settings['media_version_flash'] = $wf->getParam('media.version_flash', '10.1.53.64', '10,1,53,64');
     $settings['media_version_windowsmedia'] = $wf->getParam('media.version_windowsmedia', '10,00,00,3646', '10,00,00,3646');
     $settings['media_version_shockwave'] = $wf->getParam('media.version_shockwave', '10,2,0,023', '10,2,0,023');
     $settings['media_version_quicktime'] = $wf->getParam('media.version_quicktime', '7,3,0,0', '7,3,0,0');
     $settings['media_version_java'] = $wf->getParam('media.version_java', '1,5,0,0', '1,5,0,0');
 }
Пример #12
0
 public static function getConfig(&$settings)
 {
     wfimport('admin.models.editor');
     $model = new WFModelEditor();
     $wf = WFEditor::getInstance();
     $settings['inline_styles'] = $wf->getParam('editor.inline_styles', 1, 1);
     // Paragraph handling
     $forced_root_block = $wf->getParam('editor.forced_root_block', '', 'p', 'string', false);
     // set as boolean if disabled
     if (is_numeric($forced_root_block)) {
         $settings['forced_root_block'] = (bool) intval($forced_root_block);
         if ($wf->getParam('editor.force_br_newlines', 0, 0, 'boolean') === false) {
             // legacy
             $settings['force_p_newlines'] = $wf->getParam('editor.force_p_newlines', 1, 0, 'boolean');
         }
     } else {
         if (strpos($forced_root_block, '|') !== false) {
             // multiple values
             foreach (explode('|', $forced_root_block) as $option) {
                 list($key, $value) = explode(':', $option);
                 $settings[$key] = (bool) $value;
             }
         } else {
             $settings['forced_root_block'] = $forced_root_block;
         }
     }
     //$settings['removeformat_selector'] = $wf->getParam('editor.removeformat_selector', 'span,b,strong,em,i,font,u,strike', 'span,b,strong,em,i,font,u,strike');
     // Relative urls
     $settings['relative_urls'] = $wf->getParam('editor.relative_urls', 1, 1, 'boolean');
     if ($settings['relative_urls'] == 0) {
         $settings['remove_script_host'] = false;
     }
 }
Пример #13
0
 /**
  * Get a list of editor font families
  *
  * @return string font family list
  * @param string $add Font family to add
  * @param string $remove Font family to remove
  */
 protected static function getFonts()
 {
     $wf = WFEditor::getInstance();
     $fonts = $wf->getParam('fontselect.fonts');
     // get fonts using legacy parameters
     if (empty($fonts)) {
         $fonts = self::$fonts;
         $add = $wf->getParam('editor.theme_advanced_fonts_add');
         $remove = $wf->getParam('editor.theme_advanced_fonts_remove');
         if (empty($remove) && empty($add)) {
             return implode(';', $fonts);
         }
         $remove = preg_split('/[;,]+/', $remove);
         if (count($remove)) {
             foreach ($fonts as $key => $value) {
                 foreach ($remove as $gone) {
                     if ($gone && preg_match('/^' . $gone . '=/i', $value)) {
                         // Remove family
                         unset($fonts[$key]);
                     }
                 }
             }
         }
         foreach (explode(";", $add) as $new) {
             // Add new font family
             if (preg_match('/([^\\=]+)(\\=)([^\\=]+)/', trim($new)) && !in_array($new, $fonts)) {
                 $fonts[] = $new;
             }
         }
         natcasesort($fonts);
         $fonts = implode(';', $fonts);
     }
     return $fonts;
 }
Пример #14
0
 /**
  * Return the full user directory path. Create if required
  *
  * @param string  The base path
  * @access public
  * @return Full path to folder
  */
 public function getRootDir()
 {
     static $root;
     if (!isset($root)) {
         $user = JFactory::getUser();
         $wf = WFEditor::getInstance();
         $profile = $wf->getProfile();
         // Get base directory as shared parameter
         $root = $this->get('dir', '');
         // Remove whitespace
         $root = trim($root);
         if (!empty($root)) {
             // Convert slashes / Strip double slashes
             $root = preg_replace('/[\\\\]+/', '/', $root);
             // Remove first leading slash
             $root = ltrim($root, '/');
             // Force default directory if base param starts with a variable or a . eg $id
             if (preg_match('/[\\.\\$]/', $root[0])) {
                 $root = 'images';
             }
             jimport('joomla.user.helper');
             // Joomla! 1.6+
             if (method_exists('JUserHelper', 'getUserGroups')) {
                 $groups = JUserHelper::getUserGroups($user->id);
                 // get keys only
                 $groups = array_keys($groups);
                 // get the first group
                 $group_id = array_shift($groups);
                 // Joomla! 2.5?
                 if (is_int($group_id)) {
                     // usergroup table
                     $group = JTable::getInstance('Usergroup');
                     $group->load($group_id);
                     // usertype
                     $usertype = $group->title;
                 } else {
                     $usertype = $group_id;
                 }
             } else {
                 $usertype = $user->usertype;
             }
             // Replace any path variables
             $pattern = array('/\\$id/', '/\\$username/', '/\\$user(group|type)/', '/\\$(group|profile)/', '/\\$day/', '/\\$month/', '/\\$year/');
             $replace = array($user->id, $user->username, $usertype, $profile->name, date('d'), date('m'), date('Y'));
             $root = preg_replace($pattern, $replace, $root);
             // split into path parts to preserve /
             $parts = explode('/', $root);
             $textcase = $wf->getParam('editor.websafe_textcase');
             if (!empty($textcase)) {
                 $textcase = array_shift($textcase);
             }
             // clean path parts
             $parts = WFUtility::makeSafe($parts, $wf->getParam('editor.websafe_mode', 'utf-8'), $wf->getParam('editor.websafe_allow_spaces', 0), $textcase);
             //join path parts
             $root = implode('/', $parts);
         }
     }
     return $root;
 }
Пример #15
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $model = new WFModelEditor();
     if ($wf->getParam('mediamanager.aggregator.youtube.enable', 1) || $wf->getParam('mediamanager.aggregator.vimeo.enable', 1)) {
         $model->removeKeys($settings['invalid_elements'], array('iframe'));
     }
 }
Пример #16
0
 public function getConfig(&$settings)
 {
     // Get JContentEditor instance
     $wf = WFEditor::getInstance();
     $smilies = 'smiley-confused.gif,smiley-cool.gif,smiley-cry.gif,smiley-eek.gif,smiley-embarassed.gif,smiley-evil.gif,smiley-laughing.gif,smiley-mad.gif,smiley-neutral.gif,smiley-roll.gif,smiley-sad.gif,smiley-surprised.gif,smiley-tongue_out.gif,smiley-wink.gif,smiley-yell.gif,smiley-smile.gif';
     $settings['emotions_smilies'] = $wf->getParam('emotions.smilies');
     $settings['emotions_url'] = $wf->getParam('emotions.url');
 }
Пример #17
0
 public static function getStyles()
 {
     $wf = WFEditor::getInstance();
     // only required if we're packing css
     if ($wf->getParam('editor.compress_css', 1)) {
         // add ui theme css file
         return array(dirname(dirname(__FILE__)) . '/css/dialog.css');
     }
 }
Пример #18
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     wfimport('admin.models.editor');
     $model = new WFModelEditor();
     // Encoding
     $settings['entity_encoding'] = $wf->getParam('editor.entity_encoding');
     // keep &nbsp;
     $nbsp = (bool) $wf->getParam('editor.keep_nbsp', 1);
     // use named encoding with limited entities set if raw/utf-8 and keep_nbsp === true
     if ($settings['entity_encoding'] === 'raw' && $nbsp) {
         $settings['entity_encoding'] = '';
         $settings['entities'] = '160,nbsp,173,shy';
     }
     // set "plugin mode"
     $settings['cleanup_pluginmode'] = $wf->getParam('editor.cleanup_pluginmode', 0, 0);
     // get verify html (default is true)
     $settings['verify_html'] = $wf->getParam('editor.verify_html', 1, 1, 'boolean', false);
     $settings['pad_empty_tags'] = $wf->getParam('editor.pad_empty_tags', 1, 1, 'boolean');
     // set schema
     $settings['schema'] = $wf->getParam('editor.schema', 'mixed');
     if ($settings['schema'] === "html5") {
         $settings['schema'] = "html5-strict";
     }
     // Get Extended elements
     $settings['extended_valid_elements'] = $wf->getParam('editor.extended_elements', '', '');
     // Configuration list of invalid elements as array
     $settings['invalid_elements'] = explode(',', preg_replace('#\\s+#', '', $wf->getParam('editor.invalid_elements', '', '')));
     // Add elements to invalid list (removed by plugin)
     $model->addKeys($settings['invalid_elements'], self::$invalid_elements);
     // process extended_valid_elements
     if ($settings['extended_valid_elements']) {
         $extended_elements = explode(',', $settings['extended_valid_elements']);
         $elements = array();
         // add wildcard attributes if none specified
         for ($i = 0; $i < count($extended_elements); $i++) {
             $pos = strpos($extended_elements[$i], '[');
             if ($pos === false) {
                 $elements[] = $extended_elements[$i];
                 $extended_elements[$i] .= '[*]';
             } else {
                 $elements[] = substr($extended_elements[$i], 0, $pos);
             }
         }
         // restore settings to array
         $settings['extended_valid_elements'] = implode(',', $extended_elements);
         if (!empty($elements)) {
             $settings['invalid_elements'] = array_diff($settings['invalid_elements'], $elements);
         }
     }
     // remove it if it is the same as the default
     if ($settings['invalid_elements'] === self::$invalid_elements) {
         $settings['invalid_elements'] = array();
     }
     $settings['invalid_attributes'] = $wf->getParam('editor.invalid_attributes', 'dynsrc,lowsrc', 'dynsrc,lowsrc', 'string', true);
     $settings['invalid_attribute_values'] = $wf->getParam('editor.invalid_attribute_values', '', '', 'string', true);
 }
Пример #19
0
 private static function getBulletList()
 {
     $wf = WFEditor::getInstance();
     $bullet = (array) $wf->getParam('lists.bullet_styles');
     if (empty($bullet) || count($bullet) === 1 && array_shift($bullet) === 'default') {
         return false;
     }
     return $bullet;
 }
Пример #20
0
 function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $settings['templatemanager_selected_content_classes'] = $wf->getParam('templatemanager.selected_content_classes', '');
     $settings['templatemanager_cdate_classes'] = $wf->getParam('templatemanager.cdate_classes', 'cdate creationdate', 'cdate creationdate');
     $settings['templatemanager_mdate_classes'] = $wf->getParam('templatemanager.mdate_classes', 'mdate modifieddate', 'mdate modifieddate');
     $settings['templatemanager_cdate_format'] = $wf->getParam('templatemanager.cdate_format', '%m/%d/%Y : %H:%M:%S', '%m/%d/%Y : %H:%M:%S');
     $settings['templatemanager_mdate_format'] = $wf->getParam('templatemanager.mdate_format', '%m/%d/%Y : %H:%M:%S', '%m/%d/%Y : %H:%M:%S');
     $settings['templatemanager_content_url'] = $wf->getParam('templatemanager.content_url', '');
 }
Пример #21
0
 /**
  * Constructor activating the default information of the class
  * @access	protected
  */
 public function __construct()
 {
     // Call parent
     parent::__construct();
     $dialog = JRequest::getWord('dialog');
     $theme = JRequest::getWord('theme');
     $this->set('dialog', $dialog);
     $this->set('theme', $theme);
     $this->execute();
 }
Пример #22
0
 public static function getStyles()
 {
     $wf = WFEditor::getInstance();
     if (JRequest::getWord('layout') === 'plugin') {
         // return file(s) array
         if ($wf->getParam('editor.compress_css', 0)) {
             return array(dirname(dirname(__FILE__)) . '/css/editor.css');
         }
         // use document instance
         $document = JFactory::getDocument();
         $document->addStyleSheet(JURI::root(true) . '/components/com_jce/editor/tiny_mce/plugins/source/css/editor.css?version=' . $wf->getVersion());
     }
 }
Пример #23
0
 public static function getStyles()
 {
     $wf = WFEditor::getInstance();
     // only required if we're packing css
     if ($wf->getParam('editor.compress_css', 0)) {
         jimport('joomla.filesystem.folder');
         // get UI Theme
         $theme = $wf->getParam('editor.dialog_theme', 'jce');
         $ui = JFolder::files(WF_EDITOR_LIBRARIES . '/css/jquery/' . $theme, '\\.css$');
         $file = count($ui) ? basename($ui[0]) : '';
         // add ui theme css file
         return array(WF_EDITOR_LIBRARIES . '/jquery/css/jquery-ui.custom.css', dirname(dirname(__FILE__)) . '/css/dialog.css');
     }
 }
Пример #24
0
 public static function getConfig(&$settings)
 {
     wfimport('admin.models.editor');
     $model = new WFModelEditor();
     $wf = WFEditor::getInstance();
     // html5 block elements
     $html5 = array('section', 'article', 'aside', 'figure');
     // get current schema
     $schema = $wf->getParam('editor.schema', 'html4');
     $verify = (bool) $wf->getParam('editor.verify_html', 0);
     $legacy = $wf->getParam('editor.theme_advanced_blockformats');
     $default = 'p,div,address,pre,h1,h2,h3,h4,h5,h6,code,samp,span,section,article,aside,figure,dt,dd';
     // get blockformats from parameter
     $blockformats = $wf->getParam('formatselect.blockformats', $default, $default);
     // handle empty list
     if (empty($blockformats)) {
         if (!empty($legacy)) {
             $blockformats = $legacy;
         } else {
             $blockformats = $default;
         }
     }
     $list = array();
     $blocks = array();
     // make an array
     if (is_string($blockformats)) {
         $blockformats = explode(',', $blockformats);
     }
     // create label / value list using default
     foreach ($blockformats as $v) {
         if (array_key_exists($v, self::$formats)) {
             $key = self::$formats[$v];
         }
         // skip html5 blocks for html4 schema
         if ($verify && $schema == 'html4' && in_array($v, $html5)) {
             continue;
         }
         if (isset($key)) {
             $list[$key] = $v;
         }
         $blocks[] = $v;
         // add div container
         if ($v === 'div') {
             $list['advanced.div_container'] = 'div_container';
         }
     }
     // Format list / Remove Format
     $settings['formatselect_blockformats'] = json_encode($list);
 }
Пример #25
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $settings['paste_dialog_width'] = $wf->getParam('paste.dialog_width', 450, 450);
     $settings['paste_dialog_height'] = $wf->getParam('paste.dialog_height', 400, 400);
     $settings['paste_use_dialog'] = $wf->getParam('paste.use_dialog', 0, 0);
     $settings['paste_force_cleanup'] = $wf->getParam('paste.force_cleanup', 0, 0);
     $settings['paste_strip_class_attributes'] = $wf->getParam('paste.strip_class_attributes', 'all', 'all');
     $settings['paste_remove_styles'] = $wf->getParam('paste.remove_styles', 0, 0);
     $settings['paste_retain_style_properties'] = $wf->getParam('paste.retain_style_properties', '', '');
     $settings['paste_remove_spans'] = $wf->getParam('paste.remove_spans', 0, 0);
     $settings['paste_remove_styles_if_webkit'] = $wf->getParam('paste.remove_styles_if_webkit', 0, 0);
     $settings['paste_remove_empty_paragraphs'] = $wf->getParam('paste.remove_empty_paragraphs', 1, 1);
     $settings['paste_text'] = $wf->getParam('paste.text', 1, 1);
     $settings['paste_html'] = $wf->getParam('paste.html', 1, 1);
 }
Пример #26
0
 public function getLinks($args)
 {
     foreach ($this->extensions as $extension) {
         if (in_array($args->option, $extension->getOption())) {
             $items = $extension->getLinks($args);
         }
     }
     $array = array();
     $result = array();
     if (isset($items)) {
         foreach ($items as $item) {
             $array[] = array('id' => isset($item['id']) ? WFEditor::xmlEncode($item['id']) : '', 'url' => isset($item['url']) ? WFEditor::xmlEncode($item['url']) : '', 'name' => WFEditor::xmlEncode($item['name']), 'class' => $item['class']);
         }
         $result = array('folders' => $array);
     }
     return $result;
 }
Пример #27
0
 public function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $model = JModel::getInstance('editor', 'WFModel');
     $doctypes = array('XHTML 1.0 Transitional' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">', 'XHTML 1.0 Frameset' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">', 'XHTML 1.0 Strict' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">', 'XHTML 1.1' => '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">', 'HTML 4.01 Transitional' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', 'HTML 4.01 Strict' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', 'HTML 4.01 Frameset' => '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">', 'HTML 5' => '<!DOCTYPE HTML>');
     $doctype = $wf->getParam('fullpage.default_doctype', 'HTML 4.01 Transitional', 'HTML 4.01 Transitional');
     $settings['fullpage_fonts'] = $model->getEditorFonts();
     $settings['fullpage_fontsizes'] = $wf->getParam('editor.theme_advanced_font_sizes', '8pt,10pt,12pt,14pt,18pt,24pt,36pt');
     $settings['fullpage_default_doctype'] = isset($doctypes[$doctype]) ? addslashes($doctypes[$doctype]) : '';
     $settings['fullpage_hide_in_source_view'] = $wf->getParam('fullpage.hide_in_source_view', 0, 0);
     $settings['fullpage_default_encoding'] = $wf->getParam('fullpage.default_encoding');
     $settings['fullpage_default_xml_pi'] = $wf->getParam('fullpage.default_xml_pi', 0, 0);
     $settings['fullpage_default_font_family'] = $wf->getParam('fullpage.default_font_family');
     $settings['fullpage_default_title'] = $wf->getParam('fullpage.default_title', 'Untitled Document', 'Untitled Document');
     $settings['fullpage_default_font_size'] = $wf->getParam('fullpage.default_font_size');
     $settings['fullpage_default_text_color'] = $wf->getParam('fullpage.default_text_color');
 }
Пример #28
0
 public function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $model = JModel::getInstance('editor', 'WFModel');
     if (!in_array('cleanup', $settings['plugins'])) {
         $settings['plugins'][] = 'cleanup';
     }
     $settings['cleanup_pluginmode'] = $wf->getParam('cleanup.pluginmode', 0, 0);
     $settings['verify_html'] = $wf->getParam('editor.verify_html', 0, 1);
     $settings['event_elements'] = $wf->getParam('editor.event_elements', 'a,img', 'a,img');
     // Tables & Lists
     $settings['table_inline_editing'] = 1;
     $settings['fix_list_elements'] = 1;
     $settings['fix_table_elements'] = 1;
     if ($wf->getParam('editor.allow_applet', 0, 0)) {
         $model->removeKeys($settings['invalid_elements'], 'applet');
     }
 }
Пример #29
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     $settings['clipboard_paste_dialog_width'] = $wf->getParam('clipboard.paste_dialog_width', 450, 450);
     $settings['clipboard_paste_dialog_height'] = $wf->getParam('clipboard.paste_dialog_height', 400, 400);
     $settings['clipboard_paste_use_dialog'] = $wf->getParam('clipboard.paste_use_dialog', 0, 0, 'boolean');
     $settings['clipboard_paste_force_cleanup'] = $wf->getParam('clipboard.paste_force_cleanup', 0, 0, 'boolean');
     $settings['clipboard_paste_strip_class_attributes'] = $wf->getParam('clipboard.paste_strip_class_attributes', 0, 0);
     $settings['clipboard_paste_remove_styles'] = $wf->getParam('clipboard.paste_remove_styles', 0, 0, 'boolean');
     $settings['clipboard_paste_retain_style_properties'] = $wf->getParam('clipboard.paste_retain_style_properties', '', '');
     $settings['clipboard_paste_remove_spans'] = $wf->getParam('clipboard.paste_remove_spans', 0, 0, 'boolean');
     $settings['clipboard_paste_remove_attributes'] = $wf->getParam('clipboard.paste_remove_attributes', '', '');
     $settings['clipboard_paste_remove_styles_if_webkit'] = $wf->getParam('clipboard.paste_remove_styles_if_webkit', 0, 0, 'boolean');
     $settings['clipboard_paste_remove_empty_paragraphs'] = $wf->getParam('clipboard.paste_remove_empty_paragraphs', 1, 1, 'boolean');
     $settings['clipboard_paste_text'] = $wf->getParam('clipboard.paste_text', 1, 1, 'boolean');
     $settings['clipboard_paste_html'] = $wf->getParam('clipboard.paste_html', 1, 1, 'boolean');
     $settings['clipboard_paste_process_footnotes'] = $wf->getParam('clipboard.paste_process_footnotes', 'convert', 'convert');
 }
Пример #30
0
 public static function getConfig(&$settings)
 {
     $wf = WFEditor::getInstance();
     wfimport('admin.models.editor');
     $model = new WFModelEditor();
     // Encoding
     $settings['entity_encoding'] = $wf->getParam('editor.entity_encoding');
     // keep &nbsp;
     $nbsp = (bool) $wf->getParam('editor.keep_nbsp', 1);
     // use named encoding with limited entities set if raw/utf-8 and keep_nbsp === true
     if ($settings['entity_encoding'] === 'raw' && $nbsp) {
         $settings['entity_encoding'] = '';
         $settings['entities'] = '160,nbsp,173,shy';
     }
     // set "plugin mode"
     $settings['cleanup_pluginmode'] = $wf->getParam('editor.cleanup_pluginmode', 0, 0);
     // get verify html (default is true)
     $settings['verify_html'] = $wf->getParam('editor.verify_html', 1, 1, 'boolean', false);
     $settings['pad_empty_tags'] = $wf->getParam('editor.pad_empty_tags', 1, 1, 'boolean');
     // set schema
     $settings['schema'] = $wf->getParam('editor.schema', 'mixed');
     if ($settings['schema'] === "html5") {
         $settings['schema'] = "html5-strict";
     }
     // Get Extended elements
     $settings['extended_valid_elements'] = $wf->getParam('editor.extended_elements', '', '');
     // Configuration list of invalid elements as array
     $settings['invalid_elements'] = explode(',', preg_replace('#\\s+#', '', $wf->getParam('editor.invalid_elements', '', '')));
     // Add elements to invalid list (removed by plugin)
     $model->addKeys($settings['invalid_elements'], self::$invalid_elements);
     // remove extended_valid_elements
     if ($settings['extended_valid_elements']) {
         preg_match_all('#(\\w+)(\\[([^\\]]+)\\])?#', $settings['extended_valid_elements'], $extended);
         if ($extended && count($extended) > 1) {
             $settings['invalid_elements'] = array_diff($settings['invalid_elements'], $extended[1]);
         }
     }
     // remove it if it is the same as the default
     if ($settings['invalid_elements'] === self::$invalid_elements) {
         $settings['invalid_elements'] = array();
     }
     $settings['invalid_attributes'] = $wf->getParam('editor.invalid_attributes', 'dynsrc,lowsrc', 'dynsrc,lowsrc', 'string', true);
     $settings['invalid_attribute_values'] = $wf->getParam('editor.invalid_attribute_values', '', '', 'string', true);
 }