修改文件:misc.php、templates/default/viewthread_poll.htm、templates/default/templates.lang.php、templates/default/messages.lang.php、templates/default/post_newthread.htm、include/newthread.inc.php
难易程度:文件虽然改的多,但是非常简单。
作用:
比如发了一个总项数为8的投票,那么可以填写允许选择的最大项数(如3),那么当投票者选择3个以上(不包括3)选项时提示投票失败。编辑帖子不可以改变项数,我认为这样会影响公平。
21号早修正不填这个项无法投票的错误,谢谢amoshuang提示!
25号早修正最大项数可以比总项数大的bug,感谢inamoto4869提出
步骤:
1.misc.php
查找:
- if(!is_array($pollanswers) || count($pollanswers) < 1) {
- showmessage('thread_poll_invalid');
- }
复制代码
下面加:
- if(count($pollanswers) > $pollarray['maxpollnum'] && !empty($pollarray['multiple'])) {
- showmessage('thread_poll_toomore');
- }
复制代码
2.templates/default/viewthread_poll.htm
查找:
- <!--{if $pollopts['multiple']}-->({lang poll_multiple}
复制代码
后面加:
- -{lang poll_max}$pollopts['maxpollnum']{lang poll_xiang}
复制代码
3.templates/default/templates.lang.php
查找:
- 'post_poll_allowmultiple' => '多选投票',
复制代码
下面加:
- 'post_poll_maxpollchoose' => '允许选择的最大选项数:',
复制代码
查找:
下面加:
- 'poll_max' => '限选',
- 'poll_xiang' => '项',
复制代码
4.templates/default/messages.lang.php
查找:
- 'thread_poll_invalid' => '您没有选择投票选项,请返回修改。',
复制代码
下面加:
- 'thread_poll_toomore' => '您选择投票选项过多,请返回修改。',
复制代码
5.templates/default/post_newthread.htm
查找:
- <input type="checkbox" name="multiplepoll" value="1" <!--{if isset($multiplepoll)}-->checked<!--{/if}-->> {lang post_poll_allowmultiple}
- </span>
复制代码
后面加:
- <span class="smalltxt">{lang post_poll_maxpollchoose}<input type="text" name="maxpollchoose" size="2" maxlength="2" value=""></span>
复制代码
把紧接着下面的那个
改成
6.include/newthread.inc.php
查找
- $pollarray['multiple'] = !empty($multiplepoll);
复制代码
下面加:
- $pollarray['maxpollnum'] = $maxpollchoose<count($polloptions)&&$maxpollchoose?$maxpollchoose:count($polloptions);
复制代码
7.更新缓存,OVER。
===========
21号之前修改的把include/newthread.inc.php原来的
- $pollarray['maxpollnum'] = $maxpollchoose;
复制代码
修改成:
- $pollarray['maxpollnum'] = $maxpollchoose?$maxpollchoose:count($polloptions);
复制代码
===========
25号10:32之前21号之后的把
- $pollarray['maxpollnum'] = $maxpollchoose?$maxpollchoose:count($polloptions);
复制代码
改成
- $pollarray['maxpollnum'] = $maxpollchoose<count($polloptions)&&$maxpollchoose?$maxpollchoose:count($polloptions);
复制代码
=================
编辑帖子也可以修改这个值的修改办法在31楼
[ 本帖最后由 诺维兹基 于 2006-4-25 10:58 编辑 ] |