From 447fc6a657c6dc588510750617068bdd47209569 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Fri, 28 Jun 2013 17:04:30 -0400
Subject: [PATCH] Improve update.sh script; fix bad wording

---
 config/config.inc.php.sample |    2 +-
 bin/update.sh                |   22 ++++++++++------------
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/bin/update.sh b/bin/update.sh
index b5000bb..133d9f7 100755
--- a/bin/update.sh
+++ b/bin/update.sh
@@ -5,7 +5,7 @@
  | bin/update.sh                                                         |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |
- | Copyright (C) 2010-2011, The Roundcube Dev Team                       |
+ | Copyright (C) 2010-2013, The Roundcube Dev Team                       |
  |                                                                       |
  | Licensed under the GNU General Public License version 3 or            |
  | any later version with exceptions for skins & plugins.                |
@@ -25,7 +25,7 @@
 require_once INSTALL_PATH . 'installer/rcube_install.php';
 
 // get arguments
-$opts = rcube_utils::get_opt(array('v' => 'version'));
+$opts = rcube_utils::get_opt(array('v' => 'version', 'y' => 'accept'));
 
 // ask user if no version is specified
 if (!$opts['version']) {
@@ -38,10 +38,6 @@
 
 $RCI = rcube_install::get_instance();
 $RCI->load_config();
-
-if ($opts['version'] && version_compare(version_parse($opts['version']), version_parse(RCMAIL_VERSION), '>=') && !$RCI->legacy_config)
-  die("Nothing to be done here. Bye!\n");
-
 
 if ($RCI->configured) {
   $success = true;
@@ -82,11 +78,13 @@
 
     // ask user to update config files
     if ($err) {
-      echo "Do you want me to fix your local configuration? (y/N)\n";
-      $input = trim(fgets(STDIN));
+      if (!$opts['accept']) {
+        echo "Do you want me to fix your local configuration? (y/N)\n";
+        $input = trim(fgets(STDIN));
+      }
 
       // positive: let's merge the local config with the defaults
-      if (strtolower($input) == 'y') {
+      if ($opts['accept'] || strtolower($input) == 'y') {
         $error = $written = false;
 
         // backup current config
@@ -146,8 +144,8 @@
     }
   }
 
-  // check database schema
-  if ($RCI->config['db_dsnw']) {
+  // update database schema
+  if ($RCI->config['db_dsnw'] && $opts['version'] && version_compare(version_parse($opts['version']), version_parse(RCMAIL_VERSION), '<')) {
     echo "Executing database schema update.\n";
     system(INSTALL_PATH . "bin/updatedb.sh --package=roundcube --version=" . $opts['version']
       . " --dir=" . INSTALL_PATH . DIRECTORY_SEPARATOR . "SQL", $res);
@@ -156,7 +154,7 @@
   }
 
   // index contacts for fulltext searching
-  if (version_compare(version_parse($opts['version']), '0.6.0', '<')) {
+  if ($opts['version'] && version_compare(version_parse($opts['version']), '0.6.0', '<')) {
     system(INSTALL_PATH . 'bin/indexcontacts.sh');
   }
 
diff --git a/config/config.inc.php.sample b/config/config.inc.php.sample
index 22a2694..9a42ba9 100644
--- a/config/config.inc.php.sample
+++ b/config/config.inc.php.sample
@@ -5,7 +5,7 @@
  | Local configuration for the Roundcube Webmail installation.           |
  |                                                                       |
  | This is a sample configuration file only containing the minumum       |
- | setup required for a functional installation. Copy more config        |
+ | setup required for a functional installation. Copy more options       |
  | from defaults.inc.php to this file to override the defaults.          |
  |                                                                       |
  | This file is part of the Roundcube Webmail client                     |

--
Gitblit v1.9.1