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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[模型] 摸索:把资讯的举报功能用到模型上 for ss7.0

[复制链接]
shosin 发表于 2011-6-11 21:38:20 | 显示全部楼层 |阅读模式
资讯的帖子设置为只有管理员才能发帖,举报功能用不上,
而模型又没有此功能,非常想把资讯的举报功能移植到模型上。
在论坛里找了很久,没有答案。
没办法,只好自己摸索,希望高人指点。

唉,现在做网站不容易,个人网站都被搞得像google一样。
自己在本地做站,自娱自乐算了。
 楼主| shosin 发表于 2011-6-12 14:11:24 | 显示全部楼层
资讯内容页里有“举报”链接,既然是摸索,当然要先看看其代码如何了。
打开templates/default下的news_view.html.php文件,看到了如下代码:
  1. <a href="javascript:;" onclick="report($news[itemid])" >举报</a>
复制代码
因为是模型内容页面,自然不能用$news函数。把它改为:
  1. <a href="javascript:;" onclick="report($item[itemid])" >举报</a>
复制代码
打开模型的view.html.php,把修改的代码放到下面代码的后面。
  1. <a href="javascript:;" onclick="bookmarksite(document.title, window.location.href);">收藏此页</a>
复制代码
测试。只有提示窗口,没有文字,后台举报管理也没有相关信息。

失败。
回复

使用道具 举报

 楼主| shosin 发表于 2011-6-13 11:00:15 | 显示全部楼层
提示窗口没有文字,首先想到的是language文件夹。
打开这个文件夹,找与举报有关的文件,是language/batch.lang.php。
打开batch.lang.php,发现调用相关语句的文件是根目录的batch.common.php。
看来,得要先看看这个文件了。
回复

使用道具 举报

 楼主| shosin 发表于 2011-6-15 21:23:38 | 显示全部楼层
发现与举报有关的代码是:
  1. elseif ($action == 'report') {
  2.        
  3.         $itemid = empty($_GET['itemid'])?0:intval($_GET['itemid']);
  4.         if(!empty($itemid)) {
  5.                 $query = $_SGLOBAL['db']->query('SELECT * FROM '.tname('spaceitems').' WHERE itemid=\''.$itemid.'\'');
  6.                 if($item = $_SGLOBAL['db']->fetch_array($query)) {
  7.                         $query = $_SGLOBAL['db']->query('SELECT itemid, status FROM '.tname('reports').' WHERE itemid=\''.$itemid.'\'');
  8.                         $reportitem = $_SGLOBAL['db']->fetch_array($query);
  9.                         if($reportitem) {
  10.                                 if($reportitem['status'] == '0') {
  11.                                         showxml($blang['information_has_been_reported']);
  12.                                 } else {
  13.                                         showxml($blang['not_a_malicious_report']);
  14.                                 }
  15.                         } else {
  16.                                
  17.                                 if(empty($_SGLOBAL['supe_username'])) {
  18.                                         $_SGLOBAL['supe_username'] = 'Guest';
  19.                                 }
  20.                                 $insertsqlarr = array(
  21.                                         'itemid' => $itemid,
  22.                                         'reportuid' => $_SGLOBAL['supe_uid'],
  23.                                         'reporter' => empty($_SGLOBAL['supe_username'])?'Guest':$_SGLOBAL['supe_username'],
  24.                                         'reportdate' => $_SGLOBAL['timestamp'],
  25.                                         'status' => 0
  26.                                 );
  27.                                 inserttable('reports', $insertsqlarr);
  28.                                 showxml($blang['reported_success']);
  29.                         }
  30.                 }
  31.         }
复制代码
上面代码中,有跟数据库有关的代码了。
spaceitems这个表大概要换成模型的相关表吧?是什么呢?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 13:27 , Processed in 0.027038 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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