Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/vf.yacl.site/
Upload File :
Current File : /home/bitrix/ext_www/vf.yacl.site/tool_polk_import.php

<?
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');

die("ДСП =(((");

header("Content-Type: text/html; charset=" . SITE_CHARSET);
header("Pragma: no-cache");

$page = intval($_REQUEST['page']) > 0 ? intval($_REQUEST['page']) : 1;

print("<h1>P #{$page}</h1>");

$res = $DB->Query("select code from polk", true);
if ($res === false) die("<p>Коды не читаются =(</p>");
$arcode = array();
while ($row = $res->Fetch()) $arcode[] = $row['code'];

//die("<pre>".print_r($arcode, true)."</pre><p>TBC =)</p>");

$src = file_get_contents("https://polkrf.ru/vexport/{$page}");
if ($src === false) die("<p>Исходник не читается =(</p>");
$data = json_decode($src, true);

//die("<pre>".print_r($data, true)."</pre><p>TBC =)</p>");

$pimage = null;
$num = 0; $err = 0;
foreach ($data as $item)
{
	$fname = trim($item['first_name'], " \t\n\r\0\x0B");
	$lname = trim($item['last_name'], " \t\n\r\0\x0B");
	$mname = trim($item['patronymic_name'], " \t\n\r\0\x0B");
	$bdate = str_replace(array('????', '??'), array('0000', '01'), trim($item['birth'], " \t\n\r\0\x0B"));
	$ddate = str_replace(array('????', '??'), array('0000', '01'), trim($item['death'], " \t\n\r\0\x0B"));
	$bplace = trim($item['birth_place'], " \t\n\r\0\x0B");
	$text = HTMLToTxt(trim($item['text'], " \t\n\r\0\x0B"));
	$image = trim($item['image'], " \t\n\r\0\x0B");
	if ($image == $pimage) { $image = null; } else { $pimage = $image; }
	$code = md5($lname.$fname.$mname.$bdate.$ddate.$bplace.$text.$image);
	if (!in_array($code, $arcode))
	{
		$arcode[] = $code;
		print("<h3>[{$lname}] [{$fname}] [{$mname}]</h3>");
		$sql = "insert into polk
		(code,
			lname,
			fname,
			mname,
			bdate,
			ddate,
			bplace,
			text,
			image)
		values ('".$DB->ForSql($code)."',
		'".$DB->ForSql($lname)."',
		'".$DB->ForSql($fname)."',
		'".$DB->ForSql($mname)."',
		'".$DB->ForSql($bdate)."',
		'".$DB->ForSql($ddate)."',
		'".$DB->ForSql($bplace)."',
		'".$DB->ForSql($text)."',
		'".$DB->ForSql($image)."')";
		$res = $DB->Query($sql, true);
		if ($res === false)
		{
			print("<p>Запись не вставляется =(</p>");
			$err++;
		}
		else
		{
			$num++;
		}
		//die("<pre>".print_r($res, true)."</pre><p>TBC =)</p>");
		//print("<p>[{$bdate}] [{$ddate}]</p>");
		//print("<p>[{$bplace}]</p>");
		//print("<p>[{$text}]</p>");
		//print("<p>[{$image}]</p>");
		//print("<p>[{$code}]</p>");
	}
}

print("<p>Готово! Успешно {$num}, с ошибками {$err}</p>");
?>