v4.3.6-cvs
----------
+[mms] Don't use translated folder prefixes in rename dialog (Bug #8554).
[jan] Add hook to retrieve public S/MIME and PGP keys.
/* Build the list of display names. */
reset($raw_rows);
-while (list(,$r) = each($raw_rows)) {
+$displayNames = $fullNames = array();
+while (list($k, $r) = each($raw_rows)) {
$displayNames[] = $r['display'];
+
+ $tmp = IMP::displayFolder($r['value'], true);
+ if ($tmp != $r['display']) {
+ $fullNames[$k] = $tmp;
+ }
}
+
Horde::addInlineScript(array(
- 'ImpFolders.displayNames = ' . Horde_Serialize::serialize($displayNames, Horde_Serialize::JSON, $charset)
+ 'ImpFolders.displayNames = ' . Horde_Serialize::serialize($displayNames, Horde_Serialize::JSON, $charset),
+ 'ImpFolders.fullNames = ' . Horde_Serialize::serialize($fullNames, Horde_Serialize::JSON, $charset)
));
/* Prepare the header template. */
if (IMP.conf.fixed_folders.indexOf(this.displayNames[j]) != -1) {
window.alert(IMP.text.folders_no_rename + ' ' + this.displayNames[j]);
} else {
- var tmp = window.prompt(IMP.text.folders_rename1 + ' ' + this.displayNames[j] + "\n" + IMP.text.folders_rename2, this.displayNames[j]);
+ var tmp = window.prompt(IMP.text.folders_rename1 + ' ' + this.displayNames[j] + "\n" + IMP.text.folders_rename2, this.fullNames[j] ? this.fullNames[j] : this.displayNames[j]);
if (tmp) {
newnames += tmp + "\n";
oldnames += f.value + "\n";
* strip that prefix out. Additionally, translate prefix text if this
* is one of the folders with special meaning.
*
- * @param string $folder The folder name to display (UTF7-IMAP).
+ * @param string $folder The folder name to display (UTF7-IMAP).
+ * @param boolean $notranslate Do not translate the folder prefix.
*
* @return string The folder, with any prefix gone/translated.
*/
- static public function displayFolder($folder)
+ static public function displayFolder($folder, $notranslate = false)
{
global $prefs;
$cache = &self::$_displaycache;
- if (isset($cache[$folder])) {
+ if (!$notranslate && isset($cache[$folder])) {
return $cache[$folder];
}
$out = $folder;
};
+ if ($notranslate) {
+ return $out;
+ }
+
foreach ($sub_array as $key => $val) {
if (stripos($out, $key) === 0) {
$len = strlen($key);