define("HELP_FILE", "add_newsletter.php"); $POST_RIGHT = $APPLICATION->GetGroupRight("subscribe"); if ($POST_RIGHT == "D") { $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); } $aTabs = array(array("DIV" => "edit1", "TAB" => GetMessage("rub_tab_rubric"), "ICON" => "main_user_edit", "TITLE" => GetMessage("rub_tab_rubric_title")), array("DIV" => "edit2", "TAB" => GetMessage("rub_tab_generation"), "ICON" => "main_user_edit", "TITLE" => GetMessage("rub_tab_generation_title"))); $tabControl = new CAdminTabControl("tabControl", $aTabs); $ID = intval($ID); // Id of the edited record $message = null; $bVarsFromForm = false; if ($REQUEST_METHOD == "POST" && ($save != "" || $apply != "") && $POST_RIGHT == "W" && check_bitrix_sessid()) { $rubric = new CRubric(); $arFields = array("ACTIVE" => $ACTIVE != "Y" ? "N" : "Y", "NAME" => $NAME, "CODE" => $CODE, "SORT" => $SORT, "DESCRIPTION" => $DESCRIPTION, "LID" => $LID, "AUTO" => $AUTO != "Y" ? "N" : "Y", "DAYS_OF_MONTH" => $DAYS_OF_MONTH, "DAYS_OF_WEEK" => is_array($DAYS_OF_WEEK) ? implode(",", $DAYS_OF_WEEK) : "", "TIMES_OF_DAY" => $TIMES_OF_DAY, "TEMPLATE" => $TEMPLATE, "VISIBLE" => $VISIBLE != "Y" ? "N" : "Y", "FROM_FIELD" => $FROM_FIELD, "LAST_EXECUTED" => $LAST_EXECUTED); if ($ID > 0) { $res = $rubric->Update($ID, $arFields); } else { $ID = $rubric->Add($arFields); $res = $ID > 0; } if ($res) { if ($apply != "") { LocalRedirect("/bitrix/admin/rubric_edit.php?ID=" . $ID . "&mess=ok&lang=" . LANG . "&" . $tabControl->ActiveTabParam()); } else { LocalRedirect("/bitrix/admin/rubric_admin.php?lang=" . LANG); } } else { if ($e = $APPLICATION->GetException()) { $message = new CAdminMessage(GetMessage("rub_save_error"), $e); } $bVarsFromForm = true;
switch ($_REQUEST['action']) { case "delete": @set_time_limit(0); $DB->StartTransaction(); if (!CRubric::Delete($ID)) { $DB->Rollback(); $lAdmin->AddGroupError(GetMessage("rub_del_err"), $ID); } $DB->Commit(); break; case "activate": case "deactivate": $cData = new CRubric(); if (($rsData = $cData->GetByID($ID)) && ($arFields = $rsData->Fetch())) { $arFields["ACTIVE"] = $_REQUEST['action'] == "activate" ? "Y" : "N"; if (!$cData->Update($ID, $arFields)) { $lAdmin->AddGroupError(GetMessage("rub_save_error") . $cData->LAST_ERROR, $ID); } } else { $lAdmin->AddGroupError(GetMessage("rub_save_error") . " " . GetMessage("rub_no_rubric"), $ID); } break; } } } $cData = new CRubric(); $rsData = $cData->GetList(array($by => $order), $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); $lAdmin->NavText($rsData->GetNavPrint(GetMessage("rub_nav"))); $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "align" => "right", "default" => true), array("id" => "NAME", "content" => GetMessage("rub_name"), "sort" => "name", "default" => true), array("id" => "LID", "content" => GetMessage("rub_site"), "sort" => "lid", "default" => true), array("id" => "SORT", "content" => GetMessage("rub_sort"), "sort" => "sort", "align" => "right", "default" => true), array("id" => "CODE", "content" => GetMessage("rub_code"), "sort" => "name", "default" => false), array("id" => "ACTIVE", "content" => GetMessage("rub_act"), "sort" => "act", "default" => true), array("id" => "VISIBLE", "content" => GetMessage("rub_visible"), "sort" => "visible", "default" => true), array("id" => "AUTO", "content" => GetMessage("rub_auto"), "sort" => "auto", "default" => true), array("id" => "LAST_EXECUTED", "content" => GetMessage("rub_last_exec"), "sort" => "last_executed", "default" => true)));