* @license https://files.froxlor.org/misc/COPYING.txt GPLv2 */ use Froxlor\Froxlor; use Froxlor\FileDir; use Froxlor\FroxlorLogger; use Froxlor\Settings; use Froxlor\UI\Response; use Froxlor\Database\IntegrityCheck; use Froxlor\Install\Update; if (!defined('_CRON_UPDATE')) { if (!defined('AREA') || (defined('AREA') && AREA != 'admin') || !isset($userinfo['loginname']) || (isset($userinfo['loginname']) && $userinfo['loginname'] == '')) { header('Location: ../index.php'); exit(); } } $filelog = FroxlorLogger::getInstanceOf(array( 'loginname' => 'updater' )); // if first writing does not work we'll stop, tell the user to fix it // and then let him try again. try { $filelog->logAction(FroxlorLogger::ADM_ACTION, LOG_WARNING, '-------------- START LOG --------------'); } catch (Exception $e) { Response::standardError('exception', $e->getMessage()); } if (Froxlor::isFroxlor()) { include_once(FileDir::makeCorrectFile(dirname(__FILE__) . '/updates/froxlor/update_0.10.inc.php')); include_once(FileDir::makeCorrectFile(dirname(__FILE__) . '/updates/froxlor/update_2.0.inc.php')); include_once(FileDir::makeCorrectFile(dirname(__FILE__) . '/updates/froxlor/update_2.1.inc.php')); include_once(FileDir::makeCorrectFile(dirname(__FILE__) . '/updates/froxlor/update_2.2.inc.php')); // Check Froxlor - database integrity (only happens after all updates are done, so we know the db-layout is okay) Update::showUpdateStep("Checking database integrity"); $integrity = new IntegrityCheck(); if (!$integrity->checkAll()) { Update::lastStepStatus(1, 'Integrity could not be validated'); Update::showUpdateStep("Trying to automatically restore integrity"); if (!$integrity->fixAll()) { Update::lastStepStatus(2, 'failed', 'Check "database validation" as admin on the left-side menu to see where the problem is'); } else { Update::lastStepStatus(0, 'Integrity restored'); } } else { Update::lastStepStatus(0); } // reset cached version check Settings::Set('system.updatecheck_data', ''); $filelog->logAction(FroxlorLogger::ADM_ACTION, LOG_WARNING, '--------------- END LOG ---------------'); unset($filelog); }