Implemented security token system. (Secunia Advisory SA34627)
[squirrelmail.git] / templates / default_advanced / read_menubar_buttons.tpl
CommitLineData
505e00aa 1<?php
2/**
3 * read_menubar_buttons.tpl
4 *
5 * Tempalte for displaying the action buttons, e.g. Reply, Reply All, Forward,
6 * etc., while reading a message. When combined with the read_menubar_nav template,
7 * the entire menu bar is displayed.
8 *
9 * The following variables are available in this template:
10 * $nav_on_top - boolean TRUE if the navigation buttons are on top of the
11 * action buttons generated here.
12 * $prev_href - URL to move to the previous message. Empty if not avilable.
13 * $up_href - URL to move up in the message. Empty if not available.
14 * $next_href - URL to move to the next nessage. Empty when N/A.
15 * $del_prev_href - URL to delete this message and move to the next one. Empty if N/A.
16 * $del_next_href - URL to delete this message and move to the next one. Empty if N/A.
17 * $view_msg_href - URL to go back to the main message. Empty if N/A.
18 * $msg_list_href - URL to go to the message list.
19 * $search_href - URL to go back to the serach results. Empty if N/A.
89a067ff 20 * $form_extra - Extra elements that will be added to the <form> tag verbatim
21 * $form_method - The value of the <form>'s method attribute (optional, may be blank)
22 * $form_target - The value of the <form>'s target attribute (optional, may be blank)
23 * $form_onsubmit - The value of the <form>'s onsubmit handler (optional, may be blank)
505e00aa 24 * $compose_href - Base URL to forward, reply, etc. Note that a specific action
25 * must also be given by the form or in this URL.
0be2024f 26 * $button_onclick - Onclick event string for all buttons
505e00aa 27 * $forward_as_attachment_enabled - boolean TRUE if forwarding as attachments
28 * has been enabled.
29 * $can_resume_draft - boolean TRUE if the "resume draft" is legitimate for
30 * this message.
31 * $can_edit_as_new - boolean TRUE if the "reasume as new" action is legitimate
32 * for this message
33 * $mailboxes - array containing list of mailboxes available for move/copy action.
34 * $can_be_deleted - boolean TRUE if this message can be deleted.
35 * $can_be_moved - boolean TRUE if this message can be moved.
36 * $cab_be_copied - boolean TRUE if this message can be copied to another folder.
37 * $move_delete_form_action - the value for the ACTION attribute of forms to
38 * move, copy or delete a message
39 * $delete_form_extra - additional input elements needed by the DELETE form
40 * $move_form_extra - additional input elements needed by the MOVE form.
41 * $last_move_target - the last folder that a message was moved/copied to.
8949acd6 42 * $accesskey_read_msg_reply - The accesskey to be used for the Reply button
43 * $accesskey_read_msg_reply_all - The accesskey to be used for the Reply All button
44 * $accesskey_read_msg_forward - The accesskey to be used for the Forward button
45 * $accesskey_read_msg_as_attach - The accesskey to be used for the As Attachment checkbox
46 * $accesskey_read_msg_delete - The accesskey to be used for the Delete button
47 * $accesskey_read_msg_bypass_trash - The accesskey to be used for the Bypass Trash checkbox
48 * $accesskey_read_msg_move_to - The accesskey to be used for the folder select list
49 * $accesskey_read_msg_move - The accesskey to be used for the Move button
50 * $accesskey_read_msg_copy - The accesskey to be used for the Copy button
505e00aa 51 *
52 *
d4e46166 53 * @copyright &copy; 1999-2009 The SquirrelMail Project Team
505e00aa 54 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
55 * @version $Id: read_menubar_buttons.tpl 11850 2006-10-06 21:57:26Z stevetruckstuff $
56 * @package squirrelmail
57 * @subpackage templates
58 */
59
60/** add required includes **/
61
62/** extract template variables **/
63extract($t);
64
65
66/*FIXME: This is a place where Marc's idea for putting all the buttons and
67 links and other widgets into an array is sorely needed instead of
68 hard-coding everything. Whomever implements that, PLEASE, PLEASE
69 look at how the preview pane plugin code is used here to change
70 some links and buttons and make sure your implementation can support
71 it (tip: it may or may not be OK to let a plugin do the modification
72 of the widgets, since a template set can turn on the needed plugin,
73 but that might not be the most clear way to solve said issue).*/
74
75
76/** preview pane prep */
77global $data_dir, $username, $base_uri;
78$pp_refresh_message_list = getPref($data_dir, $username, 'pp_refresh_message_list', 1);
79$use_previewPane = getPref($data_dir, $username, 'use_previewPane', 0);
80$show_preview_pane = checkForJavascript() && $use_previewPane;
81$empty_frame_uri = $base_uri . 'plugins/preview_pane/empty_frame.php';
505e00aa 82
83
84/** Begin template **/
85if ($nav_on_top) {
86 $table_class = 'bottom';
87 $plugin_hook = 'read_body_menu_buttons_top';
88} else {
89 $table_class = 'top';
90 $plugin_hook = 'read_body_menu_buttons_bottom';
91}
92?>
93<div class="readMenuBar">
94<table class="<?php echo $table_class; ?>" cellspacing="0">
95 <tr class="buttons">
96 <td class="buttons">
89a067ff 97 <form name="composeForm" action="<?php
98 echo $compose_href . '" '
99 . (!empty($form_method) ? 'method="' . $form_method . '" ' : '')
100 . (!empty($form_target) ? 'target="' . $form_target . '" ' : '')
101 . (!empty($form_onsubmit) ? 'onsubmit="' . $form_onsubmit . '" ' : '')
102 . $form_extra; ?> >
505e00aa 103 <small>
104 <?php
105 if ($can_resume_draft) {
106 ?>
0be2024f 107 <input type="submit" name="smaction_draft" value="<?php echo _("Resume Draft"); ?>" onclick="<?php echo $button_onclick; ?>" />&nbsp;
505e00aa 108 <?php
109 } elseif ($can_edit_as_new) {
110 ?>
0be2024f 111 <input type="submit" name="smaction_edit_new" value="<?php echo _("Edit Message as New"); ?>" onclick="<?php echo $button_onclick; ?>" />&nbsp;
505e00aa 112 <?php
113 }
114 ?>
8949acd6 115 <input type="submit" name="smaction_reply" <?php if ($accesskey_read_msg_reply != 'NONE') echo 'accesskey="' . $accesskey_read_msg_reply . '" '; ?>value="<?php echo _("Reply"); ?>" onclick="<?php echo $button_onclick; ?>" />&nbsp;
116 <input type="submit" name="smaction_reply_all" <?php if ($accesskey_read_msg_reply_all != 'NONE') echo 'accesskey="' . $accesskey_read_msg_reply_all . '" '; ?>value="<?php echo _("Reply All"); ?>" onclick="<?php echo $button_onclick; ?>" />
505e00aa 117 &nbsp;&nbsp;|&nbsp;&nbsp;
8949acd6 118 <input type="submit" name="smaction_forward" <?php if ($accesskey_read_msg_forward != 'NONE') echo 'accesskey="' . $accesskey_read_msg_forward . '" '; ?>value="<?php echo _("Forward"); ?>" onclick="<?php echo $button_onclick; ?>" />
505e00aa 119 <?php
120 if ($forward_as_attachment_enabled) {
121 ?>
8949acd6 122 <input type="checkbox" name="smaction_attache" id="smaction_attache" <?php if ($accesskey_read_msg_as_attach != 'NONE') echo 'accesskey="' . $accesskey_read_msg_as_attach . '" '; ?>/>
505e00aa 123 <label for="smaction_attache"><?php echo _("As Attachment"); ?></label>
124 <?php
125 }
126 ?>
127 </small>
128 </form>
129 &nbsp;&nbsp;|&nbsp;&nbsp;
130 <?php
131 if ($can_be_deleted) {
132 ?>
12b5083f 133 <form name="deleteMessageForm" action="<?php echo $move_delete_form_action; ?>" method="post">
199a9ab8 134 <input type="hidden" name="smtoken" value="<?php echo sm_generate_security_token(); ?>" />
505e00aa 135 <?php echo $delete_form_extra; ?>
136 <small>
8949acd6 137 <input type="submit" name="delete" <?php if ($accesskey_read_msg_delete != 'NONE') echo 'accesskey="' . $accesskey_read_msg_delete . '" '; ?>value="<?php
505e00aa 138
139echo _("Delete") .'"';
140
141/** if preview pane turned on with "always refresh message list",
142 refresh message list frame too, but only if we are in the bottom frame! */
143if ($show_preview_pane && $pp_refresh_message_list)
144 echo ' onclick="if (self.name == \'bottom\') { refresh_message_list(); } "';
145
146echo ' />'; ?>
147
8949acd6 148 <input type="checkbox" name="bypass_trash" id="bypass_trash" <?php if ($accesskey_read_msg_bypass_trash != 'NONE') echo 'accesskey="' . $accesskey_read_msg_bypass_trash . '" '; ?>/><label for="bypass_trash"><?php echo _("Bypass Trash"); ?></label>
505e00aa 149 </small>
150 </form>
151 <?php
152 }
153 ?>
154 <?php if(!empty($plugin_output[$plugin_hook])) echo $plugin_output[$plugin_hook]; ?>
155 </td>
156 <td class="move">
157 <?php
158 if ($can_be_moved) {
159 ?>
12b5083f 160 <form name="moveMessageForm" action="<?php echo $move_delete_form_action; ?>" method="post">
199a9ab8 161 <input type="hidden" name="smtoken" value="<?php echo sm_generate_security_token(); ?>" />
505e00aa 162 <?php echo $move_form_extra; ?>
163 <small>
164 <?php echo _("Move To"); ?>:
8949acd6 165 <select <?php if ($accesskey_read_msg_move_to != 'NONE') echo 'accesskey="' . $accesskey_read_msg_move_to . '" '; ?>name="targetMailbox">
505e00aa 166 <?php
167 foreach ($mailboxes as $value=>$option) {
168 echo '<option value="'. $value .'"' . ($value==$last_move_target ? ' selected="selected"' : '').'>' . $option .'</option>'."\n";
169 }
170 ?>
171 </select>
8949acd6 172 <input type="submit" name="moveButton" <?php if ($accesskey_read_msg_move != 'NONE') echo 'accesskey="' . $accesskey_read_msg_move . '" '; ?>value="<?php
505e00aa 173
174echo _("Move") . '"';
175
176/** if preview pane turned on with "always refresh message list",
177 refresh message list frame too, but only if we are in the bottom frame! */
178if ($show_preview_pane && $pp_refresh_message_list)
179 echo ' onclick="if (self.name == \'bottom\') { refresh_message_list(); } "';
180
181echo ' />';
182
183
184 if ($can_be_copied) {
185 ?>
8949acd6 186 <input type="submit" name="copyButton" <?php if ($accesskey_read_msg_copy != 'NONE') echo 'accesskey="' . $accesskey_read_msg_copy . '" '; ?>value="<?php echo _("Copy"); ?>" />
505e00aa 187 <?php
188 }
189 ?>
190 </small>
191 </form>
192 <?php
193 }
194 ?>
195 </td>
196 </tr>
197</table>
198</div>