AuthForm(GetMessage("ACCESS_DENIED")); $LIST_URL = '/bitrix/admin/ticket_group_list.php'; $ID = intval($ID); $message = false; if (($save <> '' || $apply <> '') && $REQUEST_METHOD=='POST' && $bAdmin && check_bitrix_sessid()) { $obSUG = new CSupportUserGroup(); $bOK = false; $new = false; $arParams = array( 'NAME' => $_POST['NAME'], 'SORT' => intval($_POST['SORT']), 'XML_ID' => $_POST['XML_ID'], 'IS_TEAM_GROUP' => $_POST['IS_TEAM_GROUP'], ); if ($ID > 0) { $bOK = $obSUG->Update($ID, $arParams); } else { if ($ID = $obSUG->Add($arParams)) { $bOK = true; $new = true; } } if ($bOK && isset($_POST[$FMUTagName]['VALS']) && is_array($_POST[$FMUTagName]['VALS'])) { $UIDS = array_map('intval', $_POST[$FMUTagName]['VALS']); $UIDS = array_unique($UIDS); $USERS = array(); foreach ($UIDS as $k => $v) { $USERS[] = array( 'USER_ID' => $v, 'CAN_VIEW_GROUP_MESSAGES' => $_POST[$FMUTagName]['CHECKS'][$k], 'CAN_MAIL_GROUP_MESSAGES' => $_POST[$FMUTagName]['MAIL'][$k], 'CAN_MAIL_UPDATE_GROUP_MESSAGES' => $_POST[$FMUTagName]['MAIL_UPDATE'][$k] ); } $errors = CSupportUser2UserGroup::SetGroupUsers($ID, $USERS); $bOK = count($errors) <= 0; if (!$bOK) { $APPLICATION->ThrowException(implode('
', $errors)); } } if ($bOK) { if ($save <> '') LocalRedirect($LIST_URL . '?lang=' . LANG); elseif ($new) LocalRedirect($APPLICATION->GetCurPage() . '?ID='.$ID. '&lang='.LANG.'&tabControl_active_tab='.urlencode($tabControl_active_tab)); } else { if ($e = $APPLICATION->GetException()) $message = new CAdminMessage(GetMessage('SUP_GE_ERROR'), $e); } } $rsGroups = CSupportUserGroup::GetList(false, array('ID' => $ID)); $arGroup = $rsGroups->GetNext(); if (!$arGroup) { $ID = 0; } $arGroupUsers = array(); if ($arGroup) { $rs_ug = CSupportUser2UserGroup::GetList(false, array('GROUP_ID' => $ID)); while ($ar_ug = $rs_ug->GetNext()) { $arGroupUsers[] = array( 'USER_ID' => $ar_ug['USER_ID'], 'CAN_VIEW_GROUP_MESSAGES' => $ar_ug['CAN_VIEW_GROUP_MESSAGES'], 'CAN_MAIL_GROUP_MESSAGES' => $ar_ug['CAN_MAIL_GROUP_MESSAGES'], 'CAN_MAIL_UPDATE_GROUP_MESSAGES' => $ar_ug['CAN_MAIL_UPDATE_GROUP_MESSAGES'], 'USER_NAME' => '['.$ar_ug["USER_ID"].'] ('.$ar_ug["LOGIN"].') '.$ar_ug["FIRST_NAME"].' '.$ar_ug["LAST_NAME"], ); } } $arGroupUsers[] = array('USER_ID' => ''); $arGroupUsers[] = array('USER_ID' => ''); $arGroupUsers[] = array('USER_ID' => ''); if ($ID > 0) { $APPLICATION->SetTitle(GetMessage('SUP_GE_TITLE_EDIT', array('%GROUP_NAME%' => $arGroup['~NAME']))); } else { $APPLICATION->SetTitle(GetMessage('SUP_GE_TITLE_NEW')); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $aMenu = array( array( 'ICON' => 'btn_list', 'TEXT' => GetMessage('SUP_GE_GROUPS_LIST'), 'LINK' => $LIST_URL . '?lang=' . LANG ) ); $context = new CAdminContextMenu($aMenu); $context->Show(); if ($message) echo $message->Show(); $aTabs = array(); $aTabs[] = array( 'DIV' => 'edit1', 'TAB' => GetMessage('SUP_GE_GROUP'), 'TITLE'=>GetMessage('SUP_GE_GROUP_TITLE') ); $aTabs[] = array( 'DIV' => 'edit2', 'TAB' => GetMessage('SUP_GE_GROUP_USERS'), 'TITLE'=>GetMessage('SUP_GE_GROUP_USERS_TITLE') ); $tabControl = new CAdminTabControl('tabControl', $aTabs, true, true); ?>