| 1 | <?php |
| 2 | include_once('/var/www/secure.php'); |
| 3 | include_once('slack.php'); |
| 4 | $id = intval($_GET['id']); |
| 5 | $q = "select * from signatures where id = '$id' "; |
| 6 | $r = $petition->query($q); |
| 7 | $d = mysqli_fetch_array($r); |
| 8 | $ip_address = $d['ip_address']; |
| 9 | $DOB = $d['date_of_birth']; |
| 10 | $SIGNED = $d['date_time_signed']; |
| 11 | $PETITION_ID = $d['petition_id']; |
| 12 | $VoterList_table = $d['VoterList_table']; |
| 13 | $signed_name_as = ucwords(strtolower($d['signed_name_as'])); |
| 14 | $signed_name_as_circulator = ucwords(strtolower($d['signed_name_as_circulator'])); |
| 15 | if (!empty($_SERVER['HTTP_CLIENT_IP'])) { |
| 16 | $ip = $_SERVER['HTTP_CLIENT_IP']; |
| 17 | } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { |
| 18 | $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; |
| 19 | } else { |
| 20 | $ip = $_SERVER['REMOTE_ADDR']; |
| 21 | } |
| 22 | if ($ip != $d['ip_address']){ |
| 23 | slack_general('SECURITY INVALID: soft_copy.php '.$ip.' vs '.$d['ip_address'].' ('.$_COOKIE['invite'].')','md-petition'); |
| 24 | die('Error #294'); |
| 25 | } |
| 26 | |
| 27 | $q2 = "select * from $VoterList_table where VTRID = '$d[VTRID]' "; |
| 28 | $r2 = $petition->query($q2); |
| 29 | $d2 = mysqli_fetch_array($r2); |
| 30 | $FIRSTNAME = $d2['FIRSTNAME']; |
| 31 | $MIDDLENAME = $d2['MIDDLENAME']; |
| 32 | $LASTNAME = $d2['LASTNAME']; |
| 33 | $ADDRESS = $d2['ADDRESS']; |
| 34 | $RESIDENTIALCITY = $d2['RESIDENTIALCITY']; |
| 35 | $COUNTY = $d2['COUNTY']; |
| 36 | $RESIDENTIALZIP5 = $d2['RESIDENTIALZIP5']; |
| 37 | $full_name = "$FIRSTNAME $MIDDLENAME $LASTNAME"; |
| 38 | $address = "$ADDRESS $RESIDENTIALCITY $RESIDENTIALZIP5"; |
| 39 | |
| 40 | $contact_phone = $d2['contact_phone']; |
| 41 | |
| 42 | |
| 43 | $qX = "select * from petitions where petition_id = '$PETITION_ID'"; |
| 44 | $rX = $petition->query($qX); |
| 45 | $dX = mysqli_fetch_array($rX); |
| 46 | |
| 47 | $hide_county = $dX['hide_county_on_petition']; |
| 48 | $offset_x = $dX['offset_x_cords']; |
| 49 | $offset_y = $dX['offset_y_cords']; |
| 50 | $offset_x_circulator = $dX['offset_x_cords_circulator']; |
| 51 | $offset_y_circulator = $dX['offset_y_cords_circulator']; |
| 52 | |
| 53 | // imagettftext ( resource $image , float $size , float $angle , int $x , int $y , int $color , string $fontfile , string $text ) |
| 54 | // x how far from left |
| 55 | // y how far from top |
| 56 | |
| 57 | |
| 58 | //Set the Content Type |
| 59 | header('Content-type: image/jpeg'); |
| 60 | |
| 61 | // Create Image From Existing File -- going to have to make this a reqired size??? 2550x3300 |
| 62 | $jpg_image = imagecreatefromjpeg($dX['petition_jpg']); |
| 63 | |
| 64 | // Allocate A Color For The Text |
| 65 | $black = imagecolorallocate($jpg_image, 0, 0, 0); |
| 66 | |
| 67 | // Set Path to Font File |
| 68 | $font_path = 'files/coolvetica rg.ttf'; |
| 69 | $font_path_sig = 'files/Claston Script.ttf'; |
| 70 | |
| 71 | if ($hide_county == 'NO'){ |
| 72 | if ( $_COOKIE['pCOUNTY'] == 'Baltimore City'){ |
| 73 | // City Checkbox |
| 74 | $cord = $dX['text_cord_cityX']; |
| 75 | $array = explode(",",$cord); |
| 76 | $debug = "$id : $cord : $array[0]"; |
| 77 | imagettftext($jpg_image, $array[0], $array[1], $array[2], $array[3], $black, $font_path, 'X'); |
| 78 | }else{ |
| 79 | // County on Petition |
| 80 | $cord = $dX['text_cord_county']; |
| 81 | $array = explode(",",$cord); |
| 82 | imagettftext($jpg_image, $array[0], $array[1], $array[2], $array[3], $black, $font_path, str_replace('County','',$_COOKIE['pCOUNTY']) ); |
| 83 | } |
| 84 | } |
| 85 | // name |
| 86 | imagettftext($jpg_image, 50, 0, 350+$offset_x, 1070+$offset_y, $black, $font_path, $full_name); |
| 87 | // signed |
| 88 | imagettftext($jpg_image, 70, 0, 400+$offset_x, 1180+$offset_y, $black, $font_path_sig, $signed_name_as); |
| 89 | // address |
| 90 | imagettftext($jpg_image, 50, 0, 400+$offset_x, 1300+$offset_y, $black, $font_path, $address); |
| 91 | |
| 92 | // date of birth |
| 93 | if($DOB != ''){ |
| 94 | imagettftext($jpg_image, 50, 0, 1900+$offset_x, 1070+$offset_y, $black, $font_path, date('m d Y',strtotime($DOB))); |
| 95 | } |
| 96 | // date signed |
| 97 | imagettftext($jpg_image, 50, 0, 1900+$offset_x, 1200+$offset_y, $black, $font_path, date('m d Y',strtotime($SIGNED))); |
| 98 | |
| 99 | |
| 100 | // name |
| 101 | imagettftext($jpg_image, 40, 0, 100+$offset_x_circulator, 2880+$offset_y_circulator, $black, $font_path, $_COOKIE['pNAME']); |
| 102 | // address |
| 103 | imagettftext($jpg_image, 40, 0, 100+$offset_x_circulator, 2975+$offset_y_circulator, $black, $font_path, $_COOKIE['pADDRESS1']); |
| 104 | // city state zip |
| 105 | imagettftext($jpg_image, 40, 0, 100+$offset_x_circulator, 3065+$offset_y_circulator, $black, $font_path, $_COOKIE['pADDRESS2']); |
| 106 | // phone |
| 107 | imagettftext($jpg_image, 40, 0, 100+$offset_x_circulator, 3160+$offset_y_circulator, $black, $font_path, $_COOKIE['pPHONE']); |
| 108 | // signed |
| 109 | imagettftext($jpg_image, 70, 0, 1290+$offset_x_circulator, 3160+$offset_y_circulator, $black, $font_path_sig, $signed_name_as_circulator); |
| 110 | // date signed |
| 111 | imagettftext($jpg_image, 50, 0, 2150+$offset_x_circulator, 3160+$offset_y_circulator, $black, $font_path, date('m / d / y',strtotime($SIGNED))); |
| 112 | |
| 113 | |
| 114 | |
| 115 | // Send Image to Browser |
| 116 | imagejpeg($jpg_image); |
| 117 | |
| 118 | // Clear Memory |
| 119 | imagedestroy($jpg_image); |
| 120 | ?> |