Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz! X2投票统计查看所有投票参与人

[复制链接]
otherbank 发表于 2011-9-4 13:04:04 | 显示全部楼层 |阅读模式
修改Discuz X2投票统计结果,添加一项也是默认项为所有所有投票参与人。方便可多选的投票项目查看所有参与会员。

默认如图:

修改后效果图:



方法:

修改文件source\module\forum\ forum_misc.php的479-520行代码
  1. require_once libfile('function/post');
  2. $polloptionid = is_numeric($_G['gp_polloptionid']) ? $_G['gp_polloptionid'] : '';

  3. $page = intval($_GET['page']) ? intval($_GET['page']) : 1;
  4. $perpage = 100;

  5. $overt = DB::result_first("SELECT overt FROM ".DB::table('forum_poll')." WHERE tid='$_G[tid]'");

  6. $polloptions = array();
  7. $query = DB::query("SELECT polloptionid, polloption FROM ".DB::table('forum_polloption')." WHERE tid='$_G[tid]'");
  8. while($options = DB::fetch($query)) {
  9. if(empty($polloptionid)) {
  10. $polloptionid = $options['polloptionid'];
  11. }
  12. $options['polloption'] = preg_replace("/\[url=(https?){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/i",
  13. "<a href="\\1://\\2" target="_blank">\\3</a>", $options['polloption']);
  14. $polloptions[] = $options;
  15. }

  16. $arrvoterids = array();
  17. if($overt || $_G['adminid'] == 1 || $thread['authorid'] == $_G['uid']) {
  18. $voterids = '';
  19. $voterids = DB::result_first("SELECT voterids FROM ".DB::table('forum_polloption')." WHERE polloptionid='$polloptionid'");
  20. $arrvoterids = explode("\t", trim($voterids));
  21. } else {
  22. showmessage('thread_poll_nopermission');
  23. }

  24. if(!empty($arrvoterids)) {
  25. $count = count($arrvoterids);
  26. $multi = $perpage * ($page - 1);
  27. $multipage = multi($count, $perpage, $page, "forum.php?mod=misc&action=viewvote&tid=$_G[tid]&polloptionid=$polloptionid".( $_G[gp_handlekey] ? "&handlekey=".$_G[gp_handlekey] : '' ));
  28. $arrvoterids = array_slice($arrvoterids, $multi, $perpage);
  29. }
  30. $voterlist = $voter = array();
  31. if($voterids = dimplode($arrvoterids)) {
  32. $query = DB::query("SELECT uid, username FROM ".DB::table('common_member')." WHERE uid IN ($voterids)");
  33. while($voter = DB::fetch($query)) {
  34. $voterlist[] = $voter;
  35. }
  36. }
  37. include template('forum/viewthread_poll_voter');
复制代码

替换为


  1.   require_once libfile('function/post');
  2. $polloptionid = is_numeric($_G['gp_polloptionid']) ? $_G['gp_polloptionid'] : '0';
  3. $page = intval($_GET['page']) ? intval($_GET['page']) : 1;
  4. $perpage = 100;
  5. $overt = DB::result_first("SELECT overt FROM ".DB::table('forum_poll')." WHERE tid='$_G[tid]'");
  6. $polloptions = array();
  7.   $options['polloptionid'] = 0;
  8.   $options['polloption'] = preg_replace("/\[url=(https?){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/i",
  9.    "<a href="\\1://\\2" target="_blank">\\3</a>", "all user");
  10.   $polloptions[] = $options;
  11. $query = DB::query("SELECT polloptionid, polloption FROM ".DB::table('forum_polloption')." WHERE tid='$_G[tid]'");
  12. while($options = DB::fetch($query)) {
  13.   $options['polloption'] = preg_replace("/\[url=(https?){1}:\/\/([^\["']+?)\](.+?)\[\/url\]/i",
  14.    "<a href="\\1://\\2" target="_blank">\\3</a>", $options['polloption']);
  15.   $polloptions[] = $options;
  16. }
  17. $arrvoterids = array();
  18. if($overt || $_G['adminid'] == 1 || $thread['authorid'] == $_G['uid']) {
  19.   if($polloptionid == '0'){
  20.    $voterids = DB::query("SELECT uid FROM ".DB::table('forum_pollvoter')." WHERE tid='$_G[tid]' order by uid");
  21.    while($voteuid = DB::fetch($voterids)) {
  22.     $arrvoterids[] = $voteuid['uid'];
  23.    }
  24.   }else{
  25.    $voterids = '';
  26.    $voterids = DB::result_first("SELECT voterids FROM ".DB::table('forum_polloption')." WHERE polloptionid='$polloptionid'");
  27.    $arrvoterids = explode("\t", trim($voterids));
  28.   }
  29. } else {
  30.   showmessage('thread_poll_nopermission');
  31. }
  32. if(!empty($arrvoterids)) {
  33.   $count = count($arrvoterids);
  34.   $multi = $perpage * ($page - 1);
  35.   $multipage = multi($count, $perpage, $page, "forum.php?mod=misc&action=viewvote&tid=$_G[tid]&polloptionid=$polloptionid".( $_G[gp_handlekey] ? "&handlekey=".$_G[gp_handlekey] : '' ));
  36.   $arrvoterids = array_slice($arrvoterids, $multi, $perpage);
  37. }
  38. $voterlist = $voter = array();
  39. if($voterids = dimplode($arrvoterids)) {
  40.   $query = DB::query("SELECT uid, username FROM ".DB::table('common_member')." WHERE uid IN ($voterids)");
  41.   while($voter = DB::fetch($query)) {
  42.    $voterlist[] = $voter;
  43.   }
  44. }
  45. include template('forum/viewthread_poll_voter');
复制代码
压力山大 发表于 2011-9-4 13:04:56 | 显示全部楼层
沙发啊
回复

使用道具 举报

死老婆娘 发表于 2011-9-4 13:11:21 | 显示全部楼层
支持原创。。
回复

使用道具 举报

 楼主| otherbank 发表于 2011-9-4 13:16:49 | 显示全部楼层
死老婆娘 发表于 2011-9-4 13:11
支持原创。。

我也支持原创,有需要的时候可以根据自己的需要改动一下。
回复

使用道具 举报

64243354 发表于 2011-9-5 19:03:13 | 显示全部楼层
:L:L:L:L:L:L:L:L:L
这也玩出來了 看來修改的帖子更多了
回复

使用道具 举报

woaigaoshan 发表于 2011-9-6 00:08:46 | 显示全部楼层
看完帖子,在发表看法
回复

使用道具 举报

刘富梁 发表于 2011-10-10 09:55:15 | 显示全部楼层
按照上述代码改完后,出现下面的问题,
选好选项,点击提交时,无法自动刷新,必须按下F5,才能更新投票效果
回复

使用道具 举报

 楼主| otherbank 发表于 2011-10-10 10:10:51 | 显示全部楼层
刘富梁 发表于 2011-10-10 09:55
按照上述代码改完后,出现下面的问题,
选好选项,点击提交时,无法自动刷新,必须按下F5,才能更新投票效 ...

我测试的时候是正常的,建议你更新一下缓存等,再做测试,如果是在个干净系统上测试就更好了
回复

使用道具 举报

刘富梁 发表于 2011-10-10 10:37:39 | 显示全部楼层
本帖最后由 刘富梁 于 2011-10-20 20:10 编辑

我自己的问题,代码没问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-23 22:25 , Processed in 0.029404 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表