phpBB

Code Changes

File: includes/functions_acp.php

  Unmodified   Added   Modified   Removed
Line 112Line 112
		'CONTAINER_EXCEPTION'	=> $phpbb_container->hasParameter('container_exception') ? $phpbb_container->getParameter('container_exception') : false,
));


		'CONTAINER_EXCEPTION'	=> $phpbb_container->hasParameter('container_exception') ? $phpbb_container->getParameter('container_exception') : false,
));


	// An array of http headers that phpbb will set. The following event may override these.

	// An array of http headers that phpBB will set. The following event may override these.

	$http_headers = array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',

	$http_headers = array(
// application/xhtml+xml not used because of IE
'Content-type' => 'text/html; charset=UTF-8',
'Cache-Control' => 'private, no-cache="set-cookie"',
'Expires' => gmdate('D, d M Y H:i:s', time()) . ' GMT',

 
		'Referrer-Policy' => 'strict-origin-when-cross-origin',

	);

/**

	);

/**

Line 419Line 420
*/
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 442Line 443
		// 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 564Line 575

$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 585Line 593
					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 598Line 606
				}

// 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))
{