summaryrefslogtreecommitdiff
path: root/program/include
diff options
context:
space:
mode:
Diffstat (limited to 'program/include')
-rw-r--r--program/include/main.inc49
1 files changed, 49 insertions, 0 deletions
diff --git a/program/include/main.inc b/program/include/main.inc
index 26bc8cd0d..140f1be6e 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -1469,6 +1469,31 @@ function rcmail_localize_foldername($name)
}
+function rcmail_localize_folderpath($path)
+{
+ global $RCMAIL;
+
+ $protect_folders = $RCMAIL->config->get('protect_default_folders');
+ $default_folders = (array) $RCMAIL->config->get('default_imap_folders');
+ $delimiter = $RCMAIL->imap->get_hierarchy_delimiter();
+ $path = explode($delimiter, $path);
+ $result = array();
+
+ foreach ($path as $idx => $dir) {
+ $directory = implode($delimiter, array_slice($path, 0, $idx+1));
+ if ($protect_folders && in_array($directory, $default_folders)) {
+ unset($result);
+ $result[] = rcmail_localize_foldername($directory);
+ }
+ else {
+ $result[] = rcube_charset_convert($dir, 'UTF7-IMAP');
+ }
+ }
+
+ return implode($delimiter, $result);
+}
+
+
function rcmail_quota_display($attrib)
{
global $OUTPUT;
@@ -2345,3 +2370,27 @@ function rcube_autocomplete_init()
$RCMAIL->output->set_env('autocomplete_min_length', $RCMAIL->config->get('autocomplete_min_length'));
$RCMAIL->output->add_label('autocompletechars');
}
+
+function rcmail_localize_folderpath($path)
+{
+ global $RCMAIL;
+
+ $protect_folders = $RCMAIL->config->get('protect_default_folders');
+ $default_folders = (array) $RCMAIL->config->get('default_imap_folders');
+ $delimiter = $RCMAIL->imap->get_hierarchy_delimiter();
+ $path = explode($delimiter, $path);
+ $result = array();
+
+ foreach ($path as $idx => $dir) {
+ $directory = implode($delimiter, array_slice($path, 0, $idx+1));
+ if ($protect_folders && in_array($directory, $default_folders)) {
+ unset($result);
+ $result[] = rcmail_localize_foldername($directory);
+ }
+ else {
+ $result[] = rcube_charset_convert($dir, 'UTF7-IMAP');
+ }
+ }
+
+ return implode($delimiter, $result);
+}