投票权限主题设置
上一篇 /
下一篇 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 ;完成了
说明:假如发投票没有设置哪个组可以投票的话,那么将按照系统本身设置的用户组设置哪个组可以投票
假如发投票那里设置了的话,就按照发投票设置,初管理员之外其他都受影响(受限的系统组是直接不可以投,如禁止发言).
相关阅读:
- 签名的显示/隐藏快速切换 for 5.0.0 by lu5266 (lu5266, 2006-10-27)
- Smilies 分页 for Discuz! 5.0.0 by lu5266 (lu5266, 2006-10-27)
- 自动添加smilies For Discuz!5.0.0 by lu5266[更新:2006-10-2 17:46:02 ] (lu5266, 2006-10-27)
- 本周插件创意——赏金猎人 (童虎, 2006-10-28)
- 用自己的积分来评分 For 5.0.0 by lu5266 (lu5266, 2006-10-28)
- 此空间主题 (llltwh, 2006-10-31)
- 欢迎来这里的朋友们!请留下你用DISCUZ做的网站!我帮你评价一下! (插件专家, 2006-11-08)
- [X-Sapce战报]主题管理功能完成 (sup, 2006-11-17)
- 如何安装插件视频教程 (版本错误, 2006-11-19)
- 商业插件预告:纯正北美风格导航系统 (meke, 2006-11-29)
论坛模式
推荐
收藏
分享给好友
管理
TAG:
投票
权限
主题
设置
插件