Fix bug where rcube_contacts::get_record() could return cached result when requested record wasn't found (#5218)

pull/5227/head
Aleksander Machniak 8 years ago
parent 6e4642b12c
commit 52106ffd39

@ -130,10 +130,10 @@ abstract class rcube_addressbook
/**
* Get a specific contact record
*
* @param mixed record identifier(s)
* @param mixed Record identifier(s)
* @param boolean True to return record as associative array, otherwise a result set is returned
*
* @return mixed Result object with all record fields or False if not found
* @return rcube_result_set|array Result object with all record fields
*/
abstract function get_record($id, $assoc=false);

@ -542,7 +542,7 @@ class rcube_contacts extends rcube_addressbook
* @param mixed $id Record identifier(s)
* @param bool $assoc Enables returning associative array
*
* @return mixed Result object with all record fields or False if not found
* @return rcube_result_set|array Result object with all record fields
*/
function get_record($id, $assoc = false)
{
@ -560,6 +560,8 @@ class rcube_contacts extends rcube_addressbook
$this->user_id
);
$this->result = null;
if ($sql_arr = $this->db->fetch_assoc()) {
$record = $this->convert_db_data($sql_arr);
$this->result = new rcube_result_set(1);

Loading…
Cancel
Save