1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
file_new.php
См. документацию.
1<?php
2
5
6require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php");
7
12
13//Functions
14function BXCreateSection(&$fileContent, &$sectionFileContent, &$absoluteFilePath, &$sectionPath)
15{
16 //Check quota
17 $quota = new CDiskQuota();
18 if (!$quota->CheckDiskQuota(Array("FILE_SIZE" => mb_strlen($fileContent) + mb_strlen($sectionFileContent))))
19 {
20 $GLOBALS["APPLICATION"]->ThrowException($quota->LAST_ERROR, "BAD_QUOTA");
21 return false;
22 }
23
25
26 //Create dir
27 if (!$io->CreateDirectory($absoluteFilePath))
28 {
29 $GLOBALS["APPLICATION"]->ThrowException(GetMessage("PAGE_NEW_FOLDER_CREATE_ERROR")."<br /> (".htmlspecialcharsbx($absoluteFilePath).")", "DIR_NOT_CREATE");
30 return false;
31 }
32
33 //Create .section.php
34 $io->GetFile($absoluteFilePath."/.section.php");
35 if (!$GLOBALS["APPLICATION"]->SaveFileContent($absoluteFilePath."/.section.php", $sectionFileContent))
36 return false;
37
38 //Create index.php
39 if (!$GLOBALS["APPLICATION"]->SaveFileContent($absoluteFilePath."/index.php", $fileContent))
40 return false;
41 else
42 {
43 if(COption::GetOptionString("fileman", "log_page", "Y")=="Y")
44 {
45 CEventLog::Log("content", "PAGE_ADD", "fileman", $sectionPath . "/index.php");
46 }
47 }
48
49 return true;
50}
51
52//2 wizards: create page and create section
53$createNewFolder = (isset($_REQUEST["newFolder"]) && $_REQUEST["newFolder"] == "Y");
54
56{
57 Loc::loadLanguageFile($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/public/folder_new.php");
58}
59else
60{
61 Loc::loadLanguageFile(__FILE__);
62}
63
65 GetMessage("PAGE_NEW_WINDOW_TITLE"),
66 [
67 "SUFFIX"=> (isset($_GET['subdialog']) && $_GET['subdialog'] === 'Y'? 'subdialog':'')
68 ]
69);
70
71//Check fileman permissions
73if(IsModuleInstalled("fileman"))
74{
75 if ($createNewFolder && (!$USER->CanDoOperation("fileman_admin_folders") || !$USER->CanDoOperation("fileman_admin_files")) )
76 $popupWindow->ShowError(GetMessage("PAGE_NEW_ACCESS_DENIED"));
77 elseif (!$USER->CanDoOperation("fileman_admin_files"))
78 $popupWindow->ShowError(GetMessage("PAGE_NEW_ACCESS_DENIED"));
79
80 if (!$USER->CanDoOperation("fileman_edit_existent_files"))
81 $canEditNewPage = false;
82}
83
85
86//Page path
87$path = "/";
88if(isset($_REQUEST["path"]) && $_REQUEST["path"] <> '')
89 $path = $io->CombinePath("/", $_REQUEST["path"]);
90
91$documentRoot = CSite::GetSiteDocRoot($site);
92
93//Site ID
95if(isset($_REQUEST["site"]) && $_REQUEST["site"] <> '')
96{
97 $obSite = CSite::GetByID($_REQUEST["site"]);
98 if($arSite = $obSite->Fetch())
99 $site = $arSite["ID"];
100}
101
102//Check permissions
103if($createNewFolder && (!$USER->CanDoFileOperation("fm_create_new_folder", Array($site, $path)) || !$USER->CanDoFileOperation("fm_create_new_file", Array($site, $path))) )
104 $popupWindow->ShowError(GetMessage("PAGE_NEW_ACCESS_DENIED"));
105elseif(!$USER->CanDoFileOperation("fm_create_new_file", Array($site, $path)))
106 $popupWindow->ShowError(GetMessage("PAGE_NEW_ACCESS_DENIED"));
107elseif(!$io->DirectoryExists($documentRoot.$path))
108 $popupWindow->ShowError(GetMessage("PAGE_NEW_FOLDER_NOT_FOUND")." (".htmlspecialcharsbx($path).")");
109
110if(!$USER->CanDoFileOperation("fm_edit_existent_file", Array($site, $path)))
112
113//Lang
114if(!isset($_REQUEST["lang"]) || $_REQUEST["lang"] == '')
115 $lang = LANGUAGE_ID;
116
117//BackUrl
118$back_url = ($_REQUEST["back_url"] ?? "");
119
120//Template ID
122if(isset($_REQUEST["templateID"]) && $_REQUEST["templateID"] <> '')
123{
124 $obTemplate = CSiteTemplate::GetByID($_REQUEST["templateID"]);
125 if($arSiteTemplate = $obTemplate->Fetch())
126 $templateID = $_REQUEST["templateID"];
127}
128
129if($templateID === false)
130{
131 //Get default template if templateID not set
132 $obTemplate = CSite::GetTemplateList($site);
133 while ($arSiteTemplate = $obTemplate->Fetch())
134 {
135 if ($arSiteTemplate["CONDITION"] == '' )
136 {
137 $templateID = $arSiteTemplate["TEMPLATE"];
138 break;
139 }
140 }
141}
142
143//default edit groups - need to limit access
144$edit_groups = explode(",", COption::GetOptionString('fileman', 'default_edit_groups', ''));
147$gr = CGroup::GetList("sort", "asc", array("ACTIVE"=>"Y", "ADMIN"=>"N", "ANONYMOUS"=>"N"));
148while($group = $gr->Fetch())
149{
150 $arGroupList[$group["ID"]] = $group;
151 if(in_array($group["ID"], $edit_groups))
152 $arEditGroups[$group["ID"]] = $group["ID"];
153}
154$bAdmin = $USER->CanDoFileOperation("fm_edit_permission", Array($site, $path));
155
157
158//Check post values
159if($_SERVER["REQUEST_METHOD"] == "POST" && isset($_REQUEST["save"]))
160{
161 $fileName = ($_REQUEST["fileName"] ?? "");
162 $pageTitle = ($_REQUEST["pageTitle"] ?? "");
163 $editAfterSave = (isset($_REQUEST["editAfterSave"]) && $_REQUEST["editAfterSave"] == "Y");
164
165 $addToMenu = (isset($_REQUEST["addToMenu"]) && $_REQUEST["addToMenu"] == "Y");
166 $menuName = ($_REQUEST["menuName"] ?? "");
167 $menuType = ($_REQUEST["menuType"] ?? false);
168
169 $pageTags = ($_REQUEST["pageTags"] ?? false);
170 $menuItemPosition = (isset($_REQUEST["menuItemPosition"]) ? intval($_REQUEST["menuItemPosition"]) : 0);
171
173
174 //Check filename
175 if ($fileName == '')
176 $strWarning = GetMessage("PAGE_NEW_FILE_NAME_EMPTY");
177 elseif (!$io->ValidateFilenameString($fileName))
178 $strWarning = GetMessage("PAGE_NEW_FILE_NAME_VALID_SYMBOLS");
179// elseif (!$createNewFolder && !preg_match("/\.php$/", $fileName))
180// $strWarning = GetMessage("PAGE_NEW_FILE_NAME_PHP_EXT");
181 elseif (!$createNewFolder && $fileName[0] == ".")
182 $strWarning = GetMessage("PAGE_NEW_FILE_NAME_DOT_FIRST");
183 elseif ($io->FileExists($absoluteFilePath))
184 $strWarning = GetMessage("PAGE_NEW_FILE_EXISTS");
185 elseif ($io->DirectoryExists($absoluteFilePath))
186 $strWarning = GetMessage("PAGE_NEW_FOLDER_EXISTS");
187
188 if (!check_bitrix_sessid())
189 $strWarning = GetMessage("MAIN_SESSION_EXPIRED");
190}
191else
192{
193 //Default form values
194 $currentFileDir = $documentRoot.rtrim($path, "/")."/";
195 for ($fileNumber = ""; ; $fileNumber++)
196 {
197 $fileName = ($createNewFolder ? "folder".$fileNumber : "page".$fileNumber.".php");
198
199 if ($createNewFolder && !$io->DirectoryExists($currentFileDir.$fileName)
200 || !$createNewFolder && !$io->FileExists($currentFileDir.$fileName))
201 break;
202 }
203
204 $pageTitle = GetMessage("PAGE_NEW_DEFAULT_TITLE").($fileNumber != "" ? " (".$fileNumber.")": "");
206
209 $menuType = false;
211
213}
214
215//Get Menu
216$arMenu = Array();
217if (IsModuleInstalled("fileman") && $USER->CanDoOperation("fileman_add_element_to_menu"))
218{
219 $arMenuTypes = GetMenuTypes($site);
220 foreach ($arMenuTypes as $type => $name)
221 {
222 $menu = new CMenu($type);
223 $menu->Init($path);
224
225 $actualDir = $menu->MenuDir;
226 $currentDir = rtrim($path, "/")."/";
227
228 $actualMenuFile = null;
229 if ($actualDir <> '')
230 {
231 $actualMenuFile = $actualDir.".".$type.".menu.php";
232 $fileOperation = ($io->FileExists($documentRoot.$actualMenuFile) ? "fm_edit_existent_file" : "fm_create_new_file" );
233 if (!$USER->CanDoFileOperation("fm_add_to_menu", Array($site, $actualMenuFile)) || !$USER->CanDoFileOperation($fileOperation, Array($site, $actualMenuFile)))
234 $actualDir = false;
235 }
236 else
237 $actualDir = false;
238
239 $currentMenuFile = $currentDir.".".$type.".menu.php";
240 $fileOperation = ($io->FileExists($documentRoot.$currentMenuFile) ? "fm_edit_existent_file" : "fm_create_new_file" );
241 if (!$USER->CanDoFileOperation('fm_add_to_menu', Array($site, $currentMenuFile)) || !$USER->CanDoFileOperation($fileOperation, Array($site, $currentMenuFile)))
242 $currentDir = false;
243
244 if ($currentDir === false && $actualDir === false)
245 continue;
246
247 $arMenuItems = Array();
248 foreach ($menu->arMenu as $arItem)
249 {
250 if (isset($arItem[0]))
251 $arMenuItems[] = $arItem[0];
252 }
253
254 $arMenu[$type] = Array(
255 "NAME" => $name,
256 "ACTUAL_FILE" => ($actualDir === false ? $currentMenuFile : $actualMenuFile),
257 "CURRENT_FILE" => $currentMenuFile,
258 "CAN_CREATE_NEW" => ($actualDir !== false && $currentDir !== false && $actualDir != $currentDir),
259 "ITEMS" => (($actualMenuFile == $currentMenuFile) ? $arMenuItems : array()),
260 "TEMPLATE" => $menu->template
261 );
262 }
263}
264if(empty($arMenu))
265 $addToMenu = false;
266
267//page template object
269if(isset($_REQUEST['wiz_template']) && $_REQUEST['wiz_template'] <> '')
271
272//Save page settings
273if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_REQUEST["save"]) && $strWarning == "")
274{
275 //Get page template content
276 $fileContent = false;
277 if($obPageTemplate !== false)
278 {
280 "path"=>($createNewFolder? $io->CombinePath("/", $path, $fileName)."/" : $path),
281 "file"=>($createNewFolder? "index.php" : $fileName),
282 "site"=>$site
283 );
285 }
286 else
287 {
288 $template_file = '';
289 if(isset($_REQUEST['page_template']) && $_REQUEST['page_template'] <> '')
290 {
291 $template_file = $_REQUEST['page_template'];
292 }
293 else
294 {
295 $arPageTemplates = GetFileTemplates($site, array($templateID));
296 if(!empty($arPageTemplates) && isset($arPageTemplates[0]['file']))
297 $template_file = $arPageTemplates[0]['file'];
298 }
299 if($template_file <> '')
301 }
302
303 if (!$fileContent)
304 $fileContent = '<'.'?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?'.'>'.GetMessage("PAGE_NEW_CONTENT").'<'.'?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>';
305
306 //Title
307 $strSectionName = "";
308 if ($pageTitle <> '')
309 {
312 $strSectionName = "\$sSectionName = \"".EscapePHPString($pageTitle)."\";\n";
313 }
314
315 //Properties
316 $strDirProperties = "";
317 if (isset($_POST["PROPERTY"]) && is_array($_POST["PROPERTY"]))
318 {
319 $bNeedComma = false;
320 foreach ($_POST["PROPERTY"] as $arProperty)
321 {
322 $arProperty["CODE"] = (isset($arProperty["CODE"]) ? trim($arProperty["CODE"]) : "");
323 $arProperty["VALUE"] = (isset($arProperty["VALUE"]) ? trim($arProperty["VALUE"]) : "");
324
325 if (preg_match("/[a-zA-Z_-~]+/i", $arProperty["CODE"]))
326 {
327 if ($createNewFolder && $arProperty["VALUE"] <> '')
328 {
329 if($bNeedComma)
330 $strDirProperties .= ",\n";
331
332 $strDirProperties .= " \"".EscapePHPString($arProperty["CODE"])."\" => \"".EscapePHPString($arProperty["VALUE"])."\"";
333 $bNeedComma = true;
334 }
335 else
336 $fileContent = SetPrologProperty($fileContent, $arProperty["CODE"], $arProperty["VALUE"]);
337 }
338 }
339 }
340
342 {
343 $sectionFileContent = "<"."?\n".$strSectionName."\$arDirProperties = Array(\n".$strDirProperties."\n);\n"."?".">";
344 $sectionPath = mb_substr($path, 1).$fileName;
345 $success = BXCreateSection($fileContent, $sectionFileContent, $absoluteFilePath, $sectionPath);
346
347 $arUndoParams = array(
348 'module' => 'fileman',
349 'undoType' => 'new_section',
350 'undoHandler' => 'CFileman::UndoNewSection',
351 'arContent' => array(
352 'absPath' => $absoluteFilePath,
353 'path' => rtrim($path, "/")."/".$fileName,
354 'site' => $site
355 )
356 );
357 }
358 else
359 {
360 //Tags only for pages
361 if ($pageTags !== false && IsModuleInstalled("search"))
362 $fileContent = SetPrologProperty($fileContent, COption::GetOptionString("search", "page_tag_property","tags"), $pageTags);
363
364 $arUndoParams = array(
365 'module' => 'fileman',
366 'undoType' => 'new_file',
367 'undoHandler' => 'CFileman::UndoNewFile',
368 'arContent' => array(
369 'absPath' => $absoluteFilePath,
370 'path' => rtrim($path, "/")."/".$fileName,
371 'site' => $site,
372 'public' => 'Y'
373 )
374 );
375
377 }
378
379 if ($success === false && ($exception = $APPLICATION->GetException()))
380 {
381 $strWarning = $exception->msg;
382 }
383 else
384 {
385 if(COption::GetOptionString("fileman", "log_page", "Y")=="Y")
386 {
387 CEventLog::Log("content", ($createNewFolder ? "SECTION_ADD" : "PAGE_ADD"), "fileman", $arUndoParams['arContent']['path']);
388 }
389 // Limit access
390 if (isset($_REQUEST["limitAccess"]) && $_REQUEST["limitAccess"] == "Y")
391 {
392 $arGroups = false;
393 if($bAdmin)
394 {
395 //operation fm_edit_permission
396 if (isset($_REQUEST["limitAccessWho"]) && $_REQUEST["limitAccessWho"] == 'extended')
397 {
398 $arGroups = array();
399 foreach($_REQUEST["limitGroupList"] as $group)
400 {
401 $group = intval($group);
402 if(isset($arGroupList[$group]))
403 $arGroups[$group] = $group;
404 }
405 }
406 else
407 {
409 }
410 }
411 elseif(!empty($arEditGroups))
412 {
414 }
415
416 //write permissions
417 if($arGroups !== false)
418 {
419 $arPermission = array("*"=>"D");
420 foreach($arGroups as $group)
421 $arPermission[$group] = 'X';
422
423 $APPLICATION->SetFileAccessPermission(array($site, rtrim($path, "/")."/".$fileName), $arPermission);
424 }
425 }
426
427 $relativePath = rtrim($path, "/")."/".$fileName.($createNewFolder ? "/" : "");
428
429 //Save menu
430 if ($addToMenu && array_key_exists($menuType, $arMenu) && CModule::IncludeModule("fileman"))
431 {
432 $menuFile = $arMenu[$menuType]["CURRENT_FILE"];
434 $arMenuItems = $arResult["aMenuLinks"];
435 $menuTemplate = $arResult["sMenuTemplate"];
436
437 if ($menuItemPosition > count($arMenuItems))
439
440 //move to the right all items greater current item
441 for ($i = count($arMenuItems) - 1; $i >= $menuItemPosition; $i--)
442 $arMenuItems[$i+1] = $arMenuItems[$i];
443
444 $arMenuItems[$menuItemPosition] = Array($menuName, $relativePath, Array(), Array(), "");
445 CFileMan::SaveMenu(Array($site, $menuFile), $arMenuItems, $menuTemplate);
446
447 $arUndoParams['arContent']['menu'] = array(
448 'menuFile' => $menuFile,
449 'menuName' => $menuName,
450 'menuPath' => $relativePath
451 );
452
453 if(COption::GetOptionString("fileman", "log_page", "Y")=="Y")
454 {
455 CEventLog::Log("content", "MENU_EDIT", "fileman", $menuFile);
456 }
457 }
458
459 $ID = CUndo::Add($arUndoParams);
461
462 $pathToEdit = $relativePath.($createNewFolder ? "index.php" : "");
463 if (!$USER->CanDoFileOperation("fm_edit_existent_file", Array($site, $pathToEdit)))
464 $canEditNewPage = false;
465
466 //Open edit dialog
468 ?>
469<script>
470 <?=$popupWindow->jsPopup?>.Close();
471
472
473 if (null != window.structReload && BX.type.isFunction(window.structReload))
474 {
475 structReload('<?=urlencode($pathToEdit)?>');
476 }
477
478 (new BX.CEditorDialog({
479 content_url: "/bitrix/admin/public_file_edit.php?<?=$_GET['subdialog'] == 'Y' ? "subdialog=Y" : ""?>&bxpublic=Y&lang=<?=CUtil::JSEscape($lang)?>" + "&path=<?=urlencode($pathToEdit)?>&site=<?=urlencode($site)?>&templateID=<?=urlencode($_REQUEST['templateID'])?>&back_url=<?=urlencode($relativePath)?>&edit_new_file_undo=<?= $ID?>",
480 height: 470,
481 width: 780,
482 resizable: true,
483 min_width: 780,
484 min_height: 400
485 })).Show();
486</script>
487 <?
488 else:
489 if (isset($_GET['subdialog']) && $_GET['subdialog'] == 'Y')
490 {
491 echo "<script>structReload('".urlencode($pathToEdit)."');</script>";
492 $popupWindow->Close(false);
493 }
494 else
495 {
496 $popupWindow->Close(true, $relativePath);
497 }
498 endif;
499 die();
500 }
501}
502
503//Properties from fileman settings
505if (CModule::IncludeModule("fileman") && is_callable(Array("CFileMan", "GetPropstypes")))
507
508//Properties from page
510if ($strWarning != "" && isset($_POST["PROPERTY"]) && is_array($_POST["PROPERTY"]))
511{
512 //Restore post values if error occured
513 foreach ($_POST["PROPERTY"] as $arProperty)
514 {
515 if (isset($arProperty["VALUE"]) && $arProperty["VALUE"] <> '')
516 $arDirProperties[$arProperty["CODE"]] = $arProperty["VALUE"];
517 }
518}
519else
520{
521 $arPageSlice = ParseFileContent($fileContent ?? '');
522 $arDirProperties = $arPageSlice["PROPERTIES"];
523}
524
525//All file properties. Includes properties from root folders
526$arInheritProperties = $APPLICATION->GetDirPropertyList(Array($site, $path));
527if ($arInheritProperties === false)
528 $arInheritProperties = Array();
529
530//Tags
531if (!$createNewFolder && IsModuleInstalled("search"))
532{
533 $tagPropertyCode = COption::GetOptionString("search", "page_tag_property","tags");
534 unset($arFilemanProperties[$tagPropertyCode]);
535 unset($arDirProperties[$tagPropertyCode]);
536 unset($arInheritProperties[mb_strtoupper($tagPropertyCode)]);
537}
538
539$bSearchExists = (isset($tagPropertyCode) && CModule::IncludeModule("search"));
540
541//Delete equal properties
543foreach ($arFilemanProperties as $propertyCode => $propertyDesc)
544{
545 if (array_key_exists($propertyCode, $arDirProperties))
546 $arGlobalProperties[$propertyCode] = $arDirProperties[$propertyCode];
547 else
548 $arGlobalProperties[$propertyCode] = "";
549
550 unset($arDirProperties[$propertyCode]);
551 unset($arInheritProperties[mb_strtoupper($propertyCode)]);
552}
553
554foreach ($arDirProperties as $propertyCode => $propertyValue)
555 unset($arInheritProperties[mb_strtoupper($propertyCode)]);
556
558
559//HTML Output
560$popupWindow->ShowTitlebar(GetMessage("PAGE_NEW_WINDOW_TITLE"));
561$popupWindow->StartDescription($createNewFolder ? "bx-create-new-folder" : "bx-create-new-page");
562
563if (isset($strWarning) && $strWarning != "")
564 $popupWindow->ShowValidationError($strWarning);
565?>
566
567<p><?=GetMessage("PAGE_NEW_SUB_TITLE")?> <b><?=htmlspecialcharsbx($path)?></b></p>
568
569<?if (IsModuleInstalled("fileman")):?>
570 <?if ($createNewFolder):?>
571 <p><a href="/bitrix/admin/fileman_newfolder.php?lang=<?=urlencode($lang)?>&site=<?=urlencode($site)?>&path=<?=urlencode($path)?>&back_url=<?=urlencode($back_url)?>"><?=GetMessage("PAGE_NEW_EDIT_IN_ADMIN")?></a></p>
572 <?else:?>
573 <p><a href="/bitrix/admin/fileman_html_edit.php?lang=<?=urlencode($lang)?>&site=<?=urlencode($site)?>&path=<?=urlencode($path)?>&new=Y&back_url=<?=urlencode($back_url)?>"><?=GetMessage("PAGE_NEW_EDIT_IN_ADMIN")?></a></p>
574 <?endif?>
575<?endif?>
576
577<?
578$popupWindow->EndDescription();
579$popupWindow->StartContent();
580?>
581
582<table class="bx-width100" id="bx_new_page_common">
583 <tr>
584 <td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_PAGE_NAME")?>:</td>
585 <td><input type="text" style="width:90%;" id="bx_page_title" name="pageTitle" value="<?=htmlspecialcharsEx($pageTitle)?>"></td>
586 </tr>
587 <tr>
588 <td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_FILENAME")?>:</td>
589 <td><input type="text" style="width:90%;" id="bx_new_page_name" name="fileName" value="<?=htmlspecialcharsEx($fileName)?>" onblur="BXCheckFileName(this, <?=($createNewFolder ? "true" : "false")?>);" onkeypress="BXCheckFileName(this, <?=($createNewFolder ? "true" : "false")?>);" onkeyup="BXCheckFileName(this, <?=($createNewFolder ? "true" : "false")?>);"><font id="bx_error_text"></font>
590
591 <?if (CModule::IncludeModule("fileman") && COption::GetOptionString("fileman", "use_translit", true))
592 {
593 include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/fileman/classes/general/fileman_utils.php");
595 'fromInputId' => 'bx_page_title',
596 'toInputId' => 'bx_new_page_name',
597 'linked' => true,
598 'linkedTitle' => GetMessage($createNewFolder ? 'PAGE_NEW_SEC_TRANS_LINKED' : 'PAGE_NEW_FILE_TRANS_LINKED'),
599 'unlinkedTitle' => GetMessage($createNewFolder ? 'PAGE_NEW_SEC_TRANS_UNLINKED' : 'PAGE_NEW_FILE_TRANS_LINKED'),
600 'ext' => $createNewFolder ? null : ($USER->CanDoOperation('edit_php') || $USER->CanDoFileOperation("fm_lpa", array($site, $path))? 'php' : 'html')
601 ));
602 }
603 ?>
604 </td>
605 </tr>
606
607 <?if (IsModuleInstalled("fileman") && $canEditNewPage):?>
608 <tr>
609 <td class="bx-popup-label bx-width30"></td>
610 <td><input type="checkbox" id="bx_edit_after_save" name="editAfterSave" value="Y" <?=($editAfterSave ? "checked": "")?>> <label for="bx_edit_after_save"><?=GetMessage("PAGE_NEW_EDIT_PAGE")?></label></td>
611 </tr>
612 <?endif?>
613
614 <?if (!empty($arMenu)):?>
615 <tr>
616 <td class="bx-popup-label bx-width30"></td>
617 <td><input type="checkbox" id="bx_add_to_menu" name="addToMenu" value="Y" onclick="BXAddMenuStep(this.checked)" <?=($addToMenu ? "checked" : "")?>> <label for="bx_add_to_menu"><?=GetMessage("PAGE_NEW_ADD_MENU")?></label>
618 </td>
619 </tr>
620 <?endif?>
621
622<?
623$aUserGroups = $GLOBALS["USER"]->GetUserGroupArray();
624$arr = array_intersect($aUserGroups, $arEditGroups);
627?>
628 <tr>
629 <td class="bx-popup-label bx-width30"></td>
630 <td><input type="checkbox" id="bx_access_limit" name="limitAccess" value="Y" onclick="BXLimitAccess(this.checked)"> <label for="bx_access_limit"><?= GetMessage($createNewFolder ? "PAGE_NEW_LIMIT_ACCESS_SEC" : "PAGE_NEW_LIMIT_ACCESS_PAGE")?></label>
631 <div id="bx_access_limit_row" style="display:none; margin: 4px 0 0 24px">
632<?if($bAdmin):?>
633 <?= GetMessage("PAGE_NEW_LIMIT_ACCESS_LABLE_EX")?><br>
634
635<?if(!empty($arEditGroups)):?>
636 <div style="margin-top:4px">
637 <input type="radio" name="limitAccessWho" value="editors" checked="checked" id="bx_acc_lim_who_editors" onclick="BXLimitAccessWho(this.checked);"/>
638 <label for="bx_acc_lim_who_editors"><?= GetMessage("PAGE_NEW_LIMIT_ACCESS_EDITORS")?> (<a href="/bitrix/admin/settings.php?lang=<?=LANGUAGE_ID?>&amp;mid=fileman&amp;tabControl_active_tab=edit3#limitaccess" target="_blank"><?echo GetMessage("page_new_limit_settings")?></a>)</label>
639 </div>
640
641 <div style="margin-top:2px">
642 <input type="radio" name="limitAccessWho" value="extended" id="bx_acc_lim_who_extended" onclick="BXLimitAccessWho(!this.checked);"/>
643 <label for="bx_acc_lim_who_extended"><?= GetMessage("PAGE_NEW_LIMIT_ACCESS_EXTENDED")?></label>
644 </div>
645<?else:?>
646 <input type="hidden" name="limitAccessWho" value="extended" />
647<?endif?>
648 <div id="bx_acc_lim_group_list_row" style="display:<?=(!empty($arEditGroups)? "none":"block")?>; margin:4px 0 0 24px;">
649 <select id="bx_acc_lim_group_list" name="limitGroupList[]" size="7" multiple="multiple">
650<?foreach($arGroupList as $group):?>
651 <option value="<?= $group['ID']?>"<?if(isset($arEditGroups[$group["ID"]])) echo " selected"?>><?= htmlspecialcharsEx($group['NAME'])?></option>
652<?endforeach?>
653 </select>
654 </div>
655<?if(empty($arEditGroups)):?>
656<div style="margin-top:8px">
657 <a href="/bitrix/admin/settings.php?lang=<?=LANGUAGE_ID?>&amp;mid=fileman&amp;tabControl_active_tab=edit3#limitaccess" target="_blank"><?echo GetMessage("PAGE_NEW_EDITORS_DEF")?></a>
658</div>
659<?endif?>
660<?
661else: //$bAdmin
662?>
663<?echo GetMessage("page_new_limit_note")?>
664<?endif?>
665 </div>
666
667 </td>
668 </tr>
669<?
670endif;
671?>
672</table>
673
674<table id="bx_new_page_menu" class="bx-width100" style="display:none;">
675 <tr>
676 <td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_MENU_NAME")?>:</td>
677 <td><input type="text" style="width:90%;" id="bx_menu_name" name="menuName" value="<?=htmlspecialcharsEx($menuName);?>"></td>
678 </tr>
679 <tr>
680 <td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_MENU_TYPE")?>:</td>
681 <td>
682 <select id="bx_menu_type" id="menuType" name="menuType" style="width:50%" onchange="BXChangeMenuType(this.options[this.selectedIndex].value, true)">
683 <?foreach ($arMenu as $type => $arMenuProp):?>
684 <option value="<?=htmlspecialcharsbx($type)?>" <?=($menuType == $type ? "selected" : "")?>><?=htmlspecialcharsEx($arMenuProp["NAME"])?></option>
685 <?endforeach?>
686 </select>
687 </td>
688 </tr>
689 <tr>
690 <td class="bx-popup-label bx-width30" valign="top"><?=GetMessage("PAGE_NEW_MENU_POSITION")?>:</td>
691 <td>
692 <select name="menuItemPosition" id="bx_menu_items" style="width:50%"></select><input type="hidden" id="bx_menu_position" value="<?=$menuItemPosition?>" />
693 </td>
694 </tr>
695</table>
696
697<?
698if($obPageTemplate !== false)
699 $wiz_template_html = $obPageTemplate->GetFormHtml();
700else
702?>
703<table id="bx_new_page_template" class="bx-width100" style="display:none;">
704 <?echo $wiz_template_html?>
705</table>
706
707<?
708$jsInheritPropIds = "var jsInheritProps = [";
709?>
710<table class="bx-width100" id="bx_new_page_prop" style="display:none;">
711<?if ($bPropertyExists):?>
712 <tr class="section">
713 <td colspan="2">
714 <table cellspacing="0">
715 <tr>
716 <td><?=GetMessage("PAGE_NEW_PROPERTIES")?></td>
717 <td id="bx_page_prop_name">&nbsp;</td>
718 </tr>
719 </table>
720 </td>
721 </tr>
722<?endif?>
723
724<?
726
727foreach ($arGlobalProperties as $propertyCode => $propertyValue):?>
728
729 <tr style="height:30px;">
730 <td class="bx-popup-label bx-width30"><?=(
731 $arFilemanProperties[$propertyCode] <> '' ?
733 htmlspecialcharsEx($propertyCode))
734 ?>:</td>
735 <td>
736
737 <?$inheritValue = $APPLICATION->GetDirProperty($propertyCode, Array($site, $path));?>
738
739 <?if ($inheritValue <> '' && $propertyValue == ''):
741 ?>
742
743 <input type="hidden" name="PROPERTY[<?=$propertyIndex?>][CODE]" value="<?=htmlspecialcharsEx($propertyCode)?>" />
744
745 <div id="bx_view_property_<?=$propertyIndex?>" style="overflow:hidden;padding:2px 12px 2px 2px; border:1px solid white; width:90%; cursor:text; box-sizing:border-box; -moz-box-sizing:border-box;background-color:transparent; background-position:right; background-repeat:no-repeat;" onclick="BXEditProperty(<?=$propertyIndex?>)" onmouseover="this.style.borderColor = '#434B50 #ADC0CF #ADC0CF #434B50';" onmouseout="this.style.borderColor = 'white'" class="edit-field"><?=htmlspecialcharsEx($inheritValue)?></div>
746
747 <div id="bx_edit_property_<?=$propertyIndex?>" style="display:none;"></div>
748
749 <?else:?>
750
751 <input type="text" name="PROPERTY[<?=$propertyIndex?>][VALUE]" value="<?=htmlspecialcharsEx($propertyValue)?>" style="width:90%;"><input type="hidden" name="PROPERTY[<?=$propertyIndex?>][CODE]" value="<?=htmlspecialcharsEx($propertyCode)?>" />
752
753 <?endif?>
754 </td>
755 </tr>
756
758
759<?foreach ($arInheritProperties as $propertyCode => $propertyValue): $jsInheritPropIds .= ",".$propertyIndex;?>
760
761 <tr style="height:30px;">
762 <td class="bx-popup-label bx-width30"><?=htmlspecialcharsEx($propertyCode)?>:</td>
763 <td>
764
765 <input type="hidden" name="PROPERTY[<?=$propertyIndex?>][CODE]" value="<?=htmlspecialcharsEx($propertyCode)?>" />
766
767 <div id="bx_view_property_<?=$propertyIndex?>" style="overflow:hidden;padding:2px 12px 2px 2px; border:1px solid white; width:90%; cursor:text; box-sizing:border-box; -moz-box-sizing:border-box;background-color:transparent; background-position:right; background-repeat:no-repeat;" onclick="BXEditProperty(<?=$propertyIndex?>)" onmouseover="this.style.borderColor = '#434B50 #ADC0CF #ADC0CF #434B50'" onmouseout="this.style.borderColor = 'white'" class="edit-field"><?=htmlspecialcharsEx($propertyValue)?></div>
768
769 <div id="bx_edit_property_<?=$propertyIndex?>" style="display:none;"></div>
770
771 </td>
772 </tr>
773
775
776<?foreach ($arDirProperties as $propertyCode => $propertyValue):?>
777
778 <tr id="bx_user_property_<?=$propertyIndex?>">
779 <td class="bx-popup-label bx-width30"><?=htmlspecialcharsEx(mb_strtoupper($propertyCode))?><input type="hidden" name="PROPERTY[<?=$propertyIndex?>][CODE]" value="<?=htmlspecialcharsEx(mb_strtoupper($propertyCode))?>" />:</td>
780 <td><input type="text" name="PROPERTY[<?=$propertyIndex?>][VALUE]" value="<?=htmlspecialcharsEx($propertyValue)?>" style="width:90%;"></td>
781 </tr>
782
783<?
786?>
787
788<?if ($bSearchExists):?>
789 <tr class="empty">
790 <td colspan="2"><div class="empty"></div></td>
791 </tr>
792 <tr class="section">
793 <td colspan="2">
794 <table cellspacing="0">
795 <tr>
796 <td><?=GetMessage("PAGE_NEW_TAGS_NAME")?></td>
797 <td id="bx_page_tags">&nbsp;</td>
798 </tr>
799 </table>
800 </td>
801 </tr>
802 <tr>
803 <td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?>:</td>
804 <td><?=InputTags("pageTags", $pageTags, array($site), 'style="width:90%;"');?></td>
805 </tr>
806<?endif?>
807
808</table>
809
810<?
812?>
813<input type="hidden" name="save" value="Y" />
814<?
815$popupWindow->EndContent();
816$popupWindow->StartButtons();
817?>
818<input name="btn_popup_prev" id="btn_popup_prev" type="button" value="<?=GetMessage("PAGE_NEW_BUTTON_PREV")?>" title="<?=GetMessage("PAGE_NEW_BUTTON_PREV")?>" />
819<input name="btn_popup_next" id="btn_popup_next" type="button" value="<?=GetMessage("PAGE_NEW_BUTTON_NEXT")?>" title="<?=GetMessage("PAGE_NEW_BUTTON_NEXT")?>" />
820<input name="btn_popup_finish" id="btn_popup_finish" type="button" value="<?=GetMessage("PAGE_NEW_BUTTON_FINISH")?>" title="<?=GetMessage("PAGE_NEW_BUTTON_FINISH")?>" />
821&nbsp;&nbsp;&nbsp;&nbsp;<input name="btn_popup_close" type="button" value="<?=GetMessage("PAGE_NEW_BUTTON_CANCEL")?>" onclick="<?=$popupWindow->jsPopup?>.CloseDialog()" title="<?=GetMessage("PAGE_NEW_BUTTON_CANCEL")?>" />
822
823<?$popupWindow->EndButtons();?>
824
825<script>
826
827var bxMenuType = <?= Json::encode($arMenu) ?>;
828
829window.BXChangeMenuType = function(menuType, onChange)
830{
831 if (!bxMenuType[menuType])
832 return;
833
834 var menuItems = BX("bx_menu_items");
835 if (!menuItems)
836 return;
837
838 menuItems.options.length = 0;
839
840 //Create options list
841 var selectDocument = menuItems.ownerDocument;
842 if (!selectDocument)
843 selectDocument = menuItems.document;
844
845 for (var itemPosition = 0, length = bxMenuType[menuType]["ITEMS"].length; itemPosition < length; itemPosition++)
846 {
847 var option = selectDocument.createElement("OPTION");
848 option.text = bxMenuType[menuType]["ITEMS"][itemPosition];
849 option.value = itemPosition;
850 menuItems.options.add(option);
851 }
852
853 option = selectDocument.createElement("OPTION");
854 option.text = "<?=GetMessage("PAGE_NEW_NEW_ITEM")?>";
855 option.value = itemPosition;
856 menuItems.options.add(option);
857
858 var menuItemPosition = BX("bx_menu_position");
859 if ( (onChange && onChange == true) || (menuItemPosition && menuItemPosition.value < 0) )
860 menuItems.selectedIndex = menuItems.options.length - 1;
861 else if (menuItemPosition)
862 menuItems.selectedIndex = menuItemPosition.value;
863};
864
865window.BXFirstStepShow = function(wizard)
866{
867 var addToMenu = BX("bx_add_to_menu");
868 var bTemplateWiz = <?=($wiz_template_html <> ''? 'true':'false')?>;
869 var bProp = <?=($bPropertyExists || $bSearchExists? 'true':'false')?>;
870
871 if(addToMenu && addToMenu.checked || bTemplateWiz)
872 wizard.SetButtonDisabled("finish", true);
873 else if(!bProp)
874 wizard.SetButtonDisabled("next", true);
875};
876
877window.BXFirstStepNext = function(wizard)
878{
879 var addToMenu = BX("bx_add_to_menu");
880 var bTemplateWiz = <?=($wiz_template_html <> ''? 'true':'false')?>;
881 var bProp = <?=($bPropertyExists || $bSearchExists? 'true':'false')?>;
882
883 if (!addToMenu || !addToMenu.checked)
884 {
885 wizard.SetCurrentStep("bx_new_page_menu");
886
887 if(!bTemplateWiz)
888 wizard.SetCurrentStep("bx_new_page_template");
889
890 return;
891 }
892
893 //Set item name equal title
894 var menuName = BX("bx_menu_name");
895 var pageTitle = BX("bx_page_title");
896
897 if (!menuName || !pageTitle)
898 return;
899
900 if (menuName.value == "" || menuName.disabled)
901 menuName.value = pageTitle.value;
902};
903
904window.BXMenuStepShow = function(wizard)
905{
906 var bTemplateWiz = <?=($wiz_template_html <> ''? 'true':'false')?>;
907 var bProp = <?=($bPropertyExists || $bSearchExists? 'true':'false')?>;
908
909 if(bTemplateWiz)
910 wizard.SetButtonDisabled("finish", true);
911
912 if(!bProp && !bTemplateWiz)
913 window.bxNewPageWizard.SetButtonDisabled("next", true);
914};
915
916window.BXMenuStepNext = function(wizard)
917{
918 var bTemplateWiz = <?=($wiz_template_html <> ''? 'true':'false')?>;
919
920 if(!bTemplateWiz)
921 wizard.SetCurrentStep("bx_new_page_template");
922};
923
924window.BXTemplateStepShow = function(wizard)
925{
926 var bProp = <?=($bPropertyExists || $bSearchExists? 'true':'false')?>;
927
928 if(!bProp)
929 window.bxNewPageWizard.SetButtonDisabled("next", true);
930};
931
932window.BXTemplateStepPrev = function(wizard)
933{
934 var addToMenu = BX("bx_add_to_menu");
935
936 if (!addToMenu || !addToMenu.checked)
937 wizard.SetCurrentStep("bx_new_page_menu");
938};
939
940window.BXPropStepPrev = function(wizard)
941{
942 var addToMenu = BX("bx_add_to_menu");
943 var bTemplateWiz = <?=($wiz_template_html <> ''? 'true':'false')?>;
944
945 if(!bTemplateWiz)
946 {
947 wizard.SetCurrentStep("bx_new_page_template");
948
949 if (!addToMenu || !addToMenu.checked)
950 wizard.SetCurrentStep("bx_new_page_menu");
951 }
952};
953
954window.BXAddMenuStep = function(addStep)
955{
956 if (addStep)
957 {
958 var menuType = BX("bx_menu_type");
959 if (menuType)
960 BXChangeMenuType(menuType.options[menuType.selectedIndex].value);
961
962 if (window.bxNewPageWizard)
963 {
964 window.bxNewPageWizard.SetButtonDisabled("finish", true);
965 window.bxNewPageWizard.SetButtonDisabled("next", false);
966 }
967 }
968 else
969 {
970 if (window.bxNewPageWizard)
971 {
972 var bTemplateWiz = <?=($wiz_template_html <> ''? 'true':'false')?>;
973 var bProp = <?=($bPropertyExists || $bSearchExists? 'true':'false')?>;
974
975 if(!bTemplateWiz)
976 window.bxNewPageWizard.SetButtonDisabled("finish", false);
977
978 if(!bProp && !bTemplateWiz)
979 window.bxNewPageWizard.SetButtonDisabled("next", true);
980 }
981 }
982};
983
984BXAddMenuStep(<?=($addToMenu ? "true" : "false")?>);
985
986window.BXCheckFileName = function(input, createNewFolder)
987{
988 var onSaveCheck = false;
989 if (!input)
990 {
991 input = BX("bx_new_page_name");
992 onSaveCheck = true;
993 }
994
995 if (!input)
996 return false;
997
998 var fileName = input.value;
999 var errorBox = BX("bx_error_text");
1000 var validSymbols = /[\0\\\/:*?\"\'<>|]/;
1001
1002 var phpExtension = /\.php$/;
1003
1004 function SetError(errorText)
1005 {
1006 input.style.color = "red";
1007 if (errorBox)
1008 {
1009 errorBox.style.display = "block";
1010 errorBox.innerHTML = errorText;
1011 errorBox.className = "errortext";
1012 }
1013 }
1014
1015 if (onSaveCheck && fileName == "")
1016 {
1017 SetError("<?=GetMessage("PAGE_NEW_FILE_NAME_EMPTY")?>");
1018 return false;
1019 }
1020<?if(!$createNewFolder):?>
1021 else if (!createNewFolder && fileName != "" && fileName.substr(0,1) == ".")
1022 {
1023 SetError("<?=GetMessage("PAGE_NEW_FILE_NAME_DOT_FIRST")?>");
1024 return false;
1025 }
1026<?endif?>
1027 else if (fileName != "" && validSymbols.test(fileName))
1028 {
1029 SetError("<?=GetMessage("PAGE_NEW_FILE_NAME_VALID_SYMBOLS")?>");
1030 return false;
1031 }
1032 else
1033 {
1034 input.style.color = "";
1035 if (errorBox)
1036 {
1037 errorBox.style.display = "none";
1038 errorBox.innerHTML = "";
1039 errorBox.style.color = "";
1040 }
1041 return true;
1042 }
1043};
1044
1045//Save
1046window.BXNewPageSave = function(wizard)
1047{
1048 if (BXCheckFileName(null, <?=($createNewFolder ? "true" : "false")?>))
1049 <?=$popupWindow->jsPopup?>.PostParameters();
1050 else
1051 wizard.SetCurrentStep("bx_new_page_common");
1052};
1053
1054window.BXFileNameSelect = function()
1055{
1056 var input = BX("bx_page_title");
1057 if (input)
1058 {
1059 input.focus();
1060 input.select();
1061 }
1062};
1063
1064BXFileNameSelect();
1065
1066//Edit properties
1067window.BXBlurProperty = function(element, propertyIndex)
1068{
1069 var viewProperty = BX("bx_view_property_" + propertyIndex);
1070
1071 if (element.value == "" || element.value == viewProperty.innerHTML)
1072 {
1073 var editProperty = BX("bx_edit_property_" + propertyIndex);
1074
1075 viewProperty.style.display = "block";
1076 editProperty.style.display = "none";
1077
1078 while (editProperty.firstChild)
1079 editProperty.removeChild(editProperty.firstChild);
1080 }
1081};
1082
1083window.BXEditProperty = function(propertyIndex)
1084{
1085 if (BX("bx_property_input_" + propertyIndex))
1086 return;
1087
1088 var editProperty = BX("bx_edit_property_" + propertyIndex);
1089 var viewProperty = BX("bx_view_property_" + propertyIndex);
1090
1091 viewProperty.style.display = "none";
1092 editProperty.style.display = "block";
1093
1094 var input = document.createElement("INPUT");
1095
1096 input.type = "text";
1097 input.name = "PROPERTY["+propertyIndex+"][VALUE]";
1098 input.style.width = "90%";
1099 input.style.padding = "2px";
1100 input.id = "bx_property_input_" + propertyIndex;
1101 input.onblur = function () {BXBlurProperty(input,propertyIndex)};
1102 input.value = viewProperty.innerHTML;
1103
1104 editProperty.appendChild(input);
1105 input.focus();
1106 input.select();
1107};
1108
1109//Create hints
1110window.BXFolderEditHint = function()
1111{
1112 var td = BX("bx_page_prop_name");
1113 if (td)
1114 {
1115 var oBXHint = new BXHint("<?=GetMessage("PAGE_NEW_DESCRIPTION")?>");
1116 td.appendChild(oBXHint.oIcon);
1117 }
1118
1119<?if(!$createNewFolder):?>
1120 td = BX("bx_page_tags");
1121 if (td)
1122 {
1123 oBXHint = new BXHint("<?=GetMessage("PAGE_NEW_TAGS_DESCIPTION")?>");
1124 td.appendChild(oBXHint.oIcon);
1125 }
1126<?endif?>
1127
1128 <?=$jsInheritPropIds?>
1129
1130 for (var index = 0; index < jsInheritProps.length; index++)
1131 oBXHint = new BXHint("<?=GetMessage("PAGE_NEW_INHERIT_TITLE")?>", BX("bx_view_property_"+ jsInheritProps[index]), {"width":200});
1132};
1133window.BXFolderEditHint();
1134
1135window.BXLimitAccess = function(bCheck)
1136{
1137 BX('bx_access_limit_row').style.display = bCheck ? 'block' : 'none';
1138};
1139
1140window.BXLimitAccessWho = function(bEditors)
1141{
1142 BX('bx_acc_lim_group_list_row').style.display = bEditors ? 'none' : 'block';
1143};
1144
1145//Wizard
1146window.bxNewPageWizard = new jsWizard;
1147window.bxNewPageWizard.AddStep("bx_new_page_common", {
1148 "next":"bx_new_page_menu",
1149 "finish":"bx_new_page_common",
1150 "onshow": BXFirstStepShow,
1151 "onnext": BXFirstStepNext,
1152 "onfinish" : BXNewPageSave
1153});
1154window.bxNewPageWizard.AddStep("bx_new_page_menu", {
1155 "prev":"bx_new_page_common",
1156 "next":"bx_new_page_template",
1157 "finish":"bx_new_page_menu",
1158 "onshow": BXMenuStepShow,
1159 "onnext": BXMenuStepNext,
1160 "onfinish" : BXNewPageSave
1161});
1162window.bxNewPageWizard.AddStep("bx_new_page_template", {
1163 "prev":"bx_new_page_menu",
1164 "next":"bx_new_page_prop",
1165 "finish":"bx_new_page_template",
1166 "onshow": BXTemplateStepShow,
1167 "onprev": BXTemplateStepPrev,
1168 "onfinish" : BXNewPageSave
1169});
1170window.bxNewPageWizard.AddStep("bx_new_page_prop", {
1171 "prev": "bx_new_page_template",
1172 "finish":"bx_new_page_prop",
1173 "onprev": BXPropStepPrev,
1174 "onfinish" : BXNewPageSave
1175});
1176window.bxNewPageWizard.Display();
1177</script>
1178
1179<?
1180require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin_js.php");
1181?>
$arParams
Определения access_dialog.php:21
$path
Определения access_edit.php:21
return select
Определения access_edit.php:440
$popupWindow
Определения access_edit.php:10
$back_url
Определения access_edit.php:50
$type
Определения options.php:106
const BX_ROOT
Определения bx_root.php:3
global $APPLICATION
Определения include.php:80
if($canUseYandexMarket) $strWarning
Определения options.php:74
$arResult
Определения generate_coupon.php:16
Определения json.php:9
static GetList($by='c_sort', $order='asc', $arFilter=[], $SHOW_USERS_AMOUNT="N")
Определения group.php:136
static GetTemplateList($site_id)
Определения site.php:540
static GetInstance()
Определения virtual_io.php:60
Определения quota.php:6
static Log($SEVERITY, $AUDIT_TYPE_ID, $MODULE_ID, $ITEM_ID, $DESCRIPTION=false, $SITE_ID=false)
Определения event_log.php:32
static GetPropstypes($site="")
Определения fileman.php:2077
static SaveMenu($path, $aMenuLinksTmp, $sMenuTemplateTmp="")
Определения fileman.php:258
static GetMenuArray($abs_path)
Определения fileman.php:321
static Init($Params)
Определения fileman_utils.php:1912
Определения jspopup.php:10
Определения menu.php:13
static GetTemplate($template, $arSiteTemplates=array())
Определения page_template.php:94
static GetByID($ID)
Определения site_template.php:142
static ShowUndoMessage($ID)
Определения undo.php:187
static Add($params=array())
Определения undo.php:9
& nbsp
Определения epilog_main_admin.php:38
$absoluteFilePath
Определения file_delete.php:178
BXCreateSection(&$fileContent, &$sectionFileContent, &$absoluteFilePath, &$sectionPath)
Определения file_new.php:14
$arGroupList
Определения file_new.php:145
hidden PROPERTY[<?=$propertyIndex?>][CODE]<?=htmlspecialcharsEx( $propertyCode)?> height
Определения file_new.php:759
for($fileNumber="";; $fileNumber++) $pageTitle
Определения file_new.php:204
$bPropertyExists
Определения file_new.php:557
if(! $createNewFolder &&IsModuleInstalled("search") $bSearchExists)
Определения file_new.php:539
$pageTags
Определения file_new.php:212
$obPageTemplate
Определения file_new.php:268
endif $jsInheritPropIds
Определения file_new.php:811
$canEditNewPage
Определения file_new.php:72
$menuName
Определения file_new.php:208
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
Определения file_new.php:677
$menuItemPosition
Определения file_new.php:210
$arr
Определения file_new.php:624
</td ></tr ></table ></td ></tr ><?endif?><? $propertyIndex=0;foreach( $arGlobalProperties as $propertyCode=> $propertyValue
Определения file_new.php:729
if(isset( $_REQUEST["templateID"]) &&$_REQUEST["templateID"]<> '') if($templateID===false) $edit_groups
Определения file_new.php:144
$addToMenu
Определения file_new.php:207
$templateID
Определения file_new.php:121
else $wiz_template_html
Определения file_new.php:701
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
BXEditProperty(<?=$propertyIndex?>)" onmouseover $propertyIndex
Определения file_new.php:769
if($_SERVER $arFilemanProperties["REQUEST_METHOD"]=="POST" &&isset($_REQUEST["save"]) && $strWarning=="")
Определения file_new.php:504
$editAfterSave
Определения file_new.php:205
while($group=$gr->Fetch()) $bAdmin
Определения file_new.php:154
$createNewFolder
Определения file_new.php:53
$gr
Определения file_new.php:147
$arGlobalProperties
Определения file_new.php:542
if(CModule::IncludeModule("fileman") &&COption::GetOptionString("fileman", "use_translit", true)) if(IsModuleInstalled("fileman") &&$canEditNewPage)( $editAfterSave ? "checked":"")?> >< label for endifif(!empty( $arMenu))( $addToMenu ? "checked" :"")?> >< label for endif $aUserGroups
Определения file_new.php:623
$bInEditGroups
Определения file_new.php:625
$arEditGroups
Определения file_new.php:146
$arInheritProperties
Определения file_new.php:526
$menuType
Определения file_new.php:209
$arMenu
Определения file_new.php:216
$fileContent
Определения file_property.php:47
$arGroups
Определения options.php:1766
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
if($ajaxMode) $ID
Определения get_user.php:27
$arDirProperties
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $USER
Определения csv_new_run.php:40
$io
Определения csv_new_run.php:98
endif
Определения csv_new_setup.php:990
$success
Определения mail_entry.php:69
SetPrologProperty($prolog, $property_key, $property_val)
Определения admin_tools.php:415
SetPrologTitle($prolog, $title)
Определения admin_tools.php:374
GetTemplateContent($filename, $lang=LANG, $arTemplates=array())
Определения admin_tools.php:12
GetFileTemplates($lang=LANG, $arTemplates=array())
Определения admin_tools.php:35
foreach(['Bitrix\\Main'=> '/lib', 'Psr\\Container'=> '/vendor/psr/container/src', 'Psr\\Log'=> '/vendor/psr/log/src', 'Psr\\Http\\Message'=> '/vendor/psr/http-message/src', 'Psr\\Http\\Client'=> '/vendor/psr/http-client/src', 'Http\\Promise'=> '/vendor/php-http/promise/src', 'PHPMailer\\PHPMailer'=> '/vendor/phpmailer/phpmailer/src', 'GeoIp2'=> '/vendor/geoip2/geoip2/src', 'MaxMind\\Db'=> '/vendor/maxmind-db/reader/src/MaxMind/Db', 'PhpParser'=> '/vendor/nikic/php-parser/lib/PhpParser', 'Recurr'=> '/vendor/simshaun/recurr/src/Recurr',] as $namespace=> $namespacePath) $documentRoot
Определения autoload.php:27
if(!defined('SITE_ID')) $lang
Определения include.php:91
URL bitrix admin public_access_edit php subdialog
Определения structure.php:417
EscapePHPString($str, $encloser='"')
Определения tools.php:4917
check_bitrix_sessid($varname='sessid')
Определения tools.php:4686
ParseFileContent($filesrc, $params=[])
Определения tools.php:4780
GetMenuTypes($site=false, $default_value=false)
Определения tools.php:4728
IsModuleInstalled($module_id)
Определения tools.php:5301
ShowError($strError, $cls="errortext")
Определения tools.php:4499
htmlspecialcharsEx($str)
Определения tools.php:2685
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
Определения tools.php:2701
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$name
Определения menu_edit.php:35
return false
Определения prolog_main_admin.php:185
global_menu_<?echo $menu["menu_id"]?> adm main menu item icon adm main menu item text text adm main menu hover adm submenu menucontainer menu_id menu_id items_id items_id desktop menu_id block none adm global submenu<?=($subMenuDisplay=="block" ? " adm-global-submenu-active" :"")?> global_submenu_<?echo $menu["menu_id"]?> text MAIN_PR_ADMIN_FAV items adm submenu items wrap adm submenu items stretch wrap BX adminMenu itemsStretchScroll()"> <table class if (!empty( $menu["items"])) elseif ( $menu[ 'menu_id']=='desktop') if ( $menu[ 'menu_id']=='desktop') endforeach
Определения prolog_main_admin.php:255
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
<? endif;?> window document title
Определения prolog_main_admin.php:76
$fileName
Определения quickway.php:305
die
Определения quickway.php:367
$i
Определения factura.php:643
font style
Определения invoice.php:442
font size
Определения invoice.php:442
</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
InputTags($sName='', $sValue='', $arSites=[], $sHTML='', $sId='')
Определения tags.php:46
const SITE_ID
Определения sonet_set_content_view.php:12
$GLOBALS['_____370096793']
Определения update_client.php:1
$site
Определения yandex_run.php:614