HEX
Server: Apache/2.4.59 (Debian)
System: Linux skycube.cz 4.19.0-25-amd64 #1 SMP Debian 4.19.289-2 (2023-08-08) x86_64
User: ilya (534)
PHP: 7.3.31-1~deb10u7
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
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']."';");
	}
}

?>