Exemple #1
0
function __DSGetInitData()
{
    $map = new \Bitrix\MobileApp\Designer\ConfigMap();
    $params = $map->getParamsByGroups();
    $groups = array_keys($params);
    $tmpLangs = array_change_key_case($map->getLangMessages(), CASE_LOWER);
    $langs = array();
    foreach ($tmpLangs as $k => $v) {
        $langs[str_replace("_", "/", $k)] = $v;
    }
    $result = \Bitrix\Mobileapp\Designer\AppTable::getList(array("select" => array("CODE", "FOLDER", "DESCRIPTION", "SHORT_NAME", "NAME", "CONFIG.PLATFORM", "CONFIG.PARAMS")));
    $fetchedApps = $result->fetchAll();
    $apps = array();
    $count = count($fetchedApps);
    for ($i = 0; $i < $count; $i++) {
        $apps[] = array("code" => $fetchedApps[$i]["CODE"], "name" => $fetchedApps[$i]["NAME"], "folder" => $fetchedApps[$i]["FOLDER"], "desc" => $fetchedApps[$i]["DESCRIPTION"], "params" => $fetchedApps[$i]["MOBILEAPP_DESIGNER_APP_CONFIG_PARAMS"], "platform" => $fetchedApps[$i]["MOBILEAPP_DESIGNER_APP_CONFIG_PLATFORM"]);
    }
    $dbres = \CSiteTemplate::GetList();
    $templates = array();
    while ($t = $dbres->Fetch()) {
        $templates[] = $t;
    }
    $data = array("map" => array("groups" => $groups, "groupedParams" => $params, "params" => $map->getDescriptionConfig(), "lang" => $tmpLangs), "apps" => $apps, "templates" => $templates);
    return $data;
}
 public static function GetComponentProperties($name = '', $template = '', $siteTemplate = '', $currentValues = array())
 {
     $template = !$template || $template == '.default' ? '' : $template;
     $arTemplates = CComponentUtil::GetTemplatesList($name, $siteTemplate);
     $result = array('templates' => array());
     $arSiteTemplates = array(".default" => GetMessage("PAR_MAN_DEFAULT"));
     if (!empty($siteTemplate)) {
         $dbst = CSiteTemplate::GetList(array(), array("ID" => $siteTemplate), array());
         while ($siteTempl = $dbst->Fetch()) {
             $arSiteTemplates[$siteTempl['ID']] = $siteTempl['NAME'];
         }
     }
     foreach ($arTemplates as $k => $templ) {
         $showTemplateName = $templ["TEMPLATE"] !== '' && $arSiteTemplates[$templ["TEMPLATE"]] != '' ? $arSiteTemplates[$templ["TEMPLATE"]] : GetMessage("PAR_MAN_DEF_TEMPLATE");
         $arTemplates[$k]['DISPLAY_NAME'] = $templ['NAME'] . ' (' . $showTemplateName . ')';
     }
     $arTemplateProps = array();
     if (is_array($arTemplates)) {
         foreach ($arTemplates as $arTemplate) {
             $result['templates'][] = $arTemplate;
             $tName = !$arTemplate['NAME'] || $arTemplate['NAME'] == '.default' ? '' : $arTemplate['NAME'];
             if ($tName == $template) {
                 $arTemplateProps = CComponentUtil::GetTemplateProps($name, $arTemplate['NAME'], $siteTemplate, $currentValues);
             }
         }
     }
     $result['parameters'] = array();
     $arProps = CComponentUtil::GetComponentProps($name, $currentValues, $arTemplateProps);
     $result['tooltips'] = self::FetchHelp($name);
     if (!isset($arProps['GROUPS']) || !is_array($arProps['GROUPS'])) {
         $arProps['GROUPS'] = array();
     }
     if (!isset($arProps['PARAMETERS']) || !is_array($arProps['PARAMETERS'])) {
         $arProps['PARAMETERS'] = array();
     }
     $result['groups'] = array();
     foreach ($arProps['GROUPS'] as $k => $arGroup) {
         $arGroup['ID'] = $k;
         $result['groups'][] = $arGroup;
     }
     foreach ($arProps['PARAMETERS'] as $k => $arParam) {
         $arParam['ID'] = preg_replace("/[^a-zA-Z0-9_-]/is", "_", $k);
         if (!isset($arParam['PARENT'])) {
             $arParam['PARENT'] = 'ADDITIONAL_SETTINGS';
         }
         $result['parameters'][] = $arParam;
         if ($arParam['TYPE'] == 'FILE') {
             self::$fileDialogs[] = array('NAME' => $arParam['ID'], 'TARGET' => isset($arParam['FD_TARGET']) ? $arParam['FD_TARGET'] : 'F', 'EXT' => isset($arParam['FD_EXT']) ? $arParam['FD_EXT'] : '', 'UPLOAD' => isset($arParam['FD_UPLOAD']) && $arParam['FD_UPLOAD'] && $arParam['FD_TARGET'] == 'F', 'USE_ML' => isset($arParam['FD_USE_MEDIALIB']) && $arParam['FD_USE_MEDIALIB'], 'ONLY_ML' => isset($arParam['FD_USE_ONLY_MEDIALIB']) && $arParam['FD_USE_ONLY_MEDIALIB'], 'ML_TYPES' => isset($arParam['FD_MEDIALIB_TYPES']) ? $arParam['FD_MEDIALIB_TYPES'] : false);
         }
         // TOOLTIPS FROM .parameters langs
         if (!isset($result['tooltips'][$arParam['ID'] . '_TIP'])) {
             $tip = GetMessage($arParam['ID'] . '_TIP');
             if ($tip) {
                 $result['tooltips'][$arParam['ID'] . '_TIP'] = $tip;
             }
         }
     }
     return $result;
 }
