$tableId = 'tbl_user_vars_list'; $adminSort = new CAdminSorting($tableId, 'NAME', 'asc'); $adminList = new CAdminList($tableId, $adminSort); $adminList->addHeaders($headers); if ($request->getQuery('mode') != 'list') { $context = new CAdminContextMenu($contextMenu); } $queryBuilder = new Entity\Query(Model\VarsTable::getEntity()); $queryBuilder->setSelect(array('ID', 'NAME', 'CODE', 'DESCRIPTION', 'VALUE'))->setFilter(array('GROUP_ID' => $dataGroup['ID'])); $sortBy = $request->getQuery('by') ? strtoupper($request->getQuery('by')) : 'ID'; $sortOrder = $request->getQuery('order') ?: 'asc'; $queryBuilder->setOrder(array($sortBy => $sortOrder)); $resultData = new CAdminResult($queryBuilder->exec(), $tableId); $resultData->navStart(); $adminList->navText($resultData->getNavPrint(Loc::getMessage('PAGES'))); while ($item = $resultData->fetch()) { $row = $adminList->addRow($item['ID'], $item); $actions = array(); $actions[] = array('ICON' => 'edit', 'TEXT' => Loc::GetMessage('USER_VARS_ACTION_EDIT_VAR'), 'ACTION' => $adminList->actionRedirect('user_vars_edit.php?ID=' . $item['ID'] . '&GROUP_ID=' . $dataGroup['ID'])); $actions[] = array('ICON' => 'delete', 'TEXT' => Loc::getMessage('USER_VARS_ACTION_DELETE_VAR'), 'ACTION' => "if(confirm('" . Loc::getMessage('USER_VARS_DELETE_VAR_CONFIRM') . "')) " . $adminList->actionRedirect('user_vars_edit.php?action=delete&ID=' . $item['ID'] . '&GROUP_ID=' . $dataGroup['ID'] . '&' . bitrix_sessid_get())); $row->addActions($actions); } $prologType = $request->getQuery('mode') == 'list' ? 'prolog_js' : 'prolog'; require sprintf('%s%s', getenv('DOCUMENT_ROOT'), $includePath[$prologType]); if ($prologType != 'prolog_js') { $context->show(); } $adminList->checkListMode(); $adminList->displayList(); $epilogType = $request->getQuery('mode') == 'list' ? 'epilog_js' : 'epilog'; require sprintf('%s%s', getenv('DOCUMENT_ROOT'), $includePath[$epilogType]);
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') { if (!isset($arActiveTests[$abtest['SITE_ID']])) { $arActiveTests[$abtest['SITE_ID']] = array(); } $arActiveTests[$abtest['SITE_ID']][] = $abtest['ID']; } } foreach ($arRows as &$abtest) { $row =& $lAdmin->addRow($abtest['ID'], $abtest); $row->addViewField('TITLE', sprintf('<div%s><b>%s</b><br>%s</div>', in_array($abtest['ENABLED'], array('T', 'Y')) ? '' : ' style="color: #808080; "', htmlspecialcharsbx($abtest['NAME']) ?: str_replace('#ID#', $abtest['ID'], getMessage('ABTEST_TEST_TITLE')), htmlspecialcharsbx($abtest['DESCR']))); if (in_array($abtest['ENABLED'], array('T', 'Y'))) { if ($abtest['ACTIVE'] == 'Y') { $start_date = $abtest['START_DATE']->format(Bitrix\Main\Type\Date::convertFormatToPhp($arLang['FORMAT_DATE'])); $end_date = null;