From 1fa8f425b71db332a03ceef2d1e165083d0ba241 Mon Sep 17 00:00:00 2001
From: Falko Timme <ft@falkotimme.com>
Date: Fri, 05 Dec 2014 17:50:34 -0500
Subject: [PATCH] - Directive snippets can now be made available to clients; clients can select an available directive snippet for a website - the appropriate snippet will then be written to the vhost configuration file. This is useful for example on nginx where clients have no access to the Options tab of a website.
---
install/lib/update.lib.php | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/install/lib/update.lib.php b/install/lib/update.lib.php
index 678faf9..d2d11bf 100644
--- a/install/lib/update.lib.php
+++ b/install/lib/update.lib.php
@@ -29,10 +29,10 @@
//* Installer patch stub class
class installer_patch_update {
- protected function onBeforeSQL() {
+ public function onBeforeSQL() {
}
- protected function onAfterSQL() {
+ public function onAfterSQL() {
}
}
@@ -160,10 +160,15 @@
//* get the version of the db schema from the server table
$found = true;
+ $dev_patch = false;
while($found == true) {
- $next_db_version = intval($current_db_version + 1);
+ if($dev_patch == true) $next_db_version = 'dev_collection';
+ else $next_db_version = intval($current_db_version + 1);
$sql_patch_filename = realpath(dirname(__FILE__).'/../').'/sql/incremental/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.sql';
$php_patch_filename = realpath(dirname(__FILE__).'/../').'/patches/upd_'.str_pad($next_db_version, 4, '0', STR_PAD_LEFT).'.php';
+
+ // comma separated list of version numbers were a update has to be done silently
+ $silent_update_versions = 'dev_collection,75';
if(is_file($sql_patch_filename)) {
@@ -186,10 +191,14 @@
//* Load patch file into database
if( !empty($conf["mysql"]["admin_password"]) ) {
- system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename);
+ $cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." -p".escapeshellarg($conf['mysql']['admin_password'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename;
} else {
- system("mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename);
+ $cmd = "mysql --default-character-set=".escapeshellarg($conf['mysql']['charset'])." --force -h ".escapeshellarg($conf['mysql']['host'])." -u ".escapeshellarg($conf['mysql']['admin_user'])." ".escapeshellarg($conf['mysql']['database'])." < ".$sql_patch_filename;
}
+
+ if(in_array($next_db_version,explode(',',$silent_update_versions))) $cmd .= ' > /dev/null 2> /dev/null';
+ system($cmd);
+
swriteln($inst->lng('Loading SQL patch file').': '.$sql_patch_filename);
//* Exec onAfterSQL function
@@ -197,8 +206,12 @@
$php_patch->onAfterSQL();
}
- $current_db_version = $next_db_version;
+ if($dev_patch == false) $current_db_version = $next_db_version;
+ else $found = false;
+
if(isset($php_patch)) unset($php_patch);
+ } elseif($dev_patch == false) {
+ $dev_patch = true;
} else {
$found = false;
}
--
Gitblit v1.9.1