IncludeModuleLangFile(__FILE__); define("HELP_FILE", "vote_list.php"); $sTableID = "tbl_vote_question"; $oSort = new CAdminSorting($sTableID, "ID", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $aMenu = array(); $VOTE_ID = intval($_REQUEST["VOTE_ID"]); $z = CVote::GetByID($VOTE_ID); if (!($arVote = $z->Fetch())) { require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; echo "<a href='vote_list.php?lang=" . LANGUAGE_ID . "' class='navchain'>" . GetMessage("VOTE_VOTE_LIST") . "</a>"; echo ShowError(GetMessage("VOTE_NOT_FOUND")); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; die; } $t = CVoteChannel::GetByID($arVote["CHANNEL_ID"]); $arChannel = $t->Fetch(); $adminChain->AddItem(array("TEXT" => htmlspecialcharsbx($arChannel["TITLE"]), "LINK" => "vote_channel_edit.php?ID={$arChannel['ID']}&lang=" . LANGUAGE_ID)); $adminChain->AddItem(array("TEXT" => strlen($arVote["TITLE"]) > 0 ? htmlspecialcharsbx($arVote["TITLE"]) : TruncateText($arVote["DESCRIPTION_TYPE"] == "html" ? strip_tags($arVote["DESCRIPTION"]) : htmlspecialcharsbx($arVote["DESCRIPTION"]), 200), "LINK" => "vote_edit.php?ID={$arVote['ID']}&lang=" . LANGUAGE_ID)); $arFilterFields = array("find_id", "find_id_exact_match", "find_active", "find_diagram", "find_required", "find_question", "find_question_exact_match"); $lAdmin->InitFilter($arFilterFields); /******************************************************************** Actions ********************************************************************/ InitBVar($find_id_exact_match); InitBVar($find_question_exact_match); $arFilter = array("ID" => $find_id, "ID_EXACT_MATCH" => $find_id_exact_match, "ACTIVE" => $find_active, "DIAGRAM" => $find_diagram, "REQUIRED" => $find_required, "QUESTION" => $find_question, "QUESTION_EXACT_MATCH" => $find_question_exact_match); if (!($VOTE_RIGHT >= "W" && check_bitrix_sessid())) { // } else { if ($lAdmin->EditAction()) {
} } $res = $ID > 0 ? CVoteChannel::Update($ID, $arFields) : CVoteChannel::Add($arFields); if ($res > 0) { if (!empty($save)) { LocalRedirect("vote_channel_list.php?lang=" . LANGUAGE_ID); } LocalRedirect($APPLICATION->GetCurPage() . "?lang=" . LANGUAGE_ID . "&ID=" . $res . "&" . $tabControl->ActiveTabParam()); } else { $bVarsFromForm = true; if ($e = $APPLICATION->GetException()) { $message = new CAdminMessage(GetMessage("VOTE_GOT_ERROR"), $e); } } } $db_res = $ID > 0 ? CVoteChannel::GetByID($ID) : false; if (!($db_res && ($res = $db_res->Fetch()))) { $APPLICATION->SetTitle(GetMessage("VOTE_NEW_RECORD")); if ($ID > 0 && $message == null) { $message = new CAdminMessage(GetMessage("VOTE_CHANNEL_IS_NOT_EXISTS", array("#ID#" => $ID))); } $ID = 0; $res = array("TITLE" => "", "SYMBOLIC_NAME" => "", "ACTIVE" => "Y", "HIDDEN" => "N", "C_SORT" => 100, "VOTE_SINGLE" => "Y", "USE_CAPTCHA" => "N", "SITE" => array_keys($arrSites), "GROUP_ID" => array()); } else { $APPLICATION->SetTitle(GetMessage("VOTE_EDIT_RECORD", array("#ID#" => $ID))); $res["SITE"] = CVoteChannel::GetSiteArray($ID); $res["GROUP_ID"] = CVoteChannel::GetArrayGroupPermission($ID); } if (isset($bVarsFromForm) && $bVarsFromForm == true) { $res = array_intersect_key($_REQUEST, $res); }
public static function WrongDateInterval($CURRENT_VOTE_ID, $DATE_START, $DATE_END, $CHANNEL_ID) { global $DB; $err_mess = CAllVote::err_mess() . "<br>Function: WrongDateInterval<br>Line: "; $CURRENT_VOTE_ID = intval($CURRENT_VOTE_ID); $CURRENT_VOTE_ID = $CURRENT_VOTE_ID > 0 ? $CURRENT_VOTE_ID : false; $CHANNEL_ID = intval($CHANNEL_ID); $CHANNEL_ID = $CHANNEL_ID > 0 ? $CHANNEL_ID : false; $DATE_START = $DATE_START == false ? false : (trim($DATE_START) == '' ? false : trim($DATE_START)); $DATE_END = $DATE_END == false ? false : (trim($DATE_END) == '' ? false : trim($DATE_END)); if ($CURRENT_VOTE_ID == false && $CHANNEL_ID == false) { return 0; } elseif ($CHANNEL_ID > 0) { $db_res = CVoteChannel::GetByID($CHANNEL_ID); if ($db_res && ($res = $db_res->Fetch())) { if ($res["VOTE_SINGLE"] != "Y") { return 0; } } } $st = $DATE_START == false ? "VV.DATE_START" : $DB->CharToDateFunction($DATE_START, "FULL"); $en = $DATE_END == false ? "VV.DATE_END" : $DB->CharToDateFunction($DATE_END, "FULL"); if ($CURRENT_VOTE_ID <= 0) { if ($DATE_START == false) { $st = $DB->CurrentTimeFunction(); } if ($DATE_END == false) { $en = $DB->CharToDateFunction(ConvertTimeStamp(1924984799, "FULL"), "FULL"); } // '31.12.2030 23:59:59' } $strSql = "\n\t\t\tSELECT V.ID\n\t\t\tFROM b_vote V \n\t\t\t" . ($CURRENT_VOTE_ID > 0 ? "LEFT JOIN b_vote VV ON (VV.ID = " . $CURRENT_VOTE_ID . ") " : "") . "\n\t\t\tINNER JOIN b_vote_channel VC ON (V.CHANNEL_ID = VC.ID AND VC.VOTE_SINGLE = 'Y')\n\t\t\tWHERE\n\t\t\t\tV.CHANNEL_ID=" . ($CHANNEL_ID == false ? "VV.CHANNEL_ID" : $CHANNEL_ID) . " AND \n\t\t\t\tV.ACTIVE='Y' AND \n\t\t\t\t" . ($CURRENT_VOTE_ID > 0 ? "V.ID<>'" . $CURRENT_VOTE_ID . "' AND " : "") . "\n\t\t\t\t(\n\t\t\t\t\t(" . $st . " between V.DATE_START and V.DATE_END) OR\n\t\t\t\t\t(" . $en . " between V.DATE_START and V.DATE_END) OR\n\t\t\t\t\t(V.DATE_START between " . $st . " and " . $en . ") OR\n\t\t\t\t\t(V.DATE_END between " . $st . " and " . $en . ")\n\t\t\t\t)"; $db_res = $DB->Query($strSql, false, $err_mess . __LINE__); if ($db_res && ($res = $db_res->Fetch())) { return intval($res["ID"]); } return 0; }
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; echo "<a href='vote_list.php?lang=" . LANGUAGE_ID . "' class='navchain'>" . GetMessage("VOTE_VOTE_LIST") . "</a>"; echo ShowError(GetMessage("VOTE_NOT_FOUND")); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; die; } if ($old_module_version == "Y") { if ($REQUEST_METHOD == "GET" && strlen($save) > 0 && $VOTE_RIGHT == "W" && check_bitrix_sessid()) { $DB->PrepareFields("b_vote"); $arFields = array("TIMESTAMP_X" => $DB->GetNowFunction(), "TEMPLATE" => "'" . $str_TEMPLATE . "'"); $DB->Update("b_vote", $arFields, "WHERE ID='" . $VOTE_ID . "'", $err_mess . __LINE__); } } $z = CVote::GetByID($VOTE_ID); $zr = $z->Fetch(); $t = CVoteChannel::GetByID($zr["CHANNEL_ID"]); $tr = $t->Fetch(); if ($TEMPLATE == "") { $TEMPLATE = $zr["TEMPLATE"]; } /******************************************************************** Form ********************************************************************/ $APPLICATION->SetTitle(str_replace("#ID#", "{$VOTE_ID}", GetMessage("VOTE_PAGE_TITLE"))); require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; $aMenu = array(array("TEXT" => GetMessage("VOTE_VOTE_LIST"), "ICON" => "btn_list", "LINK" => "/bitrix/admin/vote_list.php?lang=" . LANGUAGE_ID)); $aMenu[] = array("SEPARATOR" => "Y"); $aMenu[] = array("TEXT" => GetMessage("VOTE_QUESTIONS") . " [" . $zr["QUESTIONS"] . "]", "ICON" => "btn_list", "LINK" => "/bitrix/admin/vote_question_list.php?lang=" . LANGUAGE_ID . "&VOTE_ID=" . $VOTE_ID); $aMenu[] = array("TEXT" => GetMessage("VOTE_RESULTS"), "LINK" => "/bitrix/admin/vote_results.php?lang=" . LANGUAGE_ID . "&VOTE_ID=" . $VOTE_ID); $context = new CAdminContextMenu($aMenu); $context->Show();