| | |
| | | | 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. | |
| | |
| | | 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']) { |
| | |
| | | |
| | | $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; |
| | |
| | | |
| | | // 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 |
| | |
| | | } |
| | | } |
| | | |
| | | // 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); |
| | |
| | | } |
| | | |
| | | // 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'); |
| | | } |
| | | |