summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsvncommit <devs@roundcube.net>2005-10-20 16:58:34 +0000
committersvncommit <devs@roundcube.net>2005-10-20 16:58:34 +0000
commit53560c521e594d6047f58a25ccbc266c56bbcf05 (patch)
tree6703dcb8ef1319ee63c42f7edf6b769be070efda
parentba94bf4282c142fb9e3d2c546c5ba8b6df2ac7e1 (diff)
added DB LIMIT abstraction
-rwxr-xr-xprogram/include/rcube_db.inc11
-rwxr-xr-xprogram/include/rcube_mdb2.inc5
-rw-r--r--program/localization/es/labels.inc1
-rw-r--r--program/steps/addressbook/delete.inc7
-rw-r--r--program/steps/addressbook/func.inc7
-rw-r--r--program/steps/addressbook/list.inc7
6 files changed, 22 insertions, 16 deletions
diff --git a/program/include/rcube_db.inc b/program/include/rcube_db.inc
index 2b0c01af9..f732da298 100755
--- a/program/include/rcube_db.inc
+++ b/program/include/rcube_db.inc
@@ -103,7 +103,7 @@ class rcube_db
// Query database (read operations)
- function query($query)
+ function query($query, $offset=0, $numrows=0)
{
// Read or write ?
if (strtolower(trim(substr($query,0,6)))=='select')
@@ -115,8 +115,13 @@ class rcube_db
if ($this->db_provider == 'sqlite')
$query = $this->_sqlite_prepare_query($query);
-
- $result = $this->db_handle->query($query);
+
+ if ($numrows || $offset)
+ {
+ $result = $this->db_handle->limitQuery($query,$offset,$numrows);
+ }
+ else
+ $result = $this->db_handle->query($query);
if (DB::isError($result))
raise_error(array('code' => 500,
diff --git a/program/include/rcube_mdb2.inc b/program/include/rcube_mdb2.inc
index 77518e7ae..cd394a878 100755
--- a/program/include/rcube_mdb2.inc
+++ b/program/include/rcube_mdb2.inc
@@ -103,7 +103,7 @@ class rcube_db
// Query database (read operations)
- function query($query)
+ function query($query, $offset=0, $numrows=0)
{
// Read or write ?
if (strtolower(trim(substr($query,0,6)))=='select')
@@ -116,6 +116,9 @@ class rcube_db
if ($this->db_provider == 'sqlite')
$query = $this->_sqlite_prepare_query($query);
+ $this->db_handle->row_offset = $offset;
+ $this->db_handle->row_limit = $numrows;
+
$result = $this->db_handle->query($query);
if (PEAR::isError($result))
diff --git a/program/localization/es/labels.inc b/program/localization/es/labels.inc
index f0fdca561..0f627ebb7 100644
--- a/program/localization/es/labels.inc
+++ b/program/localization/es/labels.inc
@@ -63,6 +63,7 @@ $labels['filesize'] = 'Tamaņo del fichero';
$labels['preferhtml'] = 'Prefiero HTML';
$labels['htmlmessage'] = 'Mensaje HTML';
+//$labels['prettydate'] = '';
$labels['addtoaddressbook'] = 'Aņadir a contactos';
diff --git a/program/steps/addressbook/delete.inc b/program/steps/addressbook/delete.inc
index 789d84149..e988f5569 100644
--- a/program/steps/addressbook/delete.inc
+++ b/program/steps/addressbook/delete.inc
@@ -65,12 +65,11 @@ if ($_GET['_cid'])
$sql_result = $DB->query(sprintf("SELECT * FROM %s
WHERE del!='1'
AND user_id=%d
- ORDER BY name
- LIMIT %d, %d",
+ ORDER BY name",
get_table_name('contacts'),
- $_SESSION['user_id'],
+ $_SESSION['user_id']),
$start_row,
- $count));
+ $count);
$commands .= rcmail_js_contacts_list($sql_result);
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc
index 7858a4e88..53628162b 100644
--- a/program/steps/addressbook/func.inc
+++ b/program/steps/addressbook/func.inc
@@ -59,12 +59,11 @@ function rcmail_contacts_list($attrib)
$sql_result = $DB->query(sprintf("SELECT * FROM %s
WHERE del!='1'
AND user_id=%d
- ORDER BY name
- LIMIT %d, %d",
+ ORDER BY name",
get_table_name('contacts'),
- $_SESSION['user_id'],
+ $_SESSION['user_id']),
$start_row,
- $CONFIG['pagesize']));
+ $CONFIG['pagesize']);
}
else
$sql_result = NULL;
diff --git a/program/steps/addressbook/list.inc b/program/steps/addressbook/list.inc
index 2c5148a91..4ed092541 100644
--- a/program/steps/addressbook/list.inc
+++ b/program/steps/addressbook/list.inc
@@ -43,12 +43,11 @@ $start_row = ($CONTACTS_LIST['page']-1) * $CONFIG['pagesize'];
$sql_result = $DB->query(sprintf("SELECT * FROM %s
WHERE del!='1'
AND user_id=%d
- ORDER BY name
- LIMIT %d, %d",
+ ORDER BY name",
get_table_name('contacts'),
- $_SESSION['user_id'],
+ $_SESSION['user_id']),
$start_row,
- $CONFIG['pagesize']));
+ $CONFIG['pagesize']);
$commands .= rcmail_js_contacts_list($sql_result);