/** * Initialize database object and connect * * @return rcube_db Database instance */ public static function db() { if (self::$db === null) { $rc = rcube::get_instance(); $db = rcube_db::factory($rc->config->get('db_dsnw')); $db->set_debug((bool) $rc->config->get('sql_debug')); // Connect to database $db->db_connect('w'); if (!$db->is_connected()) { rcube::raise_error("Error connecting to database: " . $db->is_error(), false, true); } self::$db = $db; } return self::$db; }
/** * Update database schema * * @param string $version Version to update from * * @return boolen True on success, False on error */ public function update_db($version) { return rcmail_utils::db_update(INSTALL_PATH . 'SQL', 'roundcube', $version, array('quiet' => true)); }