Exemple #3
0
    function ShowHTMLEditControl($name, $content, $arParams = array())
    {
        global $USER;
        // We have to avoid of showing HTML-editor with probably unsecure content when loosing the session [mantis:#0007986]
        if ($_SERVER["REQUEST_METHOD"] == "POST" && !check_bitrix_sessid()) {
            return;
        }
        CUtil::InitJSCore(array('window', 'ajax'));
        $relPath = isset($arParams["path"]) ? $arParams["path"] : "/";
        $site = isset($arParams["site"]) ? $arParams["site"] : "";
        $__path = Rel2Abs("/", $relPath);
        $site = CFileMan::__CheckSite($site);
        $name = preg_replace("/[^a-zA-Z0-9_:\\.]/is", "", $name);
        if (!isset($arParams["limit_php_access"])) {
            $arParams["limit_php_access"] = false;
        }
        $arParams["light_mode"] = defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1 || isset($arParams["light_mode"]) && $arParams["light_mode"] == 'Y';
        $io = CBXVirtualIo::GetInstance();
        $direction_rtl = false;
        if ($site) {
            $DOC_ROOT = CSite::GetSiteDocRoot($site);
            $abs_path = $DOC_ROOT . $__path;
            if ($io->FileExists($abs_path)) {
                $relPath = substr($relPath, 0, strrpos($relPath, "/"));
                if ($relPath == "") {
                    $relPath = "/";
                }
            }
        }
        static $bFirstUsed;
        $template = $arParams["templateID"];
        if (!isset($template) && defined('SITE_TEMPLATE_ID')) {
            $template = SITE_TEMPLATE_ID;
        }
        if (!isset($template) && isset($_GET['siteTemplateId'])) {
            $template = $_GET['siteTemplateId'];
        }
        if (!isset($template) && isset($site)) {
            $dbSiteRes = CSite::GetTemplateList($site);
            $SITE_TEMPLATE = array();
            while ($arSiteRes = $dbSiteRes->Fetch()) {
                if ($arSiteRes['CONDITION'] == "" || !isset($template)) {
                    $template = $arSiteRes['TEMPLATE'];
                }
            }
        }
        if (isset($arParams['use_editor_3'])) {
            $useEditor3 = $arParams['use_editor_3'] == "Y";
        } else {
            $useEditor3 = COption::GetOptionString('fileman', "use_editor_3", "Y") == "Y";
        }
        if ($useEditor3) {
            $Editor = new CHTMLEditor();
            $Editor->Show(array('name' => $name, 'id' => $name, 'siteId' => $arParams["site"], 'width' => $arParams["width"], 'height' => $arParams["height"], 'content' => $content, 'bAllowPhp' => !$arParams["bWithoutPHP"] && $USER->CanDoOperation('edit_php'), "limitPhpAccess" => $arParams["limit_php_access"], "display" => $arParams['bDisplay'], "componentFilter" => isset($arParams['componentFilter']) ? $arParams['componentFilter'] : false, "setFocusAfterShow" => isset($arParams['setFocusAfterShow']) ? $arParams['setFocusAfterShow'] : true, "relPath" => $relPath, "templateId" => $template));
            return;
        }
        //Taskbars
        $arTaskbars = isset($arParams["arTaskbars"]) ? $arParams["arTaskbars"] : array();
        //Toolbars
        $arToolbars = isset($arParams["arToolbars"]) ? $arParams["arToolbars"] : false;
        // Toolbar config
        $arParams["toolbarConfig"] = is_array($arParams["toolbarConfig"]) ? $arParams["toolbarConfig"] : false;
        $arParams["use_advanced_php_parser"] = COption::GetOptionString("fileman", "use_advanced_php_parser", "Y");
        $arParams["ar_entities"] = COption::GetOptionString("fileman", "ar_entities", 'umlya,greek,other');
        if ($arParams["ar_entities"] == 'none') {
            $arParams["ar_entities"] = '';
        }
        if (!isset($arParams["usePspell"])) {
            $arParams["usePspell"] = COption::GetOptionString("fileman", "use_pspell", "N");
        }
        if (!isset($arParams["useCustomSpell"])) {
            $arParams["useCustomSpell"] = COption::GetOptionString("fileman", "use_custom_spell", "Y");
        }
        $arParams['allowRenderComp2'] = COption::GetOptionString('fileman', "allow_render_components", "N") == 'Y';
        $arParams['renderComponents'] = $arParams['allowRenderComp2'] && CUserOptions::GetOption('fileman', "render_components", "Y") == 'Y';
        $lca = COption::GetOptionString("fileman", "use_lca", "N");
        $styleList_render_style = COption::GetOptionString("fileman", "render_styles_in_classlist", "Y") == 'Y' ? 'true' : 'false';
        $arAdditionalParams = isset($arParams["arAdditionalParams"]) ? $arParams["arAdditionalParams"] : array();
        $arResult = CFileman::GetAllTemplateParams($template, $site, $arParams["bWithoutPHP"] != true, $arAdditionalParams);
        $arParams["TEMPLATE"] = $arResult;
        if ($bUseOnlyDefinedStyles && !is_set($arResult, "STYLES_TITLE")) {
            $bUseOnlyDefinedStyles = false;
        }
        $arParams["body_class"] = COption::GetOptionString("fileman", "editor_body_class", "");
        $arParams["body_id"] = COption::GetOptionString("fileman", "editor_body_id", "");
        ?>
		<script bxrunfirst="true">
			var relPath = "<?php 
        echo CUtil::JSEscape($relPath);
        ?>
";
			var <?php 
        echo 'ar_' . $name . '_taskbars';
        ?>
 = {};
			<?php 
        for ($k = 0, $l = count($arTaskbars); $k < $l; $k++) {
            echo 'ar_' . $name . '_taskbars["' . $arTaskbars[$k] . '"] = true;';
        }
        if ($arToolbars !== false) {
            echo 'var  ar_' . $name . '_toolbars = {};';
            for ($k = 0, $l = count($arToolbars); $k < $l; $k++) {
                echo 'ar_' . $name . '_toolbars["' . $arToolbars[$k] . '"] = true;';
            }
        } else {
            echo 'var  ar_' . $name . '_toolbars = false;';
        }
        ?>

			window.ar_<?php 
        echo $name;
        ?>
_config = <?php 
        echo CUtil::PhpToJSObject($arParams);
        ?>
; // editor-config
		</script>
		<?php 
        $str_taskbars = "";
        CFileman::GetHTMLEditorSettings($name, $arParams["light_mode"], $arTaskbars, $str_taskbars);
        $str_taskbars .= '_' . CFileman::GetVersion();
        if (!$bFirstUsed) {
            $arTemplates = array(array('value' => '.default', 'name' => GetMessage("FILEMAN_DEFTEMPL")));
            $db_site_templates = CSiteTemplate::GetList(array(), array(), array());
            while ($ar_site_templates = $db_site_templates->Fetch()) {
                $arTemplates[] = array('value' => $ar_site_templates['ID'], 'name' => $ar_site_templates['NAME']);
            }
            ?>
			<script bxrunfirst="true">
				var
					arBXTemplates = <?php 
            echo CUtil::PhpToJSObject($arTemplates);
            ?>
,
					BXSite = "<?php 
            echo CUtil::JSEscape($site);
            ?>
",
					BXLang = "<?php 
            echo CUtil::JSEscape(LANGUAGE_ID);
            ?>
",
					styleList_render_style = <?php 
            echo $styleList_render_style;
            ?>
,
					limit_php_access = <?php 
            echo $arParams["limit_php_access"] ? 'true' : 'false';
            ?>
,
					lca = <?php 
            echo $lca == 'Y' ? 'true' : 'false';
            ?>
,
					lightMode = <?php 
            echo $arParams["light_mode"] ? 'true' : 'false';
            ?>
,
					BX_PERSONAL_ROOT = "<?php 
            echo BX_PERSONAL_ROOT;
            ?>
";

				window.limit_php_access = top.limit_php_access = limit_php_access;
				window.lightMode = top.lightMode = lightMode;
				window.lca = top.lca = lca;
				window.BXLang = top.BXLang = BXLang;
				window.BXSite = top.BXSite = BXSite;
				window.BX_PERSONAL_ROOT = top.BX_PERSONAL_ROOT = BX_PERSONAL_ROOT;
			</script>
			<?php 
            $arJS = array();
            $arCSS = array();
            $events = GetModuleEvents("fileman", "OnBeforeHTMLEditorScriptsGet");
            while ($arEvent = $events->Fetch()) {
                $tmp = ExecuteModuleEventEx($arEvent, array($name, $arParams));
                if (!is_array($tmp)) {
                    continue;
                }
                if (is_array($tmp['JS'])) {
                    $arJS = array_merge($arJS, $tmp['JS']);
                }
                if (is_array($tmp['CSS'])) {
                    $arCSS = array_merge($arCSS, $tmp['CSS']);
                }
            }
            $arr = array();
            // Additional JS files from event OnBeforeHtmlEditorScriptGet
            for ($i = 0, $c = count($arJS); $i < $c; $i++) {
                $arJS[$i] = preg_replace("/[^a-zA-Z0-9_:\\.]/is", "", $arJS[$i]);
                if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/htmleditor2/' . $arJS[$i])) {
                    $arr[] = $arJS[$i];
                }
            }
            ?>
			<script type="text/javascript" src="/bitrix/admin/fileman_js.php?lang=<?php 
            echo LANGUAGE_ID;
            ?>
&v=<?php 
            echo @filemtime($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/fileman/lang/' . LANGUAGE_ID . '/admin/fileman_js.php');
            ?>
"></script>
			<script type="text/javascript" src="/bitrix/admin/fileman_common_js.php?s=<?php 
            echo $str_taskbars;
            ?>
"></script>
			<?php 
            for ($i = 0, $l = count($arr); $i < $l; $i++) {
                $script_filename = $arr[$i];
                ?>
<script type="text/javascript" src="/bitrix/admin/htmleditor2/<?php 
                echo $script_filename;
                ?>
?v=<?php 
                echo @filemtime($_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/htmleditor2/' . $script_filename);
                ?>
"></script><?php 
            }
            ?>
			<script type="text/javascript" src="/bitrix/js/main/popup_menu.js?v=<?php 
            echo @filemtime($_SERVER['DOCUMENT_ROOT'] . '/bitrix/js/main/popup_menu.js');
            ?>
"></script>
			<?php 
            for ($i = 0, $l = count($arCSS); $i < $l; $i++) {
                $arCSS[$i] = preg_replace("/[^a-zA-Z0-9_:\\.]/is", "", $arCSS[$i]);
                if (!file_exists($_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/htmleditor2/' . $arCSS[$i])) {
                    continue;
                }
                ?>
<link rel="stylesheet" type="text/css" href="/bitrix/admin/htmleditor2/<?php 
                echo $arCSS[$i];
                ?>
?v=<?php 
                echo @filemtime($_SERVER['DOCUMENT_ROOT'] . '/bitrix/admin/htmleditor2/' . $arCSS[$i]);
                ?>
"/><?php 
            }
            $db_events = GetModuleEvents("fileman", "OnIncludeHTMLEditorScript");
            while ($arEvent = $db_events->Fetch()) {
                ExecuteModuleEventEx($arEvent);
            }
            $bFirstUsed = true;
        }
        ?>
		<div class="bxedmain-cont" id="<?php 
        echo $name . '_object';
        ?>
"><table id="<?php 
        echo $name;
        ?>
_pFrame" class="bxedmainframe dim100x100" style="display:none;">
				<tr style="height: 1%;"><td id="<?php 
        echo $name;
        ?>
_toolBarSet0" colspan="2" style="width: 100%; display: none; border-bottom: 1px solid #808080 !important;"></td></tr>
				<tr>
					<td id="<?php 
        echo $name;
        ?>
_toolBarSet1" style="width:0%; display: none; border-right: 1px solid #808080 !important;"></td>
					<td vAlign="top" style="width: 4000px; padding: 0!important;">
						<table class="dim100x100">
							<tr>
								<td class="bx-ceditor" id="<?php 
        echo $name;
        ?>
_cEditor"></td>
								<td id="<?php 
        echo $name;
        ?>
_taskBarSet2" class="bxedtaskbarset" style="width:0%; display: none;">
									<table>
										<tr><td class="bx-move-col-v" rowSpan="3"><img src="/bitrix/images/1.gif" /></td><td style="height:26px;"></td></tr>
										<tr><td style="vertical-align: top;"></td></tr>
										<tr><td class="bx-taskbar-tabs"></td></tr>
									</table>
								</td>
							</tr>
							<tr style="height:0%; display: none;">
								<td id="<?php 
        echo $name;
        ?>
_taskBarSet3" colspan="2">
									<table>
										<tr><td class="bx-move-col-h"><img src="/bitrix/images/1.gif" /></td></tr>
										<tr><td style="height:26px;"></td></tr>
										<tr><td style="vertical-align: top; background: #F4F4F4 none !important;"></td></tr>
										<tr><td class="bx-taskbar-tabs"></td></tr>
									</table>
								</td>
							</tr>
						</table>
					</td>
				</tr>
				<tr id="bx-css-tt"><td id="<?php 
        echo $name;
        ?>
_taskBarTabs" colspan="2" class="tasktabcell"></td></tr>
			</table>
		</div>
		<script>
			BX.loadCSS('/bitrix/admin/htmleditor2/editor.css');
			var bEd = BX("bxed_<?php 
        echo $name;
        ?>
_editor");
			if (bEd && !bEd.checked)
				BX("<?php 
        echo $name;
        ?>
_object").style.display = "none";
		</script>
		<?php 
        if (!$arParams["bFromTextarea"]) {
            echo '<input type="hidden" name="' . $name . '" id="bxed_' . $name . '" value="' . htmlspecialcharsbx($content) . '">';
        }
        if ($arParams["bDisplay"] !== false) {
            setEditorEventHandlers($name);
            ?>
			<script>
				BX.ready(function(){
					BX.showWait();
					BX("bxed_<?php 
            echo $name;
            ?>
").pMainObj  = new BXHTMLEditor("<?php 
            echo $name;
            ?>
");
				});
			</script>
		<?php 
        }
    }
Exemple #4
0
 function Update($ID, $arFields)
 {
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     if (!$this->CheckFields($arFields, $ID)) {
         return false;
     }
     CheckDirPath($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID);
     if (is_set($arFields, "CONTENT")) {
         $p = strpos($arFields["CONTENT"], "#WORK_AREA#");
         $header = substr($arFields["CONTENT"], 0, $p);
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID . "/header.php", $header);
         $footer = substr($arFields["CONTENT"], $p + strlen("#WORK_AREA#"));
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID . "/footer.php", $footer);
     }
     if (is_set($arFields, "STYLES")) {
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID . "/styles.css", $arFields["STYLES"]);
     }
     if (is_set($arFields, "TEMPLATE_STYLES")) {
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID . "/template_styles.css", $arFields["TEMPLATE_STYLES"]);
     }
     if (is_set($arFields, "NAME") || is_set($arFields, "DESCRIPTION")) {
         $db_t = CSiteTemplate::GetList(array(), array("ID" => $ID));
         $ar_t = $db_t->Fetch();
         if (!is_set($arFields, "NAME")) {
             $arFields["NAME"] = $ar_t["NAME"];
         }
         if (!is_set($arFields, "DESCRIPTION")) {
             $arFields["DESCRIPTION"] = $ar_t["DESCRIPTION"];
         }
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID . "/description.php", '<' . '?' . '$arTemplate = array("NAME"=>"' . EscapePHPString($arFields['NAME']) . '", "DESCRIPTION"=>"' . EscapePHPString($arFields['DESCRIPTION']) . '");' . '?' . '>');
     }
     return true;
 }
