Example #1
0
 /**
  *
  * do some config validation
  */
 public static function validateConf($config, $param)
 {
     // do some extra work on repository config query
     if ($param == 'shared_folder') {
         // error if repository does not exist
         if (!is_dir($config['shared_folder'])) {
             File::error('Directory does not exist: ' . $config['shared_folder']);
         }
     }
     // max_filesize check server's conflict
     if ($param == 'max_filesize') {
         $php_post_max_size = File::returnBytes(ini_get('post_max_size'));
         $php_upload_max_filesize = File::returnBytes(ini_get('upload_max_filesize'));
         if ($config['max_filesize'] > $php_post_max_size || $config['max_filesize'] > $php_upload_max_filesize) {
             //File::error('Config param max_filesize is bigger than php server setting: post_max_size = '.$php_post_max_size.', upload_max_filesize = '.$php_upload_max_filesize);
         }
     }
     // convert array to regexp
     if ($config['accept_file_extensions'] == '*' || in_array('*', $config['accept_file_extensions'])) {
         $config['accept_file_extensions'] = '/\\.+/';
     } else {
         $config['accept_file_extensions'] = '/(\\.|\\/)(' . implode('|', $config['accept_file_extensions']) . ')$/i';
     }
     // advanced: encryption salt
     $config['encryption_salt'] = $_SERVER['SERVER_NAME'];
     // advanced: mode when creating new directory (ignored on windows)
     $config['new_dir_mode'] = 0755;
     // strip trailing slash & forward slashes for fs
     $config['shared_folder'] = rtrim($config['shared_folder'], "/\\");
     $config['shared_foldery'] = str_replace('\\', '/', $config['shared_folder']);
     $config['base_url'] = rtrim($config['base_url'], "/\\");
     return $config;
 }