You are here

function webfm_enum_validate in Web File Manager 5.2

Same name and namespace in other branches
  1. 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;
}