X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Foptions_highlight.php;h=aa6fae03e5a241cc9dbc555be44dbca2e43738c5;hb=1ce76674256f43e3daf0a08b81d134dd646121c8;hp=fdd0a279230080c635801b9a2245353d1cca4a10;hpb=25dd672ca867d02aaa8c16684f5c60510beb814b;p=squirrelmail.git diff --git a/src/options_highlight.php b/src/options_highlight.php index fdd0a279..aa6fae03 100644 --- a/src/options_highlight.php +++ b/src/options_highlight.php @@ -3,25 +3,39 @@ /** * options_highlight.php * - * Copyright (c) 1999-2002 The SquirrelMail Project Team - * Licensed under the GNU GPL. For full terms see the file COPYING. - * * Displays message highlighting options * - * $Id$ + * @copyright © 1999-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + * @version $Id$ + * @package squirrelmail + * @subpackage prefs + */ + +/** + * Include the SquirrelMail initialization file. */ +require('../include/init.php'); + +// include_once(SM_PATH . 'functions/imap.php'); +require_once(SM_PATH . 'functions/forms.php'); + +/* get globals */ +sqGetGlobalVar('action', $action); +sqGetGlobalVar('theid', $theid); +sqGetGlobalVar('identname', $identname); +sqGetGlobalVar('newcolor_choose', $newcolor_choose); +sqGetGlobalVar('newcolor_input', $newcolor_input); +sqGetGlobalVar('color_type', $color_type); +sqGetGlobalVar('match_type', $match_type); +sqGetGlobalVar('value', $value); -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'); -require_once('../functions/strings.php'); +/* end of get globals */ function oh_opt( $val, $sel, $tit ) { echo "\n"; } @@ -32,67 +46,133 @@ 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: ' .get_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'); -?> -
-
-
-
-
[' . _("New") . ']'. - ' - ['._("Done").']

'."\n"; -if (count($message_highlight_list) >= 1) { - echo ''."\n"; - for ($i=0; $i < count($message_highlight_list); $i++) { - echo ''. - "'; +echo +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"' ) . + html_tag( 'tr' ) . "\n" . + html_tag( 'td', '', 'left' ); + +echo '
[' . _("New") . ']'. + ' - ['._("Done").']

'."\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'] ) { + 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 = '[' . + _("Edit") . + '] [' . + _("Delete"); + if($i > 0) { + $links .= '] [' . _("Up"); + } + if($i+1 < $mhl_count) { + $links .= '] [' . _("Down"); + } + $links .= ']'; + + 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"; } echo "
". - "[". - _("Edit") . - '] [' . _("Delete") . ']'. - ''. - htmlspecialchars($message_highlight_list[$i]['name']) . - ''. - $message_highlight_list[$i]['match_type'] . ' = ' . - htmlspecialchars($message_highlight_list[$i]['value']). - '
\n". - "
\n"; + "
\n"; } else { - echo '
' . _("No highlighting is defined") . "

\n". - "
\n"; + echo '
' . _("No highlighting is defined") . "

\n". + "
\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'; @@ -230,128 +310,156 @@ if ($action == 'edit' || $action == 'add') { $new_color_list["18,3"] = 'ff33ff'; $new_color_list["18,4"] = 'ff00ff'; - $selected_input = ''; - $selected_choose = ''; + $selected_input = FALSE; + $selected_i = null; + $selected_choose = FALSE; + $selected_predefined = FALSE; 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 = 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) { + $pre_defined_color = 1; + break; + } + } } - if (!isset($message_highlight_list[$theid]['color'])) - $selected_choose = ' checked'; + + if (isset($theid) && !isset($message_highlight_list[$theid]['color'])) + $selected_choose = TRUE; + else if ($pre_defined_color) + $selected_predefined = TRUE; else if ($selected_choose == '') - $selected_input = ' checked'; - - echo '
' . "\n"; - echo '' . "\n"; - echo '' . "\n"; - echo '' . "\n"; - echo " \n"; - echo " ' . "\n"; - echo ' \n"; echo " \n"; - echo ' ' . "\n"; - echo " \n"; - echo ' \n"; - echo ' \n"; echo " \n"; # Show grid of color choices - echo "\n"; - echo ' ' . "\n"; - echo " \n"; - echo ' \n"; echo " \n"; echo "
\n"; + $selected_input = TRUE; + + echo addForm('options_highlight.php', 'post', 'f'). + 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;"' ) . "\n"; echo _("Identifying name") . ":"; echo ' ' . "\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 = ''; - $disp = htmlspecialchars($disp); - echo " "; + echo " ".addInput('identname', $disp); echo "
 
' . "\n"; - echo _("Color") . ':'; - echo " ' . "\n"; - echo "  
\n"; - echo "  ". _("Other:") ." '._("Ex: 63aa7f")."
\n"; + echo html_tag( 'tr', html_tag( 'td', ' ', 'left' ) ) ."\n"; + echo html_tag( 'tr', '', '', $color[0] ) . "\n"; + echo html_tag( 'td', ''. _("Color") . ':', '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 "
\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")."
\n"; echo "
\n"; - echo "\n"; - if (isset($message_highlight_list[$theid]['color'])) { - $current_color = $message_highlight_list[$theid]['color']; - } - else { - $current_color = '63aa7f'; - } + 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 "\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 "\n"; + echo html_tag( 'td', addRadioBox('color_type', ($gridcolor == $current_color), '#'.$gridcolor), + 'left', '#'.$gridcolor, 'colspan="2"' ); } echo "\n"; } echo "
\n"; - echo "
\n"; echo "
 
' . "\n"; - echo " \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 " \n"; echo '' . _("Matches") . ': '; - 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 = ''; - $disp = htmlspecialchars($disp); - echo ' '; + echo ' '.addInput('value', $disp, 40); echo "
\n"; - echo '
\n"; + echo '
\n"; echo "
\n"; } do_hook('options_highlight_bottom'); + ?> - + +display('footer.tpl'); +?> \ No newline at end of file