• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
  • Класс: CIntranetEventHandlers
  • Вызов: CIntranetEventHandlers::OnCreatePanel
static function OnCreatePanel()
{
	global $USER, $APPLICATION;

	if(defined("ADMIN_SECTION") && ADMIN_SECTION == true)
		return;

	if (self::isSkipWizardButton())
	{
		return;
	}

	if($USER->IsAdmin())
	{
		$hint = GetMessage('INTR_SET_BUT_HINT');
		$arMenu = Array(
			Array(
				"ACTION" => "jsUtils.Redirect([], '".CUtil::JSEscape("/bitrix/admin/wizard_install.php?lang=".LANGUAGE_ID."&wizardName=bitrix:portal&wizardSiteID=".SITE_ID."&".bitrix_sessid_get())."');",
				"ICON" => "wizard",
				"TITLE" => GetMessage('INTR_SET_WIZ_TITLE'),
				"TEXT" => GetMessage('INTR_SET_WIZ_TEXT'),
				"DEFAULT" => true,
			),
		);

		if(IsModuleInstalled('extranet'))
		{
			$hint .= GetMessage('INTR_SET_BUT_HINT_EXTRANET');
			$arMenu[] = Array(
				"ACTION" => "jsUtils.Redirect([], '".CUtil::JSEscape("/bitrix/admin/wizard_install.php?lang=".LANGUAGE_ID."&wizardName=bitrix:extranet&".bitrix_sessid_get())."');",
				"ICON" => "wizard",
				"TITLE" => GetMessage('INTR_SET_EXT_TITLE'),
				"TEXT" => GetMessage('INTR_SET_EXT_TEXT'),
			);
		}
		if(COption::GetOptionString("main", "wizard_clear_exec", "N", SITE_ID) <> "Y")
		{
			$hint .= GetMessage('INTR_SET_BUT_HINT_CLEARING');
			$arMenu[] = Array(
				"ACTION" => "jsUtils.Redirect([], '".CUtil::JSEscape("/bitrix/admin/wizard_install.php?lang=".LANGUAGE_ID."&wizardSiteID=".SITE_ID."&wizardName=bitrix:portal_clear&".bitrix_sessid_get())."');",
				"ICON" => "wizard-clear",
				"TITLE" => GetMessage('INTR_SET_CLEAN_TITLE'),
				"TEXT" => GetMessage('INTR_SET_CLEAN_TEXT'),
			);
		}

		$arButton = array(
			"HREF" => "/bitrix/admin/wizard_install.php?lang=".LANGUAGE_ID."&wizardName=bitrix:portal&wizardSiteID=".SITE_ID."&".bitrix_sessid_get(),
			"ID" => "portal_wizard",
			"ICON" => "bx-panel-site-wizard-icon",
			"ALT" => GetMessage('INTR_SET_BUT_TITLE'),
			"TEXT" => GetMessage('INTR_SET_BUT_TEXT'),
			"MAIN_SORT" => 2500,
			"TYPE" => "BIG",
			"SORT" => 10,
			"MENU" => (count($arMenu) > 1? $arMenu : array()),
			"HINT" => array(
				"TITLE" => str_replace('#BR#', ' ', GetMessage('INTR_SET_BUT_TEXT')),
				"TEXT" => $hint
			)
		);

		$APPLICATION->AddPanelButton($arButton);
	}
}