public static function CheckFields(&$arFields, $ID = 0) { global $APPLICATION; if ($ID > 0) { $rs = CSupportUserGroup::GetList(false, array('ID' => $ID)); if (!$rs->Fetch()) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_GROUP_NOT_FOUND')); return false; } } if (array_key_exists('NAME', $arFields) && $arFields['NAME'] == '') { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_GROUP_NAME_EMPTY')); return false; } if (array_key_exists('ID', $arFields)) { unset($arFields['ID']); } if (array_key_exists('SORT', $arFields) && !is_numeric($arFields['SORT'])) { unset($arFields['SORT']); } if (array_key_exists('IS_TEAM_GROUP', $arFields)) { $arFields['IS_TEAM_GROUP'] = $arFields['IS_TEAM_GROUP'] == 'Y' ? 'Y' : 'N'; } return true; }
:</td> <td><?php echo SelectBoxMFromArray('find_supportteam_group_id[]', $arr, $find_supportteam_group_id, GetMessage('SUP_ALL'), false, count($arr['REFERENCE']) < 7 ? count($arr['REFERENCE']) + 1 : 7); ?> </td> </tr> <? } if ($bADS || $bSupportClient = 'Y') { $arr = array('REFERENCE' => array(), 'REFERENCE_ID' => array()); if ($bAdmin=='Y' || $bDemo=='Y') { $rsGroups = CSupportUserGroup::GetList(array('NAME' => 'ASC'), array('!=IS_TEAM_GROUP' => 'Y')); while ($arGroup = $rsGroups->Fetch()) { $arr['REFERENCE'][] = $arGroup['NAME']; $arr['REFERENCE_ID'][] = $arGroup['ID']; } } else { $arGroupFilter = array('!=IS_TEAM_GROUP' => 'Y'); if($bSupportTeam != 'Y') { $arGroupFilter['USER_ID'] = $USER->GetID(); } $rsGroups = CSupportUserGroup::GetUserGroupList(array('GROUP_NAME' => 'ASC'), $arGroupFilter); while ($arGroup = $rsGroups->Fetch())
} } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue; } $ID = intval($ID); switch ($_REQUEST['action']) { case 'delete': @set_time_limit(0); CSupportUserGroup::Delete($ID); break; } } } $rsData = CSupportUserGroup::GetList(array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(50); $lAdmin->NavText($rsData->GetNavPrint(GetMessage('SUP_GL_PAGES'))); $arHeaders = array(); $arHeaders[] = array('id' => 'ID', 'content' => 'ID', 'default' => true, 'sort' => 'ID'); $arHeaders[] = array('id' => 'NAME', 'content' => GetMessage('SUP_GL_NAME'), 'default' => true, 'sort' => 'NAME'); $arHeaders[] = array('id' => 'SORT', 'content' => GetMessage('SUP_GL_SORT'), 'default' => true, 'sort' => 'SORT'); $arHeaders[] = array('id' => 'XML_ID', 'content' => GetMessage('SUP_GL_XML_ID'), 'default' => false, 'sort' => 'XML_ID'); $arHeaders[] = array('id' => 'IS_TEAM_GROUP', 'content' => GetMessage('SUP_GL_IS_TEAM_GROUP'), 'default' => true, 'sort' => 'IS_TEAM_GROUP'); $lAdmin->AddHeaders($arHeaders); while ($arGroup = $rsData->GetNext()) { $row =& $lAdmin->AddRow($arGroup['ID'], $arGroup); $row->AddViewField('NAME', '<a href="' . $EDIT_URL . '?lang=' . LANGUAGE_ID . '&ID=' . $arGroup['ID'] . '">' . $arGroup['NAME'] . '</a>'); $row->AddInputField('XML_ID'); $row->AddInputField('SORT', array('size' => '5'));
function CheckFields(&$arFields, $groupID = 0, $userID = 0) { global $APPLICATION, $DB, $USER; $groupID = intval($groupID); $userID = intval($userID); if (!is_array($arFields)) { $arFields = array(); } //if update if ($userID > 0 || $groupID > 0) { if ($userID <= 0) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_USER_ID_EMPTY')); return false; } if ($groupID <= 0) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_GROUP_ID_EMPTY')); return false; } if (array_key_exists('GROUP_ID', $arFields)) { unset($arFields['GROUP_ID']); } if (array_key_exists('USER_ID', $arFields)) { unset($arFields['USER_ID']); } } //if add if ($userID <= 0 && $groupID <= 0) { $arFields['GROUP_ID'] = array_key_exists('GROUP_ID', $arFields) ? intval($arFields['GROUP_ID']) : 0; $arFields['USER_ID'] = array_key_exists('USER_ID', $arFields) ? intval($arFields['USER_ID']) : 0; if ($arFields['USER_ID'] <= 0) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_USER_ID_EMPTY')); return false; } if ($arFields['GROUP_ID'] <= 0) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_GROUP_ID_EMPTY')); return false; } $rs = $USER->GetByID($arFields['USER_ID']); if (!$rs->Fetch()) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_NO_USER')); return false; } $rs = CSupportUserGroup::GetList(false, array('ID' => $arFields['GROUP_ID'])); if (!($arGroup = $rs->Fetch())) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_NO_GROUP')); return false; } if (CTicket::IsAdmin($arFields['USER_ID']) || CTicket::IsSupportTeam($arFields['USER_ID'])) { if ($arGroup['IS_TEAM_GROUP'] != 'Y') { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_USER_NO_CLIENT')); return false; } } elseif (CTicket::IsSupportClient($arFields['USER_ID'])) { if ($arGroup['IS_TEAM_GROUP'] == 'Y') { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_USER_NO_TEAM')); return false; } } else { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_NO_SUPPORT_USER')); return false; } $rs = CSupportUser2UserGroup::GetList(false, array('GROUP_ID' => $arFields['GROUP_ID'], 'USER_ID' => $arFields['USER_ID'])); if ($rs->Fetch()) { $APPLICATION->ThrowException(GetMessage('SUP_ERROR_USERGROUP_EXISTS')); return false; } } if (array_key_exists('CAN_VIEW_GROUP_MESSAGES', $arFields)) { $arFields['CAN_VIEW_GROUP_MESSAGES'] = $arFields['CAN_VIEW_GROUP_MESSAGES'] == 'Y' ? 'Y' : 'N'; } elseif ($userID <= 0 && $groupID <= 0) { $arFields['CAN_VIEW_GROUP_MESSAGES'] = 'N'; } if (array_key_exists('CAN_MAIL_GROUP_MESSAGES', $arFields)) { $arFields['CAN_MAIL_GROUP_MESSAGES'] = $arFields['CAN_MAIL_GROUP_MESSAGES'] == 'Y' ? 'Y' : 'N'; } elseif ($userID <= 0 && $groupID <= 0) { $arFields['CAN_MAIL_GROUP_MESSAGES'] = 'N'; } return true; }
$APPLICATION->ThrowException(implode('<br>', $errors)); } } if ($bOK) { if (strlen($save) > 0) { 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' => '[<a title="' . GetMessage("MAIN_USER_PROFILE") . '" href="user_edit.php?ID=' . $ar_ug["USER_ID"] . '&lang=' . LANG . '">' . $ar_ug["USER_ID"] . '</a>] (' . $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) {