File: /var/www/ilya/data/www/povoleni.com/modules/services/check.inc
<?
function get_mail_check_positive($data) {
global $global_vars;
$mail = array();
$mail['subject'] = $global_vars['translation'][$data['language']]['index_check_email_positive_subject']." ".get_application_number($data);
$mail['subject'] = '=?UTF-8?B?'.base64_encode($mail['subject']).'?=';
$mail['text'] = $global_vars['translation'][$data['language']]['index_check_email_positive_text_1']." ".get_application_number($data)."! ".$global_vars['translation'][$data['language']]['index_check_email_positive_text_2'];
$mail['headers'] = "From: ".$global_vars['translation'][$data['language']]['site_name']." <no-reply@povoleni.ru>\r\nReply-To: info@povoleni.ru\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n";
return $mail;
}
function get_mail_check_negative($data) {
global $global_vars;
$mail = array();
$mail['subject'] = $global_vars['translation'][$data['language']]['index_check_email_negative_subject']." ".get_application_number($data);
$mail['subject'] = '=?UTF-8?B?'.base64_encode($mail['subject']).'?=';
$mail['text'] = $global_vars['translation'][$data['language']]['index_check_email_negative_text_1']." ".get_application_number($data).". ".$global_vars['translation'][$data['language']]['index_check_email_negative_text_2'];
$mail['headers'] = "From: ".$global_vars['translation'][$data['language']]['site_name']." <no-reply@povoleni.ru>\r\nReply-To: info@povoleni.ru\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n";
return $mail;
}
function get_mail_check_not_found($data) {
global $global_vars;
$mail = array();
$mail['subject'] = $global_vars['translation'][$data['language']]['index_check_email_not_found_subject']." ".get_application_number($data);
$mail['subject'] = '=?UTF-8?B?'.base64_encode($mail['subject']).'?=';
$mail['text'] = $global_vars['translation'][$data['language']]['index_check_email_not_found_text_1']." ".get_application_number($data).$global_vars['translation'][$data['language']]['index_check_email_not_found_text_2'];
$mail['headers'] = "From: ".$global_vars['translation'][$data['language']]['site_name']." <no-reply@povoleni.ru>\r\nReply-To: info@povoleni.ru\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n";
return $mail;
}
$result = query("SELECT * FROM `entries` WHERE `status`=2 AND (DATE_ADD(`updated`, INTERVAL 12 HOUR)<NOW() OR `updated` IS NULL) AND `year`>=YEAR(DATE_SUB(NOW(), INTERVAL 2 YEAR)) ORDER BY `updated` ASC LIMIT 1;");
//$result = query("SELECT * FROM `entries` WHERE `id`=10482");
$proxy = 'proxy.hprox.com:10018';
$proxyauth = PROXY_PUBLIC_KEY.':'.PROXY_PRIVATE_KEY;
if(mysql_num_rows($result)>0) {
while($data = mysql_fetch_array($result)) {
/*$proxy_list = array(
"91.90.35.230:8080",
"94.25.104.250:8080",
"94.28.93.117:8080",
"46.151.108.6:44211");*/
//$proxy = $proxy_list[array_rand($proxy_list)];
$user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$url = "https://frs.gov.cz/cs/ioff/application-status";
//set the header params
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";
//assign to the curl request.
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_CONNECTTIMEOUT,120);
curl_setopt ($ch,CURLOPT_TIMEOUT,120);
curl_setopt ($ch,CURLOPT_MAXREDIRS,10);
curl_setopt ($ch,CURLOPT_COOKIEFILE,"cookie.txt");
curl_setopt ($ch,CURLOPT_COOKIEJAR,"cookie.txt");
curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
$result = curl_exec($ch);
if(strlen($result)<100)
exit("Page was not returned!");
//curl_close($ch);
$frs_check = ereg_replace('(.*)form_build_id" value="', "", $result);
$frs_check = ereg_replace('" />(.*)', "", $frs_check);
$frs_time = ereg_replace('(.*)honeypot_time" value="', "", $result);
$frs_time = ereg_replace('" />(.*)', "", $frs_time);
if(strpos($data['code'],"-"))
$data['code'] = substr($data['code'],0,strpos($data['code'],"-"));
while($data['code'][0]=="0") {
$data['code'] = substr($data['code'],1);
}
//set POST variables
//$url = 'https://frs.gov.cz/cs/ioff/application-status';
$fields = array(
'ioff_application_oam'=>urlencode('OAM'),
'ioff_application_number'=>urlencode($data['code']),
'ioff_application_code'=>urlencode($data['type']),
'ioff_application_year'=>urlencode($data['year']),
'ioff_zov'=>urlencode(''),
'form_build_id'=>urlencode($frs_check),
'honeypot_time'=>urlencode($frs_time),
'form_id'=>urlencode('ioff_application_status_form')
);
$fields_string = "";
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
//open connection
//$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_CONNECTTIMEOUT,120);
curl_setopt ($ch,CURLOPT_TIMEOUT,120);
curl_setopt ($ch,CURLOPT_MAXREDIRS,10);
curl_setopt ($ch,CURLOPT_COOKIEFILE,"cookie.txt");
curl_setopt ($ch,CURLOPT_COOKIEJAR,"cookie.txt");
curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
sleep(rand(30,45));
//sleep(rand(4,12));
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
$comment = ereg_replace('(.*)</em>', "", $result);
$comment = ereg_replace('</strong></span>(.*)', "", $comment);
$comment = ereg_replace('(.*)<strong>', "", $comment);
if(strpos($result,"nesmí být delší"))
$comment = 'Příliš dlouhý kod';
elseif(strlen($comment)>50)
$comment = '';
if(strpos($result,"Vyřízeno")) {
print "<strong>".get_application_number($data).": Ready (".$comment.")!</strong><br />";
if(strpos($result,"NEPOVOLENO"))
$mail = get_mail_check_negative($data);
else
$mail = get_mail_check_positive($data);
$mailer = new PHPMailer(); // create a new object
$mailer->CharSet = "UTF-8";
$mailer->IsSMTP(); // enable SMTP
$mailer->SMTPDebug = false; // debugging: 1 = errors and messages, 2 = messages only
$mailer->SMTPAuth = true; // authentication enabled
$mailer->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for Gmail
$mailer->Host = "smtp.gmail.com";
$mailer->Port = 587; // or 587
$mailer->IsHTML(false);
$mailer->Username = SITE_EMAIL_USERNAME;
$mailer->Password = SITE_EMAIL_PASSWORD;
$mailer->SetFrom(SITE_EMAIL,$global_vars['translation'][$data['language']]['site_name']);
$mailer->AddReplyTo(SITE_EMAIL_REPLYTO,$global_vars['translation'][$data['language']]['site_name']);
$mailer->Subject = $mail['subject'];
$mailer->Body = $mail['text'];
$mailer->AddAddress($data['email']);
if($data['email']!='') {
if($mailer->Send()) {
query("UPDATE `entries` SET `updated`=NOW(), `comment`='".$comment."', `status`=3 WHERE `id`=".$data['id']);
}
}
else {
query("UPDATE `entries` SET `updated`=NOW(), `comment`='".$comment."', `status`=3 WHERE `id`=".$data['id']);
}
//mail($data['email'],$mail['subject'],$mail['text'],$mail['headers']);
}
else {
query("UPDATE `entries` SET `updated`=NOW(), `comment`='".$comment."' WHERE `id`='".$data['id']."';");
if(($comment=="Nenalezeno") || ($comment=='Příliš dlouhý kod')) {
$mail = get_mail_check_not_found($data);
$mailer = new PHPMailer(); // create a new object
$mailer->CharSet = "UTF-8";
$mailer->IsSMTP(); // enable SMTP
$mailer->SMTPDebug = false; // debugging: 1 = errors and messages, 2 = messages only
$mailer->SMTPAuth = true; // authentication enabled
$mailer->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for Gmail
$mailer->Host = "smtp.gmail.com";
$mailer->Port = 587; // or 587
$mailer->IsHTML(false);
$mailer->Username = SITE_EMAIL_USERNAME;
$mailer->Password = SITE_EMAIL_PASSWORD;
$mailer->SetFrom(SITE_EMAIL,$global_vars['translation'][$data['language']]['site_name']);
$mailer->AddReplyTo(SITE_EMAIL_REPLYTO,$global_vars['translation'][$data['language']]['site_name']);
$mailer->Subject = $mail['subject'];
$mailer->Body = $mail['text'];
$mailer->AddAddress($data['email']);
if($mailer->Send()) {
query("UPDATE `entries` SET `status`='5' WHERE `id`='".$data['id']."';");
}
}
print get_application_number($data).": Not yet (".$comment.").<br />";
}
}
}
/////////////////////////////////////////////////////////////////////////////////////
function get_mail_outdate($data) {
global $global_vars;
$mail = array();
$mail['subject'] = $global_vars['translation'][$data['language']]['index_get_table_email_subject_1']." ".get_application_number($data)." ".$global_vars['translation'][$data['language']]['index_get_table_email_subject_2'];
$mail['subject'] = '=?UTF-8?B?'.base64_encode($mail['subject']).'?=';
$mail['text'] = $global_vars['translation'][$data['language']]['index_get_table_email_text_1']." ".get_application_number($data)." ".$global_vars['translation'][$data['language']]['index_get_table_email_text_2'];
$mail['headers'] = "From: ".$global_vars['translation'][$data['language']]['site_name']." <no-reply@povoleni.ru>\r\nReply-To: info@povoleni.ru\r\nMIME-Version: 1.0\r\nContent-type: text/plain; charset=UTF-8\r\n";
return $mail;
}
$result = query("SELECT * FROM `entries` WHERE ((DATE_ADD(`added`, INTERVAL 2 YEAR)<NOW()) OR (`year`<YEAR(DATE_SUB(NOW(), INTERVAL 2 YEAR)))) AND `status`=2 LIMIT 1;");
if(mysql_num_rows($result)>0) {
while($data = mysql_fetch_array($result)) {
$mail = get_mail_outdate($data);
//mail($data['email'],$mail['subject'],$mail['text'],$mail['headers']);
$mailer = new PHPMailer(); // create a new object
$mailer->CharSet = "UTF-8";
$mailer->IsSMTP(); // enable SMTP
$mailer->SMTPDebug = false; // debugging: 1 = errors and messages, 2 = messages only
$mailer->SMTPAuth = true; // authentication enabled
$mailer->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for Gmail
$mailer->Host = "smtp.gmail.com";
$mailer->Port = 587; // or 587
$mailer->IsHTML(false);
$mailer->Username = SITE_EMAIL_USERNAME;
$mailer->Password = SITE_EMAIL_PASSWORD;
$mailer->SetFrom(SITE_EMAIL,$global_vars['translation'][$data['language']]['site_name']);
$mailer->AddReplyTo(SITE_EMAIL_REPLYTO,$global_vars['translation'][$data['language']]['site_name']);
$mailer->Subject = $mail['subject'];
$mailer->Body = $mail['text'];
$mailer->AddAddress($data['email']);
if($mailer->Send())
query("UPDATE `entries` SET `status`=4 WHERE `id`='".$data['id']."';");
}
}
?>