From 3fdebaa5dc4a903e9db64f8bafe11929c5f50304 Mon Sep 17 00:00:00 2001
From: Frank Karlitschek <frank@owncloud.org>
Date: Tue, 2 Oct 2012 12:10:45 +0200
Subject: [PATCH] automatically remove and prevent installation of apps with a
 require version less than the current one. We check now the first ad second
 part of the version number. Also increase the require tags of the core apps
 to 4.9 Please note that 4.9 is the internal versionnumber of the upcoming 4.5
 release. You have to pu a <require>4.9</require> into the info.xml of your
 app to make it as compatible with 4.5

---
 apps/files/appinfo/info.xml            | 2 +-
 apps/files_encryption/appinfo/info.xml | 2 +-
 apps/files_external/appinfo/info.xml   | 2 +-
 apps/files_sharing/appinfo/info.xml    | 2 +-
 apps/files_versions/appinfo/info.xml   | 2 +-
 apps/user_ldap/appinfo/info.xml        | 2 +-
 apps/user_webdavauth/appinfo/info.xml  | 2 +-
 lib/app.php                            | 4 ++--
 lib/util.php                           | 4 ++--
 9 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml
index e58f83c5a0..0a1b196b06 100644
--- a/apps/files/appinfo/info.xml
+++ b/apps/files/appinfo/info.xml
@@ -5,7 +5,7 @@
 	<description>File Management</description>
 	<licence>AGPL</licence>
 	<author>Robin Appelman</author>
-	<require>4</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 	<standalone/>
 	<default_enable/>
diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml
index 419bdb1b12..48a28fde78 100644
--- a/apps/files_encryption/appinfo/info.xml
+++ b/apps/files_encryption/appinfo/info.xml
@@ -5,7 +5,7 @@
 	<description>Server side encryption of files. DEPRECATED. This app is no longer supported and will be replaced with an improved version in ownCloud 5. Only enable this features if you want to read old encrypted data. Warning: You will lose your data if you enable this App and forget your password. Encryption is not yet compatible with LDAP.</description>
 	<licence>AGPL</licence>
 	<author>Robin Appelman</author>
-	<require>4</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 	<types>
 		<filesystem/>
diff --git a/apps/files_external/appinfo/info.xml b/apps/files_external/appinfo/info.xml
index e0301365d1..3da1913c5f 100644
--- a/apps/files_external/appinfo/info.xml
+++ b/apps/files_external/appinfo/info.xml
@@ -5,7 +5,7 @@
 	<description>Mount external storage sources</description>
 	<licence>AGPL</licence>
 	<author>Robin Appelman, Michael Gapczynski</author>
-	<require>4</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 	<types>
 		<filesystem/>
diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml
index 6a8fc89ada..a44d0338bb 100644
--- a/apps/files_sharing/appinfo/info.xml
+++ b/apps/files_sharing/appinfo/info.xml
@@ -5,7 +5,7 @@
 	<description>File sharing between users</description>
 	<licence>AGPL</licence>
 	<author>Michael Gapczynski</author>
-	<require>4</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 	<default_enable/>
 	<types>
diff --git a/apps/files_versions/appinfo/info.xml b/apps/files_versions/appinfo/info.xml
index d806291ed1..e4e5a365d5 100644
--- a/apps/files_versions/appinfo/info.xml
+++ b/apps/files_versions/appinfo/info.xml
@@ -4,7 +4,7 @@
 	<name>Versions</name>
 	<licence>AGPL</licence>
 	<author>Frank Karlitschek</author>
-	<require>4</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 	<description>Versioning of files</description>
 	<types>
diff --git a/apps/user_ldap/appinfo/info.xml b/apps/user_ldap/appinfo/info.xml
index de0daf146e..30fbf687db 100644
--- a/apps/user_ldap/appinfo/info.xml
+++ b/apps/user_ldap/appinfo/info.xml
@@ -5,7 +5,7 @@
 	<description>Authenticate Users by LDAP</description>
 	<licence>AGPL</licence>
 	<author>Dominik Schmidt and Arthur Schiwon</author>
-	<require>4</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 	<types>
 		<authentication/>
diff --git a/apps/user_webdavauth/appinfo/info.xml b/apps/user_webdavauth/appinfo/info.xml
index dc555739f4..9a8027daee 100755
--- a/apps/user_webdavauth/appinfo/info.xml
+++ b/apps/user_webdavauth/appinfo/info.xml
@@ -6,6 +6,6 @@
 	<version>1.0</version>
 	<licence>AGPL</licence>
 	<author>Frank Karlitschek</author>
-	<require>3</require>
+	<require>4.9</require>
 	<shipped>true</shipped>
 </info>
diff --git a/lib/app.php b/lib/app.php
index 7889339e42..90b5c58a44 100755
--- a/lib/app.php
+++ b/lib/app.php
@@ -664,8 +664,8 @@ class OC_App{
 		$version = OC_Util::getVersion();
 		foreach($apps as $app) {
 			// check if the app is compatible with this version of ownCloud
-			$info = OC_App::getAppInfo($app);
-			if(!isset($info['require']) or ($version[0]>$info['require'])) {
+			$info = OC_App::getAppInfo($app);			
+			if(!isset($info['require']) or (($version[0].'.'.$version[1])>$info['require'])) {
 				OC_Log::write('core', 'App "'.$info['name'].'" ('.$app.') can\'t be used because it is not compatible with this version of ownCloud', OC_Log::ERROR);
 				OC_App::disable( $app );
 			}
diff --git a/lib/util.php b/lib/util.php
index db715a7a0f..255faf8df7 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -80,8 +80,8 @@ class OC_Util {
 	 * @return array
 	 */
 	public static function getVersion() {
-		// hint: We only can count up. So the internal version number of ownCloud 4.5 will be 4,9,0. This is not visible to the user
-		return array(4,85,11);
+		// hint: We only can count up. So the internal version number of ownCloud 4.5 will be 4.9.0. This is not visible to the user
+		return array(4,86,11);
 	}
 
 	/**
-- 
GitLab