Line 419 | Line 419 |
---|
*/ function validate_config_vars($config_vars, &$cfg_array, &$error) {
|
*/ function validate_config_vars($config_vars, &$cfg_array, &$error) {
|
global $phpbb_root_path, $user, $phpbb_dispatcher, $phpbb_filesystem;
| global $phpbb_root_path, $user, $phpbb_dispatcher, $phpbb_filesystem, $language;
|
$type = 0; $min = 1;
| $type = 0; $min = 1;
|
Line 442 | Line 442 |
---|
// Validate a bit. ;) (0 = type, 1 = min, 2= max) switch ($validator[$type]) {
|
// Validate a bit. ;) (0 = type, 1 = min, 2= max) switch ($validator[$type]) {
|
| case 'url': $cfg_array[$config_name] = trim($cfg_array[$config_name]);
if (!empty($cfg_array[$config_name]) && !preg_match('#^' . get_preg_expression('url') . '$#iu', $cfg_array[$config_name])) { $error[] = $language->lang('URL_INVALID', $language->lang($config_definition['lang'])); }
// no break here
|
case 'string': $length = utf8_strlen($cfg_array[$config_name]);
| case 'string': $length = utf8_strlen($cfg_array[$config_name]);
|
Line 564 | Line 574 |
---|
$cfg_array[$config_name] = trim($destination);
|
$cfg_array[$config_name] = trim($destination);
|
// Absolute file path case 'absolute_path': case 'absolute_path_writable':
| |
// Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir... case 'path': case 'wpath':
| // Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir... case 'path': case 'wpath':
|
Line 585 | Line 592 |
---|
break; }
|
break; }
|
$path = in_array($config_definition['validate'], array('wpath', 'path', 'rpath', 'rwpath')) ? $phpbb_root_path . $cfg_array[$config_name] : $cfg_array[$config_name];
| $path = $phpbb_root_path . $cfg_array[$config_name];
|
if (!file_exists($path)) {
| if (!file_exists($path)) {
|
Line 598 | Line 605 |
---|
}
// Check if the path is writable
|
}
// Check if the path is writable
|
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath' || $config_definition['validate'] === 'absolute_path_writable')
| if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
|
{ if (file_exists($path) && !$phpbb_filesystem->is_writable($path)) {
| { if (file_exists($path) && !$phpbb_filesystem->is_writable($path)) {
|