Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2011-12-12 01:08:01 +0400
committerRobin Appelman <icewind1991@gmail.com>2012-01-08 04:57:53 +0400
commitfea68e08b4f0aa52ebd051e4428ff5abd8284f5c (patch)
tree22294cff607c893e0e53a5d11948b31b3bf66089 /lib
parent001d06f2ff4a641ff76b4d67a3a33cbdbf5b2bb5 (diff)
update apps when their version number increases
Diffstat (limited to 'lib')
-rw-r--r--lib/app.php29
-rw-r--r--lib/base.php2
2 files changed, 31 insertions, 0 deletions
diff --git a/lib/app.php b/lib/app.php
index 1873e1136cd..6b35cdffec9 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -371,4 +371,33 @@ class OC_App{
}
return $apps;
}
+
+ /**
+ * check if any apps need updating and update those
+ */
+ public static function updateApps(){
+ // The rest comes here
+ $apps = OC_Appconfig::getApps();
+ foreach( $apps as $app ){
+ $installedVersion=OC_Appconfig::getValue($app,'installed_version');
+ $appInfo=OC_App::getAppInfo($app);
+ $currentVersion=$appInfo['version'];
+ if (version_compare($currentVersion, $installedVersion, '>')) {
+ OC_App::updateApp($app);
+ }
+ }
+ }
+
+ /**
+ * update the database for the app and call the update script
+ * @param string appid
+ */
+ public static function updateApp($appid){
+ if(file_exists(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/database.xml')){
+ OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/database.xml');
+ }
+ if(file_exists(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/update.php')){
+ include OC::$SERVERROOT.'/apps/'.$file.'/appinfo/update.php';
+ }
+ }
}
diff --git a/lib/base.php b/lib/base.php
index 7b42d56f522..c3965c9cd39 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -159,6 +159,8 @@ class OC{
OC_Config::setValue('version',implode('.',OC_Util::getVersion()));
}
+ OC_App::updateApps();
+
ini_set('session.cookie_httponly','1;');
session_start();