Some user interface changes.
[squirrelmail.git] / src / options_highlight.php
index c2aa0864aece610918a8e2fca7690b8c7095171a..264980c540ccfa0922181c26850306e49bbf02fb 100644 (file)
     **  $Id$
     **/
 
-   include('../src/validate.php');
-   include('../functions/page_header.php');
-   include('../functions/display_messages.php');
-   include('../functions/imap.php');
-   include('../functions/array.php');
-   include('../functions/plugin.php');
+   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');
 
    if (! isset($action))
        $action = '';
    } else if ($action == 'save') {
       if (!$theid) $theid = 0;
       $identname = ereg_replace(',', ' ', $identname);
-      $identname = str_replace('\\\\', '\\', $identname);
-      $identname = str_replace('\\"', '"', $identname);
-      $identname = str_replace('"', '"', $identname);
       if ($color_type == 1) $newcolor = $newcolor_choose;
-      else $newcolor = $newcolor_input;
+      elseif ($color_type == 2) $newcolor = $newcolor_input;
+      else $newcolor = $color_type;
  
       $newcolor = ereg_replace(',', '', $newcolor);
       $newcolor = ereg_replace('#', '', $newcolor);
-      $newcolor = "$newcolor";
+      $newcolor = ereg_replace('"', '', $newcolor);
+      $newcolor = ereg_replace('\'', '', $newcolor);
       $value = ereg_replace(',', ' ', $value);
-      $value = str_replace('\\\\', '\\', $value);
-      $value = str_replace('\\"', '"', $value);
-      $value = str_replace('"', '"', $value);
 
       setPref($data_dir, $username, "highlight$theid", $identname.','.$newcolor.','.$value.','.$match_type);
       $message_highlight_list[$theid]['name'] = $identname;
@@ -47,7 +42,6 @@
       $message_highlight_list[$theid]['value'] = $value;
       $message_highlight_list[$theid]['match_type'] = $match_type;
    } 
-   include('../src/load_prefs.php');
    displayPageHeader($color, 'None');
 ?>
    <br>
    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>\n";
-         echo '   <td width="1%" bgcolor="' . $color[4] . "\">\n";
-         echo "<nobr><small>[<a href=\"options_highlight.php?action=edit&theid=$i\">" . _("Edit") . "</a>]&nbsp;[<a href=\"options_highlight.php?action=delete&theid=$i\">"._("Delete")."</a>]</small></nobr>\n";
-         echo '   </td>';
-         echo '   <td bgcolor="' . $message_highlight_list[$i]['color'] . "\">\n";
-         echo '      ' . $message_highlight_list[$i]['name'] . '&nbsp;';
-         echo "   </td>\n";
-         echo '   <td bgcolor="' . $message_highlight_list[$i]['color'] . "\">\n";
-         echo '      '.$message_highlight_list[$i]['match_type'].' = ' . $message_highlight_list[$i]['value'];
-         echo "   </td>\n";
-         echo "</tr>\n";
+?><tr bgcolor="<?PHP echo $message_highlight_list[$i]['color'] ?>">
+<td width=5% bgcolor="<?PHP echo $color[4] ?>" nobr>
+  <small>[<a href="options_highlight.php?action=edit&theid=<?PHP echo $i 
+  ?>"><?PHP echo  _("Edit") 
+  ?></a>]&nbsp;[<a href="options_highlight.php?action=delete&theid=<?PHP
+  echo $i ?>"><?PHP echo _("Delete") ?></a>]</small>
+</td><td>
+  <?PHP echo htmlspecialchars($message_highlight_list[$i]['name']) ?>
+</td><td>
+  <?PHP echo $message_highlight_list[$i]['match_type'] . ' = ' .
+     htmlspecialchars($message_highlight_list[$i]['value']); ?>
+</td></tr>
+<?PHP
       }
       echo "</table>\n";
       echo "<br>\n";
       $color_list[12] = 'dfdfdf';
       $color_list[13] = 'ffffff';               
       
