$application = Application::getInstance();
$applicationOld =& $APPLICATION;
$APPLICATION->setTitle(Loc::getMessage('USER_VARS_TITLE'));
if (!Loader::includeModule('citfact.uservars')) {
    $applicationOld->authForm(Loc::getMessage('ACCESS_DENIED'));
}
$request = $application->getContext()->getRequest();
$includePath = array('prolog' => '/bitrix/modules/main/include/prolog_admin_after.php', 'prolog_js' => '/bitrix/modules/main/include/prolog_admin_js.php', 'epilog' => '/bitrix/modules/main/include/epilog_admin.php', 'epilog_js' => '/bitrix/modules/main/include/epilog_admin_js.php');
$contextMenu[] = array('TEXT' => Loc::getMessage('USER_VARS_BACK_GROUP'), 'TITLE' => Loc::getMessage('USER_VARS_BACK_GROUP'), 'LINK' => 'user_vars.php?lang=' . LANGUAGE_ID, 'ICON' => 'btn_list');
$tabsStructur = array(array('DIV' => 'group', 'ICON' => 'main_user_edit', 'TAB' => Loc::GetMessage('USER_VARS_GROUP_NAME'), 'TITLE' => Loc::GetMessage('USER_VARS_GROUP_NAME')));
$submitTypeSave = $request->getPost('save') ? true : false;
$submitTypeApply = $request->getPost('apply') ? true : false;
$isOldGroup = false;
$isNewGroup = true;
if (array_key_exists('ID', $_REQUEST) && (int) $_REQUEST['ID'] > 0) {
    $varsGroup = new UserVars\VarsGroup();
    $dataGroup = $varsGroup->findOneById($_REQUEST['ID'])->fetch();
    if (!empty($dataGroup)) {
        $isOldGroup = true;
        $isNewGroup = false;
    }
} else {
    $dataGroup = array_fill_keys(array('ID', 'NAME', 'CODE'), '');
}
if ($isOldGroup && $request->getQuery('action') == 'delete' && check_bitrix_sessid()) {
    Model\VarsGroupTable::delete($dataGroup['ID']);
    LocalRedirect(sprintf('user_vars.php?lang=%s', LANGUAGE_ID));
}
if ($request->isPost() && check_bitrix_sessid()) {
    $postData = array_map('strip_tags', $request->getPostList()->toArray());
    $postData = array_intersect_key($postData, array('NAME' => null, 'CODE' => null));
use Bitrix\Main\Localization\Loc;
use Bitrix\Main\Application;
use Bitrix\Main\Loader;
use Citfact\UserVars;
use Citfact\UserVars\Model;
Loc::loadMessages(__FILE__);
global $APPLICATION;
$application = Application::getInstance();
$applicationOld =& $APPLICATION;
$applicationOld->setTitle(Loc::getMessage('USER_VARS_TITLE'));
if (!Loader::includeModule('citfact.uservars')) {
    $applicationOld->authForm(Loc::getMessage('ACCESS_DENIED'));
}
$request = $application->getContext()->getRequest();
if ($request->getQuery('GROUP_ID')) {
    $varsGroup = new UserVars\VarsGroup();
    $dataGroup = $varsGroup->findOneById($request->getQuery('GROUP_ID'))->fetch();
}
if (!isset($dataGroup) || empty($dataGroup)) {
    LocalRedirect(sprintf('user_vars.php?lang=%s', LANGUAGE_ID));
}
$includePath = array('prolog' => '/bitrix/modules/main/include/prolog_admin_after.php', 'prolog_js' => '/bitrix/modules/main/include/prolog_admin_js.php', 'epilog' => '/bitrix/modules/main/include/epilog_admin.php', 'epilog_js' => '/bitrix/modules/main/include/epilog_admin_js.php');
$contextMenu[] = array('TEXT' => Loc::getMessage('USER_VARS_ADD'), 'TITLE' => Loc::getMessage('USER_VARS_ADD'), 'LINK' => 'user_vars_edit.php?GROUP_ID=' . $dataGroup['ID'] . '&lang=' . LANGUAGE_ID, 'ICON' => 'btn_new');
$contextMenu[] = array('TEXT' => Loc::getMessage('USER_VARS_EDIT_GROUP'), 'TITLE' => Loc::getMessage('USER_VARS_EDIT_GROUP'), 'LINK' => 'user_vars_group_edit.php?ID=' . $dataGroup['ID'] . '&lang=' . LANGUAGE_ID, 'ICON' => 'btn_edit');
$varsMap = Model\VarsTable::getMap();
$headers = array(array('id' => 'ID', 'content' => 'ID', 'sort' => 'ID', 'default' => true), array('id' => 'NAME', 'content' => $varsMap['NAME']['title'], 'sort' => 'NAME', 'default' => true), array('id' => 'CODE', 'content' => $varsMap['CODE']['title'], 'sort' => 'CODE', 'default' => true), array('id' => 'VALUE', 'content' => $varsMap['VALUE']['title'], 'sort' => 'VALUE', 'default' => true), array('id' => 'DESCRIPTION', 'content' => $varsMap['DESCRIPTION']['title'], 'sort' => 'DESCRIPTION', 'default' => true));
$tableId = 'tbl_user_vars_list';
$adminSort = new CAdminSorting($tableId, 'NAME', 'asc');
$adminList = new CAdminList($tableId, $adminSort);
$adminList->addHeaders($headers);
if ($request->getQuery('mode') != 'list') {