1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
iblock.php
См. документацию.
1<?php
2
4
5if(!defined("CACHED_b_iblock_type")) define("CACHED_b_iblock_type", 36000);
6if(!defined("CACHED_b_iblock")) define("CACHED_b_iblock", 36000);
7if(!defined("CACHED_b_iblock_bucket_size")) define("CACHED_b_iblock_bucket_size", 20);
8if(!defined("CACHED_b_iblock_property_enum")) define("CACHED_b_iblock_property_enum", 36000);
9if(!defined("CACHED_b_iblock_property_enum_bucket_size")) define("CACHED_b_iblock_property_enum_bucket_size", 100);
10
11require_once __DIR__.'/autoload.php';
12
26function GetIBlockListWithCnt($type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort" => "asc"), $cnt = 0)
27{
28 return GetIBlockListLang(SITE_ID, $type, $arTypesInc, $arTypesExc, $arOrder, $cnt, true);
29}
30
42function GetIBlockList($type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort" => "asc"), $cnt = 0)
43{
44 return GetIBlockListLang(SITE_ID, $type, $arTypesInc, $arTypesExc, $arOrder, $cnt);
45}
46
60function GetIBlockListLang($lang, $type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("SORT" => "ASC"), $cnt = 0, $bCountActive = false)
61{
62 $arIDsInc = array();
63 $arCODEsInc = array();
64 if (is_array($arTypesInc))
65 {
66 foreach ($arTypesInc as $i)
67 {
68 if (intval($i) > 0)
69 $arIDsInc[] = $i;
70 else
71 $arCODEsInc[] = $i;
72 }
73 }
74 elseif (intval($arTypesInc) > 0)
75 {
76 $arIDsInc[] = $arTypesInc;
77 }
78 else
79 {
80 $arCODEsInc[] = $arTypesInc;
81 }
82
83 $arIDsExc = array();
84 $arCODEsExc = array();
85 if (is_array($arTypesExc))
86 {
87 foreach ($arTypesExc as $i)
88 {
89 if (intval($i) > 0)
90 $arIDsExc[] = $i;
91 else
92 $arCODEsExc[] = $i;
93 }
94 }
95 elseif (intval($arTypesExc) > 0)
96 {
97 $arIDsExc[] = $arTypesExc;
98 }
99 else
100 {
101 $arCODEsExc[] = $arTypesExc;
102 }
103
104 $res = CIBlock::GetList($arOrder, array(
105 "type" => $type,
106 "LID" => $lang,
107 "ACTIVE" => "Y",
108 "CNT_ACTIVE" => $bCountActive? "Y": "N",
109 "ID" => $arIDsInc,
110 "CODE" => $arCODEsInc,
111 "!ID" => $arIDsExc,
112 "!CODE" => $arCODEsExc,
113 ), $bCountActive);
114
115 $dbr = new CIBlockResult($res);
116 if ($cnt > 0)
117 $dbr->NavStart($cnt);
118
119 return $dbr;
120}
121
130function GetIBlock($ID, $type = "")
131{
132 return GetIBlockLang(SITE_ID, $ID, $type);
133}
134
145{
146 $res = CIBlock::GetList(array(), array(
147 "ID" => intval($ID),
148 "TYPE" => $type,
149 "LID" => $lang,
150 "ACTIVE" => "Y",
151 ));
152 if ($res)
153 {
154 $res = new CIBlockResult($res);
155 return $res->GetNext();
156 }
157 else
158 {
159 return false;
160 }
161}
162
178function GetIBlockElementListEx($type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort"=>"asc"), $cnt = 0, $arFilter = array(), $arSelect = array(), $arGroupBy = false)
179{
180 return GetIBlockElementListExLang(SITE_ID, $type, $arTypesInc, $arTypesExc, $arOrder, $cnt, $arFilter, $arSelect, $arGroupBy);
181}
182
196function GetIBlockElementCountEx($type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort"=>"asc"), $cnt = 0, $arFilter = array())
197{
198 return GetIBlockElementListExLang(SITE_ID, $type, $arTypesInc, $arTypesExc, $arOrder, 0, $arFilter, false, array());
199}
200
215function GetIBlockElementCountExLang($lang, $type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort"=>"asc"), $cnt = 0, $arFilter = array())
216{
217 return GetIBlockElementListExLang($lang, $type, $arTypesInc, $arTypesExc, $arOrder, 0, $arFilter, false, array());
218}
219
236function GetIBlockElementListExLang($lang, $type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort"=>"asc"), $cnt = 0, $arFilter = array(), $arSelect = array(), $arGroupBy = false)
237{
238 $filter = _GetIBlockElementListExLang_tmp($lang, $type, $arTypesInc, $arTypesExc, $arOrder, $cnt, $arFilter);
239
240 if(is_array($cnt))
241 $arNavParams = $cnt; //array("nPageSize"=>$cnt, "bShowAll"=>false);
242 elseif($cnt > 0)
243 $arNavParams = array("nTopCount"=>$cnt);
244 else
245 $arNavParams = false;
246
247 return CIBlockElement::GetList($arOrder, $filter, $arGroupBy, $arNavParams, $arSelect);
248}
249
264function _GetIBlockElementListExLang_tmp($lang, $type, $arTypesInc = array(), $arTypesExc = array(), $arOrder = array("sort" => "asc"), $cnt = 0, $arFilter = array(), $arSelect = array())
265{
266 $arIDsInc = array();
267 $arCODEsInc = array();
268 if (is_array($arTypesInc))
269 {
270 foreach ($arTypesInc as $i)
271 {
272 if (intval($i) > 0)
273 $arIDsInc[] = $i;
274 else
275 $arCODEsInc[] = $i;
276 }
277 }
278 elseif (intval($arTypesInc) > 0)
279 {
280 $arIDsInc[] = $arTypesInc;
281 }
282 elseif ($arTypesInc !== false)
283 {
284 $arCODEsInc[] = $arTypesInc;
285 }
286
287 $arIDsExc = array();
288 $arCODEsExc = array();
289 if (is_array($arTypesExc))
290 {
291 foreach ($arTypesExc as $i)
292 {
293 if (intval($i) > 0)
294 $arIDsExc[] = $i;
295 else
296 $arCODEsExc[] = $i;
297 }
298 }
299 elseif (intval($arTypesExc) > 0)
300 {
301 $arIDsExc[] = $arTypesExc;
302 }
303 elseif ($arTypesInc !== false)
304 {
305 $arCODEsExc[] = $arTypesExc;
306 }
307
308 $filter = array(
309 "IBLOCK_ID" => $arIDsInc,
310 "IBLOCK_LID" => $lang,
311 "IBLOCK_ACTIVE" => "Y",
312 "IBLOCK_CODE" => $arCODEsInc,
313 "!IBLOCK_ID" => $arIDsExc,
314 "!IBLOCK_CODE" => $arCODEsExc,
315 "ACTIVE_DATE" => "Y",
316 "ACTIVE" => "Y",
317 "CHECK_PERMISSIONS" => "Y",
318 );
319 if ($type != false && $type <> '')
320 $filter["IBLOCK_TYPE"] = $type;
321
322 if (is_array($arFilter) && count($arFilter) > 0)
323 $filter = array_merge($filter, $arFilter);
324
325 return $filter;
326}
327
338function GetIBlockElementCount($IBLOCK, $SECTION_ID = false, $arOrder = array("sort"=>"asc"), $cnt = 0)
339{
340 $filter = array(
341 "IBLOCK_ID" => intval($IBLOCK),
342 "ACTIVE_DATE" => "Y",
343 "ACTIVE" => "Y",
344 "CHECK_PERMISSIONS" => "Y",
345 );
346 if ($SECTION_ID !== false)
347 $filter["SECTION_ID"] = intval($SECTION_ID);
348 return CIBlockElement::GetList($arOrder, $filter, true);
349}
350
363function GetIBlockElementList($IBLOCK, $SECTION_ID = false, $arOrder = array("sort"=>"asc"), $cnt = 0, $arFilter = array(), $arSelect = array())
364{
365 $filter = array(
366 "IBLOCK_ID" => intval($IBLOCK),
367 "ACTIVE_DATE" => "Y",
368 "ACTIVE" => "Y",
369 "CHECK_PERMISSIONS" => "Y",
370 );
371 if ($SECTION_ID !== false)
372 $filter["SECTION_ID"]=intval($SECTION_ID);
373
374 if (is_array($arFilter) && !empty($arFilter))
375 $filter = array_merge($filter, $arFilter);
376
377 $dbr = CIBlockElement::GetList($arOrder, $filter, false, false, $arSelect);
378 if ($cnt > 0)
379 $dbr->NavStart($cnt);
380
381 return $dbr;
382}
383
394{
395 $filter = array(
396 "ID" => intval($ID),
397 "ACTIVE_DATE" => "Y",
398 "ACTIVE" => "Y",
399 "CHECK_PERMISSIONS" => "Y",
400 );
401 if ($TYPE != "")
402 $filter["IBLOCK_TYPE"] = $TYPE;
403
404 $iblockElement = CIBlockElement::GetList(array(), $filter);
405 if($obIBlockElement = $iblockElement->GetNextElement())
406 {
407 $arIBlockElement = $obIBlockElement->GetFields();
408 if ($arIBlock = GetIBlock($arIBlockElement["IBLOCK_ID"], $TYPE))
409 {
410 $arIBlockElement["IBLOCK_ID"] = $arIBlock["ID"];
411 $arIBlockElement["IBLOCK_NAME"] = $arIBlock["NAME"];
412 $arIBlockElement["~IBLOCK_NAME"] = $arIBlock["~NAME"];
413 $arIBlockElement["PROPERTIES"] = $obIBlockElement->GetProperties();
414 return $arIBlockElement;
415 }
416 }
417 return false;
418}
419
431function GetIBlockSectionListWithCnt($IBLOCK, $SECT_ID = false, $arOrder = array("left_margin"=>"asc"), $cnt = 0, $arFilter = array())
432{
433 $filter = array(
434 "IBLOCK_ID" => intval($IBLOCK),
435 "ACTIVE" => "Y",
436 "CNT_ACTIVE" => "Y",
437 );
438 if ($SECT_ID !== false)
439 $filter["SECTION_ID"] = intval($SECT_ID);
440
441 if (is_array($arFilter) && !empty($arFilter))
442 $filter = array_merge($filter, $arFilter);
443
444 $dbr = CIBlockSection::GetList($arOrder, $filter, true);
445 if($cnt > 0)
446 $dbr->NavStart($cnt);
447
448 return $dbr;
449}
450
462function GetIBlockSectionList($IBLOCK, $SECT_ID = false, $arOrder = array("left_margin"=>"asc"), $cnt = 0, $arFilter = array())
463{
464 $filter = array(
465 "IBLOCK_ID" => intval($IBLOCK),
466 "ACTIVE" => "Y",
467 "IBLOCK_ACTIVE" => "Y",
468 );
469 if ($SECT_ID !== false)
470 $filter["SECTION_ID"] = intval($SECT_ID);
471
472 if(is_array($arFilter) && !empty($arFilter))
473 $filter = array_merge($filter, $arFilter);
474
475 $dbr = CIBlockSection::GetList($arOrder, $filter);
476 if ($cnt > 0)
477 $dbr->NavStart($cnt);
478
479 return $dbr;
480}
481
491{
492 $ID = intval($ID);
493 if($ID > 0)
494 {
495 $iblockSection = CIBlockSection::GetList(array(), array(
496 "ID" => $ID,
497 "ACTIVE" => "Y",
498 ));
499 if($arIBlockSection = $iblockSection->GetNext())
500 {
501 if($arIBlock = GetIBlock($arIBlockSection["IBLOCK_ID"], $TYPE))
502 {
503 $arIBlockSection["IBLOCK_ID"] = $arIBlock["ID"];
504 $arIBlockSection["IBLOCK_NAME"] = $arIBlock["NAME"];
505 return $arIBlockSection;
506 }
507 }
508 }
509 return false;
510}
511
520function GetIBlockSectionPath($IBLOCK_ID, $SECTION_ID)
521{
522 return CIBlockSection::GetNavChain($IBLOCK_ID, $SECTION_ID);
523}
524
532{
533 $data = trim($data);
534 $values = $index = $array = array();
535 $parser = xml_parser_create();
536 xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
537 xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
538 xml_parse_into_struct($parser, $data, $values, $index);
539 xml_parser_free($parser);
540
541 $i = 0;
542
543 $tagName = $values[$i]['tag'];
544 if (isset($values[$i]['attributes']))
545 $array[$tagName]['@'] = $values[$i]['attributes'];
546 else
547 $array[$tagName]['@'] = array();
548
549 $array[$tagName]["#"] = xml_depth_rss($values, $i);
550
551 return $array;
552}
553
561function xml_depth_rss($values, &$i)
562{
563 $children = array();
564
565 if (isset($values[$i]['value']))
566 array_push($children, $values[$i]['value']);
567
568 while (++$i < count($values))
569 {
570 switch ($values[$i]['type'])
571 {
572 case 'open':
573 if (isset($values[$i]['tag']))
574 $tagName = $values[$i]['tag'];
575 else
576 $tagName = '';
577
578 if (isset($children[$tagName]))
579 $size = sizeof($children[$tagName]);
580 else
581 $size = 0;
582
583 if (isset($values[$i]['attributes']))
584 $children[$tagName][$size]['@'] = $values[$i]["attributes"];
585
586 $children[$tagName][$size]['#'] = xml_depth_rss($values, $i);
587 break;
588
589 case 'cdata':
590 array_push($children, $values[$i]['value']);
591 break;
592
593 case 'complete':
594 $tagName = $values[$i]['tag'];
595
596 if(isset($children[$tagName]))
597 $size = sizeof($children[$tagName]);
598 else
599 $size = 0;
600
601 if(isset($values[$i]['value']))
602 $children[$tagName][$size]["#"] = $values[$i]['value'];
603 else
604 $children[$tagName][$size]["#"] = '';
605
606 if (isset($values[$i]['attributes']))
607 $children[$tagName][$size]['@'] = $values[$i]['attributes'];
608 break;
609
610 case 'close':
611 return $children;
612 break;
613 }
614
615 }
616
617 return $children;
618}
619
632function GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter = false, $onChangeType = '', $onChangeIBlock = '', $strAddType = '', $strAddIBlock = '')
633{
634 $html = '';
635
636 static $arTypesAll = array();
637 static $arTypes = array();
638 static $arIBlocks = array();
639
640 if(!is_array($arFilter))
641 $arFilter = array();
642 if (!array_key_exists('MIN_PERMISSION',$arFilter) || trim($arFilter['MIN_PERMISSION']) == '')
643 $arFilter["MIN_PERMISSION"] = "W";
644 $filterId = md5(serialize($arFilter));
645
646 if(!isset($arTypes[$filterId]))
647 {
648 $arTypes[$filterId] = array(0 => GetMessage("IBLOCK_CHOOSE_IBLOCK_TYPE"));
649 $arIBlocks[$filterId] = array(0 => array(''=>GetMessage("IBLOCK_CHOOSE_IBLOCK")));
650
651 $rsIBlocks = CIBlock::GetList(array("IBLOCK_TYPE" => "ASC", "NAME" => "ASC"), $arFilter);
652 while($arIBlock = $rsIBlocks->Fetch())
653 {
654 $tmpIBLOCK_TYPE_ID = $arIBlock["IBLOCK_TYPE_ID"];
655 if(!array_key_exists($tmpIBLOCK_TYPE_ID, $arTypesAll))
656 {
657 $arType = CIBlockType::GetByIDLang($tmpIBLOCK_TYPE_ID, LANG);
658 $arTypesAll[$arType["~ID"]] = $arType["~NAME"]." [".$arType["~ID"]."]";
659 }
660 if(!array_key_exists($tmpIBLOCK_TYPE_ID, $arTypes[$filterId]))
661 {
662 $arTypes[$filterId][$tmpIBLOCK_TYPE_ID] = $arTypesAll[$tmpIBLOCK_TYPE_ID];
663 $arIBlocks[$filterId][$tmpIBLOCK_TYPE_ID] = array(0 => GetMessage("IBLOCK_CHOOSE_IBLOCK"));
664 }
665 $arIBlocks[$filterId][$tmpIBLOCK_TYPE_ID][$arIBlock["ID"]] = $arIBlock["NAME"]." [".$arIBlock["ID"]."]";
666 }
667
668 $html .= '
669 <script>
670 function OnType_'.$filterId.'_Changed(typeSelect, iblockSelectID)
671 {
672 var arIBlocks = '.CUtil::PhpToJSObject($arIBlocks[$filterId]).';
673 var iblockSelect = BX(iblockSelectID);
674 if(!!iblockSelect)
675 {
676 for(var i=iblockSelect.length-1; i >= 0; i--)
677 iblockSelect.remove(i);
678 for(var j in arIBlocks[typeSelect.value])
679 {
680 var newOption = new Option(arIBlocks[typeSelect.value][j], j, false, false);
681 iblockSelect.options.add(newOption);
682 }
683 }
684 }
685 </script>
686 ';
687 }
688
689 $IBLOCK_TYPE = false;
690 if($IBLOCK_ID > 0)
691 {
692 foreach($arIBlocks[$filterId] as $iblock_type_id => $iblocks)
693 {
694 if(array_key_exists($IBLOCK_ID, $iblocks))
695 {
696 $IBLOCK_TYPE = $iblock_type_id;
697 break;
698 }
699 }
700 }
701
702 $htmlTypeName = htmlspecialcharsbx($strTypeName);
703 $htmlIBlockName = htmlspecialcharsbx($strIBlockName);
704 $onChangeType = 'OnType_'.$filterId.'_Changed(this, \''.CUtil::JSEscape($strIBlockName).'\');'.$onChangeType.';';
705 $onChangeIBlock = trim($onChangeIBlock);
706
707 $html .= '<select name="'.$htmlTypeName.'" id="'.$htmlTypeName.'" onchange="'.htmlspecialcharsbx($onChangeType).'" '.$strAddType.'>'."\n";
708 foreach($arTypes[$filterId] as $key => $value)
709 {
710 if($IBLOCK_TYPE === false)
711 $IBLOCK_TYPE = $key;
712 $html .= '<option value="'.htmlspecialcharsbx($key).'"'.($IBLOCK_TYPE===$key? ' selected': '').'>'.htmlspecialcharsEx($value).'</option>'."\n";
713 }
714 $html .= "</select>\n";
715 $html .= "&nbsp;\n";
716 $html .= '<select name="'.$htmlIBlockName.'" id="'.$htmlIBlockName.'"'.($onChangeIBlock != ''? ' onchange="'.htmlspecialcharsbx($onChangeIBlock).'"': '').' '.$strAddIBlock.'>'."\n";
717 foreach($arIBlocks[$filterId][$IBLOCK_TYPE] as $key => $value)
718 {
719 $html .= '<option value="'.htmlspecialcharsbx($key).'"'.($IBLOCK_ID==$key? ' selected': '').'>'.htmlspecialcharsEx($value).'</option>'."\n";
720 }
721 $html .= "</select>\n";
722
723 return $html;
724}
725
737function GetIBlockDropDownList($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter = false, $strAddType = '', $strAddIBlock = '')
738{
739 if(!is_array($arFilter))
740 $arFilter = array();
741 $arFilter["MIN_PERMISSION"] = "W";
742
743 return GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter, '', '', $strAddType, $strAddIBlock);
744}
745
760function ImportXMLFile($file_name, $iblock_type="-", $site_id='', $section_action="D", $element_action="D", $use_crc=false, $preview=false, $sync=false, $return_last_error=false, $return_iblock_id=false)
761{
763 global $APPLICATION;
764 $ABS_FILE_NAME = false;
765
766 if($file_name <> '')
767 {
768 if(
769 file_exists($file_name)
770 && is_file($file_name)
771 && (
772 mb_substr($file_name, -4) === ".xml"
773 || mb_substr($file_name, -7) === ".tar.gz"
774 )
775 )
776 {
777 $ABS_FILE_NAME = $file_name;
778 }
779 else
780 {
781 $filename = trim(str_replace("\\", "/", trim($file_name)), "/");
782 $FILE_NAME = rel2abs($_SERVER["DOCUMENT_ROOT"], "/".$filename);
783 if((mb_strlen($FILE_NAME) > 1) && ($FILE_NAME === "/".$filename) && ($APPLICATION->GetFileAccessPermission($FILE_NAME) >= "W"))
784 {
785 $ABS_FILE_NAME = $_SERVER["DOCUMENT_ROOT"].$FILE_NAME;
786 }
787 }
788 }
789
790 if(!$ABS_FILE_NAME)
791 return GetMessage("IBLOCK_XML2_FILE_ERROR");
792
793 $WORK_DIR_NAME = mb_substr($ABS_FILE_NAME, 0, mb_strrpos($ABS_FILE_NAME, "/") + 1);
794
795 if(mb_substr($ABS_FILE_NAME, -7) == ".tar.gz")
796 {
797 include_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/general/tar_gz.php");
798 $obArchiver = new CArchiver($ABS_FILE_NAME);
799 if(!$obArchiver->ExtractFiles($WORK_DIR_NAME))
800 {
801 $strError = "";
802 if(is_object($APPLICATION))
803 {
804 $arErrors = $obArchiver->GetErrors();
805 if(count($arErrors))
806 {
807 foreach($arErrors as $error)
808 $strError .= $error[1]."<br>";
809 }
810 }
811 if($strError != "")
812 return $strError;
813 else
814 return GetMessage("IBLOCK_XML2_FILE_ERROR");
815 }
816 $IMP_FILE_NAME = mb_substr($ABS_FILE_NAME, 0, -7).".xml";
817 }
818 else
819 {
820 $IMP_FILE_NAME = $ABS_FILE_NAME;
821 }
822
823 $fp = fopen($IMP_FILE_NAME, "rb");
824 if(!$fp)
825 return GetMessage("IBLOCK_XML2_FILE_ERROR");
826
827 if($sync)
828 $table_name = "b_xml_tree_sync";
829 else
830 $table_name = "b_xml_tree";
831
832 $NS = array("STEP"=>0);
833
834 $obCatalog = new CIBlockCMLImport;
835 $obCatalog->Init($NS, $WORK_DIR_NAME, $use_crc, $preview, false, false, false, $table_name);
836
837 if($sync)
838 {
839 if(!$obCatalog->StartSession(bitrix_sessid()))
840 return GetMessage("IBLOCK_XML2_TABLE_CREATE_ERROR");
841
842 $obCatalog->ReadXMLToDatabase($fp, $NS, 0, 1024);
843
844 $xml_root = $obCatalog->GetSessionRoot();
845 $bUpdateIBlock = false;
846 }
847 else
848 {
849 $result = $obCatalog->initializeTemporaryTables();
850
851 if (!$result)
852 {
853 return GetMessage("IBLOCK_XML2_TABLE_PREPARE_ERROR");
854 }
855
856 $obCatalog->ReadXMLToDatabase($fp, $NS, 0, 1024);
857
858 if(!$obCatalog->IndexTemporaryTables())
859 return GetMessage("IBLOCK_XML2_INDEX_ERROR");
860
861 $xml_root = $obCatalog->GetRoot();
862 $bUpdateIBlock = true;
863 }
864
865 fclose($fp);
866
867 $result = $obCatalog->ImportMetaData($xml_root, $iblock_type, $site_id, $bUpdateIBlock);
868 if($result !== true)
869 {
870 if($sync)
871 $obCatalog->EndSession();
872 return GetMessage("IBLOCK_XML2_METADATA_ERROR").' '.(is_array($result) ? implode("\n", $result) : $result);
873 }
874
875 $obCatalog->ImportSections();
876 $obCatalog->DeactivateSections($section_action);
877 $obCatalog->SectionsResort();
878
879 $obCatalog = new CIBlockCMLImport;
880 $obCatalog->Init($NS, $WORK_DIR_NAME, $use_crc, $preview, false, false, false, $table_name);
881 if($sync)
882 {
883 if(!$obCatalog->StartSession(bitrix_sessid()))
884 return GetMessage("IBLOCK_XML2_TABLE_CREATE_ERROR");
885 }
886 $SECTION_MAP = false;
887 $PRICES_MAP = false;
888 $obCatalog->ReadCatalogData($SECTION_MAP, $PRICES_MAP);
889 $obCatalog->ImportElements(time(), 0);
890 $obCatalog->ImportProductSets();
891
892 $obCatalog->DeactivateElement($element_action, time(), 0);
893 if($sync)
894 $obCatalog->EndSession();
895
896 if($return_last_error)
897 {
898 if($obCatalog->LAST_ERROR <> '')
899 {
900 return $obCatalog->LAST_ERROR;
901 }
902 }
903
904 if ($return_iblock_id)
905 return intval($NS["IBLOCK_ID"]);
906 else
907 return true;
908}
return select
Определения access_edit.php:440
<?=$taskID?> selected
Определения access_edit.php:348
$type
Определения options.php:106
$arTypes
Определения options.php:23
Определения iblockresult.php:3
static GetByIDLang($ID, $LID, $bFindAny=true)
Определения iblocktype.php:274
$children
Определения sync.php:12
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
if($ajaxMode) $ID
Определения get_user.php:27
GetIBlockListLang($lang, $type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("SORT"=> "ASC"), $cnt=0, $bCountActive=false)
Определения iblock.php:60
GetIBlockSectionPath($IBLOCK_ID, $SECTION_ID)
Определения iblock.php:520
GetIBlockSectionListWithCnt($IBLOCK, $SECT_ID=false, $arOrder=array("left_margin"=>"asc"), $cnt=0, $arFilter=array())
Определения iblock.php:431
GetIBlockElement($ID, $TYPE="")
Определения iblock.php:393
xmlize_rss($data)
Определения iblock.php:531
GetIBlock($ID, $type="")
Определения iblock.php:130
GetIBlockElementListExLang($lang, $type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=>"asc"), $cnt=0, $arFilter=array(), $arSelect=array(), $arGroupBy=false)
Определения iblock.php:236
GetIBlockSection($ID, $TYPE="")
Определения iblock.php:490
GetIBlockElementCountEx($type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=>"asc"), $cnt=0, $arFilter=array())
Определения iblock.php:196
GetIBlockListWithCnt($type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=> "asc"), $cnt=0)
Определения iblock.php:26
GetIBlockElementCount($IBLOCK, $SECTION_ID=false, $arOrder=array("sort"=>"asc"), $cnt=0)
Определения iblock.php:338
GetIBlockLang($lang, $ID, $type="")
Определения iblock.php:144
GetIBlockElementListEx($type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=>"asc"), $cnt=0, $arFilter=array(), $arSelect=array(), $arGroupBy=false)
Определения iblock.php:178
GetIBlockSectionList($IBLOCK, $SECT_ID=false, $arOrder=array("left_margin"=>"asc"), $cnt=0, $arFilter=array())
Определения iblock.php:462
xml_depth_rss($values, &$i)
Определения iblock.php:561
GetIBlockElementList($IBLOCK, $SECTION_ID=false, $arOrder=array("sort"=>"asc"), $cnt=0, $arFilter=array(), $arSelect=array())
Определения iblock.php:363
GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter=false, $onChangeType='', $onChangeIBlock='', $strAddType='', $strAddIBlock='')
Определения iblock.php:632
GetIBlockElementCountExLang($lang, $type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=>"asc"), $cnt=0, $arFilter=array())
Определения iblock.php:215
_GetIBlockElementListExLang_tmp($lang, $type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=> "asc"), $cnt=0, $arFilter=array(), $arSelect=array())
Определения iblock.php:264
GetIBlockList($type, $arTypesInc=array(), $arTypesExc=array(), $arOrder=array("sort"=> "asc"), $cnt=0)
Определения iblock.php:42
$filter
Определения iblock_catalog_list.php:54
$IBLOCK_ID
Определения csv_new_run.php:168
if(!defined('SITE_ID')) $lang
Определения include.php:91
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$TYPE
Определения rss.php:27
$i
Определения factura.php:643
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
const SITE_ID
Определения sonet_set_content_view.php:12
$arFilter
Определения user_search.php:106
$rsIBlocks
Определения yandex_detail.php:58
$arIBlock['PROPERTY']
Определения yandex_detail.php:172