• Модуль: support
  • Путь к файлу: ~/bitrix/modules/support/classes/general/sla.php
  • Класс: CAllTicketSLA
  • Вызов: CAllTicketSLA::GetForUser
static function GetForUser($siteID=false, $userID=false)
{
	$err_mess = (CAllTicketSLA::err_mess())."
Function: GetForUser
Line: "; global $DB, $USER, $APPLICATION; $slaID = 1; // default SLA $arrGroups = array(); if (!is_object($USER)) $USER = new CUser; if ($userID===false && is_object($USER)) $userID = $USER->GetID(); if ($siteID==false) $siteID = SITE_ID; $userID = intval($userID); if ($userID>0) $arrGroups = CUser::GetUserGroup($userID); if (count($arrGroups)<=0) $arrGroups[] = 2; $arSla2Site = array(); $rs = $DB->Query("SELECT SLA_ID, SITE_ID FROM b_ticket_sla_2_site", false, $err_mess.__LINE__); while ($ar = $rs->Fetch()) $arSla2Site[$ar["SLA_ID"]][] = $ar["SITE_ID"]; $strSql = " SELECT SG.SLA_ID FROM b_ticket_sla_2_user_group SG INNER JOIN b_ticket_sla S ON (S.ID = SG.SLA_ID) WHERE SG.GROUP_ID in (".implode(",",$arrGroups).") GROUP BY SG.SLA_ID, S.PRIORITY ORDER BY S.PRIORITY DESC "; $rs = $DB->Query($strSql, false, $err_mess.__LINE__); while ($ar = $rs->Fetch()) { if (is_array($arSla2Site[$ar["SLA_ID"]]) && (in_array($siteID, $arSla2Site[$ar["SLA_ID"]]) || in_array("ALL", $arSla2Site[$ar["SLA_ID"]]))) { $slaID = $ar["SLA_ID"]; break; } } return $slaID; }