1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
csv_new_setup.php
См. документацию.
1<?php
2//<title>CSV (new)</title>
9IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/catalog/export_setup_templ.php');
10IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/catalog/export_yandex.php');
11IncludeModuleLangFile(__FILE__);
12
14
15$maxDepthLevel = (int)COption::GetOptionInt("catalog", "num_catalog_levels", 3);
16if ($maxDepthLevel <= 0)
18
20
21$strCatalogDefaultFolder = COption::GetOptionString("catalog", "export_default_path", CATALOG_DEFAULT_EXPORT_PATH);
22
23$STEP = (int)$STEP;
24if (0 >= $STEP)
25 $STEP = 1;
26
27$ACTION = strval($ACTION);
28
29//******************** ACTIONS **************************************//
30if (($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && $STEP == 1)
31{
32 if (isset($arOldSetupVars['IBLOCK_ID']))
33 $IBLOCK_ID = $arOldSetupVars['IBLOCK_ID'];
34}
35if ($STEP > 1)
36{
38 if ($IBLOCK_ID <= 0)
39 {
40 $arSetupErrors[] = GetMessage("CATI_NO_IBLOCK");
41 }
42 else
43 {
44 $rsIBlocks = CIBlock::GetList(array(),array('IBLOCK_ID' => $IBLOCK_ID,'CHECK_PERMISSIONS' => 'N'));
45 if (!($arIBlock = $rsIBlocks->Fetch()))
46 {
47 $arSetupErrors[] = GetMessage("CATI_NO_IBLOCK");
48 }
49 elseif (!CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, 'iblock_admin_display'))
50 {
51 $arSetupErrors[] = str_replace('#IBLOCK_ID#', $IBLOCK_ID, GetMessage('CET_ERROR_IBLOCK_PERM'));
52 }
53 }
54
55 if (!empty($arSetupErrors))
56 {
57 $STEP = 1;
58 }
59}
60
61if (($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && $STEP == 2)
62{
63 if (isset($arOldSetupVars['IBLOCK_ID']) && $arOldSetupVars['IBLOCK_ID'] == $IBLOCK_ID)
64 {
65 if (isset($arOldSetupVars['field_needed']))
66 $field_needed = $arOldSetupVars['field_needed'];
67 if (isset($arOldSetupVars['field_num']))
68 $field_num = $arOldSetupVars['field_num'];
69 if (isset($arOldSetupVars['field_code']))
70 $field_code = $arOldSetupVars['field_code'];
71 }
72 if (isset($arOldSetupVars['fields_type']))
73 $fields_type = $arOldSetupVars['fields_type'];
74
75 if (isset($arOldSetupVars['delimiter_r']))
76 $delimiter_r = $arOldSetupVars['delimiter_r'];
77 if (isset($arOldSetupVars['delimiter_r_char']))
78 $delimiter_r_char = $arOldSetupVars['delimiter_r_char'];
79 if (isset($arOldSetupVars['delimiter_other_r']))
80 $delimiter_other_r = $arOldSetupVars['delimiter_other_r'];
81
82 if (isset($arOldSetupVars['SETUP_FILE_NAME']))
83 $SETUP_FILE_NAME = str_replace($strCatalogDefaultFolder, '', $arOldSetupVars['SETUP_FILE_NAME']);
84 if (isset($arOldSetupVars['SETUP_PROFILE_NAME']))
85 $SETUP_PROFILE_NAME = $arOldSetupVars['SETUP_PROFILE_NAME'];
86 if (isset($arOldSetupVars['first_line_names']))
87 $first_line_names = $arOldSetupVars['first_line_names'];
88 if (isset($arOldSetupVars['export_files']))
89 $export_files = $arOldSetupVars['export_files'];
90 if (isset($arOldSetupVars['export_from_clouds']))
91 $export_from_clouds = $arOldSetupVars['export_from_clouds'];
92 if (isset($arOldSetupVars['CML2_LINK_IS_XML']))
93 $CML2_LINK_IS_XML = $arOldSetupVars['CML2_LINK_IS_XML'];
94 if (isset($arOldSetupVars['MAX_EXECUTION_TIME']))
95 $maxExecutionTime = $arOldSetupVars['MAX_EXECUTION_TIME'];
96}
97
98if ($STEP>2)
99{
100 if (!isset($fields_type) || ($fields_type!="F" && $fields_type!="R"))
101 {
102 $arSetupErrors[] = GetMessage("CATI_NO_FORMAT");
103 }
104
105 $delimiter_r_char = "";
106 if (isset($delimiter_r))
107 {
108 switch ($delimiter_r)
109 {
110 case "TAB":
111 $delimiter_r_char = "\t";
112 break;
113 case "ZPT":
114 $delimiter_r_char = ",";
115 break;
116 case "SPS":
117 $delimiter_r_char = " ";
118 break;
119 case "OTR":
120 $delimiter_r_char = (isset($delimiter_other_r)? mb_substr($delimiter_other_r, 0, 1) : '');
121 $delimiter_other_r = $delimiter_r_char;
122 break;
123 case "TZP":
124 $delimiter_r_char = ";";
125 break;
126 }
127 }
128
129 if (mb_strlen($delimiter_r_char) != 1)
130 {
131 $arSetupErrors[] = GetMessage("CATI_NO_DELIMITER");
132 }
133
134 if (!isset($SETUP_FILE_NAME) || $SETUP_FILE_NAME == '')
135 {
136 $arSetupErrors[] = GetMessage("CATI_NO_SAVE_FILE");
137 }
138
139 if (empty($arSetupErrors))
140 {
141 $SETUP_FILE_NAME = str_replace('//','/',$strCatalogDefaultFolder.Rel2Abs("/", $SETUP_FILE_NAME));
143 {
144 $arSetupErrors[] = GetMessage("CES_ERROR_BAD_EXPORT_FILENAME");
145 }
147 {
148 $arSetupErrors[] = GetMessage("CATI_NO_SAVE_FILE");
149 }
150 }
151
152 if (empty($arSetupErrors))
153 {
154 if (mb_strtolower(mb_substr($SETUP_FILE_NAME, mb_strlen($SETUP_FILE_NAME) - 4)) != ".csv")
155 $SETUP_FILE_NAME .= ".csv";
157 {
158 $arSetupErrors[] = GetMessage("CES_ERROR_BAD_EXPORT_FILENAME_EXTENTIONS");
159 }
160 }
161
162 if (empty($arSetupErrors))
163 {
164 if ($APPLICATION->GetFileAccessPermission($SETUP_FILE_NAME) < "W")
165 {
166 $arSetupErrors[] = str_replace("#FILE#", $SETUP_FILE_NAME, GetMessage('CATI_NO_RIGHTS_FILE'));
167 }
168 else
169 {
170 CheckDirPath($_SERVER["DOCUMENT_ROOT"].$SETUP_FILE_NAME);
171 if (!($fp = fopen($_SERVER["DOCUMENT_ROOT"].$SETUP_FILE_NAME, "wb")))
172 {
173 $arSetupErrors[] = GetMessage("CATI_CANNOT_CREATE_FILE");
174 }
175 else
176 {
177 fclose($fp);
178 unlink($_SERVER["DOCUMENT_ROOT"].$SETUP_FILE_NAME);
179 }
180 }
181 }
182
183 $bFieldsPres = (!empty($field_needed) && is_array($field_needed) && in_array('Y', $field_needed));
184 if ($bFieldsPres && (empty($field_code) || !is_array($field_code)))
185 {
186 $bFieldsPres = false;
187 }
188 if (!$bFieldsPres)
189 {
190 $arSetupErrors[] = GetMessage("CATI_NO_FIELDS");
191 }
192
193 $CML2_LINK_IS_XML = (isset($CML2_LINK_IS_XML) && $CML2_LINK_IS_XML == 'Y' ? 'Y' : 'N');
194
195 if (isset($_POST['MAX_EXECUTION_TIME']) && is_string($_POST['MAX_EXECUTION_TIME']))
196 $maxExecutionTime = $_POST['MAX_EXECUTION_TIME'];
198 if ($maxExecutionTime < 0)
200
201 if (($ACTION=="EXPORT_SETUP" || $ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && (!isset($SETUP_PROFILE_NAME) || $SETUP_PROFILE_NAME == ''))
202 {
203 $arSetupErrors[] = GetMessage("CET_ERROR_NO_NAME");
204 }
205
206 if (!empty($arSetupErrors))
207 {
208 $STEP = 2;
209 }
210}
211
212//******************** END ACTIONS **********************************//
213
215 array(
216 "TEXT" => GetMessage("CATI_ADM_RETURN_TO_LIST"),
217 "TITLE" => GetMessage("CATI_ADM_RETURN_TO_LIST_TITLE"),
218 "LINK" => "/bitrix/admin/cat_export_setup.php?lang=".LANGUAGE_ID,
219 "ICON" => "btn_list",
220 )
221);
222
224
225$context->Show();
226
227if (!empty($arSetupErrors))
228 ShowError(implode('<br />', $arSetupErrors));
229
231if ($adminSidePanelHelper->isSidePanel())
232{
233 $actionParams = "?IFRAME=Y&IFRAME_TYPE=SIDE_SLIDER";
234}
235?>
236<form method="POST" action="<? echo $APPLICATION->GetCurPage().$actionParams; ?>" enctype="multipart/form-data" name="dataload">
237<?
239 array("DIV" => "edit1", "TAB" => GetMessage("CAT_ADM_CSV_EXP_TAB1"), "ICON" => "store", "TITLE" => GetMessage("CAT_ADM_CSV_EXP_TAB1_TITLE")),
240 array("DIV" => "edit2", "TAB" => GetMessage("CAT_ADM_CSV_EXP_TAB2"), "ICON" => "store", "TITLE" => GetMessage("CAT_ADM_CSV_EXP_TAB2_TITLE")),
241 array("DIV" => "edit3", "TAB" => GetMessage("CAT_ADM_CSV_EXP_TAB3"), "ICON" => "store", "TITLE" => GetMessage("CAT_ADM_CSV_EXP_TAB3_TITLE")),
242);
243
244$tabControl = new CAdminTabControl("tabControl", $aTabs, false, true);
245$tabControl->Begin();
246
247$tabControl->BeginNextTab();
248
249if ($STEP == 1)
250{
251 ?><tr class="heading">
252 <td colspan="2"><?echo GetMessage("CATI_DATA_EXPORT") ?></td>
253 </tr>
254 <tr>
255 <td valign="top" width="40%"><? echo GetMessage("CAT_ADM_CSV_EXP_IBLOCK_ID"); ?>:</td>
256 <td valign="top" width="60%"><?
257 if (!isset($IBLOCK_ID))
258 $IBLOCK_ID = 0;
261 'IBLOCK_TYPE_ID',
262 'IBLOCK_ID',
263 array('CHECK_PERMISSIONS' => 'Y','MIN_PERMISSION' => 'U'),
264 '',
265 '',
266 'class="adm-detail-iblock-types"',
267 'class="adm-detail-iblock-list"'
268 );
269 ?></td>
270 </tr><?
271}
272
273$tabControl->EndTab();
274
275$tabControl->BeginNextTab();
276
277if ($STEP == 2)
278{
279 ?><tr class="heading">
280 <td colspan="2"><?echo GetMessage("CATI_FORMAT_PROPS") ?></td>
281 </tr>
282 <tr>
283 <td valign="top" width="40%"><?echo GetMessage("CATI_DELIMITERS") ?>:</td>
284 <td valign="top" width="60%"><?
285 if (!isset($delimiter_r) || empty($delimiter_r))
286 $delimiter_r = 'TZP';
287 ?><input type="hidden" name="fields_type" value="R">
288 <input type="radio" name="delimiter_r" value="TZP" <?if ($delimiter_r=="TZP") echo "checked"?>><?echo GetMessage("CATI_TZP") ?><br>
289 <input type="radio" name="delimiter_r" value="ZPT" <?if ($delimiter_r=="ZPT") echo "checked"?>><?echo GetMessage("CATI_ZPT") ?><br>
290 <input type="radio" name="delimiter_r" value="TAB" <?if ($delimiter_r=="TAB") echo "checked"?>><?echo GetMessage("CATI_TAB") ?><br>
291 <input type="radio" name="delimiter_r" value="SPS" <?if ($delimiter_r=="SPS") echo "checked"?>><?echo GetMessage("CATI_SPS") ?><br>
292 <input type="radio" name="delimiter_r" value="OTR" <?if ($delimiter_r=="OTR") echo "checked"?>><?echo GetMessage("CATI_OTR") ?>
293 <input type="text" class="typeinput" name="delimiter_other_r" size="3" value="<?echo htmlspecialcharsbx($delimiter_other_r); ?>">
294 </td>
295 </tr>
296 <tr>
297 <td valign="top" width="40%"><label for="first_line_names_Y"><?echo GetMessage("CATI_FIRST_LINE_NAMES") ?>:</label></td>
298 <td valign="top" width="60%"><?
299 if (!isset($first_line_names))
300 $first_line_names = 'Y';
301 ?><input type="hidden" name="first_line_names" id="first_line_names_N" value="N">
302 <input type="checkbox" name="first_line_names" id="first_line_names_Y" value="Y" <?if ($first_line_names=="Y") echo "checked"?>>
303 </td>
304 </tr>
305 <tr class="heading">
306 <td colspan="2"><?echo GetMessage("CATI_FIELDS") ?></td>
307 </tr>
308 <tr>
309 <td colspan="2">
310 <table width="100%" border="0" cellspacing="0" cellpadding="0" class="internal">
311<?
312 $boolCatalog = false;
313 $boolOffers = false;
314 $rsCatalogs = CCatalog::GetList(
315 array(),
316 array('IBLOCK_ID' => $IBLOCK_ID),
317 false,
318 false,
319 array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID', 'SKU_PROPERTY_ID')
320 );
321 if ($arCatalog = $rsCatalogs->Fetch())
322 {
323 $boolCatalog = true;
324 $boolOffers = ((int)$arCatalog['PRODUCT_IBLOCK_ID'] > 0);
325 }
326
327 $allowedProductFields = array();
328 $allowedSectionFields = array();
330 $allowedPriceFields = array();
331
332 $fieldsOption = trim(COption::GetOptionString('catalog', 'allowed_product_fields'));
333 if ($fieldsOption != '')
334 {
335 $allowedProductFields = explode(',', $fieldsOption);
336 }
337 $fieldsOption = trim(COption::GetOptionString('catalog', 'allowed_group_fields'));
338 if ($fieldsOption != '')
339 {
340 $allowedSectionFields = explode(',', $fieldsOption);
341 }
342 if ($boolCatalog)
343 {
344 $fieldsOption = trim(COption::GetOptionString('catalog', 'allowed_price_fields'));
345 if ($fieldsOption != '')
346 {
347 $allowedPriceFields = explode(',', $fieldsOption);
348 }
349 }
350
351 $arAvailFields = array();
352 $intCount = 0;
353 $boolSep = true;
354
355 if (!empty($allowedProductFields))
356 {
358 foreach ($allowedProductFields as &$fieldName)
359 {
360 if (isset($elementFields[$fieldName]))
361 {
362 $arAvailFields[$intCount] = $elementFields[$fieldName];
363 $arAvailFields[$intCount]['sort'] = ($intCount+1)*10;
364 if ($boolSep)
365 {
366 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_ELEMENTS');
367 $boolSep = false;
368 }
369 $intCount++;
370 }
371 }
372 unset($fieldName, $elementFields);
373 }
374
375 $properties = CIBlockProperty::GetList(array("SORT"=>"ASC", "ID"=>"ASC"), array("IBLOCK_ID"=>$IBLOCK_ID, "ACTIVE"=>"Y", 'CHECK_PERMISSIONS' => 'N'));
376 while ($prop_fields = $properties->Fetch())
377 {
378 $prop_fields['CODE'] = (string)$prop_fields['CODE'];
379 if ($prop_fields['CODE'] === '')
380 $prop_fields['CODE'] = $prop_fields['ID'];
381 $arAvailFields[$intCount] = array(
382 "value" => "IP_PROP".$prop_fields["ID"],
383 "name" => GetMessage("CATI_FI_PROPS").' "'.$prop_fields["NAME"].'"'.' ['.$prop_fields['CODE'].']',
384 'sort' => ($intCount+1)*10,
385 );
386 if ($boolSep)
387 {
388 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_ELEMENTS');
389 $boolSep = false;
390 }
391 $intCount++;
392 }
393 if (isset($prop_fields))
394 unset($prop_fields);
395 unset($properties);
396
397 $boolSep = true;
398 if (!empty($allowedSectionFields))
399 {
401 $selectedSectionFields = array();
402 foreach ($allowedSectionFields as &$fieldName)
403 {
404 if (isset($sectionFields[$fieldName]))
405 {
406 $selectedSectionFields[] = $sectionFields[$fieldName];
407 }
408 }
409 unset($fieldName, $allowedSectionFields, $sectionFields);
410 if (!empty($selectedSectionFields))
411 {
412 for ($currentDepthLevel = 0; $currentDepthLevel < $maxDepthLevel; $currentDepthLevel++)
413 {
414 $subSep = true;
415 foreach ($selectedSectionFields as &$oneField)
416 {
417 $arAvailFields[$intCount] = $oneField;
418 $arAvailFields[$intCount]['value'] .= $currentDepthLevel;
419 $arAvailFields[$intCount]['sort'] = ($intCount+1)*10;
420 if ($boolSep)
421 {
422 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_SECTIONS');
423 $boolSep = false;
424 }
425 if ($subSep)
426 {
427 $arAvailFields[$intCount]['SUB_SEP'] = str_replace('#LEVEL#',($currentDepthLevel+1),GetMessage("CAT_ADM_CSV_EXP_SECTION_LEVEL"));
428 $subSep = false;
429 }
430 $intCount++;
431 }
432 unset($oneField);
433 }
434 }
435 unset($selectedSectionFields);
436 }
437
438 if ($boolCatalog)
439 {
440 if (!empty($allowedProductFields))
441 {
442 $boolSep = true;
444 foreach ($allowedProductFields as &$fieldName)
445 {
446 if (isset($productFields[$fieldName]))
447 {
448 $arAvailFields[$intCount] = $productFields[$fieldName];
449 $arAvailFields[$intCount]['sort'] = ($intCount+1)*10;
450 if ($boolSep)
451 {
452 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_PRODUCT');
453 $boolSep = false;
454 }
455 $intCount++;
456 }
457 }
458 unset($fieldName, $productFields);
459 }
460
461 if (!empty($allowedPriceFields))
462 {
463 $boolSep = true;
465 foreach ($allowedPriceQuantityFields as &$fieldName)
466 {
467 if (isset($priceQuantityFields[$fieldName]))
468 {
469 $arAvailFields[$intCount] = $priceQuantityFields[$fieldName];
470 $arAvailFields[$intCount]['sort'] = ($intCount+1)*10;
471 if ($boolSep)
472 {
473 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_PRICES');
474 $boolSep = false;
475 }
476 $intCount++;
477 }
478 }
479 unset($fieldName, $priceQuantityFields);
480
482 $rsPriceTypes = CCatalogGroup::GetListEx(
483 array('SORT' => 'ASC', 'ID' => 'ASC'),
484 array(),
485 false,
486 false,
487 array('ID', 'NAME', 'NAME_LANG')
488 );
489 while ($priceType = $rsPriceTypes->Fetch())
490 {
491 $priceType['NAME_LANG'] = (string)$priceType['NAME_LANG'];
492 foreach ($allowedPriceFields as &$fieldName)
493 {
494 if (isset($priceFields[$fieldName]))
495 {
496 $priceName = ($priceType['NAME_LANG'] !== '' ?
497 str_replace(array('#TYPE#', '#NAME#'), array($priceType['NAME'], $priceType['NAME_LANG']), GetMessage('EST_PRICE_TYPE2')):
498 str_replace("#TYPE#", $priceType['NAME'], GetMessage('EST_PRICE_TYPE'))
499 );
500 $arAvailFields[$intCount] = $priceFields[$fieldName];
501 $arAvailFields[$intCount]['value'] .= '_'.$priceType['ID'];
502 $arAvailFields[$intCount]['name'] = $priceName.': '.$arAvailFields[$intCount]['name'];
503 $arAvailFields[$intCount]['sort'] = ($intCount+1)*10;
504 if ($boolSep)
505 {
506 $arAvailFields[$intCount]['SEP'] = GetMessage('CAT_ADM_CSV_EXP_SEP_PRICES');
507 $boolSep = false;
508 }
509 $intCount++;
510 }
511 }
512 unset($fieldName);
513 }
514 unset($priceType, $rsPriceTypes, $priceFields);
515 }
516 }
517
518 $intCountAvailFields = $intCount;
519 $intCountChecked = 0;
520 $arCheckID = array();
521 $boolAll = true;
522 if (isset($field_code) && !empty($field_code) && is_array($field_code))
523 {
524 foreach ($arAvailFields as $i => $arOneAvailField)
525 {
526 $intSort = 0;
527 $key = array_search($arOneAvailField['value'], $field_code);
528 if (false !== $key)
529 {
530 if (isset($field_needed[$key]) && 'Y' == $field_needed[$key])
531 {
532 $boolAll = false;
533 $arCheckID[] = $arOneAvailField['value'];
534 $intCountChecked++;
535 }
536 if (isset($field_num[$key]) && 0 < intval($field_num[$key]))
537 $intSort = intval($field_num[$key]);
538 }
539 if (0 < $intSort)
540 $arAvailFields[$i]['sort'] = $intSort;
541 }
542 }
543 if ($boolAll)
544 $intCountChecked = $intCountAvailFields;
545 ?><tr class="heading">
546 <td valign="middle" align="left" style="text-align: left;">
547 <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;
548 <b><?echo GetMessage("CATI_FIELDS_NEEDED") ?></b></td>
549 <td valign="middle" align="center"><b><?echo GetMessage("CATI_FIELDS_NAMES") ?></b></td>
550 <td valign="middle" align="center"><b><?echo GetMessage("CATI_FIELDS_SORTING") ?></b></td>
551 </tr><?
552 foreach ($arAvailFields as $i => $arOneAvailField)
553 {
554 if (!empty($arOneAvailField['SEP']))
555 {
556 ?><tr><td colspan="3" valign="middle" align="center"><b><? echo htmlspecialcharsbx($arOneAvailField['SEP']); ?></b></td></tr><?
557 }
558 if (!empty($arOneAvailField['SUB_SEP']))
559 {
560 ?><tr><td>&nbsp;</td><td valign="middle" align="left"><b><? echo htmlspecialcharsbx($arOneAvailField['SUB_SEP']); ?></b></td><td>&nbsp;</td></tr><?
561 }
562 ?>
563 <tr>
564 <td valign="top" align="left"><input type="checkbox" name="field_needed[<? echo $i; ?>]" id="field_needed_<? echo $i; ?>"
565 <?if ($boolAll || in_array($arOneAvailField['value'],$arCheckID)) echo "checked"; ?>
566 value="Y" onclick="checkOne(this,<? echo $intCountAvailFields; ?>);"></td>
567 <td valign="middle" align="left">
568 <?if ($i<2) echo "<b>";?>
569 <?echo htmlspecialcharsbx($arOneAvailField["name"]); ?>
570 <?if ($i<2) echo "</b>";?>
571 </td>
572 <td valign="top" align="center">
573 <?if ($i<2) echo "<b>";?>
574 <input type="text" class="typeinput" name="field_num[<?echo $i ?>]" value="<?echo $arOneAvailField['sort']; ?>" size="4"> <input type="hidden" name="field_code[<?echo $i ?>]"
575 value="<?echo htmlspecialcharsbx($arOneAvailField["value"]) ?>">
576 <?if ($i<2) echo "</b>";?>
577 </td>
578 </tr>
579 <?
580 }
581 ?>
582 </table>
583 <input type="hidden" name="count_checked" id="count_checked" value="<? echo $intCountChecked; ?>">
584 <script>
585 function checkAll(obj,cnt)
586 {
587 var boolCheck = obj.checked,
588 i;
589 for (i = 0; i < cnt; i++)
590 {
591 BX('field_needed_'+i).checked = boolCheck;
592 }
593 BX('count_checked').value = (boolCheck ? cnt : 0);
594 }
595 function checkOne(obj,cnt)
596 {
597 var boolCheck = obj.checked;
598 var intCurrent = parseInt(BX('count_checked').value);
599 intCurrent += (boolCheck ? 1 : -1);
600 BX('field_needed_all').checked = (intCurrent >= cnt);
601 BX('count_checked').value = intCurrent;
602 }
603 </script>
604 </td>
605 </tr>
606 <tr class="heading">
607 <td colspan="2"><? echo GetMessage('CAT_ADM_CSV_EXP_ADD_SETTINGS') ?></td>
608 </tr><?
609 if (!isset($CML2_LINK_IS_XML))
610 $CML2_LINK_IS_XML = 'N';
611 if ($boolOffers)
612 {
613 ?>
614 <tr>
615 <td width="40%"><? echo GetMessage('CAT_ADM_CSV_EXP_CML2_LINK_IS_XML'); ?>:</td>
616 <td width="60%">
617 <input type="hidden" name="CML2_LINK_IS_XML" value="N">
618 <input type="checkbox" name="CML2_LINK_IS_XML" value="Y" <? echo ($CML2_LINK_IS_XML == 'Y' ? 'checked' : ''); ?>>
619 </td>
620 </tr>
621 <?
622 }
623 ?><tr>
624 <td valign="top" width="40%"><label for="export_files"><? echo GetMessage('CAT_ADM_CSV_EXP_EXPORT_FILES'); ?>:</label></td>
625 <td valign="top" width="60%">
626 <input type="hidden" name="export_files" id="export_files_N" value="N">
627 <input type="checkbox" name="export_files" id="export_files_Y" value="Y" <? echo (isset($export_files) && $export_files == 'Y' ? 'checked' : ''); ?>>
628 </td>
629 </tr><?
630 $boolHaveClouds = false;
631 if ($boolHaveClouds)
632 {
633 ?>
634 <tr>
635 <td valign="top" width="40%"><label for="export_from_clouds"><? echo GetMessage('CAT_ADM_CSV_EXP_EXPORT_FROM_CLOUDS'); ?>:</label></td>
636 <td valign="top" width="60%">
637 <input type="hidden" name="export_from_clouds" id="export_from_clouds_N" value="N">
638 <input type="checkbox" name="export_from_clouds" id="export_from_clouds_Y" value="Y" <? echo (isset($export_from_clouds) && $export_from_clouds == 'Y' ? 'checked' : ''); ?>>
639 </td>
640 </tr><?
641 }
642 else
643 {
644 ?><input type="hidden" name="export_from_clouds" id="export_from_clouds_N" value="N"><?
645 }
646
648 ?><tr>
649 <td width="40%"><?=GetMessage('CAT_MAX_EXECUTION_TIME');?></td>
650 <td width="60%">
651 <input type="text" name="MAX_EXECUTION_TIME" size="40" value="<?=$maxExecutionTime; ?>">
652 </td>
653 </tr>
654 <tr>
655 <td width="40%" style="padding-top: 0;">&nbsp;</td>
656 <td width="60%" style="padding-top: 0;"><small><?=GetMessage("CAT_MAX_EXECUTION_TIME_NOTE");?></small></td>
657 </tr>
658 <tr class="heading">
659 <td colspan="2"><?echo GetMessage("CATI_DATA_FILE_NAME") ?></td>
660 </tr>
661 <tr>
662 <td valign="top" width="40%"><?echo GetMessage("CATI_DATA_FILE_NAME1") ?>:</td>
663 <td valign="top" width="60%"><b><? echo htmlspecialcharsex($strCatalogDefaultFolder); ?></b>
664 <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>
665 <small><?echo GetMessage("CATI_DATA_FILE_NAME1_DESC") ?></small>
666 </td>
667 </tr>
668
669 <?if ($ACTION == "EXPORT_SETUP" || $ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY')
670 {
671 ?><tr class="heading">
672 <td colspan="2"><?echo GetMessage("CATI_SAVE_SCHEME") ?></td>
673 </tr>
674 <tr>
675 <td valign="top" width="40%"><?echo GetMessage("CATI_SSCHEME_NAME") ?>:</td>
676 <td valign="top" width="60%"><input type="text" class="typeinput" name="SETUP_PROFILE_NAME" size="40"
677 value="<?echo htmlspecialcharsbx($SETUP_PROFILE_NAME)?>"></td>
678 </tr><?
679 }
680}
681
682$tabControl->EndTab();
683
684$tabControl->BeginNextTab();
685
686if ($STEP == 3)
687{
688 $FINITE = true;
689}
690
691$tabControl->EndTab();
692
693$tabControl->Buttons();
694
695?><? echo bitrix_sessid_post();?><?
696if ($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY')
697{
698 ?><input type="hidden" name="PROFILE_ID" value="<? echo intval($PROFILE_ID); ?>"><?
699}
700
701if ($STEP < 3)
702{
703 ?><input type="hidden" name="STEP" value="<? echo $STEP+1; ?>">
704 <input type="hidden" name="lang" value="<? echo LANGUAGE_ID; ?>">
705 <input type="hidden" name="ACT_FILE" value="<? echo htmlspecialcharsbx($_REQUEST["ACT_FILE"]); ?>">
706 <input type="hidden" name="ACTION" value="<? echo htmlspecialcharsbx($ACTION); ?>">
707 <?if ($STEP > 1)
708 {
709 ?><input type="hidden" name="IBLOCK_ID" value="<? echo $IBLOCK_ID; ?>">
710 <input type="hidden" name="SETUP_FIELDS_LIST" value="IBLOCK_ID,SETUP_FILE_NAME,fields_type,delimiter_r,delimiter_other_r,first_line_names,field_needed,field_num,field_code,export_files,export_from_clouds,CML2_LINK_IS_XML,MAX_EXECUTION_TIME"><?
711 }
712 if ($STEP > 1)
713 {
714 ?><input type="submit" class="button" name="backButton" value="&lt;&lt; <?echo GetMessage("CATI_BACK") ?>"><?
715 }
716 ?><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"><?
717}
718
719$tabControl->End();
720
721?></form>
722<script>
723<?if ($STEP < 2):?>
724tabControl.SelectTab("edit1");
725tabControl.DisableTab("edit2");
726tabControl.DisableTab("edit3");
727<?elseif ($STEP == 2):?>
728tabControl.SelectTab("edit2");
729tabControl.DisableTab("edit1");
730tabControl.DisableTab("edit3");
731<?elseif ($STEP == 3):?>
732tabControl.SelectTab("edit3");
733tabControl.DisableTab("edit1");
734tabControl.DisableTab("edit2");
735<?endif;?>
736</script>
global $APPLICATION
Определения include.php:80
const BX_CATALOG_FILENAME_REG
Определения include.php:51
const CATALOG_DEFAULT_EXPORT_PATH
Определения include.php:14
if($strVal !='') $sectionFields
Определения options.php:1848
if($strVal !='') $priceFields
Определения options.php:1817
if($strVal !='') $productFields
Определения options.php:1791
static GetList($arOrder=Array(), $arFilter=Array())
Определения iblockproperty.php:14
const FIELDS_PRICE
Определения csv_settings.php:9
static getDefaultSettings($type, $extFormat=false)
Определения csv_settings.php:335
static getSettingsFields($type, $extFormat=false)
Определения csv_settings.php:14
const FIELDS_PRICE_EXT
Определения csv_settings.php:10
const FIELDS_ELEMENT
Определения csv_settings.php:7
const FIELDS_CATALOG
Определения csv_settings.php:8
const FIELDS_SECTION
Определения csv_settings.php:11
static GetListEx($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения cataloggroup.php:360
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения catalog.php:15
static GetList($arOrder=Array("SORT"=>"ASC"), $arFilter=Array(), $bIncCnt=false)
Определения iblock.php:13
else $SETUP_FILE_NAME
Определения ebay_mip_run.php:56
& nbsp
Определения epilog_main_admin.php:38
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
Определения file_new.php:677
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter=false, $onChangeType='', $onChangeIBlock='', $strAddType='', $strAddIBlock='')
Определения iblock.php:632
global $adminSidePanelHelper
Определения init_admin.php:7
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
$IBLOCK_ID
Определения csv_new_run.php:168
if(!($arIBlock=$arIBlockres->Fetch())) $boolCatalog
Определения csv_new_run.php:182
global $USER
Определения csv_new_run.php:40
if(empty($arRunErrors)) $CML2_LINK_IS_XML
Определения csv_new_run.php:209
if(!CCatalog::IsUserExists()) if(!function_exists( '__CSVArrayMultiply')) if(!function_exists('__CSVExportFile')) $strCatalogDefaultFolder
Определения csv_new_run.php:122
$tabControl
Определения csv_new_setup.php:244
$aTabs
Определения csv_new_setup.php:238
$STEP
Определения csv_new_setup.php:23
$ACTION
Определения csv_new_setup.php:27
$actionParams
Определения csv_new_setup.php:230
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
Определения csv_new_setup.php:214
$maxDepthLevel
Определения csv_new_setup.php:15
$context
Определения csv_new_setup.php:223
$arSetupErrors
Определения csv_new_setup.php:19
endif
Определения csv_new_setup.php:990
bitrix_sessid_post($varname='sessid', $returnInvocations=false)
Определения tools.php:4700
CheckDirPath($path)
Определения tools.php:2707
HasScriptExtension($check_name)
Определения tools.php:2956
ShowError($strError, $cls="errortext")
Определения tools.php:4499
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
if(empty($signedUserToken)) $key
Определения quickway.php:257
$i
Определения factura.php:643
font style
Определения invoice.php:442
font size
Определения invoice.php:442
text align
Определения template.php:556
& gt
Определения settings_admin_form.php:134
$rsIBlocks
Определения yandex_detail.php:58
$boolOffers
Определения yandex_detail.php:74
$arIBlock['PROPERTY']
Определения yandex_detail.php:172
$arCatalog
Определения yandex_run.php:674
$maxExecutionTime
Определения yandex_setup.php:647