/**
* options_highlight.php
*
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* Displays message highlighting options
* $Id$
*/
-require_once('../src/validate.php');
-require_once('../functions/display_messages.php');
-require_once('../functions/imap.php');
-require_once('../functions/array.php');
-require_once('../functions/plugin.php');
+/* Path for SquirrelMail required files. */
+define('SM_PATH','../');
+/* SquirrelMail required files. */
+require_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/display_messages.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/plugin.php');
+require_once(SM_PATH . 'functions/strings.php');
+require_once(SM_PATH . 'functions/html.php');
+
+/* get globals */
+if (isset($_GET['action'])) {
+ $action = $_GET['action'];
+}
+if (isset($_GET['theid'])) {
+ $theid = $_GET['theid'];
+}
+if (isset($_GET['identname'])) {
+ $identname = $_GET['identname'];
+}
+if (isset($_GET['newcolor_choose'])) {
+ $newcolor_choose = $_GET['newcolor_choose'];
+}
+if (isset($_GET['newcolor_input'])) {
+ $newcolor_input = $_GET['newcolor_input'];
+}
+if (isset($_GET['color_type'])) {
+ $color_type = $_GET['color_type'];
+}
+if (isset($_GET['match_type'])) {
+ $match_type = $_GET['match_type'];
+}
+if (isset($_GET['value'])) {
+ $value = $_GET['value'];
+}
+
+/* end of get globals */
+
function oh_opt( $val, $sel, $tit ) {
echo "<option value=\"$val\"";
if ( $sel )
$message_highlight_list = array();
}
-if ($action == 'delete' && isset($theid)) {
- removePref($data_dir, $username, "highlight$theid");
- header( "Location: $PHP_SELF" );
+if (isset($theid) && ($action == 'delete') ||
+ ($action == 'up') ||
+ ($action == 'down')) {
+ $new_rules = array();
+ switch($action) {
+ case('delete'):
+ foreach($message_highlight_list as $rid => $rule) {
+ if($rid != $theid) {
+ $new_rules[] = $rule;
+ }
+ }
+ break;
+ case('down'):
+ $theid++;
+ case('up'):
+ foreach($message_highlight_list as $rid => $rule) {
+ if($rid == $theid) {
+ $temp_rule = $new_rules[$rid-1];
+ $new_rules[$rid-1] = $rule;
+ $new_rules[$rid] = $temp_rule;
+ } else {
+ $new_rules[$rid] = $rule;
+ }
+ }
+ break;
+ default:
+ $new_rules = $message_highlight_list;
+ break;
+ }
+ $message_highlight_list = $new_rules;
+
+ setPref($data_dir, $username, 'hililist', serialize($message_highlight_list));
+
+ header( 'Location: options_highlight.php' );
exit;
} else if ($action == 'save') {
- if (!$theid) $theid = 0;
- $identname = ereg_replace(',', ' ', $identname);
+
if ($color_type == 1) $newcolor = $newcolor_choose;
elseif ($color_type == 2) $newcolor = $newcolor_input;
else $newcolor = $color_type;
- $newcolor = ereg_replace(',', '', $newcolor);
- $newcolor = ereg_replace('#', '', $newcolor);
- $newcolor = ereg_replace('"', '', $newcolor);
- $newcolor = ereg_replace('\'', '', $newcolor);
- $value = ereg_replace(',', ' ', $value);
-
- setPref($data_dir, $username, "highlight$theid", $identname.','.$newcolor.','.$value.','.$match_type);
- $message_highlight_list[$theid]['name'] = $identname;
- $message_highlight_list[$theid]['color'] = $newcolor;
- $message_highlight_list[$theid]['value'] = $value;
- $message_highlight_list[$theid]['match_type'] = $match_type;
+ $newcolor = str_replace('#', '', $newcolor);
+ $newcolor = str_replace('"', '', $newcolor);
+ $newcolor = str_replace('\'', '', $newcolor);
+ $value = str_replace(',', ' ', $value);
+
+ if(isset($theid)) {
+ $message_highlight_list[$theid] =
+ array( 'name' => $identname, 'color' => $newcolor,
+ 'value' => $value, 'match_type' => $match_type );
+ } else {
+ $message_highlight_list[] =
+ array( 'name' => $identname, 'color' => $newcolor,
+ 'value' => $value, 'match_type' => $match_type );
+ }
+
+ setPref($data_dir, $username, 'hililist', serialize($message_highlight_list));
}
displayPageHeader($color, 'None');
-?>
-<br>
-<table width="95%" align="center" border="0" cellpadding="2" cellspacing="0"><tr><td bgcolor="<?php echo $color[0] ?>">
- <center><b><?php echo _("Options") . ' - ' . _("Message Highlighting"); ?></b></center>
-</td></tr></table>
-<?php
-echo '<br><center>[<a href="options_highlight.php?action=add">' . _("New") . '</a>]'.
+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";
-if (count($message_highlight_list) >= 1) {
- echo '<table border="0" cellpadding="3" cellspacing="0" align="center" width="80%">'."\n";
- for ($i=0; $i < count($message_highlight_list); $i++) {
- echo '<tr bgcolor="' . $message_highlight_list[$i]['color'] . '">'.
- "<td width=\"20%\" bgcolor=\"$color[4]\" nowrap>".
- "<small>[<a href=\"options_highlight.php?action=edit&theid=$i\">".
- _("Edit") .
- '</a>] [<a href="options_highlight.php?action=delete&theid='.
- $i . '">' . _("Delete") . '</a>]</small>'.
- '</td><td>'.
- htmlspecialchars($message_highlight_list[$i]['name']) .
- '</td><td>'.
- $message_highlight_list[$i]['match_type'] . ' = ' .
- htmlspecialchars($message_highlight_list[$i]['value']).
- '</td></tr>';
+$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'] ) {
+ case 'from' :
+ $match_type = _("From");
+ break;
+ case 'to' :
+ $match_type = _("To");
+ break;
+ case 'cc' :
+ $match_type = _("Cc");
+ break;
+ case 'to_cc' :
+ $match_type = _("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%" 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";
}
echo "</table>\n".
"<br>\n";
"<br>\n";
}
if ($action == 'edit' || $action == 'add') {
- if (!isset($theid))
- {
- $theid = count($message_highlight_list);
- $message_highlight_list[$theid] = array();
- }
$color_list[0] = '4444aa';
$color_list[1] = '44aa44';
for ($i=0; $i < 14; $i++) {
${"selected".$i} = '';
}
- if (isset($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 = ' checked';
- ${"selected".$i} = ' selected';
- continue;
+ $selected_choose = ' checked';
+ ${"selected".$i} = ' selected';
+ continue;
}
+ }
+ }
+
+ if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['color'])) {
+ $current_color = $message_highlight_list[$theid]['color'];
}
+ else {
+ $current_color = '63aa7f';
}
+
+ for($x = 0; $x < 5; $x++) {
+ for($y = 0; $y < 19; $y++) {
+ $gridindex = "$y,$x";
+ $gridcolor = $new_color_list[$gridindex];
+ if ($gridcolor == $current_color) {
+ $pre_defined_color = 1;
+ break;
+ }
+ }
+ }
+
if (!isset($message_highlight_list[$theid]['color']))
$selected_choose = ' checked';
+ else if ($pre_defined_color)
+ $selected_predefined = ' checked';
else if ($selected_choose == '')
$selected_input = ' checked';
echo '<form name="f" action="options_highlight.php">' . "\n";
echo '<input type="hidden" value="save" name="action">' . "\n";
- echo '<input type="hidden" value="'.$theid.'" name="theid">' . "\n";
- echo '<table width="80%" align="center" cellpadding="3" cellspacing="0" border="0">' . "\n";
- echo " <tr bgcolor=\"$color[0]\">\n";
- echo " <td align=\"right\" nowrap><b>\n";
+ if($action == 'edit')
+ echo '<input type="hidden" value="'.(isset($theid)?$theid:'').'" name="theid">' . "\n";
+ 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', '', 'nowrap' ) . "<b>\n";
echo _("Identifying name") . ":";
echo ' </b></td>' . "\n";
- echo ' <td>' . "\n";
- if (isset($message_highlight_list[$theid]['name']))
+ 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 " <input type=\"text\" value=\"".$disp."\" name=\"identname\">";
echo " </td>\n";
echo " </tr>\n";
- echo ' <tr><td><small><small> </small></small></td></tr>' . "\n";
- echo " <tr bgcolor=\"$color[0]\">\n";
- echo ' <td align="right"><b>' . "\n";
- echo _("Color") . ':';
- echo " </b></td>\n";
- echo ' <td>' . "\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 " <input type=\"radio\" name=color_type value=1$selected_choose> <select name=newcolor_choose>\n";
echo " <option value=\"$color_list[0]\"$selected0>" . _("Dark Blue") . "\n";
echo " <option value=\"$color_list[1]\"$selected1>" . _("Dark Green") . "\n";
echo " <option value=\"$color_list[13]\"$selected13>" . _("White") . "\n";
echo " </select><br>\n";
echo " <input type=\"radio\" name=color_type value=2$selected_input> ". _("Other:") ."<input type=\"text\" value=\"";
- if ($selected_input) echo $message_highlight_list[$theid]["color"];
+ if ($selected_input && isset($theid)) echo $message_highlight_list[$theid]["color"];
echo '" name="newcolor_input" size="7"> '._("Ex: 63aa7f")."<br>\n";
echo " </td>\n";
echo " </tr>\n";
# Show grid of color choices
- echo "<tr bgcolor=\"$color[0]\"><td colspan='2'>\n";
- echo "<table border=0 cellpadding=\"2\" align=\"center\" cellspacing=\"1\">\n";
- $current_color = $message_highlight_list[$theid]['color'];
+ 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 "<tr>\n";
+ echo html_tag( 'tr' ) . "\n";
for($y = 0; $y < 19; $y++) {
$gridindex = "$y,$x";
$gridcolor = $new_color_list[$gridindex];
- $selected = ($gridcolor == $current_color)?'CHECKED':'' ;
- echo "<td bgcolor=\"#$gridcolor\"><input type='radio' name=color_type value='#$gridcolor' $selected>\n";
- echo "</td>\n";
+ $selected = ($gridcolor == $current_color) ? ' checked' : '' ;
+ echo html_tag( 'td', '<input type="radio" name="color_type" value="#' . $gridcolor .'"' . $selected . '>', 'left', $gridcolor, 'colspan="2"' );
}
echo "</tr>\n";
}
echo "</table>\n";
echo "</td></tr>\n";
- echo ' <tr><td><small><small> </small></small></td></tr>' . "\n";
- echo " <tr bgcolor=\"$color[0]\">\n";
- echo ' <td align="center" colspan=2>' . "\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',
- ($message_highlight_list[$theid]['match_type'] == 'from'),
+ (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'from':1),
_("From") );
oh_opt( 'to',
- ($message_highlight_list[$theid]['match_type'] == 'to'),
+ (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'to':0),
_("To") );
oh_opt( 'cc',
- ($message_highlight_list[$theid]['match_type'] == 'cc'),
+ (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'cc':0),
_("Cc") );
oh_opt( 'to_cc',
- ($message_highlight_list[$theid]['match_type'] == 'to_cc'),
+ (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'to_cc':0),
_("To or Cc") );
oh_opt( 'subject',
- ($message_highlight_list[$theid]['match_type'] == 'subject'),
+ (isset($theid)?$message_highlight_list[$theid]['match_type'] == 'subject':0),
_("Subject") );
echo " </select>\n";
echo '<b>' . _("Matches") . ':</b> ';
- if (isset($message_highlight_list[$theid]['value']))
+ if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['value']))
$disp = $message_highlight_list[$theid]['value'];
else
$disp = '';
}
do_hook('options_highlight_bottom');
?>
-</body></html>
+</table></body></html>