Update follow_up_emails.php
[clinton/MarylandElectronicPetitionSignature.git] / admin / analytics.php
CommitLineData
5623205d
PM
1<?PHP
2include_once('../slack.php');
3include_once('security.php');
c7d45ac6 4include_once('/var/www/secure.php'); //outside webserver
6c9432fc 5include_once('functions.php');
5623205d
PM
6if ($_COOKIE['level'] == 'user'){
7 slack_general('ADMIN: Redirect User Home ('.$_COOKIE['name'].') ('.$_COOKIE['level'].')','md-petition');
8 header('Location: user_home.php');
9}
28de89d0
PM
10if (isset($_GET['clear_php_session_id'])){
11 $id = $_GET['clear_php_session_id'];
12 $petition->query("update presign set presign_status = 'DONE' where php_session_id = '$id' ");
cdaa5f15 13 header('Location: analytics.php');
28de89d0 14}
9e6d5e27
PM
15if (isset($_GET['sign_php_session_id'])){
16 $id = $_GET['sign_php_session_id'];
17 $petition->query("update presign set presign_status = 'SIGNED' where php_session_id = '$id' ");
cdaa5f15 18 header('Location: analytics.php');
9e6d5e27 19}
5623205d
PM
20if ($_COOKIE['level'] == 'manager'){
21 slack_general('ADMIN: Redirect Manager Home ('.$_COOKIE['name'].') ('.$_COOKIE['level'].')','md-petition');
22 header('Location: manager_home.php');
23}
73a94d3f 24if (isset($_GET['flag_invalid_signature'])){
68e387b9 25 $id = $_GET['flag_invalid_signature'];
73a94d3f 26 $petition->query("update signatures set signature_status = 'flag_invalid_signature' where id = '$id' ");
cdaa5f15 27 header('Location: analytics.php');
73a94d3f 28}
68e387b9
PM
29if (isset($_GET['flag_duplicate'])){
30 $id = $_GET['flag_duplicate'];
31 $petition->query("update signatures set signature_status = 'flag_duplicate' where id = '$id' ");
cdaa5f15 32 header('Location: analytics.php');
68e387b9
PM
33}
34if (isset($_GET['flag_ip_address'])){
35 $ip = $_GET['flag_ip_address'];
36 $petition->query("update signatures set signature_status = 'flag_ip_address' where ip_address = '$ip' ");
cdaa5f15 37 header('Location: analytics.php');
68e387b9 38}
dcc3fc26
PM
39if (isset($_GET['resign_requested'])){
40 $id = $_GET['resign_requested'];
41 $petition->query("update signatures set signature_status = 'resign_requested' where id = '$id' ");
cdaa5f15 42 header('Location: analytics.php');
dcc3fc26 43}
3f8c226b
PM
44if (isset($_GET['bot'])){
45 $id = $_GET['bot'];
46 $petition->query("update signatures set signature_status = 'bot' where id = '$id' ");
cdaa5f15 47 header('Location: analytics.php');
3f8c226b 48}
68e387b9
PM
49if (isset($_GET['flag_VTRID'])){
50 $VTRID = $_GET['flag_VTRID'];
51 $petition->query("update signatures set signature_status = 'flag_VTRID' where VTRID = '$VTRID' ");
cdaa5f15 52 header('Location: analytics.php');
68e387b9 53}
587d1da3
PM
54if (isset($_GET['flag_phone'])){
55 $flag_phone = $_GET['flag_phone'];
56 $petition->query("update signatures set signature_status = 'flag_phone' where contact_phone = '$flag_phone' ");
cdaa5f15 57 header('Location: analytics.php');
587d1da3 58}
c7d45ac6 59include_once('header.php');
f49d1b19
PM
60if (isset($_GET['ip_address'])){
61 $ip = $_GET['ip_address'];
68e387b9 62 echo "<h1>Review $ip</h1><table width='100%' border='1' cellpadding='5' cellspacing='5'>";
6c50c9f6 63 $q = "SELECT * FROM signatures where ip_address = '$ip' order by signature_status desc ";
45bc6a1e 64 $r = $petition->query($q);
7ce3d9ec 65 while($d = mysqli_fetch_array($r)){
4fca24b9
PM
66 $color = 'white';
67 $pos = strpos($d['date_time_signed'], date('Y-m-d'));
68 if ($pos !== false) {
69 $color= 'yellow';
70 }
71 echo "<tr style='background-color:$color;'>
68e387b9
PM
72 <td><b>$d[date_time_signed]</b></td>
73 <td><a href='?VTRID=$d[VTRID]'>$d[VTRID]</a></td>
6c9432fc 74 <td>".id2petition($d['petition_id'])."</td>
68e387b9
PM
75 <td>$d[signed_name_as]</td>
76 <td>$d[signed_name_as_circulator]</td>
77 <td>$d[contact_phone]</td>
78 <td>$d[signature_status]</td>
79 <td>$d[printed_status]</td>
dcc3fc26
PM
80 <td><a href='?flag_invalid_signature=$d[id]'>flag invalid signature</a></td>
81 <td><a href='?flag_VTRID=$d[VTRID]'>flag VTRID</a></td>
82 <td><a href='?flag_ip_address=$d[ip_address]'>flag ip address</a></td>
83 <td><a href='?flag_duplicate=$d[id]'>flag duplicate</a></td>
84 <td><a href='?flag_phone=$d[contact_phone]'>contact phone</a></td>
ff3013b8 85 <td><a href='?resign_requested=$d[id]'>resign requested</a></td>
3f8c226b 86 <td><a href='?bot=$d[id]'>bot</a></td>
68e387b9 87 </tr>";
7ce3d9ec 88 }
3a0177c8 89 echo "</table>";
971585e7 90}elseif(isset($_GET['php_session_id']) && empty($_GET['follow_up'])){
b331a809
PM
91 $php_session_id = $_GET['php_session_id'];
92 echo "<h1>Review $php_session_id</h1><table width='100%' border='1' cellpadding='5' cellspacing='5'>";
93 $q = "SELECT * FROM presign where php_session_id = '$php_session_id' order by id desc ";
94 $r = $petition->query($q);
95 while($d = mysqli_fetch_array($r)){
96 $color = 'white';
eea234c3
PM
97 $test = date('Y-m-d',strtotime($d['action_on']));
98 $pos = strpos($test, date('Y-m-d'));
b331a809
PM
99 if ($pos !== false) {
100 $color= 'yellow';
101 }
102 echo "<tr style='background-color:$color;'>
eea234c3
PM
103 <td style='white-space:pre;'><b>$d[action_on]</b></td>
104 <td style='white-space:pre;'>$d[php_page]</td>
105 <td style='white-space:pre;'>".id2petition($d['petition'])."</td>
106 <td style='white-space:pre;'>$d[invite]</td>
973dd966 107 <td style='white-space:pre;'>$d[invite_error]</td>
eea234c3
PM
108 <td style='white-space:pre;'>$d[name]</td>
109 <td style='white-space:pre;'>$d[email_for_follow_up]</td>
110 <td style='white-space:pre;'>$d[phone_for_validation]</td>
111 <td style='white-space:pre;'>$d[presign_status]</td>
112 <td style='white-space:pre;'>$d[ip_address]</td>
113 <td style='white-space:pre;'>$d[browser_string]</td>
971585e7
PM
114 </tr>";
115 }
e511d315
PM
116 echo "</table><a href='?clear_php_session_id=$php_session_id'>CLEAR ALERT</a> -
117 <a href='?sign_php_session_id=$php_session_id'>SIGNATURE FOUND</a> -
118 - <a href='?php_session_id=$php_session_id&follow_up=1'>ADD TO FOLLOW UP LIST MGP</a>
119 - <a href='?php_session_id=$php_session_id&follow_up=2'>ADD TO FOLLOW UP LIST MLP</a>
120 - <a href='?php_session_id=$php_session_id&follow_up=3'>ADD TO FOLLOW UP LIST BTEC</a>
121 - <a href='?php_session_id=$php_session_id&follow_up=7'>ADD TO FOLLOW UP LIST PG</a>
122 - <a href='?php_session_id=$php_session_id&follow_up=8'>ADD TO FOLLOW UP LIST Ivey</a>
123 ";
971585e7
PM
124}elseif(isset($_GET['php_session_id']) && isset($_GET['follow_up'])){
125 $php_session_id = $_GET['php_session_id'];
126 echo "<h1>Adding Follow up for $php_session_id to $_GET[follow_up]</h1><table width='100%' border='1' cellpadding='5' cellspacing='5'>";
127 $q = "SELECT * FROM presign where php_session_id = '$php_session_id' order by id desc ";
128 $r = $petition->query($q);
971585e7 129 while($d = mysqli_fetch_array($r)){
f8753855 130
971585e7
PM
131 $color = 'white';
132 $test = date('Y-m-d',strtotime($d['action_on']));
133 $pos = strpos($test, date('Y-m-d'));
134 if ($pos !== false) {
135 $color= 'yellow';
136 }
f8753855
PM
137if ($d[name] != ''){
138 $name = $d[name];
139}
140if ($d[email_for_follow_up] != ''){
141 $email = $d[email_for_follow_up];
142}
971585e7
PM
143 echo "<tr style='background-color:$color;'>
144 <td style='white-space:pre;'><b>$d[action_on]</b></td>
145 <td style='white-space:pre;'>$d[php_page]</td>
146 <td style='white-space:pre;'>".id2petition($d['petition'])."</td>
147 <td style='white-space:pre;'>$d[invite]</td>
148 <td style='white-space:pre;'>$d[invite_error]</td>
149 <td style='white-space:pre;'>$d[name]</td>
150 <td style='white-space:pre;'>$d[email_for_follow_up]</td>
151 <td style='white-space:pre;'>$d[phone_for_validation]</td>
152 <td style='white-space:pre;'>$d[presign_status]</td>
153 <td style='white-space:pre;'>$d[ip_address]</td>
154 <td style='white-space:pre;'>$d[browser_string]</td>
b331a809
PM
155 </tr>";
156 }
f8753855 157 $petition->query("insert into follow_up (name, email, php_session, petition_id) values ('$name','$email','$php_session_id','$_GET[follow_up]') ");
b739e778 158 $petition->query("update presign set presign_status = 'DONE' where php_session_id = '$php_session_id' ");
1f0c4bd2 159 echo "</table>";
f49d1b19
PM
160}elseif (isset($_GET['VTRID'])){
161 $VTRID = $_GET['VTRID'];
68e387b9 162 echo "<h1>Review $VTRID</h1><table width='100%' border='1' cellpadding='5' cellspacing='5'>";
783d17ee 163 $q = "SELECT * FROM signatures where VTRID = '$VTRID' and signature_status <> 'deleted' order by petition_id, id DESC ";
45bc6a1e 164 $r = $petition->query($q);
7ce3d9ec 165 while($d = mysqli_fetch_array($r)){
4fca24b9
PM
166 $color = 'white';
167 $pos = strpos($d['date_time_signed'], date('Y-m-d'));
168 if ($pos !== false) {
169 $color= 'yellow';
170 }
171 echo "<tr style='background-color:$color;'>
68e387b9
PM
172 <td><b>$d[date_time_signed]</b></td>
173 <td><a href='?ip_address=$d[ip_address]'>$d[ip_address]</a></td>
b6545efe 174 <td>".id2petition($d['petition_id'])."</td>
68e387b9
PM
175 <td>$d[signed_name_as]</td>
176 <td>$d[signed_name_as_circulator]</td>
177 <td>$d[contact_phone]</td>
178 <td>$d[signature_status]</td>
179 <td>$d[printed_status]</td>
dcc3fc26
PM
180 <td><a href='?flag_invalid_signature=$d[id]'>flag invalid signature</a></td>
181 <td><a href='?flag_VTRID=$d[VTRID]'>flag VTRID</a></td>
182 <td><a href='?flag_ip_address=$d[ip_address]'>flag ip address</a></td>
183 <td><a href='?flag_duplicate=$d[id]'>flag duplicate</a></td>
184 <td><a href='?flag_phone=$d[contact_phone]'>contact phone</a></td>
ff3013b8 185 <td><a href='?resign_requested=$d[id]'>resign requested</a></td>
3f8c226b 186 <td><a href='?bot=$d[id]'>bot</a></td>
68e387b9 187 </tr>";
7ce3d9ec 188 }
3a0177c8 189 echo "</table>";
f49d1b19 190}
5623205d 191?>
4b205268 192
cdaa5f15 193<h1>Signature Analytics</h1>
d5dffc27 194<h2>NEVER NEVER NEVER CALL OR TEXT ANYONE - ONLY EMAIL!!!</h2>
cdaa5f15 195<h3>SysOp Says: Transparency = Trust</h3>
797efc8e 196<table><tr>
d1dcf736
PM
197<tr>
198<td valign="top">
199<h2>Pre-Sign</h2>
200<div>Follow up requested - never signed.</div><ol>
201<?PHP
202$q="SELECT distinct php_session_id FROM presign where presign_status = 'NEW' and email_for_follow_up <> '' order by id desc";
203$r = $petition->query($q);
204while($d = mysqli_fetch_array($r)){
205 $q2="SELECT * FROM presign where php_session_id = '$d[php_session_id]' order by id desc";
206 $r2 = $petition->query($q2);
207 $d2 = mysqli_fetch_array($r2);
208 echo "<li><a href='?php_session_id=$d2[php_session_id]'>$d2[name] $d2[email_for_follow_up] ".id2petition($d2['petition'])." $d2[invite]</a></li>";
209}
210?></ol>
211 </td>
212<td valign="top">
cdaa5f15 213<h2>Signatures</h2>
d1dcf736
PM
214<div>Last 10</div><ol>
215<?PHP
216$q="SELECT * FROM signatures where signature_status = 'verified' order by id desc limit 0, 10";
217$r = $petition->query($q);
218while($d = mysqli_fetch_array($r)){
219 echo "<li>$d[date_time_signed] ".id2petition($d['petition_id'])." $d[signed_name_as]</li>";
220}
221?></ol>
222 </td>
797efc8e 223
d1dcf736 224 </tr>
797efc8e 225 <td valign="top">
e0bd2eda 226<h2>IP Address</h2>
cdaa5f15 227<div>Watching for duplicates.</div><ol>
5623205d 228<?PHP
babf0707 229$q="SELECT ip_address, petition_id,VTRID, COUNT(*) as count FROM signatures where signature_status = 'verified' group by ip_address, petition_id, VTRID";
5623205d
PM
230$r = $petition->query($q);
231while($d = mysqli_fetch_array($r)){
4b205268 232 if ($d['count'] > 1){
cdaa5f15 233 echo "<li><a href='?ip_address=$d[ip_address]'>$d[ip_address]</a> ".id2petition($d['petition_id'])." <b>$d[count]</b> $d[signed_name_as]</li>";
4b205268 234 }
5623205d 235}
cc84dbb5 236?></ol>
797efc8e 237 </td><td valign="top">
e0bd2eda 238<h2>VTRID</h2>
cdaa5f15 239<div>Watching for duplicates.</div><ol>
1b0319d4 240<?PHP
870eafe2 241$q="SELECT VTRID, petition_id, COUNT(*) as count FROM signatures where signature_status = 'verified' group by VTRID, petition_id";
1b0319d4 242$r = $petition->query($q);
4b205268
PM
243while($d = mysqli_fetch_array($r)){
244 if ($d['count'] > 1){
cdaa5f15 245 echo "<li><a href='?VTRID=$d[VTRID]'>$d[VTRID]</a> ".id2petition($d['petition_id'])." <b>$d[count]</b> $d[signed_name_as]</li>";
4b205268 246 }
1b0319d4 247}
cc84dbb5 248 ?></ol>
e8d1541d 249 </td></tr><tr><td valign="top">
cdaa5f15
PM
250<h2>VTRID Bugs</h2>
251<div>Watching for 0</div><ol>
e0bd2eda 252<?PHP
e8d1541d 253$q="SELECT * FROM signatures where VTRID = '0' and signature_status <> 'bot' and signature_status <> 'flag_invalid_signature' and signature_status <> 'resign_requested'";
e0bd2eda
PM
254$r = $petition->query($q);
255while($d = mysqli_fetch_array($r)){
55fd7459 256 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>";
9b75965d 257}
cc84dbb5 258?></ol>
797efc8e 259 </td><td valign="top">
cdaa5f15
PM
260<h2>Petition ID Bugs</h2>
261<div>Watching for 0</div><ol>
9b75965d 262<?PHP
e8d1541d 263$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'";
9b75965d 264$r = $petition->query($q);
4931af50 265while($d = mysqli_fetch_array($r)){
55fd7459 266 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>";
4931af50
PM
267}
268?></ol>
e8d1541d 269 </td></tr><tr><td valign="top">
cdaa5f15 270 <?PHP ob_start(); ?>
4931af50 271<h2>resign_requested</h2>
3f8c226b 272<div>These are most likely from early bugs</div><ol>
4931af50 273<?PHP
68fde5b1 274$q="SELECT * FROM signatures where signature_status = 'resign_requested' order by ip_address";
4931af50 275$r = $petition->query($q);
cdaa5f15 276 $show = 0;
9b75965d 277while($d = mysqli_fetch_array($r)){
cdaa5f15 278 $show = 1;
55fd7459 279 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>";
e0bd2eda 280}
3f8c226b 281?></ol>
cdaa5f15 282 <?PHP $html = ob_get_clean(); if ( $show == 1 ){ echo $html; } ?>
3f8c226b
PM
283 </td>
284
285 <td valign="top">
cdaa5f15 286 <?PHP ob_start(); ?>
3f8c226b
PM
287<h2>bots</h2>
288<div>These are bots on the site.</div><ol>
289<?PHP
68fde5b1 290$q="SELECT * FROM signatures where signature_status = 'bot' order by ip_address";
3f8c226b 291$r = $petition->query($q);
cdaa5f15 292$show = 0;
3f8c226b 293while($d = mysqli_fetch_array($r)){
cdaa5f15 294 $show = 1;
ab89bfc5 295 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>";
3f8c226b 296}
cc84dbb5 297?></ol>
cdaa5f15
PM
298 <?PHP $html = ob_get_clean(); if ( $show == 1 ){ echo $html; } ?>
299
797efc8e 300 </td>
5623205d 301
9b75965d 302
05fddd22 303</tr>
05fddd22 304
05fddd22 305</table>
9b75965d
PM
306
307
5623205d
PM
308<?PHP
309include_once('footer.php');
310?>