From: Robin Appelman Date: Sat, 16 Apr 2011 17:06:45 +0000 (+0200) Subject: save installation state of databases in appconfig instead of plugin.xml X-Git-Tag: v3.0~267^2~558^2~137^2~1 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5ccdea8e5bc80201ed8abab5b3a38e20b8b992cd;p=nextcloud-server.git save installation state of databases in appconfig instead of plugin.xml --- diff --git a/lib/base.php b/lib/base.php index 9ecf7db0778..93d6fb66c7e 100644 --- a/lib/base.php +++ b/lib/base.php @@ -77,6 +77,7 @@ if( OC_CONFIG::getValue( "forcessl", false )){ require_once('helper.php'); require_once('database.php'); require_once('app.php'); +require_once('appconfig.php'); require_once('files.php'); require_once('filesystem.php'); require_once('filestorage.php'); diff --git a/lib/plugin.php b/lib/plugin.php index 0d4e9744dc3..d8291a8a758 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -52,7 +52,8 @@ class OC_PLUGIN{ //check for uninstalled db's if(isset($data['install']) and isset($data['install']['database'])){ foreach($data['install']['database'] as $db){ - if(!$data['install']['database_installed'][$db]){ + $installed=OC_APPCONFIG::getValue('plugin_installer','database_installed_'.$id.'_'.$db,'false'); + if($installed!='true'){ self::installDB($id); break; } @@ -339,13 +340,13 @@ class OC_PLUGIN{ global $SERVERROOT; $data=OC_PLUGIN::getPluginData($id); foreach($data['install']['database'] as $db){ - if (!$data['install']['database_installed'][$db]){ + $installed=OC_APPCONFIG::getValue('plugin_installer','database_installed_'.$id.'_'.$db,'false'); + if ($installed!='true'){ $file=$SERVERROOT.'/plugins/'.$id.'/'.$db; OC_DB::createDbFromStructure($file); - $data['install']['database_installed'][$db]=true; + OC_APPCONFIG::setValue('plugin_installer','database_installed_'.$id.'_'.$db,'true'); } } - self::savePluginData($id,$data); return true; } @@ -363,14 +364,13 @@ class OC_PLUGIN{ if(isset($pluginData['install'])){ foreach($pluginData['install']['database'] as $db){ OC_DB::createDbFromStructure($folder.'/'.$db); - $pluginData['install']['database_installed'][$db]=true; + OC_APPCONFIG::setValue('plugin_installer','database_installed_'.$id.'_'.$db,'true'); } foreach($pluginData['install']['include'] as $include){ include($folder.'/'.$include); } } recursive_copy($folder,$SERVERROOT.'/plugins/'.$pluginData['info']['id']); - self::savePluginData($SERVERROOT.'/plugins/'.$pluginData['info']['id'].'/plugin.xml',$pluginData); } } delTree($folder);