- Модуль: support
- Путь к файлу: ~/bitrix/modules/support/classes/general/dictionary.php
- Класс: CAllTicketDictionary
- Вызов: CAllTicketDictionary::GetDropDownArray
static function GetDropDownArray($siteID = false, $SLA_ID = false, $arUnsetType = Array("F"))
{
//M, C, K, S, SR, D, F
global $DB;
$err_mess = (CAllTicketDictionary::err_mess())."
Function: GetDropDownArray
Line: ";
if ($siteID == false || $siteID == "all")
$siteID = "";
$arFilter = Array("SITE" => $siteID);
$arReturn = Array();
$rs = CTicketDictionary::GetList("s_dropdown", '', $arFilter);
while ($ar = $rs->Fetch())
{
if (in_array($ar["C_TYPE"], $arUnsetType))
continue;
$arReturn[$ar["C_TYPE"]][$ar["ID"]] = $ar;
}
$oldFunctionality = COption::GetOptionString( "support", "SUPPORT_OLD_FUNCTIONALITY", "Y" );
if( intval($SLA_ID) > 0 && $oldFunctionality == "Y" )
{
$SLA_ID = intval($SLA_ID);
$strSql = "SELECT 'M' as C_TYPE, SLA_ID, MARK_ID as DIC_ID FROM b_ticket_sla_2_mark WHERE SLA_ID = ".$SLA_ID."
UNION ALL
SELECT 'K' as C_TYPE, SLA_ID, CRITICALITY_ID as DIC_ID FROM b_ticket_sla_2_criticality WHERE SLA_ID = ".$SLA_ID."
UNION ALL
SELECT 'C' as C_TYPE, SLA_ID, CATEGORY_ID as DIC_ID FROM b_ticket_sla_2_category WHERE SLA_ID = ".$SLA_ID;
$r = $DB->Query($strSql, false, $err_mess.__LINE__);
$arUnset = Array();
while ($ar = $r->Fetch())
{
if ($ar["DIC_ID"] == 0)
continue;
else
$arUnset[$ar["C_TYPE"]][] = $ar["DIC_ID"];
}
if (!empty($arUnset) && !empty($arReturn))
{
foreach ($arReturn as $type => $arID)
{
if (!array_key_exists($type, $arUnset))
continue;
$arID = array_keys($arID);
$arID = array_diff($arID, $arUnset[$type]);
foreach ($arID as $val)
unset($arReturn[$type][$val]);
}
}
}
return $arReturn;
}