From 78cc4b1227af6ace04307afc49b85c9910978a2a Mon Sep 17 00:00:00 2001 From: jmunro Date: Tue, 2 Apr 2002 14:55:35 +0000 Subject: [PATCH] thread sort view is now saved per folder thanks Robert Packard git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@2668 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/imap_mailbox.php | 10 +++++++++- src/load_prefs.php | 2 +- src/right_main.php | 6 +++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/functions/imap_mailbox.php b/functions/imap_mailbox.php index ed38a964..46873d12 100755 --- a/functions/imap_mailbox.php +++ b/functions/imap_mailbox.php @@ -174,10 +174,12 @@ function sqimap_unsubscribe ($imap_stream, $mailbox) { /* Deletes the given folder */ function sqimap_mailbox_delete ($imap_stream, $mailbox) { + global $data_dir, $username; $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', '')); + removePref($data_dir, $username, "thread_$mailbox"); } /* Determines if the user is subscribed to the folder or not */ @@ -194,7 +196,7 @@ function sqimap_mailbox_is_subscribed($imap_stream, $folder) { /* Renames a mailbox */ function sqimap_mailbox_rename( $imap_stream, $old_name, $new_name ) { if ( $old_name != $new_name ) { - global $delimiter, $imap_server_type; + global $delimiter, $imap_server_type, $data_dir, $username; if ( substr( $old_name, -1 ) == $delimiter ) { $old_name = substr( $old_name, 0, strlen( $old_name ) - 1 ); $new_name = substr( $new_name, 0, strlen( $new_name ) - 1 ); @@ -206,7 +208,10 @@ function sqimap_mailbox_rename( $imap_stream, $old_name, $new_name ) { $cmd = 'RENAME "' . quoteIMAP($old_name) . '" "' . quoteIMAP($new_name) . '"'; $data = sqimap_run_command($imap_stream, $cmd, true, $response, $message); sqimap_unsubscribe($imap_stream, $old_name.$postfix); + $oldpref = getPref($data_dir, $username, "thread_".$old_name.$postfix); + 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)); $l = strlen( $old_name ) + 1; $p = 'unformatted'; @@ -219,7 +224,10 @@ function sqimap_mailbox_rename( $imap_stream, $old_name, $new_name ) { $response, $message); } sqimap_unsubscribe($imap_stream, $box[$p]); + $oldpref = getPref($data_dir, $username, "thread_".$box[$p]); + removePref($data_dir, $username, "thread_".$box[$p]); sqimap_subscribe($imap_stream, $new_sub); + setPref($data_dir, $username, "thread_".$new_sub, $oldpref); do_hook_function("rename_or_delete_folder", $args = array($box[$p], 'rename', $new_sub)); } diff --git a/src/load_prefs.php b/src/load_prefs.php index c0a7a913..e83e7118 100644 --- a/src/load_prefs.php +++ b/src/load_prefs.php @@ -218,7 +218,7 @@ $sig_first = getPref($data_dir, $username, 'sig_first', 0); $internal_date_sort = getPref($data_dir, $username, 'internal_date_sort', SMPREF_ON); /* if thread sorting is enabled/disabled */ -$thread_sort_messages = getPref($data_dir, $username, 'thread_sort_messages', 0); +$thread_sort_messages = getPref($data_dir, $username, "thread_$mailbox", 0); $sort_by_ref = getPref($data_dir, $username, 'sort_by_ref', 1); /* Load the javascript settings. */ diff --git a/src/right_main.php b/src/right_main.php index 11268479..fb7b809f 100644 --- a/src/right_main.php +++ b/src/right_main.php @@ -52,16 +52,16 @@ global $allow_thread_sort; if ($allow_thread_sort == TRUE) { if (isset($set_thread)) { if ($set_thread == 1) { - setPref($data_dir, $username, 'thread_sort_messages', 1); + setPref($data_dir, $username, "thread_$mailbox", 1); $thread_sort_messages = '1'; } elseif ($set_thread == 2) { - setPref($data_dir, $username, 'thread_sort_messages', 0); + setPref($data_dir, $username, "thread_$mailbox", 0); $thread_sort_messages = '0'; } } else { - $thread_sort_messages = getPref($data_dir, $username, 'thread_sort_messages'); + $thread_sort_messages = getPref($data_dir, $username, "thread_$mailbox"); } } else { -- 2.25.1