Aleksander Machniak
2012-08-28 b79cc545ec020f7dd4bd83dcd06af3cf2b1fcaff
program/include/rcube_db.php
@@ -196,7 +196,7 @@
    }
    /**
     * Connect to appropiate database depending on the operation
     * Connect to appropriate database depending on the operation
     *
     * @param string $mode Connection mode (r|w)
     */
@@ -252,13 +252,31 @@
    }
    /**
     * Writes debug information/query to 'sql' log file
     *
     * @param string $query SQL query
     */
    protected function debug($query)
    {
        if ($this->options['debug_mode']) {
            rcube::write_log('sql', '[' . (++$this->db_index) . '] ' . $query . ';');
        }
    }
    /**
     * Getter for error state
     *
     * @return boolean True on error
     * @param int $res_id Optional query result identifier
     *
     * @return string Error message
     */
    public function is_error()
    public function is_error($res_id = null)
    {
        return $this->db_error ? $this->db_error_msg : false;
        if ($res_id !== null) {
            return $this->_get_result($res_id) === false ? $this->db_error_msg : null;
        }
        return $this->db_error ? $this->db_error_msg : null;
    }
    /**
@@ -378,9 +396,7 @@
        $query = rtrim($query, ';');
        if ($this->options['debug_mode']) {
            rcube::write_log('sql', '[' . (++$this->db_index) . '] ' . $query . ';');
        }
        $this->debug($query);
        $query = $this->dbh->query($query);
@@ -560,6 +576,10 @@
            return intval($input);
        }
        if (is_null($input)) {
            return 'NULL';
        }
        // create DB handle if not available
        if (!$this->dbh) {
            $this->db_connect('r');