/** * * 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; }