统计排行 社区应用 社区服务 会员列表 最新帖子 精华区 帮助
主题 : [修正的]自动奖励每日发贴最高的会员插件
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
楼主  发表于: 2006-08-22   
来源于 分享 分类

[修正的]自动奖励每日发贴最高的会员插件

jesscgc 曾经发过一贴,[8.15测试成功!]自动奖励每日发贴最高的会员插件,http://www.phpwind.net/read-htm-tid-244797.html

按照方法弄了之后,时间总是出不来,后来发现,那个里面$tt根本就没有赋值。所以在系统消息中,在日字前面没有时间,不知道大家注意了没有,修改方法很简单,在前面$j=后面加一条语句

$tt=date("Y年n月j");

这样就好了,还有个注意的问题,设定那个触发奖励的时间点,最好用默认的23:00:00。因为要当salary.php运行才能触发这个事件,如果等时间到了00:00:00,时间又回来了,则salary.php还没有运行的话,那么今天就不会奖励了,当然要让salary.php触发事件的话。只要那段时间有人访问网站首页就好,所以建议访问量小的网站,用默认的23:00:00,访问量高的网站,建议设置的靠近00:00:00一些。

这是我的一点点学习的经验,希望大家多多指正!

同时欢迎大家光临我的论坛:http://bbs.gmakj.com

谢谢支持!
[ 此贴被romeo1981在2006-09-29 21:39重新编辑 ]
oscator 离线
级别: 初来乍到
UID: 853294
精华: 0
发帖: 9
金钱: 175 两
威望: 0 点
PW积分: 0 点
技术分: 0 分
团队工龄: 0 月
在线时间: 6(时)
注册时间: 2006-08-05
最后登录: 2008-01-07
沙发  发表于: 2006-08-22   
顶楼主

好东西
刚才安装了下
怎么在首页显示呢?     就像你论坛下面的那个发贴状元
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
2楼  发表于: 2006-08-22   
引用
引用第1楼oscator2006-08-22 03:21发表的“”:
顶楼主

好东西
刚才安装了下
怎么在首页显示呢?     就像你论坛下面的那个发贴状元


发帖状元是社区明星的插件阿,你可以在论坛搜索以下相关帖子
dsz_lyh 离线
级别: 初来乍到
UID: 875302
精华: 0
发帖: 24
金钱: 176 两
威望: 0 点
PW积分: 0 点
技术分: 0 分
团队工龄: 0 月
在线时间: 7(时)
注册时间: 2006-08-19
最后登录: 2006-08-24
3楼  发表于: 2006-08-22   
好资料,收藏
gogolala 离线
级别: 三星会员
UID: 857120
精华: 0
发帖: 1104
金钱: 461 两
威望: 57 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 74(时)
注册时间: 2006-08-08
最后登录: 2009-10-23
4楼  发表于: 2006-08-22   
不错,收藏
tzbbs 离线
级别: 一星会员
UID: 864656
精华: 0
发帖: 53
金钱: 181 两
威望: 0 点
PW积分: 0 点
技术分: 0 分
团队工龄: 0 月
在线时间: 152(时)
注册时间: 2006-08-12
最后登录: 2008-10-02
5楼  发表于: 2006-08-22   
怪不得。我的都是早上六、七点钟。发奖励的
汉川水缘 离线
级别: 四星会员
UID: 478588
精华: 0
发帖: 4177
金钱: 371 两
威望: 377 点
PW积分: 35 点
技术分: 0 分
团队工龄: 0 月
在线时间: 1037(时)
注册时间: 2005-10-11
最后登录: 2009-08-16
6楼  发表于: 2006-08-22   
好!
tzbbs 离线
级别: 一星会员
UID: 864656
精华: 0
发帖: 53
金钱: 181 两
威望: 0 点
PW积分: 0 点
技术分: 0 分
团队工龄: 0 月
在线时间: 152(时)
注册时间: 2006-08-12
最后登录: 2008-10-02
7楼  发表于: 2006-08-24   
还是不行。每次都是早上7点左右发奖金,而且发的都是当天的奖金
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
8楼  发表于: 2006-08-24   
引用
引用第7楼tzbbs2006-08-24 07:18发表的“”:
还是不行。每次都是早上7点左右发奖金,而且发的都是当天的奖金



那是你的时间没有设置对,把那个$j后面的时间设置为23:00:00阿,这这是服务器的时间,是不是服务的时间不对?
啊毛。 离线
级别: Wind helper

UID: 500388
精华: 0
发帖: 14088
金钱: 3299 两
威望: 464 点
PW积分: 25 点
技术分: 0 分
团队工龄: 1 月
群组: phpwind支持团队
在线时间: 1428(时)
注册时间: 2005-10-28
最后登录: 2010-03-03
9楼  发表于: 2006-08-24   
顶一吧!
tzbbs 离线
级别: 一星会员
UID: 864656
精华: 0
发帖: 53
金钱: 181 两
威望: 0 点
PW积分: 0 点
技术分: 0 分
团队工龄: 0 月
在线时间: 152(时)
注册时间: 2006-08-12
最后登录: 2008-10-02
10楼  发表于: 2006-08-24   
引用
引用第8楼romeo19812006-08-24 15:56发表的“”:



