3 error_reporting(E_NONE);
4 #error_reporting(E_ALL);
7 // File : $Source: /cvsroot/ijbswa/current/doc/webserver/actions/step2.php,v $
9 // Purpose : Submit form for actions file feedback (step 2)
10 // This file belongs in
11 // ijbswa.sourceforge.net:/home/groups/i/ij/ijbswa/htdocs/
13 // $Id: step2.php,v 1.1 2002/03/30 03:20:30 oes Exp $
15 // $Log: step2.php,v $
16 // Revision 1.1 2002/03/30 03:20:30 oes
17 // Added Feedback mechanism for actions file
20 // Written by and Copyright (C) 2001 the SourceForge
21 // Privoxy team. http://www.privoxy.org/
23 // Based on the Internet Junkbuster originally written
24 // by and Copyright (C) 1997 Anonymous Coders and
25 // Junkbusters Corporation. http://www.junkbusters.com
27 // This program is free software; you can redistribute it
28 // and/or modify it under the terms of the GNU General
29 // Public License as published by the Free Software
30 // Foundation; either version 2 of the License, or (at
31 // your option) any later version.
33 // This program is distributed in the hope that it will
34 // be useful, but WITHOUT ANY WARRANTY; without even the
35 // implied warranty of MERCHANTABILITY or FITNESS FOR A
36 // PARTICULAR PURPOSE. See the GNU General Public
37 // License for more details.
39 // The GNU General Public License should be included with
40 // this file. If not, you can view it at
41 // http://www.gnu.org/copyleft/gpl.html
42 // or write to the Free Software Foundation, Inc., 59
43 // Temple Place - Suite 330, Boston, MA 02111-1307, USA.
50 #$base_url = "http://www.oesterhelt.org/actions";
51 $base_url = "http://www.privoxy.org/actions";
54 * Cannot start with step 2:
56 if (!isset($referrer_url))
58 echo ("<html><head><title>Invalid Feedback Submission</title>
59 <link rel=\"stylesheet\" type=\"text/css\" href=\"../p_web.css\">
61 <body><h2>Invalid Feedback Submission</h2>
62 <p>When submitting your feedback please start with
63 <a href=\"index.php\">step 1</a>.</p>
70 * Cannot work on unknown problem:
72 if (!isset($problem) || $problem == "INVALID")
74 echo ("<html><head><title>Invalid Feedback Submission</title>
75 <link rel=\"stylesheet\" type=\"text/css\" href=\"../p_web.css\">
77 <body><h2>Invalid Feedback Submission</h2>
78 <p>You need to select the nature of the problem in
79 <a href=\"javascript:back()\">step 1</a>.</p>
87 * Check if URL really exists and buffer its contents:
90 $ch = curl_init ($referrer_url);
91 curl_setopt ($ch, CURLOPT_HEADER, 0);
92 curl_setopt ($ch, CURLOPT_FAILONERROR, 1);
95 $success = curl_exec ($ch);
96 $page = ob_get_contents();
103 echo ("<html><head><title>Invalid Feedback Submission</title>
104 <link rel=\"stylesheet\" type=\"text/css\" href=\"../p_web.css\">
106 <body><h2>Invalid Feedback Submission</h2>
107 <p>The URL that you entered (<a href=\"$referrer_url\">$referrer_url</a>)
108 <br>could not be retrieved.</p>
109 <p>Make sure the URL is correct and publicly accessible.</p>
110 <p><a href=\"javascript:back()\">Back to step 1</a></p>
118 * Create description from problem code:
122 case "P1": $problem_description="an advertisment was not blocked"; break;
123 case "P2": $problem_description="an innocent image was blocked"; break;
124 case "P3": $problem_description="the whole page was erraneously blocked"; break;
125 case "P4": $problem_description="the page needs popups but they don't work"; break;
126 case "P5": $problem_description="a problem occured"; break;
127 default: $problem_description="AN UNPROCESSABLE PROBLEM OCCURED";
134 <title>Privoxy Action List Feedback - Step 2 of 2</title>
135 <link rel="stylesheet" type="text/css" href="../p_web.css">
138 <h2><a href="http://www.privoxy.org" target="_blank">Privoxy</a> Action List Feedback - Step 2 of 2</h2>
140 You are about to report that <?php echo ($problem_description) ?>
141 <br>on <a href="<?php echo ($referrer_url) ?>"><?php echo ($referrer_url) ?></a>.
146 <form action="<?php echo($base_url); ?>/step3.php" method="post">
148 <input type="hidden" name="problem" value="<?php echo ($problem) ?>">
149 <input type="hidden" name="referrer_url" value="<?php echo ($referrer_url) ?>">
155 if ($problem != "P1")
161 preg_match_all('|<img\s+[^>]*?src=[\'"]?(.*?)[\'" >]|i', $page, $matches);
162 $count = count($matches[0]);
165 $referrer_base = substr($referrer_url, 0, -strpos(strrev($referrer_url), '/'));
166 $referrer_host = "http://".strrev(strrchr(strrev(substr($referrer_url, 7)), "/"));
168 echo ("<dt><b>Choose the images to be blocked from the following list:</b></dt><dd><p>\n");
169 echo ("<input type=\"hidden\" name=\"num_images\" value=\"$count\">\n");
170 echo ("<table border=\"0\" cellpadding=\"0\" cellspacing=\"4\">\n");
171 for ($i=0; $i< $count; $i++) {
172 $image_url = $matches[1][$i];
173 if (strncmp("http://", $image_url, 7))
175 if ($image_url{0} == "/")
177 $image_url = $referrer_host.$image_url;
181 $image_url = $referrer_base.$image_url;
184 echo ("<tr><td rowspan=2><input type=\"checkbox\" name=\"block_image[$i]\" value=\"off\"></td>\n");
185 echo ("<td><a href=\"$image_url\">$image_url</a>:</td>\n");
186 echo ("<td><input type=\"hidden\" name=\"image_url[$i]\" value=\"$image_url\"></td></tr>\n");
187 echo ("<tr><td><img style=\"max-width: 300; max-height: 50; min-width: 20; min-height: 20\" src=\"$image_url\"></td></tr>\n");
189 echo ("</table></p></dd><dt><b>If the banner that you saw is not listed above, enter the URL here</b>\n");
193 echo ("<dt><b>URL of the advertisment image:</b>\n");
199 <br><i>Hint: right-click the image, select "Copy image location" and paste the URL here.</i></dt>
201 <p><input name="manual_image_url" type="text" size="45" maxlength="255"></p>
203 <?php if($problem != "P1") echo ("-->") ?>
205 <?php if($problem != "P2") echo ("<!--") ?>
206 <dt><b>URL of the innocent image:</b>
207 <br><i>Hint: right-click the image, select "Copy image location" and paste the URL here.
208 <br>This may not work if the image was blocked by size or if +image-blocker is set to redirect.</i></dt>
210 <p><input name="image_url" value="unknown" type="text" size="45" maxlength="255"></p>
212 <?php if($problem != "P2") echo ("-->") ?>
215 <dt><b>Severity:</b></dt>
218 <select name="severity">
219 <option value="3">drives me crazy</option>
220 <option selected value="2">vanilla banner</option>
221 <option value="1">cosmetic</option>
226 <dt><b>Remarks:</b> <i>(optional)</i></dt>
228 <p><textarea name="remarks" cols="35" rows="3">None.</textarea></p>
231 <dt><b>Your Name:</b> <i>(optional)</i></dt>
233 <p><input name="name" size="45"></p>
238 <input type=submit value="Submit">