<?php 

if (class_exists('polls'))
{
	$polls = & singleton('polls');
	
	/* Передан идентификатор опроса, отображаем результаты опроса и/или сообщение о том, что ответ принят
	или сообщение о невозможности просмотра */
	if (isset($GLOBALS['poll_id']))
	{
		/* Получаем данные об опросе */
		$poll_row = $polls->GetPoll($GLOBALS['poll_id']);
	
		/* Идентификатор группы опросов */
		$polls_group_id = to_int($poll_row['poll_group_id']);
	
		/* Информация о группе опросов */
		$polls_group_row = $polls->GetPollsGroup($polls_group_id);
	
		if (to_int($polls_group_row['site_id']) == CURRENT_SITE)
		{
	
			$external_propertys = array();
	
			// Пользователь имеет право голосовать по данному опросу
			if (to_bool($GLOBALS['success_vote']))
			{
				$external_propertys['ПользовательИмеетПравоОтвечать'] = 1;
			}
			elseif(isset($_POST['vote'])) // Пользователь пытался голосовать, но не имеет права голосовать по данному опросу
			{
				$external_propertys['ПользовательИмеетПравоОтвечать'] = 0;
			}
	
			/* Нажали кнопку "Ответить" */
	
			if (isset($_POST['vote']))
			{
				$external_propertys['ОтображатьСообщениеПользователю'] = 1;
				$external_propertys['НеВыбранВариантОтвета'] = 0;
			}
			else // Выбрали ссылку Показать результаты
			{
				$external_propertys['ОтображатьСообщениеПользователю'] = 0;
			}
			$XslShowPollResult = to_str($GLOBALS['LA']['XslShowPollResult']);
	
	        $param = array();
	        $param['order_field'] = to_int($GLOBALS['LA']['XslPollsOrderField']);
		    $param['order_type'] = to_int($GLOBALS['LA']['XslPollsOrderType']); 
			$polls->ShowPoll($XslShowPollResult, to_int($GLOBALS['poll_id']), $external_propertys, $param);
		}
	}
	else /* Отображаем опрос/опросы заданной группы опросов */
	{
		$polls_group_id = to_int($GLOBALS['LA']['polls_group_id']);
	
		/* Информация о группе опросов */
		$polls_group_row = $polls->GetPollsGroup($polls_group_id);
	
		if (to_int($polls_group_row['site_id']) == CURRENT_SITE)
		{
	
			$param = array();
	
			/* Число опросов на страницу */
			if (isset($GLOBALS['LA']['poll_count']))
			{			
				$param['poll_count'] = to_int($GLOBALS['LA']['poll_count']);
				
			}
			else
			{
				$param['poll_count'] = 10;
			}
			
			/* Номер, с которого начинается показ опросов */
			if (isset($GLOBALS['polls_begin']))
			{
				$param['poll_begin'] = to_int($GLOBALS['polls_begin']);
			}
			else
			{
				$param['poll_begin'] = 0;
			}
			
			/* Направление сортировки ('asc' - по возрастанию, 'desc' - по убыванию, 'RAND()' - в произвольном порядке), по умолчанию $param['order_type'] = 'RAND()'; */
			$param['order_type'] = to_str($GLOBALS['LA']['order_type']);
	
			$external_propertys = array();
	
			$XslPollsGroup = to_str($GLOBALS['LA']['XslPollsGroup']);
			
			$DataBase = & singleton('DataBase');
			$date = date('Y-m-d');

			// Получаем число активных действующих опросов в группе		
			$query = "SELECT poll_id FROM poll_table WHERE `poll_group_id` = '{$polls_group_id}' 
			AND `poll_visible` = 1 AND `poll_begin_date` <= '{$date}' AND `poll_end_date` >= '{$date}'";

			$resource_polls = $DataBase->select($query);

			$external_propertys['count_polls'] = mysql_num_rows($resource_polls);

			if ($param['poll_count'] > 0)
			{
				$external_propertys['current_page'] = $param['poll_begin']/$param['poll_count'];
			}
			else
			{
				$external_propertys['current_page'] = 0;
			}

			$external_propertys['polls_on_page'] = $param['poll_count']; 

			$polls->ShowPollsGroup($polls_group_id, $XslPollsGroup, $param, $external_propertys);
		}
	}
}
else
{
	?>
	<h1>Опросы</h1>
	<p>Функционал недоступен, приобретите более старшую редакцию.</p>
	<p>Модуль &laquo;<a href="http://www.hostcms.ru/hostcms/modules/polls/">Опросы</a>&raquo; доступен в редакции &laquo;<a href="http://www.hostcms.ru/hostcms/editions/corporation/">Корпорация</a>&raquo;.</p>
	<?php
}
?>