投票权限主题设置

上一篇 / 下一篇  2006-11-30 10:49:41 / 个人分类:插件

查看( 1735 ) / 评论( 22 )

QUOTE:

名称: 投票权限主题设置
适用: Discuz! 5.0.0
作者: lu5266
演示: http://www.discuzs.net/
版权: lu5266

QUOTE:

说明:
分开不一样的主题不一样的投票权限,即某些特定的投票可以允许更多特定的人投票

QUOTE:

文件列表:
./templates/default/post_newthread.htm
./templates/default/post_editpost.htm
./include/editpost.inc.php
./include/newthread.inc.php
./include/special.inc.php
./misc.php

QUOTE:

修改方法:


1: ./templates/default/post_newthread.htm (对应的风格假如也存在该文件那也要同样修改)

post_newthread.htm

CODE:

<input type="text" name="maxchoices" value="$maxpolloptions" size="5"><br></span>在下面加上:

CODE:

        <input class="checkbox" type="checkbox" name="allowpollchk" value="1" ōnclick="if(this.checked){$('allowpollscontrol').style.display='';$('chkallspan').style.display='';}else{$('allowpollscontrol').style.display='none';$('chkallspan').style.display='none';}" title="设置允许参与投票的用户组(对管理员无效){LF}如果全不选,就按照系统默认的设置{LF}如不是特别需要,请留空">参与用户组  
                <span id="chkallspan" style="display: none">全选<input class="checkbox" type="checkbox" name="allowpollchkall" value="1" ōnclick="checkall(this.form, 'allowpolls', 'allowpollchkall');"></span><br><span id="allowpollscontrol" style="display: none">$allowpolls</span>
2: ./templates/default/post_editpost.htm  

找:

CODE:

<input type="text" name="maxchoices" value="$poll[maxchoices]" size="5"><br>
        </span></td><td class="altbg2">
替换为:

CODE:

<input type="text" name="maxchoices" value="$poll[maxchoices]" size="5"><br></span>

        <input class="checkbox" type="checkbox" name="allowpollchk" value="1" ōnclick="if(this.checked){$('allowpollscontrol').style.display='';$('chkallspan').style.display='';}else{$('allowpollscontrol').style.display='none';$('chkallspan').style.display='none';}" title="设置允许参与投票的用户组(对管理员无效){LF}如果全不选,就按照系统默认的设置{LF}如不是特别需要,请留空">参与用户组  
                <span id="chkallspan" style="display: none">全选<input class="checkbox" type="checkbox" name="allowpollchkall" value="1" ōnclick="checkall(this.form, 'allowpolls', 'allowpollchkall');"></span><br><span id="allowpollscontrol" style="display: none">$allowpolls</span>

        </td><td class="altbg2">
3:./include/editpost.inc.php

找:

CODE:

$poll['polloption'][] = stripslashes($temppoll['polloption']);
                        }
下面加上:

CODE:

$i = 0;
                        $allowpollgroups= explode(',', $db->result($db->query("SELECT allowpolls FROM {$tablepre}polls WHERE tid='$tid'"), 0));                               
                        $allowpolls = '<div id="poplayer" style="padding:2px;background:#FFFFFF;border:#7FB9F8 1px solid;position:absolute;display:inline;margin-top:2px;"><table cellpadding="4" cellspacing="0" border="0" unselectable="on"><tr>';
                        $query = $db->query("SELECT groupid,grouptitle FROM {$tablepre}usergroups WHERE  type='special' || type='member' || (type='system' && radminid> 0) ORDER BY groupid");
                        while($group = $db->fetch_array($query)){       
                                $ischecked = in_array($group[groupid], $allowpollgroups) ? 'checked' : '';
                                $allowpolls .= "<td> $group[grouptitle]<input  type=\"checkbox\" name=\"allowpolls[]\" class=\"checkbox\"  value=\"$group[groupid]\" $ischecked></td>";
                                $allowpolls .= (++$i)%3 == 0 ? '</tr><tr>' : '';
                        }
                        $allowpolls .= '</tr></table></div>';
                        //每行显示3个, 请根据需要修改
