[Pkg-owncloud-commits] [owncloud] 20/32: dont try to register background jobs if we haven't upgraded yet

David Prévot taffit at moszumanska.debian.org
Sun Dec 15 01:47:33 UTC 2013


This is an automated email from the git hooks/post-receive script.

taffit pushed a commit to branch master
in repository owncloud.

commit 0a0d89296bc8e69ddedc9e4c1d77cbc275fb3ce6
Author: Robin Appelman <icewind at owncloud.com>
Date:   Fri Dec 13 13:30:29 2013 +0100

    dont try to register background jobs if we haven't upgraded yet
---
 lib/base.php                 | 89 ++++++++++++++++++++++----------------------
 lib/public/backgroundjob.php |  8 +++-
 2 files changed, 51 insertions(+), 46 deletions(-)

diff --git a/lib/base.php b/lib/base.php
index d361b77..d3e483f 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -131,8 +131,8 @@ class OC {
 			OC::$THIRDPARTYROOT = rtrim(dirname(OC::$SERVERROOT), '/');
 		} else {
 			throw new Exception('3rdparty directory not found! Please put the ownCloud 3rdparty'
-				.' folder in the ownCloud folder or the folder above.'
-				.' You can also configure the location in the config.php file.');
+				. ' folder in the ownCloud folder or the folder above.'
+				. ' You can also configure the location in the config.php file.');
 		}
 		// search the apps folder
 		$config_paths = OC_Config::getValue('apps_paths', array());
@@ -156,7 +156,7 @@ class OC {
 
 		if (empty(OC::$APPSROOTS)) {
 			throw new Exception('apps directory not found! Please put the ownCloud apps folder in the ownCloud folder'
-				.' or the folder above. You can also configure the location in the config.php file.');
+				. ' or the folder above. You can also configure the location in the config.php file.');
 		}
 		$paths = array();
 		foreach (OC::$APPSROOTS as $path) {
@@ -176,7 +176,8 @@ class OC {
 
 	public static function checkConfig() {
 		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();
 			if (self::$CLI) {
 				echo "Can't write into config directory!\n";
@@ -188,7 +189,7 @@ class OC {
 				OC_Template::printErrorPage(
 					"Can't write into config directory!",
 					'This can usually be fixed by '
-						.'<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
+					. '<a href="' . \OC_Helper::linkToDocs('admin-dir_permissions') . '" target="_blank">giving the webserver write access to the config directory</a>.'
 				);
 			}
 		}
@@ -254,31 +255,42 @@ 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)) {
 			$installedVersion = OC_Config::getValue('version', '0.0.0');
 			$currentVersion = implode('.', OC_Util::getVersion());
-			if (version_compare($currentVersion, $installedVersion, '>')) {
-				if ($showTemplate && !OC_Config::getValue('maintenance', false)) {
-					OC_Config::setValue('theme', '');
-					$minimizerCSS = new OC_Minimizer_CSS();
-					$minimizerCSS->clearCache();
-					$minimizerJS = new OC_Minimizer_JS();
-					$minimizerJS->clearCache();
-					OC_Util::addScript('config'); // needed for web root
-					OC_Util::addScript('update');
-					$tmpl = new OC_Template('', 'update.admin', 'guest');
-					$tmpl->assign('version', OC_Util::getVersionString());
-					$tmpl->printPage();
-					exit();
-				} else {
-					return true;
-				}
-			}
+			return version_compare($currentVersion, $installedVersion, '>');
+		} else {
 			return false;
 		}
 	}
 
