From c9d09bbe43f268c11cadc9846652ff33521edf6c Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 25 Jan 2006 15:10:12 -0500
Subject: [PATCH] Updated localizations

---
 program/include/rcube_imap.inc |   64 +++++++++++++++++++++++---------
 1 files changed, 46 insertions(+), 18 deletions(-)

diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index 7b71dc0..7f91d3a 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -70,7 +70,7 @@
    */
   function __construct($db_conn)
     {
-    $this->db = $db_conn;    
+    $this->db = $db_conn;
     }
 
 
@@ -376,14 +376,28 @@
     }
 
 
-  // get message count for a specific mailbox; acceptes modes are: ALL, UNSEEN, RECENT
+  /**
+   * Get message count for a specific mailbox
+   *
+   * @param   string   Mailbox/folder name
+   * @param   string   Mode for count [ALL|UNSEEN|RECENT]
+   * @param   boolean  Force reading from server and update cache
+   * @return  number   Number of messages
+   * @access  public   
+   */
   function messagecount($mbox='', $mode='ALL', $force=FALSE)
     {
     $mailbox = $mbox ? $this->_mod_mailbox($mbox) : $this->mailbox;
     return $this->_messagecount($mailbox, $mode, $force);
     }
 
-  // private method for getting nr of mesages
+
+  /**
+   * Private method for getting nr of messages
+   *
+   * @access  private
+   * @see     rcube_imap::messagecount
+   */
   function _messagecount($mailbox='', $mode='ALL', $force=FALSE)
     {
     $a_mailbox_cache = FALSE;
@@ -442,8 +456,17 @@
     }
 
 
-  // public method for listing headers
-  // convert mailbox name with root dir first
+  /**
+   * Public method for listing headers
+   * convert mailbox name with root dir first
+   *
+   * @param   string   Mailbox/folder name
+   * @param   number   Current page to list
+   * @param   string   Header field to sort by
+   * @param   string   Sort order [ASC|DESC]
+   * @return  array    Indexed array with message header objects
+   * @access  public   
+   */
   function list_headers($mbox='', $page=NULL, $sort_field=NULL, $sort_order=NULL)
     {
     $mailbox = $mbox ? $this->_mod_mailbox($mbox) : $this->mailbox;
@@ -451,7 +474,12 @@
     }
 
 
-  // private method for listing message header
+  /**
+   * Private method for listing message header
+   *
+   * @access  private
+   * @see     rcube_imap::list_headers
+   */
   function _list_headers($mailbox='', $page=NULL, $sort_field=NULL, $sort_order=NULL, $recursive=FALSE)
     {
     if (!strlen($mailbox))
@@ -629,7 +657,7 @@
     // cache is OK
     if ($cache_status>0)
       {
-      $a_index = $this->get_message_cache_index($cache_key, FALSE, $this->sort_field);
+      $a_index = $this->get_message_cache_index($cache_key, TRUE, $this->sort_field, $this->sort_order);
       return array_values($a_index);
       }
 
@@ -1382,7 +1410,7 @@
     }
 
    
-  function get_message_cache_index($key, $force=FALSE, $sort_col='idx')
+  function get_message_cache_index($key, $force=FALSE, $sort_col='idx', $sort_order='ASC')
     {
     static $sa_message_index = array();
     
@@ -1395,7 +1423,7 @@
        FROM ".get_table_name('messages')."
        WHERE  user_id=?
        AND    cache_key=?
-       ORDER BY ".$sort_col." ASC",
+       ORDER BY ".$this->db->quote_identifier($sort_col)." ".$sort_order,
       $_SESSION['user_id'],
       $key);
 
@@ -1413,16 +1441,16 @@
 
     $this->db->query(
       "INSERT INTO ".get_table_name('messages')."
-       (user_id, del, cache_key, idx, uid, subject, ".$this->db->quoteIdentifier('from').", ".$this->db->quoteIdentifier('to').", cc, date, size, headers)
-       VALUES (?, 0, ?, ?, ?, ?, ?, ?, ?, ".$this->db->fromunixtime($headers->timestamp).", ?, ?)",
+       (user_id, del, cache_key, created, idx, uid, subject, ".$this->db->quoteIdentifier('from').", ".$this->db->quoteIdentifier('to').", cc, date, size, headers)
+       VALUES (?, 0, ?, now(), ?, ?, ?, ?, ?, ?, ".$this->db->fromunixtime($headers->timestamp).", ?, ?)",
       $_SESSION['user_id'],
       $key,
       $index,
       $headers->uid,
-      substr($this->decode_header($headers->subject, TRUE), 0, 128),
-      substr($this->decode_header($headers->from, TRUE), 0, 128),
-      substr($this->decode_header($headers->to, TRUE), 0, 128),
-      substr($this->decode_header($headers->cc, TRUE), 0, 128),
+      substr($this->decode_header((string)$headers->subject, TRUE), 0, 128),
+      substr($this->decode_header((string)$headers->from, TRUE), 0, 128),
+      substr($this->decode_header((string)$headers->to, TRUE), 0, 128),
+      substr($this->decode_header((string)$headers->cc, TRUE), 0, 128),
       (int)$headers->size,
       serialize($headers));
     }
@@ -1548,10 +1576,10 @@
         $rest = quoted_printable_decode($rest);
         }
 
-      return decode_specialchars($rest, $a[0]);
+      return rcube_charset_convert($rest, $a[0]);
       }
     else
-      return $str;    //we dont' know what to do with this  
+      return $str;    // we dont' know what to do with this  
     }
 
 
@@ -1599,7 +1627,7 @@
   function charset_decode($body, $ctype_param)
     {
     if (is_array($ctype_param) && !empty($ctype_param['charset']))
-      return decode_specialchars($body, $ctype_param['charset']);
+      return rcube_charset_convert($body, $ctype_param['charset']);
 
     return $body;
     }

--
Gitblit v1.9.1