diff options
Diffstat (limited to 'bin/update.sh')
-rwxr-xr-x | bin/update.sh | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/bin/update.sh b/bin/update.sh index b5000bbe5..133d9f7ab 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 . 'program/include/clisetup.php'; 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']) { @@ -39,10 +39,6 @@ if (!$opts['version']) { $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 @@ if ($RCI->configured) { // 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 @@ if ($RCI->configured) { } } - // 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 @@ if ($RCI->configured) { } // 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'); } |