Update abuse.php
[clinton/MarylandElectronicPetitionSignature.git] / admin / abuse.php
1 <?PHP
2 include_once('../slack.php');
3 include_once('security.php');
4 include_once('/var/www/secure.php'); //outside webserver
5 include_once('functions.php');
6 if ($_COOKIE['level'] == 'user'){
7 slack_general('ADMIN: Redirect User Home ('.$_COOKIE['name'].') ('.$_COOKIE['level'].')','md-petition');
8 header('Location: user_home.php');
9 }
10 if ($_COOKIE['level'] == 'manager'){
11 slack_general('ADMIN: Redirect Manager Home ('.$_COOKIE['name'].') ('.$_COOKIE['level'].')','md-petition');
12 header('Location: manager_home.php');
13 }
14 if (isset($_GET['flag_invalid_signature'])){
15 $id = $_GET['flag_invalid_signature'];
16 $petition->query("update signatures set signature_status = 'flag_invalid_signature' where id = '$id' ");
17 header('Location: abuse.php');
18 }
19 if (isset($_GET['flag_duplicate'])){
20 $id = $_GET['flag_duplicate'];
21 $petition->query("update signatures set signature_status = 'flag_duplicate' where id = '$id' ");
22 header('Location: abuse.php');
23 }
24 if (isset($_GET['flag_ip_address'])){
25 $ip = $_GET['flag_ip_address'];
26 $petition->query("update signatures set signature_status = 'flag_ip_address' where ip_address = '$ip' ");
27 header('Location: abuse.php');
28 }
29 if (isset($_GET['resign_requested'])){
30 $id = $_GET['resign_requested'];
31 $petition->query("update signatures set signature_status = 'resign_requested' where id = '$id' ");
32 header('Location: abuse.php');
33 }
34 if (isset($_GET['bot'])){
35 $id = $_GET['bot'];
36 $petition->query("update signatures set signature_status = 'bot' where id = '$id' ");
37 header('Location: abuse.php');
38 }
39 if (isset($_GET['flag_VTRID'])){
40 $VTRID = $_GET['flag_VTRID'];
41 $petition->query("update signatures set signature_status = 'flag_VTRID' where VTRID = '$VTRID' ");
42 header('Location: abuse.php');
43 }
44 if (isset($_GET['flag_phone'])){
45 $flag_phone = $_GET['flag_phone'];
46 $petition->query("update signatures set signature_status = 'flag_phone' where contact_phone = '$flag_phone' ");
47 header('Location: abuse.php');
48 }
49 include_once('header.php');
50 if (isset($_GET['ip_address'])){
51 $ip = $_GET['ip_address'];
52 echo "<h1>Review $ip</h1><table width='100%' border='1' cellpadding='5' cellspacing='5'>";
53 $q = "SELECT * FROM signatures where ip_address = '$ip' order by signature_status desc ";
54 $r = $petition->query($q);
55 while($d = mysqli_fetch_array($r)){
56 $color = 'white';
57 $pos = strpos($d['date_time_signed'], date('Y-m-d'));
58 if ($pos !== false) {
59 $color= 'yellow';
60 }
61 echo "<tr style='background-color:$color;'>
62 <td><b>$d[date_time_signed]</b></td>
63 <td><a href='?VTRID=$d[VTRID]'>$d[VTRID]</a></td>
64 <td>".id2petition($d['petition_id'])."</td>
65 <td>$d[signed_name_as]</td>
66 <td>$d[signed_name_as_circulator]</td>
67 <td>$d[contact_phone]</td>
68 <td>$d[signature_status]</td>
69 <td>$d[printed_status]</td>
70 <td><a href='?flag_invalid_signature=$d[id]'>flag invalid signature</a></td>
71 <td><a href='?flag_VTRID=$d[VTRID]'>flag VTRID</a></td>
72 <td><a href='?flag_ip_address=$d[ip_address]'>flag ip address</a></td>
73 <td><a href='?flag_duplicate=$d[id]'>flag duplicate</a></td>
74 <td><a href='?flag_phone=$d[contact_phone]'>contact phone</a></td>
75 <td><a href='?resign_requested=$d[id]'>resign requested</a></td>
76 <td><a href='?bot=$d[id]'>bot</a></td>
77 </tr>";
78 }
79 echo "</table>";
80 }elseif (isset($_GET['VTRID'])){
81 $VTRID = $_GET['VTRID'];
82 echo "<h1>Review $VTRID</h1><table width='100%' border='1' cellpadding='5' cellspacing='5'>";
83 $q = "SELECT * FROM signatures where VTRID = '$VTRID' and signature_status <> 'deleted' order by petition_id, id DESC ";
84 $r = $petition->query($q);
85 while($d = mysqli_fetch_array($r)){
86 $color = 'white';
87 $pos = strpos($d['date_time_signed'], date('Y-m-d'));
88 if ($pos !== false) {
89 $color= 'yellow';
90 }
91 echo "<tr style='background-color:$color;'>
92 <td><b>$d[date_time_signed]</b></td>
93 <td><a href='?ip_address=$d[ip_address]'>$d[ip_address]</a></td>
94 <td>".id2petition($d['petition_id'])."</td>
95 <td>$d[signed_name_as]</td>
96 <td>$d[signed_name_as_circulator]</td>
97 <td>$d[contact_phone]</td>
98 <td>$d[signature_status]</td>
99 <td>$d[printed_status]</td>
100 <td><a href='?flag_invalid_signature=$d[id]'>flag invalid signature</a></td>
101 <td><a href='?flag_VTRID=$d[VTRID]'>flag VTRID</a></td>
102 <td><a href='?flag_ip_address=$d[ip_address]'>flag ip address</a></td>
103 <td><a href='?flag_duplicate=$d[id]'>flag duplicate</a></td>
104 <td><a href='?flag_phone=$d[contact_phone]'>contact phone</a></td>
105 <td><a href='?resign_requested=$d[id]'>resign requested</a></td>
106 <td><a href='?bot=$d[id]'>bot</a></td>
107 </tr>";
108 }
109 echo "</table>";
110 }
111 ?>
112
113 <h1>Abuses</h1>
114
115 <table><tr>
116
117 <td valign="top">
118 <h2>IP Address</h2>
119 <div>Watch for duplicates.</div><ol>
120 <?PHP
121 $q="SELECT ip_address, petition_id,VTRID, COUNT(*) as count FROM signatures where signature_status = 'verified' group by ip_address, petition_id, VTRID";
122 $r = $petition->query($q);
123 while($d = mysqli_fetch_array($r)){
124 if ($d['count'] > 1){
125 echo "<li><a href='?ip_address=$d[ip_address]'>$d[ip_address]</a> <a target='_Blank' href='https://ipinfo.io/$d[ip_address]'>IP INFO</a> <a href='?VTRID=$d[VTRID]'>$d[VTRID]</a> $d[petition_id] <b>$d[count]</b> $d[signed_name_as]</li>";
126 }
127 }
128 ?></ol>
129 </td><td valign="top">
130 <h2>VTRID</h2>
131 <div>Watch for duplicates.</div><ol>
132 <?PHP
133 $q="SELECT VTRID, petition_id, COUNT(*) as count FROM signatures where signature_status = 'verified' group by VTRID, petition_id";
134 $r = $petition->query($q);
135 while($d = mysqli_fetch_array($r)){
136 if ($d['count'] > 1){
137 echo "<li><a href='?VTRID=$d[VTRID]'>$d[VTRID]</a> $d[petition_id] <b>$d[count]</b> $d[signed_name_as]</li>";
138 }
139 }
140 ?></ol>
141 </td></tr><tr><td valign="top">
142 <h2>VTRID</h2>
143 <div>Watch for 0</div><ol>
144 <?PHP
145 $q="SELECT * FROM signatures where VTRID = '0' and signature_status <> 'bot' and signature_status <> 'flag_invalid_signature' and signature_status <> 'resign_requested'";
146 $r = $petition->query($q);
147 while($d = mysqli_fetch_array($r)){
148 echo "<li>$d[date_time_signed] <a href='?ip_address=$d[ip_address]'>$d[ip_address]</a> <a target='_Blank' href='https://ipinfo.io/$d[ip_address]'>IP INFO</a> $d[petition_id] $d[signed_name_as]</li>";
149 }
150 ?></ol>
151 </td><td valign="top">
152 <h2>petition_id</h2>
153 <div>Watch for 0</div><ol>
154 <?PHP
155 $q="SELECT * FROM signatures where (petition_id = '0' or petition_id = '') and signature_status <> 'bot' and signature_status <> 'flag_invalid_signature' and signature_status <> 'resign_requested'";
156 $r = $petition->query($q);
157 while($d = mysqli_fetch_array($r)){
158 echo "<li>$d[date_time_signed] <a href='?ip_address=$d[ip_address]'>$d[ip_address]</a> <a target='_Blank' href='https://ipinfo.io/$d[ip_address]'>IP INFO</a> $d[petition_id] $d[signed_name_as]</li>";
159 }
160 ?></ol>
161 </td></tr><tr><td valign="top">
162 <h2>resign_requested</h2>
163 <div>These are most likely from early bugs</div><ol>
164 <?PHP
165 $q="SELECT * FROM signatures where signature_status = 'resign_requested' order by ip_address";
166 $r = $petition->query($q);
167 while($d = mysqli_fetch_array($r)){
168 echo "<li>$d[date_time_signed] <a href='?ip_address=$d[ip_address]'>$d[ip_address]</a> <a target='_Blank' href='https://ipinfo.io/$d[ip_address]'>IP INFO</a> <a href='?VTRID=$d[VTRID]'>$d[VTRID]</a> $d[petition_id] $d[signed_name_as]</li>";
169 }
170 ?></ol>
171 </td>
172
173 <td valign="top">
174 <h2>bots</h2>
175 <div>These are bots on the site.</div><ol>
176 <?PHP
177 $q="SELECT * FROM signatures where signature_status = 'bot' order by ip_address";
178 $r = $petition->query($q);
179 while($d = mysqli_fetch_array($r)){
180 echo "<li>$d[date_time_signed] <a href='?ip_address=$d[ip_address]'>$d[ip_address]</a> <a target='_Blank' href='https://ipinfo.io/$d[ip_address]'>IP INFO</a> <a href='?VTRID=$d[VTRID]'>$d[VTRID]</a> $d[petition_id] $d[signed_name_as]</li>";
181 }
182 ?></ol>
183 </td>
184
185
186 </tr>
187 <tr>
188 <td valign="top">
189 <h2>Pre-Sign</h2>
190 <div>Follow up requested - never signed.</div><ol>
191 <?PHP
192 $q="SELECT * FROM presign where presign_status = 'NEW' and email_for_follow_up <> '' order by id desc";
193 $r = $petition->query($q);
194 while($d = mysqli_fetch_array($r)){
195 echo "<li>$d[action_on] $d[name] $d[email_for_follow_up] ($d[php_page])</li>";
196 }
197 ?></ol>
198 </td>
199 <td valign="top">
200 <h2>Signature</h2>
201 <div>Last 10</div><ol>
202 <?PHP
203 $q="SELECT * FROM signatures where signature_status = 'verified' order by id desc limit 0, 10";
204 $r = $petition->query($q);
205 while($d = mysqli_fetch_array($r)){
206 echo "<li>$d[date_time_signed] ".id2petition($d['petition_id'])." $d[signed_name_as]</li>";
207 }
208 ?></ol>
209 </td>
210
211 </tr>
212 </table>
213
214
215 <?PHP
216 include_once('footer.php');
217 ?>