Exemple #5
0
                ?>
');
</script>
			<?php 
                break;
            case "copy":
                $from = getLocalPath("templates/" . $ID, BX_PERSONAL_ROOT);
                $to = substr($from, 0, -strlen($ID)) . ($ID == ".default" ? "default" : $ID) . "_copy";
                CopyDirFiles($_SERVER["DOCUMENT_ROOT"] . $from, $_SERVER["DOCUMENT_ROOT"] . $to, false, true);
                break;
        }
    }
}
/** @global string $by */
/** @global string $order */
$rsData = CSiteTemplate::GetList(array($by => $order), array(), array("ID", "NAME", "DESCRIPTION", "SCREENSHOT", "SORT"));
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"), false));
$lAdmin->AddHeaders(array(array("id" => "SCREENSHOT", "content" => GetMessage("site_templ_edit_screen"), "default" => true), array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "NAME", "content" => GetMessage('MAIN_T_ADMIN_NAME'), "sort" => "name", "default" => true), array("id" => "DESCRIPTION", "content" => GetMessage('MAIN_T_ADMIN_DESCRIPTION'), "sort" => "description", "default" => true), array("id" => "SORT", "content" => GetMessage("site_templ_edit_sort"), "sort" => "sort", "default" => true)));
while ($arRes = $rsData->NavNext(true, "f_")) {
    $u_ID = urlencode($f_ID);
    $row =& $lAdmin->AddRow($f_ID, $arRes, "template_edit.php?ID=" . $u_ID, GetMessage("MAIN_EDIT_TITLE"));
    $row->AddViewField("SCREENSHOT", $f_SCREENSHOT != '' ? CFile::Show2Images($f_PREVIEW != '' ? $f_PREVIEW : $f_SCREENSHOT, $f_SCREENSHOT, 130, 100, "border=0") : '');
    $row->AddViewField("ID", '<a href="template_edit.php?lang=' . LANGUAGE_ID . '&amp;ID=' . $u_ID . '" title="' . GetMessage("MAIN_EDIT_TITLE") . '">' . $f_ID . '</a>');
    if ($edit_php) {
        $row->AddInputField("NAME");
        $row->AddInputField("DESCRIPTION");
        $row->AddInputField("SORT");
    } else {
        $row->AddViewField("NAME", $f_NAME);
Exemple #6
0
 function Update($ID, $arFields)
 {
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     if (!$this->CheckFields($arFields, $ID)) {
         return false;
     }
     $path = getLocalPath("templates/" . $ID, BX_PERSONAL_ROOT);
     if ($path === false) {
         return false;
     }
     if (isset($arFields["CONTENT"])) {
         $p = strpos($arFields["CONTENT"], "#WORK_AREA#");
         $header = substr($arFields["CONTENT"], 0, $p);
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/header.php", $header);
         $footer = substr($arFields["CONTENT"], $p + strlen("#WORK_AREA#"));
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/footer.php", $footer);
     }
     if (isset($arFields["STYLES"])) {
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/styles.css", $arFields["STYLES"]);
     }
     if (isset($arFields["TEMPLATE_STYLES"])) {
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/template_styles.css", $arFields["TEMPLATE_STYLES"]);
     }
     if (isset($arFields["NAME"]) || isset($arFields["DESCRIPTION"]) || isset($arFields["SORT"])) {
         $db_t = CSiteTemplate::GetList(array(), array("ID" => $ID), array("NAME", "DESCRIPTION", "SORT"));
         $ar_t = $db_t->Fetch();
         if (!isset($arFields["NAME"])) {
             $arFields["NAME"] = $ar_t["NAME"];
         }
         if (!isset($arFields["DESCRIPTION"])) {
             $arFields["DESCRIPTION"] = $ar_t["DESCRIPTION"];
         }
         if (!isset($arFields["SORT"])) {
             $arFields["SORT"] = $ar_t["SORT"];
         }
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/description.php", '<' . '?' . '$arTemplate = array(' . "\n" . '	"NAME" => "' . EscapePHPString($arFields['NAME']) . '",' . "\n" . '	"DESCRIPTION" => "' . EscapePHPString($arFields['DESCRIPTION']) . '",' . "\n" . '	"SORT" => ' . (intval($arFields['SORT']) > 0 ? intval($arFields['SORT']) : '""') . ',' . "\n" . ');' . "\n" . '?' . '>');
     }
     if (isset($arFields["STYLES_DESCRIPTION"]) && is_array($arFields["STYLES_DESCRIPTION"])) {
         $str = '<' . '?' . "\nreturn array(\n";
         foreach ($arFields["STYLES_DESCRIPTION"] as $code => $val) {
             $str .= "\t\"" . EscapePHPString($code) . '" => "' . EscapePHPString($val) . "\",\n";
         }
         $str .= ");\n" . '?' . '>';
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/.styles.php", $str);
     }
     return true;
 }
Exemple #7
0
 /**
  * @return array
  * @throws \Bitrix\Main\ArgumentException
  */
 public static function onPresetTemplateListSite($templateType = null, $templateId = null)
 {
     $resultList = array();
     if ($templateType && $templateType !== 'SITE_TMPL') {
         return $resultList;
     }
     $by = 'SORT';
     $order = 'ASC';
     $filter = array('TYPE' => 'mail');
     if ($templateId) {
         $filter['ID'] = $templateId;
     }
     $templateDb = \CSiteTemplate::GetList(array($by => $order), $filter, array("ID", "NAME", "CONTENT", "SCREENSHOT"));
     \Bitrix\Main\Loader::includeModule('fileman');
     $replaceAttr = Editor::BLOCK_PLACE_ATTR . '="' . Editor::BLOCK_PLACE_ATTR_DEF_VALUE . '"';
     $replaceText = '<div style="padding: 20px; border: 2px dashed #868686;"><span style="color: #868686; font-size: 20px;">' . Loc::getMessage('PRESET_TEMPLATE_LIST_SITE_DEF_TEXT') . '</span></div>';
     while ($template = $templateDb->Fetch()) {
         if ($template['ID'] == 'mail_user') {
             continue;
         }
         $replaceTo = $replaceText;
         $html = $template['CONTENT'];
         $html = preg_replace('/<\\?[\\w\\w].*?B_PROLOG_INCLUDED[^>].*?\\?>/is', '', $html);
         if (stripos($html, $replaceAttr) === false) {
             $replaceTo = '<div id="bxStylistBody" ' . $replaceAttr . '>' . $replaceText . '</div>';
         }
         $html = str_replace('#WORK_AREA#', $replaceTo, $html);
         $resultList[] = array('TYPE' => 'SITE_TMPL', 'ID' => $template['ID'], 'NAME' => $template['NAME'], 'ICON' => $template['SCREENSHOT'], 'HTML' => $html);
     }
     return $resultList;
 }
Exemple #8
0
	public static function GetSiteTemplates()
	{
		$arTemplates = Array(Array('value' => '.default', 'name' => GetMessage("FILEMAN_DEFTEMPL")));
		$db_site_templates = CSiteTemplate::GetList(array(), array(), array());
		while($ar = $db_site_templates->Fetch())
		{
			$arTemplates[] = Array('value'=>$ar['ID'], 'name'=> $ar['NAME']);
		}

		return $arTemplates;
	}
Exemple #9
0
						else
							continue;
					}

					$SITE_TEMPLATE[$key] = array(
						"TEMPLATE" => $val['TEMPLATE'],
						"SORT" => $val['SORT'],
						"CONDITION" => $cond
					);
				}

			}

			//templates
			$arSiteTemplates = array();
			$db_res = CSiteTemplate::GetList();
			while($arRes = $db_res->GetNext())
				$arSiteTemplates[] = $arRes;

			foreach($SITE_TEMPLATE as $i=>$val):
				ConditionParse($val['CONDITION']);
			?>
			<tr>
				<td>
					<select name="SITE_TEMPLATE[<?php 
