Aleksander Machniak
2013-10-30 0fb8940d066fc6ecac5a8c97385380c152b69acd
program/lib/Roundcube/rcube_db_sqlite.php
@@ -29,13 +29,6 @@
    public $db_provider = 'sqlite';
    /**
     * Database character set
     */
    protected function set_charset($charset)
    {
    }
    /**
     * Prepare connection
     */
    protected function conn_prepare($dsn)
@@ -56,10 +49,6 @@
     */
    protected function conn_configure($dsn, $dbh)
    {
        // we emulate via callback some missing functions
        $dbh->sqliteCreateFunction('unix_timestamp', array('rcube_db_sqlite', 'sqlite_unix_timestamp'), 1);
        $dbh->sqliteCreateFunction('now', array('rcube_db_sqlite', 'sqlite_now'), 0);
        // Initialize database structure in file is empty
        if (!empty($dsn['database']) && !filesize($dsn['database'])) {
            $data = file_get_contents(RCUBE_INSTALL_PATH . 'SQL/sqlite.initial.sql');
@@ -83,30 +72,32 @@
    }
    /**
     * Callback for sqlite: unix_timestamp()
     * Return SQL statement to convert a field value into a unix timestamp
     *
     * @param string $field Field name
     *
     * @return string  SQL statement to use in query
     * @deprecated
     */
    public static function sqlite_unix_timestamp($timestamp = '')
    public function unixtimestamp($field)
    {
        $timestamp = trim($timestamp);
        if (!$timestamp) {
            $ret = time();
        }
        else if (!preg_match('/^[0-9]+$/s', $timestamp)) {
            $ret = strtotime($timestamp);
        }
        else {
            $ret = $timestamp;
        }
        return $ret;
        return "strftime('%s', $field)";
    }
    /**
     * Callback for sqlite: now()
     * Return SQL function for current time and date
     *
     * @param int $interval Optional interval (in seconds) to add/subtract
     *
     * @return string SQL function to use in query
     */
    public static function sqlite_now()
    public function now($interval = 0)
    {
        return date("Y-m-d H:i:s");
        if ($interval) {
            $add = ($interval > 0 ? '+' : '') . intval($interval) . ' seconds';
        }
        return "datetime('now'" . ($add ? ",'$add'" : "") . ")";
    }
    /**
@@ -120,12 +111,7 @@
            $q = $this->query('SELECT name FROM sqlite_master'
                .' WHERE type = \'table\' ORDER BY name');
            if ($res = $this->_get_result($q)) {
                $this->tables = $res->fetchAll(PDO::FETCH_COLUMN, 0);
            }
            else {
                $this->tables = array();
            }
            $this->tables = $q ? $q->fetchAll(PDO::FETCH_COLUMN, 0) : array();
        }
        return $this->tables;