X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Foptions_highlight.php;h=fe5b24dba7fadc7b656e2ae82674af956fb3ea06;hb=c3ccfa1912b4ca47279d259bb587ceb293ce5d83;hp=b459b45fcb2c61a345d8d95645abe8f0d3a6b50e;hpb=fe369c7058d247ee83505595d6770d77cd7fa476;p=squirrelmail.git diff --git a/src/options_highlight.php b/src/options_highlight.php index b459b45f..fe5b24db 100644 --- a/src/options_highlight.php +++ b/src/options_highlight.php @@ -3,7 +3,7 @@ /** * 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 @@ -18,7 +18,6 @@ define('SM_PATH','../'); 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/array.php'); require_once(SM_PATH . 'functions/plugin.php'); require_once(SM_PATH . 'functions/strings.php'); require_once(SM_PATH . 'functions/html.php'); @@ -49,7 +48,6 @@ if (isset($_GET['value'])) { $value = $_GET['value']; } -$SCRIPT_NAME = $_SERVER['SCRIPT_NAME']; /* end of get globals */ function oh_opt( $val, $sel, $tit ) { @@ -66,28 +64,63 @@ if (! isset($message_highlight_list)) { $message_highlight_list = array(); } -if ($action == 'delete' && isset($theid)) { - removePref($data_dir, $username, "highlight$theid"); - header( "Location: $SCRIPT_NAME" ); +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 = str_replace(',', ' ', $identname); + if ($color_type == 1) $newcolor = $newcolor_choose; elseif ($color_type == 2) $newcolor = $newcolor_input; else $newcolor = $color_type; - $newcolor = str_replace(',', '', $newcolor); $newcolor = str_replace('#', '', $newcolor); $newcolor = str_replace('"', '', $newcolor); $newcolor = str_replace('\'', '', $newcolor); $value = str_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; + 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'); @@ -96,16 +129,17 @@ html_tag( 'table', "\n" . html_tag( 'tr', "\n" . html_tag( 'td', '
' . _("Options") . ' - ' . _("Message Highlighting") . '
', 'left') ), - 'center', $color[9], 'width="95% border="0" cellpadding="1" cellspacing="0"' ) . "
\n" . -html_tag( 'table', '', '', '', 'width="100% border="0" cellpadding="1" cellspacing="0"' ) . + 'center', $color[9], 'width="95%" border="0" cellpadding="1" cellspacing="0"' ) . "
\n" . +html_tag( 'table', '', '', '', 'width="100%" border="0" cellpadding="1" cellspacing="0"' ) . html_tag( 'tr' ) . "\n" . html_tag( 'td', '', 'left' ); echo '
[' . _("New") . ']'. ' - ['._("Done").']

'."\n"; -if (count($message_highlight_list) >= 1) { - echo html_tag( 'table', '', 'center', '', 'width="80% border="0" cellpadding="3" cellspacing="0"' ) . "\n"; - for ($i=0; $i < count($message_highlight_list); $i++) { +$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' : @@ -125,12 +159,21 @@ if (count($message_highlight_list) >= 1) { break; } + $links = '[' . + _("Edit") . + '] [' . + _("Delete"); + if($i > 0) { + $links .= '] [' . _("Up"); + } + if($i+1 < $mhl_count) { + $links .= '] [' . _("Down"); + } + $links .= ']'; + echo html_tag( 'tr', html_tag( 'td', - '[' . - _("Edit") . - '] [' . _("Delete") . ']' , + $links, 'left', $color[4], 'width="20%" nowrap' ) . html_tag( 'td', htmlspecialchars($message_highlight_list[$i]['name']) , @@ -148,11 +191,6 @@ if (count($message_highlight_list) >= 1) { "
\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'; @@ -296,17 +334,17 @@ if ($action == 'edit' || $action == 'add') { 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 (isset($message_highlight_list[$theid]['color'])) { + if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['color'])) { $current_color = $message_highlight_list[$theid]['color']; } else { @@ -333,14 +371,15 @@ if ($action == 'edit' || $action == 'add') { echo '
' . "\n"; echo '' . "\n"; - echo '' . "\n"; + if($action == 'edit') + echo '' . "\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' ) . "\n"; echo _("Identifying name") . ":"; echo ' ' . "\n"; echo html_tag( 'td', '', 'left' ) . "\n"; - if (isset($message_highlight_list[$theid]['name'])) + if ($action == 'edit' && isset($theid) && isset($message_highlight_list[$theid]['name'])) $disp = $message_highlight_list[$theid]['name']; else $disp = ''; @@ -369,7 +408,7 @@ if ($action == 'edit' || $action == 'add') { echo "