Your IP : 216.73.216.170
<?
require($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
function str_or_dash($str)
{
$res = HTMLToTxt(trim($str), 'https://historydepositarium.ru', array(), false);
return strlen($str) > 0 ? $str : '-';
}
function text_clean($str)
{
return html_entity_decode(preg_replace("~\s*[\r\n]+\s*~im", "\r\n", $str));
}
$arID = array();
foreach (array_diff(scandir('./vector'), array('..', '.')) as $d)
{
foreach (array_diff(scandir("./vector/{$d}"), array('..', '.')) as $sd)
{
$arID[] = intval($sd);
}
}
if (count($arID) > 4000)
{
die("<h1>Обработка завершена (".count($arID).") @ ".date('c')."</h1>");
}
$page = intval($_REQUEST['page']) > 0 ? intval($_REQUEST['page']) : 1;
header('refresh: 5;url=/export-4k.php?page='.($page + 1));
CModule::IncludeModule("iblock");
$srt = array('ID' => 'DESC');
$flt = array('IBLOCK_ID' => 1, 'PROPERTY_STATUS' => 2, '!NAME' => false, '!PROPERTY_DESCRIPTION' => false, '!PROPERTY_FILE' => false);
$nav = array('nPageSize' => 500, 'iNumPage' => $page);
$sel = array('ID', 'NAME', 'PROPERTY_SURNAME', 'PROPERTY_NAME', 'PROPERTY_PATRONYMIC',
'PROPERTY_BORN_DATE', 'PROPERTY_DEATH_DATE', 'PROPERTY_CITY', 'PROPERTY_DESCRIPTION',
'PROPERTY_FILE');
$db = CIBlockElement::GetList($srt, $flt, false, $nav, $sel);
print("<h1>Обработка @ ".date('c')." страница {$page} готово ".count($arID)."</h1>");
while ($elm = $db->GetNext(false, false))
{
if (!in_array($elm['ID'], $arID) && intval($elm['PROPERTY_FILE_VALUE']) > 0 && strlen($elm['PROPERTY_DESCRIPTION_VALUE']['TEXT']) > 1500)
{
print("<p>{$elm['ID']} {$elm['NAME']}</p>");
$dir = './vector/'.substr(strtoupper(trim($elm['NAME'])), 0, 1)."/{$elm['ID']} {$elm['NAME']}";
if (!file_exists($dir)) mkdir($dir, 0755, true);
$name = Cutil::translit($elm['NAME'], 'ru', ['replace_space'=>'-', 'replace_other'=>'-']);
$text = "ФИО:\r\n".str_or_dash($elm['NAME']);
$text .= "\r\n\r\nФАМИЛИЯ:\r\n".str_or_dash($elm['PROPERTY_SURNAME_VALUE']);
$text .= "\r\n\r\nИМЯ:\r\n".str_or_dash($elm['PROPERTY_NAME_VALUE']);
$text .= "\r\n\r\nОТЧЕСТВО:\r\n".str_or_dash($elm['PROPERTY_PATRONYMIC_VALUE']);
$text .= "\r\n\r\nГОРОД:\r\n".str_or_dash($elm['PROPERTY_CITY_VALUE']);
$text .= "\r\n\r\nДАТА РОЖДЕНИЯ:\r\n".str_or_dash($elm['PROPERTY_BORN_DATE_VALUE']);
$text .= "\r\n\r\nДАТА СМЕРТИ:\r\n".str_or_dash($elm['PROPERTY_DEATH_DATE_VALUE']);
$text .= "\r\n\r\nИСТОРИЯ:\r\n".str_or_dash(text_clean($elm['PROPERTY_DESCRIPTION_VALUE']['TEXT']));
file_put_contents("{$dir}/{$name}.txt", $text);
$img = CFile::GetPath($elm['PROPERTY_FILE_VALUE']);
$parts = pathinfo($img);
copy(".{$img}", "{$dir}/{$name}.{$parts['extension']}");
}
}
?>