+      # helpful color chart from http://www.visibone.com/colorlab/big.html
+      $new_color_list["0,0"] = 'cccccc';
+      $new_color_list["0,1"] = '999999';
+      $new_color_list["0,2"] = '666666';
+      $new_color_list["0,3"] = '333333';
+      $new_color_list["0,4"] = '000000';
+      
+      # red
+      $new_color_list["1,0"] = 'ff0000';
+      $new_color_list["1,1"] = 'cc0000';
+      $new_color_list["1,2"] = '990000';
+      $new_color_list["1,3"] = '660000';
+      $new_color_list["1,4"] = '330000';
+      
+      $new_color_list["2,0"] = 'ffcccc';
+      $new_color_list["2,1"] = 'cc9999';
+      $new_color_list["2,2"] = '996666';
+      $new_color_list["2,3"] = '663333';
+      $new_color_list["2,4"] = '330000';
+      
+      $new_color_list["3,0"] = 'ffcccc';
+      $new_color_list["3,1"] = 'ff9999';
+      $new_color_list["3,2"] = 'ff6666';
+      $new_color_list["3,3"] = 'ff3333';
+      $new_color_list["3,4"] = 'ff0000';
+      
+      # green
+      $new_color_list["4,0"] = '00ff00';
+      $new_color_list["4,1"] = '00cc00';
+      $new_color_list["4,2"] = '009900';
+      $new_color_list["4,3"] = '006600';
+      $new_color_list["4,4"] = '003300';
+      
+      $new_color_list["5,0"] = 'ccffcc';
+      $new_color_list["5,1"] = '99cc99';
+      $new_color_list["5,2"] = '669966';
+      $new_color_list["5,3"] = '336633';
+      $new_color_list["5,4"] = '003300';
+      
+      $new_color_list["6,0"] = 'ccffcc';
+      $new_color_list["6,1"] = '99ff99';
+      $new_color_list["6,2"] = '66ff66';
+      $new_color_list["6,3"] = '33ff33';
+      $new_color_list["6,4"] = '00ff00';
+      
+      # blue
+      $new_color_list["7,0"] = '0000ff';
+      $new_color_list["7,1"] = '0000cc';
+      $new_color_list["7,2"] = '000099';
+      $new_color_list["7,3"] = '000066';
+      $new_color_list["7,4"] = '000033';
+      
+      $new_color_list["8,0"] = 'ccccff';
+      $new_color_list["8,1"] = '9999cc';
+      $new_color_list["8,2"] = '666699';
+      $new_color_list["8,3"] = '333366';
+      $new_color_list["8,4"] = '000033';
+      
+      $new_color_list["9,0"] = 'ccccff';
+      $new_color_list["9,1"] = '9999ff';
+      $new_color_list["9,2"] = '6666ff';
+      $new_color_list["9,3"] = '3333ff';
+      $new_color_list["9,4"] = '0000ff';
+      
+      # yellow
+      $new_color_list["10,0"] = 'ffff00';
+      $new_color_list["10,1"] = 'cccc00';
+      $new_color_list["10,2"] = '999900';
+      $new_color_list["10,3"] = '666600';
+      $new_color_list["10,4"] = '333300';
+                                     
+      $new_color_list["11,0"] = 'ffffcc';
+      $new_color_list["11,1"] = 'cccc99';
+      $new_color_list["11,2"] = '999966';
+      $new_color_list["11,3"] = '666633';
+      $new_color_list["11,4"] = '333300';
+                                     
+      $new_color_list["12,0"] = 'ffffcc';
+      $new_color_list["12,1"] = 'ffff99';
+      $new_color_list["12,2"] = 'ffff66';
+      $new_color_list["12,3"] = 'ffff33';
+      $new_color_list["12,4"] = 'ffff00';
+      
+      # cyan
+      $new_color_list["13,0"] = '00ffff';
+      $new_color_list["13,1"] = '00cccc';
+      $new_color_list["13,2"] = '009999';
+      $new_color_list["13,3"] = '006666';
+      $new_color_list["13,4"] = '003333';
+                                       
+      $new_color_list["14,0"] = 'ccffff';
+      $new_color_list["14,1"] = '99cccc';
+      $new_color_list["14,2"] = '669999';
+      $new_color_list["14,3"] = '336666';
+      $new_color_list["14,4"] = '003333';
+                                       
+      $new_color_list["15,0"] = 'ccffff';
+      $new_color_list["15,1"] = '99ffff';
+      $new_color_list["15,2"] = '66ffff';
+      $new_color_list["15,3"] = '33ffff';
+      $new_color_list["15,4"] = '00ffff';
+      
+      # magenta
+      $new_color_list["16,0"] = 'ff00ff';
+      $new_color_list["16,1"] = 'cc00cc';
+      $new_color_list["16,2"] = '990099';
+      $new_color_list["16,3"] = '660066';
+      $new_color_list["16,4"] = '330033';
+                                   
+      $new_color_list["17,0"] = 'ffccff';
+      $new_color_list["17,1"] = 'cc99cc';
+      $new_color_list["17,2"] = '996699';
+      $new_color_list["17,3"] = '663366';
+      $new_color_list["17,4"] = '330033';
+                                   
+      $new_color_list["18,0"] = 'ffccff';
+      $new_color_list["18,1"] = 'ff99ff';
+      $new_color_list["18,2"] = 'ff66ff';
+      $new_color_list["18,3"] = 'ff33ff';
+      $new_color_list["18,4"] = 'ff00ff';
+
       $selected_input = '';
       $selected_choose = '';
       
       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\" width=\"25%\"><b>\n";
