/** * Deletes an A/B-test * * @param int $id A/B-test ID. * @return bool */ public static function deleteTest($id) { if ($abtest = ABTestTable::getById($id)->fetch()) { $result = ABTestTable::delete(intval($id)); if ($result->isSuccess()) { if ($abtest['ACTIVE'] == 'Y') { Helper::clearCache($abtest['SITE_ID']); } return true; } } return false; }
/** * Adds A/B-test related buttons to Control Panel * * @return void */ public 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']), Localization\Loc::getMessage('ABTEST_PANEL_MENU_BTN')), 'TYPE' => 'BIG', 'MAIN_SORT' => 900, 'SORT' => 10, 'MENU' => array(array('ACTION' => "jsUtils.Redirect([], '" . \CUtil::jsEscape($groupAUri) . "'); ", 'TEXT' => Localization\Loc::getMessage('ABTEST_PANEL_MENU_MODE_A'), 'CHECKED' => $context['section'] == 'A' ? true : false), array('ACTION' => "jsUtils.Redirect([], '" . \CUtil::jsEscape($groupBUri) . "'); ", 'TEXT' => Localization\Loc::getMessage('ABTEST_PANEL_MENU_MODE_B'), 'CHECKED' => $context['section'] == 'B' ? true : false), array('ACTION' => "jsUtils.Redirect([], '" . \CUtil::jsEscape($resetUri) . "'); ", 'TEXT' => Localization\Loc::getMessage('ABTEST_PANEL_MENU_RESET'))))); } } }