*
* Displays message highlighting options
*
- * @copyright © 1999-2005 The SquirrelMail Project Team
+ * @copyright 1999-2013 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id$
* @package squirrelmail
* @subpackage prefs
*/
+/** This is the options_highlight page */
+define('PAGE_NAME', 'options_highlight');
+
/**
- * Path for SquirrelMail required files.
- * @ignore
+ * Include the SquirrelMail initialization file.
*/
-define('SM_PATH','../');
+require('../include/init.php');
-/* SquirrelMail required files. */
-require_once(SM_PATH . 'include/validate.php');
-include_once(SM_PATH . 'functions/display_messages.php');
-include_once(SM_PATH . 'functions/imap.php');
-include_once(SM_PATH . 'functions/plugin.php');
-include_once(SM_PATH . 'functions/strings.php');
-include_once(SM_PATH . 'functions/html.php');
-include_once(SM_PATH . 'functions/forms.php');
+// include_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/forms.php');
/* get globals */
sqGetGlobalVar('action', $action);
sqGetGlobalVar('color_type', $color_type);
sqGetGlobalVar('match_type', $match_type);
sqGetGlobalVar('value', $value);
+sqgetGlobalVar('smtoken', $submitted_token, SQ_FORM, '');
/* end of get globals */
if (isset($theid) && ($action == 'delete') ||
($action == 'up') ||
($action == 'down')) {
+
+ // security check
+ sm_validate_security_token($submitted_token, -1, TRUE);
+
$new_rules = array();
switch($action) {
case('delete'):
exit;
} else if ($action == 'save') {
+ // security check
+ sm_validate_security_token($submitted_token, -1, TRUE);
+
if ($color_type == 1) $newcolor = $newcolor_choose;
elseif ($color_type == 2) $newcolor = $newcolor_input;
else $newcolor = $color_type;
setPref($data_dir, $username, 'hililist', serialize($message_highlight_list));
}
-displayPageHeader($color, 'None');
-
-echo
-html_tag( 'table', "\n" .
- html_tag( 'tr', "\n" .
- html_tag( 'td', '<center><b>' . _("Options") . ' - ' . _("Message Highlighting") . '</b></center>', 'left')
- ),
- 'center', $color[9], 'width="95%" border="0" cellpadding="1" cellspacing="0"' ) . "<br />\n" .
-html_tag( 'table', '', '', '', 'width="100%" border="0" cellpadding="1" cellspacing="0"' ) .
- html_tag( 'tr' ) . "\n" .
- html_tag( 'td', '', 'left' );
-
-echo '<center>[<a href="options_highlight.php?action=add">' . _("New") . '</a>]'.
- ' - [<a href="options.php">'._("Done").'</a>]</center><br />'."\n";
-$mhl_count = count($message_highlight_list);
-if ($mhl_count > 0) {
- echo html_tag( 'table', '', 'center', '', 'width="80%" border="0" cellpadding="3" cellspacing="0"' ) . "\n";
- for ($i=0; $i < $mhl_count; $i++) {
- $match_type = '';
- switch ($message_highlight_list[$i]['match_type'] ) {
+displayPageHeader($color);
+
+/**
+ * Display the current rule list
+ */
+$rules = array();
+foreach($message_highlight_list as $index=>$rule) {
+ $a = array();
+
+ $a['Name'] = sm_encode_html_special_chars($rule['name']);
+ $a['Color'] = $rule['color'];
+ $a['MatchField'] = '';
+ $a['MatchValue'] = sm_encode_html_special_chars($rule['value']);
+ switch ($rule['match_type']) {
case 'from' :
- $match_type = _("From");
- break;
+ $a['MatchField'] = _("From");
+ break;
case 'to' :
- $match_type = _("To");
- break;
+ $a['MatchField'] = _("To");
+ break;
case 'cc' :
- $match_type = _("Cc");
- break;
+ $a['MatchField'] = _("Cc");
+ break;
case 'to_cc' :
- $match_type = _("To or Cc");
- break;
+ $a['MatchField'] = _("To or Cc");
+ break;
case 'subject' :
- $match_type = _("subject");
- break;
- }
-
- $links = '<small>[<a href="options_highlight.php?action=edit&theid=' . $i . '">' .
- _("Edit") .
- '</a>] [<a href="options_highlight.php?action=delete&theid='. $i . '">' .
- _("Delete");
- if($i > 0) {
- $links .= '</a>] [<a href="options_highlight.php?action=up&theid='. $i . '">' . _("Up");
- }
- if($i+1 < $mhl_count) {
- $links .= '</a>] [<a href="options_highlight.php?action=down&theid='. $i . '">' . _("Down");
- }
- $links .= '</a>]</small>';
-
- echo html_tag( 'tr',
- html_tag( 'td',
- $links,
- 'left', $color[4], 'width="20%" style="white-space: nowrap;"' ) .
- html_tag( 'td',
- htmlspecialchars($message_highlight_list[$i]['name']) ,
- 'left' ) .
- html_tag( 'td',
- $match_type . ' = ' .
- htmlspecialchars($message_highlight_list[$i]['value']) ,
- 'left' ) ,
- '', $message_highlight_list[$i]['color'] ) . "\n";
+ $a['MatchField'] = _("subject");
+ break;
}
- echo "</table>\n".
- "<br />\n";
-} else {
- echo '<center>' . _("No highlighting is defined") . "</center><br />\n".
- "<br />\n";
+
+ $rules[$index] = $a;
}
+
+$oTemplate->assign('current_rules', $rules);
+
+$token = sm_generate_security_token();
+
+$oTemplate->assign('add_rule', 'options_highlight.php?action=add');
+$oTemplate->assign('edit_rule', 'options_highlight.php?action=edit&theid=');
+$oTemplate->assign('delete_rule', 'options_highlight.php?action=delete&smtoken=' . $token . '&theid=');
+$oTemplate->assign('move_up', 'options_highlight.php?action=up&smtoken=' . $token . '&theid=');
+$oTemplate->assign('move_down', 'options_highlight.php?action=down&smtoken=' . $token . '&theid=');
+
+$oTemplate->display('options_highlight_list.tpl');
+
+/**
+ * Optionally, display the add/edit dialog
+ */
if ($action == 'edit' || $action == 'add') {
$color_list[0] = '4444aa';
$new_color_list["18,4"] = 'ff00ff';
$selected_input = FALSE;
- $selected_i = null;
$selected_choose = FALSE;
$selected_predefined = FALSE;
- for ($i=0; $i < 14; $i++) {
- ${"selected".$i} = '';
- }
+ $name = $action=='edit' && isset($theid) && isset($message_highlight_list[$theid]['name']) ? $message_highlight_list[$theid]['name'] : '';
+ $field = $action=='edit' && isset($theid) && isset($message_highlight_list[$theid]['match_type']) ? $message_highlight_list[$theid]['match_type'] : '';
+ $value = $action=='edit' && isset($theid) && isset($message_highlight_list[$theid]['value']) ? $message_highlight_list[$theid]['value'] : '';
+ $color = $action=='edit' && isset($theid) && isset($message_highlight_list[$theid]['color']) ? $message_highlight_list[$theid]['color'] : '';
+
if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['color'])) {
for ($i=0; $i < 14; $i++) {
if ($color_list[$i] == $message_highlight_list[$theid]['color']) {
$selected_choose = TRUE;
- $selected_i = $color_list[$i];
continue;
}
}
}
- if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['color'])) {
- $current_color = $message_highlight_list[$theid]['color'];
- }
- else {
- $current_color = '63aa7f';
- }
-
$pre_defined_color = 0;
for($x = 0; $x < 5; $x++) {
for($y = 0; $y < 19; $y++) {
$gridindex = "$y,$x";
$gridcolor = $new_color_list[$gridindex];
- if ($gridcolor == $current_color) {
+ if ($gridcolor == $color) {
$pre_defined_color = 1;
break;
}
$selected_predefined = TRUE;
else if ($selected_choose == '')
$selected_input = TRUE;
-
- echo addForm('options_highlight.php', 'post', 'f').
+
+ $oTemplate->assign('rule_name', $name);
+ $oTemplate->assign('rule_value', $value);
+ $oTemplate->assign('rule_field', $field);
+ $oTemplate->assign('rule_color', $color);
+ $oTemplate->assign('color_radio', ($selected_choose ? 1 : ($selected_input ? 2 : 0)));
+ $oTemplate->assign('color_input', ($selected_input ? $color : ''));
+
+ echo addForm('options_highlight.php', 'post', 'f', '', '', array(), TRUE).
addHidden('action', 'save');
if($action == 'edit') {
echo addHidden('theid', (isset($theid)?$theid:''));
}
- echo html_tag( 'table', '', 'center', '', 'width="80%" cellpadding="3" cellspacing="0" border="0"' ) . "\n";
- echo html_tag( 'tr', '', '', $color[0] ) . "\n";
- echo html_tag( 'td', '', 'right', '', 'style="white-space: nowrap;"' ) . "<b>\n";
- echo _("Identifying name") . ":";
- echo ' </b></td>' . "\n";
- echo html_tag( 'td', '', 'left' ) . "\n";
- if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['name']))
- $disp = $message_highlight_list[$theid]['name'];
- else
- $disp = '';
- echo " ".addInput('identname', $disp);
- echo " </td>\n";
- echo " </tr>\n";
- echo html_tag( 'tr', html_tag( 'td', '<small><small> </small></small>', 'left' ) ) ."\n";
- echo html_tag( 'tr', '', '', $color[0] ) . "\n";
- echo html_tag( 'td', '<b>'. _("Color") . ':</b>', 'right' );
- echo html_tag( 'td', '', 'left' );
- echo ' '.addRadioBox('color_type', $selected_choose, '1');
-
- $selops = array (
- $color_list[0] => _("Dark Blue"),
- $color_list[1] => _("Dark Green"),
- $color_list[2] => _("Dark Yellow"),
- $color_list[3] => _("Dark Cyan"),
- $color_list[4] => _("Dark Magenta"),
- $color_list[5] => _("Light Blue"),
- $color_list[6] => _("Light Green"),
- $color_list[7] => _("Light Yellow"),
- $color_list[8] => _("Light Cyan"),
- $color_list[9] => _("Light Magenta"),
- $color_list[10] => _("Dark Gray"),
- $color_list[11] => _("Medium Gray"),
- $color_list[12] => _("Light Gray"),
- $color_list[13] => _("White") );
-
- echo addSelect('newcolor_choose', $selops, $selected_i, TRUE);
- echo "<br />\n";
-
- echo ' '.addRadioBox('color_type', $selected_input, 2).
- ' '. _("Other:") .
- addInput('newcolor_input',
- (($selected_input && isset($theid)) ? $message_highlight_list[$theid]['color'] : ''),
- '7');
- echo _("Ex: 63aa7f")."<br />\n";
- echo " </td>\n";
- echo " </tr>\n";
-
- # Show grid of color choices
- echo html_tag( 'tr', '', '', $color[0] ) . "\n";
- echo html_tag( 'td', '', 'left', '', 'colspan="2"' );
- echo html_tag( 'table', '', 'center', '', 'border="0" cellpadding="2" cellspacing="1"' ) . "\n";
-
- for($x = 0; $x < 5; $x++) {
- echo html_tag( 'tr' ) . "\n";
- for($y = 0; $y < 19; $y++) {
- $gridindex = "$y,$x";
- $gridcolor = $new_color_list[$gridindex];
- echo html_tag( 'td', addRadioBox('color_type', ($gridcolor == $current_color), '#'.$gridcolor),
- 'left', $gridcolor, 'colspan="2"' );
- }
- echo "</tr>\n";
- }
- echo "</table>\n";
- echo "</td></tr>\n";
-
- echo html_tag( 'tr', html_tag( 'td', '<small><small> </small></small>', 'left' ) ) . "\n";
- echo html_tag( 'tr', '', '', $color[0] ) . "\n";
- echo html_tag( 'td', '', 'center', '', 'colspan="2"' ) . "\n";
- echo " <select name=\"match_type\">\n";
- oh_opt( 'from',
- (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'from':1),
- _("From") );
- oh_opt( 'to',
- (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'to':0),
- _("To") );
- oh_opt( 'cc',
- (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'cc':0),
- _("Cc") );
- oh_opt( 'to_cc',
- (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'to_cc':0),
- _("To or Cc") );
- oh_opt( 'subject',
- (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'subject':0),
- _("Subject") );
- echo " </select>\n";
- echo '<b>' . _("Matches") . ':</b> ';
- if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['value']))
- $disp = $message_highlight_list[$theid]['value'];
- else
- $disp = '';
- echo ' '.addInput('value', $disp, 40);
- echo " </td>\n";
- echo " </tr>\n";
- echo "</table>\n";
- echo '<center><input type="submit" value="' . _("Submit") . "\" /></center>\n";
+
+ $oTemplate->display('options_highlight_addedit.tpl');
+
echo "</form>\n";
}
-do_hook('options_highlight_bottom');
+do_hook('options_highlight_bottom', $null);
-?>
-</table></body></html>
\ No newline at end of file
+$oTemplate->display('footer.tpl');