public static function getConfig(&$settings) { $wf = WFEditor::getInstance(); wfimport('admin.models.editor'); $model = new WFModelEditor(); $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); }
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 = (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); }
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 = (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); }