From ed205f41836e4b3735c0a5a2da61cd8304bdbad0 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 09 Jun 2009 04:18:06 -0400
Subject: [PATCH] Change rcube_user::list_identities() to return an array instead of a sql-result

---
 program/steps/mail/compose.inc |    6 +++---
 program/include/rcube_user.php |   13 +++++++++----
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/program/include/rcube_user.php b/program/include/rcube_user.php
index 281328a..fb44cb0 100644
--- a/program/include/rcube_user.php
+++ b/program/include/rcube_user.php
@@ -135,12 +135,12 @@
    * Get default identity of this user
    *
    * @param int  Identity ID. If empty, the default identity is returned
-   * @return array Hash array with all cols of the 
+   * @return array Hash array with all cols of the identity record
    */
   function get_identity($id = null)
   {
-    $sql_result = $this->list_identities($id ? sprintf('AND identity_id=%d', $id) : '');
-    return $this->db->fetch_assoc($sql_result);
+    $result = $this->list_identities($id ? sprintf('AND identity_id=%d', $id) : '');
+    return $result[0];
   }
   
   
@@ -160,7 +160,12 @@
        ORDER BY ".$this->db->quoteIdentifier('standard')." DESC, name ASC, identity_id ASC",
       $this->ID);
     
-    return $sql_result;
+    $result = array();
+    while ($sql_arr = $this->db->fetch_assoc($sql_result)) {
+      $result[] = $sql_arr;
+    }
+    
+    return $result;
   }
   
   
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index f753b35..8d541da 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -278,9 +278,9 @@
   }
 
   // get this user's identities
-  $sql_result = $USER->list_identities();
+  $user_identities = $USER->list_identities();
 
-  if ($DB->num_rows($sql_result))
+  if (count($user_identities))
   {
     $from_id = 0;
     $a_signatures = array();
@@ -288,7 +288,7 @@
     $field_attrib['onchange'] = JS_OBJECT_NAME.".change_identity(this)";
     $select_from = new html_select($field_attrib);
 
-    while ($sql_arr = $DB->fetch_assoc($sql_result))
+    foreach ($user_identities as $sql_arr)
     {
       $identity_id = $sql_arr['identity_id'];
       $select_from->add(format_email_recipient($sql_arr['email'], $sql_arr['name']), $identity_id);

--
Gitblit v1.9.1