New version of actions file editor templates
authorjongfoster <jongfoster@users.sourceforge.net>
Tue, 13 Nov 2001 00:58:18 +0000 (00:58 +0000)
committerjongfoster <jongfoster@users.sourceforge.net>
Tue, 13 Nov 2001 00:58:18 +0000 (00:58 +0000)
templates/edit-actions-add-url-form [new file with mode: 0644]
templates/edit-actions-for-url
templates/edit-actions-list
templates/edit-actions-list-section
templates/edit-actions-list-url
templates/edit-actions-remove-url-form [new file with mode: 0644]
templates/edit-actions-url-form [new file with mode: 0644]

diff --git a/templates/edit-actions-add-url-form b/templates/edit-actions-add-url-form
new file mode 100644 (file)
index 0000000..92227f9
--- /dev/null
@@ -0,0 +1,174 @@
+##############################################################################\r
+#\r
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $\r
+#\r
+# Purpose     :  Template used to add a URL pattern to the actions file.\r
+#\r
+#\r
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge\r
+#                IJBSWA team.  http://ijbswa.sourceforge.net\r
+#\r
+#                Original Author: Copyright (C) 2001 Jonathan Foster\r
+#                http://www.jon-foster.co.uk/\r
+#\r
+#                This program is free software; you can redistribute it \r
+#                and/or modify it under the terms of the GNU General\r
+#                Public License as published by the Free Software\r
+#                Foundation; either version 2 of the License, or (at\r
+#                your option) any later version.\r
+#\r
+#                This program is distributed in the hope that it will\r
+#                be useful, but WITHOUT ANY WARRANTY; without even the\r
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A\r
+#                PARTICULAR PURPOSE.  See the GNU General Public\r
+#                License for more details.\r
+#\r
+#                The GNU General Public License should be included with\r
+#                this file.  If not, you can view it at\r
+#                http://www.gnu.org/copyleft/gpl.html\r
+#                or write to the Free Software Foundation, Inc., 59\r
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
+#\r
+# Revisions   :\r
+#    $Log$\r
+#\r
+##############################################################################\r
+#\r
+# Standard support:\r
+#\r
+# This file currently produces valid HTML 4.01 Strict.\r
+#\r
+# If you change it, please save the generated page from your web browser\r
+# and then upload it to http://validator.w3.org/ for checking.\r
+#\r
+#############################################################################\r
+#\r
+# Available variables include:\r
+#\r
+# filename\r
+# ver\r
+# section\r
+#\r
+#############################################################################\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<html>\r
+\r
+<head>\r
+<meta http-equiv="Content-Style-Type" content="text/css">\r
+<meta http-equiv="Content-Script-Type" content="text/javascript">\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\r
+<meta name="robots" content="noindex,nofollow">\r
+\r
+<title>JunkBuster: Edit URL Pattern</title>\r
+\r
+<style type="text/css">\r
+body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;\r
+               background-color: #ffffff;\r
+               color: #000000            }\r
+td.light     { background-color: #eeeeee }\r
+td.dark      { background-color: #dddddd }\r
+</style>\r
+\r
+<script type="text/javascript">\r
+<!--\r
+function validate(text)\r
+{\r
+  if (text=="")\r
+  {\r
+    alert("You need to type a pattern in order to continue!");\r
+    return false;\r
+  }\r
+\r
+  return true;\r
+}\r
+//-->\r
+</script>\r
+\r
+</head>\r
+\r
+<body>\r
+\r
+<table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+  <tr>\r
+    <td class="dark">\r
+      <p><b><big><big>This is the Internet \r
+        J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>\r
+        @version@ on @my-hostname@ (@my-ip-address@),\r
+        port @my-port@, \r
+        @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-unstable-start -->\r
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in\r
+  <tr>\r
+    <td style="background-color: #ffdddd" >\r
+      <p><b>Please note that this <span style="color: #ff0000">@code-status@</span> release\r
+        of the proxy software is not intended for production systems!\r
+        <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>\r
+      </p>\r
+\r
+      <p>Feel free to <a href="mailto:ijbswa-developers@lists.sourceforge.net">mail the developers</a>\r
+        with any problems you encounter.\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-unstable-end@ -->\r
+\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Add URL Pattern</h2>\r
+      <form method="GET" action="http://i.j.b/edit-actions-add-url"\r
+            onSubmit="return validate(newval.value);">\r
+        <p>\r
+          <input type="hidden" name="filename" value="@filename@">\r
+          <input type="hidden" name="ver" value="@ver@">\r
+          <input type="hidden" name="section" value="@section@">\r
+          <input type="text" name="newval" value="" size="78"><br>\r
+          <input type="submit" value="Submit"> &nbsp;\r
+          <input type="reset" value="Reset"> &nbsp;\r
+          <a href="http://i.j.b/edit-actions-list?filename=@filename@">Cancel</a>\r
+        </p>\r
+      </form>\r
+    </td>\r
+  </tr>\r
+\r
+  <tr>\r
+    <td class="dark">\r
+      <h2>More Junkbuster:</h2>\r
+      <ul>@menu@</ul>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-have-help-info-start -->\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Local Junkbuster support:</h2>\r
+\r
+<!-- @if-have-proxy-info-start -->\r
+      <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Junkbuster installation.\r
+<!-- if-have-proxy-info-end@ -->\r
+\r
+<!-- @if-have-adminaddr-info-start -->\r
+      <p>Address e-mail questions about this service to\r
+        <a href="mailto:@admin-address@"><code>@admin-address@</code></a>,\r
+        who will be glad to help you.\r
+<!-- if-have-adminaddr-info-end@ -->\r
+\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-have-help-info-end@ -->\r
+\r
+  <tr>\r
+    <td>\r
+      <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>\r
+    </td>\r
+  </tr>\r
+\r
+</table>\r
+\r
+</body>\r
+\r
+</html>\r
+\r
index 2c6a5b6..7fc400d 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css">
-<meta http-equiv="Content-Script-Type" content="text/javascript">
-<meta name="robots" content="noindex,nofollow">
-
-<title>JunkBuster: Edit actions</title>
-
-<style type="text/css">
-body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif }
-td.action    { font-weight: bold; font-style: italic; white-space: nowrap }
-th           { font-weight: bold; background-color: #999999 }
-# This is the key to the color names below:
-# bg=background, en="Enable", dis="Disable", noc="No Change"
-# 1=odd rows, 2=even rows, h=Table header
-tr.bg1       { background-color: #EEEEEE }
-td.en1       { background-color: #EEFFEE }
-td.dis1      { background-color: #FFEEEE }
-td.noc1      { background-color: #EEEEFF }
-tr.bg2       { background-color: #DDDDDD }
-td.en2       { background-color: #DDFFDD }
-td.dis2      { background-color: #FFDDDD }
-td.noc2      { background-color: #DDDDFF }
-th.enh       { background-color: #99FF99 }
-th.dish      { background-color: #FF9999 }
-th.noch      { background-color: #9999FF }
-</style>
-
-<script type="text/javascript">
-<!--
-//function show_more(target, tf)
-//{
-//   if (tf)
-//   { target.style.display = ""; }
-//   else
-//   { target.style.display = "none"; }
-//}
-
-function from_param_disable(tf)
-{
-  if (document.layers) {
-    document.myform.from_param.disabled = tf;
-  }
-  else if (document.getElementById) {
-    document.getElementById("from_param").disabled = tf;
-  }
-  else if (document.all) {
-    document.myform.from_param.disabled = tf;
-  }
-}
-
-function hide_referer_param_disable(tf)
-{
-  if (document.layers) {
-    document.myform.hide_referer_param.disabled = tf;
-  }
-  else if (document.getElementById) {
-    document.getElementById("hide_referer_param").disabled = tf;
-  }
-  else if (document.all) {
-    document.myform.hide_referer_param.disabled = tf;
-  }
-}
-
-function image_blocker_param_disable(tf)
-{
-  if (document.layers) {
-    document.myform.image_blocker_param.disabled = tf;
-  }
-  else if (document.getElementById) {
-    document.getElementById("image_blocker_param").disabled = tf;
-  }
-  else if (document.all) {
-    document.myform.image_blocker_param.disabled = tf;
-  }
-}
-
-function show_add_header_opts(tf)
-{
-  if (document.layers) {
-    target = document.add_header_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("add_header_opts");
-  }
-  else if (document.all) {
-    target = document.add_header_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-function show_deanimate_opts(tf)
-{
-  if (document.layers) {
-    target = document.deanimate_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("deanimate_opts");
-  }
-  else if (document.all) {
-    target = document.deanimate_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-function show_hide_from_opts(tf)
-{
-  if (document.layers) {
-    target = document.hide_from_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("hide_from_opts");
-  }
-  else if (document.all) {
-    target = document.hide_from_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-function show_hide_referer_opts(tf)
-{
-  if (document.layers) {
-    target = document.hide_referer_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("hide_referer_opts");
-  }
-  else if (document.all) {
-    target = document.hide_referer_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-function show_user_agent_opts(tf)
-{
-  if (document.layers) {
-    target = document.user_agent_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("user_agent_opts");
-  }
-  else if (document.all) {
-    target = document.user_agent_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-function show_image_blocker_opts(tf)
-{
-  if (document.layers) {
-    target = document.image_blocker_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("image_blocker_opts");
-  }
-  else if (document.all) {
-    target = document.image_blocker_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-function show_wafer_opts(tf)
-{
-  if (document.layers) {
-    target = document.wafer_opts;
-  }
-  else if (document.getElementById) {
-    target = document.getElementById("wafer_opts");
-  }
-  else if (document.all) {
-    target = document.wafer_opts;
-  }
-  else
-  {
-    return;
-  }
-
-  if (tf)
-  {
-    target.style.display = "";
-  }
-  else
-  {
-    target.style.display = "none";
-  }
-}
-
-//-->
-</script>
-</head>
-
-<body>
-
-<p>&nbsp;</p>
-<form method="GET" action="http://i.j.b/edit-actions-submit" id="myform" name="myform">
-  <input type="hidden" name="filename" value="@filename@">
-  <input type="hidden" name="ver" value="@ver@">
-  <input type="hidden" name="section" value="@section@">
-  <table border="0" width="100%" cellspacing="0">
-    <tr align="left">
-      <th>Action</th>
-      <th>Description</th>
-      <th class="enh" align="center">Enable</th>
-      <th class="dish" align="center">Disable</th>
-      <th class="noch" align="center">No Change</th>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+add-header</td>
-      <td>Adds HTTP headers.</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="add-header" id="add_header_y" value="Y" @add-header-y@
-        onclick="show_add_header_opts(true)"></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="add-header" value="N" @add-header-n@
-        onclick="show_add_header_opts(false)"></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="add-header" value="X" @add-header-x@
-        onclick="show_add_header_opts(false)"></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top" id="add_header_opts">
-      <td>&nbsp;</td>
-      <td colspan="4">To edit the settings for this option, <input
-        type="checkbox" name="add-header-edit" id="add_header_edit"
-        value="ON"><label for="add_header_edit">check here</label> and then
-        click &quot;Submit&quot;.</td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+block</td>
-      <td>Block the request</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="block" value="Y" @block-y@
-        ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="block" value="N" @block-n@
-        ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="block" value="X" @block-x@
-        ></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+deanimate-gifs</td>
-      <td>Replace animated GIFs with their (first/last) frame.</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="deanimate-gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@
-        onclick="show_deanimate_opts(true)"></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="deanimate-gifs" value="N" @deanimate-gifs-n@
-        onclick="show_deanimate_opts(false)"></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="deanimate-gifs" value="X" @deanimate-gifs-x@
-        onclick="show_deanimate_opts(false)"></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top" id="deanimate_opts">
-      <td>&nbsp;</td>
-      <td colspan="4">Use the <input type="radio" name="deanimate-gifs-mode"
-        value="first" id="deanimate_first" @deanimate-gifs-param-first@><label
-        for="deanimate_first">first frame</label>&nbsp;&nbsp; <input
-        type="radio" name="deanimate-gifs-mode" value="last" 
-        id="deanimate_last" @deanimate-gifs-param-last@><label
-        for="deanimate_last">last frame</label></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+fast-redirects</td>
-      <td>Bypass some tracking URLs.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="fast-redirects" value="Y" @fast-redirects-y@
-        ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="fast-redirects" value="N" @fast-redirects-n@
-        ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="fast-redirects" value="X" @fast-redirects-x@
-        ></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+filter</td>
-      <td>Filter the website through the re_filterfile</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="filter" value="Y" @filter-y@
-        ></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="filter" value="N" @filter-n@ 
-        ></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="filter" value="X" @filter-x@
-         ></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+hide-forwarded</td>
-      <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="hide-forwarded" value="Y" @hide-forwarded-y@
-        ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="hide-forwarded" value="N" @hide-forwarded-n@
-        ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="hide-forwarded" value="X" @hide-forwarded-x@
-        ></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+hide-from</td>
-      <td>Stop old web browsers from sending the user's e-mail address with
-        every request.</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="hide-from" id="hide_from_y" value="Y" @hide-from-y@
-        onclick="show_hide_from_opts(true)"></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="hide-from" value="N" @hide-from-n@
-        onclick="show_hide_from_opts(false)"></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="hide-from" value="X" @hide-from-x@
-        onclick="show_hide_from_opts(false)"></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top" id="hide_from_opts">
-      <td>&nbsp;</td>
-      <td colspan="4"><input type="radio" name="hide-from-mode" value="block"
-        onclick="from_param_disable(true);"
-        @hide-from-param-block@ id="from_mode_block"><label
-        for="from_mode_block">Remove completely</label><br>
-        <input type="radio" name="hide-from-mode" value="CUSTOM" 
-        onclick="from_param_disable(false);"
-        @hide-from-param-custom@ id="from_mode_set"><label
-        for="from_mode_set">Fake e-mail address:</label><br>
-        <input type="text" name="hide-from-param" id="from_param"
-        size="40" value="@hide-from-param@"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+hide-referer</td>
-      <td>Helps prevent tracking by not sending the URL of the previous web
-        page.&nbsp;</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="hide-referer" id="hide_referer_y" value="Y" @hide-referer-y@
-        onclick="show_hide_referer_opts(true)"></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="hide-referer" id="hide_referer_n" value="N" @hide-referer-n@
-        onclick="show_hide_referer_opts(false)"></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="hide-referer" id="hide_referer_x" value="X" @hide-referer-x@
-        onclick="show_hide_referer_opts(false)"
-        ></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top" id="hide_referer_opts">
-      <td>&nbsp;</td>
-      <td colspan="4"><input type="radio" name="hide-referer-mode" value="block"
-        onclick="hide_referer_param_disable(true)"
-        @hide-referer-param-block@ id="referer_mode_block"><label
-        for="referer_mode_block">Remove completely</label> (breaks images
-        on some free web hosts).<br>
-        <input type="radio" name="hide-referer-mode" value="forge"
-        onclick="hide_referer_param_disable(true)"
-        @hide-referer-param-forge@ id="referer_mode_forge"><label
-        for="referer_mode_forge">Fake as the root directory of the
-        site</label> (fools checks for in-site links.)<br>
-        <input type="radio" name="hide-referer-mode" value="CUSTOM"
-        onclick="hide_referer_param_disable(false)"
-        @hide-referer-param-custom@ id="referer_mode_set"><label
-        for="referer_mode_set">Fake as this web address:</label><br>
-        <input type="text" name="hide-referer-param" 
-        id="hide_referer_param" size="40"
-        value="@hide-referer-param@"></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+hide-user-agent</td>
-      <td>Pretend to be using a different web browser.&nbsp; (Breaks many web
-        sites).</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="hide-user-agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@
-        onclick="show_user_agent_opts(true)"></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="hide-user-agent" value="N" @hide-user-agent-n@
-        onclick="show_user_agent_opts(false)"></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="hide-user-agent" value="X" @hide-user-agent-x@
-        onclick="show_user_agent_opts(false)"></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top" id="user_agent_opts">
-      <td>&nbsp;</td>
-      <td colspan="4">User Agent string to send:<br>
-        <input type="text" name="hide-user-agent-mode" size="40"
-        value="@hide-user-agent-param@"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+image</td>
-      <td>Request is for an image (only useful in conjunction with the <i><b>+block</b></i>
-        and <i><b>+image-blocker</b></i> options).</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="image" value="Y" @image-y@
-        ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="image" value="N" @image-n@
-        ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="image" value="X" @image-x@
-        ></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+image-blocker</td>
-      <td>Specifies how to block images.&nbsp; Disable to always send a HTML
-        &quot;blocked&quot; page.</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="image-blocker" id="image_blocker_y" value="Y" @image-blocker-y@
-        onclick="show_image_blocker_opts(true)"></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="image-blocker" value="N" @image-blocker-n@
-        onclick="show_image_blocker_opts(false)"></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="image-blocker" value="X" @image-blocker-x@
-        onclick="show_image_blocker_opts(false)"></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top" id="image_blocker_opts">
-      <td>&nbsp;</td>
-      <td colspan="4"><input type="radio" name="image-blocker-mode"
-        onclick="image_blocker_param_disable(true)"
-        value="logo" id="image_blocker_mode_logo" @image-blocker-param-logo@><label
-        for="image_blocker_mode_logo">Send Junkbuster logo</label><br>
-        <input type="radio" name="image-blocker-mode" value="blank"
-        onclick="image_blocker_param_disable(true)"
-        id="image_blocker_mode_blank" @image-blocker-param-blank@><label 
-        for="image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>
-        <input type="radio" name="image-blocker-mode" value="CUSTOM"
-        onclick="image_blocker_param_disable(false)"
-        id="image_blocker_mode_set" @image-blocker-param-custom@><label
-        for="image_blocker_mode_set">Redirect
-        the browser to this image URL:</label><br>
-        <input type="text" name="image-blocker-param" id="image_blocker_param"
-        size="40" value="@image-blocker-param@"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+no-cookies-read</td>
-      <td>Prevent the website from reading cookies</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="no-cookies-read" value="Y" @no-cookies-read-y@
-        ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="no-cookies-read" value="N" @no-cookies-read-n@
-        ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="no-cookies-read" value="X" @no-cookies-read-x@
-        ></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+no-cookies-set</td>
-      <td>Prevent the website from setting cookies</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="no-cookies-set" value="Y" @no-cookies-set-y@
-        ></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="no-cookies-set" value="N" @no-cookies-set-n@
-        ></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="no-cookies-set" value="X" @no-cookies-set-x@
-        ></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+no-popups</td>
-      <td>Filter the website through a built-in filter to disable JavaScript
-        pop-up windows.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="no-popups" value="Y" @no-popups-y@
-        ></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="no-popups" value="N" @no-popups-n@
-        ></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="no-popups" value="X" @no-popups-x@
-        ></td>
-    </tr>
-    <tr class="bg1" align="left" valign="top">
-      <td class="action">+vanilla-wafer</td>
-      <td>If you use a jarfile, automatically adds a special wafer.</td>
-      <td class="en1" align="center" valign="middle"><input type="radio"
-        name="vanilla-wafer" value="Y" @vanilla-wafer-y@
-        ></td>
-      <td class="dis1" align="center" valign="middle"><input type="radio"
-        name="vanilla-wafer" value="N" @vanilla-wafer-n@
-        ></td>
-      <td class="noc1" align="center" valign="middle"><input type="radio"
-        name="vanilla-wafer" value="X" @vanilla-wafer-x@
-        ></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top">
-      <td class="action">+wafer</td>
-      <td>Adds user-specified cookies.</td>
-      <td class="en2" align="center" valign="middle"><input type="radio"
-        name="wafer" id="wafer_y" value="Y" @wafer-y@
-        onclick="show_wafer_opts(true)"></td>
-      <td class="dis2" align="center" valign="middle"><input type="radio"
-        name="wafer" id="wafer_n" value="N" @wafer-n@
-        onclick="show_wafer_opts(false)"></td>
-      <td class="noc2" align="center" valign="middle"><input type="radio"
-        name="wafer" id="wafer_x" value="X" @wafer-x@
-        onclick="show_wafer_opts(false)"></td>
-    </tr>
-    <tr class="bg2" align="left" valign="top" id="wafer_opts">
-      <td>&nbsp;</td>
-      <td colspan="4">To edit the settings for this option, <input
-        type="checkbox" name="wafer-edit" id="wafer_edit" value="ON"><label
-        for="wafer_edit">check here</label> and then click
-        &quot;Submit&quot;.</td>
-    </tr>
-  </table>
-<script type="text/javascript">
-<!--
-
-if (document.layers) {
-  document.from_param[0].disabled = !(document.from_mode_set[0].checked);
-  document.hide_referer_param[0].disabled = !(document.referer_mode_set[0].checked);
-  document.image_blocker_param.disabled = !(document.image_blocker_mode_set.checked);
-}
-else if (document.getElementById) {
-  document.getElementById("from_param").disabled = !(document.getElementById("from_mode_set").checked);
-  document.getElementById("hide_referer_param").disabled = !(document.getElementById("referer_mode_set").checked);
-  document.getElementById("image_blocker_param").disabled = !(document.getElementById("image_blocker_mode_set").checked);
-}
-else if (document.all) {
-  document.myform.from_param.disabled = !(document.myform.from_mode_set.checked);
-  document.myform.hide_referer_param.disabled = !(document.myform.referer_mode_set.checked);
-  document.myform.image_blocker_param.disabled = !(document.myform.image_blocker_mode_set.checked);
-}
-
-show_add_header_opts    (document.myform.add_header_y.checked);
-show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);
-show_hide_from_opts     (document.myform.hide_from_y.checked);
-show_hide_referer_opts  (document.myform.hide_referer_y.checked);
-show_user_agent_opts    (document.myform.hide_user_agent_y.checked);
-show_image_blocker_opts (document.myform.image_blocker_y.checked);
-show_wafer_opts         (document.myform.wafer_y.checked);
-//-->
-</script>
-  <p><input type="submit" value="Submit" name="Submit"></p>
-</form>
-<p>&nbsp;</p>
-
-</body>
-
-</html>
-#
-# GPL2+
-#
-# Available variables:
-#
-# deanimate-gifs-param-first
-# deanimate-gifs-param-last
-# hide-from-param-block
-# hide-from-param-custom
-# hide-from-param
-# hide-referer-param-forge
-# hide-referer-param-block
-# hide-referer-param-custom
-# hide-referer-param
-# hide-user-agent-param
-# image-blocker-param-logo
-# image-blocker-param-blank
-# image-blocker-param-custom
-# image-blocker-param-logo
-#
-#
-
+##############################################################################\r
+#\r
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $\r
+#\r
+# Purpose     :  Template used to edit the actions associated with a\r
+#                particular section in an actions file.\r
+# \r
+#\r
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge\r
+#                IJBSWA team.  http://ijbswa.sourceforge.net\r
+#\r
+#                Original Author: Copyright (C) 2001 Jonathan Foster\r
+#                http://www.jon-foster.co.uk/\r
+#\r
+#                This program is free software; you can redistribute it \r
+#                and/or modify it under the terms of the GNU General\r
+#                Public License as published by the Free Software\r
+#                Foundation; either version 2 of the License, or (at\r
+#                your option) any later version.\r
+#\r
+#                This program is distributed in the hope that it will\r
+#                be useful, but WITHOUT ANY WARRANTY; without even the\r
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A\r
+#                PARTICULAR PURPOSE.  See the GNU General Public\r
+#                License for more details.\r
+#\r
+#                The GNU General Public License should be included with\r
+#                this file.  If not, you can view it at\r
+#                http://www.gnu.org/copyleft/gpl.html\r
+#                or write to the Free Software Foundation, Inc., 59\r
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
+#\r
+# Revisions   :\r
+#    $Log$\r
+#\r
+##############################################################################\r
+#\r
+# Browser support for the JavaScript on this page:\r
+#   MS Internet Explorer 5.5 - Tested,   Yes\r
+#   Netscape 6.0             - Tested,   Yes\r
+#   Netscape 4.75            - Tested,   NO\r
+#   Opera 5.12               - Tested,   NO\r
+#   MS Internet Explorer 4+  - Untested, Yes\r
+#   MS IE 3.x, NS3.x         - Untested, NO\r
+#   Mozilla >=0.6            - Untested, Yes\r
+#\r
+# All browsers should work, you just might not get the pretty DHTML effects.\r
+#\r
+# The effects that only work under the browsers marked "Yes" above are:\r
+#  - Text edit boxes that won't have any effect are disabled.\r
+#  - Table rows containing additional settings are hidden if the feature in\r
+#    question is disabled.\r
+#\r
+# There are major kludges to get around these problems with NS4, but they\r
+# screw up the HTML too much for other browsers.  If anyone wants to try,\r
+# here's some descriptions of the kludges:\r
+#    http://www.webreference.com/js/tips/991114.html\r
+#    http://www.webreference.com/dhtml/column12/outDisplay.html\r
+#\r
+# If you're favorite browser isn't listed, please test and add it.\r
+#\r
+#\r
+#############################################################################\r
+#\r
+# Standard support:\r
+#\r
+# This file currently produces valid HTML 4.01 Strict.\r
+#\r
+# If you change it, please save the generated page from your web browser\r
+# and then upload it to http://validator.w3.org/ for checking.\r
+#\r
+#############################################################################\r
+#\r
+# Available variables include:\r
+#\r
+# action-name-y\r
+# action-name-n\r
+# action-name-x\r
+#\r
+# deanimate-gifs-param-first\r
+# deanimate-gifs-param-last\r
+# hide-from-param-block\r
+# hide-from-param-custom\r
+# hide-from-param\r
+# hide-referer-param-forge\r
+# hide-referer-param-block\r
+# hide-referer-param-custom\r
+# hide-referer-param\r
+# hide-user-agent-param\r
+# image-blocker-param-logo\r
+# image-blocker-param-blank\r
+# image-blocker-param-custom\r
+# image-blocker-param-logo\r
+#\r
+#\r
+#############################################################################\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<html>\r
+\r
+<head>\r
+<meta http-equiv="Content-Style-Type" content="text/css">\r
+<meta http-equiv="Content-Script-Type" content="text/javascript">\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\r
+<meta name="robots" content="noindex,nofollow">\r
+\r
+<title>JunkBuster: Edit actions</title>\r
+\r
+<style type="text/css">\r
+body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;\r
+               background-color: #ffffff;\r
+               color: #000000            }\r
+td.action    { font-weight: bold;\r
+               font-style: italic;\r
+               white-space: nowrap       }\r
+th           { font-weight: bold;        }\r
+# This is the key to the color names below:\r
+# bg=background, en="Enable", dis="Disable", noc="No Change", hdr=header\r
+# 1=odd rows, 2=even rows, h=Table header\r
+tr.hdr       { background-color: #999999 }\r
+tr.bg1       { background-color: #eeeeee }\r
+td.en1       { background-color: #eeffee }\r
+td.dis1      { background-color: #ffeeee }\r
+td.noc1      { background-color: #eeeeff }\r
+tr.bg2       { background-color: #dddddd }\r
+td.en2       { background-color: #ddffdd }\r
+td.dis2      { background-color: #ffdddd }\r
+td.noc2      { background-color: #ddddff }\r
+th.enh       { background-color: #99ff99 }\r
+th.dish      { background-color: #ff9999 }\r
+th.noch      { background-color: #9999ff }\r
+table.wide   { border-color: white;\r
+               border-style: solid;\r
+               border-left-width: 10px;\r
+               border-right-width: 10px;\r
+               border-top-width: 0px;\r
+               border-bottom-width: 0px  }\r
+td.light     { background-color: #eeeeee }\r
+td.dark      { background-color: #dddddd }\r
+td.green     { background-color: #ddffdd }\r
+</style>\r
+\r
+<script type="text/javascript">\r
+<!--\r
+\r
+function hide_from_param_disable(tf)\r
+{\r
+    if (document.getElementById) {\r
+       // NS6 or IE5\r
+        document.getElementById("hide_from_param").disabled = tf;\r
+    } else if (document.all) {\r
+        // IE4\r
+        document.myform.hide_from_param.disabled = tf;\r
+    }\r
+}\r
+\r
+function hide_referer_param_disable(tf)\r
+{\r
+    if (document.getElementById) {\r
+        document.getElementById("hide_referer_param").disabled = tf;\r
+    } else if (document.all) {\r
+        document.myform.hide_referer_param.disabled = tf;\r
+    }\r
+}\r
+\r
+function image_blocker_param_disable(tf)\r
+{\r
+    if (document.getElementById) {\r
+        document.getElementById("image_blocker_param").disabled = tf;\r
+    } else if (document.all) {\r
+        document.myform.image_blocker_param.disabled = tf;\r
+    }\r
+}\r
+\r
+function show_add_header_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("add_header_opts");\r
+    } else if (document.all) {\r
+        target = document.add_header_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+function show_deanimate_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("deanimate_opts");\r
+    } else if (document.all) {\r
+        target = document.deanimate_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+function show_hide_from_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("hide_from_opts");\r
+    } else if (document.all) {\r
+        target = document.hide_from_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+function show_hide_referer_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("hide_referer_opts");\r
+    } else if (document.all) {\r
+        target = document.hide_referer_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+function show_user_agent_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("user_agent_opts");\r
+    } else if (document.all) {\r
+        target = document.user_agent_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+function show_image_blocker_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("image_blocker_opts");\r
+    } else if (document.all) {\r
+        target = document.image_blocker_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+function show_wafer_opts(tf)\r
+{\r
+    if (document.getElementById) {\r
+        target = document.getElementById("wafer_opts");\r
+    } else if (document.all) {\r
+        target = document.wafer_opts;\r
+    } else {\r
+        return;\r
+    }\r
+    target.style.display = (tf ? "" : "none");\r
+}\r
+\r
+//-->\r
+</script>\r
+</head>\r
+\r
+<body>\r
+\r
+<form method="GET" action="http://i.j.b/edit-actions-submit" id="myform" name="myform">\r
+\r
+  <table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+    <tr>\r
+      <td class="dark">\r
+        <p><b><big><big>This is the Internet \r
+          J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>\r
+          @version@ on @my-hostname@ (@my-ip-address@),\r
+          port @my-port@, \r
+          @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>\r
+      </td>\r
+    </tr>\r
+\r
+<!-- @if-unstable-start -->\r
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in\r
+    <tr>\r
+      <td style="background-color: #ffdddd" >\r
+        <p><b>Please note that this <span style="color: #ff0000">@code-status@</span> release\r
+          of the proxy software is not intended for production systems!\r
+          <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>\r
+        </p>\r
+\r
+        <p>Feel free to <a href="mailto:ijbswa-developers@lists.sourceforge.net">mail the developers</a>\r
+          with any problems you encounter.\r
+        </p>\r
+      </td>\r
+    </tr>\r
+<!-- if-unstable-end@ -->\r
+\r
+    <tr>\r
+      <td class="light">\r
+        <h2>Edit Actions\r
+          <input type="hidden" name="filename" value="@filename@">\r
+          <input type="hidden" name="ver" value="@ver@">\r
+          <input type="hidden" name="section" value="@section@">\r
+        </h2>\r
+      </td>\r
+    </tr>\r
+  </table>\r
+\r
+  <table border="0" width="100%" cellspacing="0" class="wide">\r
+    <tr class="hdr" align="left">\r
+      <th>Action\r
+      </th>\r
+      <th>Description</th>\r
+      <th class="enh" align="center">Enable</th>\r
+      <th class="dish" align="center">Disable</th>\r
+      <th class="noch" align="center">No Change</th>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+add-header</td>\r
+      <td>Adds HTTP headers.</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="add_header" id="add_header_y" value="Y" @add-header-y@\r
+        onclick="show_add_header_opts(true)"></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="add_header" value="N" @add-header-n@\r
+        onclick="show_add_header_opts(false)"></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="add_header" value="X" @add-header-x@\r
+        onclick="show_add_header_opts(false)"></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top" id="add_header_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4">To edit the settings for this option, <input\r
+        type="checkbox" name="add_header_edit" id="add_header_edit"\r
+        value="ON"><label for="add_header_edit">check here</label> and then\r
+        click &quot;Submit&quot;.</td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+block</td>\r
+      <td>Block the request</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="block" value="Y" @block-y@\r
+        ></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="block" value="N" @block-n@\r
+        ></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="block" value="X" @block-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+deanimate-gifs</td>\r
+      <td>Replace animated GIFs with their (first/last) frame.</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="deanimate_gifs" id="deanimate_gifs_y" value="Y" @deanimate-gifs-y@\r
+        onclick="show_deanimate_opts(true)"></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="deanimate_gifs" value="N" @deanimate-gifs-n@\r
+        onclick="show_deanimate_opts(false)"></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="deanimate_gifs" value="X" @deanimate-gifs-x@\r
+        onclick="show_deanimate_opts(false)"></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top" id="deanimate_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4">Use the <input type="radio" name="deanimate_gifs_mode"\r
+        value="first" id="deanimate_first" @deanimate-gifs-param-first@><label\r
+        for="deanimate_first">first frame</label>&nbsp;&nbsp; <input\r
+        type="radio" name="deanimate_gifs_mode" value="last" \r
+        id="deanimate_last" @deanimate-gifs-param-last@><label\r
+        for="deanimate_last">last frame</label></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+fast-redirects</td>\r
+      <td>Bypass some tracking URLs.</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="fast_redirects" value="Y" @fast-redirects-y@\r
+        ></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="fast_redirects" value="N" @fast-redirects-n@\r
+        ></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="fast_redirects" value="X" @fast-redirects-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+filter</td>\r
+      <td>Filter the website through the re_filterfile</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="filter" value="Y" @filter-y@\r
+        ></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="filter" value="N" @filter-n@ \r
+        ></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="filter" value="X" @filter-x@\r
+         ></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+hide-forwarded</td>\r
+      <td>Block any existing X-Forwarded-for header, and do not add a new one.</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="hide_forwarded" value="Y" @hide-forwarded-y@\r
+        ></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="hide_forwarded" value="N" @hide-forwarded-n@\r
+        ></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="hide_forwarded" value="X" @hide-forwarded-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+hide-from</td>\r
+      <td>Stop old web browsers from sending the user's e-mail address with\r
+        every request.</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="hide_from" id="hide_from_y" value="Y" @hide-from-y@\r
+        onclick="show_hide_from_opts(true)"></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="hide_from" value="N" @hide-from-n@\r
+        onclick="show_hide_from_opts(false)"></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="hide_from" value="X" @hide-from-x@\r
+        onclick="show_hide_from_opts(false)"></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top" id="hide_from_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4"><input type="radio" name="hide_from_mode" value="block"\r
+        onclick="hide_from_param_disable(true);"\r
+        @hide-from-param-block@ id="from_mode_block"><label\r
+        for="from_mode_block">Remove completely</label><br>\r
+        <input type="radio" name="hide_from_mode" value="CUSTOM" \r
+        onclick="hide_from_param_disable(false);"\r
+        @hide-from-param-custom@ id="from_mode_set"><label\r
+        for="from_mode_set">Fake e-mail address:</label><br>\r
+        <input type="text" name="hide_from_param" id="hide_from_param"\r
+        size="40" value="@hide-from-param@"></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+hide-referer</td>\r
+      <td>Helps prevent tracking by not sending the URL of the previous web\r
+        page.&nbsp;</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="hide_referer" id="hide_referer_y" value="Y" @hide-referer-y@\r
+        onclick="show_hide_referer_opts(true)"></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="hide_referer" id="hide_referer_n" value="N" @hide-referer-n@\r
+        onclick="show_hide_referer_opts(false)"></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="hide_referer" id="hide_referer_x" value="X" @hide-referer-x@\r
+        onclick="show_hide_referer_opts(false)"\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top" id="hide_referer_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4"><input type="radio" name="hide_referer_mode" value="block"\r
+        onclick="hide_referer_param_disable(true)"\r
+        @hide-referer-param-block@ id="referer_mode_block"><label\r
+        for="referer_mode_block">Remove completely</label> (breaks images\r
+        on some free web hosts).<br>\r
+        <input type="radio" name="hide_referer_mode" value="forge"\r
+        onclick="hide_referer_param_disable(true)"\r
+        @hide-referer-param-forge@ id="referer_mode_forge"><label\r
+        for="referer_mode_forge">Fake as the root directory of the\r
+        site</label> (fools checks for in-site links.)<br>\r
+        <input type="radio" name="hide_referer_mode" value="CUSTOM"\r
+        onclick="hide_referer_param_disable(false)"\r
+        @hide-referer-param-custom@ id="referer_mode_set"><label\r
+        for="referer_mode_set">Fake as this web address:</label><br>\r
+        <input type="text" name="hide_referer_param" \r
+        id="hide_referer_param" size="40"\r
+        value="@hide-referer-param@"></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+hide-user-agent</td>\r
+      <td>Pretend to be using a different web browser.&nbsp; (Breaks many web\r
+        sites).</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="hide_user_agent" id="hide_user_agent_y" value="Y" @hide-user-agent-y@\r
+        onclick="show_user_agent_opts(true)"></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="hide_user_agent" value="N" @hide-user-agent-n@\r
+        onclick="show_user_agent_opts(false)"></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="hide_user_agent" value="X" @hide-user-agent-x@\r
+        onclick="show_user_agent_opts(false)"></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top" id="user_agent_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4">User Agent string to send:<br>\r
+        <input type="text" name="hide_user_agent_mode" size="40"\r
+        value="@hide-user-agent-param@"></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+image</td>\r
+      <td>Request is for an image (only useful in conjunction with the <i><b>+block</b></i>\r
+        and <i><b>+image-blocker</b></i> options).</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="image" value="Y" @image-y@\r
+        ></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="image" value="N" @image-n@\r
+        ></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="image" value="X" @image-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+image-blocker</td>\r
+      <td>Specifies how to block images.&nbsp; Disable to always send a HTML\r
+        &quot;blocked&quot; page.</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="image_blocker" id="image_blocker_y" value="Y" @image-blocker-y@\r
+        onclick="show_image_blocker_opts(true)"></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="image_blocker" value="N" @image-blocker-n@\r
+        onclick="show_image_blocker_opts(false)"></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="image_blocker" value="X" @image-blocker-x@\r
+        onclick="show_image_blocker_opts(false)"></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top" id="image_blocker_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4"><input type="radio" name="image_blocker_mode"\r
+        onclick="image_blocker_param_disable(true)"\r
+        value="logo" id="image_blocker_mode_logo" @image-blocker-param-logo@><label\r
+        for="image_blocker_mode_logo">Send Junkbuster logo</label><br>\r
+        <input type="radio" name="image_blocker_mode" value="blank"\r
+        onclick="image_blocker_param_disable(true)"\r
+        id="image_blocker_mode_blank" @image-blocker-param-blank@><label \r
+        for="image_blocker_mode_blank">Send a 1x1 transparent GIF</label><br>\r
+        <input type="radio" name="image_blocker_mode" value="CUSTOM"\r
+        onclick="image_blocker_param_disable(false)"\r
+        id="image_blocker_mode_set" @image-blocker-param-custom@><label\r
+        for="image_blocker_mode_set">Redirect\r
+        the browser to this image URL:</label><br>\r
+        <input type="text" name="image_blocker_param" id="image_blocker_param"\r
+        size="40" value="@image-blocker-param@"></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+no-cookies-read</td>\r
+      <td>Prevent the website from reading cookies</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="no_cookies_read" value="Y" @no-cookies-read-y@\r
+        ></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="no_cookies_read" value="N" @no-cookies-read-n@\r
+        ></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="no_cookies_read" value="X" @no-cookies-read-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+no-cookies-set</td>\r
+      <td>Prevent the website from setting cookies</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="no_cookies_set" value="Y" @no-cookies-set-y@\r
+        ></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="no_cookies_set" value="N" @no-cookies-set-n@\r
+        ></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="no_cookies_set" value="X" @no-cookies-set-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+no-popups</td>\r
+      <td>Filter the website through a built-in filter to disable JavaScript\r
+        pop-up windows.</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="no_popups" value="Y" @no-popups-y@\r
+        ></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="no_popups" value="N" @no-popups-n@\r
+        ></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="no_popups" value="X" @no-popups-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg1" align="left" valign="top">\r
+      <td class="action">+vanilla-wafer</td>\r
+      <td>If you use a jarfile, automatically adds a special wafer.</td>\r
+      <td class="en1" align="center" valign="middle"><input type="radio"\r
+        name="vanilla_wafer" value="Y" @vanilla-wafer-y@\r
+        ></td>\r
+      <td class="dis1" align="center" valign="middle"><input type="radio"\r
+        name="vanilla_wafer" value="N" @vanilla-wafer-n@\r
+        ></td>\r
+      <td class="noc1" align="center" valign="middle"><input type="radio"\r
+        name="vanilla_wafer" value="X" @vanilla-wafer-x@\r
+        ></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top">\r
+      <td class="action">+wafer</td>\r
+      <td>Adds user-specified cookies.</td>\r
+      <td class="en2" align="center" valign="middle"><input type="radio"\r
+        name="wafer" id="wafer_y" value="Y" @wafer-y@\r
+        onclick="show_wafer_opts(true)"></td>\r
+      <td class="dis2" align="center" valign="middle"><input type="radio"\r
+        name="wafer" id="wafer_n" value="N" @wafer-n@\r
+        onclick="show_wafer_opts(false)"></td>\r
+      <td class="noc2" align="center" valign="middle"><input type="radio"\r
+        name="wafer" id="wafer_x" value="X" @wafer-x@\r
+        onclick="show_wafer_opts(false)"></td>\r
+    </tr>\r
+    <tr class="bg2" align="left" valign="top" id="wafer_opts">\r
+      <td>&nbsp;</td>\r
+      <td colspan="4">To edit the settings for this option, <input\r
+        type="checkbox" name="wafer_edit" id="wafer_edit" value="ON"><label\r
+        for="wafer_edit">check here</label> and then click\r
+        &quot;Submit&quot;.</td>\r
+    </tr>\r
+  </table>\r
+\r
+\r
+<script type="text/javascript">\r
+<!--\r
+\r
+if (document.getElementById) {\r
+    // alert("Netscape 6 or IE5");\r
+    document.getElementById("hide_from_param").disabled = !(document.getElementById("from_mode_set").checked);\r
+    document.getElementById("hide_referer_param").disabled = !(document.getElementById("referer_mode_set").checked);\r
+    document.getElementById("image_blocker_param").disabled = !(document.getElementById("image_blocker_mode_set").checked);\r
+\r
+    show_add_header_opts    (document.getElementById("add_header_y").checked);\r
+    show_deanimate_opts     (document.getElementById("deanimate_gifs_y").checked);\r
+    show_hide_from_opts     (document.getElementById("hide_from_y").checked);\r
+    show_hide_referer_opts  (document.getElementById("hide_referer_y").checked);\r
+    show_user_agent_opts    (document.getElementById("hide_user_agent_y").checked);\r
+    show_image_blocker_opts (document.getElementById("image_blocker_y").checked);\r
+    show_wafer_opts         (document.getElementById("wafer_y").checked);\r
+} else if (document.all) {\r
+    // alert("IE4");\r
+    document.myform.hide_from_param.disabled = !(document.myform.from_mode_set.checked);\r
+    document.myform.hide_referer_param.disabled = !(document.myform.referer_mode_set.checked);\r
+    document.myform.image_blocker_param.disabled = !(document.myform.image_blocker_mode_set.checked);\r
+\r
+    show_add_header_opts    (document.myform.add_header_y.checked);\r
+    show_deanimate_opts     (document.myform.deanimate_gifs_y.checked);\r
+    show_hide_from_opts     (document.myform.hide_from_y.checked);\r
+    show_hide_referer_opts  (document.myform.hide_referer_y.checked);\r
+    show_user_agent_opts    (document.myform.hide_user_agent_y.checked);\r
+    show_image_blocker_opts (document.myform.image_blocker_y.checked);\r
+    show_wafer_opts         (document.myform.wafer_y.checked);\r
+} else if (document.layers) {\r
+    // alert("Netscape 4");\r
+}\r
+//-->\r
+</script>\r
+\r
+  <table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+    <tr>\r
+      <td class="green" align="center">\r
+        <p><input type="submit" value="Submit" name="Submit"></p>\r
+      </td>\r
+    </tr>\r
+\r
+    <tr>\r
+      <td class="dark">\r
+        <h2>More Junkbuster:</h2>\r
+        <ul>@menu@</ul>\r
+      </td>\r
+    </tr>\r
+\r
+<!-- @if-have-help-info-start -->\r
+    <tr>\r
+      <td class="light">\r
+        <h2>Local Junkbuster support:</h2>\r
+\r
+<!-- @if-have-proxy-info-start -->\r
+        <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Junkbuster installation.\r
+<!-- if-have-proxy-info-end@ -->\r
+\r
+<!-- @if-have-adminaddr-info-start -->\r
+        <p>Address e-mail questions about this service to\r
+          <a href="mailto:@admin-address@"><code>@admin-address@</code></a>,\r
+          who will be glad to help you.\r
+<!-- if-have-adminaddr-info-end@ -->\r
+\r
+        </p>\r
+      </td>\r
+    </tr>\r
+<!-- if-have-help-info-end@ -->\r
+    \r
+    <tr>\r
+      <td>\r
+        <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>\r
+      </td>\r
+    </tr>\r
+\r
+  </table>\r
+</form>\r
+\r
+</body>\r
+\r
+</html>\r
+\r
index 846af13..1bc0bcb 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<html>
-
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css">
-<meta http-equiv="Content-Script-Type" content="text/javascript">
-<meta name="robots" content="noindex,nofollow">
-
-<title>JunkBuster: Edit actions list</title>
-
-<style type="text/css">
-body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif }
-tr.actions   { background-color: #EEFFEE }
-tr.url1      { background-color: #D0D0FF }
-tr.url2      { background-color: #EEEEFF }
-tr.rule      { background-color: #C0C0C0; height: 3 }
-tr.adv       { background-color: #FFFFD0 }
-td.header    { font-weight: bold }
-td.url       { font-weight: bold }
-td.action    { font-weight: bold; font-style: italic }
-</style>
-
-<script type="text/javascript">
-<!--
-function not_yet()
-{
-   window.alert("The feature you are trying to use has not been implemented yet.");
-}
-
-function edit_pattern(b,p,ct)
-{
-   ct=unescape(ct);
-   nt=window.prompt("Edit this URL pattern:",ct);
-   if ((nt!=null)&&(nt!=ct)&&(nt!=""))
-   { window.location.href="http://i.j.b/edit-actions-url?filename=@filename@&ver=@ver@&section="+b+"&pattern="+p+"&newval="+escape(nt)+"#s"+b+"url"+p; }
-}
-
-function remove_pattern(b,p,ct)
-{
-   if (window.confirm("Are you sure you want to delete this URL pattern?\nPattern is: "+unescape(ct)))
-   { window.location.href="http://i.j.b/edit-actions-remove-url?filename=@filename@&ver=@ver@&section="+b+"&pattern="+p+"#s"+b+"urls"; }
-}
-
-function add_pattern(b)
-{
-   nt=window.prompt("Enter URL pattern to add:", "");
-   if ((nt!=null)&&(nt!=""))
-   { window.location.href="http://i.j.b/edit-actions-add-url?filename=@filename@&ver=@ver@&section="+b+"&newval="+escape(nt)+"#s"+b+"urls"; }
-}
-
-function edit_actions(b)
-{
-   window.location.href="http://i.j.b/edit-actions-for-url?filename=@filename@&ver=@ver@&section="+b;
-}
-
-function section_down(b)
-{
-   not_yet();
-   //window.location.href="http://i.j.b/edit-actions-section-down?filename=@filename@&ver=@ver@&section="+b+"#s"+b+"urls";
-}
-
-function section_up(b)
-{
-   not_yet();
-   //window.location.href="http://i.j.b/edit-actions-section-up?filename=@filename@&ver=@ver@&section="+b+"#s"+b+"urls";
-}
-
-function section_add(b)
-{
-   window.location.href="http://i.j.b/edit-actions-section-add?filename=@filename@&ver=@ver@&section="+b+"#s"+b+"urls";
-}
-
-function section_remove(b)
-{
-   if (window.confirm("Are you REALLY sure you want to delete this empty section?"))
-   window.location.href="http://i.j.b/edit-actions-section-remove?filename=@filename@&ver=@ver@&section="+b+"#s"+b+"urls";
-}
-//-->
-</script>
-</head>
-
-<body>
-<h1>Editing @filename@.action</h1>
-
-<p>
-<form action="http://i.j.b/">
-<input type="button" onclick="section_add(0)" value="Insert new section at top">
-</form>
-</p>
-
-@sections@
-
-</body>
-
-</html>
+##############################################################################\r
+#\r
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $\r
+#\r
+# Purpose     :  Template used to edit the actions file.\r
+# \r
+#\r
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge\r
+#                IJBSWA team.  http://ijbswa.sourceforge.net\r
+#\r
+#                Original Author: Copyright (C) 2001 Jonathan Foster\r
+#                http://www.jon-foster.co.uk/\r
+#\r
+#                This program is free software; you can redistribute it \r
+#                and/or modify it under the terms of the GNU General\r
+#                Public License as published by the Free Software\r
+#                Foundation; either version 2 of the License, or (at\r
+#                your option) any later version.\r
+#\r
+#                This program is distributed in the hope that it will\r
+#                be useful, but WITHOUT ANY WARRANTY; without even the\r
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A\r
+#                PARTICULAR PURPOSE.  See the GNU General Public\r
+#                License for more details.\r
+#\r
+#                The GNU General Public License should be included with\r
+#                this file.  If not, you can view it at\r
+#                http://www.gnu.org/copyleft/gpl.html\r
+#                or write to the Free Software Foundation, Inc., 59\r
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
+#\r
+# Revisions   :\r
+#    $Log$\r
+#\r
+##############################################################################\r
+#\r
+# Browser support for the CSS on this page:\r
+#   MS Internet Explorer 5.5 - Yes - everything works.\r
+#   Netscape 6.2             - Yes - everything works.\r
+#   Netscape 4.75            - No  - CSS buttons look really bad, but they are\r
+#                                    usable.  Everything else works.\r
+#   Opera 5.12               - Yes - everything works.\r
+#   MS Internet Explorer 4+  - Untested\r
+#   MS IE 3.x, NS3.x         - Untested (Don't support CSS, so everything\r
+#                              should work, but will look ugly).\r
+#   Mozilla >=0.6            - Untested\r
+#\r
+# All browsers should work, you just might not get the pretty CSS buttons.\r
+#\r
+# If you're favorite browser isn't listed/tested, please test and add it.\r
+#\r
+#\r
+#############################################################################\r
+#\r
+# Standard support:\r
+#\r
+# This file currently produces valid HTML 4.01 Strict.\r
+#\r
+# If you change it, please save the generated page from your web browser\r
+# and then upload it to http://validator.w3.org/ for checking.\r
+#\r
+#############################################################################\r
+#\r
+# Available variables include:\r
+#\r
+# filename\r
+# ver\r
+#\r
+#\r
+#############################################################################\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<html>\r
+\r
+<head>\r
+<meta http-equiv="Content-Style-Type" content="text/css">\r
+<meta http-equiv="Content-Script-Type" content="text/javascript">\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\r
+<meta name="robots" content="noindex,nofollow">\r
+\r
+<title>JunkBuster: Edit actions file - @filename@.action</title>\r
+\r
+<style type="text/css">\r
+body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;\r
+               background-color: #ffffff;\r
+               color: #000000;            }\r
+td.light     { background-color: #eeeeee; }\r
+td.dark      { background-color: #dddddd; }\r
+table.wide   { border-color: white;\r
+               border-style: solid;\r
+               border-left-width: 10px;\r
+               border-right-width: 10px;\r
+               border-top-width: 0px;\r
+               border-bottom-width: 0px;  }\r
+tr.actions   { background-color: #eeffee; }\r
+tr.url1      { background-color: #d0d0ff; }\r
+tr.url2      { background-color: #eeeeff; }\r
+tr.rule      { background-color: #c0c0c0;\r
+               height: 3px;\r
+               max-height: 3px;\r
+               font-size: 1px             }\r
+tr.adv       { background-color: #FFFFD0; }\r
+td.header    { font-weight: bold;         }\r
+td.url       { font-weight: bold;         }\r
+td.action    { font-weight: bold;\r
+               font-style: italic;        }\r
+td.nobreak   { white-space: nowrap; }\r
+a.cmd        { white-space: nowrap;\r
+               width: auto;\r
+               padding: 2px;\r
+               background-color: #dddddd;\r
+               color:            #000000;\r
+               text-decoration: none;\r
+               border-top:    1px solid #ffffff;\r
+               border-left:   1px solid #ffffff;\r
+               border-bottom: 1px solid #000000;\r
+               border-right:  1px solid #000000; }\r
+a.cmd:hover  { background-color: #eeeeee;        }\r
+a.cmd:active { border-top:    1px solid #000000;\r
+               border-left:   1px solid #000000;\r
+               border-bottom: 1px solid #ffffff;\r
+               border-right:  1px solid #ffffff; }\r
+\r
+</style>\r
+\r
+<script type="text/javascript">\r
+<!--\r
+function not_yet()\r
+{\r
+   window.alert("The feature you are trying to use has not been implemented yet.");\r
+}\r
+\r
+// Non-JS capable browsers will follow the link to a HTML "are you sure?" page\r
+// JavaScript-capable browsers will call this function, which does a\r
+// client-side prompt for speed.  It may kick off the delete directly.\r
+// It always returns false to cancel following the link.\r
+function remove_pattern(section,pattern,curtext)\r
+{\r
+   if (window.confirm("Are you sure you want to delete this URL pattern?\nPattern is: "+unescape(curtext)))\r
+   { window.location.href="http://i.j.b/edit-actions-remove-url?filename=@filename@&ver=@ver@&section="+section+"&pattern="+pattern+"#s"+section+"urls"; }\r
+   return false;\r
+}\r
+\r
+//-->\r
+</script>\r
+</head>\r
+\r
+<body>\r
+\r
+<table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+  <tr>\r
+    <td class="dark">\r
+      <p><b><big><big>This is the Internet \r
+        J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>\r
+        @version@ on @my-hostname@ (@my-ip-address@),\r
+        port @my-port@, \r
+        @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-unstable-start -->\r
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in\r
+  <tr>\r
+    <td style="background-color: #ffdddd" >\r
+      <p><b>Please note that this <span style="color: #ff0000">@code-status@</span> release\r
+        of the proxy software is not intended for production systems!\r
+        <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>\r
+      </p>\r
+\r
+      <p>Feel free to <a href="mailto:ijbswa-developers@lists.sourceforge.net">mail the developers</a>\r
+        with any problems you encounter.\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-unstable-end@ -->\r
+\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Editing Actions File - @filename@.action</h2>\r
+      <p>\r
+        <span><a class="cmd" href="http://i.j.b/edit-actions-section-add?filename=@filename@&amp;ver=@ver@&amp;section=0">Insert new section at top</a></span>\r
+      </p>\r
+    </td>\r
+  </tr>\r
+</table>\r
+\r
+@sections@\r
+\r
+<table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+  <tr>\r
+    <td class="dark">\r
+      <h2>More Junkbuster:</h2>\r
+      <ul>@menu@</ul>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-have-help-info-start -->\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Local Junkbuster support:</h2>\r
+\r
+<!-- @if-have-proxy-info-start -->\r
+      <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Junkbuster installation.\r
+<!-- if-have-proxy-info-end@ -->\r
+\r
+<!-- @if-have-adminaddr-info-start -->\r
+      <p>Address e-mail questions about this service to\r
+        <a href="mailto:@admin-address@"><code>@admin-address@</code></a>,\r
+        who will be glad to help you.\r
+<!-- if-have-adminaddr-info-end@ -->\r
+\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-have-help-info-end@ -->\r
+\r
+  <tr>\r
+    <td>\r
+      <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>\r
+    </td>\r
+  </tr>\r
+\r
+</table>\r
+\r
+</body>\r
+\r
+</html>\r
index 8a05856..68c07bf 100644 (file)
@@ -1,51 +1,91 @@
-<form action="http://i.j.b/">
-  <table border="0" width="100%" cellspacing="0">
-    <tr class="actions" valign="top">
-      <td class="header" align="right"><a name="s@sectionid@"></a>Actions:</td>
-      <td align="center"><input type="button" onclick="edit_actions(@sectionid@)"
-        value="Edit"></td>
-      <td class="action" align="left">@actions@</td>
-    </tr>
-    <tr class="rule">
-      <td colspan="3"><img src="http://i.j.b/send-banner?type=trans" width="2"
-        height="1" alt="----"></td>
-    </tr>
-    <tr class="url1" valign="top">
-      <td class="header" align="right"><a name="s@sectionid@urls">URLs:</a></td>
-      <td align="center"><input type="button" onclick="add_pattern(@sectionid@)"
-        value="Add"></td>
-      <td align="left">&nbsp;</td>
-    </tr>
+##############################################################################
+#
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $
+#
+# Purpose     :  Template which forms part of edit-actions-list
+# 
+#
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge
+#                IJBSWA team.  http://ijbswa.sourceforge.net
+#
+#                Original Author: Copyright (C) 2001 Jonathan Foster
+#                http://www.jon-foster.co.uk/
+#
+#                This program is free software; you can redistribute it 
+#                and/or modify it under the terms of the GNU General
+#                Public License as published by the Free Software
+#                Foundation; either version 2 of the License, or (at
+#                your option) any later version.
+#
+#                This program is distributed in the hope that it will
+#                be useful, but WITHOUT ANY WARRANTY; without even the
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A
+#                PARTICULAR PURPOSE.  See the GNU General Public
+#                License for more details.
+#
+#                The GNU General Public License should be included with
+#                this file.  If not, you can view it at
+#                http://www.gnu.org/copyleft/gpl.html
+#                or write to the Free Software Foundation, Inc., 59
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# Revisions   :
+#    $Log$
+#
+#############################################################################
+#
+# Available variables include:
+#
+# filename
+# ver
+# sectionid
+# urls
+#
+#############################################################################
+<table border="0" width="100%" cellspacing="0" cellpadding="3" class="wide">
+<tr class="actions" valign="top">
+  <td class="header" align="right"><a name="s@sectionid@"></a>Actions:</td>
+  <td align="center"><a class="cmd" href="http://i.j.b/edit-actions-for-url?filename=@filename@&amp;ver=@ver@&amp;section=@sectionid@"
+    >Edit</a></td>
+  <td class="action" align="left">@actions@</td>
+</tr>
+<tr class="rule">
+  <td colspan="3"><img src="http://i.j.b/send-banner?type=trans" width="2"
+    height="1" alt="----"></td>
+</tr>
+<tr class="url1" valign="top">
+  <td class="header" align="right"><a name="s@sectionid@urls">URLs:</a></td>
+  <td align="center"><a class="cmd" href="http://i.j.b/edit-actions-add-url-form?filename=@filename@&amp;ver=@ver@&amp;section=@sectionid@"
+  >Add</a></td>
+  <td align="left">&nbsp;</td>
+</tr>
 
 @urls@
 
-    <tr class="rule">
-      <td colspan="3"><img src="http://i.j.b/send-banner?type=trans" width="2"
-        height="1" alt="----"></td>
-    </tr>
-    <tr class="adv" valign="top">
-      <td class="header" align="right"><b>Advanced:</b></td>
-      <td colspan="2">
-        <table border="0" cellspacing="0" cellpadding="4">
-          <tr valign="middle" align="center">
-            <td>&nbsp;&nbsp;&nbsp;<input type="button" onclick="section_up(@sectionid@)"
-              value="Move section up">&nbsp;&nbsp;&nbsp;</td>
-            <td>&nbsp;&nbsp;&nbsp;<input type="button" onclick="section_add(@sectionid@)"
-              value="Insert new section below">&nbsp;&nbsp;&nbsp;</td>
-          </tr>
-          <tr valign="middle" align="center">
-            <td>&nbsp;&nbsp;&nbsp;<input type="button" onclick="section_down(@sectionid@)"
-              value="Move section down">&nbsp;&nbsp;&nbsp;</td>
-            <td><!-- @if-empty-section-start -->&nbsp;&nbsp;&nbsp;<input
-              type="button" onclick="section_remove(@sectionid@)" value="Delete whole section"
-              >&nbsp;&nbsp;<!-- if-empty-section-end@ -->&nbsp;</td>
-          </tr>
-        </table>
-      </td>
-    </tr>
-  </table>
-</form>
-<p>&nbsp;</p>
+<tr class="rule">
+  <td colspan="3"><img src="http://i.j.b/send-banner?type=trans" width="2"
+    height="1" alt="-"></td>
+</tr>
+<tr class="adv" valign="top">
+  <td class="header" align="right"><b>Advanced:</b></td>
+  <td colspan="2">
+    <table border="0" cellspacing="0" cellpadding="4">
+      <tr valign="middle" align="center">
+        <td class="nobreak"> &nbsp; <a class="cmd" href="javascript:not_yet()">Move section up</a> &nbsp; </td>
+        <td class="nobreak"> &nbsp; 
+        <a class="cmd" href="http://i.j.b/edit-actions-section-add?filename=@filename@&amp;ver=@ver@&amp;section=@sectionid@"
+        >Insert new section below</a> &nbsp; </td>
+      </tr>
+      <tr valign="middle" align="center">
+        <td class="nobreak"> &nbsp; <a class="cmd" href="javascript:not_yet()">Move section down</a> &nbsp; </td>
+        <td class="nobreak"><!-- @if-empty-section-start --> &nbsp; 
+        <a class="cmd" href="http://i.j.b/edit-actions-section-remove?filename=@filename@&amp;ver=@ver@&amp;section=@sectionid@"
+        >Delete whole section</a><!-- if-empty-section-end@ --> &nbsp; </td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
 <p>&nbsp;</p>
 
 
index 5549325..389317e 100644 (file)
@@ -1,9 +1,53 @@
-    <tr class="url@url-1-2@" valign="top">
-      <td align="left">&nbsp;</td>
-      <td align="center"><nobr><a name="s@sectionid@url@urlid@"></a><input
-        type="button" onclick="remove_pattern(@sectionid@,@urlid@,'@url@');" value="Remove">
-        <input type="button" onclick="edit_pattern(@sectionid@,@urlid@,'@url@');" value="Edit"
-        ></nobr></td>
-      <td class="url" align="left">@url@</td>
-    </tr>
+##############################################################################
+#
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $
+#
+# Purpose     :  Template which forms part of edit-actions-list
+# 
+#
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge
+#                IJBSWA team.  http://ijbswa.sourceforge.net
+#
+#                Original Author: Copyright (C) 2001 Jonathan Foster
+#                http://www.jon-foster.co.uk/
+#
+#                This program is free software; you can redistribute it 
+#                and/or modify it under the terms of the GNU General
+#                Public License as published by the Free Software
+#                Foundation; either version 2 of the License, or (at
+#                your option) any later version.
+#
+#                This program is distributed in the hope that it will
+#                be useful, but WITHOUT ANY WARRANTY; without even the
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A
+#                PARTICULAR PURPOSE.  See the GNU General Public
+#                License for more details.
+#
+#                The GNU General Public License should be included with
+#                this file.  If not, you can view it at
+#                http://www.gnu.org/copyleft/gpl.html
+#                or write to the Free Software Foundation, Inc., 59
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# Revisions   :
+#    $Log$
+#
+#############################################################################
+#
+# Available variables include:
+#
+# filename
+# ver
+# sectionid
+# urls
+#
+#############################################################################
+<tr class="url@url-1-2@" valign="top">
+<td align="left">&nbsp;</td>
+<td align="center" class="nobreak"><a name="s@sectionid@url@urlid@"></a
+><a class="cmd" href="http://i.j.b/edit-actions-remove-url-form?filename=@filename@&amp;ver=@ver@&amp;section=@sectionid@&amp;pattern=@urlid@&amp;oldval=@url@"
+onclick="return remove_pattern(@sectionid@,@urlid@,'@url@');">Remove</a>&nbsp;&nbsp;&nbsp;<a
+class="cmd" href="http://i.j.b/edit-actions-url-form?filename=@filename@&amp;ver=@ver@&amp;section=@sectionid@&amp;pattern=@urlid@&amp;oldval=@url@">Edit</a>&nbsp;</td>
+<td class="url" align="left">@url-html@</td>
+</tr>
 
diff --git a/templates/edit-actions-remove-url-form b/templates/edit-actions-remove-url-form
new file mode 100644 (file)
index 0000000..4fb67cf
--- /dev/null
@@ -0,0 +1,158 @@
+##############################################################################\r
+#\r
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $\r
+#\r
+# Purpose     :  Template used to confirm removal of a particular URL\r
+#                pattern from an actions file.  Only used on browsers that\r
+#                don't support JavaScript.\r
+# \r
+#\r
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge\r
+#                IJBSWA team.  http://ijbswa.sourceforge.net\r
+#\r
+#                Original Author: Copyright (C) 2001 Jonathan Foster\r
+#                http://www.jon-foster.co.uk/\r
+#\r
+#                This program is free software; you can redistribute it \r
+#                and/or modify it under the terms of the GNU General\r
+#                Public License as published by the Free Software\r
+#                Foundation; either version 2 of the License, or (at\r
+#                your option) any later version.\r
+#\r
+#                This program is distributed in the hope that it will\r
+#                be useful, but WITHOUT ANY WARRANTY; without even the\r
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A\r
+#                PARTICULAR PURPOSE.  See the GNU General Public\r
+#                License for more details.\r
+#\r
+#                The GNU General Public License should be included with\r
+#                this file.  If not, you can view it at\r
+#                http://www.gnu.org/copyleft/gpl.html\r
+#                or write to the Free Software Foundation, Inc., 59\r
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
+#\r
+# Revisions   :\r
+#    $Log$\r
+#\r
+##############################################################################\r
+#\r
+# Standard support:\r
+#\r
+# This file currently produces valid HTML 4.01 Strict.\r
+#\r
+# If you change it, please save the generated page from your web browser\r
+# and then upload it to http://validator.w3.org/ for checking.\r
+#\r
+#############################################################################\r
+#\r
+# Available variables include:\r
+#\r
+# filename\r
+# ver\r
+# section\r
+# pattern\r
+# oldval\r
+#\r
+#############################################################################\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<html>\r
+\r
+<head>\r
+<meta http-equiv="Content-Style-Type" content="text/css">\r
+<meta http-equiv="Content-Script-Type" content="text/javascript">\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\r
+<meta name="robots" content="noindex,nofollow">\r
+\r
+<title>JunkBuster: Remove URL Pattern</title>\r
+\r
+<style type="text/css">\r
+body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;\r
+               background-color: #ffffff;\r
+               color: #000000            }\r
+td.light     { background-color: #eeeeee }\r
+td.dark      { background-color: #dddddd }\r
+</style>\r
+\r
+</head>\r
+\r
+<body>\r
+\r
+<table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+  <tr>\r
+    <td class="dark">\r
+      <p><b><big><big>This is the Internet \r
+        J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>\r
+        @version@ on @my-hostname@ (@my-ip-address@),\r
+        port @my-port@, \r
+        @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-unstable-start -->\r
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in\r
+  <tr>\r
+    <td style="background-color: #ffdddd" >\r
+      <p><b>Please note that this <span style="color: #ff0000">@code-status@</span> release\r
+        of the proxy software is not intended for production systems!\r
+        <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>\r
+      </p>\r
+\r
+      <p>Feel free to <a href="mailto:ijbswa-developers@lists.sourceforge.net">mail the developers</a>\r
+        with any problems you encounter.\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-unstable-end@ -->\r
+\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Remove URL Pattern</h2>\r
+      <p>Are you sure you want to delete this URL pattern?  The pattern is:</p>\r
+      <p><b>@oldval@</b></p>\r
+      <p>\r
+        <a href="http://i.j.b/edit-actions-remove-url?filename=@filename@&amp;ver=@ver@&amp;section=@section@&amp;pattern=@pattern@">OK</a>\r
+        &nbsp;\r
+        <a href="http://i.j.b/edit-actions-list?filename=@filename@">Cancel</a>\r
+      </p>\r
+    </td>\r
+  </tr>\r
+\r
+  <tr>\r
+    <td class="dark">\r
+      <h2>More Junkbuster:</h2>\r
+      <ul>@menu@</ul>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-have-help-info-start -->\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Local Junkbuster support:</h2>\r
+\r
+<!-- @if-have-proxy-info-start -->\r
+      <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Junkbuster installation.\r
+<!-- if-have-proxy-info-end@ -->\r
+\r
+<!-- @if-have-adminaddr-info-start -->\r
+      <p>Address e-mail questions about this service to\r
+        <a href="mailto:@admin-address@"><code>@admin-address@</code></a>,\r
+        who will be glad to help you.\r
+<!-- if-have-adminaddr-info-end@ -->\r
+\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-have-help-info-end@ -->\r
+\r
+  <tr>\r
+    <td>\r
+      <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>\r
+    </td>\r
+  </tr>\r
+\r
+</table>\r
+\r
+</body>\r
+\r
+</html>\r
+\r
diff --git a/templates/edit-actions-url-form b/templates/edit-actions-url-form
new file mode 100644 (file)
index 0000000..69055c6
--- /dev/null
@@ -0,0 +1,177 @@
+##############################################################################\r
+#\r
+# File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $\r
+#\r
+# Purpose     :  Template used to edit a URL pattern in an actions file.\r
+#\r
+#\r
+# Copyright   :  Written by and Copyright (C) 2001 the SourceForge\r
+#                IJBSWA team.  http://ijbswa.sourceforge.net\r
+#\r
+#                Original Author: Copyright (C) 2001 Jonathan Foster\r
+#                http://www.jon-foster.co.uk/\r
+#\r
+#                This program is free software; you can redistribute it \r
+#                and/or modify it under the terms of the GNU General\r
+#                Public License as published by the Free Software\r
+#                Foundation; either version 2 of the License, or (at\r
+#                your option) any later version.\r
+#\r
+#                This program is distributed in the hope that it will\r
+#                be useful, but WITHOUT ANY WARRANTY; without even the\r
+#                implied warranty of MERCHANTABILITY or FITNESS FOR A\r
+#                PARTICULAR PURPOSE.  See the GNU General Public\r
+#                License for more details.\r
+#\r
+#                The GNU General Public License should be included with\r
+#                this file.  If not, you can view it at\r
+#                http://www.gnu.org/copyleft/gpl.html\r
+#                or write to the Free Software Foundation, Inc., 59\r
+#                Temple Place - Suite 330, Boston, MA  02111-1307, USA.\r
+#\r
+# Revisions   :\r
+#    $Log$\r
+#\r
+##############################################################################\r
+#\r
+# Standard support:\r
+#\r
+# This file currently produces valid HTML 4.01 Strict.\r
+#\r
+# If you change it, please save the generated page from your web browser\r
+# and then upload it to http://validator.w3.org/ for checking.\r
+#\r
+#############################################################################\r
+#\r
+# Available variables include:\r
+#\r
+# filename\r
+# ver\r
+# section\r
+# pattern\r
+# oldval\r
+#\r
+#############################################################################\r
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">\r
+<html>\r
+\r
+<head>\r
+<meta http-equiv="Content-Style-Type" content="text/css">\r
+<meta http-equiv="Content-Script-Type" content="text/javascript">\r
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\r
+<meta name="robots" content="noindex,nofollow">\r
+\r
+<title>JunkBuster: Edit URL Pattern</title>\r
+\r
+<style type="text/css">\r
+body         { font-family: Helvetica, Helv, Arial, Sans-Serif, sans-serif;\r
+               background-color: #ffffff;\r
+               color: #000000            }\r
+td.light     { background-color: #eeeeee }\r
+td.dark      { background-color: #dddddd }\r
+</style>\r
+\r
+<script type="text/javascript">\r
+<!--\r
+function validate(text)\r
+{\r
+  if (text=="")\r
+  {\r
+    alert("You need to type a pattern in order to continue!");\r
+    return false;\r
+  }\r
+\r
+  return true;\r
+}\r
+//-->\r
+</script>\r
+\r
+</head>\r
+\r
+<body>\r
+\r
+<table cellpadding="20" cellspacing="10" border="0" width="100%">\r
+  <tr>\r
+    <td class="dark">\r
+      <p><b><big><big>This is the Internet \r
+        J</big>UNK</big><i style="color: #ff0000">BUSTER</i><big><big>\r
+        @version@ on @my-hostname@ (@my-ip-address@),\r
+        port @my-port@, \r
+        @if-enabled-display-then@Enabled@else-not-enabled-display@Disabled@endif-enabled-display@</big></big></b></p>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-unstable-start -->\r
+# This will only appear if CODE_STATUS is "alpha" or "beta". See configure.in\r
+  <tr>\r
+    <td style="background-color: #ffdddd" >\r
+      <p><b>Please note that this <span style="color: #ff0000">@code-status@</span> release\r
+        of the proxy software is not intended for production systems!\r
+        <br>Use at your own risk. See the <a href="http://www.gnu.org/copyleft/gpl.html">license</a> for details.</b>\r
+      </p>\r
+\r
+      <p>Feel free to <a href="mailto:ijbswa-developers@lists.sourceforge.net">mail the developers</a>\r
+        with any problems you encounter.\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-unstable-end@ -->\r
+\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Edit URL Pattern</h2>\r
+      <form method="GET" action="http://i.j.b/edit-actions-url"\r
+            onSubmit="return validate(newval.value);">\r
+        <p>\r
+          <input type="hidden" name="filename" value="@filename@">\r
+          <input type="hidden" name="ver" value="@ver@">\r
+          <input type="hidden" name="section" value="@section@">\r
+          <input type="hidden" name="pattern" value="@pattern@">\r
+          <input type="text" name="newval" value="@oldval@" size="78"><br>\r
+          <input type="submit" value="Submit"> &nbsp;\r
+          <input type="reset" value="Reset"> &nbsp;\r
+          <a href="http://i.j.b/edit-actions-list?filename=@filename@">Cancel</a>\r
+        </p>\r
+      </form>\r
+    </td>\r
+  </tr>\r
+\r
+  <tr>\r
+    <td class="dark">\r
+      <h2>More Junkbuster:</h2>\r
+      <ul>@menu@</ul>\r
+    </td>\r
+  </tr>\r
+\r
+<!-- @if-have-help-info-start -->\r
+  <tr>\r
+    <td class="light">\r
+      <h2>Local Junkbuster support:</h2>\r
+\r
+<!-- @if-have-proxy-info-start -->\r
+      <p>You can consult the <a href="@proxy-info-url@">online documentation</a> for more information about this Junkbuster installation.\r
+<!-- if-have-proxy-info-end@ -->\r
+\r
+<!-- @if-have-adminaddr-info-start -->\r
+      <p>Address e-mail questions about this service to\r
+        <a href="mailto:@admin-address@"><code>@admin-address@</code></a>,\r
+        who will be glad to help you.\r
+<!-- if-have-adminaddr-info-end@ -->\r
+\r
+      </p>\r
+    </td>\r
+  </tr>\r
+<!-- if-have-help-info-end@ -->\r
+\r
+  <tr>\r
+    <td>\r
+      <small><small>Valid <a href="http://validator.w3.org/">HTML 4.01 Strict</a></small></small>\r
+    </td>\r
+  </tr>\r
+\r
+</table>\r
+\r
+</body>\r
+\r
+</html>\r
+\r