alecpl
2010-07-28 d78564abcaa254b043650e4480df6c477f783e58
bin/update.sh
@@ -1,6 +1,8 @@
#!/usr/bin/php
#!/usr/bin/env php
<?php
if (php_sapi_name() != 'cli') {
    die('Not on the "shell" (php-cli).');
}
define('INSTALL_PATH', realpath(dirname(__FILE__) . '/..') . '/' );
require_once INSTALL_PATH . 'program/include/iniset.php';
@@ -10,7 +12,10 @@
$RCI->load_config();
if ($RCI->configured) {
  $success = true;
  if ($messages = $RCI->check_config()) {
    $success = false;
    $err = 0;
    // list missing config options
@@ -98,9 +103,26 @@
      echo "Please fix your config files and run this script again!\n";
      echo "See ya.\n";
    }
  }
  else {
  // check database schema
  if ($RCI->config['db_dsnw']) {
    $DB = new rcube_mdb2($RCI->config['db_dsnw'], '', false);
    $DB->db_connect('w');
    if ($db_error_msg = $DB->is_error()) {
      echo "Error connecting to database: $db_error_msg\n";
      $success = false;
    }
    else if ($RCI->db_schema_check($DB, false)) {
      $updatefile = INSTALL_PATH . 'SQL/' . $DB->db_provider . '.update.sql';
      echo "WARNING: Database schema needs to be updated!\n";
      echo "Open $updatefile and execute all queries that are superscribed with the currently installed version number\n";
      $success = false;
    }
  }
  if ($success) {
    echo "This instance of RoundCube is up-to-date.\n";
    echo "Have fun!\n";
  }
@@ -112,4 +134,4 @@
echo "\n";
?>
?>