update apps when their version number increases

This commit is contained in:
Robin Appelman 2011-12-11 22:08:01 +01:00
parent 7f1bb5fd78
commit a8148fa94a
2 changed files with 31 additions and 0 deletions

View File

@ -362,4 +362,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';
}
}
}

View File

@ -134,6 +134,8 @@ class OC{
OC_Config::setValue('version',implode('.',OC_Util::getVersion()));
}
OC_App::updateApps();
ini_set('session.cookie_httponly','1;');
session_start();