CaptchaCheckCode($_POST["captcha_word"], $_POST["captcha_code"]) && intval($_REQUEST["PUBLIC_VOTE_ID"]) > 0) $CAPTCHA_OK = 1; // !!!!!!!!!!!!!!!!!!!! Учитываем ответ, если все условия выполняются if ( $_SERVER["REQUEST_METHOD"] == "POST" && array_key_exists("PUBLIC_VOTE_ID", $_REQUEST) && intval($_REQUEST["PUBLIC_VOTE_ID"]) > 0 && array_key_exists("vote", $_REQUEST) && strlen($_REQUEST["vote"]) > 0 && $CAPTCHA_OK == 1 ) { CVote::KeepVoting(); } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "

Опрос

 
"; echo "
"; IncludeTemplateLangFile(__FILE__); if (is_array($_REQUEST)) extract($_REQUEST, EXTR_SKIP); $VOTE_ID = GetCurrentVote($arParams["CHANNEL_SID"]);//2 if ($VOTING_OK=="Y") $strNote .= GetMessage("VOTE_OK")."
"; if ($USER_ALREADY_VOTE=="Y") $strError .= GetMessage("VOTE_ALREADY_VOTE")."
"; if ($VOTING_LAMP=="red") $strError .= GetMessage("VOTE_RED_LAMP")."
"; // !!!!!!!!!!!!!!!!!!!! Если символы не прошли проверку и была отправлена форма, то добавляем сообщение об ошибке if ($CAPTCHA_OK != 1 && intval($_REQUEST["PUBLIC_VOTE_ID"]) > 0) $strError .= "Неверно указан код защиты от автоматических сообщений.
"; $IsUserVoted = "N"; if ($VOTING_OK!="Y" && $USER_ALREADY_VOTE!="Y") $IsUserVoted = IsUserVoted($VOTE_ID) ? "Y" : "N"; $VOTE_ID = GetVoteDataByID($VOTE_ID, $arChannel, $arVote, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $arGroupAnswers, "N"); if (intval($VOTE_ID)>0) : echo ""; echo ""; echo ""; echo ""; echo "
"; echo ShowError($strError); echo ShowNote($strNote); echo "
"; if($IsUserVoted == "Y"): echo "Вы уже приняли участие в текущем опросе."; endif; $VOTE_PERMISSION = CVoteChannel::GetGroupPermission($arChannel["ID"]); if ($IsUserVoted!="Y" && $VOTING_OK!="Y" && $USER_ALREADY_VOTE!="Y") : if (intval($VOTE_PERMISSION)>=2) : echo "
"; echo ""; echo ""; if ($arVote["TITLE"]) echo "
".$arVote["TITLE"]."

"; if ($arVote["DESCRIPTION"]) echo "
".$arVote["DESCRIPTION"]."

"; while (list($key,$arQuestion)=each($arQuestions)): $QUESTION_ID = $arQuestion["ID"]; reset($arAnswers[$QUESTION_ID]); $show_multiselect = "N"; $show_dropdown = "N"; if (intval($arQuestion["IMAGE_ID"]) > 0) echo ShowImage($arQuestion["IMAGE_ID"], 50, 50, "hspace='0' vspace='0' align='left' border='0'", "", true, GetMessage("VOTE_ENLARGE")); if (intval($arQuestion["IMAGE_ID"]) <= 0) echo "".$arQuestion["QUESTION"].""; echo ""; while (list($key,$arAnswer) = each($arAnswers[$QUESTION_ID])): if ($arAnswer["FIELD_TYPE"]==2 && $show_dropdown=="Y") continue; if ($arAnswer["FIELD_TYPE"]==3 && $show_multiselect=="Y") continue; switch ($arAnswer["FIELD_TYPE"]) : case 0: $field_name = "vote_radio_".$QUESTION_ID; echo ""; echo ""; echo ""; echo ""; break; case 1: $field_name = "vote_checkbox_".$QUESTION_ID; echo ""; echo ""; echo ""; echo ""; break; case 2: echo ""; echo ""; echo ""; break; case 3: echo ""; echo ""; echo ""; break; case 4: $field_name = "vote_field_".$arAnswer["ID"]; if (strlen(trim($arAnswer["MESSAGE"]))>0) { echo ""; echo ""; echo ""; } echo ""; echo ""; echo ""; break; case 5: $field_name = "vote_memo_".$arAnswer["ID"]; if (strlen(trim($arAnswer["MESSAGE"]))>0) { echo ""; echo ""; echo ""; } echo ""; echo ""; echo ""; break; endswitch; endwhile; echo "
"; if ($show_dropdown!="Y") { $field_name = "vote_dropdown_".$QUESTION_ID; echo SelectBoxFromArray($field_name, $arDropDown[$QUESTION_ID], "", "", $arAnswer["FIELD_PARAM"]); $show_dropdown = "Y"; } echo "
"; if ($show_multiselect!="Y") { $field_name = "vote_multiselect_".$QUESTION_ID; echo SelectBoxMFromArray($field_name."[]", $arMultiSelect[$QUESTION_ID], array(), "", false, $arAnswer["FIELD_HEIGHT"], $arAnswer["FIELD_PARAM"]); $show_multiselect = "Y"; } echo "
".$arAnswer["MESSAGE"]."
".$arAnswer["MESSAGE"]."
"; endwhile; // !!!!!!!!!!!!!!!!!!!! Рисуем блок CAPTCHA в форме опроса echo "

Защита от автоматических сообщений

"; include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php"); $cpt = new CCaptcha(); $captchaPass = COption::GetOptionString("main", "captcha_password", ""); if (strlen($captchaPass) <= 0) { $captchaPass = randString(10); COption::SetOptionString("main", "captcha_password", $captchaPass); } $cpt->SetCodeCrypt($captchaPass); echo ""; echo ""; echo "

Введите символы на картинке: "; echo "
"; echo "
"; endif; else: // ++++++++++++++ Результаты опроса не показываем +++++++++++++++++++++ /* if (intval($VOTE_PERMISSION)>=1) : while (list($key,$arQuestion)=each($arQuestions)): if ($arQuestion["DIAGRAM"]!="Y") continue; $QUESTION_ID = $arQuestion["ID"]; $APPLICATION->IncludeFile("/bitrix/templates/main/vote/result.php", array("QUESTION_ID" => $QUESTION_ID, "arVote" => $arVote, "arQuestion" => $arQuestion, "arAnswers" => $arAnswers, "arGroupAnswers" => $arGroupAnswers)); endwhile; endif; */ // ++++++++++++++ endif; endif; echo "
"; endif; ?>