Your IP : 216.73.216.170
<?
if (!$_SERVER["DOCUMENT_ROOT"])
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__));
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);
set_time_limit(0);
use Bitrix\Main\Application;
use Bitrix\Main\Loader;
use Bitrix\Highloadblock\HighloadBlockTable;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
Loader::IncludeModule("highloadblock");
$USER->Authorize(1);
// $helper = new HighloadBlockHelper(Veb\Market::getBlockId('company'));
// $res = $helper->getList([
// 'filter' => ['%UF_NAME' => 'ао'],
// 'select' => ['UF_NAME'],
// // 'limit' => 100
// ]);
// while ($item = $res->fetch()) {
// echo sprintf('%04d', ++$count) . ': ' . $item['UF_NAME'] . ' -> ' . makeFirstLetterUpper($item['UF_NAME']) . "<br>";
// }
//okp($res->fetchAll());
/*
$ElementsCount = intval($argv[1]);
$SpecCount = intval($argv[2]);
$time_update = 0.0;
$time_start = microtime(true);
$added=0;
$errors=0;
$okvedEnumFound=0;
$notitle = 0;
$nookved = 0;
$HLBLOCK_ID = 12;
$hlblock = \Bitrix\Highloadblock\HighloadBlockTable::getById($HLBLOCK_ID)->fetch();
$entity = \Bitrix\Highloadblock\HighloadBlockTable::compileEntity($hlblock);
$entityDataClass = $entity->getDataClass();
$connection = Bitrix\Main\Application::getConnection();
$arEnum = array(
'UF_KINDS_OF_WORK' => array(),
'UF_CONSTRUCTION_TYPE' => array(),
'UF_REGIONS' => array(),
);
$okvedToEnum = array();
foreach(array_keys($arEnum) as $propCode)
{
$rsEntity = \CUserTypeEntity::GetList(array(),array(
"ENTITY_ID"=>"HLBLOCK_".$HLBLOCK_ID,
"FIELD_NAME"=>$propCode,
));
if($arEntity = $rsEntity->Fetch())
{
if($arEntity["USER_TYPE_ID"]!="enumeration")
continue;
$rsType = \CUserFieldEnum::GetList(array(), array(
"USER_FIELD_ID" => $arEntity["ID"],
));
while($arType = $rsType->Fetch())
{
if($propCode=='UF_KINDS_OF_WORK')
{
$curOkveds = array();
foreach(explode(',',$arType["XML_ID"]) as $okved)
{
$okved = trim($okved);
if(!array_key_exists($okved, $okvedToEnum))
$okvedToEnum[$okved] = array();
$okvedToEnum[$okved][] = $arType["ID"];
}
}
$arEnum[$arEntity["FIELD_NAME"]][] = $arType["ID"];
}
}
}
$locusdb = Application::getConnection('locus');
$locusdb->query("SET NAMES 'utf8'");
$locusdb->query("SET CHARACTER SET 'utf8'");
$r = $locusdb->query("SELECT * FROM company_base WHERE id = 228747");
$arMeaningfulAddressFields = array("index","region","district","city","locality","street","house","flat");
while($company=$r->fetch())
{
// okp($company);
// die();
$arOkved = array();
if($company["okved_main"])
$arOkved[] = $company["okved_main"];
$o = $locusdb->query('SELECT * FROM company_okved WHERE company_id='.intval($company['id']));
while($okved=$o->fetch())
{
$arOkved[] = $okved['okved'];
}
// okp($arOkved);
// die();
if(count($arOkved)<=0)
$nookved++;
//print_r($company); print_r($arOkved); break;
$okvedEnum = array();
$okvedEnumTags = '';
foreach($arOkved as $okved)
{
if(!is_array($okvedToEnum[$okved]))
continue;
foreach($okvedToEnum[$okved] as $curEnum)
if(!in_array($curEnum, $okvedEnum))
{
$okvedEnum[] = $curEnum;
$okvedEnumTags .= ($okvedEnumTags?" ":"")."ENUM".$curEnum;
}
}
if($okvedEnum)
$okvedEnumFound++;
$address = "";
$arAddress = json_decode($company["address_mail"],true);
if(is_array($arAddress))
{
if(array_key_exists("fullstring", $arAddress) && strlen($arAddress["fullstring"])>0)
{
$address = $arAddress["fullstring"];
}
else
{
foreach($arMeaningfulAddressFields as $key)
{
if(!array_key_exists($key, $arAddress))
continue;
if(
(is_array($arAddress[$key]) && count($arAddress[$key])<=0)
|| (!is_array($arAddress[$key]) && strlen($arAddress[$key])<=0)
)
continue;
$address .= ($address?", ":"").(is_array($arAddress[$key])?implode(", ",$arAddress[$key]):$arAddress[$key]);
}
}
}
$title = $company["title_short"]?$company["title_short"]:$company["title_full"];
if(!$title)
{
$notitle++;
continue;
}
$arFields = Array(
"UF_LOCUS_ID" => $company["id"],
"UF_NAME" => $title,
"UF_PREVIEW_TEXT" => "",
"UF_DETAIL_TEXT" => "",
"UF_ADDRESS" => $address,
"UF_EMAIL" => "",
"UF_PHONE" => "",
"UF_URL" => "",
"UF_INN" => $company["inn"],
"UF_KINDS_OF_WORK" => $okvedEnum,
"UF_ENUM_TAGS" => $okvedEnumTags,
);
if($result=$entityDataClass::add($arFields))
{
$ELEMENT_ID = $result->getId();
if(!$ELEMENT_ID)
{
$errors++;
}
else
$added++;
}
else
{
$errors++;
}
}
$time_end = microtime(true);
echo "Добавлено ".$added." компаний (ошибок: ".$errors.", без названий: ".$notitle.", без оквэдов: ".$nookved."), из них у ".$okvedEnumFound." есть совпадение по ОКВЭД, затрачено времени: ".gmdate("H:i:s",ceil($time_end - $time_start))."\n";
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
//okp(ProjectPartnership::getAllStatuses());
//ProjectPartnership::setStatus(133, 858938, 'DECLINED', true);
//okp(ProjectPartnership::getCounter('858938'));
//ProjectPartnership::removePartnership(135);
//okp(CCurrencyLang::CurrencyFormat('123456789', 'RUB', true));
//$api = new Veb\Locus;
//$params = [
// "companyIds" => [
// 2
// ],
// 'isInn' => false
//];
//$ratingLocus = $api->queryCurl('/company/rows/slow-data', 'POST', $params);
//okp($ratingLocus);
//
// $locusdb = Bitrix\Main\Application::getConnection('locus');
// $locusdb->query("SET NAMES 'utf8'");
// $locusdb->query("SET CHARACTER SET 'utf8'");
// //$extraOkvedString = '(' . "'" . implode("', '", $arResult['locusExtraData']['additionalOkveds']) . "'" . ')';
// $res = $locusdb->query('select * from okved_data');
// while ($okved = $res->fetch()) {
// $fields = [
// 'UF_CODE' => $okved['code'],
// 'UF_TITLE' => $okved['title'],
// ];
// $blockRes = $helper->add($fields);
// okp($blockRes->getId());
// }
?>
<?//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");
?>
*/?>