本帖最后由 bookone 于 2016-3-26 16:27 编辑
右下角的举报,希望第一次举报后能添加亮灯标示,后面的会员就不会重复举报了。
对于版主提示“合并举报”功能的思考:
合并只是考虑到管理人员这边
但是会员这边也应该顾及一下,举报人家已经举报的帖子很没有意义----但是会员无法明确。
毕竟举报这个主要就是让会员参与的,能让会员知道是否被超前举报是有意义的。
右下角的举报,希望第一次举报后能添加亮灯标示,后面的会员就不会重复举报了。
对于版主提示“合并举报”功能的思考:
合并只是考虑到管理人员这边
但是会员这边也应该顾及一下,举报人家已经举报的帖子很没有意义----但是会员无法明确。
毕竟举报这个主要就是让会员参与的,能让会员知道是否被超前举报是有意义的。
完全没有这样的必要
后台会合并同一个帖子的举报
后台会合并同一个帖子的举报
a390807154 发表于 2016-3-26 15:30
完全没有这样的必要
后台会合并同一个帖子的举报
合并只是考虑到管理人员这边
但是会员这边也应该顾及一下,举报人家已经举报的帖子很没有意义----但是会员无法明确。
毕竟举报这个主要就是让会员参与的,能让会员知道是否被超前举报是有意义的。
本帖最后由 andylizi 于 2016-3-26 20:28 编辑
创意不错,但这样就得单独做插件了。您来试试如何
创意不错,但这样就得单独做插件了。您来试试如何
bookone 发表于 2016-3-26 18:42
您是插件大神。。。我等是渣渣。
插件这么大(范围广嘛!)论坛带动很吃力的!涉及整个论坛的插件就是基本插件了。更何况论坛有延迟,拒了报也要刷出来才亮。一般的举报就没必要跟帖了。严重违规的行为你又何时能见到?
本帖最后由 andylizi 于 2016-3-26 20:28 编辑
我去写个试试。不保证成功,更不保证管理员打算加2333(这几乎是不可能的)
我去写个试试。不保证成功,更不保证管理员打算加2333(这几乎是不可能的)
andylizi 发表于 2016-3-26 20:17
我去写个试试。不保证成功,更不保证管理员打算加2333(这几乎是不可能的) ...
这份节操不枉费我崇拜您这么多年。
如果一个帖子被多个会员举报,版主处理时所有会员都会收到奖励
同sii
版主并不会看到多个举报,而且对会员来说也没有影响。
版主并不会看到多个举报,而且对会员来说也没有影响。
本帖最后由 andylizi 于 2016-3-26 22:11 编辑
@tsd1
我以前也是这么想的,但是。。
(另:@bookone 弄出来了
考虑到性能问题没有以插件的形式制作,而是直接修改了代码
\template\模版名\forum\viewthread_node.htm (帖子浏览)文件约第436行~439行 (使用的是Discuz 3.2,应该都差不多
复制代码"已被举报"处就是如果此回复已被举报过(已被处理的也算)时,代替"举报"按钮的内容。自由修改即可。这里不用语言文件了,不然得再改个文件
\source\class\table\table_common_report.php 文件(举报数据表操作)
在fetch_by_urlkey函数与update_num函数之间再插入一个函数(其实在class table_common_report的任何位置放都可以复制代码
增加这个功能修改上面那两个文件就够了。此外,我还修复了一个bug:举报时如果用户不进入“其他”填写理由,而直接选择“恶意灌水”等预设的按钮,版主的处理界面看到就是“请填写举报内容”,无法知道举报者究竟在举报啥(我当了版主后发现的
\source\module\misc\misc_report.php (后台处理举报)文件约第42行~50行复制代码
siiftun1857 发表于 2016-3-26 21:05
如果一个帖子被多个会员举报,版主处理时所有会员都会收到奖励
@tsd1
我以前也是这么想的,但是。。
(另:@bookone 弄出来了
考虑到性能问题没有以插件的形式制作,而是直接修改了代码
\template\模版名\forum\viewthread_node.htm (帖子浏览)文件约第436行~439行 (使用的是Discuz 3.2,应该都差不多
- <!--{if !empty($postlist[$post[pid]]['totalrate']) && $_G['forum']['ismoderator']}-->
- <a href="forum.php?mod=misc&action=removerate&tid=$_G[tid]&pid=$post[pid]&page=$page" onclick="showWindow('rate', this.href, 'get', -1)">{lang removerate}</a>
- <!--{/if}-->
- <!--下面是添加及更改的部分-->
- <!--{if C::t('common_report')->fetch_by_posturl($post[pid],$_G[fid])}-->
- <span style="font-weight: bold;">已被举报</font>
- <!--{elseif $post['authorid'] != $_G['uid']}-->
- <!-------------------->
- <a href="javascript:;" onclick="showWindow('miscreport$post[pid]', 'misc.php?mod=report&rtype=post&rid=$post[pid]&tid=$_G[tid]&fid=$_G[fid]', 'get', -1);return false;">{lang report}</a>
- <!--{/if}-->
\source\class\table\table_common_report.php 文件(举报数据表操作)
在fetch_by_urlkey函数与update_num函数之间再插入一个函数(其实在class table_common_report的任何位置放都可以
- public function fetch_by_urlkey($urlkey) {
- return DB::result_first("SELECT id FROM %t WHERE urlkey=%s AND opuid='0'", array($this->_table, $urlkey));
- }
- /*****下面是添加的部分*****/
- public function fetch_by_posturl($rid,$fid) {
- if($rid) {
- $url = 'forum.php?mod=redirect&goto=findpost&ptid=0&pid='.intval($rid);
- } else {
- $url = addslashes(dhtmlspecialchars(base64_decode($_GET['url'])));
- $url = preg_match("/^http[s]?:\/\/[^\["']+$/i", trim($url)) ? trim($url) : '';
- }
- return DB::result_first("SELECT id FROM %t WHERE urlkey=%s", array($this->_table, md5($url)));
- }
- /**************************/
- public function update_num($id, $message) {
- DB::query("UPDATE %t SET message=CONCAT_WS('<br>', message, %s), num=num+1 WHERE id=%d", array($this->_table, $message, $id));
- }
增加这个功能修改上面那两个文件就够了。此外,我还修复了一个bug:举报时如果用户不进入“其他”填写理由,而直接选择“恶意灌水”等预设的按钮,版主的处理界面看到就是“请填写举报内容”,无法知道举报者究竟在举报啥(我当了版主后发现的
\source\module\misc\misc_report.php (后台处理举报)文件约第42行~50行
- $urlkey = md5($url);
- if(submitcheck('reportsubmit')) {
- /*****下面是添加的部分*****/
- require_once '/source/language/lang_template.php';
- if(empty($_GET['message']) || $_GET['message'] == $lang['report_reason_other']){
- if(empty($_GET['report_select'])){
- showmessage('report_parameters_invalid');
- }
- $message = $_GET['report_select'];
- }else{
- $message = $_GET['message'];
- }
- /**************************/
- $message = censor(cutstr(dhtmlspecialchars(trim($message)), 200, ''));
- $message = $_G['username'].' : '.rtrim($message, "\");