function webfm_enum_validate in Web File Manager 5.2
Same name and namespace in other branches
- 5 webfm.module \webfm_enum_validate()
2 calls to webfm_enum_validate()
- webfm_insert_file in ./
webfm_file.inc - webfm_insert_file - inserts a file into the webfm_file table
- webfm_rename in ./
webfm_file.inc - webfm_rename -called from the ajax action - switch case 'rename':
File
- ./
webfm.module, line 1944
Code
function webfm_enum_validate($file, &$err_msg) {
global $user;
if ($user->uid == 1) {
return TRUE;
}
$name = $file->filename ? $file->filename : strrev(substr(strrev($file->filepath), 0, strpos(strrev($file->filepath), '/')));
if (strlen($name) > 255) {
$err_msg[] = $name . ' has invalid length';
return FALSE;
}
$num_roles = count($user->roles);
$error = 0;
foreach ($user->roles as $rid => $rname) {
//compare file to extension whitelist for each role
$regex = webfm_get_extensions_regex($rid);
if (!preg_match($regex, $name)) {
$err_msg[] = $file->filepath . ' has invalid extension for ' . $rname . ' role.';
$error++;
}
}
return $error == $num_roles ? FALSE : TRUE;
}