+	public static function checkUpgrade($showTemplate = true) {
+		if (self::needUpgrade()) {
+			if ($showTemplate && !OC_Config::getValue('maintenance', false)) {
+				OC_Config::setValue('theme', '');
+				$minimizerCSS = new OC_Minimizer_CSS();
+				$minimizerCSS->clearCache();
+				$minimizerJS = new OC_Minimizer_JS();
+				$minimizerJS->clearCache();
+				OC_Util::addScript('config'); // needed for web root
+				OC_Util::addScript('update');
+				$tmpl = new OC_Template('', 'update.admin', 'guest');
+				$tmpl->assign('version', OC_Util::getVersionString());
+				$tmpl->printPage();
+				exit();
+			} else {
+				return true;
+			}
+		}
+		return false;
+	}
+
 	public static function initTemplateEngine() {
 		// Add the stuff we need always
 		OC_Util::addScript("jquery-1.10.0.min");
@@ -462,7 +474,7 @@ class OC {
 			// OC_Util::getInstanceId() for namespacing. See #5409.
 			try {
 				self::$loader->setMemoryCache(\OC\Memcache\Factory::createLowLatency('Autoloader'));
-			} catch(\Exception $ex) {
+			} catch (\Exception $ex) {
 			}
 		}
 		OC_Util::isSetLocaleWorking();
@@ -507,7 +519,7 @@ class OC {
 		if (count($errors) > 0) {
 			if (self::$CLI) {
 				foreach ($errors as $error) {
-					echo $error['error']."\n";
+					echo $error['error'] . "\n";
 					echo $error['hint'] . "\n\n";
 				}
 			} else {
@@ -602,13 +614,9 @@ class OC {
 	 * register hooks for the cache
 	 */
 	public static function registerCacheHooks() {
-		if (OC_Config::getValue('installed', false)) { //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');
-			} catch (Exception $e) {
+		if (OC_Config::getValue('installed', false) && !self::needUpgrade()) { //don't try to do this before we are properly setup
+			\OCP\BackgroundJob::registerJob('OC\Cache\FileGlobalGC');
 
-			}
 			// NOTE: This will be replaced to use OCP
 			$userSession = \OC_User::getUserSession();
 			$userSession->listen('postLogin', '\OC\Cache\File', 'loginListener');
@@ -619,14 +627,9 @@ class OC {
 	 * register hooks for the cache
 	 */
 	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
-			// 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');
-			} catch (Exception $e) {
-
-			}
+			\OCP\BackgroundJob::registerJob('OC\Log\Rotate', OC_Config::getValue("datadirectory", OC::$SERVERROOT . '/data') . '/owncloud.log');
 		}
 	}
 
@@ -653,7 +656,7 @@ class OC {
 	 * register hooks for sharing
 	 */
 	public static function registerShareHooks() {
-		if(\OC_Config::getValue('installed')) {
+		if (\OC_Config::getValue('installed')) {
 			OC_Hook::connect('OC_User', 'post_deleteUser', 'OCP\Share', 'post_deleteUser');
 			OC_Hook::connect('OC_User', 'post_addToGroup', 'OCP\Share', 'post_addToGroup');
 			OC_Hook::connect('OC_User', 'post_removeFromGroup', 'OCP\Share', 'post_removeFromGroup');
@@ -676,7 +679,7 @@ class OC {
 		}
 
 		$request = OC_Request::getPathInfo();
-		if(substr($request, -3) !== '.js') {// we need these files during the upgrade
+		if (substr($request, -3) !== '.js') { // we need these files during the upgrade
 			self::checkMaintenanceMode();
 			self::checkUpgrade();
 		}
@@ -794,12 +797,10 @@ class OC {
 		// auth possible via apache module?
 		if (OC::tryApacheAuth()) {
 			$error[] = 'apacheauthfailed';
-		}
-		// remember was checked after last login
+		} // remember was checked after last login
 		elseif (OC::tryRememberLogin()) {
 			$error[] = 'invalidcookie';
-		}
-		// logon via web form
+		} // logon via web form
 		elseif (OC::tryFormLogin()) {
 			$error[] = 'invalidpassword';
 			if ( OC_Config::getValue('log_authfailip', false) ) {
diff --git a/lib/public/backgroundjob.php b/lib/public/backgroundjob.php
index 1788c4e..a7f5449 100644
--- a/lib/public/backgroundjob.php
+++ b/lib/public/backgroundjob.php
@@ -45,6 +45,7 @@ use \OC\BackgroundJob\JobList;
 class BackgroundJob {
 	/**
 	 * get the execution type of background jobs
+	 *
 	 * @return string
 	 *
 	 * 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
+	 *
 	 * @param string $type execution type
 	 * @return boolean
 	 *
@@ -83,8 +85,10 @@ class BackgroundJob {
 	 * @return true
 	 */
 	public static function addRegularTask($klass, $method) {
-		self::registerJob('OC\BackgroundJob\Legacy\RegularJob', array($klass, $method));
-		return true;
+		if (!\OC::needUpgrade()) {
+			self::registerJob('OC\BackgroundJob\Legacy\RegularJob', array($klass, $method));
+			return true;
+		}
 	}
 
 	/**

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud.git



More information about the Pkg-owncloud-commits mailing list