Вход Регистрация
Файл: CMS/votes/index.php
Строк: 138
<?php
define
('CMS',TRUE);
include(
'cfg.php');

if (!empty(
$_POST['poll'])) {

    
$poll num($_POST['poll']);

    if (
$is_logged) {

        if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

            if (!empty(
$poll)) {

                
$votes $db->selectRow("SELECT * FROM ?_vote WHERE `vote_id` = ? LIMIT 1;"$id);

                if (!empty(
$votes)) {

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

                        
$is_answer = (int) $db->selectCell("SELECT `answer_vote_id` FROM ?_vote_answer
                                                            WHERE `answer_id` = ? AND `answer_vote_id` = ?  LIMIT 1;"
$poll$id);

                        if (
$is_answer 0) {

                            
$is_poll = (int) $db->selectCell("SELECT `poll_id` FROM ?_vote_poll 
                                                              WHERE `poll_vote_id` = ? AND `poll_user` = ? LIMIT 1;"
$id$log);

                            if (
$is_poll 1) {

                                
$db->query("UPDATE ?_vote SET `vote_count` = (`vote_count` + 1) WHERE `vote_id` = ?;"$id);
                                
$db->query("UPDATE ?_vote_answer SET `answer_result` = (`answer_result` + 1) WHERE `answer_id` = ?;"$poll);
                                
$db->query("INSERT INTO ?_vote_poll (`poll_vote_id`, `poll_user`) VALUES (?, ?);"$id$log);

                                
$inSes->addMessage('Ваш голос успешно принят!''ok');

                                
gen_red('poll'$idRND);
                            }
                            else 
$inSes->addMessage('Ошибка! Вы уже проголосовали в этом опросе!');
                        }
                        else 
$inSes->addMessage('Ошибка! Для данного голосования не созданы варианты ответов!');
                    }
                    else 
$inSes->addMessage('Ошибка! Данный опрос закрыт для голосования!');
                }
                else 
$inSes->addMessage('Ошибка! Данного голосования не существует!');
            }
            else 
$inSes->addMessage('Ошибка! Вы не выбрали вариант ответа!');
        }
        else 
$inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
    }
    else 
$inSes->addMessage('Вы не авторизованы, голосовать могут только обитатели сайта!');
}

switch(
$mod):

default:

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

    
$rows $db->select("SELECT * FROM ?_vote WHERE `vote_closed` = '0' ORDER BY `vote_time` DESC;");

    if (!empty(
$rows) && count($rows) > 0) {

        foreach(
$rows as $row) {

            echo 
'<div class="b">' icon('stat.png');
            echo 
' <a href="' gen_uri('poll'$row['vote_id'], RND) . '"><b>' $row['vote_title'] . '</b></a><br />';
            echo 
'- Создано: ' get_date($row['vote_time']) . '<br />';
            echo 
'- Всего голосов: ' $row['vote_count'] . '</div>';
        }
    }
    else {
        
show_error('Открытых голосований еще нет!');
    }
break;
case 
'history':

    
show_header('История голосований');

    
$onpage = !empty($config['votes_num']) ? num($config['votes_num']) : 10;

    if (
$page 1$from = ($page 1) * $onpage; else $from 0;

    
$rows $db->selectPage$total"SELECT * FROM ?_vote WHERE `vote_closed` = '1' ORDER BY `vote_time` DESC LIMIT ?d, ?d"$from$onpage );

    if (!empty(
$rows) && $total 0) {

        foreach(
$rows as $row) {

            echo 
'<div class="b">' icon('stat.png');
            echo 
' <a href="' gen_uri('history_result'$row['vote_id'], RND) . '"><b>' $row['vote_title'] . '</b></a><br />';
            echo 
'- Создано: ' get_date($row['vote_time']) . '<br />';
            echo 
'- Всего голосов: <b>' $row['vote_count'] . '</b></div>';
        }

        echo 
show_pages('history'RND'p');
    }
    else {

        
show_error('Голосований в архиве еще нет!');
    }

    echo 
'<div class="b">' icon('return.png');
    echo 
' <a href="' gen_uri('index'''RND) . '">К голосованиям</a><br /></div>';

break;
case 
'history_result':

    
$votes $db->selectRow("SELECT * FROM ?_vote WHERE `vote_id` = ? LIMIT 1;"$id);

    if (!empty(
$votes)) {

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

           
show_header('Результаты голосований - ' $votes['vote_title'], '''''L');

            echo 
icon('stat.png') . ' <b>' $votes['vote_title'] . '</b> (Голосов: ' $votes['vote_count'] . ')<br /></div>';

            
$answer $db->selectPage$total"SELECT * FROM ?_vote_answer WHERE `answer_vote_id` = ? ORDER BY `answer_id`;"$id );

            if (
$total 0) {

                echo 
'<div class="b">' show_votes($id$votes['vote_count']) . '<br />';
                echo 
'- Вариантов: <b>' $total '</b><br /></div>';
            }
            else {

                
show_error('Ошибка! Для данного голосования не созданы варианты ответов!');
            }

            echo 
'<div class="b">' icon('return.png');
            echo 
' <a href="' gen_uri('index'''RND) . '">К голосованиям</a><br /></div>';

        }
        else {

            
$inSes->addMessage('Ошибка! Данный опрос закрыт для голосования!');
            
gen_red('index'''RND);
        }
    }
    else {

        
$inSes->addMessage('Ошибка! Данного голосования не существует!');
        
gen_red('index'''RND);
    }
