From f8c96f737c1916377e361e3fbaa8a415c4101ca4 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Thu, 07 Jun 2012 04:34:56 -0400
Subject: [PATCH] Enable attachments drag&drop upload for default skin
---
program/include/rcube_imap_cache.php | 81 +++++++++++++++++++++-------------------
1 files changed, 42 insertions(+), 39 deletions(-)
diff --git a/program/include/rcube_imap_cache.php b/program/include/rcube_imap_cache.php
index ee53dc2..eb2df16 100644
--- a/program/include/rcube_imap_cache.php
+++ b/program/include/rcube_imap_cache.php
@@ -18,9 +18,6 @@
| Author: Thomas Bruederli <roundcube@gmail.com> |
| Author: Aleksander Machniak <alec@alec.pl> |
+-----------------------------------------------------------------------+
-
- $Id$
-
*/
@@ -95,7 +92,7 @@
{
$this->db = $db;
$this->imap = $imap;
- $this->userid = (int)$userid;
+ $this->userid = $userid;
$this->skip_deleted = $skip_deleted;
}
@@ -290,7 +287,7 @@
* @param string $mailbox Folder name
* @param array $msgs Message UIDs
*
- * @return array The list of messages (rcube_mail_header) indexed by UID
+ * @return array The list of messages (rcube_message_header) indexed by UID
*/
function get_messages($mailbox, $msgs = array())
{
@@ -301,7 +298,7 @@
// Fetch messages from cache
$sql_result = $this->db->query(
"SELECT uid, data, flags"
- ." FROM ".get_table_name('cache_messages')
+ ." FROM ".$this->db->table_name('cache_messages')
." WHERE user_id = ?"
." AND mailbox = ?"
." AND uid IN (".$this->db->array2list($msgs, 'integer').")",
@@ -314,10 +311,10 @@
$uid = intval($sql_arr['uid']);
$result[$uid] = $this->build_message($sql_arr);
- // save memory, we don't need message body here (?)
- $result[$uid]->body = null;
-
if (!empty($result[$uid])) {
+ // save memory, we don't need message body here (?)
+ $result[$uid]->body = null;
+
unset($msgs[$uid]);
}
}
@@ -348,7 +345,7 @@
* from IMAP server
* @param bool $no_cache Enables internal cache usage
*
- * @return rcube_mail_header Message data
+ * @return rcube_message_header Message data
*/
function get_message($mailbox, $uid, $update = true, $cache = true)
{
@@ -362,7 +359,7 @@
$sql_result = $this->db->query(
"SELECT flags, data"
- ." FROM ".get_table_name('cache_messages')
+ ." FROM ".$this->db->table_name('cache_messages')
." WHERE user_id = ?"
." AND mailbox = ?"
." AND uid = ?",
@@ -404,9 +401,9 @@
/**
* Saves the message in cache.
*
- * @param string $mailbox Folder name
- * @param rcube_mail_header $message Message data
- * @param bool $force Skips message in-cache existance check
+ * @param string $mailbox Folder name
+ * @param rcube_message_header $message Message data
+ * @param bool $force Skips message in-cache existance check
*/
function add_message($mailbox, $message, $force = false)
{
@@ -430,7 +427,7 @@
// here will work as select, assume row exist if affected_rows=0)
if (!$force) {
$res = $this->db->query(
- "UPDATE ".get_table_name('cache_messages')
+ "UPDATE ".$this->db->table_name('cache_messages')
." SET flags = ?, data = ?, changed = ".$this->db->now()
." WHERE user_id = ?"
." AND mailbox = ?"
@@ -444,7 +441,7 @@
// insert new record
$this->db->query(
- "INSERT INTO ".get_table_name('cache_messages')
+ "INSERT INTO ".$this->db->table_name('cache_messages')
." (user_id, mailbox, uid, flags, changed, data)"
." VALUES (?, ?, ?, ?, ".$this->db->now().", ?)",
$this->userid, $mailbox, (int) $message->uid, $flags, $msg);
@@ -479,7 +476,7 @@
}
$this->db->query(
- "UPDATE ".get_table_name('cache_messages')
+ "UPDATE ".$this->db->table_name('cache_messages')
." SET changed = ".$this->db->now()
.", flags = flags ".($enabled ? "+ $idx" : "- $idx")
." WHERE user_id = ?"
@@ -500,7 +497,7 @@
{
if (!strlen($mailbox)) {
$this->db->query(
- "DELETE FROM ".get_table_name('cache_messages')
+ "DELETE FROM ".$this->db->table_name('cache_messages')
." WHERE user_id = ?",
$this->userid);
}
@@ -513,11 +510,11 @@
}
$this->db->query(
- "DELETE FROM ".get_table_name('cache_messages')
+ "DELETE FROM ".$this->db->table_name('cache_messages')
." WHERE user_id = ?"
- ." AND mailbox = ".$this->db->quote($mailbox)
+ ." AND mailbox = ?"
.($uids !== null ? " AND uid IN (".$this->db->array2list((array)$uids, 'integer').")" : ""),
- $this->userid);
+ $this->userid, $mailbox);
}
}
@@ -536,17 +533,19 @@
// otherwise use 'valid' flag to not loose HIGHESTMODSEQ value
if ($remove) {
$this->db->query(
- "DELETE FROM ".get_table_name('cache_index')
- ." WHERE user_id = ".intval($this->userid)
- .(strlen($mailbox) ? " AND mailbox = ".$this->db->quote($mailbox) : "")
+ "DELETE FROM ".$this->db->table_name('cache_index')
+ ." WHERE user_id = ?"
+ .(strlen($mailbox) ? " AND mailbox = ".$this->db->quote($mailbox) : ""),
+ $this->userid
);
}
else {
$this->db->query(
- "UPDATE ".get_table_name('cache_index')
+ "UPDATE ".$this->db->table_name('cache_index')
." SET valid = 0"
- ." WHERE user_id = ".intval($this->userid)
- .(strlen($mailbox) ? " AND mailbox = ".$this->db->quote($mailbox) : "")
+ ." WHERE user_id = ?"
+ .(strlen($mailbox) ? " AND mailbox = ".$this->db->quote($mailbox) : ""),
+ $this->userid
);
}
@@ -569,9 +568,10 @@
function remove_thread($mailbox = null)
{
$this->db->query(
- "DELETE FROM ".get_table_name('cache_thread')
- ." WHERE user_id = ".intval($this->userid)
- .(strlen($mailbox) ? " AND mailbox = ".$this->db->quote($mailbox) : "")
+ "DELETE FROM ".$this->db->table_name('cache_thread')
+ ." WHERE user_id = ?"
+ .(strlen($mailbox) ? " AND mailbox = ".$this->db->quote($mailbox) : ""),
+ $this->userid
);
if (strlen($mailbox)) {
@@ -628,7 +628,7 @@
// Get index from DB
$sql_result = $this->db->query(
"SELECT data, valid"
- ." FROM ".get_table_name('cache_index')
+ ." FROM ".$this->db->table_name('cache_index')
." WHERE user_id = ?"
." AND mailbox = ?",
$this->userid, $mailbox);
@@ -665,7 +665,7 @@
// Get thread from DB
$sql_result = $this->db->query(
"SELECT data"
- ." FROM ".get_table_name('cache_thread')
+ ." FROM ".$this->db->table_name('cache_thread')
." WHERE user_id = ?"
." AND mailbox = ?",
$this->userid, $mailbox);
@@ -709,7 +709,7 @@
if ($exists) {
$sql_result = $this->db->query(
- "UPDATE ".get_table_name('cache_index')
+ "UPDATE ".$this->db->table_name('cache_index')
." SET data = ?, valid = 1, changed = ".$this->db->now()
." WHERE user_id = ?"
." AND mailbox = ?",
@@ -717,7 +717,7 @@
}
else {
$sql_result = $this->db->query(
- "INSERT INTO ".get_table_name('cache_index')
+ "INSERT INTO ".$this->db->table_name('cache_index')
." (user_id, mailbox, data, valid, changed)"
." VALUES (?, ?, ?, 1, ".$this->db->now().")",
$this->userid, $mailbox, $data);
@@ -740,7 +740,7 @@
if ($exists) {
$sql_result = $this->db->query(
- "UPDATE ".get_table_name('cache_thread')
+ "UPDATE ".$this->db->table_name('cache_thread')
." SET data = ?, changed = ".$this->db->now()
." WHERE user_id = ?"
." AND mailbox = ?",
@@ -748,7 +748,7 @@
}
else {
$sql_result = $this->db->query(
- "INSERT INTO ".get_table_name('cache_thread')
+ "INSERT INTO ".$this->db->table_name('cache_thread')
." (user_id, mailbox, data, changed)"
." VALUES (?, ?, ?, ".$this->db->now().")",
$this->userid, $mailbox, $data);
@@ -956,7 +956,7 @@
$uids = array();
$sql_result = $this->db->query(
"SELECT uid"
- ." FROM ".get_table_name('cache_messages')
+ ." FROM ".$this->db->table_name('cache_messages')
." WHERE user_id = ?"
." AND mailbox = ?",
$this->userid, $mailbox);
@@ -1003,7 +1003,7 @@
}
$this->db->query(
- "UPDATE ".get_table_name('cache_messages')
+ "UPDATE ".$this->db->table_name('cache_messages')
." SET flags = ?, changed = ".$this->db->now()
." WHERE user_id = ?"
." AND mailbox = ?"
@@ -1058,7 +1058,7 @@
*
* @param array $sql_arr Message row data
*
- * @return rcube_mail_header Message object
+ * @return rcube_message_header Message object
*/
private function build_message($sql_arr)
{
@@ -1146,3 +1146,6 @@
return $index;
}
}
+
+// for backward compat.
+class rcube_mail_header extends rcube_message_header { }
--
Gitblit v1.9.1