$RCI->load_config();
if ($RCI->configured) {
+ $success = true;
+
if ($messages = $RCI->check_config()) {
+ $success = false;
$err = 0;
// list missing config options
// Success!
if ($write1 && $write2) {
echo "Done.\n";
- echo "Your configuration files are now up-tp-date!\n";
+ echo "Your configuration files are now up-to-date!\n";
}
else {
echo "Failed to write config files!\n";
echo "Please fix your config files and run this script again!\n";
echo "See ya.\n";
}
+ }
+ // 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)) {
+ $db_map = array('pgsql' => 'postgres', 'mysqli' => 'mysql', 'sqlsrv' => 'mssql');
+ $updatefile = INSTALL_PATH . 'SQL/' . (isset($db_map[$DB->db_provider]) ? $db_map[$DB->db_provider] : $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;
+ }
}
- else {
- echo "This instance of RoundCube is up-to-date.\n";
+
+
+ if ($success) {
+ echo "This instance of Roundcube is up-to-date.\n";
echo "Have fun!\n";
}
}
else {
- echo "This instance of RoundCube is not yet configured!\n";
+ echo "This instance of Roundcube is not yet configured!\n";
echo "Open http://url-to-roundcube/installer/ in your browser and follow the instuctions.\n";
}