summaryrefslogtreecommitdiff
path: root/program/include/rcube_contacts.php
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-05-26 11:56:47 +0000
committeralecpl <alec@alec.pl>2010-05-26 11:56:47 +0000
commit982e0b0b898ab2227d1493fe32ea51f85ecec294 (patch)
tree27bb6b4f3f71fbbf618b9999bf534059e0d6af48 /program/include/rcube_contacts.php
parente6e2db5dd0201dea13e5f9b6c779db5381aa0d0c (diff)
- Redesigned how rcube_contacts handles table names
Diffstat (limited to 'program/include/rcube_contacts.php')
-rw-r--r--program/include/rcube_contacts.php72
1 files changed, 24 insertions, 48 deletions
diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php
index 4676a2ce6..5553a23ad 100644
--- a/program/include/rcube_contacts.php
+++ b/program/include/rcube_contacts.php
@@ -28,11 +28,10 @@
class rcube_contacts extends rcube_addressbook
{
// protected for backward compat. with some plugins
- // deprecated: re-implement $this->get_table_name() instead
- protected $db_name = '';
- protected $db_groups = '';
- protected $db_groupmembers = '';
-
+ protected $db_name = 'contacts';
+ protected $db_groups = 'contactgroups';
+ protected $db_groupmembers = 'contactgroupmembers';
+
private $db = null;
private $user_id = 0;
private $filter = null;
@@ -42,7 +41,7 @@ class rcube_contacts extends rcube_addressbook
private $cache;
private $table_cols = array('name', 'email', 'firstname', 'surname', 'vcard');
- /** public properties */
+ // public properties
var $primary_key = 'contact_id';
var $readonly = false;
var $groups = true;
@@ -61,10 +60,6 @@ class rcube_contacts extends rcube_addressbook
function __construct($dbconn, $user)
{
$this->db = $dbconn;
- $this->db_name = $this->get_table_name('contacts');
- $this->db_groups = $this->get_table_name('contactgroups');
- $this->db_groupmembers = $this->get_table_name('contactgroupmembers');
-
$this->user_id = $user;
$this->ready = $this->db && !$this->db->is_error();
}
@@ -133,7 +128,7 @@ class rcube_contacts extends rcube_addressbook
$sql_filter = $search ? " AND " . $this->db->ilike('name', '%'.$search.'%') : '';
$sql_result = $this->db->query(
- "SELECT * FROM ".$this->db_groups.
+ "SELECT * FROM ".get_table_name($this->db_groups).
" WHERE del<>1".
" AND user_id=?".
$sql_filter.
@@ -171,11 +166,11 @@ class rcube_contacts extends rcube_addressbook
$length = $subset != 0 ? abs($subset) : $this->page_size;
if ($this->group_id)
- $join = " LEFT JOIN ".$this->db_groupmembers." AS m".
+ $join = " LEFT JOIN ".get_table_name($this->db_groupmembers)." AS m".
" ON (m.contact_id = c.".$this->primary_key.")";
$sql_result = $this->db->limitquery(
- "SELECT * FROM ".$this->db_name." AS c" .
+ "SELECT * FROM ".get_table_name($this->db_name)." AS c" .
$join .
" WHERE c.del<>1" .
" AND c.user_id=?" .
@@ -288,13 +283,13 @@ class rcube_contacts extends rcube_addressbook
private function _count()
{
if ($this->group_id)
- $join = " LEFT JOIN ".$this->db_groupmembers." AS m".
+ $join = " LEFT JOIN ".get_table_name($this->db_groupmembers)." AS m".
" ON (m.contact_id=c.".$this->primary_key.")";
// count contacts for this user
$sql_result = $this->db->query(
"SELECT COUNT(c.contact_id) AS rows".
- " FROM ".$this->db_name." AS c".
+ " FROM ".get_table_name($this->db_name)." AS c".
$join.
" WHERE c.del<>1".
" AND c.user_id=?".
@@ -336,7 +331,7 @@ class rcube_contacts extends rcube_addressbook
return $assoc ? $first : $this->result;
$this->db->query(
- "SELECT * FROM ".$this->db_name.
+ "SELECT * FROM ".get_table_name($this->db_name).
" WHERE contact_id=?".
" AND user_id=?".
" AND del<>1",
@@ -380,12 +375,12 @@ class rcube_contacts extends rcube_addressbook
if (!$existing->count && !empty($a_insert_cols)) {
$this->db->query(
- "INSERT INTO ".$this->db_name.
+ "INSERT INTO ".get_table_name($this->db_name).
" (user_id, changed, del, ".join(', ', $a_insert_cols).")".
" VALUES (".intval($this->user_id).", ".$this->db->now().", 0, ".join(', ', $a_insert_values).")"
);
- $insert_id = $this->db->insert_id($this->get_sequence_name('contacts'));
+ $insert_id = $this->db->insert_id($this->db_name);
}
// also add the newly created contact to the active group
@@ -431,7 +426,7 @@ class rcube_contacts extends rcube_addressbook
if (!empty($write_sql)) {
$this->db->query(
- "UPDATE ".$this->db_name.
+ "UPDATE ".get_table_name($this->db_name).
" SET changed=".$this->db->now().", ".join(', ', $write_sql).
" WHERE contact_id=?".
" AND user_id=?".
@@ -461,7 +456,7 @@ class rcube_contacts extends rcube_addressbook
// flag record as deleted
$this->db->query(
- "UPDATE ".$this->db_name.
+ "UPDATE ".get_table_name($this->db_name).
" SET del=1, changed=".$this->db->now().
" WHERE user_id=?".
" AND contact_id IN ($ids)",
@@ -479,7 +474,7 @@ class rcube_contacts extends rcube_addressbook
*/
function delete_all()
{
- $this->db->query("DELETE FROM {$this->db_name} WHERE user_id=?", $this->user_id);
+ $this->db->query("DELETE FROM ".get_table_name($this->db_name)." WHERE user_id = ?", $this->user_id);
$this->cache = null;
return $this->db->affected_rows();
}
@@ -499,12 +494,12 @@ class rcube_contacts extends rcube_addressbook
$name = $this->unique_groupname($name);
$this->db->query(
- "INSERT INTO ".$this->db_groups.
+ "INSERT INTO ".get_table_name($this->db_groups).
" (user_id, changed, name)".
" VALUES (".intval($this->user_id).", ".$this->db->now().", ".$this->db->quote($name).")"
);
- if ($insert_id = $this->db->insert_id($this->get_sequence_name('contactgroups')))
+ if ($insert_id = $this->db->insert_id($this->db_groups))
$result = array('id' => $insert_id, 'name' => $name);
return $result;
@@ -521,7 +516,7 @@ class rcube_contacts extends rcube_addressbook
{
// flag group record as deleted
$sql_result = $this->db->query(
- "UPDATE ".$this->db_groups.
+ "UPDATE ".get_table_name($this->db_groups).
" SET del=1, changed=".$this->db->now().
" WHERE contactgroup_id=?",
$gid
@@ -546,7 +541,7 @@ class rcube_contacts extends rcube_addressbook
$name = $this->unique_groupname($newname);
$sql_result = $this->db->query(
- "UPDATE ".$this->db_groups.
+ "UPDATE ".get_table_name($this->db_groups).
" SET name=?, changed=".$this->db->now().
" WHERE contactgroup_id=?",
$name, $gid
@@ -572,7 +567,7 @@ class rcube_contacts extends rcube_addressbook
foreach ($ids as $contact_id) {
$sql_result = $this->db->query(
- "SELECT 1 FROM ".$this->db_groupmembers.
+ "SELECT 1 FROM ".get_table_name($this->db_groupmembers).
" WHERE contactgroup_id=?".
" AND contact_id=?",
$group_id,
@@ -581,7 +576,7 @@ class rcube_contacts extends rcube_addressbook
if (!$this->db->num_rows($sql_result)) {
$this->db->query(
- "INSERT INTO ".$this->db_groupmembers.
+ "INSERT INTO ".get_table_name($this->db_groupmembers).
" (contactgroup_id, contact_id, created)".
" VALUES (?, ?, ".$this->db->now().")",
$group_id,
@@ -612,7 +607,7 @@ class rcube_contacts extends rcube_addressbook
$ids = $this->db->array2list($ids, 'integer');
$sql_result = $this->db->query(
- "DELETE FROM ".$this->db_groupmembers.
+ "DELETE FROM ".get_table_name($this->db_groupmembers).
" WHERE contactgroup_id=?".
" AND contact_id IN ($ids)",
$group_id
@@ -635,7 +630,7 @@ class rcube_contacts extends rcube_addressbook
do {
$sql_result = $this->db->query(
- "SELECT 1 FROM ".$this->db_groups.
+ "SELECT 1 FROM ".get_table_name($this->db_groups).
" WHERE del<>1".
" AND user_id=?".
" AND name=?",
@@ -650,23 +645,4 @@ class rcube_contacts extends rcube_addressbook
return $checkname;
}
-
- /**
- * Wrapper for global get_table_name() which can be re-implemented
- * by a derived class
- */
- protected function get_table_name($table)
- {
- return get_table_name($table);
- }
-
- /**
- * Wrapper for global get_sequence_name() which can be re-implemented
- * by a derived class
- */
- protected function get_sequence_name($table)
- {
- return get_sequence_name($table);
- }
-
}