From: ebullient Date: Fri, 30 Jan 2004 06:59:47 +0000 (+0000) Subject: More UI changes - message list is more compact. Prev & Next links are X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=commitdiff_plain;h=abafb676191905f40ed21a163c95f4aa676e88ff More UI changes - message list is more compact. Prev & Next links are consistent between Index and read body displays, move is in the same place, etc. Comments welcome. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@6463 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- diff --git a/functions/imap_messages.php b/functions/imap_messages.php index 6aaaf8d4..9e98f4aa 100755 --- a/functions/imap_messages.php +++ b/functions/imap_messages.php @@ -63,10 +63,11 @@ function sqimap_msgs_list_move ($imap_stream, $id, $mailbox) { * @param string $mailbox Mailbox messages are being deleted from * @return void */ -function sqimap_messages_delete ($imap_stream, $start, $end, $mailbox) { +function sqimap_messages_delete ($imap_stream, $start, $end, $mailbox, $bypass_trash=false) { global $move_to_trash, $trash_folder, $auto_expunge, $uid_support; - if (($move_to_trash == true) && (sqimap_mailbox_exists($imap_stream, $trash_folder) && ($mailbox != $trash_folder))) { + if (($move_to_trash == true) && ($bypass_trash != true) && + (sqimap_mailbox_exists($imap_stream, $trash_folder) && ($mailbox != $trash_folder))) { sqimap_messages_copy ($imap_stream, $start, $end, $trash_folder); } sqimap_messages_flag ($imap_stream, $start, $end, "Deleted", true); @@ -75,7 +76,8 @@ function sqimap_messages_delete ($imap_stream, $start, $end, $mailbox) { function sqimap_msgs_list_delete ($imap_stream, $mailbox, $id, $bypass_trash=false) { global $move_to_trash, $trash_folder, $uid_support; $msgs_id = sqimap_message_list_squisher($id); - if (($move_to_trash == true) && (sqimap_mailbox_exists($imap_stream, $trash_folder) && ($mailbox != $trash_folder)) && ($bypass_trash != true)) { + if (($move_to_trash == true) && ($bypass_trash != true) && + (sqimap_mailbox_exists($imap_stream, $trash_folder) && ($mailbox != $trash_folder)) ) { $read = sqimap_run_command ($imap_stream, "COPY $msgs_id " . sqimap_encode_mailbox_name($trash_folder), true, $response, $message, $uid_support); } $read = sqimap_run_command ($imap_stream, "STORE $msgs_id +FLAGS (\\Deleted)", true, $response, $message, $uid_support); diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php index 67dccac5..4eeefd8a 100644 --- a/functions/mailbox_display.php +++ b/functions/mailbox_display.php @@ -519,28 +519,41 @@ function showMessagesForMailbox($imapConnection, $mailbox, $num_msgs, $msg_cnt_str = get_msgcnt_str($start_msg, $end_msg, $num_msgs); do_hook('mailbox_index_before'); - echo ''; - echo ''; - /* line between the button area and the list */ - echo ''; - - echo '
'; - - mail_message_listing_beginning($imapConnection, $mailbox, $sort, - $msg_cnt_str, $paginator_str, $start_msg); - echo '
'; - echo ' '; - echo '
'; - echo ' '; - echo '
'; - printHeader($mailbox, $srt, $color, !$thread_sort_messages); - - displayMessageArray($imapConnection, $num_msgs, $start_msg, - $msort, $mailbox, $sort, $color, $show_num,0,0); - echo '
'; - - mail_message_listing_end($num_msgs, $paginator_str, $msg_cnt_str, $color); - echo '
'; +?> + + + + + + + + +
+ +
+ + + + +
+ + + + +
+ +
+
+ +
+' . - '' . - ''; + '' . + ''. + ''; -// $moveURL = "move_messages.php?msg=$msg&mailbox=$urlMailbox" -// . "&startMessage=$start_msg"; /* * This is the beginning of the message list table. * It wraps around all messages @@ -722,82 +741,53 @@ function mail_message_listing_beginning ($imapConnection, $safe_name = preg_replace("/[^0-9A-Za-z_]/", '_', $mailbox); $form_name = "FormMsgs" . $safe_name; echo '
' ."\n" - . $moveFields - . html_tag( 'table' , - html_tag( 'tr', - html_tag( 'td' , - html_tag( 'table' , - html_tag( 'tr', - html_tag( 'td', $paginator, 'left' ) . - html_tag( 'td', $msg_cnt_str, 'right' ) - ) - , '', $color[4], 'border="0" width="100%" cellpadding="1" cellspacing="0"' ) - , 'left', '', '' ) - , '', $color[0] ) - , '', '', 'border="0" width="100%" cellpadding="1" cellspacing="0"' ); - /* line between header and button area */ - echo ''; - - echo ''; - echo html_tag( 'tr' ) . "\n" - . html_tag( 'td' ,'' , 'left', '', '' ) - . html_tag( 'table' ,'' , '', $color[9], 'border="0" width="100%" cellpadding="1" cellspacing="0"' ) - . '' - . html_tag( 'table' ,'' , '', $color[0], 'border="0" width="100%" cellpadding="1" cellspacing="0"' ) - . html_tag( 'tr', - getSmallStringCell(_("Move Selected To"), 'left', 'nowrap') . - getSmallStringCell(_("Transform Selected Messages"), 'right') - ) - . html_tag( 'tr' ) ."\n" - . html_tag( 'td', '', 'left', '', 'valign="middle" nowrap' ); - getMbxList($imapConnection); - echo getButton('SUBMIT', 'moveButton',_("Move")) . "\n"; - echo getButton('SUBMIT', 'attache',_("Forward")) . "\n"; - - echo " \n" - . html_tag( 'td', '', 'right', '', 'nowrap' ); - - - - if (!$auto_expunge) { - echo getButton('SUBMIT', 'expungeButton',_("Expunge")) - .' ' . _("mailbox") . "\n"; - } - do_hook('mailbox_display_buttons'); - echo getButton('SUBMIT', 'markRead',_("Read")); - echo getButton('SUBMIT', 'markUnread',_("Unread")); - echo getButton('SUBMIT', 'delete',_("Delete")) ." \n"; - if (!strpos($php_self,'?')) { - $location = $php_self.'?mailbox=INBOX&startMessage=1'; - } else { - $location = $php_self; - } - echo ''; - echo "\n" - . " \n"; - - /* draws thread sorting links */ - if ($allow_thread_sort == TRUE) { - if ($thread_sort_messages == 1 ) { - $set_thread = 2; - $thread_name = _("Unthread View"); - } elseif ($thread_sort_messages == 0) { - $set_thread = 1; - $thread_name = _("Thread View"); - } - echo html_tag( 'tr' , - html_tag( 'td' , - ' ' . $thread_name - . ' ' - , '', '', '' ) . html_tag( 'td', _("Bypass Trash") . '','right','','') - - , '', '', '' ); - } - - echo "\n"; + . $moveFields; +?> + + + + + + + +
+ + + + + +
+
+ + + + + +
+ ' . _("Bypass Trash"); + echo ' '; + if (!$auto_expunge) { + echo getButton('SUBMIT', 'expungeButton',_("Expunge")) .' ' . _("mailbox") . "\n"; + echo ' '; + } + do_hook('mailbox_display_buttons'); + ?> + + +
+
+'; - - echo ''; - echo html_tag( 'table', - html_tag( 'tr', - html_tag( 'td', - html_tag( 'table', - html_tag( 'tr', - html_tag( 'td', $paginator_str ) . - html_tag( 'td', $msg_cnt_str, 'right' ) - ) - , '', $color[4], 'width="100%" border="0" cellpadding="1" cellspacing="0"' ) - ) - ) - , '', $color[9], 'width="100%" border="0" cellpadding="1" cellspacing="0"' ); - echo ''; +?> + + + + + + + +
+ + + + + +
+
+ + +\n"; } -function printHeader($mailbox, $sort, $color, $showsort=true) { +function printHeader($mailbox, $sort, $color, $showsort=true, $start_msg) { global $index_order; echo html_tag( 'tr' ,'' , 'center', $color[5] ); @@ -851,8 +844,10 @@ function printHeader($mailbox, $sort, $color, $showsort=true) { foreach ($index_order as $item) { switch ($item) { case 1: /* checkbox */ + echo html_tag( 'td',get_selectall_link($start_msg, $sort) , '', '', 'width="1%"' ); + break; case 5: /* flags */ - echo html_tag( 'td' ,' ' , '', '', 'width="1%"' ); + echo html_tag( 'td','' , '', '', 'width="1%"' ); break; case 2: /* from */ if (handleAsSent($mailbox)) { @@ -881,6 +876,28 @@ function printHeader($mailbox, $sort, $color, $showsort=true) { if ($showsort) { ShowSortButton($sort, $mailbox, 4, 5); } + /* draws thread sorting links */ + global $allow_thread_sort, $thread_sort_messages, $PHP_SELF; + if ($allow_thread_sort == TRUE) { + if ($thread_sort_messages == 1 ) { + $set_thread = 2; + $thread_name = _("Unthread View"); + } elseif ($thread_sort_messages == 0) { + $set_thread = 1; + $thread_name = _("Thread View"); + } + if (preg_match('/^(.+)\?.+$/',$PHP_SELF,$regs)) { + $source_url = $regs[1]; + } else { + $source_url = $PHP_SELF; + } + + echo '  [' . $thread_name + . ']'; + } + echo "\n"; break; case 6: /* size */ @@ -944,9 +961,10 @@ function get_selectall_link($start_msg, $sort) { . " }\n" . "}\n" . "//-->\n" - . '' . _("Toggle All") -/* . '' . _("Toggle All")*/ - . "\n"; + . '' + . ''; +// . ' . _("Toggle All") +// . "\n"; } else { if (strpos($PHP_SELF, "?")) { $result .= " $num_msgs) && ($prev_grp >= 0)) { $prv_str = get_paginator_link($box, $prev_grp, $use, _("Previous")); - $nxt_str = ""._("Next")."\n"; + $nxt_str = _("Next"); } else if (($next_grp <= $num_msgs) && ($prev_grp < 0)) { - $prv_str = ""._("Previous") . ''; + $prv_str = _("Previous"); $nxt_str = get_paginator_link($box, $next_grp, $use, _("Next")); } @@ -1188,7 +1205,7 @@ function get_paginator_str($box, $start_msg, $end_msg, $num_msgs, } else if ($PG_SHOWNUM == 999999) { $pg_str = "" ._("Paginate") . '' . $spc; + . "TARGET=\"right\">" ._("Paginate") . ''; } /* If necessary, compute the 'show all' string. */ @@ -1198,20 +1215,21 @@ function get_paginator_str($box, $start_msg, $end_msg, $num_msgs, . "TARGET=\"right\">" . _("Show All") . ''; } - /* Last but not least, get the value for the toggle all link. */ - $tgl_str = get_selectall_link($start_msg, $sort); - /* Put all the pieces of the paginator string together. */ /** * Hairy code... But let's leave it like it is since I am not certain * a different approach would be any easier to read. ;) */ $result = ''; - $result .= ($prv_str != '' ? $prv_str . $spc . $sep . $spc : ''); - $result .= ($nxt_str != '' ? $nxt_str . $spc . $sep . $spc : ''); - $result .= ($pg_str != '' ? $pg_str : ''); - $result .= ($all_str != '' ? $sep . $spc . $all_str . $spc : ''); - $result .= ($result != '' ? $sep . $spc . $tgl_str: $tgl_str); + if ( $prv_str != '' || $nxt_str != '' ) + { + $result .= '['; + $result .= ($prv_str != '' ? $prv_str . $spc . $sep . $spc : ''); + $result .= ($nxt_str != '' ? $nxt_str : ''); + $result .= ']' . $spc ; + } + $result .= ($pg_str != '' ? $spc . '['.$pg_str.']' . $spc : ''); + $result .= ($all_str != '' ? $spc . '['.$all_str.']' . $spc . $spc : ''); /* If the resulting string is blank, return a non-breaking space. */ if ($result == '') { @@ -1286,7 +1304,7 @@ function getMbxList($imapConnection, $boxes = 0) { } function getButton($type, $name, $value) { - return ''; + return ''; } function getSmallStringCell($string, $align) { diff --git a/src/delete_message.php b/src/delete_message.php index f8400834..6e9246c0 100644 --- a/src/delete_message.php +++ b/src/delete_message.php @@ -27,6 +27,9 @@ sqgetGlobalVar('onetimepad', $onetimepad, SQ_SESSION); sqgetGlobalVar('message', $message, SQ_GET); sqgetGlobalVar('mailbox', $mailbox, SQ_GET); + +sqgetGlobalVar('bypass_trash', $bypass_trash, SQ_GET); + /* end globals */ if (isset($_GET['saved_draft'])) { @@ -54,7 +57,7 @@ $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0 sqimap_mailbox_select($imapConnection, $mailbox); -sqimap_messages_delete($imapConnection, $message, $message, $mailbox); +sqimap_messages_delete($imapConnection, $message, $message, $mailbox,$bypass_trash); if ($auto_expunge) { sqimap_mailbox_expunge($imapConnection, $mailbox, true); } diff --git a/src/read_body.php b/src/read_body.php index 0b3aa575..77d6020d 100644 --- a/src/read_body.php +++ b/src/read_body.php @@ -552,7 +552,7 @@ function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_resp } $nav_row .= $prev_link . $up_link . $topbar_delimiter . $next_link; - $nav_row .= $double_delimiter . ''._("View Message").''; + $nav_row .= $double_delimiter . '['._("View Message").']'; // Prev/Next links for regular messages } else if ( !(isset($where) && isset($what)) ) { @@ -587,7 +587,6 @@ function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_resp '&delete_id='.$passed_id; $del_prev_link = ''.$del_prev_link.''; } - $del_prev_link .= $topbar_delimiter; $del_next_link = _("Delete & Next"); if ($next >= 0) { @@ -597,15 +596,11 @@ function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_resp '&delete_id='.$passed_id; $del_next_link = ''.$del_next_link.''; } - $del_next_link .= $topbar_delimiter; - } else { - $del_prev_link = ''; - $del_next_link = ''; } - $nav_row .= $prev_link.$topbar_delimiter - .$del_prev_link.$del_next_link - .$next_link; + $nav_row .= '['.$prev_link.$topbar_delimiter.$next_link.']'; + if ( isset($del_prev_link) && isset($del_next_link) ) + $nav_row .= $double_delimiter.'['.$del_prev_link.$topbar_delimiter.$del_next_link.']'; } // Start with Search Results or Message List link. @@ -619,7 +614,7 @@ function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_resp $msgs_str = _("Message List"); } $nav_row .= $double_delimiter . - '' . $msgs_str . ''; + '[' . $msgs_str . ']'; $nav_row .= ''; @@ -644,22 +639,7 @@ function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_resp $menu_row .= $topbar_delimiter; } - $delete_link = _("Delete"); - if (!(isset($passed_ent_id) && $passed_ent_id)) { - $delete_url = $base_uri . 'src/delete_message.php?mailbox=' . $urlMailbox . - '&message=' . $passed_id . '&'; - - if ($where && $what) { - $delete_url .= 'where=' . urlencode($where) . '&what=' . urlencode($what); - } else { - $delete_url .= 'sort=' . $sort . '&startMessage=' . $startMessage; - } - $delete_link = '' . $delete_link . ''; - } - $menu_row .= $delete_link; - $comp_action_uri = $comp_uri . '&smaction=reply'; - $menu_row .= $topbar_delimiter; $menu_row .= makeComposeLink($comp_action_uri, _("Reply")); $comp_action_uri = $comp_uri . '&smaction=reply_all'; @@ -677,6 +657,24 @@ function formatMenubar($mailbox, $passed_id, $passed_ent_id, $message, $mbx_resp $menu_row .= makeComposeLink($comp_action_uri, _("Forward as Attachment")); } + $delete_link = _("Delete"); + if (!(isset($passed_ent_id) && $passed_ent_id)) { + $delete_url = $base_uri . 'src/delete_message.php?mailbox=' . $urlMailbox . + '&message=' . $passed_id . '&'; + + if ($where && $what) { + $delete_url .= 'where=' . urlencode($where) . '&what=' . urlencode($what); + } else { + $delete_url .= 'sort=' . $sort . '&startMessage=' . $startMessage; + } + $delete_link = '' . $delete_link . ''; + $delete_link .= ' (' + ._("Bypass Trash").')'; + + } + $menu_row .= $topbar_delimiter.$delete_link; + + // Add top move link $menu_row .= ''; if (!(isset($passed_ent_id) && $passed_ent_id)) {