From 7c9d922b96f9a88b350d6e07f5bde84ccc40f9b0 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Tue, 02 Mar 2010 16:27:53 -0500 Subject: [PATCH] New recent check based on UIDs --- program/include/rcube_contacts.php | 64 ++++++-------------------------- 1 files changed, 12 insertions(+), 52 deletions(-) diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php index 0c0f932..23f86e8 100644 --- a/program/include/rcube_contacts.php +++ b/program/include/rcube_contacts.php @@ -5,7 +5,7 @@ | program/include/rcube_contacts.php | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2006-2008, RoundCube Dev. - Switzerland | + | Copyright (C) 2006-2009, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | | PURPOSE: | @@ -15,7 +15,7 @@ | Author: Thomas Bruederli <roundcube@gmail.com> | +-----------------------------------------------------------------------+ - $Id: rcube_contacts.inc 328 2006-08-30 17:41:21Z thomasb $ + $Id$ */ @@ -25,7 +25,7 @@ * * @package Addressbook */ -class rcube_contacts +class rcube_contacts extends rcube_addressbook { var $db = null; var $db_name = ''; @@ -34,7 +34,7 @@ var $result = null; var $search_fields; var $search_string; - var $table_cols = array('name', 'email', 'firstname', 'surname'); + var $table_cols = array('name', 'email', 'firstname', 'surname', 'vcard'); /** public properties */ var $primary_key = 'contact_id'; @@ -56,40 +56,6 @@ $this->db_name = get_table_name('contacts'); $this->user_id = $user; $this->ready = $this->db && !$this->db->is_error(); - } - - /** - * PHP 4 object constructor - * - * @see rcube_contacts::__construct() - */ - function rcube_contacts($dbconn, $user) - { - $this->__construct($dbconn, $user); - } - - - /** - * Set internal list page - * - * @param number Page number to list - * @access public - */ - function set_page($page) - { - $this->list_page = (int)$page; - } - - - /** - * Set internal page size - * - * @param number Number of messages to display on one page - * @access public - */ - function set_pagesize($size) - { - $this->page_size = (int)$size; } @@ -125,13 +91,6 @@ $this->search_fields = null; $this->search_string = null; } - - - /** - * Close connection to source - * Called on script shutdown - */ - function close(){} /** @@ -182,6 +141,7 @@ * * @param array List of fields to search in * @param string Search value + * @param boolean True for strict (=), False for partial (LIKE) matching * @param boolean True if results are requested, False if count only * @return Indexed list of contact records and 'count' value */ @@ -195,7 +155,7 @@ { if ($col == 'ID' || $col == $this->primary_key) { - $ids = !is_array($value) ? split(',', $value) : $value; + $ids = !is_array($value) ? explode(',', $value) : $value; $add_where[] = $this->primary_key.' IN ('.join(',', $ids).')'; } else if ($strict) @@ -243,7 +203,7 @@ * * @return Result array or NULL if nothing selected yet */ - function get_result($as_res=true) + function get_result() { return $this->result; } @@ -303,18 +263,18 @@ $a_insert_cols[] = $this->db->quoteIdentifier($col); $a_insert_values[] = $this->db->quote($save_data[$col]); } - + if (!$existing->count && !empty($a_insert_cols)) { $this->db->query( "INSERT INTO ".$this->db_name." (user_id, changed, del, ".join(', ', $a_insert_cols).") - VALUES (?, ".$this->db->now().", 0, ".join(', ', $a_insert_values).")", - $this->user_id); + VALUES (".intval($this->user_id).", ".$this->db->now().", 0, ".join(', ', $a_insert_values).")" + ); - $insert_id = $this->db->insert_id(get_sequence_name('contacts')); + $insert_id = $this->db->insert_id('contacts'); } - + return $insert_id; } -- Gitblit v1.9.1