• Модуль: abtest
  • Путь к файлу: ~/bitrix/modules/abtest/lib/eventhandler.php
  • Класс: BitrixABTestEventHandler
  • Вызов: EventHandler::onPanelCreate
static function onPanelCreate()
{
	global $USER, $APPLICATION;

	if ($USER->canDoOperation('view_other_settings'))
	{
		if ($context = Helper::getContext())
		{
			$baseUri = CHTTP::urlDeleteParams($APPLICATION->getCurPage(), array('abtest_mode'));

			$groupAUri = CHTTP::urlAddParams($baseUri, array('abtest_mode' => intval($context['abtest']).'|A'));
			$groupBUri = CHTTP::urlAddParams($baseUri, array('abtest_mode' => intval($context['abtest']).'|B'));
			$resetUri  = CHTTP::urlAddParams($baseUri, array('abtest_mode' => 'reset'));

			$APPLICATION->addPanelButton(array(
				'ID'   => 'abtest_options',
				'SRC'  => $context['section'] == 'B' ? '/bitrix/images/abtest/ab-icon-b.png' : '/bitrix/images/abtest/ab-icon-a.png',
				'TEXT' => str_replace('#ID#', intval($context['abtest']), LocalizationLoc::getMessage('ABTEST_PANEL_MENU_BTN')),
				'TYPE' => 'BIG',
				'MAIN_SORT' => 900,
				'SORT' => 10,
				'MENU' => array(
					array(
						'ACTION'  => "jsUtils.Redirect([], '".CUtil::jsEscape($groupAUri)."'); ",
						'TEXT'    => LocalizationLoc::getMessage('ABTEST_PANEL_MENU_MODE_A'),
						'CHECKED' => $context['section'] == 'A' ? true : false,
					),
					array(
						'ACTION'  => "jsUtils.Redirect([], '".CUtil::jsEscape($groupBUri)."'); ",
						'TEXT'    => LocalizationLoc::getMessage('ABTEST_PANEL_MENU_MODE_B'),
						'CHECKED' => $context['section'] == 'B' ? true : false,
					),
					array(
						'ACTION'  => "jsUtils.Redirect([], '".CUtil::jsEscape($resetUri)."'); ",
						'TEXT'    => LocalizationLoc::getMessage('ABTEST_PANEL_MENU_RESET'),
					)
				)
			));
		}
	}
}