GetVoteDataByID
Описание и параметры
GetVoteDataByID( int VOTE_ID, array &arChannel, array &arVote, array &arQuestions, array &arAnswers, array &arDropDown, array &arMultiSelect, array &arGroupAnswers, string getGroupAnswers )
Функция возвращает ID опроса в случае, если такой опрос был найден в базе, а также массивы описывающие опрос.
Параметры функции
| Параметр | Описание | С версии |
|---|---|---|
| VOTE_ID | ID опроса. | |
| arChannel | Массив описывающий группу заданного опроса. Индексы массива: |
|
| arVote | Массив описывающий заданный опрос. Индексы массива: EVENT1 - идентификатор типа события - " event1"
EVENT2 - идентификатор типа события - " event2"
EVENT3 - дополнительный параметр типа события - " event3"
|
|
| arQuestions | Массив состоящий из массивов каждый из которых описывает один вопрос. Индексы массива: |
|
| arAnswers | Массив ответов, его индексами являются ID вопросов, а значениями - список массивов, каждый из которых описывает один ответ. Индексы массива описывающего один ответ: |
|
| arDropDown | Массив с всеми элементами типа "2" (dropdown list) одного вопроса. Индексом массива является ID вопроса, а значением - массив со следующими индексами:
|
|
| arMultiSelect | Массив с всеми элементами типа "3" (multiselect list) одного вопроса. Индексом массива является ID вопроса, а значением - массив со следующими индексами:
|
|
| arGroupAnswers | Массив описывающий варианты ответов для элементов ввода типа "4" (text) и "5" (textarea). Индексом массива является ID вопроса, а значением - список массивов со следующими индексами:
|
|
| getGroupAnswers | Флаг принимающий следующие значения: "Y" - собирать массив arGroupAnswers; "N" - собирать массив arGroupAnswers не нужно. | Удален с 12.0.0 |
| arrAddParams | Необязательный параметр. Значение по умолчанию - "N". | 12.0.0 |
Примеры использования
<?
// возвращает форму заданного опроса с учётом прав пользователя
function ShowVote($VOTE_ID, $template1="")
{
global $MESS, $VOTING_LAMP, $VOTING_OK, $USER_ALREADY_VOTE, $USER_GROUP_PERMISSION, $VOTE_USER_ID, $VOTE_PERMISSION;
$VOTE_ID = GetVoteDataByID($VOTE_ID, $arChannel, $arVote, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $arGroupAnswers, "N");
if (intval($VOTE_ID)>0)
{
$perm = CVoteChannel::GetGroupPermission($arChannel["ID"]);
if (intval($perm)>=2)
{
$template = (strlen($arVote["TEMPLATE"])<=0) ? "default.php" : $arVote["TEMPLATE"];
$VOTE_PERMISSION = CVote::UserGroupPermission($arChannel["ID"]);
require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/vote/include.php");
@include_once (GetLangFileName($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/lang/", "/".$template));
$path = COption::GetOptionString("vote", "VOTE_TEMPLATE_PATH", "/bitrix/php_interface/include/vote/show/");
if (strlen($template1)>0) $template = $template1;
@include($_SERVER["DOCUMENT_ROOT"].$path.$template);
}
}
}
?>
<?
// получаем данные по опросу
$VOTE_ID = GetVoteDataByID($PUBLIC_VOTE_ID, $arChannel, $arVote, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $arGroupAnswers, "N", $template, $res_template);
$VOTE_ID = intval($VOTE_ID);
// если поступивший ID опроса корректный то
if ($VOTE_ID>0 && $arVote["LAMP"]=="green")
{
...
}
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025