dont try to register background jobs if we haven't upgraded yet

This commit is contained in:
Robin Appelman 2013-12-13 13:30:29 +01:00 committed by Vincent Petry
parent c0edb639ed
commit 4c45c6f418
2 changed files with 51 additions and 46 deletions

View File

@ -176,7 +176,8 @@ class OC {
public static function checkConfig() { public static function checkConfig() {
if (file_exists(OC::$SERVERROOT . "/config/config.php") if (file_exists(OC::$SERVERROOT . "/config/config.php")
and !is_writable(OC::$SERVERROOT . "/config/config.php")) { and !is_writable(OC::$SERVERROOT . "/config/config.php")
) {
$defaults = new OC_Defaults(); $defaults = new OC_Defaults();
if (self::$CLI) { if (self::$CLI) {
echo "Can't write into config directory!\n"; echo "Can't write into config directory!\n";
@ -254,11 +255,23 @@ class OC {
} }
} }
public static function checkUpgrade($showTemplate = true) { /**
* check if the instance needs to preform an upgrade
*
* @return bool
*/
public static function needUpgrade() {
if (OC_Config::getValue('installed', false)) { if (OC_Config::getValue('installed', false)) {
$installedVersion = OC_Config::getValue('version', '0.0.0'); $installedVersion = OC_Config::getValue('version', '0.0.0');
$currentVersion = implode('.', OC_Util::getVersion()); $currentVersion = implode('.', OC_Util::getVersion());
if (version_compare($currentVersion, $installedVersion, '>')) { return version_compare($currentVersion, $installedVersion, '>');
} else {
return false;
}
}
public static function checkUpgrade($showTemplate = true) {
if (self::needUpgrade()) {
if ($showTemplate && !OC_Config::getValue('maintenance', false)) { if ($showTemplate && !OC_Config::getValue('maintenance', false)) {
OC_Config::setValue('theme', ''); OC_Config::setValue('theme', '');
$minimizerCSS = new OC_Minimizer_CSS(); $minimizerCSS = new OC_Minimizer_CSS();
@ -277,7 +290,6 @@ class OC {
} }
return false; return false;
} }
}
public static function initTemplateEngine() { public static function initTemplateEngine() {
// Add the stuff we need always // Add the stuff we need always
@ -602,13 +614,9 @@ class OC {
* register hooks for the cache * register hooks for the cache
*/ */
public static function registerCacheHooks() { public static function registerCacheHooks() {
if (OC_Config::getValue('installed', false)) { //don't try to do this before we are properly setup if (OC_Config::getValue('installed', false) && !self::needUpgrade()) { //don't try to do this before we are properly setup
// register cache cleanup jobs
try { //if this is executed before the upgrade to the new backgroundjob system is completed it will throw an exception
\OCP\BackgroundJob::registerJob('OC\Cache\FileGlobalGC'); \OCP\BackgroundJob::registerJob('OC\Cache\FileGlobalGC');
} catch (Exception $e) {
}
// NOTE: This will be replaced to use OCP // NOTE: This will be replaced to use OCP
$userSession = \OC_User::getUserSession(); $userSession = \OC_User::getUserSession();
$userSession->listen('postLogin', '\OC\Cache\File', 'loginListener'); $userSession->listen('postLogin', '\OC\Cache\File', 'loginListener');
@ -619,14 +627,9 @@ class OC {
* register hooks for the cache * register hooks for the cache
*/ */
public static function registerLogRotate() { public static function registerLogRotate() {
if (OC_Config::getValue('installed', false) && OC_Config::getValue('log_rotate_size', false)) { if (OC_Config::getValue('installed', false) && OC_Config::getValue('log_rotate_size', false) && !self::needUpgrade()) {
//don't try to do this before we are properly setup //don't try to do this before we are properly setup
// register cache cleanup jobs
try { //if this is executed before the upgrade to the new backgroundjob system is completed it will throw an exception
\OCP\BackgroundJob::registerJob('OC\Log\Rotate', OC_Config::getValue("datadirectory", OC::$SERVERROOT . '/data') . '/owncloud.log'); \OCP\BackgroundJob::registerJob('OC\Log\Rotate', OC_Config::getValue("datadirectory", OC::$SERVERROOT . '/data') . '/owncloud.log');
} catch (Exception $e) {
}
} }
} }
@ -794,12 +797,10 @@ class OC {
// auth possible via apache module? // auth possible via apache module?
if (OC::tryApacheAuth()) { if (OC::tryApacheAuth()) {
$error[] = 'apacheauthfailed'; $error[] = 'apacheauthfailed';
} } // remember was checked after last login
// remember was checked after last login
elseif (OC::tryRememberLogin()) { elseif (OC::tryRememberLogin()) {
$error[] = 'invalidcookie'; $error[] = 'invalidcookie';
} } // logon via web form
// logon via web form
elseif (OC::tryFormLogin()) { elseif (OC::tryFormLogin()) {
$error[] = 'invalidpassword'; $error[] = 'invalidpassword';
if ( OC_Config::getValue('log_authfailip', false) ) { if ( OC_Config::getValue('log_authfailip', false) ) {

View File

@ -45,6 +45,7 @@ use \OC\BackgroundJob\JobList;
class BackgroundJob { class BackgroundJob {
/** /**
* get the execution type of background jobs * get the execution type of background jobs
*
* @return string * @return string
* *
* This method returns the type how background jobs are executed. If the user * This method returns the type how background jobs are executed. If the user
@ -56,6 +57,7 @@ class BackgroundJob {
/** /**
* sets the background jobs execution type * sets the background jobs execution type
*
* @param string $type execution type * @param string $type execution type
* @return boolean * @return boolean
* *
@ -83,9 +85,11 @@ class BackgroundJob {
* @return true * @return true
*/ */
public static function addRegularTask($klass, $method) { public static function addRegularTask($klass, $method) {
if (!\OC::needUpgrade()) {
self::registerJob('OC\BackgroundJob\Legacy\RegularJob', array($klass, $method)); self::registerJob('OC\BackgroundJob\Legacy\RegularJob', array($klass, $method));
return true; return true;
} }
}
/** /**
* @deprecated * @deprecated