echo $i;
?>
][TEMPLATE]" id="SITE_TEMPLATE[<?php 
echo $i;
?>
][TEMPLATE]">
Exemple #10
0
                ?>
');
</script>
			<?php 
                break;
            case "copy":
                $from = getLocalPath("templates/" . $ID, BX_PERSONAL_ROOT);
                $to = substr($from, 0, -strlen($ID)) . ($ID == ".default" ? "default" : $ID) . "_copy";
                CopyDirFiles($_SERVER["DOCUMENT_ROOT"] . $from, $_SERVER["DOCUMENT_ROOT"] . $to, false, true);
                break;
        }
    }
}
/** @global string $by */
/** @global string $order */
$rsData = CSiteTemplate::GetList(array($by => $order), array('TYPE' => $isEditingMessageThemePage ? 'mail' : ''), array("ID", "NAME", "DESCRIPTION", "SCREENSHOT", "SORT"));
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"), false));
$lAdmin->AddHeaders(array(array("id" => "SCREENSHOT", "content" => GetMessage("site_templ_edit_screen"), "default" => true), array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "NAME", "content" => GetMessage('MAIN_T_ADMIN_NAME'), "sort" => "name", "default" => true), array("id" => "DESCRIPTION", "content" => GetMessage('MAIN_T_ADMIN_DESCRIPTION'), "sort" => "description", "default" => true), array("id" => "SORT", "content" => GetMessage("site_templ_edit_sort"), "sort" => "sort", "default" => true)));
while ($arRes = $rsData->NavNext(true, "f_")) {
    $u_ID = urlencode($f_ID);
    $row =& $lAdmin->AddRow($f_ID, $arRes, ($isEditingMessageThemePage ? "message_theme_edit.php" : "template_edit.php") . "?ID=" . $u_ID, GetMessage("MAIN_EDIT_TITLE"));
    $row->AddViewField("SCREENSHOT", $f_SCREENSHOT != '' ? CFile::Show2Images($f_PREVIEW != '' ? $f_PREVIEW : $f_SCREENSHOT, $f_SCREENSHOT, 130, 100, "border=0") : '');
    $row->AddViewField("ID", '<a href="' . ($isEditingMessageThemePage ? "message_theme_edit.php" : "template_edit.php") . '?lang=' . LANGUAGE_ID . '&amp;ID=' . $u_ID . '" title="' . GetMessage("MAIN_EDIT_TITLE") . '">' . $f_ID . '</a>');
    if ($edit_php) {
        $row->AddInputField("NAME");
        $row->AddInputField("DESCRIPTION");
        $row->AddInputField("SORT");
    } else {
        $row->AddViewField("NAME", $f_NAME);
Exemple #11
0
        $str_LID[] = $ar_LID["LID"];
    }
    $attachmentFileDb = \Bitrix\Main\Mail\Internal\EventMessageAttachmentTable::getList(array('select' => array('FILE_ID'), 'filter' => array('EVENT_MESSAGE_ID' => $ID)));
    while ($ar = $attachmentFileDb->fetch()) {
        if ($arFileFetch = CFile::GetFileArray($ar['FILE_ID'])) {
            $arEventMessageFile[] = $arFileFetch;
        }
    }
}
if ($bVarsFromForm) {
    $str_LID = $LID;
    $DB->InitTableVarsForEdit("b_event_message", "", "str_");
    $str_ADDITIONAL_FIELD = $ADDITIONAL_FIELD;
}
$arMailSiteTemplate = array();
$mailSiteTemplateDb = CSiteTemplate::GetList(null, array('TYPE' => 'mail'));
while ($mailSiteTemplate = $mailSiteTemplateDb->GetNext()) {
    $arMailSiteTemplate[] = $mailSiteTemplate;
}
if (!$isUserHavePhpAccess) {
    $str_MESSAGE = htmlspecialcharsbx(LPA::PrepareContent(htmlspecialcharsback($str_MESSAGE)));
}
if ($ID > 0 && $COPY_ID <= 0) {
    $APPLICATION->SetTitle(str_replace("#ID#", "{$ID}", GetMessage("EDIT_MESSAGE_TITLE")));
} else {
    $APPLICATION->SetTitle(GetMessage("NEW_MESSAGE_TITLE"));
}
require $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_admin_after.php";
?>
<form method="POST" action="<?php 
echo $APPLICATION->GetCurPage();
Exemple #12
0
echo $sCurrentTemplateName;
?>
</b><?php 
if ($templateSiteTemplate == "") {
    ?>
 (<?php 
    echo GetMessage("comp_templ_system");
    ?>
)<?php 
}
?>
</td>
	</tr>
