38 if (isset($arOldSetupVars[
'IBLOCK_ID']))
69 if (isset($arOldSetupVars[
'fields_type']))
70 $fields_type = $arOldSetupVars[
'fields_type'];
71 if (isset($arOldSetupVars[
'delimiter_r']))
72 $delimiter_r = $arOldSetupVars[
'delimiter_r'];
73 if (isset($arOldSetupVars[
'delimiter_r_char']))
74 $delimiter_r_char = $arOldSetupVars[
'delimiter_r_char'];
75 if ($arOldSetupVars[
'delimiter_other_r'])
76 $delimiter_other_r = $arOldSetupVars[
'delimiter_other_r'];
77 if (isset($arOldSetupVars[
'first_names_r']))
78 $first_names_r = $arOldSetupVars[
'first_names_r'];
79 if (isset($arOldSetupVars[
'first_line_names']))
80 $first_line_names = $arOldSetupVars[
'first_line_names'];
81 if (isset($arOldSetupVars[
'SETUP_FILE_NAME']))
83 if (isset($arOldSetupVars[
'SETUP_PROFILE_NAME']))
84 $SETUP_PROFILE_NAME = $arOldSetupVars[
'SETUP_PROFILE_NAME'];
85 if ($arOldSetupVars[
'IBLOCK_ID'] ==
$IBLOCK_ID)
87 if (isset($arOldSetupVars[
'field_needed']))
88 $field_needed = $arOldSetupVars[
'field_needed'];
89 if (isset($arOldSetupVars[
'field_num']))
90 $field_num = $arOldSetupVars[
'field_num'];
91 if (isset($arOldSetupVars[
'field_code']))
92 $field_code = $arOldSetupVars[
'field_code'];
98 if (!isset($fields_type) || ($fields_type!=
"F" && $fields_type!=
"R"))
103 $delimiter_r_char =
'';
104 if (isset($delimiter_r))
106 switch ($delimiter_r)
109 $delimiter_r_char =
"\t";
112 $delimiter_r_char =
",";
115 $delimiter_r_char =
" ";
118 $delimiter_r_char = (isset($delimiter_other_r)? mb_substr($delimiter_other_r, 0, 1) :
'');
121 $delimiter_r_char =
";";
126 if (mb_strlen($delimiter_r_char) != 1)
180 $bFieldsPres = (!empty($field_needed) && is_array($field_needed) && in_array(
'Y', $field_needed));
181 if ($bFieldsPres && (empty($field_code) || !is_array($field_code)))
183 $bFieldsPres =
false;
191 $tableLinksCount = 10;
192 for (
$i = 0, $intCount =
count($field_code);
$i < $intCount;
$i++)
194 if (mb_substr($field_code[
$i], 0, mb_strlen(
"CR_PRICE_")) ==
"CR_PRICE_" && $field_needed[
$i]==
"Y")
198 elseif (mb_substr($field_code[
$i], 0, mb_strlen(
"IP_PROP")) ==
"IP_PROP" && $field_needed[
$i]==
"Y")
203 if ($tableLinksCount>30)
208 if ((
$ACTION==
"EXPORT_SETUP" ||
$ACTION ==
'EXPORT_EDIT' ||
$ACTION ==
'EXPORT_COPY') && (!isset($SETUP_PROFILE_NAME) || $SETUP_PROFILE_NAME ==
''))
222 "TEXT"=>
GetMessage(
"CATI_ADM_RETURN_TO_LIST"),
223 "TITLE"=>
GetMessage(
"CATI_ADM_RETURN_TO_LIST_TITLE"),
224 "LINK"=>
"/bitrix/admin/cat_export_setup.php?lang=".LANGUAGE_ID,
242<form method=
"POST" action=
"<? echo $APPLICATION->GetCurPage().$actionParams; ?>" ENCTYPE=
"multipart/form-data" name=
"dataload">
245 array(
"DIV" =>
"edit1",
"TAB" =>
GetMessage(
"CAT_ADM_CSV_EXP_TAB1"),
"ICON" =>
"store",
"TITLE" =>
GetMessage(
"CAT_ADM_CSV_EXP_TAB1_TITLE")),
246 array(
"DIV" =>
"edit2",
"TAB" =>
GetMessage(
"CAT_ADM_CSV_EXP_TAB2"),
"ICON" =>
"store",
"TITLE" =>
GetMessage(
"CAT_ADM_CSV_EXP_TAB2_TITLE")),
247 array(
"DIV" =>
"edit3",
"TAB" =>
GetMessage(
"CAT_ADM_CSV_EXP_TAB3"),
"ICON" =>
"store",
"TITLE" =>
GetMessage(
"CAT_ADM_CSV_EXP_TAB3_TITLE")),
257 ?><tr
class=
"heading">
258 <td colspan=
"2"><? echo
GetMessage(
"CATI_DATA_EXPORT"); ?></td>
261 <td valign=
"top" width=
"40%"><? echo
GetMessage(
"CAT_ADM_CSV_EXP_IBLOCK_ID"); ?>:</td>
262 <td valign=
"top" width=
"60%"><?
269 array(
'CHECK_PERMISSIONS' =>
'Y',
'MIN_PERMISSION' =>
'W'),
272 'class="adm-detail-iblock-types"',
273 'class="adm-detail-iblock-list"'
285 ?><tr
class=
"heading">
286 <td colspan=
"2"><?echo
GetMessage(
"CATI_FORMAT_PROPS") ?></td>
289 <td valign=
"top" width=
"40%"><?echo
GetMessage(
"CATI_DELIMITERS") ?>:</td>
290 <td valign=
"top" width=
"60%"><?
291 if (!isset($delimiter_r) || empty($delimiter_r))
292 $delimiter_r =
'TZP';
293 ?><input type=
"hidden" name=
"fields_type" value=
"R">
294 <input type=
"radio" name=
"delimiter_r" value=
"TZP" <?
if ($delimiter_r==
"TZP") echo
"checked"; ?>><? echo
GetMessage(
"CATI_TZP"); ?><br>
295 <input type=
"radio" name=
"delimiter_r" value=
"ZPT" <?
if ($delimiter_r==
"ZPT") echo
"checked"?>><?echo
GetMessage(
"CATI_ZPT") ?><br>
296 <input type=
"radio" name=
"delimiter_r" value=
"TAB" <?
if ($delimiter_r==
"TAB") echo
"checked"?>><?echo
GetMessage(
"CATI_TAB") ?><br>
297 <input type=
"radio" name=
"delimiter_r" value=
"SPS" <?
if ($delimiter_r==
"SPS") echo
"checked"?>><?echo
GetMessage(
"CATI_SPS") ?><br>
298 <input type=
"radio" name=
"delimiter_r" value=
"OTR" <?
if ($delimiter_r==
"OTR") echo
"checked"?>><?echo
GetMessage(
"CATI_OTR") ?>
299 <input type=
"text" class=
"typeinput" name=
"delimiter_other_r" size=
"3" value=
"<?echo htmlspecialcharsbx($delimiter_other_r); ?>">
303 <td valign=
"top" width=
"40%"><label
for=
"first_line_names_Y"><?echo
GetMessage(
"CATI_FIRST_LINE_NAMES") ?>:</label></td>
304 <td valign=
"top" width=
"60%"><?
305 if (!isset($first_line_names))
306 $first_line_names =
'Y';
307 ?><input type=
"hidden" name=
"first_line_names" id=
"first_line_names_N" value=
"N">
308 <input type=
"checkbox" name=
"first_line_names" id=
"first_line_names_Y" value=
"Y" <?
if ($first_line_names==
"Y") echo
"checked"?>>
312 <td colspan=
"2"><?echo
GetMessage(
"CATI_FIELDS") ?></td>
316 <table
width=
"100%" border=
"0" cellspacing=
"0" cellpadding=
"0" class=
"internal">
323 $arAvailFields =
array();
331 $mxKey = array_search($arOneCatalogAvailProdFields_tmp[
'value'],
$arVal);
332 if (
false !== $mxKey)
334 $arAvailFields[$intCount] =
array(
335 "value"=>$arOneCatalogAvailProdFields_tmp[
"value"],
336 "name"=>$arOneCatalogAvailProdFields_tmp[
"name"],
337 'sort' => ($intCount+1)*10,
341 $arAvailFields[$intCount][
'SEP'] =
GetMessage(
'CAT_ADM_CSV_EXP_SEP_ELEMENTS');
347 if (isset($arOneCatalogAvailProdFields_tmp))
348 unset($arOneCatalogAvailProdFields_tmp);
351 while ($prop_fields = $properties->Fetch())
353 $arAvailFields[$intCount] =
array(
354 "value"=>
"IP_PROP".$prop_fields[
"ID"],
355 "name"=>
GetMessage(
"CATI_FI_PROPS").
' "'.$prop_fields[
"NAME"].
'"'.
' ['.(
''!= trim($prop_fields[
"CODE"]) ? $prop_fields[
"CODE"] : $prop_fields[
"ID"]).
']',
356 'sort' => ($intCount+1)*10,
360 $arAvailFields[$intCount][
'SEP'] =
GetMessage(
'CAT_ADM_CSV_EXP_SEP_ELEMENTS');
373 $mxKey = array_search($arOnerCatalogAvailGroupFields[
'value'],
$arVal);
374 if (
false !== $mxKey)
376 $arAvailFields[$intCount] =
array(
377 "value"=>$arOnerCatalogAvailGroupFields[
"value"].
$k,
378 "name"=> $arOnerCatalogAvailGroupFields[
"name"],
379 'sort' => ($intCount+1)*10,
383 $arAvailFields[$intCount][
'SEP'] =
GetMessage(
'CAT_ADM_CSV_EXP_SEP_SECTIONS');
388 $arAvailFields[$intCount][
'SUB_SEP'] = str_replace(
'#LEVEL#',(
$k+1),
GetMessage(
"CAT_ADM_CSV_EXP_SECTION_LEVEL"));
394 if (isset($arOnerCatalogAvailGroupFields))
395 unset($arOnerCatalogAvailGroupFields);
405 $mxKey = array_search($arOneCatalogAvailProdFields_tmp[
'value'],
$arVal);
406 if (
false !== $mxKey)
408 $arAvailFields[$intCount] =
array(
409 "value"=>$arOneCatalogAvailProdFields_tmp[
"value"],
410 "name"=>$arOneCatalogAvailProdFields_tmp[
"name"],
411 'sort' => ($intCount+1)*10,
415 $arAvailFields[$intCount][
'SEP'] =
GetMessage(
'CAT_ADM_CSV_EXP_SEP_PRODUCT');
421 if (isset($arOneCatalogAvailProdFields_tmp))
422 unset($arOneCatalogAvailProdFields_tmp);
429 $mxKey = array_search($arOneCatalogAvailQuantityFields[
'value'],
$arVal);
430 if (
false !== $mxKey)
432 $arAvailFields[$intCount] =
array(
433 "value"=>$arOneCatalogAvailQuantityFields[
"value"],
434 "name"=>$arOneCatalogAvailQuantityFields[
"name"],
435 'sort' => ($intCount+1)*10,
439 $arAvailFields[$intCount][
'SEP'] =
GetMessage(
'CAT_ADM_CSV_EXP_SEP_PRICES');
445 if (isset($arOneCatalogAvailQuantityFields))
446 unset($arOneCatalogAvailQuantityFields);
451 $arCurList =
array();
452 while ($lcur_res = $lcur->Fetch())
454 if (in_array($lcur_res[
"CURRENCY"],
$arVal))
456 $arCurList[] =
array(
457 'ID' => $lcur_res[
"CURRENCY"],
458 'DESCR' => str_replace(
'#CURRENCY#', $lcur_res[
"CURRENCY"],
GetMessage(
'CATI_FI_PRICE_CURRENCY')),
463 if (!empty($arCurList))
466 while ($prgr = $db_prgr->Fetch())
468 foreach ($arCurList as &$arCurrency)
470 $strName = ($prgr[
'NAME_LANG'] ?
471 str_replace(
array(
'#TYPE#',
'#NAME#'),
array($prgr[
"NAME"],$prgr[
'NAME_LANG']),
GetMessage(
'CATI_FI_PRICE_TYPE3')):
472 str_replace(
"#TYPE#", $prgr[
"NAME"],
GetMessage(
"CATI_FI_PRICE_TYPE2"))
474 $arAvailFields[$intCount] =
array(
475 "value" =>
"CR_PRICE_".$prgr[
"ID"].
"_".$arCurrency[
'ID'],
476 "name" => $strName.
' '.$arCurrency[
'DESCR'],
477 'sort' => ($intCount+1)*10,
481 $arAvailFields[$intCount][
'SEP'] =
GetMessage(
'CAT_ADM_CSV_EXP_SEP_PRICES');
491 $intCountAvailFields = $intCount;
492 $intCountChecked = 0;
493 $arCheckID =
array();
496 if (!empty($field_code) && is_array($field_code))
498 foreach ($arAvailFields as
$i => $arOneAvailField)
501 $key = array_search($arOneAvailField[
'value'], $field_code);
504 if (isset($field_needed[
$key]) &&
'Y' == $field_needed[
$key])
507 $arCheckID[] = $arOneAvailField[
'value'];
510 if (isset($field_num[
$key]) && 0 < intval($field_num[
$key]))
511 $intSort = intval($field_num[
$key]);
514 $arAvailFields[
$i][
'sort'] = $intSort;
518 $intCountChecked = $intCountAvailFields;
520 ?><tr
class=
"heading">
521 <td valign=
"middle" align=
"left" style=
"text-align: left;">
522 <input
style=
"vertical-align: middle;" type=
"checkbox" name=
"field_needed_all" id=
"field_needed_all" value=
"Y" onclick=
"checkAll(this,<? echo $intCountAvailFields; ?>);"<? echo ($boolAll || ($intCountChecked == $intCountAvailFields) ?
' checked' :
''); ?>>&
nbsp;
523 <b><?echo
GetMessage(
"CATI_FIELDS_NEEDED") ?></b></td>
524 <td valign=
"middle" align=
"center"><b><?echo
GetMessage(
"CATI_FIELDS_NAMES") ?></b></td>
525 <td valign=
"middle" align=
"center"><b><?echo
GetMessage(
"CATI_FIELDS_SORTING") ?></b></td>
527 foreach ($arAvailFields as
$i => $arOneAvailField)
529 if (!empty($arOneAvailField[
'SEP']))
531 ?><tr><td colspan=
"3" valign=
"middle" align=
"center"><b><? echo
htmlspecialcharsbx($arOneAvailField[
'SEP']); ?></b></td></tr><?
533 if (!empty($arOneAvailField[
'SUB_SEP']))
539 <td valign=
"top" align=
"left"><input type=
"checkbox" name=
"field_needed[<? echo $i; ?>]" id=
"field_needed_<? echo $i; ?>"
540 <?
if ($boolAll || in_array($arOneAvailField[
'value'],$arCheckID)) echo
"checked"; ?>
541 value=
"Y" onclick=
"checkOne(this,<? echo $intCountAvailFields; ?>);"></td>
542 <td valign=
"middle" align=
"left">
543 <?
if (
$i<2) echo
"<b>";?>
545 <?
if (
$i<2) echo
"</b>";?>
547 <td valign=
"top" align=
"center">
548 <?
if (
$i<2) echo
"<b>";?>
549 <input type=
"text" class=
"typeinput" name=
"field_num[<?echo $i ?>]" value=
"<?echo $arOneAvailField['sort']; ?>" size=
"4"> <input type=
"hidden" name=
"field_code[<?echo $i ?>]"
550 value=
"<?echo htmlspecialcharsbx($arOneAvailField["value
"]) ?>">
551 <?
if (
$i<2) echo
"</b>";?>
558 <input type=
"hidden" name=
"count_checked" id=
"count_checked" value=
"<? echo $intCountChecked; ?>">
560 function checkAll(obj,cnt)
562 var boolCheck = obj.checked;
563 for (i = 0; i < cnt; i++)
565 BX(
'field_needed_'+i).checked = boolCheck;
567 BX(
'count_checked').value = (boolCheck ? cnt : 0);
569 function checkOne(obj,cnt)
571 var boolCheck = obj.checked;
572 var intCurrent = parseInt(BX(
'count_checked').value);
573 intCurrent += (boolCheck ? 1 : -1);
574 BX(
'field_needed_all').checked = (intCurrent >= cnt);
575 BX(
'count_checked').value = intCurrent;
581 <td colspan=
"2"><?echo
GetMessage(
"CATI_DATA_FILE_NAME") ?></td>
584 <td valign=
"top" width=
"40%"><? echo
GetMessage(
"CATI_DATA_FILE_NAME1") ?>:</td>
586 <input type=
"text" class=
"typeinput" name=
"SETUP_FILE_NAME" size=
"40" value=
"<?echo htmlspecialcharsbx($SETUP_FILE_NAME <> '' ? str_replace($strCatalogDefaultFolder, '', $SETUP_FILE_NAME): "export_file_
".mt_rand(0, 999999).".csv
");?>"><br>
587 <small><?echo
GetMessage(
"CATI_DATA_FILE_NAME1_DESC") ?></small>
592 ?><tr
class=
"heading">
593 <td colspan=
"2"><?echo
GetMessage(
"CATI_SAVE_SCHEME") ?></td>
596 <td valign=
"top" width=
"40%"><?echo
GetMessage(
"CATI_SSCHEME_NAME") ?>:</td>
597 <td valign=
"top" width=
"60%"><input type=
"text" class=
"typeinput" name=
"SETUP_PROFILE_NAME" size=
"40"
598 value=
"<?echo htmlspecialcharsbx($SETUP_PROFILE_NAME)?>"></td>
619 ?><input type=
"hidden" name=
"PROFILE_ID" value=
"<? echo intval($PROFILE_ID); ?>"><?
624 ?><input type=
"hidden" name=
"STEP" value=
"<? echo intval($STEP)+1; ?>">
625 <input type=
"hidden" name=
"lang" value=
"<? echo LANGUAGE_ID; ?>">
626 <input type=
"hidden" name=
"ACT_FILE" value=
"<? echo htmlspecialcharsbx($_REQUEST["ACT_FILE
"]); ?>">
627 <input type=
"hidden" name=
"ACTION" value=
"<? echo htmlspecialcharsbx($ACTION); ?>">
630 ?><input type=
"hidden" name=
"IBLOCK_ID" value=
"<? echo intval($IBLOCK_ID); ?>">
631 <input type=
"hidden" name=
"SETUP_FIELDS_LIST" value=
"IBLOCK_ID,SETUP_FILE_NAME,fields_type,delimiter_r,delimiter_other_r,first_names_r,first_line_names,field_needed,field_num,field_code"><?
635 ?><input type=
"submit" class=
"button" name=
"backButton" value=
"<< <?echo GetMessage("CATI_BACK
") ?>"><?
637 ?><input type=
"submit" class=
"button" value=
"<?echo ($STEP == 2)?(($ACTION == "EXPORT
")?GetMessage("CATI_NEXT_STEP_F
"):GetMessage("CET_SAVE
")):GetMessage("CATI_NEXT_STEP
")." &
gt;&
gt;
" ?>" name=
"submit_btn"><?
644tabControl.SelectTab(
"edit1");
645tabControl.DisableTab(
"edit2");
646tabControl.DisableTab(
"edit3");
648tabControl.SelectTab(
"edit2");
649tabControl.DisableTab(
"edit1");
650tabControl.DisableTab(
"edit3");
652tabControl.SelectTab(
"edit3");
653tabControl.DisableTab(
"edit1");
654tabControl.DisableTab(
"edit2");
const BX_CATALOG_FILENAME_REG
const CATALOG_DEFAULT_EXPORT_PATH
static GetList($by='sort', $order='asc', $lang=LANGUAGE_ID)
static GetList($arOrder=Array(), $arFilter=Array())
static GetOptionString($module_id, $name, $def="", $site=false, $bExactSite=false)
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static GetList($arOrder=Array("SORT"=>"ASC"), $arFilter=Array(), $bIncCnt=false)
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter=false, $onChangeType='', $onChangeIBlock='', $strAddType='', $strAddIBlock='')
global $adminSidePanelHelper
$_SERVER["DOCUMENT_ROOT"]
global $arCatalogAvailPriceFields
global $defCatalogAvailValueFields
global $arCatalogAvailQuantityFields
global $defCatalogAvailProdFields
global $defCatalogAvailQuantityFields
global $arCatalogAvailProdFields
global $defCatalogAvailCurrencies
global $arCatalogAvailGroupFields
global $arCatalogAvailValueFields
global $defCatalogAvailPriceFields
global $defCatalogAvailGroupFields
if(!($arIBlock=$arIBlockres->Fetch())) $boolCatalog
if(!CCatalog::IsUserExists()) if(!function_exists( '__CSVArrayMultiply')) if(!function_exists('__CSVExportFile')) $strCatalogDefaultFolder
if(( $ACTION=='EXPORT_EDIT'||$ACTION=='EXPORT_COPY') &&$STEP==1) if($STEP > 1) if(( $ACTION=='EXPORT_EDIT'||$ACTION=='EXPORT_COPY') &&$STEP==2) if($STEP >2) $aMenu
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
HasScriptExtension($check_name)
ShowError($strError, $cls="errortext")
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
if(empty($signedUserToken)) $key
</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."%"