From 9abd0f0089db877d2f6ec9f3a0b978ef3f11ce86 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 27 Nov 2008 06:25:31 -0500
Subject: [PATCH] - Allow UTF-8 folder names in config (#1485579) - Add junk_mbox option configuration in installer (#1485579)

---
 CHANGELOG                        |    5 +++++
 installer/config.php             |   16 ++++++++++++++--
 installer/utils.php              |    2 +-
 program/include/rcube_config.php |    9 ++++++++-
 4 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 8501ab2..b4042af 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,11 @@
 CHANGELOG RoundCube Webmail
 ---------------------------
 
+2008/11/26 (alec)
+----------
+- Allow UTF-8 folder names in config (#1485579)
+- Add junk_mbox option configuration in installer (#1485579)
+
 2008/11/23 (thomasb)
 ----------
 - Do serverside addressbook queries for autocompletion (#1485531)
diff --git a/installer/config.php b/installer/config.php
index 13371af..fef222d 100644
--- a/installer/config.php
+++ b/installer/config.php
@@ -348,7 +348,7 @@
 echo $text_sentmbox->show($RCI->getprop('sent_mbox'));
 
 ?>
-<div>Store sent messages is this folder</div>
+<div>Store sent messages in this folder</div>
 
 <p class="hint">Leave blank if sent messages should not be stored</p>
 </dd>
@@ -374,9 +374,21 @@
 echo $text_draftsmbox->show($RCI->getprop('drafts_mbox'));
 
 ?>
-<div>Store draft messages is this folder</div>
+<div>Store draft messages in this folder</div>
+
+<p class="hint">Leave blank if they should not be stored</p>
 </dd>
 
+<dt class="propname">junk_mbox</dt>
+<dd>
+<?php
+
+$text_junkmbox = new html_inputfield(array('name' => '_junk_mbox', 'size' => 20, 'id' => "cfgjunkmbox"));
+echo $text_junkmbox->show($RCI->getprop('junk_mbox'));
+
+?>
+<div>Store spam messages in this folder</div>
+</dd>
 </dl>
 </fieldset>
 
diff --git a/installer/utils.php b/installer/utils.php
index 76a3357..c1775f2 100644
--- a/installer/utils.php
+++ b/installer/utils.php
@@ -24,7 +24,7 @@
  */
 function Q($string)
 {
-  return htmlentities($string);
+  return htmlentities($string, ENT_COMPAT, 'UTF-8');
 }
 
 
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index 0723834..4dcee53 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -74,7 +74,14 @@
     // fix paths
     $this->prop['log_dir'] = $this->prop['log_dir'] ? unslashify($this->prop['log_dir']) : INSTALL_PATH . 'logs';
     $this->prop['temp_dir'] = $this->prop['temp_dir'] ? unslashify($this->prop['temp_dir']) : INSTALL_PATH . 'temp';
-    
+
+    // fix default imap folders encode
+    foreach (Array('draft_mbox', 'junk_mbox', 'sent_mbox', 'trash_mbox') as $folder)
+      $this->prop[$folder] = rcube_charset_convert($this->prop[$folder], RCMAIL_CHARSET, 'UTF-7');
+
+    foreach ($this->prop['default_imap_folders'] as $n => $folder)
+      $this->prop['default_imap_folders'][$n] = rcube_charset_convert($folder, RCMAIL_CHARSET, 'UTF-7');
+
     // set PHP error logging according to config
     if ($this->prop['debug_level'] & 1) {
       ini_set('log_errors', 1);

--
Gitblit v1.9.1