论坛风格切换切换到宽版
  • 5110阅读
  • 16回复

[分享][修正的]自动奖励每日发贴最高的会员插件 [复制链接]

上一主题 下一主题
离线romeo1981
 

发帖
470
金钱
7
威望
171
只看楼主 倒序阅读 使用道具 楼主  发表于: 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
发帖
9
金钱
175
威望
0
只看该作者 沙发  发表于: 2006-08-22
顶楼主

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

发帖
470
金钱
7
威望
171
只看该作者 板凳  发表于: 2006-08-22
引用第1楼oscator2006-08-22 03:21发表的“”:
顶楼主
好东西
刚才安装了下
怎么在首页显示呢?     就像你论坛下面的那个发贴状元


发帖状元是社区明星的插件阿,你可以在论坛搜索以下相关帖子
离线dsz_lyh
发帖
24
金钱
176
威望
0
只看该作者 3楼 发表于: 2006-08-22
好资料,收藏
离线gogolala
发帖
1104
金钱
461
威望
57
只看该作者 4楼 发表于: 2006-08-22
不错,收藏
离线tzbbs
发帖
53
金钱
181
威望
0
只看该作者 5楼 发表于: 2006-08-22
怪不得。我的都是早上六、七点钟。发奖励的
离线汉川水缘

发帖
4187
金钱
5
威望
377
只看该作者 6楼 发表于: 2006-08-22
好!
离线tzbbs
发帖
53
金钱
181
威望
0
只看该作者 7楼 发表于: 2006-08-24
还是不行。每次都是早上7点左右发奖金,而且发的都是当天的奖金
离线romeo1981

发帖
470
金钱
7
威望
171
只看该作者 8楼 发表于: 2006-08-24
引用第7楼tzbbs2006-08-24 07:18发表的“”:
还是不行。每次都是早上7点左右发奖金,而且发的都是当天的奖金



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

发帖
14124
金钱
3336
威望
466
只看该作者 9楼 发表于: 2006-08-24
顶一吧!
离线tzbbs
发帖
53
金钱
181
威望
0
只看该作者 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");//标志位
$timestamp=time();

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

require_once($cachefile);
if($timestamp<$postdatc && $ifsend==1){
$cc="<?\n";
$cc.="\$ifsend=0;\n";
$cc.="?>";
writeover($cachefile,$cc);
}
//判断日期,如果过了今天,且奖金尚未发放.则开始发放程序.
if($timestamp>$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}名的灌水奖金发放!"; //短信标题
  $timestamp=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','$timestamp','$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}日的灌水奖金发放记录!";
  $timestamp=time();
  $sendmessage=$adminlog;
  $db->update("INSERT INTO pw_msg (touid,fromuid,username,type,ifnew,title,mdate,content) VALUES ('$adminid','','System','rebox','1','$subject','$timestamp','$sendmessage')");
      $db->query("UPDATE pw_members SET newpm=1 where uid='$adminid'");
  }
  $cc="<?\n";
  $cc.="\$ifsend=1;\n";
  $cc.="?>";
  writeover($cachefile,$cc);
}
?>
离线romeo1981

发帖
470
金钱
7
威望
171
只看该作者 11楼 发表于: 2006-08-25
楼上代码没有错啊,哦~对了把$tt=date(Y年n月j);括号中间加引号$tt=date("Y年n月j");
离线romeo1981

发帖
470
金钱
7
威望
171
只看该作者 12楼 发表于: 2006-09-07
好久没有来了,,毛个泡泡
离线romeo1981

发帖
470
金钱
7
威望
171
只看该作者 13楼 发表于: 2006-09-13
还是没有人顶我啊
离线romeo1981

发帖
470
金钱
7
威望
171
只看该作者 14楼 发表于: 2006-09-29
10楼,因为论坛现在没有计划任务,所以,需要有访客访问你的空间,也就是要访问你的index.php,这个文件才有作用,不然他自己不会准时运行的。所以这个也是程序为什么会把判断时间设置为23:00:00的问题
快速回复
限80 字节
温馨提示:欢迎交流讨论,请勿纯表情、纯引用!
 
上一个 下一个