From 93272ea91b3263acd883cac77986125e9a2ad8c6 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 29 Oct 2010 08:41:11 -0400
Subject: [PATCH] - Use consistent results from some functions, code cleanup

---
 program/include/rcube_imap_generic.php |   73 ++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 28 deletions(-)

diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php
index e9a5a2d..5d16dc0 100644
--- a/program/include/rcube_imap_generic.php
+++ b/program/include/rcube_imap_generic.php
@@ -1199,35 +1199,52 @@
 	    return implode(',', $result);
     }
 
-    function UID2ID($folder, $uid)
+    /**
+     * Returns message sequence identifier
+     *
+     * @param string $mailbox Mailbox name
+     * @param int    $uid     Message unique identifier (UID)
+     *
+     * @return int Message sequence identifier
+     * @access public
+     */
+    function UID2ID($mailbox, $uid)
     {
 	    if ($uid > 0) {
-    		$id_a = $this->search($folder, "UID $uid");
+    		$id_a = $this->search($mailbox, "UID $uid");
 	    	if (is_array($id_a) && count($id_a) == 1) {
-		    	return $id_a[0];
+		    	return (int) $id_a[0];
 		    }
 	    }
-	    return false;
+	    return null;
     }
 
-    function ID2UID($folder, $id)
+    /**
+     * Returns message unique identifier (UID)
+     *
+     * @param string $mailbox Mailbox name
+     * @param int    $uid     Message sequence identifier
+     *
+     * @return int Message unique identifier
+     * @access public
+     */
+    function ID2UID($mailbox, $id)
     {
-	    if (empty($id)) {
-	        return 	-1;
+	    if (empty($id) || $id < 0) {
+	        return 	null;
 	    }
 
     	if (!$this->select($folder)) {
-            return -1;
+            return null;
         }
 
-	    $result  = -1;
         list($code, $response) = $this->execute('FETCH', array($id, '(UID)'));
 
         if ($code == self::ERROR_OK && preg_match("/^\* $id FETCH \(UID (.*)\)/i", $response, $m)) {
-			$result = $m[1];
+			return (int) $m[1];
         }
 
-    	return $result;
+    	return null;
     }
 
     function fetchUIDs($mailbox, $message_set=null)
@@ -1615,18 +1632,32 @@
     function copy($messages, $from, $to)
     {
 	    if (empty($from) || empty($to)) {
-	        return -1;
+	        return false;
 	    }
 
 	    if (!$this->select($from)) {
-            return -1;
+	        return false;
 	    }
 
         $result = $this->execute('UID COPY', array(
             $this->compressMessageSet($messages), $this->escape($to)),
             self::COMMAND_NORESPONSE);
 
-	    return $result;
+	    return ($result == self::ERROR_OK);
+    }
+
+    function move($messages, $from, $to)
+    {
+        if (!$from || !$to) {
+            return false;
+        }
+
+        $r = $this->copy($messages, $from, $to);
+
+        if ($r) {
+            return $this->delete($from, $messages);
+        }
+        return $r;
     }
 
     // Don't be tempted to change $str to pass by reference to speed this up - it will slow it down by about
@@ -1804,20 +1835,6 @@
         }
 
 	    return false;
-    }
-
-    function move($messages, $from, $to)
-    {
-        if (!$from || !$to) {
-            return -1;
-        }
-
-        $r = $this->copy($messages, $from, $to);
-
-        if ($r==0) {
-            return $this->delete($from, $messages);
-        }
-        return $r;
     }
 
     /**

--
Gitblit v1.9.1