diff options
Diffstat (limited to 'phpBB/includes/functions_compatibility.php')
| -rw-r--r-- | phpBB/includes/functions_compatibility.php | 210 | 
1 files changed, 206 insertions, 4 deletions
| diff --git a/phpBB/includes/functions_compatibility.php b/phpBB/includes/functions_compatibility.php index 43952ae57a..4707238951 100644 --- a/phpBB/includes/functions_compatibility.php +++ b/phpBB/includes/functions_compatibility.php @@ -59,6 +59,7 @@ function phpbb_hash($password)  {  	global $phpbb_container; +	/* @var $passwords_manager \phpbb\passwords\manager */  	$passwords_manager = $phpbb_container->get('passwords.manager');  	return $passwords_manager->hash($password);  } @@ -77,6 +78,7 @@ function phpbb_check_hash($password, $hash)  {  	global $phpbb_container; +	/* @var $passwords_manager \phpbb\passwords\manager */  	$passwords_manager = $phpbb_container->get('passwords.manager');  	return $passwords_manager->check($password, $hash);  } @@ -89,7 +91,7 @@ function phpbb_check_hash($password, $hash)  * @param string $path Path to clean  * @return string Cleaned path  * -* @deprecated +* @deprecated 3.1.0 (To be removed: 3.3.0)  */  function phpbb_clean_path($path)  { @@ -97,6 +99,7 @@ function phpbb_clean_path($path)  	if (!$phpbb_path_helper && $phpbb_container)  	{ +		/* @var $phpbb_path_helper \phpbb\path_helper */  		$phpbb_path_helper = $phpbb_container->get('path_helper');  	}  	else if (!$phpbb_path_helper) @@ -132,7 +135,7 @@ function phpbb_clean_path($path)  *  * @return		string		Returns the options for timezone selector only  * -* @deprecated +* @deprecated 3.1.0 (To be removed: 3.3.0)  */  function tz_select($default = '', $truncate = false)  { @@ -146,7 +149,7 @@ function tz_select($default = '', $truncate = false)  * via admin_permissions. Changes of usernames and group names  * must be carried through for the moderators table.  * -* @deprecated 3.1 +* @deprecated 3.1.0 (To be removed: 3.3.0)  * @return null  */  function cache_moderators() @@ -158,7 +161,7 @@ function cache_moderators()  /**  * Removes moderators and administrators from foe lists.  * -* @deprecated 3.1 +* @deprecated 3.1.0 (To be removed: 3.3.0)  * @param array|bool $group_id If an array, remove all members of this group from foe lists, or false to ignore  * @param array|bool $user_id If an array, remove this user from foe lists, or false to ignore  * @return null @@ -195,3 +198,202 @@ function get_user_rank($user_rank, $user_posts, &$rank_title, &$rank_img, &$rank  	$rank_img = $rank_data['img'];  	$rank_img_src = $rank_data['img_src'];  } + +/** + * Retrieve contents from remotely stored file + * + * @deprecated	3.1.2	Use file_downloader instead + */ +function get_remote_file($host, $directory, $filename, &$errstr, &$errno, $port = 80, $timeout = 6) +{ +	global $phpbb_container; + +	// Get file downloader and assign $errstr and $errno +	/* @var $file_downloader \phpbb\file_downloader */ +	$file_downloader = $phpbb_container->get('file_downloader'); + +	$file_data = $file_downloader->get($host, $directory, $filename, $port, $timeout); +	$errstr = $file_downloader->get_error_string(); +	$errno = $file_downloader->get_error_number(); + +	return $file_data; +} + +/** + * Add log entry + * + * @param	string	$mode				The mode defines which log_type is used and from which log the entry is retrieved + * @param	int		$forum_id			Mode 'mod' ONLY: forum id of the related item, NOT INCLUDED otherwise + * @param	int		$topic_id			Mode 'mod' ONLY: topic id of the related item, NOT INCLUDED otherwise + * @param	int		$reportee_id		Mode 'user' ONLY: user id of the reportee, NOT INCLUDED otherwise + * @param	string	$log_operation		Name of the operation + * @param	array	$additional_data	More arguments can be added, depending on the log_type + * + * @return	int|bool		Returns the log_id, if the entry was added to the database, false otherwise. + * + * @deprecated	3.1.0 (To be removed: 3.3.0) + */ +function add_log() +{ +	global $phpbb_log, $user; + +	$args = func_get_args(); +	$mode = array_shift($args); + +	// This looks kind of dirty, but add_log has some additional data before the log_operation +	$additional_data = array(); +	switch ($mode) +	{ +		case 'admin': +		case 'critical': +			break; +		case 'mod': +			$additional_data['forum_id'] = array_shift($args); +			$additional_data['topic_id'] = array_shift($args); +			break; +		case 'user': +			$additional_data['reportee_id'] = array_shift($args); +			break; +	} + +	$log_operation = array_shift($args); +	$additional_data = array_merge($additional_data, $args); + +	$user_id = (empty($user->data)) ? ANONYMOUS : $user->data['user_id']; +	$user_ip = (empty($user->ip)) ? '' : $user->ip; + +	return $phpbb_log->add($mode, $user_id, $user_ip, $log_operation, time(), $additional_data); +} + +/** + * Sets a configuration option's value. + * + * Please note that this function does not update the is_dynamic value for + * an already existing config option. + * + * @param string $config_name   The configuration option's name + * @param string $config_value  New configuration value + * @param bool   $is_dynamic    Whether this variable should be cached (false) or + *                              if it changes too frequently (true) to be + *                              efficiently cached. + * + * @return null + * + * @deprecated 3.1.0 (To be removed: 3.3.0) + */ +function set_config($config_name, $config_value, $is_dynamic = false, \phpbb\config\config $set_config = null) +{ +	static $config = null; + +	if ($set_config !== null) +	{ +		$config = $set_config; + +		if (empty($config_name)) +		{ +			return; +		} +	} + +	$config->set($config_name, $config_value, !$is_dynamic); +} + +/** + * Increments an integer config value directly in the database. + * + * @param string $config_name   The configuration option's name + * @param int    $increment     Amount to increment by + * @param bool   $is_dynamic    Whether this variable should be cached (false) or + *                              if it changes too frequently (true) to be + *                              efficiently cached. + * + * @return null + * + * @deprecated 3.1.0 (To be removed: 3.3.0) + */ +function set_config_count($config_name, $increment, $is_dynamic = false, \phpbb\config\config $set_config = null) +{ +	static $config = null; +	if ($set_config !== null) +	{ +		$config = $set_config; +		if (empty($config_name)) +		{ +			return; +		} +	} +	$config->increment($config_name, $increment, !$is_dynamic); +} + +/** + * Wrapper function of \phpbb\request\request::variable which exists for backwards compatability. + * See {@link \phpbb\request\request_interface::variable \phpbb\request\request_interface::variable} for + * documentation of this function's use. + * + * @deprecated 3.1.0 (To be removed: 3.3.0) + * @param	mixed			$var_name	The form variable's name from which data shall be retrieved. + * 										If the value is an array this may be an array of indizes which will give + * 										direct access to a value at any depth. E.g. if the value of "var" is array(1 => "a") + * 										then specifying array("var", 1) as the name will return "a". + * 										If you pass an instance of {@link \phpbb\request\request_interface phpbb_request_interface} + * 										as this parameter it will overwrite the current request class instance. If you do + * 										not do so, it will create its own instance (but leave superglobals enabled). + * @param	mixed			$default	A default value that is returned if the variable was not set. + * 										This function will always return a value of the same type as the default. + * @param	bool			$multibyte	If $default is a string this paramater has to be true if the variable may contain any UTF-8 characters + *										Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks + * @param	bool			$cookie		This param is mapped to \phpbb\request\request_interface::COOKIE as the last param for + * 										\phpbb\request\request_interface::variable for backwards compatability reasons. + * @param	\phpbb\request\request_interface|null|false	If an instance of \phpbb\request\request_interface is given the instance is stored in + *										a static variable and used for all further calls where this parameters is null. Until + *										the function is called with an instance it automatically creates a new \phpbb\request\request + *										instance on every call. By passing false this per-call instantiation can be restored + *										after having passed in a \phpbb\request\request_interface instance. + * + * @return	mixed	The value of $_REQUEST[$var_name] run through {@link set_var set_var} to ensure that the type is the + * 					the same as that of $default. If the variable is not set $default is returned. + */ +function request_var($var_name, $default, $multibyte = false, $cookie = false, $request = null) +{ +	// This is all just an ugly hack to add "Dependency Injection" to a function +	// the only real code is the function call which maps this function to a method. +	static $static_request = null; +	if ($request instanceof \phpbb\request\request_interface) +	{ +		$static_request = $request; +		if (empty($var_name)) +		{ +			return; +		} +	} +	else if ($request === false) +	{ +		$static_request = null; +		if (empty($var_name)) +		{ +			return; +		} +	} +	$tmp_request = $static_request; +	// no request class set, create a temporary one ourselves to keep backwards compatibility +	if ($tmp_request === null) +	{ +		// false param: enable super globals, so the created request class does not +		// make super globals inaccessible everywhere outside this function. +		$tmp_request = new \phpbb\request\request(new \phpbb\request\type_cast_helper(), false); +	} +	return $tmp_request->variable($var_name, $default, $multibyte, ($cookie) ? \phpbb\request\request_interface::COOKIE : \phpbb\request\request_interface::REQUEST); +} + +/** + * Get tables of a database + * + * @deprecated 3.1.0 (To be removed: 3.3.0) + */ +function get_tables(&$db) +{ +	$db_tools_factory = new \phpbb\db\tools\factory(); +	$db_tools = $db_tools_factory->get($db); + +	return $db_tools->sql_list_tables(); +} | 
