function filedepot_admin_settings_validate in filedepot 7
Same name and namespace in other branches
- 6 filedepot.admin.inc \filedepot_admin_settings_validate()
File
- ./
filedepot.admin.inc, line 341 - filedepot.admin.inc Drupal API functions for the Module Admin Settings
Code
function filedepot_admin_settings_validate($form, &$form_state) {
if (!valid_email_address($form_state['values']['filedepot_email_to'])) {
form_set_error('filedepot_email_to', t('The email address appears to be invalid.'));
}
$filterdata = array();
$rawfilefilter = $form_state['values']['filedepot_filetype_filter'];
$filterlines = preg_split('/\\r\\n|\\r|\\n/', $rawfilefilter);
variable_set('filedepot_filetype_filterdata', $filterlines);
$extensiondata = array();
$rawextensions = $form_state['values']['filedepot_extensions'];
$extensionlines = preg_split('/\\r\\n|\\r|\\n/', $rawextensions);
foreach ($extensionlines as $line) {
if (!empty($line)) {
$records = explode(',', $line);
foreach ($records as $mapping) {
$data = explode('=', $mapping);
$ext = trim($data[0]);
$icon = trim($data[1]);
$extensiondata[$ext] = $icon;
}
}
}
variable_set('filedepot_extension_data', serialize($extensiondata));
/* Parse the default perms settings and create a single associative array the filedepot class will use */
$validperms = array(
'view',
'admin',
'upload',
'upload_dir',
'upload_ver',
'approval',
);
$defaultperms = array();
$cleanperms = array();
$ownerperms = _filedepot_convert_permission_string($form_state['values']['filedepot_default_owner'], FALSE);
$form_state['values']['filedepot_default_owner'] = $ownerperms;
$aperms = explode(',', $ownerperms);
foreach ($aperms as $perm) {
$perm = trim($perm);
if (in_array($perm, $validperms)) {
$cleanperms[] = $perm;
}
}
$defaultperms['owner'] = $cleanperms;
$cleanperms = array();
$groupperms = _filedepot_convert_permission_string($form_state['values']['filedepot_default_group'], FALSE);
$form_state['values']['filedepot_default_group'] = $groupperms;
$aperms = explode(',', $groupperms);
foreach ($aperms as $perm) {
$perm = trim($perm);
if (in_array($perm, $validperms)) {
$cleanperms[] = $perm;
}
}
$defaultperms['group'] = $cleanperms;
$rawroleperms = _filedepot_convert_permission_string_lines($form_state['values']['filedepot_default_roles'], FALSE);
$form_state['values']['filedepot_default_roles'] = $rawroleperms;
$permlines = preg_split('/\\r\\n|\\r|\\n/', $rawroleperms);
foreach ($permlines as $line) {
if (!empty($line)) {
$parts = explode(':', $line);
$role = trim($parts[0]);
$perms = explode(',', $parts[1]);
foreach ($perms as $perm) {
$perm = trim($perm);
if (in_array($perm, $validperms)) {
$defaultperms[$role][] = trim($perm);
}
}
}
}
variable_set('filedepot_default_perms_data', serialize($defaultperms));
}