DZ原生代码交流学习,买插件不如自己动手解决
 
发新帖
楼主: 天启
查看: 4177|回复: 0

[教程] DZ附件购买记录仅楼主和管理员可见

[复制链接]
天启VIP6 发表于 2019-11-13 16:42:13 | 显示全部楼层
找到文件:template\default\forum\discuzcode.htm
搜索代码:forum.php?mod=misc&action=viewattachpayments&aid=$attach[aid]

将附近的代码全部换成一下代码:下面是包含购买和记录2个判断,同时允许管理员查看购买记录
  1. <!--{if in_array($_G[group][groupid], array(1,2)) || $_G['uid'] == $attach[uid]}-->
  2.                                                          <a href="forum.php?mod=misc&action=viewattachpayments&aid=$attach[aid]" onclick="showWindow('attachpay', this.href)" target="_blank">[{lang pay_view}]</a>
  3.                                                         <!--{elseif !$attach['payed'] || !$_G['uid']}-->
  4.                                                          [<a href="forum.php?mod=misc&action=attachpay&aid=$attach[aid]&tid=$attach[tid]" onclick="showWindow('attachpay', this.href)" target="_blank">{lang attachment_buy}</a>]
  5.                                                         <!--{/if}-->
  6.                                                         <!--{/if}-->
复制代码
上面解决了前台的按钮记录,接下来解决后台权限记录(防止越权查看)
打开文件:source/module/forum/forum_misc.php,搜索:
  1. } elseif($_GET['action'] == 'viewattachpayments') {
复制代码
在这行代码下面加入
  1. $auid = DB::result_first("select uid from ".DB::table('forum_attachment')." where aid='$_GET[aid]'");
  2.         if( $_G['uid'] != $auid && !in_array($_G['groupid'], array(1,2))) {
  3.         showmessage('抱歉,您无权查看!');
  4.     }
复制代码



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