hiding default prefix in operations with folders. It is not visible in other
authortokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 6 Apr 2005 10:36:00 +0000 (10:36 +0000)
committertokul <tokul@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Wed, 6 Apr 2005 10:36:00 +0000 (10:36 +0000)
parts of interface

git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@9207 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/folder_manip.php

index 46ba4b9d8469beddabd0e1ca6eb4759830d69fcb..67625d347cc4846c9c316f135156ce6d00030c98 100644 (file)
@@ -1,19 +1,19 @@
 <?php
 
 /**
-* folder_manip.php
-*
-* Copyright (c) 1999-2005 The SquirrelMail Project Team
-* Licensed under the GNU GPL. For full terms see the file COPYING.
-*
-* Functions for IMAP folder manipulation:
-* (un)subscribe, create, rename, delete.
-*
-* @version $Id$
-* @package squirrelmail
-* @see folders.php
-* @author Thijs Kinkhorst - kink@squirrelmail.org
-*/
+ * folder_manip.php
+ *
+ * Copyright (c) 1999-2005 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Functions for IMAP folder manipulation:
+ * (un)subscribe, create, rename, delete.
+ *
+ * @version $Id$
+ * @package squirrelmail
+ * @see folders.php
+ * @author Thijs Kinkhorst - kink@squirrelmail.org
+ */
 
 
 /**
@@ -29,9 +29,9 @@ function folders_checkname($imapConnection, $folder_name, $delimiter)
         global $color;
         plain_error_message(_("Illegal folder name. Please select a different name.").
             '<br /><a href="../src/folders.php">'._("Click here to go back").'</a>.', $color);
-                   
+
         sqimap_logout($imapConnection);
-           exit;
+        exit;
     }
 }
 
@@ -74,7 +74,7 @@ function folders_create ($imapConnection, $delimiter, $folder_name, $subfolder,
  * folder should be renamed to.
  */
 function folders_rename_getname ($imapConnection, $delimiter, $old) {
-    global $color;
+    global $color,$default_folder_prefix;
 
     if ( $old == '' ) {
         plain_error_message(_("You have not selected a folder to rename. Please do so.").
@@ -94,7 +94,15 @@ function folders_rename_getname ($imapConnection, $delimiter, $old) {
 
     if (strpos($old, $delimiter)) {
         $old_name = substr($old, strrpos($old, $delimiter)+1, strlen($old));
-        $old_parent = substr($old, 0, strrpos($old, $delimiter));
+        // hide default prefix (INBOX., mail/ or other)
+        $quoted_prefix=preg_quote($default_folder_prefix,'/');
+        $prefix_length=(preg_match("/^$quoted_prefix/",$old) ? strlen($default_folder_prefix) : 0);
+        if ($prefix_length>strrpos($old, $delimiter)) {
+            $old_parent = '';
+        } else {
+            $old_parent = substr($old, $prefix_length, (strrpos($old, $delimiter)-$prefix_length))
+                . ' ' . $delimiter;
+        }
     } else {
         $old_name = $old;
         $old_parent = '';
@@ -110,7 +118,7 @@ function folders_rename_getname ($imapConnection, $delimiter, $old) {
             addForm('folders.php').
             addHidden('smaction', 'rename').
              _("New name:").
-             '<br /><b>' . htmlspecialchars($old_parent) . ' ' . htmlspecialchars($delimiter) . '</b>' .
+             '<br /><b>' . htmlspecialchars($old_parent) . '</b>' .
              addInput('new_name', $old_name, 25) . '<br /><br />' . "\n";
              if ( $isfolder ) {
                  echo addHidden('isfolder', 'true');
@@ -170,7 +178,7 @@ function folders_rename_do($imapConnection, $delimiter, $orig, $old_name, $new_n
  */
 function folders_delete_ask ($imapConnection, $folder_name)
 {
-    global $color;
+    global $color,$default_folder_prefix;
 
     if ($folder_name == '') {
         plain_error_message(_("You have not selected a folder to delete. Please do so.").
@@ -178,6 +186,12 @@ function folders_delete_ask ($imapConnection, $folder_name)
         exit;
     }
 
+    // hide default folder prefix (INBOX., mail/ or other)
+    $visible_folder_name = imap_utf7_decode_local($folder_name);
+    $quoted_prefix = preg_quote($default_folder_prefix,'/');
+    $prefix_length = (preg_match("/^$quoted_prefix/",$visible_folder_name) ? strlen($default_folder_prefix) : 0);
+    $visible_folder_name = substr($visible_folder_name,$prefix_length);
+
     echo '<br />' .
         html_tag( 'table', '', 'center', '', 'width="95%" border="0"' ) .
         html_tag( 'tr',
@@ -186,8 +200,7 @@ function folders_delete_ask ($imapConnection, $folder_name)
         html_tag( 'tr' ) .
         html_tag( 'td', '', 'center', $color[4] ) .
         sprintf(_("Are you sure you want to delete %s?"),
-            str_replace(array(' ','<','>'),array('&nbsp;','&lt;','&gt;'),
-                imap_utf7_decode_local($folder_name))).
+            str_replace(array(' ','<','>'),array('&nbsp;','&lt;','&gt;'),$visible_folder_name)).
         addForm('folders.php', 'post')."<p>\n".
         addHidden('smaction', 'delete').
         addHidden('folder_name', $folder_name).