function ckeditor_security_filters in CKEditor - WYSIWYG HTML editor 7
Return all modules that provide security filters.
2 calls to ckeditor_security_filters()
- ckeditor_admin_profile_form in includes/
ckeditor.admin.inc - Form builder for a profile
- ckeditor_filter_xss in includes/
ckeditor.page.inc - AJAX callback - XSS filter
File
- includes/
ckeditor.lib.inc, line 1468 - CKEditor - The text editor for the Internet - http://ckeditor.com Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
Code
function ckeditor_security_filters() {
$security_filters = array();
$security_filters['modules'] = array(
'htmLawed' => array(
'title' => 'htmLawed',
'project_page' => 'http://drupal.org/project/htmLawed',
'weight' => 0,
'installed' => FALSE,
'filters' => array(),
),
'htmltidy' => array(
'title' => 'Htmltidy',
'project_page' => 'http://drupal.org/project/htmltidy',
'weight' => 0,
'installed' => FALSE,
'filters' => array(),
),
'htmlpurifier' => array(
'title' => 'HTML Purifier',
'project_page' => 'http://drupal.org/project/htmlpurifier',
'weight' => 0,
'installed' => FALSE,
'filters' => array(),
),
'wysiwyg_filter' => array(
'title' => 'WYSIWYG Filter',
'project_page' => 'http://drupal.org/project/wysiwyg_filter',
'weight' => 0,
'installed' => FALSE,
'filters' => array(),
),
);
$security_filters['filters'] = array();
foreach ($security_filters['modules'] as $module_name => $module_conf) {
if (module_exists($module_name)) {
$security_filters['modules'][$module_name]['installed'] = TRUE;
$module_filters = module_invoke($module_name, 'filter_info');
foreach ($module_filters as $module_filter_name => $module_filter_conf) {
$security_filters['modules'][$module_name]['filters'][$module_filter_name] = $module_filter_conf;
$security_filters['filters'][$module_filter_name] = TRUE;
}
}
}
//add filters from Drupal core
$security_filters['modules']['__drupal'] = array(
'title' => 'Drupal core',
'project_page' => FALSE,
'weight' => -1,
'installed' => TRUE,
'filters' => array(
'filter_html' => array(
'title' => 'Limit allowed HTML tags',
'description' => 'Removes the attributes that the built-in "Limit allowed HTML tags"-filter does not allow inside HTML elements/tags',
),
),
);
$security_filters['filters']['filter_html'] = TRUE;
//load security filters added by API
$external_module_filters = module_invoke_all('ckeditor_security_filter');
if (count($external_module_filters) > 0) {
$security_filters['modules']['__external'] = array(
'title' => 'External filters',
'project_page' => FALSE,
'weight' => 1,
'installed' => TRUE,
'filters' => array(),
);
foreach ($external_module_filters as $module_filter_name => $module_filter_conf) {
$security_filters['modules']['__external']['filters'][$module_filter_name] = $module_filter_conf;
$security_filters['filters'][$module_filter_name] = TRUE;
}
}
drupal_alter('ckeditor_security_filter', $security_filters);
return $security_filters;
}