//инициализация фильтра foreach ($arFilterFields as $key) { if (strpos($key, "_exact_match") !== false) { InitBVar(${$key}); } $arFilter[strtoupper(substr($key, 5))] = ${$key}; } if ($bAdmin == "Y" && $lAdmin->EditAction()) { foreach ($FIELDS as $ID => $arFields) { $ID = intval($ID); if (!$lAdmin->IsUpdated($ID)) { continue; } $arFields["PRIORITY"] = intval($arFields["PRIORITY"]); if (strlen(trim($arFields["NAME"])) > 0) { CTicketSLA::Set(array("NAME" => $arFields["NAME"], "PRIORITY" => $arFields["PRIORITY"]), $ID); } else { $lAdmin->AddUpdateError(str_replace("#ID#", $ID, GetMessage("SUP_FORGOT_NAME")), $ID); } } } if ($bAdmin == "Y" && ($arID = $lAdmin->GroupAction())) { if ($_REQUEST['action_target'] == 'selected') { $rsData = CTicketSLA::GetList($arSort, $arFilter, $is_filtered); while ($arRes = $rsData->Fetch()) { $arID[] = $arRes['ID']; } } foreach ($arID as $ID) { if (strlen($ID) <= 0) { continue;
<?php if (!CModule::IncludeModule('support')) { return; } $rsSites = CSite::GetList($v1, $v2, array('ACTIVE' => 'Y')); while ($arSite = $rsSites->Fetch()) { IncludeModuleLangFile(__FILE__, $arSite['LANGUAGE_ID']); $SLA_ID = CTicketSLA::Set(array('NAME' => GetMessage('SUP_DEF_SLA_NAME'), 'PRIORITY' => 0, 'RESPONSE_TIME_UNIT' => 'hour', 'NOTICE_TIME_UNIT' => 'hour', 'CREATED_GUEST_ID' => 0, 'MODIFIED_GUEST_ID' => 0, 'arGROUPS' => array(2), 'arSITES' => array($arSite['ID']), 'arCATEGORIES' => array(0), 'arCRITICALITIES' => array(0), 'arMARKS' => array(0), 'arSHEDULE' => array(0 => array('OPEN_TIME' => '24H'), 1 => array('OPEN_TIME' => '24H'), 2 => array('OPEN_TIME' => '24H'), 3 => array('OPEN_TIME' => '24H'), 4 => array('OPEN_TIME' => '24H'), 5 => array('OPEN_TIME' => '24H'), 6 => array('OPEN_TIME' => '24H'))), 0, false); if (!$SLA_ID) { $DD_ERROR = true; return; } $e = CTicketDictionary::Add(array('NAME' => GetMessage('SUP_DEF_BUGS'), 'arrSITE' => array($arSite['ID']), 'C_TYPE' => 'C', 'C_SORT' => 100, 'EVENT1' => 'ticket', 'EVENT2' => 'bugs')); if (!$e) { $DD_ERROR = true; return; } $e = CTicketDictionary::Add(array('NAME' => GetMessage('SUP_DEF_ORDER_PAYMENT'), 'arrSITE' => array($arSite['ID']), 'C_TYPE' => 'C', 'C_SORT' => 200, 'EVENT1' => 'ticket', 'EVENT2' => 'pay')); if (!$e) { $DD_ERROR = true; return; } $e = CTicketDictionary::Add(array('NAME' => GetMessage('SUP_DEF_ORDER_SHIPPING'), 'arrSITE' => array($arSite['ID']), 'C_TYPE' => 'C', 'C_SORT' => 300, 'EVENT1' => 'ticket', 'EVENT2' => 'delivery')); if (!$e) { $DD_ERROR = true; return; } $e = CTicketDictionary::Add(array('NAME' => GetMessage('SUP_DEF_LOW'), 'arrSITE' => array($arSite['ID']), 'C_TYPE' => 'K', 'C_SORT' => 100)); if (!$e) { $DD_ERROR = true;
} if ($bExist) { // проверяем корректно ли заданы промежутки времени if (!CheckShedule($arFields["arSHEDULE"][$i]["CUSTOM_TIME"])) { unset($arFields["arSHEDULE"][$i]["CUSTOM_TIME"]); $bExist = false; } } if (!$bExist) { $arFields["arSHEDULE"][$i]["OPEN_TIME"] = "CLOSED"; } } } } } if ($ID = CTicketSLA::Set($arFields, $ID)) { if ($e = $APPLICATION->GetException()) { $message = new CAdminMessage(GetMessage("SUP_ERROR"), $e); } else { //if($obException = $APPLICATION->GetException()) $strError = $obException->GetString()."<br>"; //if (strlen($strError)<=0) //{ if (strlen($save) > 0) { LocalRedirect($LIST_URL . "?lang=" . LANGUAGE_ID); } else { LocalRedirect($EDIT_URL . "?ID=" . $ID . "&lang=" . LANGUAGE_ID . "&tabControl_active_tab=" . urlencode($tabControl_active_tab)); } } } $DB->PrepareFields($TABLE_NAME); }