public function processing() { $oController = new BxDolUpgradeController(); if ($oController->setMaintenanceMode(true)) { // if upgrade was successful if (($sFolder = $oController->getAvailableUpgrade()) && $oController->runUpgrade($sFolder)) { // write upgrade log $oController->writeLog(); // send email notification bx_import('BxDolLanguages'); sendMailTemplateSystem('t_UpgradeSuccess', array('new_version' => bx_get_ver(true), 'conclusion' => $oController->getConclusion() ? _t('_sys_upgrade_conclusion', $oController->getConclusion()) : '')); // if next upgrade is available (in case of bulk upgrade) then schedule to run it upon next cron run $sUpgradeDir = pathinfo(__FILE__, PATHINFO_DIRNAME); if ($oController->getAvailableUpgrade()) { $oUpgrader = bx_instance('BxDolUpgrader'); $oUpgrader->setTransientUpgradeCronJob($sUpgradeDir); } elseif (0 === strpos($sUpgradeDir, BX_DIRECTORY_PATH_TMP)) { @bx_rrmdir($sUpgradeDir); } } $oController->setMaintenanceMode(false); } // if something went grong during upgrade if ($sErrorMsg = $oController->getErrorMsg()) { // write upgrade log $oController->writeLog(); // send email notification sendMailTemplateSystem('t_UpgradeFailed', array('error_msg' => $sErrorMsg)); // disable auto-upgrade if it is failed setParam('sys_autoupdate_system', ''); } }