16 if(!Loader::includeModule(
"lists"))
19 $className = get_class($this);
20 $option = Option::get(
"lists", $className, 0);
26 $queryObject = PropertyTable::getList(
array(
27 "select" =>
array(
"ID",
"IBLOCK_ID",
"USER_TYPE_SETTINGS"),
28 "filter" =>
array(
"=USER_TYPE" =>
"ECrm")
30 $listIblockId =
array();
31 $listPropertyId =
array();
32 while($property = $queryObject->fetch())
34 if(is_string($property[
"USER_TYPE_SETTINGS"]) &&
CheckSerializedData($property[
"USER_TYPE_SETTINGS"]))
36 $property[
"USER_TYPE_SETTINGS"] = unserialize($property[
"USER_TYPE_SETTINGS"], [
'allowed_classes' =>
false]);
38 if(is_array($property[
"USER_TYPE_SETTINGS"]))
40 if(array_key_exists(
"VISIBLE", $property[
"USER_TYPE_SETTINGS"]))
41 unset($property[
"USER_TYPE_SETTINGS"][
"VISIBLE"]);
42 $tmpArray = array_filter($property[
"USER_TYPE_SETTINGS"],
function($mark) {
return $mark ==
"Y"; });
43 if(
count($tmpArray) == 1)
45 $listIblockId[] = intval($property[
"IBLOCK_ID"]);
46 $listPropertyId[$property[
"IBLOCK_ID"]][] = intval($property[
"ID"]);
51 $connection = Application::getInstance()->getConnection();
52 $listIblockIdS = implode(
",", $listIblockId);
53 if(empty($listIblockIdS))
58 $sqlString =
"SELECT ID, IBLOCK_ID FROM b_iblock_element WHERE IBLOCK_ID IN (".$listIblockIdS
59 .
") ORDER BY ID ASC LIMIT ".$limit.
" OFFSET ".
$result[
"steps"];
61 $listElement = $queryObject->fetchAll();
62 $selectedRowsCount = $queryObject->getSelectedRowsCount();
63 $listElementData =
array();
64 foreach($listElement as $element)
66 $listElementData[$element[
"IBLOCK_ID"]][] = $element[
"ID"];
69 foreach($listElementData as
$iblockId => $listElementId)
71 $queryObject = \CIblockElement::getPropertyValues(
73 while($propertyValues = $queryObject->fetch())
84 $listPropertyValues =
array();
89 $explode = explode(
'_', $value);
90 $listPropertyValues[] = intval($explode[1]);
105 if($isDamaged && $propertyId)
107 \CIBlockElement::setPropertyValues(
114 if($selectedRowsCount < $limit)
116 Option::delete(
"lists",
array(
"name" => $className));
123 Option::set(
"lists", $className,
$option);