| | |
| | | */ |
| | | private $rc; |
| | | |
| | | /** |
| | | * Internal identities cache |
| | | * |
| | | * @var array |
| | | */ |
| | | private $identities = array(); |
| | | |
| | | const SEARCH_ADDRESSBOOK = 1; |
| | | const SEARCH_MAIL = 2; |
| | | |
| | |
| | | */ |
| | | function get_identity($id = null) |
| | | { |
| | | $result = $this->list_identities($id ? sprintf('AND identity_id = %d', $id) : ''); |
| | | return $result[0]; |
| | | $id = (int)$id; |
| | | // cache identities for better performance |
| | | if (!array_key_exists($id, $this->identities)) { |
| | | $result = $this->list_identities($id ? 'AND identity_id = ' . $id : ''); |
| | | $this->identities[$id] = $result[0]; |
| | | } |
| | | |
| | | return $this->identities[$id]; |
| | | } |
| | | |
| | | |
| | |
| | | call_user_func_array(array($this->db, 'query'), |
| | | array_merge(array($sql), $query_params)); |
| | | |
| | | $this->identities = array(); |
| | | |
| | | return $this->db->affected_rows(); |
| | | } |
| | | |
| | |
| | | |
| | | call_user_func_array(array($this->db, 'query'), |
| | | array_merge(array($sql), $insert_values)); |
| | | |
| | | $this->identities = array(); |
| | | |
| | | return $this->db->insert_id('identities'); |
| | | } |
| | |
| | | $this->ID, |
| | | $iid); |
| | | |
| | | $this->identities = array(); |
| | | |
| | | return $this->db->affected_rows(); |
| | | } |
| | | |
| | |
| | | " AND del <> 1", |
| | | $this->ID, |
| | | $iid); |
| | | |
| | | unset($this->identities[0]); |
| | | } |
| | | } |
| | | |