• Модуль: translate
  • Путь к файлу: ~/bitrix/modules/translate/lib/ui/panel.php
  • Класс: BitrixTranslateUiPanel
  • Вызов: Panel::onPanelCreate
static function onPanelCreate()
{
	/**
	 * @global CUser $USER
	 * @global CMain $APPLICATION
	 */
	global $APPLICATION, $USER;

	if (!$USER instanceof CUser || !$USER->isAuthorized())
	{
		return;
	}

	if (!TranslatePermission::canView($USER))
	{
		return;
	}

	if (TranslateConfig::getOption(TranslateConfig::OPTION_BUTTON_LANG_FILES) === 'Y')
	{
		Loc::loadLanguageFile(__FILE__);

		$cmd = 'Y';
		$checked = false;
		if (isset($_SESSION['SHOW_LANG_FILES']))
		{
			$cmd = $_SESSION['SHOW_LANG_FILES'] == 'Y' ? 'N' : 'Y';
			$checked = ($_SESSION['SHOW_LANG_FILES'] == 'Y');
		}

		$url = $APPLICATION->getCurPageParam('show_lang_files='.$cmd, array('show_lang_files'));
		$menu = array(
			array(
				'TEXT' => Loc::getMessage('TRANSLATE_SHOW_LANG_FILES_TEXT'),
				'TITLE' => Loc::getMessage('TRANSLATE_SHOW_LANG_FILES_TITLE'),
				'CHECKED' => $checked,
				'LINK' => $url,
				'DEFAULT' => false,
			),
		);
		if ($checked)
		{
			$menu[] = array(
				'TEXT' => Loc::getMessage('TRANSLATE_SHOW_LOADED_LANG_FILES_TEXT'),
				'TITLE' => Loc::getMessage('TRANSLATE_SHOW_LOADED_LANG_FILES_TITLE'),
				'ONCLICK' => self::DIALOG_ID.'.Show()',
				'DEFAULT' => false,
			);
		}

		$APPLICATION->addPanelButton(array(
			'HREF' => '',
			'ID' => 'translate',
			'ICON' => 'bx-panel-translate-icon',
			'ALT' => Loc::getMessage('TRANSLATE_ICON_ALT'),
			'TEXT' => Loc::getMessage('TRANSLATE_ICON_TEXT'),
			'MAIN_SORT' => '1000',
			'SORT' => 50,
			'MODE' => array('configure'),
			'MENU' => $menu,
			'HINT' => array(
				'TITLE' => Loc::getMessage('TRANSLATE_ICON_TEXT'),
				'TEXT' => Loc::getMessage('TRANSLATE_ICON_HINT'),
			),
		));
	}
}