summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/app.php13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/app.php b/lib/app.php
index cec7468c8e7..a56e0c2f9e6 100644
--- a/lib/app.php
+++ b/lib/app.php
@@ -61,6 +61,19 @@ class OC_APP{
while( false !== ( $filename = readdir( $dir ))){
if( substr( $filename, 0, 1 ) != '.' ){
if( file_exists( "$SERVERROOT/apps/$filename/appinfo/app.php" )){
+ if(OC_APPCONFIG::getValue($filename,'installed_version',0)==0){ //check if the plugin is fully installed
+ //install the database
+ if(is_file("$SERVERROOT/apps/$filename/appinfo/database.xml")){
+ OC_DB::createDbFromStructure("$SERVERROOT/apps/$filename/appinfo/database.xml");
+ }
+
+ //run appinfo/install.php
+ if(is_file("$SERVERROOT/apps/$filename/appinfo/install.php")){
+ include("$SERVERROOT/apps/$filename/appinfo/install.php");
+ }
+ $info=self::getAppInfo("$SERVERROOT/apps/$filename/appinfo/info.xml");
+ OC_APPCONFIG::setValue($filename,'installed_version',$info['version']);
+ }
require( "apps/$filename/appinfo/app.php" );
}
}