1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ebay_mip_setup.php
См. документацию.
1<?php
2//<title>Ebay</title>
3IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/catalog/export_setup_templ.php');
4
6
8
9$strAllowExportPath = COption::GetOptionString("catalog", "export_default_path", "/bitrix/catalog_export/");
10
11if (($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY') && $STEP == 1)
12{
13 if (array_key_exists('IBLOCK_ID', $arOldSetupVars))
14 $IBLOCK_ID = $arOldSetupVars['IBLOCK_ID'];
15 if (array_key_exists('SETUP_FILE_NAME', $arOldSetupVars))
16 $SETUP_FILE_NAME = str_replace($strAllowExportPath,'',$arOldSetupVars['SETUP_FILE_NAME']);
17 if (array_key_exists('SETUP_PROFILE_NAME', $arOldSetupVars))
18 $SETUP_PROFILE_NAME = $arOldSetupVars['SETUP_PROFILE_NAME'];
19 if (array_key_exists('V', $arOldSetupVars))
20 $V = $arOldSetupVars['V'];
21 if (array_key_exists('XML_DATA', $arOldSetupVars))
22 {
23 $XML_DATA = base64_encode($arOldSetupVars['XML_DATA']);
24 }
25 if (array_key_exists('SETUP_SERVER_NAME', $arOldSetupVars))
26 $SETUP_SERVER_NAME = $arOldSetupVars['SETUP_SERVER_NAME'];
27}
28
29if ($STEP>1)
30{
31 $IBLOCK_ID = intval($IBLOCK_ID);
33 if ($IBLOCK_ID<=0 || !($arIBlock = $rsIBlocks->Fetch()))
34 {
35 $arSetupErrors[] = GetMessage("CET_ERROR_NO_IBLOCK1")." #".$IBLOCK_ID." ".GetMessage("CET_ERROR_NO_IBLOCK2");
36 }
37 else
38 {
39 $bRightBlock = !CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display");
40 if ($bRightBlock)
41 {
42 $arSetupErrors[] = str_replace('#IBLOCK_ID#',$IBLOCK_ID,GetMessage("CET_ERROR_IBLOCK_PERM"));
43 }
44 }
45
46 if ($SETUP_FILE_NAME == '')
47 {
48 $arSetupErrors[] = GetMessage("CET_ERROR_NO_FILENAME");
49 }
50 elseif (preg_match(BX_CATALOG_FILENAME_REG, $strAllowExportPath.$SETUP_FILE_NAME))
51 {
52 $arSetupErrors[] = GetMessage("CES_ERROR_BAD_EXPORT_FILENAME");
53 }
54 elseif ($APPLICATION->GetFileAccessPermission($strAllowExportPath.$SETUP_FILE_NAME) < "W")
55 {
56 $arSetupErrors[] = str_replace("#FILE#", $strAllowExportPath.$SETUP_FILE_NAME, GetMessage('CET_YAND_RUN_ERR_SETUP_FILE_ACCESS_DENIED'));
57 }
58
60
61 if (empty($arSetupErrors))
62 {
63 $bAllSections = false;
65 if (!empty($V) && is_array($V))
66 {
67 foreach ($V as $key => $value)
68 {
69 if (trim($value)=="0")
70 {
71 $bAllSections = true;
72 break;
73 }
74 $value = intval($value);
75 if ($value>0)
76 {
78 }
79 }
80 }
81
82 if (!$bAllSections && !empty($arSections))
83 {
84 $arCheckSections = array();
85 $rsSections = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID, 'ID' => $arSections), false, array('ID'));
86 while ($arOneSection = $rsSections->Fetch())
87 {
88 $arCheckSections[] = $arOneSection['ID'];
89 }
90 $arSections = $arCheckSections;
91 }
92
93 if (!$bAllSections && empty($arSections))
94 {
95 $arSetupErrors[] = GetMessage("CET_ERROR_NO_GROUPS");
96 $V = array();
97 }
98 }
99
100 if (is_array($V))
101 {
102 $V = array_unique(array_values($V));
103 $_REQUEST['V'] = $V;
104 }
105
106 $arCatalog = CCatalogSKU::GetInfoByIBlock($IBLOCK_ID);
107 if (CCatalogSKU::TYPE_PRODUCT == $arCatalog['CATALOG_TYPE'] || CCatalogSKU::TYPE_FULL == $arCatalog['CATALOG_TYPE'])
108 {
109 if ($XML_DATA == '')
110 {
111 $arSetupErrors[] = GetMessage('YANDEX_ERR_SKU_SETTINGS_ABSENT');
112 }
113 }
114
115 if (($ACTION=="EXPORT_SETUP" || $ACTION=="EXPORT_EDIT" || $ACTION=="EXPORT_COPY") && $SETUP_PROFILE_NAME == '')
116 $arSetupErrors[] = GetMessage("CET_ERROR_NO_PROFILE_NAME");
117
118 if (!empty($arSetupErrors))
119 {
120 $STEP = 1;
121 }
122}
123
124if (!empty($arSetupErrors))
125 ShowError(implode('<br />', $arSetupErrors));
126
128 array(
129 "TEXT"=>GetMessage("CATI_ADM_RETURN_TO_LIST"),
130 "TITLE"=>GetMessage("CATI_ADM_RETURN_TO_LIST_TITLE"),
131 "LINK"=>"/bitrix/admin/cat_export_setup.php?lang=".LANGUAGE_ID,
132 "ICON"=>"btn_list",
133 )
134);
135
137
138$context->Show();
139
141if ($adminSidePanelHelper->isSidePanel())
142{
143 $actionParams = "?IFRAME=Y&IFRAME_TYPE=SIDE_SLIDER";
144}
145?>
146<form method="post" action="<?echo $APPLICATION->GetCurPage().$actionParams ?>" name="yandex_setup_form" id="yandex_setup_form">
147<?
148
149$aTabs = array(
150 array("DIV" => "yand_edit1", "TAB" => GetMessage("CAT_ADM_MISC_EXP_TAB1"), "ICON" => "store", "TITLE" => GetMessage("CAT_ADM_MISC_EXP_TAB1_TITLE")),
151 array("DIV" => "yand_edit2", "TAB" => GetMessage("CAT_ADM_MISC_EXP_TAB2"), "ICON" => "store", "TITLE" => GetMessage("CAT_ADM_MISC_EXP_TAB2_TITLE")),
152);
153
154$tabControl = new CAdminTabControl("tabYandex", $aTabs, false, true);
155$tabControl->Begin();
156
157$tabControl->BeginNextTab();
158
159if ($STEP==1)
160{
161?><tr>
162 <td width="40%"><? echo GetMessage('CET_SELECT_IBLOCK_EXT'); ?></td>
163 <td width="60%"><?
164 $arIBlockIDs = array();
165 $rsCatalogs = CCatalog::GetList(
166 array(),
167 array('!PRODUCT_IBLOCK_ID' => 0),
168 false,
169 false,
170 array('PRODUCT_IBLOCK_ID')
171 );
172 while ($arCatalog = $rsCatalogs->Fetch())
173 {
174 $arCatalog['PRODUCT_IBLOCK_ID'] = intval($arCatalog['PRODUCT_IBLOCK_ID']);
175 if (0 < $arCatalog['PRODUCT_IBLOCK_ID'])
176 $arIBlockIDs[$arCatalog['PRODUCT_IBLOCK_ID']] = true;
177 }
178 $rsCatalogs = CCatalog::GetList(
179 array(),
180 array('PRODUCT_IBLOCK_ID' => 0),
181 false,
182 false,
183 array('IBLOCK_ID')
184 );
185 while ($arCatalog = $rsCatalogs->Fetch())
186 {
187 $arCatalog['IBLOCK_ID'] = intval($arCatalog['IBLOCK_ID']);
188 if (0 < $arCatalog['IBLOCK_ID'])
189 $arIBlockIDs[$arCatalog['IBLOCK_ID']] = true;
190 }
191 if (empty($arIBlockIDs))
192 $arIBlockIDs[-1] = true;
194 $IBLOCK_ID, 'IBLOCK_TYPE_ID', 'IBLOCK_ID',
195 array(
196 'ID' => array_keys($arIBlockIDs), 'ACTIVE' => 'Y',
197 'CHECK_PERMISSIONS' => 'Y','MIN_PERMISSION' => 'W'
198 ),
199 "ClearSelected(); BX('id_ifr').src='/bitrix/tools/catalog_export/yandex_util.php?IBLOCK_ID=0&'+'".bitrix_sessid_get()."';",
200 "ClearSelected(); BX('id_ifr').src='/bitrix/tools/catalog_export/yandex_util.php?IBLOCK_ID='+this[this.selectedIndex].value+'&'+'".bitrix_sessid_get()."';",
201 'class="adm-detail-iblock-types"',
202 'class="adm-detail-iblock-list"'
203 );
204 ?>
205 <script>
206 var TreeSelected = new Array();
207 <?
208 $intCountSelected = 0;
209 if (isset($V) && !empty($V) && is_array($V))
210 {
211 foreach ($V as $oneKey)
212 {
213 ?>TreeSelected[<? echo $intCountSelected ?>] = <? echo intval($oneKey); ?>;
214 <?
215 $intCountSelected++;
216 }
217 }
218 ?>
219 function ClearSelected()
220 {
221 BX.showWait();
222 TreeSelected = new Array();
223 }
224 </script>
225 </td>
226</tr>
227<tr>
228 <td width="40%" valign="top"><?echo GetMessage("CET_SELECT_GROUP");?></td>
229 <td width="60%"><?
230 if ($intCountSelected)
231 {
232 foreach ($V as &$oneKey)
233 {
234 ?><input type="hidden" value="<? echo intval($oneKey); ?>" name="V[]" id="oldV<? echo intval($oneKey); ?>"><?
235 }
236 }
237 ?><div id="tree"></div>
238 <script>
239 BX.showWait();
240 clevel = 0;
241
242 function delOldV(obj)
243 {
244 if (!!obj)
245 {
246 var intSelKey = BX.util.array_search(obj.value, TreeSelected);
247 if (obj.checked == false)
248 {
249 if (-1 < intSelKey)
250 {
251 TreeSelected = BX.util.deleteFromArray(TreeSelected, intSelKey);
252 }
253
254 var objOldVal = BX('oldV'+obj.value);
255 if (!!objOldVal)
256 {
257 objOldVal.parentNode.removeChild(objOldVal);
258 objOldVal = null;
259 }
260 }
261 else
262 {
263 if (-1 == intSelKey)
264 {
265 TreeSelected[TreeSelected.length] = obj.value;
266 }
267 }
268 }
269 }
270
271 function buildNoMenu()
272 {
273 var buffer;
274 buffer = '<?echo GetMessageJS("CET_FIRST_SELECT_IBLOCK");?>';
275 BX('tree', true).innerHTML = buffer;
276 BX.closeWait();
277 }
278
279 function buildMenu()
280 {
281 var i;
282 var buffer;
283 var imgSpace;
284
285 buffer = '<table border="0" cellspacing="0" cellpadding="0">';
286 buffer += '<tr>';
287 buffer += '<td colspan="2" valign="top" align="left"><input type="checkbox" name="V[]" value="0" id="v0"'+(BX.util.in_array(0,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><label for="v0"><font class="text"><b><?echo CUtil::JSEscape(GetMessage("CET_ALL_GROUPS"));?></b></font></label></td>';
288 buffer += '</tr>';
289
290 for (i in Tree[0])
291 {
292 if (!Tree[i])
293 {
294 space = '<input type="checkbox" name="V[]" value="'+i+'" id="V'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><label for="V'+i+'"><font class="text">' + Tree[0][i][0] + '</font></label>';
295 imgSpace = '';
296 }
297 else
298 {
299 space = '<input type="checkbox" name="V[]" value="'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><a href="javascript: collapse(' + i + ')"><font class="text"><b>' + Tree[0][i][0] + '</b></font></a>';
300 imgSpace = '<img src="/bitrix/images/catalog/load/plus.gif" width="13" height="13" id="img_' + i + '" OnClick="collapse(' + i + ')">';
301 }
302
303 buffer += '<tr>';
304 buffer += '<td width="20" valign="top" align="center">' + imgSpace + '</td>';
305 buffer += '<td id="node_' + i + '">' + space + '</td>';
306 buffer += '</tr>';
307 }
308
309 buffer += '</table>';
310
311 BX('tree', true).innerHTML = buffer;
312 BX.adminPanel.modifyFormElements('yandex_setup_form');
313 BX.closeWait();
314 }
315
316 function collapse(node)
317 {
318 if (!BX('table_' + node))
319 {
320 var i;
321 var buffer;
322 var imgSpace;
323
324 buffer = '<table border="0" id="table_' + node + '" cellspacing="0" cellpadding="0">';
325
326 for (i in Tree[node])
327 {
328 if (!Tree[i])
329 {
330 space = '<input type="checkbox" name="V[]" value="'+i+'" id="V'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><label for="V'+i+'"><font class="text">' + Tree[node][i][0] + '</font></label>';
331 imgSpace = '';
332 }
333 else
334 {
335 space = '<input type="checkbox" name="V[]" value="'+i+'"'+(BX.util.in_array(i,TreeSelected) ? ' checked' : '')+' onclick="delOldV(this);"><a href="javascript: collapse(' + i + ')"><font class="text"><b>' + Tree[node][i][0] + '</b></font></a>';
336 imgSpace = '<img src="/bitrix/images/catalog/load/plus.gif" width="13" height="13" id="img_' + i + '" OnClick="collapse(' + i + ')">';
337 }
338
339 buffer += '<tr>';
340 buffer += '<td width="20" align="center" valign="top">' + imgSpace + '</td>';
341 buffer += '<td id="node_' + i + '">' + space + '</td>';
342 buffer += '</tr>';
343 }
344
345 buffer += '</table>';
346
347 BX('node_' + node).innerHTML += buffer;
348 BX('img_' + node).src = '/bitrix/images/catalog/load/minus.gif';
349 }
350 else
351 {
352 var tbl = BX('table_' + node);
353 tbl.parentNode.removeChild(tbl);
354 BX('img_' + node).src = '/bitrix/images/catalog/load/plus.gif';
355 }
356 BX.adminPanel.modifyFormElements('yandex_setup_form');
357 }
358 </script>
359 <iframe src="/bitrix/tools/catalog_export/yandex_util.php?IBLOCK_ID=<?=intval($IBLOCK_ID)?>&<? echo bitrix_sessid_get(); ?>" id="id_ifr" name="ifr" style="display:none"></iframe>
360 </td>
361</tr>
362
363<tr>
364 <td width="40%"><?=GetMessage('CAT_DETAIL_PROPS')?>:</td>
365 <td width="60%">
366 <script>
367 function showDetailPopup()
368 {
369 if (!obDetailWindow)
370 {
371 var s = BX('IBLOCK_ID');
372 var dat = BX('XML_DATA');
373 var obDetailWindow = new BX.CAdminDialog({
374 'content_url': '/bitrix/tools/catalog_export/yandex_detail.php?lang=<?=LANGUAGE_ID?>&bxpublic=Y&IBLOCK_ID=' + s[s.selectedIndex].value,
375 'content_post': 'XML_DATA='+BX.util.urlencode(dat.value)+'&'+'<?echo bitrix_sessid_get(); ?>',
376 'width': 900, 'height': 550,
377 'resizable': true
378 });
379 obDetailWindow.Show();
380 }
381 }
382
383 function setDetailData(data)
384 {
385 BX('XML_DATA').value = data;
386 }
387 </script>
388 <input type="button" onclick="showDetailPopup(); return false;" value="<? echo GetMessage('CAT_DETAIL_PROPS_RUN'); ?>">
389 <input type="hidden" id="XML_DATA" name="XML_DATA" value="<? echo ($XML_DATA <> '' ? $XML_DATA : ''); ?>" />
390 </td>
391</tr>
392<tr>
393 <td width="40%"><?echo GetMessage("CET_SERVER_NAME");?></td>
394 <td width="60%">
395 <input type="text" name="SETUP_SERVER_NAME" value="<?echo ($SETUP_SERVER_NAME <> '') ? htmlspecialcharsbx($SETUP_SERVER_NAME) : '' ?>" size="50" /> <input type="button" onclick="this.form['SETUP_SERVER_NAME'].value = window.location.host;" value="<?echo htmlspecialcharsbx(GetMessage('CET_SERVER_NAME_SET_CURRENT'))?>" />
396 </td>
397</tr>
398<tr>
399 <td width="40%"><?echo GetMessage("CET_SAVE_FILENAME");?></td>
400 <td width="60%">
401 <b><? echo htmlspecialcharsbx(COption::GetOptionString("catalog", "export_default_path", "/bitrix/catalog_export/"));?></b><input type="text" name="SETUP_FILE_NAME" value="<?echo ($SETUP_FILE_NAME <> '') ? htmlspecialcharsbx($SETUP_FILE_NAME) : "ebay_product_feed_".time().".xml" ?>" size="50" />
402 </td>
403</tr>
404<?
405 if ($ACTION=="EXPORT_SETUP" || $ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY')
406 {
407?><tr>
408 <td width="40%"><?echo GetMessage("CET_PROFILE_NAME");?></td>
409 <td width="60%">
410 <input type="text" name="SETUP_PROFILE_NAME" value="<?echo htmlspecialcharsbx($SETUP_PROFILE_NAME) ?>" size="30">
411 </td>
412</tr><?
413 }
414}
415
416$tabControl->EndTab();
417
418$tabControl->BeginNextTab();
419
420if ($STEP==2)
421{
422 $SETUP_FILE_NAME = $strAllowExportPath.$SETUP_FILE_NAME;
423 if ($XML_DATA <> '')
424 {
425 $XML_DATA = base64_decode($XML_DATA);
426 }
428 $_POST['SETUP_SERVER_NAME'] = htmlspecialcharsbx($_POST['SETUP_SERVER_NAME']);
429 $_REQUEST['SETUP_SERVER_NAME'] = htmlspecialcharsbx($_REQUEST['SETUP_SERVER_NAME']);
430
431 $FINITE = true;
432}
433$tabControl->EndTab();
434
435$tabControl->Buttons();
436
437?><? echo bitrix_sessid_post();?><?
438if ($ACTION == 'EXPORT_EDIT' || $ACTION == 'EXPORT_COPY')
439{
440 ?><input type="hidden" name="PROFILE_ID" value="<? echo intval($PROFILE_ID); ?>"><?
441}
442
443if (2 > $STEP)
444{
445 ?><input type="hidden" name="lang" value="<?echo LANGUAGE_ID ?>">
446 <input type="hidden" name="ACT_FILE" value="<?echo htmlspecialcharsbx($_REQUEST["ACT_FILE"]) ?>">
447 <input type="hidden" name="ACTION" value="<?echo htmlspecialcharsbx($ACTION) ?>">
448 <input type="hidden" name="STEP" value="<?echo intval($STEP) + 1 ?>">
449 <input type="hidden" name="SETUP_FIELDS_LIST" value="V,IBLOCK_ID,SETUP_SERVER_NAME,SETUP_FILE_NAME,XML_DATA">
450 <input type="submit" value="<?echo ($ACTION=="EXPORT")?GetMessage("CET_EXPORT"):GetMessage("CET_SAVE")?>"><?
451}
452
453$tabControl->End();
454?></form>
455<script>
456<?if ($STEP < 2):?>
457tabYandex.SelectTab("yand_edit1");
458tabYandex.DisableTab("yand_edit2");
459<?elseif ($STEP == 2):?>
460tabYandex.SelectTab("yand_edit2");
461tabYandex.DisableTab("yand_edit1");
462<?endif;?>
463</script>
global $APPLICATION
Определения include.php:80
const BX_CATALOG_FILENAME_REG
Определения include.php:51
static GetByID($ID)
Определения iblock.php:813
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения catalog.php:15
static UserHasRightTo($IBLOCK_ID, $ID, $permission, $flags=0)
Определения iblock_rights.php:600
static GetList($arOrder=array("SORT"=>"ASC"), $arFilter=array(), $bIncCnt=false, $arSelect=array(), $arNavStartParams=false)
Определения iblocksection.php:14
else $SETUP_FILE_NAME
Определения ebay_mip_run.php:56
buffer
Определения ebay_mip_setup.php:303
$strAllowExportPath
Определения ebay_mip_setup.php:9
collapse(node)
Определения ebay_mip_setup.php:316
imgSpace
Определения ebay_mip_setup.php:300
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
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
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
global $USER
Определения csv_new_run.php:40
$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
$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
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
bitrix_sessid_get($varname='sessid')
Определения tools.php:4695
$value
Определения Param.php:39
white space
Определения options.php:321
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
if(empty($signedUserToken)) $key
Определения quickway.php:257
font style
Определения invoice.php:442
font size
Определения invoice.php:442
$rsIBlocks
Определения yandex_detail.php:58
$arIBlock['PROPERTY']
Определения yandex_detail.php:172
$arSections
Определения yandex_run.php:805
$arCatalog
Определения yandex_run.php:674
$SETUP_SERVER_NAME
Определения yandex_run.php:605
$bAllSections
Определения yandex_run.php:804