alecpl
2010-01-18 638fb8a9729589363d53f6b73e0b1404c0eb7e22
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(){}
  
  
  /**
@@ -195,7 +154,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 +202,7 @@
   *
   * @return Result array or NULL if nothing selected yet
   */
  function get_result($as_res=true)
  function get_result()
  {
    return $this->result;
  }
@@ -303,18 +262,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;
  }