Do namespace stripping for sent-mail inside of Identity object
authorMichael M Slusarz <slusarz@curecanti.org>
Wed, 14 Apr 2010 10:02:59 +0000 (04:02 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Wed, 14 Apr 2010 20:03:53 +0000 (14:03 -0600)
imp/lib/Prefs/Identity.php
imp/lib/Prefs/Ui.php

index c6281fa..838a16f 100644 (file)
@@ -493,15 +493,29 @@ class Imp_Prefs_Identity extends Horde_Prefs_Identity
     }
 
     /**
+     * Returns a property from one of the identities.
+     *
      * @see Horde_Prefs_Identity::getValue()
      */
     public function getValue($key, $identity = null)
     {
+        $val = parent::getValue($key, $identity);
+        return (($key == 'sent_mail_folder') && strlen($val))
+            ? IMP::folderPref($val, true)
+            : $val;
+    }
+
+    /**
+     * Sets a property with a specified value.
+     *
+     * @see Horde_Prefs_Identity::getValue()
+     */
+    public function setValue($key, $val, $identity = null)
+    {
         if ($key == 'sent_mail_folder') {
-            $folder = parent::getValue('sent_mail_folder', $identity);
-            return strlen($folder) ? IMP::folderPref($folder, true) : '';
+            $val = IMP::folderPrefs($val, false);
         }
-        return parent::getValue($key, $identity);
+        return parent::setValue($key, $val, $identity);
     }
 
     /**
index 061c31f..c4455d6 100644 (file)
@@ -1200,9 +1200,7 @@ class IMP_Prefs_Ui
             $imp_folder->create($sent_mail_folder, $prefs->getValue('subscribe'));
         }
 
-        $GLOBALS['injector']->getInstance('IMP_Identity')->setValue('sent_mail_folder', IMP::folderPref($sent_mail_folder, false));
-
-        return true;
+        return $GLOBALS['injector']->getInstance('IMP_Identity')->setValue('sent_mail_folder', $sent_mail_folder);
     }
 
     /* Personal S/MIME certificate management. */