POST TIME:2020-03-28 23:47
織夢(mèng)CMS是一個(gè)強(qiáng)大的內(nèi)容管理系統(tǒng),網(wǎng)站的功能模塊也相當(dāng)豐富。最近發(fā)現(xiàn)織夢(mèng)CMS的會(huì)員每天登陸都會(huì)加分,但有一個(gè)BUG(就是每次登陸都會(huì)加會(huì)),于是我設(shè)想通過(guò)修改讓織夢(mèng)CMS的網(wǎng)站會(huì)員每天登陸只加一次分。我構(gòu)思是:先先檢測(cè)當(dāng)前時(shí)間與上次登陸日期是否為同一天?如果是就不加積分。
實(shí)現(xiàn)如果上次登陸日期與當(dāng)前登陸日期不相等就加積分。
具體修改代碼為:include文件夾下memberlogin.class.php文件
具體代碼大概在370行
原先代碼
//登錄增加積分(上一次登錄時(shí)間必須大于兩小時(shí))
if(time() - $logintime > 7200 && $cfg_login_adds > 0)
{
$dsql->ExecuteNoneQuery("Update `dede_member` set `scores`=`scores`+{$cfg_login_adds} where mid='$uid' ");
}
$this->M_ID = $uid;
$this->M_LoginTime = time();
修改為:
//登錄增加積分(每天登陸加一次積分)
$row = $dsql->GetOne("SELECT logintime FROM dede_member WHERE mid='$uid' ");
$logintime = $row['logintime'];
$timel = GetDateMk($logintime);
$now = GetDateMk(time());
if($timel!=$now)
{
$dsql->ExecuteNoneQuery("Update `dede_member` set `scores`=`scores`+{$cfg_login_adds} where mid='$uid' ");
}
$nowtime = GetDateTimeMk(time());
$logint = GetMkTime($nowtime);
$dsql->ExecuteNoneQuery("Update dede_member set logintime='$logint' where mid='$uid' ");
$this->M_ID = $uid;
$this->M_LoginTime = time();
因?yàn)榘l(fā)現(xiàn)dede 本身記錄登陸時(shí)間不準(zhǔn) 就加了個(gè)修改登陸時(shí)間的語(yǔ)句,用這種笨方法實(shí)現(xiàn)了。