再找:

CODE:

$db->query("UPDATE {$tablepre}polls SET multiple='$pollarray[multiple]', visible='$pollarray[visible]', maxchoices='$pollarray[maxchoices]', expiration='$pollarray[expiration]' WHERE tid='$tid'", 'UNBUFFERED');替换为:

CODE:

                                        $extsql = empty($allowpolls) ? ', allowpolls=\'\'' : ', allowpolls=\''.implode(',', $allowpolls).'\'';
                                        $db->query("UPDATE {$tablepre}polls SET multiple='$pollarray[multiple]', visible='$pollarray[visible]', maxchoices='$pollarray[maxchoices]', expiration='$pollarray[expiration]' $extsql WHERE tid='$tid'", 'UNBUFFERED');
4:./include/newthread.inc.php

找:

CODE:

include template('post_newthread');上面加上:

CODE:

        if($special == 1) {
                $i = 0;
                $allowpolls = '<div id="poplayer" style="padding:2px;background:#FFFFFF;border:#7FB9F8 1px solid;position:absolute;display:inline;margin-top:2px;"><table cellpadding="4" cellspacing="0" border="0" unselectable="on"><tr>';
                $query = $db->query("SELECT groupid,grouptitle FROM {$tablepre}usergroups WHERE  type='special' || type='member' || (type='system' && radminid> 0) ORDER BY groupid");
                while($group = $db->fetch_array($query)){                       
                        $allowpolls .= "<td> $group[grouptitle]<input  type=\"checkbox\" name=\"allowpolls[]\" class=\"checkbox\"  value=\"$group[groupid]\"></td>";
                        $allowpolls .= (++$i)%3 == 0 ? '</tr><tr>' : '';
                }
                $allowpolls .= '</tr></table></div>';
        }//每行显示3个, 请根据需要修改
再找

CODE:

