//инициализация фильтра
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;
Beispiel #2
0
<?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);
}