From: kink Date: Mon, 28 Oct 2002 15:01:49 +0000 (+0000) Subject: Of course the real fix for using utf7-functions inconsistently is making them more X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=e429f01429f264713c6ee1aac1e876888ec7d1a1;p=squirrelmail.git Of course the real fix for using utf7-functions inconsistently is making them more consistent, so from now on we assume that all input to these imap_mailbox_ functions is utf7 in stead of non-utf7 for some and utf7 for others. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@4050 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- diff --git a/functions/imap_mailbox.php b/functions/imap_mailbox.php index b981b472..0cae7082 100755 --- a/functions/imap_mailbox.php +++ b/functions/imap_mailbox.php @@ -225,7 +225,7 @@ function sqimap_mailbox_create ($imap_stream, $mailbox, $type) { if (strtolower($type) == 'noselect') { $mailbox .= $delimiter; } - $mailbox = imap_utf7_encode_local($mailbox); + $read_ary = sqimap_run_command($imap_stream, "CREATE \"$mailbox\"", true, $response, $message); sqimap_subscribe ($imap_stream, $mailbox); @@ -239,7 +239,6 @@ function sqimap_subscribe ($imap_stream, $mailbox) { /* Unsubscribes to an existing folder */ function sqimap_unsubscribe ($imap_stream, $mailbox) { - global $imap_server_type; $read_ary = sqimap_run_command($imap_stream, "UNSUBSCRIBE \"$mailbox\"", true, $response, $message); } @@ -250,7 +249,7 @@ function sqimap_mailbox_delete ($imap_stream, $mailbox) { $read_ary = sqimap_run_command($imap_stream, "DELETE \"$mailbox\"", true, $response, $message); sqimap_unsubscribe ($imap_stream, $mailbox); - do_hook_function("rename_or_delete_folder", $args = array($mailbox, 'delete', '')); + do_hook_function('rename_or_delete_folder', $args = array($mailbox, 'delete', '')); removePref($data_dir, $username, "thread_$mailbox"); } @@ -277,9 +276,6 @@ function sqimap_mailbox_rename( $imap_stream, $old_name, $new_name ) { $postfix = ''; } - $old_name = imap_utf7_encode_local($old_name); - $new_name = imap_utf7_encode_local($new_name); - $boxesall = sqimap_mailbox_list($imap_stream); $cmd = 'RENAME "' . $old_name . '" "' . $new_name . '"'; $data = sqimap_run_command($imap_stream, $cmd, true, $response, $message); @@ -288,7 +284,7 @@ function sqimap_mailbox_rename( $imap_stream, $old_name, $new_name ) { removePref($data_dir, $username, 'thread_'.$old_name.$postfix); sqimap_subscribe($imap_stream, $new_name.$postfix); setPref($data_dir, $username, 'thread_'.$new_name.$postfix, $oldpref); - do_hook_function("rename_or_delete_folder",$args = array($old_name, 'rename', $new_name)); + do_hook_function('rename_or_delete_folder',$args = array($old_name, 'rename', $new_name)); $l = strlen( $old_name ) + 1; $p = 'unformatted'; @@ -330,9 +326,9 @@ function sqimap_mailbox_parse ($line, $line_lsub) { for ($g = 0, $cnt = count($line); $g < $cnt; $g++) { /* Store the raw IMAP reply */ if (isset($line[$g])) { - $boxesall[$g]["raw"] = $line[$g]; + $boxesall[$g]['raw'] = $line[$g]; } else { - $boxesall[$g]["raw"] = ''; + $boxesall[$g]['raw'] = ''; } /* Count number of delimiters ($delimiter) in folder name */ @@ -741,7 +737,7 @@ function sqimap_mailbox_list_all($imap_stream) { $g++; } if(is_array($boxes)) { - $boxes = sort ($boxes); + sort ($boxes); } return $boxes; diff --git a/src/folders_create.php b/src/folders_create.php index 18d76fbf..51a0a8db 100644 --- a/src/folders_create.php +++ b/src/folders_create.php @@ -46,7 +46,7 @@ if (substr_count($folder_name, '"') || substr_count($folder_name, "\\") || exit; } -$subfolder = imap_utf7_decode_local($subfolder); +$folder_name = imap_utf7_encode_local($folder_name); if (isset($contain_subs) && $contain_subs ) { $folder_name = $folder_name . $delimiter; diff --git a/src/folders_rename_do.php b/src/folders_rename_do.php index f625ac48..a7aba128 100644 --- a/src/folders_rename_do.php +++ b/src/folders_rename_do.php @@ -44,6 +44,10 @@ if (substr_count($new_name, '"') || substr_count($new_name, "\\") || exit; } +$orig = imap_utf7_encode_local($orig); +$old_name = imap_utf7_encode_local($old_name); +$new_name = imap_utf7_encode_local($new_name); + if ($old_name <> $new_name) { $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);