cache app types during install or update

This commit is contained in:
Robin Appelman 2012-05-14 22:49:20 +02:00
parent e03c5f39a8
commit 6779f28af4
9 changed files with 28 additions and 17 deletions

View File

@ -1 +1 @@
1.1
1.1.1

View File

@ -1 +1 @@
0.1
0.2

View File

@ -1 +1 @@
0.1
0.2

View File

@ -1 +1 @@
0.1
0.2

View File

@ -1 +1 @@
0.2
0.2.1

View File

@ -1 +1 @@
1.0.0
1.0.1

View File

@ -1 +1 @@
0.1
0.1.1

View File

@ -114,19 +114,22 @@ class OC_App{
self::$appTypes=OC_Appconfig::getValues(false,'types');
}
//get it from info.xml if we haven't cached it
if(!isset(self::$appTypes[$app])){
$appData=self::getAppInfo($app);
if(isset($appData['types'])){
self::$appTypes[$app]=implode(',',$appData['types']);
}else{
self::$appTypes[$app]='';
}
return explode(',',self::$appTypes[$app]);
}
OC_Appconfig::setValue($app,'types',self::$appTypes[$app]);
/**
* read app types from info.xml and cache them in the database
*/
public static function setAppTypes($app){
$appData=self::getAppInfo($app);
if(isset($appData['types'])){
$appTypes=implode(',',$appData['types']);
}else{
$appTypes='';
}
return explode(',',self::$appTypes[$app]);
OC_Appconfig::setValue($app,'types',$appTypes);
}
/**
@ -542,6 +545,8 @@ class OC_App{
foreach($appData['public'] as $name=>$path){
OCP\CONFIG::setAppValue('core', 'public_'.$name, '/apps/'.$appid.'/'.$path);
}
self::setAppTypes($appid);
}
/**

View File

@ -193,6 +193,9 @@ class OC_Installer{
foreach($info['public'] as $name=>$path){
OCP\CONFIG::setAppValue('core', 'public_'.$name, '/apps/'.$info['id'].'/'.$path);
}
OC_App::setAppTypes($info['id']);
return $info['id'];
}
@ -318,6 +321,9 @@ class OC_Installer{
foreach($info['public'] as $name=>$path){
OCP\CONFIG::setAppValue('core', 'public_'.$name, '/apps/'.$app.'/'.$path);
}
OC_App::setAppTypes($info['id']);
return $info;
}