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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

浏览消费积分 for dz4X 5X 楼主不扣积分 只扣一次分的方法 [版权为原作者lu5266所有]

[复制链接]
oldsword 发表于 2006-9-22 00:07:40 | 显示全部楼层 |阅读模式
功能:
1.实现看贴只扣一次,不计算回复数 (再次查看主题仍会扣分)
2.楼主不扣积分

说明:此插件版权为原作者,因为看到有朋友也需要这样的功能,所以略微改了一下


使用此方法请先看原作者的贴子
浏览消费积分 for dz4X 5X by lu5266
https://discuz.dismall.com/viewthread.php?tid=355075


修改部分:

在viewthread.php

1. 查找:

  1. include template('viewthread');
复制代码

在上面加上:


  1.         // PayView Powered by lu5266
  2.         @require_once DISCUZ_ROOT.'./forumdata/cache/plugin_pay_view.php';
  3.         $pvvars = $_DPLUGIN['pay_view']['vars'];
  4.         $creditid = intval(substr($pvvars['creditid'],-1,1));
  5.         if(!$pvvars['fids'] || in_array($fid,explode(',',$pvvars[fids]))){
  6.                 if(!$discuz_uid) {
  7.                         showmessage("浏览帖子需要消耗扩展积分[".$extcredits[$creditid]['title']."],登陆后方可以浏览.", NULL, 'NOPERM');
  8.                 }else {
  9.                         $paycredits = ceil(count($postlist) * floatval($pvvars['price']));
  10.                         if($paycredits > $GLOBALS[extcredits.$creditid]) {        
  11.                                 showmessage("浏览帖子需要消耗扩展积分 [".$extcredits[$creditid]['title']."],你的只有[".$GLOBALS[extcredits.$creditid]."],已经不够消耗了(每贴需要消耗[".floatval($pvvars['price'])."]).", NULL, 'NOPERM');
  12.                         }        
  13.                 $db->query("UPDATE {$tablepre}members SET extcredits$creditid = extcredits$creditid - $paycredits WHERE uid = '$discuz_uid'", 'UNBUFFERED');
  14.                 }        
  15.         }
复制代码


这段改成下面的[如果您的论坛上已经有上面的代码请用下面的替换]:



  1.         // PayView Powered by lu5266
  2.         @require_once DISCUZ_ROOT.'./forumdata/cache/plugin_pay_view.php';
  3.         $pvvars = $_DPLUGIN['pay_view']['vars'];
  4.         $creditid = intval(substr($pvvars['creditid'],-1,1));
  5.         if((!$pvvars['fids'] || in_array($fid,explode(',',$pvvars[fids])))and $thread[authorid]!=$discuz_uid){//楼主不扣积分
  6.                 if(!$discuz_uid) {
  7.                         showmessage("浏览帖子需要消耗扩展积分[".$extcredits[$creditid]['title']."],登陆后方可以浏览.", NULL, 'NOPERM');
  8.                 }else {
  9.                        // $paycredits = ceil(count($postlist) * floatval($pvvars['price']));
  10.       $paycredits = floatval($pvvars['price']);//此句修改,只扣一次积分
  11.                         if($paycredits > $GLOBALS[extcredits.$creditid]) {        
  12.                                 showmessage("浏览帖子需要消耗扩展积分 [".$extcredits[$creditid]['title']."],你的只有[".$GLOBALS[extcredits.$creditid]."],已经不够消耗了(每贴需要消耗[".floatval($pvvars['price'])."]发贴和回复都能增加体力).", NULL, 'NOPERM');
  13.                         }        
  14.                 $db->query("UPDATE {$tablepre}members SET extcredits$creditid = extcredits$creditid - $paycredits WHERE uid = '$discuz_uid'", 'UNBUFFERED');
  15.                 }        
  16.         }
复制代码



注:本文只扣一次的意思是,看一个贴子只扣一次,而不是原作者的连每个回复也一块扣,
如果真正的看过一次贴子,以后再看就不再扣分,这个要增加数据表,每个会员每次看贴都会加重服务器负担,故没有采用


[ 本帖最后由 oldsword 于 2006-10-17 08:35 编辑 ]
雪火阿累 发表于 2006-9-22 00:19:26 | 显示全部楼层
沙发...
回复

使用道具 举报

wlqc 发表于 2006-9-22 00:49:30 | 显示全部楼层
补充楼主一下。。已经安装过原作者的插件
应该删除掉 原作者修改方法中的
eval($hooks['pay_view_in_viewthread_php']); // PayView Powered by lu5266
回复

使用道具 举报

eb61 发表于 2006-9-22 00:52:41 | 显示全部楼层
难得赶上个板凳
回复

使用道具 举报

赤色彗星 发表于 2006-9-22 01:13:11 | 显示全部楼层
留个记号
回复

使用道具 举报

sd7089852 发表于 2006-9-22 01:17:21 | 显示全部楼层

a

aaa
回复

使用道具 举报

 楼主| oldsword 发表于 2006-9-22 08:53:56 | 显示全部楼层
eval($hooks['pay_view_in_viewthread_php']); // PayView Powered by lu5266

因为就没看到作者有这个附件提供下载,所以给漏了,呵呵
谢谢
回复

使用道具 举报

云心飞扬 发表于 2006-9-22 10:25:11 | 显示全部楼层
这个支持D5正式版么?另外扣分是否支持小数点?
回复

使用道具 举报

 楼主| oldsword 发表于 2006-9-22 10:28:01 | 显示全部楼层
支持DZ 5
小数不支持,因为积分字段是INT  如果想支持小数,可以改一下字段

[ 本帖最后由 oldsword 于 2006-9-22 10:33 编辑 ]
回复

使用道具 举报

e_zailai 发表于 2006-9-23 13:15:53 | 显示全部楼层
留个记号
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-10 10:06 , Processed in 0.123144 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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