/**
* @global \CUser $USER
* @global \CMain $APPLICATION
* @global \CDatabase $DB
*/
require_once(__DIR__."/../include/prolog_admin_before.php");
ClearVars();
if(!$USER->CanDoOperation('edit_ratings'))
$APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
IncludeModuleLangFile(__FILE__);
$ID = intval($_REQUEST['ID'] ?? 0);
$message = null;
if($_SERVER['REQUEST_METHOD']=="POST" && (!empty($_POST['save']) || !empty($_POST['apply'])) && check_bitrix_sessid())
{
$arFields = array(
"ACTIVE" => $_POST['ACTIVE'] ?? 'N',
"ACTIVATE" => $_POST['ACTIVATE'] ?? 'N',
"DEACTIVATE" => $_POST['DEACTIVATE'] ?? 'N',
"NAME" => $_POST['NAME'] ?? '',
"ENTITY_TYPE_ID" => $_POST['ENTITY_TYPE_ID'] ?? '',
"CONDITION_NAME" => $_POST['CONDITION_NAME'] ?? '',
"CONDITION_CONFIG" => $_POST['CONDITION_CONFIG'] ?? '',
);
if (isset($_POST['ACTION_NAME']))
{
$arFields["ACTION_NAME"] = $_POST['ACTION_NAME'];
$arFields["ACTION_CONFIG"] = $_POST['ACTION_CONFIG'] ?? '';
}
if($ID>0)
$res = CRatingRule::Update($ID, $arFields);
else
{
$ID = CRatingRule::Add($arFields);
$res = ($ID>0);
}
if($res)
{
if($apply <> "")
{
\Bitrix\Main\Application::getInstance()->getSession()["SESS_ADMIN"]["RATING_RULE_EDIT_MESSAGE"]=array("MESSAGE"=>GetMessage("RATING_RULE_EDIT_SUCCESS"), "TYPE"=>"OK");
LocalRedirect("rating_rule_edit.php?ID=".$ID."&lang=".LANG);
}
else
LocalRedirect(($_REQUEST["addurl"]<>""? $_REQUEST["addurl"]:"rating_rule_list.php?lang=".LANG));
}
else
{
if($e = $APPLICATION->GetException())
$message = new CAdminMessage(GetMessage("RATING_RULE_EDIT_ERROR"), $e);
}
}
// default value
$str_NAME = isset($_REQUEST["NAME"]) ? htmlspecialcharsbx($_REQUEST["NAME"]) : GetMessage("RATING_RULE_DEF_NAME");
$str_ENTITY_TYPE_ID = isset($_REQUEST["ENTITY_TYPE_ID"]) ? htmlspecialcharsbx($_REQUEST["ENTITY_TYPE_ID"]) : 'USER';
$str_ACTIVE = isset($_REQUEST["ACTIVE"]) && $_REQUEST["ACTIVE"] == 'Y' ? 'Y' : 'N';
$str_CONDITION_NAME = isset($_REQUEST["CONDITION_NAME"]) ? htmlspecialcharsbx($_REQUEST["CONDITION_NAME"]) : 'RATING';
$str_ACTION_NAME = isset($_REQUEST["ACTION_NAME"]) ? htmlspecialcharsbx($_REQUEST["ACTION_NAME"]) : 'ADD_TO_GROUP';
$bTypeChange = isset($_POST["action"]) && $_POST["action"] == 'type_changed' ? true : false;
//when creating a new rule, default check on
if ($ID == 0 && empty($_POST))
$str_ACTIVE = 'Y';
if($ID>0 && !$bTypeChange)
{
$ratingRule = CRatingRule::GetByID($ID);
if(!($arRatingRule = $ratingRule->ExtractFields("str_")))
$ID=0;
$str_CONDITION_CONFIG = unserialize(htmlspecialcharsback($str_CONDITION_CONFIG), ['allowed_classes' => false]);
$str_ACTION_CONFIG = unserialize(htmlspecialcharsback($str_ACTION_CONFIG), ['allowed_classes' => false]);
}
$sDocTitle = ($ID>0? GetMessage("MAIN_RATING_RULE_EDIT_RECORD", array("#ID#"=>$ID)) : GetMessage("MAIN_RATING_RULE_NEW_RECORD"));
$APPLICATION->SetTitle($sDocTitle);
require($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/prolog_admin_after.php");
$aMenu = array(
array(
"TEXT"=>GetMessage("RATING_RULE_LIST"),
"TITLE"=>GetMessage("RATING_RULE_LIST_TITLE"),
"LINK"=>"rating_rule_list.php?lang=".LANG,
"ICON"=>"btn_list",
)
);
if($ID>0)
{
$aMenu[] = array("SEPARATOR"=>"Y");
$aMenu[] = array(
"TEXT"=>GetMessage("RATING_RULE_EDIT_ADD"),
"TITLE"=>GetMessage("RATING_RULE_EDIT_ADD_TITLE"),
"LINK"=>"rating_rule_edit.php?lang=".LANG,
"ICON"=>"btn_new",
);
$aMenu[] = array(
"TEXT"=>GetMessage("RATING_RULE_EDIT_DEL"),
"TITLE"=>GetMessage("RATING_RULE_EDIT_DEL_TITLE"),
"LINK"=>"javascript:if(confirm('".GetMessage("RATING_RULE_EDIT_DEL_CONF")."')) window.location='rating_rule_list.php?ID=".$ID."&action=delete&lang=".LANG."&".bitrix_sessid_get()."';",
"ICON"=>"btn_delete",
);
}
$context = new CAdminContextMenu($aMenu);
$context->Show();
if(
isset(\Bitrix\Main\Application::getInstance()->getSession()["SESS_ADMIN"]["RATING_RULE_EDIT_MESSAGE"])
&& is_array(\Bitrix\Main\Application::getInstance()->getSession()["SESS_ADMIN"]["RATING_RULE_EDIT_MESSAGE"])
)
{
CAdminMessage::ShowMessage(\Bitrix\Main\Application::getInstance()->getSession()["SESS_ADMIN"]["RATING_RULE_EDIT_MESSAGE"]);
\Bitrix\Main\Application::getInstance()->getSession()["SESS_ADMIN"]["RATING_RULE_EDIT_MESSAGE"]=false;
}
if($message)
echo $message->Show();
$aTabs = array(
array("DIV" => "edit1", "TAB" => GetMessage("RATING_RULE_EDIT_TAB_MAIN"), "TITLE"=>GetMessage("RATING_RULE_EDIT_TAB_MAIN_TITLE")),
);
$tabControl = new CAdminForm("rating_rule", $aTabs, true, true);
$tabControl->BeginEpilogContent();
?>
Fatal error: Uncaught Error: Call to undefined function bitrix_sessid_post() in D:\ktt\ttepla.com\public_html\bitrix\modules\main\admin\rating_rule_edit.php:134
Stack trace:
#0 {main}
thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\main\admin\rating_rule_edit.php on line 134