<?php if(!check_bitrix_sessid()) return; IncludeModuleLangFile(__FILE__); __IncludeLang(GetLangFileName($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/intaro.intarocrm/lang/", "/icml_export_setup.php")); ?> <h3><?=GetMessage("EXPORT_CATALOGS_INFO");?></h3> <?php if(isset($arResult['errCode']) && $arResult['errCode']) echo CAdminMessage::ShowMessage(GetMessage($arResult['errCode'])); global $oldValues; if (!empty($oldValues)) { $IBLOCK_EXPORT = $oldValues['IBLOCK_EXPORT']; $IBLOCK_PROPERTY_ARTICLE = $oldValues['IBLOCK_PROPERTY_ARTICLE']; $SETUP_FILE_NAME = $oldValues['SETUP_FILE_NAME']; $SETUP_PROFILE_NAME = $oldValues['SETUP_PROFILE_NAME']; } ?> <form method="post" action="<?php echo $APPLICATION->GetCurPage(); ?>" > <font class="text"><?=GetMessage("EXPORT_CATALOGS");?><br><br></font> <? if (!isset($IBLOCK_EXPORT) || !is_array($IBLOCK_EXPORT)) { $IBLOCK_EXPORT = array(); } $boolAll = false; $intCountChecked = 0; $intCountAvailIBlock = 0; $arIBlockList = array(); $db_res = CIBlock::GetList(Array("IBLOCK_TYPE"=>"ASC", "NAME"=>"ASC"),array('CHECK_PERMISSIONS' => 'Y','MIN_PERMISSION' => 'W')); while ($res = $db_res->Fetch()) { if ($arCatalog = CCatalog::GetByIDExt($res["ID"])) { if($arCatalog['CATALOG_TYPE'] == "D" || $arCatalog['CATALOG_TYPE'] == "X" || $arCatalog['CATALOG_TYPE'] == "P") { $arSiteList = array(); $rsSites = CIBlock::GetSite($res["ID"]); while ($arSite = $rsSites->Fetch()) { $arSiteList[] = $arSite["SITE_ID"]; } $db_properties = CIBlock::GetProperties($res['ID'], Array()); $properties = Array(); while($prop = $db_properties->Fetch()) $properties[] = $prop; if (count($IBLOCK_EXPORT) != 0) $boolExport = (in_array($res['ID'], $IBLOCK_EXPORT)); else $boolExport = true; $arIBlockList[] = array( 'ID' => $res['ID'], 'NAME' => $res['NAME'], 'IBLOCK_TYPE_ID' => $res['IBLOCK_TYPE_ID'], 'IBLOCK_EXPORT' => $boolExport, 'PROPERTIES' => $properties, 'OLD_PROPERTY_SELECT' => $IBLOCK_PROPERTY_ARTICLE[$res['ID']] != "" ? $IBLOCK_PROPERTY_ARTICLE[$res['ID']] : null, 'SITE_LIST' => '('.implode(' ',$arSiteList).')', ); if ($boolExport) $intCountChecked++; $intCountAvailIBlock++; } } } if (count($IBLOCK_EXPORT) != 0) { if ($intCountChecked == $intCountAvailIBlock) $boolAll = true; } else { $intCountChecked = $intCountAvailIBlock; $boolAll = true; } ?> <table class="adm-list-table" id="export_setup"> <thead> <tr class="adm-list-table-header"> <td class="adm-list-table-cell"> <div class="adm-list-table-cell-inner"><?echo GetMessage("CATALOG");?></div> </td> <td class="adm-list-table-cell"> <div class="adm-list-table-cell-inner"> <?echo GetMessage("EXPORT2INTAROCML");?> </div> </td> <td class="adm-list-table-cell"> <div class="adm-list-table-cell-inner"><?echo GetMessage("PROPERTY");?></div> </td> </tr> </thead> <tbody> <tr class="adm-list-table-row"> <td class="adm-list-table-cell"> <?echo GetMessage("ALL_CATALOG");?> </td> <td class="adm-list-table-cell"> <input style="vertical-align: middle;" type="checkbox" name="icml_export_all" id="icml_export_all" value="Y" onclick="checkAll(this,<? echo $intCountAvailIBlock; ?>);"<? echo ($boolAll ? ' checked' : ''); ?>> </td> <td class="adm-list-table-cell"> </td> </tr> <? foreach ($arIBlockList as $key => $arIBlock) { ?> <tr class="adm-list-table-row"> <td class="adm-list-table-cell" style="padding-left: 5em"> <? echo htmlspecialcharsex("[".$arIBlock["IBLOCK_TYPE_ID"]."] ".$arIBlock["NAME"]." ".$arIBlock['SITE_LIST']); ?> </td> <td class="adm-list-table-cell"> <font class="tablebodytext"> <input type="checkbox" name="IBLOCK_EXPORT[<?=$arIBlock["ID"]?>]" id="IBLOCK_EXPORT<?=$arIBlock["ID"]?>" value="<?=$arIBlock["ID"]?>" <? if ($arIBlock['IBLOCK_EXPORT']) echo " checked"; ?> onclick="checkOne(this,<? echo $intCountAvailIBlock; ?>);" > </font> </td> <td class="adm-list-table-cell"> <select style="width: 200px;" id="IBLOCK_PROPERTY_ARTICLE<?=$arIBlock["ID"]?>" name="IBLOCK_PROPERTY_ARTICLE[<?=$arIBlock["ID"]?>]" class="property-export"> <option value=""></option> <? foreach ($arIBlock['PROPERTIES'] as $prop) { ?> <option value="<?=$prop['CODE'] ?>" <? if ($arIBlock['OLD_PROPERTY_SELECT'] == $prop["CODE"]){ echo " selected"; } else { if ($prop["CODE"] == "ARTICLE" || $prop["CODE"] == "ART" || $prop["CODE"] == "ARTNUMBER" ) echo " selected"; } ?> > <?=$prop["NAME"];?> </option> <? } ?> </select> </td> </tr> <? } ?> </tbody> </table> <input type="hidden" name="count_checked" id="count_checked" value="<? echo $intCountChecked; ?>"> <br> <br> <br> <font class="text"><?=GetMessage("FILENAME");?><br><br></font> <input type="text" name="SETUP_FILE_NAME" value="<?=htmlspecialcharsbx(strlen($SETUP_FILE_NAME) > 0 ? $SETUP_FILE_NAME : (COption::GetOptionString( 'catalog', 'export_default_path', '/bitrix/catalog_export/')) .'intarocrm'/* .mt_rand(0, 999999) */.'.xml' ); ?>" size="50"> <br> <br> <br> <font class="text"><?=GetMessage("LOAD_PERIOD");?><br><br></font> <input type="radio" name="TYPE_LOADING" value="none" onclick="checkProfile(this);"><?=GetMessage("NOT_LOADING");?><Br> <input type="radio" name="TYPE_LOADING" value="cron" onclick="checkProfile(this);"><?=GetMessage("CRON_LOADING");?><Br> <input type="radio" name="TYPE_LOADING" value="agent" checked onclick="checkProfile(this);"><?=GetMessage("AGENT_LOADING");?><Br> <br> <br> <font class="text"><?=GetMessage("LOAD_NOW");?> </font> <input id="load-now" type="checkbox" name="LOAD_NOW" value="now" checked > <br> <br> <br> <div id="profile-field" > <font class="text"><?=GetMessage("PROFILE_NAME");?> </font> <input type="text" name="SETUP_PROFILE_NAME" value="<?= ($SETUP_PROFILE_NAME ? $SETUP_PROFILE_NAME: GetMessage("PROFILE_NAME_EXAMPLE"));?>" size="30"> <br> <br> <br> </div> <script type="text/javascript" src="/bitrix/js/main/jquery/jquery-1.7.min.js"></script> <script type="text/javascript"> function checkAll(obj,cnt) { var boolCheck = obj.checked; for (i = 0; i < cnt; i++) { BX('IBLOCK_EXPORT'+i).checked = boolCheck; } BX('count_checked').value = (boolCheck ? cnt : 0); }; function checkOne(obj,cnt) { var boolCheck = obj.checked; var intCurrent = parseInt(BX('count_checked').value); intCurrent += (boolCheck ? 1 : -1); BX('icml_export_all').checked = (intCurrent < cnt ? false : true); BX('count_checked').value = intCurrent; if (!boolCheck) BX(obj.id.replace('IBLOCK_EXPORT','IBLOCK_PROPERTY_ARTICLE')).value = 'none'; }; function checkProfile(obj) { if (obj.value !== 'none') $('#profile-field').show(); else $('#profile-field').hide(); }; </script> <?//Следующие переменные должны быть обязательно установлены?> <?=bitrix_sessid_post();?> <input type="hidden" name="lang" value="<?php echo LANG; ?>"> <input type="hidden" name="id" value="intaro.intarocrm"> <input type="hidden" name="install" value="Y"> <input type="hidden" name="step" value="5"> <input type="hidden" name="continue" value="4"> <div style="padding: 1px 13px 2px; height:28px;"> <div align="right" style="float:right; width:50%; position:relative;"> <input type="submit" name="inst" value="<?php echo GetMessage("MOD_NEXT_STEP"); ?>" class="adm-btn-save"> </div> <div align="left" style="float:right; width:50%; position:relative;"> <input type="submit" name="back" value="<?php echo GetMessage("MOD_PREV_STEP"); ?>" class="adm-btn-save"> </div> </div> </form>