$db->query("INSERT INTO {$tablepre}polls (tid, multiple, visible, maxchoices, expiration)
                        VALUES ('$tid', '$pollarray[multiple]', '$pollarray[visible]', '$pollarray[maxchoices]', '$pollarray[expiration]')");
替换为:

CODE:

                $allowpolls = !empty($allowpolls) ? implode(',', $allowpolls) : '';
                $db->query("INSERT INTO {$tablepre}polls (tid, multiple, visible, maxchoices, expiration, allowpolls)
                        VALUES ('$tid', '$pollarray[multiple]', '$pollarray[visible]', '$pollarray[maxchoices]', '$pollarray[expiration]', '$allowpolls')");
5:./include/special.inc.php

找:

CODE:

$query = $db->query("SELECT multiple, visible, maxchoices, expiration FROM {$tablepre}polls WHERE tid='$tid'");替换为:

CODE:

$query = $db->query("SELECT multiple, visible, maxchoices, expiration, allowpolls FROM {$tablepre}polls WHERE tid='$tid'");再找:

CODE:

$allowpolls = $options['allowpolls'];下面加上:

CODE:

$allowvote = empty($options['allowpolls']) ? $allowvote : $discuz_uid == $thread['authorid'] || $adminid == 1 || in_array($groupid, explode(',', $options['allowpolls']));6:./misc.php

找:

CODE:

if($action == 'votepoll' && submitcheck('pollsubmit')) {下面加上:

CODE:

        $allowpolls = $db->result($db->query("SELECT allowpolls FROM {$tablepre}polls WHERE tid='$tid'"), 0);
        $allowvote = empty($allowpolls) ? $allowvote : $discuz_uid == $thread['authorid'] || $adminid == 1 || in_array($groupid, explode(',', $allowpolls));
7: 升级数据库

CODE:

ALTER TABLE `cdb_polls` ADD `allowpolls` VARCHAR( 255 ) NOT NULL ;完成了

说明:假如发投票没有设置哪个组可以投票的话,那么将按照系统本身设置的用户组设置哪个组可以投票
假如发投票那里设置了的话,就按照发投票设置,初管理员之外其他都受影响(受限的系统组是直接不可以投,如禁止发言).       

TAG: 投票 权限 主题 设置 插件

Discuz!  lu5266 lu5266 发布于2006-11-30 10:43:57
我的位置~~~~~
哎吆喂 zjttfs 发布于2006-11-30 11:15:09
AD
......................
karl907的个人空间 karl907 发布于2006-11-30 11:21:52
沙发没鸟!!!!
花石子的个人空间 花石子 发布于2006-11-30 11:24:17


AD演示 下


http://www.yiid.com

___Cutthroat___发布于2006-11-30 11:28:54

CODE:

$allowpolls = $options['allowpolls'];special.inc.php 此段找不到喔 !

沙滩 freddy 发布于2006-11-30 11:45:18
顶一下!
Discuz!  lu5266 lu5266 发布于2006-11-30 11:45:55
回复 #6 ___Cutthroat___ 的帖子
谢谢

我的大意

已经修改好
Discuz!  lu5266 lu5266 发布于2006-11-30 11:49:04
回复 #7 freddy 的帖子
再顶~~~~~
Discuz!  lu5266 lu5266 发布于2006-11-30 11:49:21
回复 #4 karl907 的帖子

Discuz!  lu5266 lu5266 发布于2006-11-30 11:50:01
回复 #5 花石子 的帖子
都是 AD~~~~
Discuz!  lu5266 lu5266 发布于2006-11-30 11:50:40
回复 #3 zjttfs 的帖子
大家 AD~~~
___Cutthroat___发布于2006-11-30 13:36:40
有錯誤產生 !
錯誤.gif

錯誤.gif

紫云杉的个人空间 紫云杉 发布于2006-11-30 14:06:57

Tea's Home Tea 发布于2006-11-30 16:56:40
辛苦lulu~哈~
Tea's Home Tea 发布于2006-11-30 16:58:04
有了lulu这个基础,我再给它强化一下吧,呵呵~
Discuz!  lu5266 lu5266 发布于2006-11-30 18:17:47
回复 #13 ___Cutthroat___ 的帖子
这个插件没有windloaction这个对象
应该是其他的
呵呵
Discuz!  lu5266 lu5266 发布于2006-11-30 18:18:39
回复 #15 Tea 的帖子
恩~~~~~~
~
Discuz!  lu5266 lu5266 发布于2006-11-30 18:19:07
回复 #16 Tea 的帖子
哈哈

严重的等!!
zb267yai6发布于2008-02-16 14:04:38
严重的等^_^!!
lsu666666的个人空间 lsu666666 发布于2008-02-23 03:16:13
_____◣   ▲   ▲   ◢
   █◣ ◢█◣ ◢█◣ ◢█       ▁  ▁ 
   █████████████     \\// 
  ◢█████████████◣    //\\ 
 ◢███████████████◣  ̄ ▌ ̄
 ██   ● ███   ● ██     ▌
 ██◣   ◢███◣   ◢██   ▌
 ◥█████◤ ︿ ◥█████◤   ▌
  ◥████◣/ \◢████◤◢██
  ◢█████████████◢██◤ 
 ◢████████████████
██◤◢███◤    ◥███◣
  ◢███◤      ◥███◣
  ████ ████      頂你個肺      


         ╭═══╮ ┌═════════════════╕
        ╭╯頂完了║═║_____________我滾蛋______ _____║
〝ㄅㄨ~〝ㄅㄨ~╰⊙══⊙╯ └⊙════⊙═════⊙════⊙┘〝ㄅㄨ~〝ㄅㄨ~




我来说两句

(可选)

Open Toolbar