require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php"; require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/subscribe/include.php"; require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/subscribe/prolog.php"; /** @global CMain $APPLICATION */ /** @global CDatabase $DB */ IncludeModuleLangFile(__FILE__); $POST_RIGHT = $APPLICATION->GetGroupRight("subscribe"); if ($POST_RIGHT == "D") { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $ID = intval($_REQUEST["ID"]); $sTableID = "tbl_posting"; if ($_REQUEST["action"] == "js_send" && check_bitrix_sessid()) { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_js.php"; $cPosting = new CPosting(); $rsPosting = CPosting::GetByID($ID); $arPosting = $rsPosting->Fetch(); if ($arPosting) { if ($arPosting["STATUS"] == "D" || $arPosting["STATUS"] == "W") { if ($cPosting->ChangeStatus($ID, "P")) { if ($arPosting["AUTO_SEND_TIME"] != "") { if (COption::GetOptionString("subscribe", "subscribe_auto_method") !== "cron") { $rsAgents = CAgent::GetList(array("ID" => "DESC"), array("MODULE_ID" => "subscribe", "NAME" => "CPosting::AutoSend(" . $ID . ",%")); while ($arAgent = $rsAgents->Fetch()) { CAgent::Delete($arAgent["ID"]); } CAgent::AddAgent("CPosting::AutoSend(" . $ID . ",true);", "subscribe", "N", 0, $arPosting["AUTO_SEND_TIME"], "Y", $arPosting["AUTO_SEND_TIME"]); CAdminMessage::ShowMessage(array("MESSAGE" => GetMessage("posting_agent_submitted"), "TYPE" => "OK")); } else { CAdminMessage::ShowMessage(array("MESSAGE" => GetMessage("posting_cron_setup"), "TYPE" => "OK")); }
if ($e = $APPLICATION->GetException()) { $message = new CAdminMessage(GetMessage("post_save_error"), $e); } $bVarsFromForm = true; } } ClearVars(); $str_STATUS = "D"; $str_DIRECT_SEND = "Y"; $str_BODY_TYPE = "text"; $str_FROM_FIELD = COption::GetOptionString("subscribe", "default_from"); $str_TO_FIELD = COption::GetOptionString("subscribe", "default_to"); $str_AUTO_SEND_FLAG = "N"; $str_AUTO_SEND_TIME = ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL"); if ($ID > 0) { $post = CPosting::GetByID($ID); if (!($post_arr = $post->ExtractFields("str_"))) { $ID = 0; } } if ($bVarsFromForm) { if (!array_key_exists("DIRECT_SEND", $_REQUEST)) { $DIRECT_SEND = "N"; } $DB->InitTableVarsForEdit("b_posting", "", "str_"); if (array_key_exists("AUTO_SEND_FLAG", $_REQUEST)) { $str_AUTO_SEND_FLAG = "Y"; } else { $str_AUTO_SEND_FLAG = "N"; } } elseif ($ID > 0) {