-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' );