Esempio n. 1
0
 function __MPF_ImageResizeHandler(&$arCustomFile, $params = array(), $result = array())
 {
     static $arParams = array();
     if (!empty($params)) {
         $arParams = $params;
     }
     static $arResult = array();
     if (!empty($result)) {
         $arResult = $result;
     }
     $fileIdForDelete = 0;
     $arFields = array();
     foreach (array("MELODY_WELCOME", "MELODY_WAIT", "MELODY_HOLD", "MELODY_VOICEMAIL") as $controlID => $inputName) {
         if ($_REQUEST["controlID"] == "voximplant" . $controlID) {
             $fileIdForDelete = $arResult["ITEM"][$inputName];
             $arFields = array($inputName => $arCustomFile["fileID"]);
             break;
         }
     }
     if (!empty($arFields)) {
         $arFile = CFile::GetFileArray($arCustomFile['fileID']);
         $arCustomFile["fileURL"] = CHTTP::URN2URI($arFile["SRC"]);
         Bitrix\Voximplant\ConfigTable::update($arParams["ID"], $arFields);
         CFile::Delete($fileIdForDelete);
     }
 }
Esempio n. 2
0
    } else {
        $post["WORKTIME_DAYOFF_NUMBER"] = '';
    }
    $arFields = array("DIRECT_CODE" => $post["DIRECT_CODE"], "DIRECT_CODE_RULE" => $post["DIRECT_CODE_RULE"], "CRM" => $post["CRM"], "CRM_RULE" => $post["CRM_RULE"], "CRM_CREATE" => $post["CRM_CREATE"], "CRM_FORWARD" => $post["CRM_FORWARD"], "QUEUE_TIME" => $post["QUEUE_TIME"], "TIMEMAN" => $post["TIMEMAN"], "NO_ANSWER_RULE" => $post["NO_ANSWER_RULE"], "FORWARD_NUMBER" => $post["FORWARD_NUMBER"], "RECORDING" => $post["RECORDING"], "MELODY_LANG" => $post["MELODY_LANG"], "MELODY_WELCOME" => $post["MELODY_WELCOME"], "MELODY_WELCOME_ENABLE" => $post["MELODY_WELCOME_ENABLE"], "MELODY_WAIT" => $post["MELODY_WAIT"], "MELODY_HOLD" => $post["MELODY_HOLD"], "MELODY_VOICEMAIL" => $post["MELODY_VOICEMAIL"], "WORKTIME_ENABLE" => isset($post["WORKTIME_ENABLE"]) ? "Y" : "N", "WORKTIME_FROM" => $workTimeFrom, "WORKTIME_TO" => $workTimeTo, "WORKTIME_HOLIDAYS" => $workTimeHolidays, "WORKTIME_DAYOFF" => $workTimeDayOff, "WORKTIME_TIMEZONE" => $post["WORKTIME_TIMEZONE"], "WORKTIME_DAYOFF_RULE" => $post["WORKTIME_DAYOFF_RULE"], "WORKTIME_DAYOFF_NUMBER" => $post["WORKTIME_DAYOFF_NUMBER"], "WORKTIME_DAYOFF_MELODY" => $post["WORKTIME_DAYOFF_MELODY"]);
    $post["QUEUE"] = is_array($post["QUEUE"]) ? $post["QUEUE"] : array();
    $post["QUEUE"]["U"] = is_array($post["QUEUE"]["U"]) ? $post["QUEUE"]["U"] : array();
    $queue = array();
    if (is_array($post["QUEUE"]) && is_array($post["QUEUE"]["U"])) {
        foreach ($post["QUEUE"] as $type => $k) {
            $queue[$type] = str_replace($type, "", $k);
        }
    }
    if ($skipSaving) {
        $error = $viSip->GetError()->msg;
    } else {
        if (($res = Bitrix\Voximplant\ConfigTable::update($arParams["ID"], $arFields)) && $res->isSuccess()) {
            // TODO We should work with other socialnetwork entities
            $toDrop = array_diff($arResult["~QUEUE"], $queue["U"]);
            $toAdd = array_diff($queue["U"], array_keys($arResult["QUEUE"]));
            foreach ($toDrop as $primary => $id) {
                Bitrix\Voximplant\QueueTable::delete($primary);
            }
            foreach ($toAdd as $k) {
                Bitrix\Voximplant\QueueTable::add(array("CONFIG_ID" => $arParams["ID"], "USER_ID" => $k, "STATUS" => "OFFLINE"));
            }
            LocalRedirect(CVoxImplantMain::GetPublicFolder() . 'lines.php?MODE=' . $arResult["ITEM"]["PORTAL_MODE"]);
        }
        $error = $res->getErrorMessages();
    }
    $arResult = array("ERROR" => $error, "ITEM" => array_merge($arResult["ITEM"], $arFields), "QUEUE" => array_flip($queue["U"]), "SIP_CONFIG" => array_merge($arResult["SIP_CONFIG"], $arFieldsSip));
}