break;
case 
'poll':

    
$votes $db->selectRow("SELECT * FROM ?_vote WHERE `vote_id` = ? LIMIT 1;"$id);

    if (!empty(
$votes)) {

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

            
show_header('Голосование - ' $votes['vote_title']);

            echo 
'<div class="b">';
            echo 
icon('stat.png') . ' <b>' $votes['vote_title'] . '</b> (Голосов: ' $votes['vote_count'] . ')<br /></div>';

            
$answer $db->selectPage$total"SELECT * FROM ?_vote_answer WHERE `answer_vote_id` = ? ORDER BY `answer_id`;"$id );

            if (!empty(
$answer) && $total 0) {

                
$polls $db->selectCell("SELECT `poll_id` FROM ?_vote_poll WHERE `poll_vote_id` = ? AND `poll_user` = ? LIMIT 1;"$id$log);

                if (
$is_logged && empty($polls)) {

                    
$v  '<div class="b">';
                    
$v .= '<form action="' gen_uri('poll'$id'rnd=' $_SESSION['token'] . '&amp;' RND) . '" method="post">';

                    foreach(
$answer as $data) {

                        
$v .= '<input name="poll" type="radio" value="' $data['answer_id'] . '" /> ' $data['answer_option'] . '<br />';
                    }
                    
$v .= '<br /><input type="submit" class="btns" value="Голосовать" /></form></div>';

                    echo 
$v '<div class="b">';
                    echo 
'- Всего вариантов: <b>' $total '</b><br /></div>';
                    echo 
'<div class="b">' icon('return.png');
                    echo 
' <a href="' gen_uri('result'$idRND) . '">Результаты</a> | ';
                    echo 
' <a href="' gen_uri('index'''RND) . '">К голосованиям</a><br /></div>';

                }
                else { 
// Просмотр результатов

                    
echo '<div class="b">' show_votes($id$votes['vote_count']) . '<br />';
                    echo 
'- Вариантов: <b>' $total '</b><br /></div>';
                    echo 
'<div class="b">' icon('return.png');
                    echo 
' <a href="' gen_uri('index'''RND) . '">К голосованиям</a><br /></div>';
                }
            }
            else {

                
show_error('Ошибка! Для данного голосования не созданы варианты ответов!');
                echo 
'<div class="b">' icon('return.png');
                echo 
' <a href="' gen_uri('index'''RND) . '">К голосованиям</a><br /></div>';
            }
        }
        else {

            
$inSes->addMessage('Ошибка! Данный опрос закрыт для голосования!');
            
gen_red('index'''RND);
        }
    }
    else {

        
$inSes->addMessage('Ошибка! Данного голосования не существует!');
        
gen_red('index'''RND);
    }

break;
case 
'result':

    
$votes $db->selectRow("SELECT * FROM ?_vote WHERE `vote_id` = ? LIMIT 1;"$id);

    if (!empty(
$votes)) {

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

            
show_header('Результаты голосований - ' $votes['vote_title']);

            echo 
'<div class="b">' icon('stat.png');
            echo 
' <b>' $votes['vote_title'] . '</b> (Голосов: ' $votes['vote_count'] . ')<br /></div>';

            
$answer $db->selectPage$total"SELECT * FROM ?_vote_answer WHERE `answer_vote_id` = ? ORDER BY `answer_id`;"$id );

            if (
$total 0) {

                echo 
'<div class="b">' show_votes($id$votes['vote_count']) . '<br />';
                echo 
'- Вариантов: <b>' $total '</b><br /></div>';
            }
            else {

                
show_error('Ошибка! Для данного голосования не созданы варианты ответов!');
            }
            echo 
'<div class="b">' icon('return.png');
            echo 
' <a href="' gen_uri('poll'$idRND) . '">К вариантам</a> | ';
            echo 
' <a href="' gen_uri('index'''RND) . '">К голосованиям</a><br /></div>';
        }
        else {

            
$inSes->addMessage('Ошибка! Данный опрос закрыт для голосования!');
            
gen_red('index'''RND);
        }
    }
    else {

        
$inSes->addMessage('Ошибка! Данного голосования не существует!');
        
gen_red('index'''RND);
    }

    break;

    endswitch;

    if (!empty(
$mod) && $mod != 'history') {

        echo 
'<div class="b">' icon('search.png');
        echo 
' <a href="' gen_uri('history'''RND) . '">История голосований</a><br /></div>';
    }

    
show_footer();

?>
Онлайн: 1
Реклама