X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Foptions_highlight.php;h=872a5cdc9524453689e2f5fc20d76dd4ade344ae;hb=c69bc63529c64510bdccbfb74bfcecc1d9d0d07b;hp=7b2ff63504348dc7f74ef1fd3995dbc31d6424c6;hpb=1c159927990ad2cfc7b44abb7102437383263e74;p=squirrelmail.git
diff --git a/src/options_highlight.php b/src/options_highlight.php
index 7b2ff635..872a5cdc 100644
--- a/src/options_highlight.php
+++ b/src/options_highlight.php
@@ -3,57 +3,42 @@
/**
* 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-2007 The SquirrelMail Project Team
+ * @license http://opensource.org/licenses/gpl-license.php GNU Public License
+ * @version $Id$
+ * @package squirrelmail
+ * @subpackage prefs
*/
-/* Path for SquirrelMail required files. */
-define('SM_PATH','../');
+/** This is the options_highlight page */
+define('PAGE_NAME', 'options_highlight');
+
+/**
+ * Include the SquirrelMail initialization file.
+ */
+require('../include/init.php');
-/* 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');
+// include_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/forms.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'];
-}
+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);
/* end of get globals */
-
+
function oh_opt( $val, $sel, $tit ) {
echo "\n";
}
@@ -64,19 +49,40 @@ if (! isset($message_highlight_list)) {
$message_highlight_list = array();
}
-if ($action == 'delete' && isset($theid)) {
-
+if (isset($theid) && ($action == 'delete') ||
+ ($action == 'up') ||
+ ($action == 'down')) {
$new_rules = array();
- foreach($message_highlight_list as $rid => $rule) {
- if($rid != $theid) {
- $new_rules[] = $rule;
- }
+ 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;
+ $message_highlight_list = $new_rules;
setPref($data_dir, $username, 'hililist', serialize($message_highlight_list));
- header( 'Location: options_highlight.php' );
+ header( 'Location: ' .get_location(). '/options_highlight.php' );
exit;
} else if ($action == 'save') {
@@ -90,75 +96,64 @@ if ($action == 'delete' && isset($theid)) {
$value = str_replace(',', ' ', $value);
if(isset($theid)) {
- $message_highlight_list[$theid] =
+ $message_highlight_list[$theid] =
array( 'name' => $identname, 'color' => $newcolor,
'value' => $value, 'match_type' => $match_type );
} else {
- $message_highlight_list[] =
+ $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');
-
-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";
-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++) {
- $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'] = htmlspecialchars($rule['name']);
+ $a['Color'] = $rule['color'];
+ $a['MatchField'] = '';
+ $a['MatchValue'] = htmlspecialchars($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;
- }
-
- echo html_tag( 'tr',
- html_tag( 'td',
- '[' .
- _("Edit") .
- '] [' . _("Delete") . ']' ,
- '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";
+ $a['MatchField'] = _("subject");
+ break;
}
- echo "\n".
- "
\n";
-} else {
- echo '' . _("No highlighting is defined") . "
\n".
- "
\n";
+
+ $rules[$index] = $a;
}
+
+$oTemplate->assign('current_rules', $rules);
+
+$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&theid=');
+$oTemplate->assign('move_up', 'options_highlight.php?action=up&theid=');
+$oTemplate->assign('move_down', 'options_highlight.php?action=down&theid=');
+
+$oTemplate->display('options_highlight_list.tpl');
+
+/**
+ * Optionally, display the add/edit dialog
+ */
if ($action == 'edit' || $action == 'add') {
$color_list[0] = '4444aa';
@@ -297,143 +292,60 @@ 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_choose = FALSE;
+ $selected_predefined = FALSE;
- for ($i=0; $i < 14; $i++) {
- ${"selected".$i} = '';
- }
- if ($action == 'edit' && isset($message_highlight_list[$theid]['color'])) {
+ $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 = ' checked';
- ${"selected".$i} = ' selected';
- continue;
+ $selected_choose = TRUE;
+ continue;
}
- }
- }
-
- if ($action == 'edit' && 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;
}
}
}
- 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 = ' checked';
+ $selected_predefined = TRUE;
else if ($selected_choose == '')
- $selected_input = ' checked';
-
- echo '\n";
}
-do_hook('options_highlight_bottom');
-?>
-