Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/public/ |
Upload File : |
<?php /** * Bitrix vars * @global CUser $USER * @global CMain $APPLICATION */ require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_js.php"); IncludeModuleLangFile(__FILE__); $strWarning = ""; $arComponent = false; $io = CBXVirtualIo::GetInstance(); $src_path = $io->CombinePath("/", $_GET["src_path"]); $src_line = intval($_GET["src_line"]); if(!$USER->CanDoOperation('edit_php') && !$USER->CanDoFileOperation('fm_lpa', array($_GET["src_site"], $src_path))) die(GetMessage("ACCESS_DENIED")); // try to read parameters from script file /* Try to open script containing the component call */ if(!$src_path || $src_line <= 0) $strWarning = GetMessage("comp_prop_err_param"); else { $abs_path = $io->RelativeToAbsolutePath($src_path); $f = $io->GetFile($abs_path); $filesrc = $f->GetContents(); if(!$filesrc || $filesrc == "") $strWarning = GetMessage("comp_prop_err_open"); } if($strWarning == "") { $arComponent = PHPParser::FindComponent($_GET["component_name"], $filesrc, $src_line); if($arComponent === false) $strWarning = GetMessage("comp_prop_err_comp"); } if($strWarning == "") { if(!check_bitrix_sessid()) { $strWarning = GetMessage("comp_prop_err_save"); } else { if(!is_array($arComponent["DATA"]["FUNCTION_PARAMS"])) $arComponent["DATA"]["FUNCTION_PARAMS"] = array(); $arComponent["DATA"]["FUNCTION_PARAMS"]["ACTIVE_COMPONENT"] = ($_GET['active'] == 'N'? 'N':'Y'); $code = PHPParser::buildComponentCode($arComponent); $filesrc_for_save = mb_substr($filesrc, 0, $arComponent["START"]).$code.mb_substr($filesrc, $arComponent["END"]); $f = $io->GetFile($abs_path); $arUndoParams = array( 'module' => 'fileman', 'undoType' => $_GET['active'] == 'N'? 'disable_component' : 'enable_component' , 'undoHandler' => 'CFileman::UndoEditFile', 'arContent' => array( 'absPath' => $abs_path, 'content' => $f->GetContents() ) ); if(!$APPLICATION->SaveFileContent($abs_path, $filesrc_for_save)) $strWarning = GetMessage("comp_prop_err_save"); else CUndo::ShowUndoMessage(CUndo::Add($arUndoParams)); } } if($strWarning <> "") echo "<script>alert('".CUtil::JSEscape($strWarning)."')</script>"; require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin_js.php");