|
|
这个插件我不是原著,只是修改自Shiyonggang和aileenguan! 主要是解决时间的问题,把缓存方式换成直接读取数据库,这样就不会出现以前所发生的奖励发贴错误! 这个只是测试版,希望大家能提出问题噢! 安装方法一样:下载解压缩之后文件放到根目录下,修改index.php,在require_once('global.php');下面加一句require_once('salary.php');即可,一切就这么简单。 新版本salary.php的代码 - <?
- /**
- 自动发放灌水奖金插件,适用于PW3.0.1 PW4.3 PW4.3.2等各个版本
- 作者:aileenguan [url]http://www.mrguan.com[/url]
- 更新修改: 来自马来西亚--MyForum论坛jesscgc更新于06-08-13
- 更新:直接读取数据库,解决缓存的问题!
- **/
- require_once("global.php");
- $cachefile = "data/bbscache/ifsalary.php";
- $j=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]',rvrc=rvrc+'$rvrclevel[$num]', credit=credit+'$creditlevel[$num]' where uid='$memberid'"); //增加金钱+威望+贡献值
- $num=$num+1;
- $adminlog.="第{$num}名:{$membername}<br>奖励金钱:{$moneylevel[$num-1]},奖励威望:{$rvrclevel[$num-1]}, 奖励贡献值:{$creditlevel[$num-1]}<br><br>";
- $subject="第{$num}名的灌水奖金发放!"; //短信标题
- $timestamp=time();
- $sendmessage="由于您在{$tt}日所发的贴子获得了$db_bbsname灌水第{$num}名,奖励金钱{$moneylevel[$num-1]},奖励威望{$rvrclevel[$num-1]},奖励贡献值{$creditlevel[$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);
- }
- ?>
注意:8.1=5今天又改了一点东西噢!测试成功了[ 此贴被jesscgc在2006-08-15 11:07重新编辑 ]
|