• Модуль: vote
  • Путь к файлу: ~/bitrix/modules/vote/classes/general/vote.php
  • Класс: CAllVote
  • Вызов: CAllVote::WrongDateInterval
static function WrongDateInterval($CURRENT_VOTE_ID, $DATE_START, $DATE_END, $CHANNEL_ID)
{
	global $DB;
	$err_mess = (CAllVote::err_mess())."
Function: WrongDateInterval
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 = " SELECT V.ID FROM b_vote V ".($CURRENT_VOTE_ID > 0 ? "LEFT JOIN b_vote VV ON (VV.ID = ".$CURRENT_VOTE_ID.") " : "")." INNER JOIN b_vote_channel VC ON (V.CHANNEL_ID = VC.ID AND VC.VOTE_SINGLE = 'Y') WHERE V.CHANNEL_ID=".($CHANNEL_ID == false ? "VV.CHANNEL_ID" : $CHANNEL_ID)." AND V.ACTIVE='Y' AND ".($CURRENT_VOTE_ID > 0 ? "V.ID<>'".$CURRENT_VOTE_ID."' AND " : "")." ( (".$st." between V.DATE_START and V.DATE_END) OR (".$en." between V.DATE_START and V.DATE_END) OR (V.DATE_START between ".$st." and ".$en.") OR (V.DATE_END between ".$st." and ".$en.") )"; $db_res = $DB->Query($strSql, false, $err_mess.__LINE__); if($db_res && $res = $db_res->Fetch()) return intval($res["ID"]); return 0; }