(2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Panel * */ define('AREA', 'admin'); require './lib/init.php'; use Froxlor\Database\Database; use Froxlor\Settings; if ($page == 'overview') { $log->logAction(\Froxlor\FroxlorLogger::ADM_ACTION, LOG_NOTICE, "viewed admin_updates"); /** * this is a dirty hack but syscp 1.4.2.1 does not * have any version/dbversion in the database (don't know why) * so we have to set them both to run a correct upgrade */ if (! \Froxlor\Froxlor::isFroxlor()) { if (Settings::Get('panel.version') == null || Settings::Get('panel.version') == '') { Settings::Set('panel.version', '1.4.2.1'); } if (Settings::Get('system.dbversion') == null || Settings::Get('system.dbversion') == '') { /** * for syscp-stable (1.4.2.1) this value has to be 0 * so the required table-fields are added correctly * and the svn-version has its value in the database * -> bug #54 */ $result_stmt = Database::query(" SELECT `value` FROM `" . TABLE_PANEL_SETTINGS . "` WHERE `varname` = 'dbversion'"); $result = $result_stmt->fetch(PDO::FETCH_ASSOC); if (isset($result['value'])) { Settings::Set('system.dbversion', (int) $result['value'], false); } else { Settings::Set('system.dbversion', 0, false); } } } if (\Froxlor\Froxlor::hasDbUpdates() || \Froxlor\Froxlor::hasUpdates()) { $successful_update = false; $message = ''; if (isset($_POST['send']) && $_POST['send'] == 'send') { if ((isset($_POST['update_preconfig']) && isset($_POST['update_changesagreed']) && intval($_POST['update_changesagreed']) != 0) || ! isset($_POST['update_preconfig'])) { eval("echo \"" . \Froxlor\UI\Template::getTemplate('update/update_start') . "\";"); include_once \Froxlor\Froxlor::getInstallDir() . 'install/updatesql.php'; $redirect_url = 'admin_index.php?s=' . $s; eval("echo \"" . \Froxlor\UI\Template::getTemplate('update/update_end') . "\";"); \Froxlor\User::updateCounters(); \Froxlor\System\Cronjob::inserttask(\Froxlor\Cron\TaskId::REBUILD_VHOST); @chmod(\Froxlor\Froxlor::getInstallDir() . '/lib/userdata.inc.php', 0440); $successful_update = true; } else { $message = '
You have to agree that you have read the update notifications.'; } } if (! $successful_update) { $current_version = Settings::Get('panel.version'); $current_db_version = Settings::Get('panel.db_version'); if (empty($current_db_version)) { $current_db_version = "0"; } $new_version = $version; $new_db_version = $dbversion; $ui_text = $lng['update']['update_information']['part_a']; if ($version != $current_version) { $ui_text = str_replace('%curversion', $current_version, $ui_text); $ui_text = str_replace('%newversion', $new_version, $ui_text); } else { // show db version $ui_text = str_replace('%curversion', $current_db_version, $ui_text); $ui_text = str_replace('%newversion', $new_db_version, $ui_text); } $update_information = $ui_text; include_once \Froxlor\Froxlor::getInstallDir() . '/install/updates/preconfig.php'; $preconfig = getPreConfig($current_version, $current_db_version); if ($preconfig != '') { $update_information .= '
' . $preconfig . $message; } $update_information .= $lng['update']['update_information']['part_b']; eval("echo \"" . \Froxlor\UI\Template::getTemplate('update/index') . "\";"); } } else { $success_message = $lng['update']['noupdatesavail']; $redirect_url = 'admin_index.php?s=' . $s; eval("echo \"" . \Froxlor\UI\Template::getTemplate('update/noupdatesavail') . "\";"); } }