Fixed bugs in rcube_db and rcube_imap classes
| | |
| | | { |
| | | case 'pgsql': |
| | | $result = &$this->db_handle->getOne("SELECT CURRVAL('$sequence')"); |
| | | |
| | | case 'mssql': |
| | | $result = &$this->db_handle->getOne("SELECT @@IDENTITY"); |
| | | |
| | | if (DB::isError($result)) |
| | | raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, |
| | | 'message' => $result->getMessage()), TRUE, FALSE); |
| | | return $result; |
| | | |
| | | case 'mssql': |
| | | $result = &$this->db_handle->getOne("SELECT @@IDENTITY"); |
| | | if (DB::isError($result)) |
| | | raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, |
| | | 'message' => $result->getMessage()), TRUE, FALSE); |
| | | return $result; |
| | | |
| | | case 'mysql': // This is unfortuneate |
| | |
| | | |
| | | case 'mysqli': |
| | | return mysqli_insert_id($this->db_handle->connection); |
| | | |
| | | |
| | | case 'sqlite': |
| | | return sqlite_last_insert_rowid($this->db_handle->connection); |
| | | |
| | |
| | | */ |
| | | function _fetch_row($result, $mode) |
| | | { |
| | | if (DB::isError($result)) |
| | | if (!$result || DB::isError($result)) |
| | | { |
| | | raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__, |
| | | 'message' => $this->db_link->getMessage()), TRUE, FALSE); |
| | |
| | | { |
| | | $results = array(); |
| | | foreach ($criteria as $crit) |
| | | $results = array_merge($results, $this->search($mbox_name, $crit, $str, $charset)); |
| | | if ($search_result = $this->search($mbox_name, $crit, $str, $charset)) |
| | | $results = array_merge($results, $search_result); |
| | | |
| | | $results = array_unique($results); |
| | | $this->set_search_set($criteria, $str, $results, $charset); |