это интересный вопрос.
у меня готового плагина нет.
лично я бы сделал 1 таблицу для добавления к опросной группе опросов из тем форумов с переходом в ветку. а сами опросы делать в темах.
то есть выводишь список тем форумов с опросами и галками выбираешь какие темы включать в даный опрос.
на ozozhe.ru/forum/ работает
forum_pol_panel
Код
require LOCALE.LOCALESET."forum_pol_panel.php";
// if (iMEMBER) {
$result = dbquery(
"SELECT t.*, f.*, f2.forum_name AS forum_cat_name
FROM ".DB_THREADS." t
LEFT JOIN ".DB_FORUMS." f ON t.forum_id=f.forum_id
LEFT JOIN ".DB_FORUMS." f2 ON f.forum_cat=f2.forum_id
WHERE ".groupaccess('f.forum_access')." AND t.thread_poll=1 ORDER BY RAND() LIMIT 1"
);
if (dbrows($result)) {
openside($locale['votes']);
$fdata = dbarray($result);
$fp_nowpoll = $fdata['thread_id'];
//if (!checkgroup($fdata['forum_access'])) { echo 'Error? o_O'; }
if (iMEMBER) {
$presult = dbquery(
"SELECT tfp.*, tfv.forum_vote_user_id FROM ".DB_FORUM_POLLS." tfp
LEFT JOIN ".DB_FORUM_POLL_VOTERS." tfv
ON tfp.thread_id=tfv.thread_id AND forum_vote_user_id='".$userdata['user_id']."'
WHERE tfp.thread_id='".$fp_nowpoll."'"
);
} else {
$presult = dbquery(
"SELECT tfp.* FROM ".DB_FORUM_POLLS." tfp
WHERE tfp.thread_id='".$fp_nowpoll."'"
);
}
if (dbrows($presult)) {
$pdata = dbarray($presult); $i = 1;
if (iMEMBER) {
echo "<form name='voteform' method='post' action='".FORUM."viewthread.php?forum_id=".$fdata['forum_id']."&thread_id=".$fp_nowpoll."'>\n";
}
echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
echo "<td align='center'><strong>".$pdata['forum_poll_title']."</strong></td>\n</tr>\n<tr>\n<td>\n";
echo "<table align='center' cellpadding='0' cellspacing='0'>\n";
$presult = dbquery("SELECT * FROM ".DB_FORUM_POLL_OPTIONS." WHERE thread_id='".$fp_nowpoll."' ORDER BY forum_poll_option_id ASC");
$poll_options = dbrows($presult);
while ($pvdata = dbarray($presult)) {
// БЫЛО if ((iMEMBER && isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote'])))) {
if (isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote']))) {
$option_votes = ($pdata['forum_poll_votes'] ? number_format(100 / $pdata['forum_poll_votes'] * $pvdata['forum_poll_option_votes']) : 0);
echo "<tr><td colspan='2'><img src='".get_image("pollbar")."' alt='".$pvdata['forum_poll_option_text']."' height='12' width='".(200 / 100 * $option_votes)."' class='poll' /><br>\n";
echo " ".$pvdata['forum_poll_option_text']."<br>\n";
echo " ".$option_votes."% = [".$pvdata['forum_poll_option_votes']." ".($pvdata['forum_poll_option_votes'] == 1 ? $locale['global_133'] : $locale['global_134'])."]</td>\n</tr>\n";
} else {
echo "<tr>\n<td><label><input type='radio' name='poll_option' value='".$i."' style='vertical-align:middle' /> ".$pvdata['forum_poll_option_text']."</label></td>\n</tr>\n";
$i++;
}
}
// БЫЛО if ((iMEMBER && isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote'])))) {
if ( isset($pdata['forum_vote_user_id']) || (!$fdata['forum_vote'] || !checkgroup($fdata['forum_vote']))) {
echo "<tr>\n<td align='center' colspan='4'>".$locale['vottot'].$pdata['forum_poll_votes']."</td>\n</tr>\n";
} else {
echo "<tr>\n<td align='center'><input type='submit' name='cast_vote' value='".$locale['votyu']."' class='button' /></td>\n</tr>\n";
}
echo '<tr><td align="center" colspan="4"><a href="'.FORUM.'viewthread.php?forum_id='.$fdata['forum_id'].'&thread_id='.$fp_nowpoll.'">'.$locale['votgo'].'</a></td></tr>';
echo "</table>\n</td>\n</tr>\n</table>\n";
if (iMEMBER) {
echo "</form>\n";
}
} // if (dbrows($presult))
closeside();
} // else { echo '<div align="center">'.$locale['votno'].'</div>'; } // НЕТ ГОЛОСОВАНИЙ !!
forum_pol_panel
Код
$locale['votes'] = 'Голосования';
$locale['votgo'] = 'Перейти в ветку';
$locale['vottot'] = 'Всего голосов : ';
$locale['votyu'] = 'Голос!';
$locale['votnu'] = 'Вы должны зарегистрироваться и войти, чтобы голосовать';
$locale['votno'] = 'На форуме ещё нет голосований';
Изменил(а) Vveb--ws, 01.06.2019 18:35
|