<?php 
$arSiteTemplates = array(".default" => GetMessage("comp_templ_def_templ"));
$db_site_templates = CSiteTemplate::GetList(array("sort" => "asc", "name" => "asc"), array(), array());
while ($ar_site_templates = $db_site_templates->Fetch()) {
    $arSiteTemplates[$ar_site_templates['ID']] = $ar_site_templates['NAME'];
}
if ($templateSiteTemplate != "") {
    $sSiteTemplate = $arSiteTemplates[$templateSiteTemplate];
    ?>
	<tr>
		<td class="bx-popup-label bx-width50"><?php 
    echo GetMessage("comp_templ_cur_site_template");
    ?>
:</td>
		<td><b><?php 
    echo htmlspecialcharsbx($templateSiteTemplate);
    ?>
</b><?php 
Exemple #13
0
}
</script>
<table cellspacing="0" class="bx-width100">
	<tr>
		<td class="bx-popup-label bx-width50"><?php 
echo GetMessage("comp_templ_cur_template");
?>
:</td>
		<td><b><?php 
echo $sCurrentTemplateName;
?>
</b><?if($templateSiteTemplate==""):?> (<?echo GetMessage("comp_templ_system")?>)<?endif?></td>
	</tr>
<?
$arSiteTemplates = array(".default"=>GetMessage("comp_templ_def_templ"));
$db_site_templates = CSiteTemplate::GetList(array(), array(), array());
while($ar_site_templates = $db_site_templates->Fetch())
	$arSiteTemplates[$ar_site_templates['ID']] = $ar_site_templates['NAME'];

