summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Carter <dpc22@cam.ac.uk>2013-05-29 07:45:22 +0100
committerDavid Carter <dpc22@magenta.csi.cam.ac.uk>2013-05-29 07:51:44 +0100
commit52deb18d9646116114f9649c87ffc4f0bc378db1 (patch)
treea05582ea283cf003378ee7d6081a0f364389fff5
parentb91bc101a0a3c8227b225ce557954f6a1e654ed3 (diff)
Add show_actual_foldernames preference and configuration option.
When enabled this setting shows actual folder names rather than the localised verions for the four default folders: $rcmail_config['default_folders'] = array('INBOX', 'Drafts', 'sent-mail', 'spam', 'Trash');
-rw-r--r--config/main.inc.php.dist3
-rw-r--r--program/include/rcmail.php9
-rw-r--r--program/localization/en_GB/labels.inc1
-rw-r--r--program/steps/settings/func.inc13
-rw-r--r--program/steps/settings/save_prefs.inc2
5 files changed, 26 insertions, 2 deletions
diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist
index 4a73ff119..168702611 100644
--- a/config/main.inc.php.dist
+++ b/config/main.inc.php.dist
@@ -469,6 +469,9 @@ $rcmail_config['trash_mbox'] = 'Trash';
// NOTE: Use folder names with namespace prefix (INBOX. on Courier-IMAP)
$rcmail_config['default_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash');
+// Disable localization of the four default folder names listed above
+$rcmail_config['show_actual_foldernames'] = false;
+
// automatically create the above listed default folders on first login
$rcmail_config['create_default_folders'] = false;
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 89f2f9647..76edfab0b 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -1326,6 +1326,9 @@ class rcmail extends rcube
$msgcounts = $this->storage->get_cache('messagecount');
$collapsed = $this->config->get('collapsed_folders');
+ if ($this->config->get('show_actual_foldernames'))
+ $realnames = true;
+
$out = '';
foreach ($arrFolders as $folder) {
$title = null;
@@ -1491,7 +1494,8 @@ class rcmail extends rcube
if ($count > 1) {
for ($i = 0; $i < $count; $i++) {
$folder = implode($delimiter, array_slice($path, 0, -$i));
- if ($folder_class = $this->folder_classname($folder)) {
+ if (!$this->config->get('show_actual_foldernames') &&
+ ($folder_class = $this->folder_classname($folder))) {
$name = implode($delimiter, array_slice($path, $count - $i));
return $this->gettext($folder_class) . $delimiter . rcube_charset::convert($name, 'UTF7-IMAP');
}
@@ -1499,7 +1503,8 @@ class rcmail extends rcube
}
}
- if ($folder_class = $this->folder_classname($name)) {
+ if (!$this->config->get('show_actual_foldernames') &&
+ ($folder_class = $this->folder_classname($name))) {
return $this->gettext($folder_class);
}
else {
diff --git a/program/localization/en_GB/labels.inc b/program/localization/en_GB/labels.inc
index 275208a98..9052d2d4d 100644
--- a/program/localization/en_GB/labels.inc
+++ b/program/localization/en_GB/labels.inc
@@ -37,6 +37,7 @@ $labels['drafts'] = 'Drafts';
$labels['sent'] = 'Sent';
$labels['trash'] = 'Deleted Items';
$labels['junk'] = 'Junk';
+$labels['show_actual_foldernames'] = 'Show actual names for special folders';
// message listing
$labels['subject'] = 'Subject';
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index ce86b1cd6..62857ac88 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -770,6 +770,19 @@ function rcmail_user_prefs($current=null)
'main' => array('name' => Q(rcube_label('mainoptions'))),
);
+
+ if (!isset($no_override['show_actual_foldernames'])) {
+ $field_id = 'show_actual_foldernames';
+ $input_show_actual_foldernames =
+ new html_checkbox(array('name' => '_show_actual_foldernames',
+ 'id' => $field_id, 'value' => 1));
+
+ $blocks['main']['options']['show_actul_foldernames'] = array(
+ 'title' => html::label($field_id,
+ Q(rcube_label('show_actual_foldernames'))),
+ 'content' => $input_show_actual_foldernames->show($config['show_actual_foldernames']?1:0),
+ );
+ }
// Configure special folders
if (!isset($no_override['default_folders'])) {
// load folders list only when needed
diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc
index 3bb82aa38..b471489a5 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -119,6 +119,8 @@ switch ($CURR_SECTION)
case 'folders':
$a_user_prefs = array(
+ 'show_actual_foldernames' =>
+ isset($_POST['_show_actual_foldernames']) ? TRUE : FALSE,
'drafts_mbox' => get_input_value('_drafts_mbox', RCUBE_INPUT_POST, true),
'sent_mbox' => get_input_value('_sent_mbox', RCUBE_INPUT_POST, true),
'junk_mbox' => get_input_value('_junk_mbox', RCUBE_INPUT_POST, true),