Exemple #1
0
 public static function UserGroupPermission($CHANNEL_ID)
 {
     global $USER;
     return CVoteChannel::GetGroupPermission($CHANNEL_ID, $USER->GetUserGroupArray());
 }
Exemple #2
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("vote")) {
    return false;
}
$permission = intval($arParams["PERMISSION"] ? $arParams["PERMISSION"] : CVoteChannel::GetGroupPermission($arParams["CHANNEL_ID"]));
if ($permission < 4) {
    return false;
}
/********************************************************************
				Input params
********************************************************************/
$arParams["CHANNEL_ID"] = intval($arParams["CHANNEL_ID"]);
$arParams["MULTIPLE"] = $arParams["MULTIPLE"] == "Y" ? "Y" : "N";
if (preg_match("/[^a-z0-9_]+/i", $arParams["INPUT_NAME"])) {
    showError(GetMessage("V_BAD_NAME_FORMAT"));
    return false;
}
$arParams["~INPUT_NAME"] = trim($arParams["INPUT_NAME"]);
$arParams["INPUT_NAME"] = $arParams["~INPUT_NAME"] . ($arParams["MULTIPLE"] == "Y" ? "[]" : "");
$arParams["INPUT_VALUE"] = empty($arParams["INPUT_VALUE"]) ? array() : (is_array($arParams["INPUT_VALUE"]) ? $arParams["INPUT_VALUE"] : array($arParams["INPUT_VALUE"]));
$arParams["VOTE_UNIQUE"] = is_array($arParams["VOTE_UNIQUE"]) ? $arParams["VOTE_UNIQUE"] : array($arParams["VOTE_UNIQUE"]);
if (!isset($arParams["VOTE_UNIQUE_IP_DELAY"]) || !preg_match("/\\d+ \\w/is", $arParams["VOTE_UNIQUE_IP_DELAY"], $matches)) {
    $arParams["VOTE_UNIQUE_IP_DELAY"] = "10 D";
}
$arParams["CONTROL_ID"] = preg_match("/^[a-zA-Z0-9_]+\$/", $arParams["CONTROL_ID"]) ? $arParams["CONTROL_ID"] : randString();
$arParams["bVarsFromForm"] = $arParams["bVarsFromForm"] ? true : false;
/********************************************************************
Exemple #3
0
    }
    if ($USER_ALREADY_VOTE == "Y") {
        $strError .= GetMessage("VOTE_ALREADY_VOTE") . "<br>";
    }
    if ($VOTING_LAMP == "red") {
        $strError .= GetMessage("VOTE_RED_LAMP") . "<br>";
    }
    $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 ShowError($strError);
        echo ShowNote($strNote);
        $VOTE_PERMISSION = CVoteChannel::GetGroupPermission($arChannel["ID"]);
        if ($IsUserVoted != "Y" && $VOTING_OK != "Y" && $USER_ALREADY_VOTE != "Y") {
            if (intval($VOTE_PERMISSION) >= 2) {
                ?>
				<table cellspacing="0" cellpadding="5" width="100%">
				<form name="vote_form" action="<?php 
                echo $APPLICATION->GetCurPageParam("", array("VOTE_ID", "VOTING_OK"));
                ?>
" method="POST">
				<input type="hidden" name="PUBLIC_VOTE_ID" value="<?php 
                echo $VOTE_ID;
                ?>
">
					<?php 
                while (list($key, $arQuestion) = each($arQuestions)) {
                    $QUESTION_ID = $arQuestion["ID"];
Exemple #4
0
if ($obCache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path) && !$_SESSION["VOTE"]["VOTES"][$arParams["VOTE_ID"]])
{
	$arVars = $obCache->GetVars();
	$arResult["VOTE"] = $arVars["arResult"]["VOTE"];
	$arResult["CHANNEL"] = $arVars["arResult"]["CHANNEL"];
	$arResult["QUESTIONS"] = $arVars["arResult"]["QUESTIONS"];
}
elseif (CModule::IncludeModule("vote"))
{
	$tmp = array("bGetMemoStat" => array("bGetMemoStat" => "N", "bRestoreVotedData" => "Y"));
	$tmp = array("bGetMemoStat" => array("bGetMemoStat" => "N", "bRestoreVotedData" => "Y"));
	$arParams["VOTE_ID"] = GetVoteDataByID($arParams["VOTE_ID"],
		$arChannel, $arVote, $arQuestions, $arAnswers,
		$tmp["DropDown"], $tmp["MultiSelect"],
		$tmp["arGroupAnswers"], $tmp["bGetMemoStat"]);
	$permission = ($arParams["PERMISSION"] === false ? CVoteChannel::GetGroupPermission($arChannel["ID"]) : $arParams["PERMISSION"]);

	if ($permission < 2)
	{
		$arError[] = array(
			"id" => "access denied", 
			"text" => GetMessage("VOTE_ACCESS_DENIED"));
	}
	else
	{
		//Vote Image
		$arVote["IMAGE"] = CFile::GetFileArray($arVote["IMAGE_ID"]);
		$arResult["VOTE"] = $arVote;

		$arResult["CHANNEL"] = $arChannel;
Exemple #5
0
if ($arParams["MESSAGE_TYPE"] == "REPLY" && $arParams["TID"] > 0)
	$bShowForm = CForumMessage::CanUserAddMessage($arParams["TID"], $USER->GetUserGroupArray(), $USER->GetID());
elseif ($arParams["MESSAGE_TYPE"] == "EDIT" && $arParams["MID"] > 0)
	$bShowForm = CForumMessage::CanUserUpdateMessage($arParams["MID"], $USER->GetUserGroupArray(), intVal($USER->GetID()));
elseif ($arParams["MESSAGE_TYPE"] == "NEW" && $arParams["FID"] > 0)
	$bShowForm = CForumTopic::CanUserAddTopic($arParams["FID"], $USER->GetUserGroupArray(), $USER->GetID());

if (!$bShowForm):
	return 0;
endif;
if ($arParams["SHOW_VOTE"] == "Y" && CModule::IncludeModule("vote"))
{
	$permission = ((isset($arParams['PERMISSION']) &&
		(intval($arParams['PERMISSION'] > 0 || $arParams['PERMISSION'] === 0)))
		? intval($arParams['PERMISSION'])
		: CVoteChannel::GetGroupPermission($arParams["VOTE_CHANNEL_ID"]));

	if ($permission < 2) {
		$arParams["SHOW_VOTE"] = "N";
	} else if (!empty($arParams["VOTE_GROUP_ID"])) {
		$res = array_intersect($USER->GetUserGroupArray(), $arParams["VOTE_GROUP_ID"]);
		$arParams["SHOW_VOTE"] = (empty($res) ? "N" : $arParams["SHOW_VOTE"]);
	} else if ($permission < 4) {
		$arParams["SHOW_VOTE"] = "N";
	}
}
/********************************************************************
				Data
********************************************************************/
if ($arParams["MESSAGE_TYPE"] == "EDIT")
{
				/Default params
********************************************************************/
$bShowForm = false;
if ($arParams["MESSAGE_TYPE"] == "REPLY" && $arParams["TID"] > 0) {
    $bShowForm = CForumMessage::CanUserAddMessage($arParams["TID"], $USER->GetUserGroupArray(), $USER->GetID());
} elseif ($arParams["MESSAGE_TYPE"] == "EDIT" && $arParams["MID"] > 0) {
    $bShowForm = CForumMessage::CanUserUpdateMessage($arParams["MID"], $USER->GetUserGroupArray(), intVal($USER->GetID()));
} elseif ($arParams["MESSAGE_TYPE"] == "NEW" && $arParams["FID"] > 0) {
    $bShowForm = CForumTopic::CanUserAddTopic($arParams["FID"], $USER->GetUserGroupArray(), $USER->GetID());
}
if (!$bShowForm) {
    return 0;
}
if ($arParams["SHOW_VOTE"] == "Y") {
    CModule::IncludeModule("vote");
    $permission = isset($arParams['PERMISSION']) && intval($arParams['PERMISSION'] > 0 || $arParams['PERMISSION'] === 0) ? intval($arParams['PERMISSION']) : CVoteChannel::GetGroupPermission($arParams["VOTE_CHANNEL_ID"]);
    if ($permission < 2) {
        $arParams["SHOW_VOTE"] = "N";
    }
    $res = array_intersect($USER->GetUserGroupArray(), $arParams["VOTE_GROUP_ID"]);
    $arParams["SHOW_VOTE"] = empty($res) ? "N" : $arParams["SHOW_VOTE"];
}
/********************************************************************
				Data
********************************************************************/
if ($arParams["MESSAGE_TYPE"] == "EDIT") {
    $arMessage = CForumMessage::GetByIDEx($arParams["MID"], array("GET_FORUM_INFO" => "N", "GET_TOPIC_INFO" => "Y", "FILTER" => "N"));
    if (empty($arMessage)) {
        ShowError(GetMessage("F_ERROR_MESSAGE_NOT_FOUND"));
        return 0;
    }
Exemple #7
0
        //Images
        $arResult["QUESTIONS"][$qID]["IMAGE"] = CFile::GetFileArray($arResult["QUESTIONS"][$qID]["IMAGE_ID"]);
        //Diagram type
        if (!empty($arParams["QUESTION_DIAGRAM_" . $qID]) && $arParams["QUESTION_DIAGRAM_" . $qID] != "-") {
            $arResult["QUESTIONS"][$qID]["DIAGRAM_TYPE"] = trim($arParams["QUESTION_DIAGRAM_" . $qID]);
        }
        //Answers
        $arResult["QUESTIONS"][$qID]["ANSWERS"] = $arQuestion["ANSWERS"];
    }
    //Vote Image
    $arResult["VOTE"]["IMAGE"] = CFile::GetFileArray($arResult["VOTE"]["IMAGE_ID"]);
    $obCache->StartDataCache();
    CVoteCacheManager::SetTag($cache_path, array("C" => $arResult["VOTE"]["CHANNEL_ID"], "V" => $arResult["VOTE"]["ID"], "Q" => array_keys($arResult["QUESTIONS"])));
    $obCache->EndDataCache(array("arResult" => $arResult));
}
$arParams["PERMISSION"] = $arParams["PERMISSION"] === false && CModule::IncludeModule("vote") ? CVoteChannel::GetGroupPermission($arResult["CHANNEL"]["ID"]) : $arParams["PERMISSION"];
if ($arParams["PERMISSION"] < 1) {
    ShowError(GetMessage("VOTE_ACCESS_DENIED"));
    return false;
}
if ($_REQUEST["VOTE_ID"] == $arParams["VOTE_ID"]) {
    $arError = array();
    $arNote = array();
    if ($GLOBALS["VOTING_OK"] == "Y" || $_REQUEST["VOTE_SUCCESSFULL"] == "Y") {
        $arNote[] = array("id" => "ok", "text" => GetMessage("VOTE_OK"));
    }
    if ($GLOBALS["USER_ALREADY_VOTE"] == "Y") {
        $arError[] = array("id" => "already vote", "text" => GetMessage("VOTE_ALREADY_VOTE"));
    }
    if ($GLOBALS["VOTING_LAMP"] == "red") {
        $arError[] = array("id" => "red lamp", "text" => GetMessage("VOTE_RED_LAMP"));
Exemple #8
0
 function UserGroupPermission($CHANNEL_ID)
 {
     return CVoteChannel::GetGroupPermission($CHANNEL_ID, $GLOBALS['USER']->GetUserGroupArray());
 }
Exemple #9
0
		$arResult["QUESTIONS"][$qID]["ANSWERS"] = $arQuestion["ANSWERS"];
	}

	//Vote Image
	$arResult["VOTE"]["IMAGE"] = CFile::GetFileArray($arResult["VOTE"]["IMAGE_ID"]);

	$obCache->StartDataCache();
	CVoteCacheManager::SetTag($cache_path, array(
		"C" => $arResult["VOTE"]["CHANNEL_ID"],
		"V" => $arResult["VOTE"]["ID"],
		"Q" => array_keys($arResult["QUESTIONS"])));
	$obCache->EndDataCache(array("arResult" => $arResult));
}