那是你的时间没有设置对,把那个$j后面的时间设置为23:00:00阿,这这是服务器的时间,是不是服务的时间不对?


服务器时间误差也就一两分钟而已!我把代码发上来。你看看。。




<?
/**
自动发放灌水奖金插件,适用于PW3.0.1 PW4.3 PW4.3.2等各个版本
作者:aileenguan http://www.mrguan.com
更新修改: 来自马来西亚--MyForum论坛jesscgc更新于06-08-13
更新:直接读取数据库,解决缓存的问题!
**/
require_once("global.php");
$cachefile = "data/bbscache/ifsalary.php";
$j=date("Y-n-j"); //获取当前时间日期
$tt=date(Y年n月j);
$postdatc=strtotime("$j 23:00:00");//标志位
$times*****p=time();

//A»ODIA¼t’’½¨IA¼t
if(!file_exists($cachefile)){
$cc="<?\n";
$cc.="\$ifsend=0;\n";
$cc.="?>";
writeover($cachefile,$cc);
}

require_once($cachefile);
if($times*****p<$postdatc && $ifsend==1){
$cc="<?\n";
$cc.="\$ifsend=0;\n";
$cc.="?>";
writeover($cachefile,$cc);
}
//判断日期,如果过了今天,且奖金尚未发放.则开始发放程序.
if($times*****p>$postdatc && $ifsend==0){
$sendmoeny;
$query=$db->query("SELECT m.uid,m.username,md.todaypost FROM pw_members m LEFT JOIN pw_memberdata md USING(uid) WHERE md.lastpost>'$tdtime' ORDER BY md.todaypost DESC limit 0,5");
$adminlog="在{$tt}日,获得灌水奖金的名单如下:<br><br>";
$moneylevel=array(50,40,30,20,10); //设定不同排行获得的金钱等,如50为第一名所发奖金,40为第二名.
$rvrclevel=array(50,40,30,20,10); //设定不同排行获得的贡献值等,如50为第一名所发奖金,40为第二名.
$creditlevel=array(30,20,15,10,5); //设定不同排行获得的贡献值等,如30为第一名所发奖金,20为第二名.
$num=0;
while($members=$db->fetch_array($query)){
  $memberid=$members['uid'];
  $membername=$members['username'];
  $db->update("update pw_memberdata set money=money+'$moneylevel[$num]' where uid='$memberid'"); //增加金钱+威望+贡献值
  $num=$num+1;  
$adminlog.="第{$num}名:{$membername}<br>奖励金钱:{$moneylevel[$num-1]}<br><br>";
  $subject="第{$num}名的灌水奖金发放!"; //短信标题
  $times*****p=time();
  $sendmessage="由于您在{$tt}日所发的贴子获得了$db_bbsname灌水第{$num}名,奖励金钱{$moneylevel[$num-1]},希望您再接再厉,多多交流!";
  $db->update("INSERT INTO pw_msg (touid,fromuid,username,type,ifnew,title,mdate,content) VALUES ('$memberid','','System','rebox','1','$subject','$times*****p','$sendmessage')");
      $db->query("UPDATE pw_members SET newpm=1 where uid='$memberid '");
}      
  $query=$db->query("select uid from pw_members where groupid=3");  
while($admins= $db->fetch_array($query)){
      $adminid=$admins['uid'];
  $subject="系统通知:{$tt}日的灌水奖金发放记录!";
  $times*****p=time();
  $sendmessage=$adminlog;
  $db->update("INSERT INTO pw_msg (touid,fromuid,username,type,ifnew,title,mdate,content) VALUES ('$adminid','','System','rebox','1','$subject','$times*****p','$sendmessage')");
      $db->query("UPDATE pw_members SET newpm=1 where uid='$adminid'");
  }
  $cc="<?\n";
  $cc.="\$ifsend=1;\n";
  $cc.="?>";
  writeover($cachefile,$cc);
}
?>
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
11楼  发表于: 2006-08-25   
楼上代码没有错啊,哦~对了把$tt=date(Y年n月j);括号中间加引号$tt=date("Y年n月j");
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
12楼  发表于: 2006-09-07   
好久没有来了,,毛个泡泡
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
13楼  发表于: 2006-09-13   
还是没有人顶我啊
romeo1981 离线
级别: 二星会员
UID: 673569
精华: 0
发帖: 446
金钱: 233 两
威望: 68 点
PW积分: 15 点
技术分: 0 分
团队工龄: 0 月
在线时间: 150(时)
注册时间: 2006-04-03
最后登录: 2010-01-11
14楼  发表于: 2006-09-29   
10楼,因为论坛现在没有计划任务,所以,需要有访客访问你的空间,也就是要访问你的index.php,这个文件才有作用,不然他自己不会准时运行的。所以这个也是程序为什么会把判断时间设置为23:00:00的问题
描述
快速回复

温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
验证问题:
你将要注册的是什么网站<答:phpwind> 正确答案:phpwind
按"Ctrl+Enter"直接提交