$lng) {
$data[$lng] = $matches[2][$i];
}
return $data[$lang] ?? reset($data);
}
}
$lang = get_site_lang();
$stop = false;
$is_voted = false;
$entry = "";
$flag = 0;
$data = array ();
$vote_action = $_REQUEST['vote_action'] ?? "";
$vote_id = intval($_REQUEST['vote_id'] ?? 0);
$vote_check = intval($_REQUEST['vote_check'] ?? 0);
/**
* ===== ПОЛУЧЕНИЕ ОПРОСОВ =====
*/
if( ! is_array( $vote_info ) ) {
$vote_info = array ();
$db->query( "SELECT id, title, category, body, vote_num, start, end, grouplevel FROM " . PREFIX . "_vote WHERE approve" );
while ( $row = $db->get_row() ) {
$vote_info[$row['id']] = $row;
}
set_vars( "vote", $vote_info );
$db->free();
}
/**
* ===== ВЫБОР ОПРОСА =====
*/
if( !$vote_id OR empty($vote_info[$vote_id]['id']) ) {
$keys = array_keys($vote_info);
$rid = $keys ? $keys[array_rand($keys)] : 0;
} else {
$rid = $vote_id;
}
/**
* ===== РЕЗУЛЬТАТЫ =====
*/
if( $vote_action == "results" OR $flag ) {
$db->query( "SELECT answer, count(*) as count FROM " . PREFIX . "_vote_result WHERE vote_id='$rid' GROUP BY answer" );
$flag = 1;
$answer = array ();
while ( $row = $db->get_row() ) {
$answer[$row['answer']]['count'] = $row['count'];
}
$db->free();
}
/**
* ===== ВЫВОД =====
*/
switch ($flag) {
case 0:
$title = parse_lang(stripslashes($vote_info[$rid]['title']), $lang);
$body_raw = stripslashes($vote_info[$rid]['body']);
$body_raw = str_replace("
", "
", $body_raw);
$body_arr = explode("
", $body_raw);
$body = [];
foreach ($body_arr as $item) {
$body[] = parse_lang($item, $lang);
}
for($i = 0; $i < count($body); $i++) {
$sel = ($i == 0) ? "checked" : "";
$entry .= "
{$body[$i]}
";
}
$entry = "
$entry
";
$tpl->load_template('vote.tpl');
$tpl->set('
', $entry);
$tpl->set('94', $rid);
$tpl->set('Чи потрібно збільшувати покарання (розмір штрафів) за порушення ПДР?', $title);
$tpl->set('', '');
$tpl->set('', '');
$tpl->set_block("'\\[voteresult\\](.*?)\\[/voteresult\\]'si", "");
$tpl->compile('vote');
$tpl->clear();
break;
case 1:
$result = $db->super_query("SELECT * FROM " . PREFIX . "_vote WHERE id='$rid'");
$title = parse_lang(stripslashes($result['title']), $lang);
$body_raw = stripslashes($result['body']);
$body_raw = str_replace("
", "
", $body_raw);
$body_arr = explode("
", $body_raw);
$body = [];
foreach ($body_arr as $item) {
$body[] = parse_lang($item, $lang);
}
$max = $result['vote_num'];
for($i = 0; $i < count($body); $i++) {
$num = $answer[$i]['count'] ?? 0;
$proc = ($max > 0) ? round((100 * $num) / $max, 2) : 0;
$entry .= "
{$body[$i]} - $num ($proc%)
{$proc}%
";
}
$entry = "
$entry
";
$tpl->load_template('vote.tpl');
$tpl->set('
', $entry);
$tpl->set('94', $rid);
$tpl->set('Чи потрібно збільшувати покарання (розмір штрафів) за порушення ПДР?', $title);
$tpl->set('{votes}', $max);
$tpl->set('', '');
$tpl->set_block("'\\[votelist\\](.*?)\\[/votelist\\]'si", "");
$tpl->compile('vote');
$tpl->clear();
break;
}
if( !$rid ) $tpl->result['vote'] = "";
?>