Fixed bugs in rcube_db and rcube_imap classes

release-0.6
thomascube 18 years ago
parent 6ce04b1f7f
commit e6c7c3ca93

@ -293,14 +293,16 @@ class rcube_db
{
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
@ -308,7 +310,7 @@ class rcube_db
case 'mysqli':
return mysqli_insert_id($this->db_handle->connection);
case 'sqlite':
return sqlite_last_insert_rowid($this->db_handle->connection);
@ -358,7 +360,7 @@ class rcube_db
*/
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);

@ -878,7 +878,8 @@ class rcube_imap
{
$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);

Loading…
Cancel
Save