} } $arFields['TEST_DATA']['list'][] = array('type' => $type, 'old_value' => $TEST_DATA['old_value'][$k], 'new_value' => $TEST_DATA['new_value'][$k]); } } else { $errors[] = getMessage('ABTEST_EMPTY_TEST_DATA'); } if (!empty($errors)) { $message = new CAdminMessage(array('MESSAGE' => getMessage('ABTEST_TEST_DATA_ERROR'), 'DETAILS' => join('<br>', $errors))); } if (empty($message)) { $arFields['ENABLED'] = 'Y'; if ($ID > 0) { $result = Bitrix\ABTest\ABTestTable::update($ID, $arFields); if ($result->isSuccess() && $abtest['ACTIVE'] == 'Y') { Bitrix\ABTest\Helper::clearCache($arFields['SITE_ID']); } } else { $arFields['ACTIVE'] = 'N'; $result = Bitrix\ABTest\ABTestTable::add($arFields); $ID = $result->isSuccess() ? $result->getId() : 0; } if (!$result->isSuccess()) { unset($arFields['ENABLED']); $message = new CAdminMessage(array('MESSAGE' => getMessage('ABTEST_SAVE_ERROR'), 'DETAILS' => join('<br>', $result->getErrorMessages()))); } else { if (strlen($save) > 0) { LocalRedirect('abtest_admin.php?lang=' . LANG); } else { LocalRedirect($APPLICATION->getCurPage() . '?lang=' . LANG . '&ID=' . $ID); }
$lAdmin->addGroupError(getMessage('ABTEST_ONLYONE_WARNING')); } } else { if ($abtest['ENABLED'] != 'Y') { $lAdmin->addGroupError(getMessage('ABTEST_START_ERROR')); } else { if (!Bitrix\ABTest\Helper::startTest($ID)) { $lAdmin->addGroupError(getMessage('ABTEST_START_ERROR')); } else { $arActiveTests[$abtest['SITE_ID']] = $abtest; } } } break; case 'stop': if (!Bitrix\ABTest\Helper::stopTest($ID)) { $lAdmin->addGroupError(getMessage('ABTEST_STOP_ERROR')); } break; } } } $arHeaders = array(array('id' => 'TITLE', 'content' => getMessage('ABTEST_TBL_HEADER_TITLE'), 'default' => true, 'sort' => 'name'), array('id' => 'ACTIVE', 'content' => getMessage('ABTEST_TBL_HEADER_STATE'), 'default' => true, 'sort' => 'active')); $lAdmin->addHeaders($arHeaders); $result = Bitrix\ABTest\ABTestTable::getList(array('order' => array(strtoupper($by) => $order), 'select' => array('*', 'USER_NAME' => 'USER.NAME', 'USER_LAST_NAME' => 'USER.LAST_NAME', 'USER_SECOND_NAME' => 'USER.SECOND_NAME', 'USER_TITLE' => 'USER.TITLE', 'USER_LOGIN' => 'USER.LOGIN'))); $result = new CAdminResult($result, $sTableID); $arRows = array(); $arActiveTests = array(); while ($abtest = $result->fetch()) { $arRows[] = $abtest; if ($abtest['ACTIVE'] == 'Y') {