if($templateSiteTemplate<>""):
	$sSiteTemplate = $arSiteTemplates[$templateSiteTemplate];
?>
	<tr>
		<td class="bx-popup-label bx-width50"><?php 
echo GetMessage("comp_templ_cur_site_template");
?>
:</td>
		<td><b><?php 
echo htmlspecialcharsbx($templateSiteTemplate);
?>
</b><?if($sSiteTemplate <> "") echo " (".htmlspecialcharsbx($sSiteTemplate).")"?></td>
Exemple #14
0
	public static function AddPagerSettings(&$arComponentParameters, $pager_title, $bDescNumbering=true, $bShowAllParam=false)
	{
		$arHiddenTemplates = array(
			'js' => true
		);
		if (!isset($arComponentParameters['GROUPS']))
			$arComponentParameters['GROUPS'] = array();
		$arComponentParameters["GROUPS"]["PAGER_SETTINGS"] = array(
			"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_SETTINGS"),
		);

		$arTemplateInfo = CComponentUtil::GetTemplatesList('freetrix:system.pagenavigation');
		if (empty($arTemplateInfo))
		{
			$arComponentParameters["PARAMETERS"]["PAGER_TEMPLATE"] = Array(
				"PARENT" => "PAGER_SETTINGS",
				"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_TEMPLATE"),
				"TYPE" => "STRING",
				"DEFAULT" => "",
			);
		}
		else
		{
			sortByColumn($arTemplateInfo, array('TEMPLATE' => SORT_ASC, 'NAME' => SORT_ASC));
			$arTemplateList = array();
			$arSiteTemplateList = array(
				'.default' => GetMessage('T_IBLOCK_DESC_PAGER_TEMPLATE_SITE_DEFAULT')
			);
			$arTemplateID = array();
			foreach ($arTemplateInfo as &$template)
			{
				if ('' != $template["TEMPLATE"] && '.default' != $template["TEMPLATE"])
					$arTemplateID[] = $template["TEMPLATE"];
				if (!isset($template['TITLE']))
					$template['TITLE'] = $template['NAME'];
			}
			unset($template);

			if (!empty($arTemplateID))
			{
				$rsSiteTemplates = CSiteTemplate::GetList(
					array(),
					array("ID"=>$arTemplateID),
					array()
				);
				while ($arSitetemplate = $rsSiteTemplates->Fetch())
				{
					$arSiteTemplateList[$arSitetemplate['ID']] = $arSitetemplate['NAME'];
				}
			}

			foreach ($arTemplateInfo as &$template)
			{
				if (isset($arHiddenTemplates[$template['NAME']]))
					continue;
				$strDescr = $template["TITLE"].' ('.('' != $template["TEMPLATE"] && '' != $arSiteTemplateList[$template["TEMPLATE"]] ? $arSiteTemplateList[$template["TEMPLATE"]] : GetMessage("T_IBLOCK_DESC_PAGER_TEMPLATE_SYSTEM")).')';
				$arTemplateList[$template['NAME']] = $strDescr;
			}
			unset($template);
			$arComponentParameters["PARAMETERS"]["PAGER_TEMPLATE"] = array(
				"PARENT" => "PAGER_SETTINGS",
				"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_TEMPLATE_EXT"),
				"TYPE" => "LIST",
				"VALUES" => $arTemplateList,
				"DEFAULT" => ".default",
				"ADDITIONAL_VALUES" => "Y"
			);
		}

		$arComponentParameters["PARAMETERS"]["DISPLAY_TOP_PAGER"] = Array(
			"PARENT" => "PAGER_SETTINGS",
			"NAME" => GetMessage("T_IBLOCK_DESC_TOP_PAGER"),
			"TYPE" => "CHECKBOX",
			"DEFAULT" => "N",
		);
		$arComponentParameters["PARAMETERS"]["DISPLAY_BOTTOM_PAGER"] = Array(
			"PARENT" => "PAGER_SETTINGS",
			"NAME" => GetMessage("T_IBLOCK_DESC_BOTTOM_PAGER"),
			"TYPE" => "CHECKBOX",
			"DEFAULT" => "Y",
		);
		$arComponentParameters["PARAMETERS"]["PAGER_TITLE"] = Array(
			"PARENT" => "PAGER_SETTINGS",
			"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_TITLE"),
			"TYPE" => "STRING",
			"DEFAULT" => $pager_title,
		);
		$arComponentParameters["PARAMETERS"]["PAGER_SHOW_ALWAYS"] = Array(
			"PARENT" => "PAGER_SETTINGS",
			"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_SHOW_ALWAYS"),
			"TYPE" => "CHECKBOX",
			"DEFAULT" => "Y",
		);

		if($bDescNumbering)
		{
			$arComponentParameters["PARAMETERS"]["PAGER_DESC_NUMBERING"] = Array(
				"PARENT" => "PAGER_SETTINGS",
				"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_DESC_NUMBERING"),
				"TYPE" => "CHECKBOX",
				"DEFAULT" => "N",
			);
			$arComponentParameters["PARAMETERS"]["PAGER_DESC_NUMBERING_CACHE_TIME"] = Array(
				"PARENT" => "PAGER_SETTINGS",
				"NAME" => GetMessage("T_IBLOCK_DESC_PAGER_DESC_NUMBERING_CACHE_TIME"),
				"TYPE" => "STRING",
				"DEFAULT" => "36000",
			);
		}

		if($bShowAllParam)
		{
			$arComponentParameters["PARAMETERS"]["PAGER_SHOW_ALL"] = Array(
				"PARENT" => "PAGER_SETTINGS",
				"NAME" => GetMessage("T_IBLOCK_DESC_SHOW_ALL"),
				"TYPE" => "CHECKBOX",
				"DEFAULT" => "Y"
			);
		}
	}