$arParams["PERMISSION"] = (($arParams["PERMISSION"] === false && CModule::IncludeModule("vote")) ?
	CVoteChannel::GetGroupPermission($arResult["CHANNEL"]["ID"]) : $arParams["PERMISSION"]);
if ($arParams["PERMISSION"] < 1):
	ShowError(GetMessage("VOTE_ACCESS_DENIED"));
	return false;
endif;

if ($_REQUEST["VOTE_ID"] == $arParams["VOTE_ID"])
{
	$arError = array(); $arNote = array();
	if ($GLOBALS["VOTING_OK"] == "Y" || $_REQUEST["VOTE_SUCCESSFULL"] == "Y")
		$arNote[] = array("id" => "ok", "text" => GetMessage("VOTE_OK"));
	if ($GLOBALS["USER_ALREADY_VOTE"] == "Y")
		$arError[] = array("id" => "already vote", "text" => GetMessage("VOTE_ALREADY_VOTE"));
	if ($GLOBALS["VOTING_LAMP"] == "red")
		$arError[] = array("id" => "red lamp", "text" => GetMessage("VOTE_RED_LAMP"));
Exemple #10
0
function ShowVoteResults($VOTE_ID, $template1="")
{
	global $APPLICATION;
	$VOTE_ID = GetVoteDataByID($VOTE_ID, $arChannel, $arVote, $arQuestions, $arAnswers, $arDropDown, $arMultiSelect, $arGroupAnswers, "Y");
	if (intval($VOTE_ID)>0)
	{
		/***** for old pre-component templates **********/
		global $VOTE_PERMISSION;
		$VOTE_PERMISSION = CVote::UserGroupPermission($arChannel["ID"]);
		/***** /old *************************************/

		$perm = CVoteChannel::GetGroupPermission($arChannel["ID"]);
		if (intval($perm)>=1)
		{
			$template = (strlen($arVote["RESULT_TEMPLATE"])<=0) ? "default.php" : $arVote["RESULT_TEMPLATE"];
			require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/vote/include.php");
			IncludeModuleLangFile(__FILE__);
			$path = COption::GetOptionString("vote", "VOTE_TEMPLATE_PATH_VOTE");
			if (strlen($template1)>0) $template = $template1;
			if ($APPLICATION->GetShowIncludeAreas())
			{
				$arIcons = Array();
				if (CModule::IncludeModule("fileman"))
				{
					$arIcons[] =
							Array(
								"URL" => "/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".SITE_ID."&full_src=Y&path=". urlencode($path.$template),
								"SRC" => "/bitrix/images/vote/panel/edit_template.gif",
								"ALT" => GetMessage("VOTE_PUBLIC_ICON_TEMPLATE")
							);
					$arrUrl = parse_url($_SERVER["REQUEST_URI"]);
					$arIcons[] =
							Array(
								"URL" => "/bitrix/admin/fileman_file_edit.php?lang=".LANGUAGE_ID."&site=".SITE_ID."&full_src=Y&path=". urlencode($arrUrl["path"]),
								"SRC" => "/bitrix/images/vote/panel/edit_file.gif",
								"ALT" => GetMessage("VOTE_PUBLIC_ICON_HANDLER")
							);
				}
				$arIcons[] =
						Array(
							"URL" => "/bitrix/admin/vote_edit.php?lang=".LANGUAGE_ID."&ID=".$VOTE_ID,
							"SRC" => "/bitrix/images/vote/panel/edit_vote.gif",
							"ALT" => GetMessage("VOTE_PUBLIC_ICON_SETTINGS")
						);
				echo $APPLICATION->IncludeStringBefore($arIcons);
			}
			$template = Rel2Abs('/', $template);
			include($_SERVER["DOCUMENT_ROOT"].$path.$template);
			if ($APPLICATION->GetShowIncludeAreas())
			{
				echo $APPLICATION->IncludeStringAfter();
			}
		}
	}
}
Exemple #11
0
        }
    }
    $arVote = $db_res ? $db_res->Fetch() : array();
    if (empty($arVote) || $arVote["CHANNEL_ACTIVE"] != "Y" || $arVote["ACTIVE"] != "Y") {
        return false;
    }
    $arResult = array("VOTE" => $arVote, "VOTE_ID" => $arVote["ID"], "VOTE_RESULT_TEMPLATE" => $APPLICATION->GetCurPageParam("", array("VOTE_SUCCESSFULL", "VOTE_ID", "view_form")), "ADDITIONAL_CACHE_ID" => "current_vote");
    $obCache->StartDataCache();
    CVoteCacheManager::SetTag($cache_path, array("C" => $arVote["CHANNEL_ID"], "V" => $arVote["ID"]));
    $obCache->EndDataCache(array("arResult" => $arResult));
} else {
    $arVars = $obCache->GetVars();
    $arResult = $arVars["arResult"];
    $this->SetTemplateCachedData($arVars["templateCachedData"]);
}
$arParams["PERMISSION"] = $arParams["PERMISSION"] === false ? CVoteChannel::GetGroupPermission($arResult["VOTE"]["CHANNEL_ID"]) : $arParams["PERMISSION"];
if ($arParams["PERMISSION"] <= 0) {
    return false;
} elseif ($GLOBALS["VOTING_OK"] == "Y" && $GLOBALS["VOTING_ID"] == $arParams["VOTE_ID"] && !empty($arParams["VOTE_RESULT_TEMPLATE"])) {
    $var = array("VOTE_ID", "VOTING_OK", "VOTE_SUCCESSFULL", "view_result", "view_form");
    $url = CComponentEngine::MakePathFromTemplate($arParams["VOTE_RESULT_TEMPLATE"], array("VOTE_ID" => $arVote["ID"]));
    if (strpos($url, "?") === false) {
        $url .= "?";
    } elseif (($token = substr($url, strpos($url, "?") + 1)) && !empty($token) && preg_match_all("/(?<=^|\\&)\\w+(?=\$|\\=)/is", $token, $matches)) {
        $var = array_merge($var, $matches);
    }
    $strNavQueryString = DeleteParam($var);
    LocalRedirect($url . "&VOTE_SUCCESSFULL=Y&VOTE_ID=" . intval($_REQUEST["VOTE_ID"]) . ($strNavQueryString != "" ? "&" : "") . $strNavQueryString);
}
$voteUserID = $_SESSION["VOTE_USER_ID"] ? $_SESSION["VOTE_USER_ID"] : intval($GLOBALS["APPLICATION"]->get_cookie("VOTE_USER_ID"));
$arParams["VOTED"] = CVote::UserAlreadyVote($arResult["VOTE_ID"], $voteUserID, $arResult["VOTE"]["UNIQUE_TYPE"], $arResult["VOTE"]["KEEP_IP_SEC"], $GLOBALS["USER"]->GetID());