diff options
Diffstat (limited to 'phpBB/includes/acp')
| -rw-r--r-- | phpBB/includes/acp/acp_attachments.php | 20 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_board.php | 10 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_database.php | 206 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_forums.php | 7 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_groups.php | 17 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_inactive.php | 4 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_permissions.php | 6 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_profile.php | 4 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_update.php | 16 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_users.php | 6 | 
10 files changed, 166 insertions, 130 deletions
diff --git a/phpBB/includes/acp/acp_attachments.php b/phpBB/includes/acp/acp_attachments.php index 5b1db5c31b..94e3660de8 100644 --- a/phpBB/includes/acp/acp_attachments.php +++ b/phpBB/includes/acp/acp_attachments.php @@ -27,6 +27,9 @@ class acp_attachments  	/** @var \phpbb\config\config */  	protected $config; +	/** @var \phpbb\language\language */ +	protected $language; +  	/** @var ContainerBuilder */  	protected $phpbb_container; @@ -54,6 +57,7 @@ class acp_attachments  		$this->id = $id;  		$this->db = $db;  		$this->config = $config; +		$this->language = $phpbb_container->get('language');  		$this->template = $template;  		$this->user = $user;  		$this->phpbb_container = $phpbb_container; @@ -128,7 +132,7 @@ class acp_attachments  				$s_assigned_groups = array();  				while ($row = $db->sql_fetchrow($result))  				{ -					$row['group_name'] = (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name']; +					$row['group_name'] = $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) : $row['group_name'];  					$s_assigned_groups[$row['cat_id']][] = $row['group_name'];  				}  				$db->sql_freeresult($result); @@ -573,7 +577,7 @@ class acp_attachments  							$group_id = $db->sql_nextid();  						} -						$group_name = (isset($user->lang['EXT_GROUP_' . $group_name])) ? $user->lang['EXT_GROUP_' . $group_name] : $group_name; +						$group_name = $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($group_name)) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($group_name)) : $group_name;  						$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_ATTACH_EXTGROUP_' . strtoupper($action), false, array($group_name));  					} @@ -875,7 +879,7 @@ class acp_attachments  						'U_EDIT'		=> $this->u_action . "&action=edit&g={$row['group_id']}",  						'U_DELETE'		=> $this->u_action . "&action=delete&g={$row['group_id']}", -						'GROUP_NAME'	=> (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name'], +						'GROUP_NAME'	=> $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) : $row['group_name'],  						'CATEGORY'		=> $cat_lang[$row['cat_id']],  						)  					); @@ -1244,15 +1248,11 @@ class acp_attachments  						'ATTACHMENT_POSTER'	=> get_username_string('full', (int) $row['poster_id'], (string) $row['username'], (string) $row['user_colour'], (string) $row['username']),  						'FILESIZE'			=> get_formatted_filesize((int) $row['filesize']),  						'FILETIME'			=> $user->format_date((int) $row['filetime']), -						'REAL_FILENAME'		=> (!$row['in_message']) ? utf8_basename((string) $row['real_filename']) : '', -						'PHYSICAL_FILENAME'	=> utf8_basename((string) $row['physical_filename']), -						'EXT_GROUP_NAME'	=> (!empty($extensions[$row['extension']]['group_name'])) ? $user->lang['EXT_GROUP_' . $extensions[$row['extension']]['group_name']] : '', +						'REAL_FILENAME'		=> utf8_basename((string) $row['real_filename']), +						'EXT_GROUP_NAME'	=> $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($extensions[$row['extension']]['group_name'])) ?  $this->language->lang('EXT_GROUP_' . utf8_strtoupper($extensions[$row['extension']]['group_name'])) : $extensions[$row['extension']]['group_name'],  						'COMMENT'			=> $comment,  						'TOPIC_TITLE'		=> (!$row['in_message']) ? (string) $row['topic_title'] : '',  						'ATTACH_ID'			=> (int) $row['attach_id'], -						'POST_ID'			=> (int) $row['post_msg_id'], -						'TOPIC_ID'			=> (int) $row['topic_id'], -						'POST_IDS'			=> (!empty($post_ids[$row['attach_id']])) ? (int) $post_ids[$row['attach_id']] : '',  						'L_DOWNLOAD_COUNT'	=> $user->lang($l_downloaded_viewed, (int) $row['download_count']), @@ -1434,7 +1434,7 @@ class acp_attachments  		$group_name = array();  		while ($row = $db->sql_fetchrow($result))  		{ -			$row['group_name'] = (isset($user->lang['EXT_GROUP_' . $row['group_name']])) ? $user->lang['EXT_GROUP_' . $row['group_name']] : $row['group_name']; +			$row['group_name'] = $this->language->is_set('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) ? $this->language->lang('EXT_GROUP_' . utf8_strtoupper($row['group_name'])) : $row['group_name'];  			$group_name[] = $row;  		}  		$db->sql_freeresult($result); diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php index f89f5535eb..e348c769bd 100644 --- a/phpBB/includes/acp/acp_board.php +++ b/phpBB/includes/acp/acp_board.php @@ -30,10 +30,13 @@ class acp_board  	function main($id, $mode)  	{ -		global $user, $template, $request; +		global $user, $template, $request, $language;  		global $config, $phpbb_root_path, $phpEx;  		global $cache, $phpbb_container, $phpbb_dispatcher, $phpbb_log; +		/** @var \phpbb\language\language $language Language object */ +		$language = $phpbb_container->get('language'); +  		$user->add_lang('acp/board');  		$submit = (isset($_POST['submit']) || isset($_POST['allow_quick_reply_enable'])) ? true : false; @@ -56,7 +59,7 @@ class acp_board  						'legend1'				=> 'ACP_BOARD_SETTINGS',  						'sitename'				=> array('lang' => 'SITE_NAME',				'validate' => 'string',	'type' => 'text:40:255', 'explain' => false),  						'site_desc'				=> array('lang' => 'SITE_DESC',				'validate' => 'string',	'type' => 'text:40:255', 'explain' => false), -						'site_home_url'			=> array('lang' => 'SITE_HOME_URL',			'validate' => 'string',	'type' => 'url:40:255', 'explain' => true), +						'site_home_url'			=> array('lang' => 'SITE_HOME_URL',			'validate' => 'url',	'type' => 'url:40:255', 'explain' => true),  						'site_home_text'		=> array('lang' => 'SITE_HOME_TEXT',		'validate' => 'string',	'type' => 'text:40:255', 'explain' => true),  						'board_index_text'		=> array('lang' => 'BOARD_INDEX_TEXT',		'validate' => 'string',	'type' => 'text:40:255', 'explain' => true),  						'board_disable'			=> array('lang' => 'DISABLE_BOARD',			'validate' => 'bool',	'type' => 'custom', 'method' => 'board_disable', 'explain' => true), @@ -122,6 +125,7 @@ class acp_board  				$avatar_vars = array();  				foreach ($avatar_drivers as $current_driver)  				{ +					/** @var \phpbb\avatar\driver\driver_interface $driver */  					$driver = $phpbb_avatar_manager->get_driver($current_driver, false);  					/* @@ -730,7 +734,7 @@ class acp_board  			$template->assign_block_vars('options', array(  				'KEY'			=> $config_key,  				'TITLE'			=> (isset($user->lang[$vars['lang']])) ? $user->lang[$vars['lang']] : $vars['lang'], -				'S_EXPLAIN'		=> $vars['explain'], +				'S_EXPLAIN'		=> $vars['explain'] && !empty($l_explain),  				'TITLE_EXPLAIN'	=> $l_explain,  				'CONTENT'		=> $content,  				) diff --git a/phpBB/includes/acp/acp_database.php b/phpBB/includes/acp/acp_database.php index 19c4f6e4f1..c33c2e4d6f 100644 --- a/phpBB/includes/acp/acp_database.php +++ b/phpBB/includes/acp/acp_database.php @@ -23,6 +23,7 @@ class acp_database  {  	var $db_tools;  	var $u_action; +	public $page_title;  	function main($id, $mode)  	{ @@ -69,18 +70,13 @@ class acp_database  							trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);  						} -						$store = $download = $structure = $schema_data = false; +						$store = $structure = $schema_data = false; -						if ($where == 'store_and_download' || $where == 'store') +						if ($where == 'store')  						{  							$store = true;  						} -						if ($where == 'store_and_download' || $where == 'download') -						{ -							$download = true; -						} -  						if ($type == 'full' || $type == 'structure')  						{  							$structure = true; @@ -98,8 +94,9 @@ class acp_database  						$filename = 'backup_' . $time . '_' . unique_id(); +						/** @var phpbb\db\extractor\extractor_interface $extractor Database extractor */  						$extractor = $phpbb_container->get('dbal.extractor'); -						$extractor->init_extractor($format, $filename, $time, $download, $store); +						$extractor->init_extractor($format, $filename, $time, false, $store);  						$extractor->write_start($table_prefix); @@ -145,11 +142,6 @@ class acp_database  						$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_DB_BACKUP'); -						if ($download == true) -						{ -							exit; -						} -  						trigger_error($user->lang['BACKUP_SUCCESS'] . adm_back_link($this->u_action));  					break; @@ -201,16 +193,10 @@ class acp_database  					case 'submit':  						$delete = $request->variable('delete', '');  						$file = $request->variable('file', ''); -						$download = $request->variable('download', ''); -						if (!preg_match('#^backup_\d{10,}_(?:[a-z\d]{16}|[a-z\d]{32})\.(sql(?:\.(?:gz|bz2))?)$#i', $file, $matches)) -						{ -							trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); -						} +						$backup_info = $this->get_backup_file($phpbb_root_path . 'store/', $file); -						$file_name = $phpbb_root_path . 'store/' . $matches[0]; - -						if (!file_exists($file_name) || !is_readable($file_name)) +						if (empty($backup_info) || !is_readable($backup_info['file_name']))  						{  							trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);  						} @@ -219,7 +205,7 @@ class acp_database  						{  							if (confirm_box(true))  							{ -								unlink($file_name); +								unlink($backup_info['file_name']);  								$phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_DB_DELETE');  								trigger_error($user->lang['BACKUP_DELETE'] . adm_back_link($this->u_action));  							} @@ -228,50 +214,12 @@ class acp_database  								confirm_box(false, $user->lang['DELETE_SELECTED_BACKUP'], build_hidden_fields(array('delete' => $delete, 'file' => $file)));  							}  						} -						else if ($download || confirm_box(true)) +						else if (confirm_box(true))  						{ -							if ($download) -							{ -								$name = $matches[0]; - -								switch ($matches[1]) -								{ -									case 'sql': -										$mimetype = 'text/x-sql'; -									break; -									case 'sql.bz2': -										$mimetype = 'application/x-bzip2'; -									break; -									case 'sql.gz': -										$mimetype = 'application/x-gzip'; -									break; -								} - -								header('Cache-Control: private, no-cache'); -								header("Content-Type: $mimetype; name=\"$name\""); -								header("Content-disposition: attachment; filename=$name"); - -								@set_time_limit(0); - -								$fp = @fopen($file_name, 'rb'); - -								if ($fp !== false) -								{ -									while (!feof($fp)) -									{ -										echo fread($fp, 8192); -									} -									fclose($fp); -								} - -								flush(); -								exit; -							} - -							switch ($matches[1]) +							switch ($backup_info['extension'])  							{  								case 'sql': -									$fp = fopen($file_name, 'rb'); +									$fp = fopen($backup_info['file_name'], 'rb');  									$read = 'fread';  									$seek = 'fseek';  									$eof = 'feof'; @@ -280,7 +228,7 @@ class acp_database  								break;  								case 'sql.bz2': -									$fp = bzopen($file_name, 'r'); +									$fp = bzopen($backup_info['file_name'], 'r');  									$read = 'bzread';  									$seek = '';  									$eof = 'feof'; @@ -289,13 +237,17 @@ class acp_database  								break;  								case 'sql.gz': -									$fp = gzopen($file_name, 'rb'); +									$fp = gzopen($backup_info['file_name'], 'rb');  									$read = 'gzread';  									$seek = 'gzseek';  									$eof = 'gzeof';  									$close = 'gzclose';  									$fgetd = 'fgetd';  								break; + +								default: +									trigger_error($user->lang['BACKUP_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING); +									return;  							}  							switch ($db->get_sql_layer()) @@ -375,43 +327,13 @@ class acp_database  							trigger_error($user->lang['RESTORE_SUCCESS'] . adm_back_link($this->u_action));  							break;  						} -						else if (!$download) +						else  						{  							confirm_box(false, $user->lang['RESTORE_SELECTED_BACKUP'], build_hidden_fields(array('file' => $file)));  						}  					default: -						$methods = array('sql'); -						$available_methods = array('sql.gz' => 'zlib', 'sql.bz2' => 'bz2'); - -						foreach ($available_methods as $type => $module) -						{ -							if (!@extension_loaded($module)) -							{ -								continue; -							} -							$methods[] = $type; -						} - -						$dir = $phpbb_root_path . 'store/'; -						$dh = @opendir($dir); - -						$backup_files = array(); - -						if ($dh) -						{ -							while (($file = readdir($dh)) !== false) -							{ -								if (preg_match('#^backup_(\d{10,})_(?:[a-z\d]{16}|[a-z\d]{32})\.(sql(?:\.(?:gz|bz2))?)$#i', $file, $matches)) -								{ -									if (in_array($matches[2], $methods)) -									{ -										$backup_files[(int) $matches[1]] = $file; -									} -								} -							} -							closedir($dh); -						} +						$backup_files = $this->get_file_list($phpbb_root_path . 'store/');  						if (!empty($backup_files))  						{ @@ -420,8 +342,8 @@ class acp_database  							foreach ($backup_files as $name => $file)  							{  								$template->assign_block_vars('files', array( -									'FILE'		=> $file, -									'NAME'		=> $user->format_date($name, 'd-m-Y H:i:s', true), +									'FILE'		=> sha1($file), +									'NAME'		=> $user->format_date($name, 'd-m-Y H:i', true),  									'SUPPORTED'	=> true,  								));  							} @@ -435,6 +357,92 @@ class acp_database  			break;  		}  	} + +	/** +	 * Get backup file from file hash +	 * +	 * @param string $directory Relative path to directory +	 * @param string $file_hash Hash of selected file +	 * +	 * @return array Backup file data or empty array if unable to find file +	 */ +	protected function get_backup_file($directory, $file_hash) +	{ +		$backup_data = []; + +		$file_list = $this->get_file_list($directory); +		$supported_extensions = $this->get_supported_extensions(); + +		foreach ($file_list as $file) +		{ +			preg_match('#^backup_(\d{10,})_(?:[a-z\d]{16}|[a-z\d]{32})\.(sql(?:\.(?:gz|bz2))?)$#i', $file, $matches); +			if (sha1($file) === $file_hash && in_array($matches[2], $supported_extensions)) +			{ +				$backup_data = [ +					'file_name' => $directory . $file, +					'extension' => $matches[2], +				]; +				break; +			} +		} + +		return $backup_data; +	} + +	/** +	 * Get backup file list for directory +	 * +	 * @param string $directory Relative path to backup directory +	 * +	 * @return array List of backup files in specified directory +	 */ +	protected function get_file_list($directory) +	{ +		$supported_extensions = $this->get_supported_extensions(); + +		$dh = @opendir($directory); + +		$backup_files = []; + +		if ($dh) +		{ +			while (($file = readdir($dh)) !== false) +			{ +				if (preg_match('#^backup_(\d{10,})_(?:[a-z\d]{16}|[a-z\d]{32})\.(sql(?:\.(?:gz|bz2))?)$#i', $file, $matches)) +				{ +					if (in_array($matches[2], $supported_extensions)) +					{ +						$backup_files[(int) $matches[1]] = $file; +					} +				} +			} +			closedir($dh); +		} + +		return $backup_files; +	} + +	/** +	 * Get supported extensions for backup +	 * +	 * @return array List of supported extensions +	 */ +	protected function get_supported_extensions() +	{ +		$extensions = ['sql']; +		$available_methods = ['sql.gz' => 'zlib', 'sql.bz2' => 'bz2']; + +		foreach ($available_methods as $type => $module) +		{ +			if (!@extension_loaded($module)) +			{ +				continue; +			} +			$extensions[] = $type; +		} + +		return $extensions; +	}  }  // get how much space we allow for a chunk of data, very similar to phpMyAdmin's way of doing things ;-) (hey, we only do this for MySQL anyway :P) diff --git a/phpBB/includes/acp/acp_forums.php b/phpBB/includes/acp/acp_forums.php index be5a7a2f26..cb0593b14a 100644 --- a/phpBB/includes/acp/acp_forums.php +++ b/phpBB/includes/acp/acp_forums.php @@ -986,6 +986,13 @@ class acp_forums  			$errors[] = $user->lang['FORUM_NAME_EMPTY'];  		} +		// No Emojis +		if (preg_match_all('/[\x{10000}-\x{10FFFF}]/u', $forum_data_ary['forum_name'], $matches)) +		{ +			$character_list = implode('<br>', $matches[0]); +			$errors[] = $user->lang('FORUM_NAME_EMOJI', $character_list); +		} +  		if (utf8_strlen($forum_data_ary['forum_desc']) > 4000)  		{  			$errors[] = $user->lang['FORUM_DESC_TOO_LONG']; diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index 0e058213e0..7b1dc706db 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -29,6 +29,9 @@ class acp_groups  		global $phpbb_root_path, $phpbb_admin_path, $phpEx;  		global $request, $phpbb_container, $phpbb_dispatcher; +		/** @var \phpbb\language\language $language Language object */ +		$language = $phpbb_container->get('language'); +  		$user->add_lang('acp/groups');  		$this->tpl_name = 'acp_groups';  		$this->page_title = 'ACP_GROUPS_MANAGE'; @@ -293,7 +296,19 @@ class acp_groups  				// Add user/s to group  				if ($error = group_user_add($group_id, false, $name_ary, $group_name, $default, $leader, 0, $group_row))  				{ -					trigger_error($user->lang[$error] . adm_back_link($this->u_action . '&action=list&g=' . $group_id), E_USER_WARNING); +					$display_message = $language->lang($error); + +					if ($error == 'GROUP_USERS_INVALID') +					{ +						// Find which users don't exist +						$actual_name_ary = $name_ary; +						$actual_user_id_ary = []; +						user_get_id_name($actual_user_id_ary, $actual_name_ary, false, true); + +						$display_message = $language->lang('GROUP_USERS_INVALID', implode($language->lang('COMMA_SEPARATOR'), array_udiff($name_ary, $actual_name_ary, 'strcasecmp'))); +					} + +					trigger_error($display_message . adm_back_link($this->u_action . '&action=list&g=' . $group_id), E_USER_WARNING);  				}  				$message = ($leader) ? 'GROUP_MODS_ADDED' : 'GROUP_USERS_ADDED'; diff --git a/phpBB/includes/acp/acp_inactive.php b/phpBB/includes/acp/acp_inactive.php index 66f0d2116c..4ee4cd4816 100644 --- a/phpBB/includes/acp/acp_inactive.php +++ b/phpBB/includes/acp/acp_inactive.php @@ -24,9 +24,9 @@ class acp_inactive  	var $u_action;  	var $p_master; -	function __construct(&$p_master) +	function __construct($p_master)  	{ -		$this->p_master = &$p_master; +		$this->p_master = $p_master;  	}  	function main($id, $mode) diff --git a/phpBB/includes/acp/acp_permissions.php b/phpBB/includes/acp/acp_permissions.php index 8e05b95849..e683b1972e 100644 --- a/phpBB/includes/acp/acp_permissions.php +++ b/phpBB/includes/acp/acp_permissions.php @@ -676,7 +676,7 @@ class acp_permissions  	/**  	* Apply permissions  	*/ -	function set_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id) +	function set_permissions($mode, $permission_type, $auth_admin, &$user_id, &$group_id)  	{  		global $db, $cache, $user, $auth;  		global $request; @@ -765,7 +765,7 @@ class acp_permissions  	/**  	* Apply all permissions  	*/ -	function set_all_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id) +	function set_all_permissions($mode, $permission_type, $auth_admin, &$user_id, &$group_id)  	{  		global $db, $cache, $user, $auth;  		global $request; @@ -881,7 +881,7 @@ class acp_permissions  	/**  	* Remove permissions  	*/ -	function remove_permissions($mode, $permission_type, &$auth_admin, &$user_id, &$group_id, &$forum_id) +	function remove_permissions($mode, $permission_type, $auth_admin, &$user_id, &$group_id, &$forum_id)  	{  		global $user, $db, $cache, $auth; diff --git a/phpBB/includes/acp/acp_profile.php b/phpBB/includes/acp/acp_profile.php index d89c200a1b..49da7d84a4 100644 --- a/phpBB/includes/acp/acp_profile.php +++ b/phpBB/includes/acp/acp_profile.php @@ -845,7 +845,7 @@ class acp_profile  	/**  	* Build all Language specific options  	*/ -	function build_language_options(&$cp, $field_type, $action = 'create') +	function build_language_options($cp, $field_type, $action = 'create')  	{  		global $user, $config, $db, $request; @@ -942,7 +942,7 @@ class acp_profile  	/**  	* Save Profile Field  	*/ -	function save_profile_field(&$cp, $field_type, $action = 'create') +	function save_profile_field($cp, $field_type, $action = 'create')  	{  		global $db, $config, $user, $phpbb_container, $phpbb_log, $request, $phpbb_dispatcher; diff --git a/phpBB/includes/acp/acp_update.php b/phpBB/includes/acp/acp_update.php index 9124a59ef2..fa3afa6ce3 100644 --- a/phpBB/includes/acp/acp_update.php +++ b/phpBB/includes/acp/acp_update.php @@ -59,17 +59,19 @@ class acp_update  		$update_link = $phpbb_root_path . 'install/app.' . $phpEx; -		$template->assign_vars(array( -			'S_UP_TO_DATE'			=> empty($updates_available), -			'U_ACTION'				=> $this->u_action, -			'U_VERSIONCHECK_FORCE'	=> append_sid($this->u_action . '&versioncheck_force=1'), +		$template_ary = [ +			'S_UP_TO_DATE'				=> empty($updates_available), +			'U_ACTION'					=> $this->u_action, +			'U_VERSIONCHECK_FORCE'		=> append_sid($this->u_action . '&versioncheck_force=1'), -			'CURRENT_VERSION'		=> $config['version'], +			'CURRENT_VERSION'			=> $config['version'], -			'UPDATE_INSTRUCTIONS'	=> sprintf($user->lang['UPDATE_INSTRUCTIONS'], $update_link), +			'UPDATE_INSTRUCTIONS'		=> $user->lang('UPDATE_INSTRUCTIONS', $update_link),  			'S_VERSION_UPGRADEABLE'		=> !empty($upgrades_available),  			'UPGRADE_INSTRUCTIONS'		=> !empty($upgrades_available) ? $user->lang('UPGRADE_INSTRUCTIONS', $upgrades_available['current'], $upgrades_available['announcement']) : false, -		)); +		]; + +		$template->assign_vars($template_ary);  		// Incomplete update?  		if (phpbb_version_compare($config['version'], PHPBB_VERSION, '<')) diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index b74fe535ee..fd4b5e8c24 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -24,9 +24,9 @@ class acp_users  	var $u_action;  	var $p_master; -	function __construct(&$p_master) +	function __construct($p_master)  	{ -		$this->p_master = &$p_master; +		$this->p_master = $p_master;  	}  	function main($id, $mode) @@ -855,7 +855,7 @@ class acp_users  						$check_ary += array(  							'username'			=> array(  								array('string', false, $config['min_name_chars'], $config['max_name_chars']), -								array('username', $user_row['username']) +								array('username', $user_row['username'], true)  							),  						);  					}  | 
