diff options
Diffstat (limited to 'phpBB/includes/acp/acp_update.php')
| -rw-r--r-- | phpBB/includes/acp/acp_update.php | 76 | 
1 files changed, 26 insertions, 50 deletions
| diff --git a/phpBB/includes/acp/acp_update.php b/phpBB/includes/acp/acp_update.php index 5d3e9abcea..0167a06dbb 100644 --- a/phpBB/includes/acp/acp_update.php +++ b/phpBB/includes/acp/acp_update.php @@ -1,10 +1,13 @@  <?php  /**  * -* @package acp -* @version $Id$ -* @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file.  *  */ @@ -16,75 +19,48 @@ if (!defined('IN_PHPBB'))  	exit;  } -/** -* @package acp -*/  class acp_update  {  	var $u_action;  	function main($id, $mode)  	{ -		global $config, $db, $user, $auth, $template, $cache; -		global $phpbb_root_path, $phpbb_admin_path, $phpEx; +		global $config, $user, $template, $request; +		global $phpbb_root_path, $phpEx, $phpbb_container;  		$user->add_lang('install');  		$this->tpl_name = 'acp_update';  		$this->page_title = 'ACP_VERSION_CHECK'; -		// Get current and latest version -		$errstr = ''; -		$errno = 0; - -		$info = obtain_latest_version_info(request_var('versioncheck_force', false)); - -		if (empty($info)) +		$version_helper = $phpbb_container->get('version_helper'); +		try  		{ -			trigger_error('VERSIONCHECK_FAIL', E_USER_WARNING); +			$recheck = $request->variable('versioncheck_force', false); +			$updates_available = $version_helper->get_suggested_updates($recheck);  		} +		catch (\RuntimeException $e) +		{ +			$template->assign_var('S_VERSIONCHECK_FAIL', true); -		$info = explode("\n", $info); -		$latest_version = trim($info[0]); - -		$announcement_url = trim($info[1]); -		$announcement_url = (strpos($announcement_url, '&') === false) ? str_replace('&', '&', $announcement_url) : $announcement_url; -		$update_link = append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=update'); +			$updates_available = array(); +		} -		// next feature release -		$next_feature_version = $next_feature_announcement_url = false; -		if (isset($info[2]) && trim($info[2]) !== '') +		foreach ($updates_available as $branch => $version_data)  		{ -			$next_feature_version = trim($info[2]); -			$next_feature_announcement_url = trim($info[3]); +			$template->assign_block_vars('updates_available', $version_data);  		} -		// Determine automatic update... -		$sql = 'SELECT config_value -			FROM ' . CONFIG_TABLE . " -			WHERE config_name = 'version_update_from'"; -		$result = $db->sql_query($sql); -		$version_update_from = (string) $db->sql_fetchfield('config_value'); -		$db->sql_freeresult($result); - -		$current_version = (!empty($version_update_from)) ? $version_update_from : $config['version']; +		$update_link = append_sid($phpbb_root_path . 'install/index.' . $phpEx, 'mode=update');  		$template->assign_vars(array( -			'S_UP_TO_DATE'		=> phpbb_version_compare($latest_version, $config['version'], '<='), -			'S_UP_TO_DATE_AUTO'	=> phpbb_version_compare($latest_version, $current_version, '<='), -			'S_VERSION_CHECK'	=> true, -			'U_ACTION'			=> $this->u_action, -			'U_VERSIONCHECK_FORCE' => append_sid($this->u_action . '&versioncheck_force=1'), +			'S_UP_TO_DATE'			=> empty($updates_available), +			'U_ACTION'				=> $this->u_action, +			'U_VERSIONCHECK_FORCE'	=> append_sid($this->u_action . '&versioncheck_force=1'), -			'LATEST_VERSION'	=> $latest_version, -			'CURRENT_VERSION'	=> $config['version'], -			'AUTO_VERSION'		=> $version_update_from, -			'NEXT_FEATURE_VERSION'	=> $next_feature_version, +			'CURRENT_VERSION'		=> $config['version'], -			'UPDATE_INSTRUCTIONS'	=> sprintf($user->lang['UPDATE_INSTRUCTIONS'], $announcement_url, $update_link), -			'UPGRADE_INSTRUCTIONS'	=> $next_feature_version ? $user->lang('UPGRADE_INSTRUCTIONS', $next_feature_version, $next_feature_announcement_url) : false, +			'UPDATE_INSTRUCTIONS'	=> sprintf($user->lang['UPDATE_INSTRUCTIONS'], $update_link),  		));  	}  } - -?>
\ No newline at end of file | 
