From 5ccdea8e5bc80201ed8abab5b3a38e20b8b992cd Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 16 Apr 2011 19:06:45 +0200 Subject: [PATCH] save installation state of databases in appconfig instead of plugin.xml --- lib/base.php | 1 + lib/plugin.php | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) 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); -- 2.39.5