Вход Регистрация
Файл: votes/index.php
Строк: 135
<?php
include('../core/core.php');
include(
MAINDIR.'style/head.php');
$log check($_COOKIE['login']);
function 
redirect($url$permanent false){

    if (
$permanent){
        
header('HTTP/1.1 301 Moved Permanently');
    }

    
header('Location: '.$url);
    exit();
}
function 
date_fixed($timestamp$format "d.m.y / H:i") {
    
//global $config;

    
if (!is_numeric($timestamp)) {
        
$timestamp time();
    } 
    
$shift 3600;
    
$datestamp date($format$timestamp $shift);

    
$today date("d.m.y"time() + $shift);
    
$yesterday date("d.m.y"strtotime("-1 day") + $shift);

    
$datestamp str_replace($today'Сегодня'$datestamp);
    
$datestamp str_replace($yesterday'Вчера'$datestamp);

    
$search = array('January''February''March''April''May''June''July''August''September''October''November''December');
    
$replace = array('Января''Февраля''Марта''Апреля''Мая''Июня''Июля''Августа''Сентября''Октября''Ноября''Декабря');
    
$datestamp str_replace($search$replace$datestamp);

    return 
$datestamp;


function 
show_error($error){
echo
'<div class="error">'.$error.'</div>';
}

if (isset(
$_GET['act'])) {
    
$act check($_GET['act']);
} else {
    
$act 'index';

if (isset(
$_GET['id'])) {
    
$id abs(intval($_GET['id']));
} else {
    
$id 0;


switch (
$act):
############################################################################################
##                                    Главная страница                                    ##
############################################################################################
    
case 'index':

        
title('Голосования');

        
$queryvote DB::run() -> query("SELECT * FROM `vote` WHERE `vote_closed`=? ORDER BY `vote_time` DESC;", array(0));
        
$votes $queryvote -> fetchAll();

        if (
count($votes) > 0) {
            foreach(
$votes as $valvote) {
                echo 
'<div class="menu">';
                echo 
'<img src="../images/stat.gif" alt="image" /> <b><a href="index.php?act=poll&amp;id='.$valvote['vote_id'].'&amp;'.SID.'">'.$valvote['vote_title'].'</a></b></div>';
                echo 
'<div><div class="menu">Создано: '.date_fixed($valvote['vote_time']).'<br />';
                echo 
'Всего голосов: '.$valvote['vote_count'].'</div>';
            } 
        } else {
            
show_error('Открытых голосований еще нет!');
        } 
    break;

    
############################################################################################
    ##                                      Голосование                                       ##
    ############################################################################################
    
case 'poll':
        
title('Голосование');

        
$votes DB::run() -> queryFetch("SELECT * FROM `vote` WHERE `vote_id`=? LIMIT 1;", array($id));

        if (!empty(
$votes)) {
            if (empty(
$votes['vote_closed'])) {
                
$config['newtitle'] = $votes['vote_title'];

                echo 
'<div class="menu_2"><img src="../images/stat.gif" alt="image" /> <b>'.$votes['vote_title'].'</b> (Голосов: '.$votes['vote_count'].')</div><div class="menu">';

                
$queryanswer DB::run() -> query("SELECT * FROM `voteanswer` WHERE `answer_vote_id`=? ORDER BY `answer_id`;", array($id));
                
$answer $queryanswer -> fetchAll();

                
$total count($answer);
                if (
$total 0) {
                    
$polls DB::run() -> querySingle("SELECT `poll_id` FROM `votepoll` WHERE `poll_vote_id`=? AND `poll_user`=? LIMIT 1;", array($id$log));

                    if (
is_user() && empty($polls)) {
                        echo 
'<form action="index.php?act=vote&amp;id='.$id.'&amp;uid='.$_SESSION['token'].'&amp;'.SID.'" method="post">';

                        foreach(
$answer as $data) {
                            echo 
'<input name="poll" type="radio" value="'.$data['answer_id'].'" /> '.$data['answer_option'].'<br />';
                        } 

                        echo 
'<input type="submit" value="Голосовать" /></form></div>';

                        echo 
'<div class="menu_2">Всего вариантов: <b>'.$total.'</b><br />';
                        echo 
'<img src="../images/history.gif" alt="image" /> <a href="index.php?act=result&amp;id='.$id.'&amp;'.SID.'">Результаты</a></div>';
                        
// ------------------------- Просмотр результатов ---------------------//
                    
} else {
                        
$queryanswer DB::run() -> query("SELECT `answer_option`, `answer_result` FROM `voteanswer` WHERE `answer_vote_id`=? ORDER BY `answer_result` DESC;", array($id));
                        
$answer $queryanswer -> fetchAssoc();

                        
$sum $votes['vote_count'];
                        
$max max($answer);

                        if (empty(
$sum)) {
                            
$sum 1;
                        } 
                        if (empty(
$max)) {
                            
$max 1;
                        } 

                        foreach(
$answer as $key => $data) {
                            
$proc round(($data 100) / $sum1);
                            
$maxproc round(($data 200) / $max);

                            echo 
'<b>'.$key.'</b> (Голосов: '.$data.')<br />';
                            echo
'<img src="/sys/rating.php?img='.$proc.' alt="'.$proc.'%""><br />';
                            
//echo '<img src="'.BASEDIR.'gallery/graph.php?rat='.$maxproc.'&amp;per='.$proc.'" alt="'.$proc.'%" /><br /><br />';
                        


                        echo 
'Вариантов: <b>'.$total.'</b></div>';
                    } 
                } else {
                    
show_error('Ошибка! Для данного голосования не созданы варианты ответов!');
                } 
            } else {
                
show_error('Ошибка! Данный опрос закрыт для голосования!');
            } 
        } else {
            
show_error('Ошибка! Данного голосования не существует!');
        } 

        echo 
'<div class="menu_2"><img src="../images/reload.gif" alt="image" /> <a href="index.php?'.SID.'">К голосованиям</a></div>';
    break;

    
############################################################################################
    ##                                      Голосование                                       ##
    ############################################################################################
    
case 'vote':
        
title('Голосование');
echo 
'<div class="menu">';
        
$uid check($_GET['uid']);
        if (isset(
$_POST['poll'])) {
            
$poll abs(intval($_POST['poll']));
        } else {
            
$poll 0;
        } 

        if (
is_user()) {
            if (
$uid == $_SESSION['token']) {
                if (!empty(
$poll)) {
                    
$votes DB::run() -> queryFetch("SELECT * FROM `vote` WHERE `vote_id`=? LIMIT 1;", array($id));

                    if (!empty(
$votes)) {
                        if (empty(
$votes['vote_closed'])) {
                            
$queryanswer DB::run() -> querySingle("SELECT `answer_vote_id` FROM `voteanswer` WHERE `answer_id`=? AND `answer_vote_id`=?  LIMIT 1;", array($poll$id));
                            if (!empty(
$queryanswer)) {
                                
$polls DB::run() -> querySingle("SELECT `poll_id` FROM `votepoll` WHERE `poll_vote_id`=? AND `poll_user`=? LIMIT 1;", array($id$log));
                                if (empty(
$polls)) {
                                    
DB::run() -> query("UPDATE `vote` SET `vote_count`=`vote_count`+1 WHERE `vote_id`=?;", array($id));
                                    
DB::run() -> query("UPDATE `voteanswer` SET `answer_result`=`answer_result`+1 WHERE `answer_id`=?;", array($poll));
                                    
DB::run() -> query("INSERT INTO `votepoll` (`poll_vote_id`, `poll_user`) VALUES (?, ?);", array($id$log));

                                    
$_SESSION['note'] = 'Ваш голос успешно принят!';
                                    
redirect("index.php?act=poll&id=$id&".SID);
                                } else {
                                    
show_error('Ошибка! Вы уже проголосовали в этом опросе!');
                                } 
                            } else {
                                
show_error('Ошибка! Для данного голосования не созданы варианты ответов!');
                            } 
                        } else {
                            
show_error('Ошибка! Данный опрос закрыт для голосования!');
                        } 
                    } else {
                        
show_error('Ошибка! Данного голосования не существует!');
                    } 
                } else {
                    
show_error('Ошибка! Вы не выбрали вариант ответа!');
                } 
            } else {
                
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
            } 
        } else {
            
show_login('Вы не авторизованы, чтобы участвовать в голосованиях, необходимо');
        } 
echo
'<div>';
        echo 
'<img src="../images/back.gif" alt="image" /> <a href="index.php?act=poll&amp;id='.$id.'&amp;'.SID.'">Вернуться</a><br />';
        echo 
'<img src="../images/reload.gif" alt="image" /> <a href="index.php?'.SID.'">К голосованиям</a><br />';
    break;

    
############################################################################################
    ##                                      Голосование                                       ##
    ############################################################################################
    
case 'result':
        
title('Результаты голосований');

        
$votes DB::run() -> queryFetch("SELECT * FROM `vote` WHERE `vote_id`=? LIMIT 1;", array($id));

        if (!empty(
$votes)) {
            if (empty(
$votes['vote_closed'])) {

                echo 
'<div class="menu_2"><img src="../images/stat.gif" alt="image" /> <b>'.$votes['vote_title'].'</b> (Голосов: '.$votes['vote_count'].')</div><div class="menu">';

                
$queryanswer DB::run() -> query("SELECT `answer_option`, `answer_result` FROM `voteanswer` WHERE `answer_vote_id`=? ORDER BY `answer_result` DESC;", array($id));
                
$answer $queryanswer -> fetchAssoc();

                
$total count($answer);

                if (
$total 0) {
                    
$sum $votes['vote_count'];
                    
$max max($answer);

                    if (empty(
$sum)) {
                        
$sum 1;
                    } 
                    if (empty(
$max)) {
                        
$max 1;
                    } 

                    foreach(
$answer as $key => $data) {
                        
$proc round(($data 100) / $sum1);
                        
$maxproc round(($data 200) / $max);

                        echo 
'<b>'.$key.'</b> (Голосов: '.$data.')<br />';
                        echo
'<img src="/sys/rating.php?img='.$proc.' alt="'.$proc.'%""><br />';
                    } 

                    echo 
'Вариантов: <b>'.$total.'</b></div><div class="menu_2">';

                    echo 
'<img src="../images/img/stat.gif" alt="image" /> <a href="index.php?act=poll&amp;id='.$id.'&amp;'.SID.'">К вариантам</a><br />';
                } else {
                    
show_error('Ошибка! Для данного голосования не созданы варианты ответов!');
                } 
            } else {
                
show_error('Ошибка! Данный опрос закрыт для голосования!');
            } 
        } else {
            
show_error('Ошибка! Данного голосования не существует!');
        } 

        echo 
'<img src="../images/img/reload.gif" alt="image" /> <a href="index.php?'.SID.'">К голосованиям</a></div>';
    break;

default:
    
redirect("index.php?".SID);
endswitch;

echo 
'<div class="menu_2"><img src="/images/luggage.gif" alt="image" /> <a href="history.php?'.SID.'">История голосований</a><br /></div>';

include(
MAINDIR.'style/foot.php');
?>
Онлайн: 0
Реклама