+      echo "      <td align=\"right\" nobr><b>\n";
       echo _("Identifying name") . ":";
       echo '      </b></td>' . "\n";
-      echo '      <td width="75%">' . "\n";
+      echo '      <td>' . "\n";
       if (isset($message_highlight_list[$theid]['name']))
           $disp = $message_highlight_list[$theid]['name'];
       else
           $disp = '&nbsp;';
-      $disp = str_replace('\\\\', '\\', $disp);
-      $disp = str_replace('\\"', '"', $disp);
-      $disp = str_replace('"', '&quot;', $disp);
+      $disp = htmlspecialchars($disp);
       echo "         <input type=\"text\" value=\"".$disp."\" name=\"identname\">";
       echo "      </td>\n";
       echo "   </tr>\n";
       echo '   <tr><td><small><small>&nbsp;</small></small></td></tr>' . "\n";
       echo "   <tr bgcolor=\"$color[0]\">\n";
-      echo '      <td align="right" width="25%"><b>' . "\n";
+      echo '      <td align="right"><b>' . "\n";
       echo _("Color") . ':';
       echo "      </b></td>\n";
-      echo '      <td width="75%">' . "\n";
+      echo '      <td>' . "\n";
       echo "         <input type=\"radio\" name=color_type value=1$selected_choose> &nbsp;<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 '" 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'];
+      for($x = 0; $x < 5; $x++) {
+        echo "<tr>\n";
+        for($y = 0; $y < 19; $y++) {
+          $gridindex = "$y,$x";
+          $gridcolor = $new_color_list[$gridindex];
+         $selected = ($gridcolor == $current_color)?'SELECTED':'' ;
+          echo "<td bgcolor=#$gridcolor><input type='radio' name=color_type value='#$gridcolor' $selected>\n";
+          echo "</td>\n";
+        }
+        echo "</tr>\n";
+      }
+      echo "</table>\n";
+      echo "</tr></td>\n";
+
       echo '   <tr><td><small><small>&nbsp;</small></small></td></tr>' . "\n";
       echo "   <tr bgcolor=\"$color[0]\">\n";
-      echo '      <td align="right" width="25%"><b>' . "\n";
-      echo _("Match") . ':';
-      echo "      </b></td>\n";
-      echo '      <td width="75%">' . "\n";
+      echo '      <td align="center" colspan=2>' . "\n";
       echo "         <select name=match_type>\n";
       if (isset($message_highlight_list[$theid]['match_type']) && $message_highlight_list[$theid]['match_type'] == 'from')    echo "            <option value=\"from\" selected>From\n";
       else                                                         echo "            <option value=\"from\">From\n";
       if (isset($message_highlight_list[$theid]['match_type']) && $message_highlight_list[$theid]['match_type'] == 'subject') echo "            <option value=\"subject\" selected>Subject\n";
       else                                                         echo "            <option value=\"subject\">Subject\n";
       echo "         </select>\n";
+      echo '<b>' . _("Matches") . ':</b> ';
       if (isset($message_highlight_list[$theid]['value']))
           $disp = $message_highlight_list[$theid]['value'];
       else
           $disp = '';
-      $disp = str_replace('\\\\', '\\', $disp);
-      $disp = str_replace('\\"', '"', $disp);
-      $disp = str_replace('"', '&quot;', $disp);
-      echo '         <nobr><input type="text" value="'.$disp.'" name="value">';
-      echo "        <nobr></td>\n";
+      $disp = htmlspecialchars($disp);
+      echo '         <input type="text" value="' . $disp .
+         '" name="value" size=40>';
+      echo "        </td>\n";
       echo "   </tr>\n";
       echo "</table>\n";
       echo '<center><input type="submit" value="' . _("Submit") . "\"></center>\n";
       echo "</form>\n";
-      do_hook('options_highlight_bottom');
    } 
+   do_hook('options_highlight_bottom');
 ?>
-</body></html>
+</body></html>
\ No newline at end of file