Fix get_identities() for the case where the user has not set an email
[squirrelmail.git] / functions / identity.php
index e4e0d4d1f1dd0d8ba7b2c1191d8e3919a97a6082..b3538c69386b539b7efa135a8b6a799c2897613d 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * identity.php
  *
- * Copyright (c) 1999-2004 The SquirrelMail Project Team
+ * Copyright (c) 1999-2005 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * This contains utility functions for dealing with multiple identities
@@ -26,17 +26,20 @@ include_once(SM_PATH . 'include/load_prefs.php');
 */
 function get_identities() {
 
-    global $username, $data_dir;
+    global $username, $data_dir, $domain;
+
+    $em = getPref($data_dir,$username,'email_address');
+    if ( ! $em )  $em = $username.'@'.$domain;
 
-    $num_ids = getPref($data_dir,$username,'identities');
     $identities = array();
     /* We always have this one, even if the user doesn't use multiple identities */
     $identities[] = array('full_name' => getPref($data_dir,$username,'full_name'),
-        'email_address' => getPref($data_dir,$username,'email_address'),
+        'email_address' => $em,
         'reply_to' => getPref($data_dir,$username,'reply_to'),
         'signature' => getSig($data_dir,$username,'g'),
         'index' => 0 );
 
+    $num_ids = getPref($data_dir,$username,'identities');
     /* If there are any others, add them to the array */
     if (!empty($num_ids) && $num_ids > 1) {
         for ($i=1;$i<$num_ids;$i++) {