$lAdmin->AddGroupError(GetMessage("MAIN_EDIT_ERROR") . ':' . $emessage->LAST_ERROR, $ID); } break; } } } $rsData = CEventMessage::GetList($by, $order, $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // LIST $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); // Header $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true, "align" => "right"), array("id" => "TIMESTAMP_X", "content" => GetMessage('TIMESTAMP'), "default" => true, "align" => "center"), array("id" => "ACTIVE", "content" => GetMessage('ACTIVE'), "sort" => "active", "default" => true, "align" => "center"), array("id" => "LID", "content" => GetMessage('LANG'), "default" => true, "align" => "center"), array("id" => "EVENT_NAME", "content" => GetMessage("EVENT_TYPE"), "sort" => "event_name", "default" => true), array("id" => "EVENT_TYPE", "content" => GetMessage("EVENT_TYPE")), array("id" => "SUBJECT", "content" => GetMessage('SUBJECT'), "sort" => "subject", "default" => true), array("id" => "EMAIL_FROM", "content" => GetMessage("F_FROM"), "sort" => "from"), array("id" => "EMAIL_TO", "content" => GetMessage("F_TO"), "sort" => "to"), array("id" => "BCC", "content" => GetMessage("F_BCC"), "sort" => "bcc"), array("id" => "BODY_TYPE", "content" => GetMessage("F_BODY_TYPE"), "sort" => "body_type"))); $arText_HTML = array("text" => GetMessage("MAIN_TEXT"), "html" => GetMessage("MAIN_HTML")); $arEventTypes = array(); $rsType = CEventType::GetListEx(array(), array(), array("LID" => LANG, "type" => "type")); while ($arType = $rsType->Fetch()) { $arEventTypes[$arType["EVENT_NAME"]] = $arType["NAME"]; } // Body while ($arRes = $rsData->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arRes, "message_edit.php?lang=" . LANGUAGE_ID . "&ID=" . $f_ID, GetMessage("MAIN_ADMIN_MENU_EDIT_TITLE")); $row->AddViewField("ID", '<a href="message_edit.php?lang=' . LANGUAGE_ID . '&ID=' . $f_ID . '" title="' . GetMessage("MAIN_ADMIN_MENU_EDIT_TITLE") . '">' . $f_ID . '</a>'); $strSITE_ID = ''; $db_LID = CEventMessage::GetLang($f_ID); while ($ar_LID = $db_LID->Fetch()) { $strSITE_ID .= htmlspecialcharsbx($ar_LID["LID"]) . "<br>"; } $row->AddViewField("LID", $strSITE_ID); $row->AddCheckField("ACTIVE"); $row->AddInputField("SUBJECT", array("size" => 30));
function CheckFields($arFields, $ID = false) { /** @global CMain $APPLICATION */ global $APPLICATION; $this->LAST_ERROR = ""; $arMsg = array(); if (is_set($arFields, "EMAIL_FROM") && strlen($arFields["EMAIL_FROM"]) < 3) { $this->LAST_ERROR .= GetMessage("BAD_EMAIL_FROM") . "<br>"; $arMsg[] = array("id" => "EMAIL_FROM", "text" => GetMessage("BAD_EMAIL_FROM")); } if (is_set($arFields, "EMAIL_TO") && strlen($arFields["EMAIL_TO"]) < 3) { $this->LAST_ERROR .= GetMessage("BAD_EMAIL_TO") . "<br>"; $arMsg[] = array("id" => "EMAIL_TO", "text" => GetMessage("BAD_EMAIL_TO")); } if ($ID === false && !is_set($arFields, "EVENT_NAME")) { $this->LAST_ERROR .= GetMessage(GetMessage("MAIN_BAD_EVENT_NAME_NA")) . "<br>"; $arMsg[] = array("id" => "EVENT_NAME", "text" => GetMessage("MAIN_BAD_EVENT_NAME_NA")); } if (is_set($arFields, "EVENT_NAME")) { $r = CEventType::GetListEx(array(), array("EVENT_NAME" => $arFields["EVENT_NAME"]), array("type" => "none")); if (!$r->Fetch()) { $this->LAST_ERROR .= GetMessage("BAD_EVENT_TYPE") . "<br>"; $arMsg[] = array("id" => "EVENT_NAME", "text" => GetMessage("BAD_EVENT_TYPE")); } } if ($ID === false && !is_set($arFields, "LID") || is_set($arFields, "LID") && (is_array($arFields["LID"]) && count($arFields["LID"]) <= 0 || !is_array($arFields["LID"]) && strlen($arFields["LID"]) <= 0)) { $this->LAST_ERROR .= GetMessage("MAIN_BAD_SITE_NA") . "<br>"; $arMsg[] = array("id" => "LID", "text" => GetMessage("MAIN_BAD_SITE_NA")); } elseif (is_set($arFields, "LID")) { if (!is_array($arFields["LID"])) { $arFields["LID"] = array($arFields["LID"]); } foreach ($arFields["LID"] as $v) { $r = CSite::GetByID($v); if (!$r->Fetch()) { $this->LAST_ERROR .= "'" . $v . "' - " . GetMessage("MAIN_EVENT_BAD_SITE") . "<br>"; $arMsg[] = array("id" => "LID", "text" => GetMessage("MAIN_EVENT_BAD_SITE")); } } } if (!empty($arMsg)) { $e = new CAdminException($arMsg); $APPLICATION->ThrowException($e); } if (strlen($this->LAST_ERROR) > 0) { return false; } return true; }
} else { $DB->Commit(); } break; } } } $arLID = array(); $db_res = CLanguage::GetList($by_ = "sort", $order_ = "asc"); if ($db_res && ($res = $db_res->GetNext())) { do { $arLID[$res["LID"]] = $res["LID"]; } while ($res = $db_res->GetNext()); } $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "default" => true), array("id" => "LID", "content" => GetMessage("LANG"), "default" => true), array("id" => "EVENT_NAME", "content" => GetMessage("EVENT_TYPE"), "sort" => "event_name", "default" => true), array("id" => "NAME", "content" => GetMessage("EVENT_NAME"), "default" => true), array("id" => "DESCRIPTION", "content" => GetMessage("EVENT_DESCRIPTION"), "default" => false), array("id" => "TEMPLATES", "content" => GetMessage("EVENT_TEMPLATES"), "default" => false))); $db_res = CEventType::GetListEx(array($by => $order), $arFilter, array("type" => "full")); if ($db_res && ($res = $db_res->Fetch())) { do { $arResult[] = $res; } while ($res = $db_res->Fetch()); } $rsData = new CDBResult(); $rsData->InitFromArray($arResult); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("PAGES"))); while ($arRes = $rsData->NavNext(true, "f_")) { $arr = $f_ID; $f_ID = $f_EVENT_NAME; $row =& $lAdmin->AddRow($f_EVENT_NAME, $arRes, "type_edit.php?EVENT_NAME=" . $f_EVENT_NAME, GetMessage("type_admin_edit_title")); $row->AddViewField("ID", implode("<br />", $arr));
$DB->Rollback(); } else { $DB->Commit(); if ($_POST["save"] != '') { LocalRedirect(BX_ROOT . "/admin/type_admin.php?lang=" . LANGUAGE_ID); } else { LocalRedirect(BX_ROOT . "/admin/type_edit.php?EVENT_NAME=" . $res["EVENT_NAME"] . "&lang=" . LANGUAGE_ID); } } } if ($bVarsFromForm && ($e = $APPLICATION->GetException())) { $message = new CAdminMessage(GetMessage("MAIN_ERROR_SAVING"), $e); } $arParams["EVENT_NAME"] = $_REQUEST["EVENT_NAME"]; if ($arParams["EVENT_NAME"] != '') { $db_res = CEventType::GetListEx(array(), array("EVENT_NAME" => $arParams["EVENT_NAME"]), array("type" => "full")); if ($db_res && ($res = $db_res->Fetch())) { $arParams["DATA"] = $res; if (is_array($res["TYPE"])) { foreach ($res["TYPE"] as $r) { $arParams["DATA"][$r["LID"]] = $r; } } $arParams["ACTION"] = "UPDATE"; $arParams["DATA_OLD"] = $arParams["DATA"]; } } $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("EVENT_NAME_TITLE"), "ICON" => "mail", "TITLE" => GetMessage("EVENT_NAME_DESCR"))); if ($arParams["ACTION"] == "UPDATE") { $aTabs[] = array("DIV" => "edit2", "TAB" => GetMessage("TEMPLATES_TITLE"), "ICON" => "mail", "TITLE" => GetMessage("TEMPLATES_DESCR")); }
$oSort = new CAdminSorting($sTableID, "event_name", "desc"); $lAdmin = new CAdminList($sTableID, $oSort); $arFilterFields = array("find", "find_type", "find_type_id", "find_tmpl_id"); $lAdmin->InitFilter($arFilterFields); if (!empty($find) && in_array(strToUpper($find_type), array('EVENT_NAME', 'NAME', 'DESCRIPTION'))) { $arFilter["=%" . strToUpper($find_type)] = '%' . $find . '%'; } if (!empty($find_type_id)) { $arFilter["ID"] = $find_type_id; } if (!empty($find_tmpl_id)) { $arFilter["MESSAGE_ID"] = $find_tmpl_id; } if (($arID = $lAdmin->GroupAction()) && $isAdmin && check_bitrix_sessid()) { if ($_REQUEST['action_target'] == 'selected') { $rsData = CEventType::GetListEx(array($by => $order), $arFilter, array("type" => "none")); while ($arRes = $rsData->Fetch()) { $arID[] = $arRes['EVENT_NAME']; } } foreach ($arID as $ID) { if (strLen($ID) <= 0) { continue; } switch ($_REQUEST['action']) { case "delete": case "clean": $DB->StartTransaction(); $ID = array("EVENT_NAME" => $ID); $db_res = CEventMessage::GetList($by, $order, $ID); if ($db_res && ($res = $db_res->Fetch())) {