protected function json_request() { if($_REQUEST["json_request_callback_form"] && $_REQUEST["json_request_callback_form"] == "Y"){ global $APPLICATION; $APPLICATION->restartBuffer(); $this->arResult = array(); $this->arResult["error"] = array(); if(!empty($_REQUEST["form"])){ foreach($_REQUEST["form"] as $val){ $this->arResult["form"][$val["name"]]=$val["value"]; if(($val["name"] == "USER_NAME" && strlen($val["value"]) < 2) || ($val["name"] == "USER_PHONE" && strlen($val["value"] < 6))){ $this->arResult["error"][] = array( "name" => $val["name"], "message" => GetMessage("ERROR_".$val["name"]) ); }else{ $this->arResult["field"][$val["name"]] = $val["value"]; } } } if(count($this->arResult["error"]) == 0){ CEvent::Send("SB_CALLBACK_FORM",SITE_ID,$this->arResult["form"]); \Bitrix\Main\Loader::includeModule("softbalance.callback"); $data = array( "CREATED" => new \Bitrix\Main\Type\DateTime(), "NAME" => $this->arResult["field"]["USER_NAME"], "STATUS" => "new", "PHONE" => $this->arResult["field"]["USER_PHONE"], "USER_COMMENT"=> $this->arResult["field"]["USER_COMMENT"], "ADMIN_COMMENT" => "", "SITE_ID" => SITE_ID ); $result = \Softbalance\Callback\CallbackTable::add($data); if($result){ $this->arResult["complete"]=true; $this->arResult["ok"]=GetMessage("ok"); } } echo json_encode($this->arResult); die(); } }
if($result->isSuccess()) { if($_REQUEST["save"] <> '') LocalRedirect(BX_ROOT."/admin/softbalance_callback.php?lang=".LANGUAGE_ID); else LocalRedirect(BX_ROOT."/admin/softbalance_callback_edit.php?lang=".LANGUAGE_ID."&ID=".$ID."&".$tabControl->ActiveTabParam()); } else { $message = $result->getErrorMessages(); } } if (isset($_REQUEST['action']) && $_REQUEST['action'] === 'delete' && check_bitrix_sessid()) { \Softbalance\Callback\CallbackTable::delete($ID); LocalRedirect("/bitrix/admin/softbalance_callback.php?lang=".LANG); } // ******************************************************************** // // ВЫБОРКА И ПОДГОТОВКА ДАННЫХ ФОРМЫ // // ******************************************************************** // // выборка данных if($ID>0){ $block = Softbalance\Callback\CallbackTable::getById($ID)->fetch(); if(!$block) $ID=0; } // дополнительная подготовка данных if($ID>0 && !$message)
} } $arFilter = array(); //if (!empty($find_user_id)) // $arFilter["USER_ID"] = $find_user_id; if (!empty($find_created_from)) { $arFilter[">=CREATED"] = $find_created_from; } if (!empty($find_created_to)) { $arFilter["<=CREATED"] = $find_created_to; } $myData = \Softbalance\Callback\CallbackTable::getList(array('filter' => $arFilter, 'order' => $arOrder)); $myData = new CAdminResult($myData, $listTableId); $myData->NavStart(); $lAdmin->NavText($myData->GetNavPrint(GetMessage("MY_STAT_ADMIN_NAV"))); $cols = \Softbalance\Callback\CallbackTable::getMap(); $colHeaders = array(); foreach ($cols as $colId => $col) { $colHeaders[] = array("id" => $colId, "content" => $col["title"], "sort" => $colId, "default" => true); } $lAdmin->AddHeaders($colHeaders); $visibleHeaderColumns = $lAdmin->GetVisibleHeaderColumns(); $arUsersCache = array(); $status = array("new" => GetMessage("SB_CALLBACK_STATUS_NEW"), "dialing" => GetMessage("SB_CALLBACK_STATUS_DIALING"), "completed" => GetMessage("SB_CALLBACK_STATUS_COMPLETED")); while ($arRes = $myData->GetNext()) { $arRes["STATUS"] = $status[$arRes["STATUS"]]; $row =& $lAdmin->AddRow($arRes["ID"], $arRes); $StatusHTML = '<select name="FIELDS[' . $arRes["ID"] . '][STATUS]">'; foreach ($status as $key => $value) { $selected = ""; if ($key == $arRes["~STATUS"]) {