Exemple #15
0
            $cond = ConditionCompose($val, $key);
        } else {
            if (isset($arTemplates[$key])) {
                $cond = $arTemplates[$key];
            } else {
                continue;
            }
        }
        $SITE_TEMPLATE[$key] = array("TEMPLATE" => $val['TEMPLATE'], "SORT" => $val['SORT'], "CONDITION" => $cond);
    }
}
$signer = new Bitrix\Main\Security\Sign\Signer();
//templates
$arSiteTemplates = array();
$templateSigns = array();
$db_res = CSiteTemplate::GetList(array("sort" => "asc", "name" => "asc"), array("TYPE" => ""), array("ID", "NAME"));
while ($arRes = $db_res->GetNext()) {
    $arSiteTemplates[] = $arRes;
    $templateSigns[$arRes["ID"]] = $signer->sign($arRes["ID"], "template_preview" . bitrix_sessid());
}
$bFirst = true;
foreach ($SITE_TEMPLATE as $i => $val) {
    ConditionParse($val['CONDITION']);
    ?>
			<tr>
				<td>
					<select name="SITE_TEMPLATE[<?php 
    echo $i;
    ?>
][TEMPLATE]" id="SITE_TEMPLATE[<?php 
    echo $i;
                ?>
<script type="text/javascript">
exportData('<?php 
                echo CUtil::JSEscape($ID);
                ?>
');
</script>
			<?php 
                break;
            case "copy":
                CopyDirFiles($_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . $ID, $_SERVER["DOCUMENT_ROOT"] . BX_PERSONAL_ROOT . "/templates/" . ($ID == ".default" ? "default" : $ID) . "_copy", false, true);
                break;
        }
    }
}
$rsData = CSiteTemplate::GetList();
$rsData = new CAdminResult($rsData, $sTableID);
$rsData->NavStart();
$lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"), false));
$lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "NAME", "content" => GetMessage('MAIN_T_ADMIN_NAME'), "default" => true), array("id" => "DESCRIPTION", "content" => GetMessage('MAIN_T_ADMIN_DESCRIPTION'), "default" => true)));
while ($arRes = $rsData->NavNext(true, "f_")) {
    $u_ID = urlencode($f_ID);
    $row =& $lAdmin->AddRow($f_ID, $arRes, "template_edit.php?ID=" . $u_ID, GetMessage("MAIN_EDIT_TITLE"));
    $row->AddViewField("ID", '<a href="template_edit.php?lang=' . LANGUAGE_ID . '&amp;ID=' . $u_ID . '" title="' . GetMessage("MAIN_EDIT_TITLE") . '">' . $f_ID . '</a>' . ($f_SCREENSHOT != '' ? CFile::Show2Images($f_PREVIEW != '' ? $f_PREVIEW : $f_SCREENSHOT, $f_SCREENSHOT, 130, 100, "hspace=0 vspace=4 border=0 align=left") : ''));
    if ($edit_php) {
        $row->AddInputField("NAME");
        $row->AddInputField("DESCRIPTION");
    } else {
        $row->AddViewField("NAME", $f_NAME);
        $row->AddViewField("DESCRIPTION", $f_DESCRIPTION);
    }
Exemple #17
0
 function Update($ID, $arFields)
 {
     /** @global CMain $APPLICATION */
     global $APPLICATION;
     if (!$this->CheckFields($arFields, $ID)) {
         return false;
     }
     $path = getLocalPath("templates/" . $ID, BX_PERSONAL_ROOT);
     if ($path === false) {
         return false;
     }
     if (isset($arFields["CONTENT"])) {
         $p = strpos($arFields["CONTENT"], "#WORK_AREA#");
         $header = substr($arFields["CONTENT"], 0, $p);
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/header.php", $header);
         $footer = substr($arFields["CONTENT"], $p + strlen("#WORK_AREA#"));
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/footer.php", $footer);
     }
     if (isset($arFields["STYLES"])) {
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/styles.css", $arFields["STYLES"]);
     }
     if (isset($arFields["TEMPLATE_STYLES"])) {
         $APPLICATION->SaveFileContent($_SERVER["DOCUMENT_ROOT"] . $path . "/template_styles.css", $arFields["TEMPLATE_STYLES"]);
     }
     if (isset($arFields["NAME"]) || isset($arFields["DESCRIPTION"]) || isset($arFields["SORT"]) || isset($arFields["TYPE"])) {
         $db_t = CSiteTemplate::GetList(array(), array("ID" => $ID), array("NAME", "DESCRIPTION", "SORT"));
         $ar_t = $db_t->Fetch();
         if (!isset($arFields["NAME"])) {
             $arFields["NAME"] = $ar_t["NAME"];
         }
         if (!isset($arFields["DESCRIPTION"])) {
             $arFields["DESCRIPTION"] = $ar_t["DESCRIPTION"];
         }
         if (!isset($arFields["SORT"])) {
             $arFields["SORT"] = $ar_t["SORT"];
         }
         if (!isset($arFields["TYPE"])) {
             $arFields["TYPE"] = $ar_t["TYPE"];
         }
         if (!isset($arFields["EDITOR_STYLES"])) {
             $arFields["EDITOR_STYLES"] = $ar_t["EDITOR_STYLES"];
         }
         self::SaveDescription($arFields, $_SERVER["DOCUMENT_ROOT"] . $path . "/description.php");
     }
     self::SaveStyleDescription($arFields["STYLES_DESCRIPTION"], $_SERVER["DOCUMENT_ROOT"] . $path . "/.styles.php");
     return true;
 }
:</td>
		<td>
			<select name="NEW_COMPONENT_TEMPLATE" onchange="<?php 
        echo $obJSPopup->jsPopup . ".PostParameters('" . PageParams() . "&amp;action=refresh&amp;scroll='+" . $obJSPopup->jsPopup . ".GetContent().scrollTop);";
        ?>
">
<?php 
        $arTemplateID = array();
        foreach ($arComponentTemplates as $template) {
            if ($template["TEMPLATE"] != '' && $template["TEMPLATE"] != '.default') {
                $arTemplateID[] = $template["TEMPLATE"];
            }
        }
        $arTemplates = array(".default" => GetMessage("comp_prop_default_templ"));
        if (!empty($arTemplateID)) {
            $db_site_templates = CSiteTemplate::GetList(array(), array("ID" => $arTemplateID), array());
            while ($ar_site_templates = $db_site_templates->Fetch()) {
                $arTemplates[$ar_site_templates['ID']] = $ar_site_templates['NAME'];
            }
        }
        foreach ($arComponentTemplates as $template) {
            $showTemplateName = $template["TEMPLATE"] != '' && $arTemplates[$template["TEMPLATE"]] != '' ? $arTemplates[$template["TEMPLATE"]] : GetMessage("comp_prop_template_sys");
            ?>
				<option value="<?php 
            echo htmlspecialcharsbx($template["NAME"]);
            ?>
"<?php 
            if ($template["NAME"] == $curTemplate || $curTemplate == '' && $template["NAME"] == ".default") {
                echo " selected";
            }
            ?>
require_once dirname(__FILE__) . "/../include/prolog_admin_before.php";
require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/prolog.php";
define("HELP_FILE", "settings/wizard_list.php");
require_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/classes/general/wizard.php";
if (!$USER->CanDoOperation('edit_php') && !$USER->CanDoOperation('view_other_settings')) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
$isAdmin = $USER->CanDoOperation('edit_php');
IncludeModuleLangFile(__FILE__);
$sTableID = "package_list";
$oSort = new CAdminSorting($sTableID, "sort", "asc");
$lAdmin = new CAdminList($sTableID, $oSort);
if (($arID = $lAdmin->GroupAction()) && $isAdmin) {
    if ($_REQUEST['action_target'] == 'selected') {
        $arID = array();
        $rsData = CSiteTemplate::GetList($by, $order, array());
        while ($arRes = $rsData->Fetch()) {
            $arID[] = $arRes['ID'];
        }
    }
    foreach ($arID as $ID) {
        if (strlen($ID) <= 0) {
            continue;
        }
        switch ($_REQUEST['action']) {
            case "delete":
                @set_time_limit(0);
                if (!CWizardUtil::DeleteWizard($ID)) {
                    $lAdmin->AddGroupError(GetMessage("MAIN_WIZARD_DELETE_ERROR"), $ID);
                }
                break;