/** * Remove the given contact records from a certain group * * @param string Group identifier * @param array List of contact identifiers to be removed * @return int Number of deleted group members */ function remove_from_group($group_id, $ids) { if (!is_array($ids)) { $ids = explode(self::SEPARATOR, $ids); } $ids = $this->db->array2list($ids, 'integer'); $sql_result = $this->db->query("DELETE FROM " . $this->db->table_name($this->db_groupmembers) . " WHERE contactgroup_id=?" . " AND contact_id IN ({$ids})", $group_id); return $this->db->affected_rows(); }
/** * Removes message(s) from cache. * * @param string $mailbox Folder name * @param array $uids Message UIDs, NULL removes all messages */ function remove_message($mailbox = null, $uids = null) { if (!strlen($mailbox)) { $this->db->query("DELETE FROM " . $this->db->table_name('cache_messages') . " WHERE user_id = ?", $this->userid); } else { // Remove the message from internal cache if (!empty($uids) && ($message = $this->icache['__message']) && $message['mailbox'] === $mailbox && in_array($message['object']->uid, (array) $uids)) { $this->icache['__message'] = null; } $this->db->query("DELETE FROM " . $this->db->table_name('cache_messages') . " WHERE user_id = ?" . " AND mailbox = ?" . ($uids !== null ? " AND uid IN (" . $this->db->array2list((array) $uids, 'integer') . ")" : ""), $this->userid, $mailbox); } }
/** * Removes message(s) from cache. * * @param string $mailbox Folder name * @param array $uids Message UIDs, NULL removes all messages */ function remove_message($mailbox = null, $uids = null) { if (!($this->mode & self::MODE_MESSAGE)) { return; } if (!strlen($mailbox)) { $this->db->query("DELETE FROM {$this->messages_table}" . " WHERE `user_id` = ?", $this->userid); } else { // Remove the message from internal cache if (!empty($uids) && ($message = $this->icache['__message']) && $message['mailbox'] === $mailbox && in_array($message['object']->uid, (array) $uids)) { $this->icache['__message'] = null; } $this->db->query("DELETE FROM {$this->messages_table}" . " WHERE `user_id` = ?" . " AND `mailbox` = ?" . ($uids !== null ? " AND `uid` IN (" . $this->db->array2list((array) $uids, 'integer') . ")" : ""), $this->userid, $mailbox); } }