function ckeditor_admin_profile_form_validate in CKEditor - WYSIWYG HTML editor 6
Same name and namespace in other branches
- 7 includes/ckeditor.admin.inc \ckeditor_admin_profile_form_validate()
Profile validation.
1 call to ckeditor_admin_profile_form_validate()
File
- includes/
ckeditor.admin.inc, line 1294 - CKEditor - The text editor for the Internet - http://ckeditor.com Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
Code
function ckeditor_admin_profile_form_validate($form, &$form_state) {
$edit =& $form_state['values'];
//include mode and all other fields are empty, invalid
if ($edit['excl_mode'] == 1 && empty($edit['excl'])) {
form_set_error('excl_mode', t('Include mode selected, but no paths given. Enter at least one path where CKEditor should appear.'));
}
else {
ckeditor_admin_profile_validate_fieldpaths('excl', $edit['excl']);
}
ckeditor_admin_profile_validate_fieldpaths('simple_incl', $edit['simple_incl']);
if (!preg_match('/^\\d+$/', trim($edit['min_rows']))) {
form_set_error('min_rows', t('Minimum rows must be a valid number.'));
}
if ($edit['default'] == 't' && $edit['popup'] == 't') {
form_set_error('popup', t('If CKEditor is enabled by default, the popup window must be disabled.'));
}
if ($edit['show_toggle'] == 't' && $edit['popup'] == 't') {
form_set_error('popup', t('If toggle is enabled, the popup window must be disabled.'));
}
if (!$edit['name']) {
form_set_error('name', t('You must give a profile name.'));
}
elseif (!preg_match('/^[A-Za-z0-9_]+$/', $edit['name'])) {
form_set_error('name', t('Enter a valid profile name. Only alphanumeric and underscore characters are allowed.'));
}
elseif ($edit['name'] == 'CKEditor Global Profile') {
form_set_error('name', t('This profile name is reserved. Please choose a different name.'));
}
elseif (!isset($edit['_profile']) || $edit['_profile']->name != $edit['name']) {
$result = ckeditor_profile_load($edit['name']);
if (!empty($result)) {
form_set_error('name', t('The profile name must be unique. A profile with this name already exists.'));
}
}
if (!preg_match('/^\\d+%?$/', $edit['width'])) {
form_set_error('width', t('Enter a valid width value. Examples: 400, 100%.'));
}
if (!empty($edit['css_path'])) {
if ($edit['css_mode'] != 'self') {
form_set_error('css_path', t('The CSS path is not empty. Please set the <strong>Editor CSS</strong> option to the <strong>Define CSS</strong> mode.'));
}
elseif (FALSE !== strpos($edit['css_path'], '"')) {
form_set_error('css_path', t('Double quotes are not allowed in the CSS path.'));
}
elseif (substr($edit['css_path'], 0, 1) == "'" && substr($edit['css_path'], -1) == "'") {
form_set_error('css_path', t('Enter a valid CSS path, do not surround it with quotes.'));
}
}
if (!empty($edit['styles_path'])) {
if ($edit['css_style'] != 'self') {
form_set_error('styles_path', t('The path to predefined styles is not empty. Please set the <strong>Predefined styles</strong> option to the <strong>Define path to ckeditor.styles.js</strong> mode.'));
}
elseif (FALSE !== strpos($edit['styles_path'], '"')) {
form_set_error('styles_path', t('Double quotes are not allowed in the styles path.'));
}
elseif (substr($edit['styles_path'], 0, 1) == "'" && substr($edit['styles_path'], -1) == "'") {
form_set_error('styles_path', t('Enter a valid styles path, do not surround it with quotes.'));
}
}
if (!empty($edit['font_format'])) {
if (!preg_match("/^((p|div|pre|address|h1|h2|h3|h4|h5|h6);)*(p|div|pre|address|h1|h2|h3|h4|h5|h6)\$/", $edit['font_format'])) {
form_set_error('font_format', t('Enter a valid, semicolon-separated list of HTML font formats (no semicolon at the end of the list is expected).'));
}
}
if (variable_get('file_downloads', '') !== FILE_DOWNLOADS_PRIVATE) {
if (!empty($edit['UserFilesAbsolutePath']) && empty($edit['UserFilesPath'])) {
form_set_error('UserFilesPath', t('The path to uploaded files is required.'));
}
if (!empty($edit['UserFilesPath']) && empty($edit['UserFilesAbsolutePath'])) {
form_set_error('UserFilesPath', t('An absolute path to uploaded files is required.'));
}
}
if (ckeditor_get_version(TRUE) == 3) {
$load_methods = _ckeditor_load_methods();
if (!isset($load_methods[$edit['ckeditor_load_method']])) {
form_set_error('ckeditor_load_method', t('Set a valid loading method.'));
}
if (!preg_match('#\\d+#', $edit['ckeditor_load_time_out'])) {
form_set_error('ckeditor_load_time_out', t('Enter a valid loading timeout in seconds.'));
}
}
if (!preg_match('#^\\s*\\[(?:\\s*(?:\\{\\s*[\\w:\'" ,]*\\s*\\[(?:\\s*([\'\\"\\"])(?:\\w+|-)\\1\\s*[,]?\\s*)+\\]\\s*\\}|([\'\\"\\"])\\/\\2)\\s*[,]?\\s*)+\\]\\s*$#U', $edit['toolbar']) && !preg_match('#^\\s*\\[(?:\\s*(?:\\[(?:\\s*([\'\\"\\"])(?:\\w+|-)\\1\\s*[,]?\\s*)+\\]|([\'\\"\\"])\\/\\2)\\s*[,]?\\s*)+\\]\\s*$#', $edit['toolbar'])) {
form_set_error('toolbar', t('Enter a valid toolbar configuration.'));
}
}