Your IP : 216.73.216.170


Current Path : /home/bitrix/ext_www/vebmarket.yacl.site/
Upload File :
Current File : /home/bitrix/ext_www/vebmarket.yacl.site/oktest.php

<?
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");

?>
*/?>