| @@ -159,7 +159,7 @@ else if ($dopost == 'edituser') { | |||||
| $query = "UPDATE `#@__member` SET send_max='$send_max',email='$email',uname='$uname',sex='$sex',matt='$matt',user_money='$user_money',money='$money',scores='$scores',`rank`='$rank',spacesta='$spacesta',uptime='$uptime',exptime='$exptime'$pwdsql WHERE mid='$id' AND matt<>10 "; | $query = "UPDATE `#@__member` SET send_max='$send_max',email='$email',uname='$uname',sex='$sex',matt='$matt',user_money='$user_money',money='$money',scores='$scores',`rank`='$rank',spacesta='$spacesta',uptime='$uptime',exptime='$exptime'$pwdsql WHERE mid='$id' AND matt<>10 "; | ||||
| $rs = $dsql->ExecuteNoneQuery2($query); | $rs = $dsql->ExecuteNoneQuery2($query); | ||||
| if ($rs == 0) { | if ($rs == 0) { | ||||
| $query = "UPDATE `#@__member` SET email='$email',uname='$uname',sex='$sex',user_money='$user_money',money='$money',scores='$scores',`rank`='$rank',spacesta='$spacesta',uptime='$uptime',exptime='$exptime'$pwdsql WHERE mid='$id' "; | |||||
| $query = "UPDATE `#@__member` SET send_max='$send_max',email='$email',uname='$uname',sex='$sex',user_money='$user_money',money='$money',scores='$scores',`rank`='$rank',spacesta='$spacesta',uptime='$uptime',exptime='$exptime'$pwdsql WHERE mid='$id' "; | |||||
| $rs = $dsql->ExecuteNoneQuery2($query); | $rs = $dsql->ExecuteNoneQuery2($query); | ||||
| if ($rank == 10 || $rank == 100) { | if ($rank == 10 || $rank == 100) { | ||||
| $dsql->ExecuteNoneQuery2("UPDATE `#@__admin` SET `uname`='$uname' WHERE id='$id'"); | $dsql->ExecuteNoneQuery2("UPDATE `#@__admin` SET `uname`='$uname' WHERE id='$id'"); | ||||
| @@ -28,6 +28,15 @@ if ($row['uptime'] > 0 && $row['exptime'] > 0) { | |||||
| } else { | } else { | ||||
| $mhasDay = 0; | $mhasDay = 0; | ||||
| } | } | ||||
| //获取用户投稿剩余次数 | |||||
| $isAdmin = $row['matt'] == 10; | |||||
| $sendtime = GetMemberSendTime($id); | |||||
| if ($row['send_max'] == -1) { | |||||
| $rtimes = '无限'; | |||||
| } else { | |||||
| $rtimes = ($row['send_max'] - $sendtime) > 0? $row['send_max'] - $sendtime : 0; | |||||
| } | |||||
| function GetMemberTypeName($rank) | function GetMemberTypeName($rank) | ||||
| { | { | ||||
| global $dsql; | global $dsql; | ||||
| @@ -38,7 +47,16 @@ function GetMemberTypeName($rank) | |||||
| return $row['membername']; | return $row['membername']; | ||||
| } | } | ||||
| } | } | ||||
| function GetMemberSendTime($mid) | |||||
| { | |||||
| global $dsql; | |||||
| $arr = $dsql->GetOne("SELECT COUNT(*) as dd FROM `#@__arctiny` WHERE mid='{$mid}'"); | |||||
| if (is_array($arr)) { | |||||
| return $arr['dd']; | |||||
| } else { | |||||
| return 0; | |||||
| } | |||||
| } | |||||
| function GetHonor($scores) | function GetHonor($scores) | ||||
| { | { | ||||
| global $dsql; | global $dsql; | ||||
| @@ -113,9 +113,13 @@ | |||||
| <td>投稿限制:</td> | <td>投稿限制:</td> | ||||
| <td> | <td> | ||||
| <input type="text" name="send_max" class="admin-input-xs" value="<?php echo $row['send_max']?>"> | <input type="text" name="send_max" class="admin-input-xs" value="<?php echo $row['send_max']?>"> | ||||
| <span>(0为不能投稿)</span> | |||||
| <span>(0不能投稿,-1无限次)</span> | |||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| <tr> | |||||
| <td>投稿剩余次数:</td> | |||||
| <td><?php echo $rtimes;?>次</td> | |||||
| </tr> | |||||
| <tr> | <tr> | ||||
| <td>资料状况:</td> | <td>资料状况:</td> | ||||
| <td> | <td> | ||||
| @@ -124,4 +124,5 @@ INSERT INTO `#@__sys_payment`(`id`, `code`, `name`, `short_name`, `sortrank`, `c | |||||
| ALTER TABLE `#@__member` ADD COLUMN `user_money` decimal(10, 2) UNSIGNED NULL DEFAULT 0.00 AFTER `send_max`; | ALTER TABLE `#@__member` ADD COLUMN `user_money` decimal(10, 2) UNSIGNED NULL DEFAULT 0.00 AFTER `send_max`; | ||||
| -- 6.2.7 | -- 6.2.7 | ||||
| ALTER TABLE `#@__arctype` ADD COLUMN `apienabled` tinyint UNSIGNED NULL DEFAULT 0 AFTER `smalltypes`,ADD COLUMN `apikey` varchar(64) NULL AFTER `apienabled`; | |||||
| ALTER TABLE `#@__arctype` ADD COLUMN `apienabled` tinyint UNSIGNED NULL DEFAULT 0 AFTER `smalltypes`,ADD COLUMN `apikey` varchar(64) NULL AFTER `apienabled`; | |||||
| ALTER TABLE `#@__member` ADD COLUMN `pmid` INT(8) UNSIGNED NULL DEFAULT NULL AFTER `user_money`; | |||||
| @@ -108,7 +108,6 @@ class MemberLogin | |||||
| var $M_KeepTime; | var $M_KeepTime; | ||||
| var $M_Spacesta; | var $M_Spacesta; | ||||
| var $fields; | var $fields; | ||||
| var $isAdmin; | |||||
| var $M_UpTime; | var $M_UpTime; | ||||
| var $M_ExpTime; | var $M_ExpTime; | ||||
| var $M_HasDay; | var $M_HasDay; | ||||
| @@ -116,10 +115,12 @@ class MemberLogin | |||||
| var $M_Honor = ''; | var $M_Honor = ''; | ||||
| var $M_SendMax = 0; | var $M_SendMax = 0; | ||||
| var $memberCache = 'memberlogin'; | var $memberCache = 'memberlogin'; | ||||
| var $dsql; | |||||
| //php5构造函数 | //php5构造函数 | ||||
| function __construct($kptime = -1, $cache = FALSE) | function __construct($kptime = -1, $cache = FALSE) | ||||
| { | { | ||||
| global $dsql; | global $dsql; | ||||
| $this->dsql = $dsql; | |||||
| if ($kptime == -1) { | if ($kptime == -1) { | ||||
| $this->M_KeepTime = 3600 * 24 * 7; | $this->M_KeepTime = 3600 * 24 * 7; | ||||
| } else { | } else { | ||||
| @@ -129,26 +130,24 @@ class MemberLogin | |||||
| $this->M_ID = $this->GetNum(GetCookie("DedeUserID")); | $this->M_ID = $this->GetNum(GetCookie("DedeUserID")); | ||||
| $this->M_LoginTime = GetCookie("DedeLoginTime"); | $this->M_LoginTime = GetCookie("DedeLoginTime"); | ||||
| $this->fields = array(); | $this->fields = array(); | ||||
| $this->isAdmin = FALSE; | |||||
| if (empty($this->M_ID)) { | if (empty($this->M_ID)) { | ||||
| $this->ResetUser(); | $this->ResetUser(); | ||||
| } else { | } else { | ||||
| $this->M_ID = intval($this->M_ID); | $this->M_ID = intval($this->M_ID); | ||||
| if ($cache) { | if ($cache) { | ||||
| $this->fields = GetCache($this->memberCache, $this->M_ID); | $this->fields = GetCache($this->memberCache, $this->M_ID); | ||||
| if (empty($this->fields)) { | if (empty($this->fields)) { | ||||
| $this->fields = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='{$this->M_ID}' "); | |||||
| $this->fields = $this->dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='{$this->M_ID}' "); | |||||
| } else { | } else { | ||||
| $formcache = TRUE; | $formcache = TRUE; | ||||
| } | } | ||||
| } else { | } else { | ||||
| $this->fields = $dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='{$this->M_ID}' "); | |||||
| $this->fields = $this->dsql->GetOne("SELECT * FROM `#@__member` WHERE mid='{$this->M_ID}' "); | |||||
| } | } | ||||
| if (is_array($this->fields)) { | if (is_array($this->fields)) { | ||||
| //间隔一小时更新一次会员登录时间 | //间隔一小时更新一次会员登录时间 | ||||
| if (time() - $this->M_LoginTime > 3600) { | if (time() - $this->M_LoginTime > 3600) { | ||||
| $dsql->ExecuteNoneQuery("update `#@__member` set logintime='".time()."',loginip='".GetIP()."' WHERE mid='".$this->fields['mid']."';"); | |||||
| $this->dsql->ExecuteNoneQuery("update `#@__member` set logintime='".time()."',loginip='".GetIP()."' WHERE mid='".$this->fields['mid']."';"); | |||||
| PutCookie("DedeLoginTime", time(), $this->M_KeepTime); | PutCookie("DedeLoginTime", time(), $this->M_KeepTime); | ||||
| } | } | ||||
| $this->M_LoginID = $this->fields['userid']; | $this->M_LoginID = $this->fields['userid']; | ||||
| @@ -161,10 +160,9 @@ class MemberLogin | |||||
| $this->M_Rank = $this->fields['rank']; | $this->M_Rank = $this->fields['rank']; | ||||
| $this->M_Spacesta = $this->fields['spacesta']; | $this->M_Spacesta = $this->fields['spacesta']; | ||||
| $sql = "SELECT titles From `#@__scores` WHERE integral<={$this->fields['scores']} ORDER BY integral DESC"; | $sql = "SELECT titles From `#@__scores` WHERE integral<={$this->fields['scores']} ORDER BY integral DESC"; | ||||
| $scrow = $dsql->GetOne($sql); | |||||
| $scrow = $this->dsql->GetOne($sql); | |||||
| $this->fields['honor'] = $scrow['titles']; | $this->fields['honor'] = $scrow['titles']; | ||||
| $this->M_Honor = $this->fields['honor']; | $this->M_Honor = $this->fields['honor']; | ||||
| if ($this->fields['matt'] == 10) $this->isAdmin = TRUE; | |||||
| $this->M_UpTime = $this->fields['uptime']; | $this->M_UpTime = $this->fields['uptime']; | ||||
| $this->M_ExpTime = $this->fields['exptime']; | $this->M_ExpTime = $this->fields['exptime']; | ||||
| $this->M_SendMax = $this->fields['send_max']; | $this->M_SendMax = $this->fields['send_max']; | ||||
| @@ -202,11 +200,11 @@ class MemberLogin | |||||
| */ | */ | ||||
| function Judgemember() | function Judgemember() | ||||
| { | { | ||||
| global $dsql, $cfg_mb_rank; | |||||
| global $cfg_mb_rank; | |||||
| $nowtime = time(); | $nowtime = time(); | ||||
| $mhasDay = $this->M_ExpTime - ceil(($nowtime - $this->M_UpTime) / 3600 / 24) + 1; | $mhasDay = $this->M_ExpTime - ceil(($nowtime - $this->M_UpTime) / 3600 / 24) + 1; | ||||
| if ($mhasDay <= 0) { | if ($mhasDay <= 0) { | ||||
| $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET uptime='0',exptime='0',`rank`='$cfg_mb_rank' WHERE mid='".$this->fields['mid']."';"); | |||||
| $this->dsql->ExecuteNoneQuery("UPDATE `#@__member` SET uptime='0',exptime='0',`rank`='$cfg_mb_rank' WHERE mid='".$this->fields['mid']."';"); | |||||
| } | } | ||||
| return $mhasDay; | return $mhasDay; | ||||
| } | } | ||||
| @@ -236,9 +234,8 @@ class MemberLogin | |||||
| */ | */ | ||||
| function GetUserSpace() | function GetUserSpace() | ||||
| { | { | ||||
| global $dsql; | |||||
| $uid = $this->M_ID; | $uid = $this->M_ID; | ||||
| $row = $dsql->GetOne("SELECT sum(filesize) AS fs FROM `#@__uploads` WHERE mid='$uid';"); | |||||
| $row = $this->dsql->GetOne("SELECT sum(filesize) AS fs FROM `#@__uploads` WHERE mid='$uid';"); | |||||
| return $row['fs']; | return $row['fs']; | ||||
| } | } | ||||
| /** | /** | ||||
| @@ -267,9 +264,8 @@ class MemberLogin | |||||
| */ | */ | ||||
| function UpdateUserTj($field, $uptype = 'add') | function UpdateUserTj($field, $uptype = 'add') | ||||
| { | { | ||||
| global $dsql; | |||||
| $mid = $this->M_ID; | $mid = $this->M_ID; | ||||
| $arr = $dsql->GetOne("SELECT * `#@__member_tj` WHERE mid='$mid' "); | |||||
| $arr = $this->dsql->GetOne("SELECT * `#@__member_tj` WHERE mid='$mid' "); | |||||
| if (!is_array($arr)) { | if (!is_array($arr)) { | ||||
| $arr = array('article' => 0, 'album' => 0, 'archives' => 0, 'homecount' => 0, 'pagecount' => 0, 'feedback' => 0, 'friend' => 0, 'stow' => 0); | $arr = array('article' => 0, 'album' => 0, 'archives' => 0, 'homecount' => 0, 'pagecount' => 0, 'feedback' => 0, 'friend' => 0, 'stow' => 0); | ||||
| } | } | ||||
| @@ -282,8 +278,8 @@ class MemberLogin | |||||
| } | } | ||||
| } | } | ||||
| $inquery = "INSERT INTO `#@__member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`) VALUES ('$mid','$article','$album','$archives','$homecount','$pagecount','$feedback','$friend','$stow'); "; | $inquery = "INSERT INTO `#@__member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`) VALUES ('$mid','$article','$album','$archives','$homecount','$pagecount','$feedback','$friend','$stow'); "; | ||||
| $dsql->ExecuteNoneQuery("DELETE FROM `#@__member_tj` WHERE mid='$mid' "); | |||||
| $dsql->ExecuteNoneQuery($inquery); | |||||
| $this->dsql->ExecuteNoneQuery("DELETE FROM `#@__member_tj` WHERE mid='$mid' "); | |||||
| $this->dsql->ExecuteNoneQuery($inquery); | |||||
| } | } | ||||
| /** | /** | ||||
| * 重置会员信息 | * 重置会员信息 | ||||
| @@ -349,16 +345,15 @@ class MemberLogin | |||||
| /** | /** | ||||
| * 投稿是否被限制 | * 投稿是否被限制 | ||||
| * | * | ||||
| * @return bool | |||||
| * @return array | |||||
| */ | */ | ||||
| function IsSendLimited() | function IsSendLimited() | ||||
| { | { | ||||
| global $dsql; | |||||
| $arr = $dsql->GetOne("SELECT COUNT(*) as dd FROM `#@__arctiny` WHERE mid='{$this->M_ID}'"); | |||||
| if ($this->isAdmin === true ) { | |||||
| return false; | |||||
| } | |||||
| $arr = $this->dsql->GetOne("SELECT COUNT(*) as dd FROM `#@__arctiny` WHERE mid='{$this->M_ID}'"); | |||||
| if (is_array($arr)) { | if (is_array($arr)) { | ||||
| if ($this->M_SendMax < 0) { | |||||
| return false; | |||||
| } | |||||
| if ($arr['dd'] >= $this->M_SendMax) { | if ($arr['dd'] >= $this->M_SendMax) { | ||||
| return true; | return true; | ||||
| } else { | } else { | ||||
| @@ -367,7 +362,6 @@ class MemberLogin | |||||
| } else { | } else { | ||||
| return true; | return true; | ||||
| } | } | ||||
| } | } | ||||
| /** | /** | ||||
| * 把数据库密码转为特定长度 | * 把数据库密码转为特定长度 | ||||
| @@ -407,7 +401,6 @@ class MemberLogin | |||||
| */ | */ | ||||
| function CheckUser(&$loginuser, $loginpwd) | function CheckUser(&$loginuser, $loginpwd) | ||||
| { | { | ||||
| global $dsql; | |||||
| //检测会员名的合法性 | //检测会员名的合法性 | ||||
| $rs = CheckUserID($loginuser, '会员名', FALSE); | $rs = CheckUserID($loginuser, '会员名', FALSE); | ||||
| //会员名不正确时返回验证错误,原登录名通过引用返回错误提示信息 | //会员名不正确时返回验证错误,原登录名通过引用返回错误提示信息 | ||||
| @@ -416,7 +409,7 @@ class MemberLogin | |||||
| return '0'; | return '0'; | ||||
| } | } | ||||
| //matt=10 是管理员关连的前台帐号,为了安全起见,这个帐号只能从后台登录,不能直接从前台登录 | //matt=10 是管理员关连的前台帐号,为了安全起见,这个帐号只能从后台登录,不能直接从前台登录 | ||||
| $row = $dsql->GetOne("SELECT mid,matt,pwd,pwd_new,logintime FROM `#@__member` WHERE userid LIKE '$loginuser' "); | |||||
| $row = $this->dsql->GetOne("SELECT mid,matt,pwd,pwd_new,logintime FROM `#@__member` WHERE userid LIKE '$loginuser' "); | |||||
| if (is_array($row)) { | if (is_array($row)) { | ||||
| if (!empty($row['pwd_new']) && !password_verify($loginpwd, $row['pwd_new'])) { | if (!empty($row['pwd_new']) && !password_verify($loginpwd, $row['pwd_new'])) { | ||||
| $this->loginError($loginuser); | $this->loginError($loginuser); | ||||
| @@ -429,7 +422,7 @@ class MemberLogin | |||||
| //升级密码 | //升级密码 | ||||
| $newpwd = password_hash($loginpwd, PASSWORD_BCRYPT); | $newpwd = password_hash($loginpwd, PASSWORD_BCRYPT); | ||||
| $inquery = "UPDATE `#@__member` SET pwd='',pwd_new='{$newpwd}' WHERE mid='".$row['mid']."'"; | $inquery = "UPDATE `#@__member` SET pwd='',pwd_new='{$newpwd}' WHERE mid='".$row['mid']."'"; | ||||
| $dsql->ExecuteNoneQuery($inquery); | |||||
| $this->dsql->ExecuteNoneQuery($inquery); | |||||
| } | } | ||||
| //管理员帐号不允许从前台登录 | //管理员帐号不允许从前台登录 | ||||
| if ($row['matt'] == 10) { | if ($row['matt'] == 10) { | ||||
| @@ -462,7 +455,6 @@ class MemberLogin | |||||
| */ | */ | ||||
| function getLoginError($loginuser) | function getLoginError($loginuser) | ||||
| { | { | ||||
| global $dsql; | |||||
| $rs = CheckUserID($loginuser, '会员名', FALSE); | $rs = CheckUserID($loginuser, '会员名', FALSE); | ||||
| //会员名不正确时返回验证错误,原登录名通过引用返回错误提示信息 | //会员名不正确时返回验证错误,原登录名通过引用返回错误提示信息 | ||||
| if ($rs != 'ok') { | if ($rs != 'ok') { | ||||
| @@ -471,7 +463,7 @@ class MemberLogin | |||||
| if (!TableHasField("#@__member", "loginerr")) { | if (!TableHasField("#@__member", "loginerr")) { | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| $row = $dsql->GetOne("SELECT loginerr,logintime FROM `#@__member` WHERE userid LIKE '$loginuser'"); | |||||
| $row = $this->dsql->GetOne("SELECT loginerr,logintime FROM `#@__member` WHERE userid LIKE '$loginuser'"); | |||||
| if (is_array($row)) { | if (is_array($row)) { | ||||
| //1分钟内如果输错3次则需要验证码 | //1分钟内如果输错3次则需要验证码 | ||||
| return (time() - (int)$row['logintime']) < 60 ? (int)$row['loginerr'] : 0; | return (time() - (int)$row['logintime']) < 60 ? (int)$row['loginerr'] : 0; | ||||
| @@ -486,7 +478,6 @@ class MemberLogin | |||||
| */ | */ | ||||
| function loginError($loginuser) | function loginError($loginuser) | ||||
| { | { | ||||
| global $dsql; | |||||
| $rs = CheckUserID($loginuser, '会员名', FALSE); | $rs = CheckUserID($loginuser, '会员名', FALSE); | ||||
| //会员名不正确时返回验证错误,原登录名通过引用返回错误提示信息 | //会员名不正确时返回验证错误,原登录名通过引用返回错误提示信息 | ||||
| if ($rs != 'ok') { | if ($rs != 'ok') { | ||||
| @@ -494,7 +485,7 @@ class MemberLogin | |||||
| } | } | ||||
| $loginip = GetIP(); | $loginip = GetIP(); | ||||
| $inquery = "UPDATE `#@__member` SET loginip='$loginip',logintime='".time()."',loginerr=loginerr+1 WHERE userid='".$loginuser."'"; | $inquery = "UPDATE `#@__member` SET loginip='$loginip',logintime='".time()."',loginerr=loginerr+1 WHERE userid='".$loginuser."'"; | ||||
| $dsql->ExecuteNoneQuery($inquery); | |||||
| $this->dsql->ExecuteNoneQuery($inquery); | |||||
| } | } | ||||
| /** | /** | ||||
| * 保存会员cookie | * 保存会员cookie | ||||
| @@ -506,16 +497,16 @@ class MemberLogin | |||||
| */ | */ | ||||
| function PutLoginInfo($uid, $logintime = 0) | function PutLoginInfo($uid, $logintime = 0) | ||||
| { | { | ||||
| global $cfg_login_adds, $dsql; | |||||
| global $cfg_login_adds; | |||||
| //登录添加积分(上一次登录时间必须大于两小时) | //登录添加积分(上一次登录时间必须大于两小时) | ||||
| if (time() - $logintime > 7200 && $cfg_login_adds > 0) { | if (time() - $logintime > 7200 && $cfg_login_adds > 0) { | ||||
| $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `scores`=`scores`+{$cfg_login_adds} WHERE mid='$uid' "); | |||||
| $this->dsql->ExecuteNoneQuery("UPDATE `#@__member` SET `scores`=`scores`+{$cfg_login_adds} WHERE mid='$uid' "); | |||||
| } | } | ||||
| $this->M_ID = $uid; | $this->M_ID = $uid; | ||||
| $this->M_LoginTime = time(); | $this->M_LoginTime = time(); | ||||
| $loginip = GetIP(); | $loginip = GetIP(); | ||||
| $inquery = "UPDATE `#@__member` SET loginip='$loginip',logintime='".$this->M_LoginTime."',loginerr=0 WHERE mid='".$uid."'"; | $inquery = "UPDATE `#@__member` SET loginip='$loginip',logintime='".$this->M_LoginTime."',loginerr=0 WHERE mid='".$uid."'"; | ||||
| $dsql->ExecuteNoneQuery($inquery); | |||||
| $this->dsql->ExecuteNoneQuery($inquery); | |||||
| if ($this->M_KeepTime > 0) { | if ($this->M_KeepTime > 0) { | ||||
| PutCookie('DedeUserID', $uid, $this->M_KeepTime); | PutCookie('DedeUserID', $uid, $this->M_KeepTime); | ||||
| PutCookie('DedeLoginTime', $this->M_LoginTime, $this->M_KeepTime); | PutCookie('DedeLoginTime', $this->M_LoginTime, $this->M_KeepTime); | ||||
| @@ -526,11 +517,10 @@ class MemberLogin | |||||
| } | } | ||||
| function GetMemberTypeName() | function GetMemberTypeName() | ||||
| { | { | ||||
| global $dsql; | |||||
| if ($this->M_Rank == 0) { | if ($this->M_Rank == 0) { | ||||
| return '注册会员'; | return '注册会员'; | ||||
| } else { | } else { | ||||
| $row = $dsql->GetOne("SELECT membername FROM `#@__arcrank` WHERE `rank`='".$this->M_Rank."'"); | |||||
| $row = $this->dsql->GetOne("SELECT membername FROM `#@__arcrank` WHERE `rank`='".$this->M_Rank."'"); | |||||
| return $row['membername']; | return $row['membername']; | ||||
| } | } | ||||
| } | } | ||||
| @@ -538,18 +528,17 @@ class MemberLogin | |||||
| * 获得会员目前的状态 | * 获得会员目前的状态 | ||||
| * | * | ||||
| * @access public | * @access public | ||||
| * @param object $dsql 数据库连接 | |||||
| * @return string | * @return string | ||||
| */ | */ | ||||
| function GetSta($dsql) | |||||
| function GetSta() | |||||
| { | { | ||||
| $sta = ''; | $sta = ''; | ||||
| if ($this->M_Rank == 0) { | if ($this->M_Rank == 0) { | ||||
| $sta .= "您目前等级是:注册会员"; | $sta .= "您目前等级是:注册会员"; | ||||
| } else { | } else { | ||||
| $row = $dsql->GetOne("SELECT membername FROM `#@__arcrank` WHERE `rank`='".$this->M_Rank."'"); | |||||
| $row = $this->dsql->GetOne("SELECT membername FROM `#@__arcrank` WHERE `rank`='".$this->M_Rank."'"); | |||||
| $sta .= "您目前等级是:".$row['membername']; | $sta .= "您目前等级是:".$row['membername']; | ||||
| $rs = $dsql->GetOne("SELECT id FROM `#@__admin` WHERE userid='".$this->M_LoginID."'"); | |||||
| $rs = $this->dsql->GetOne("SELECT id FROM `#@__admin` WHERE userid='".$this->M_LoginID."'"); | |||||
| if (!is_array($rs)) { | if (!is_array($rs)) { | ||||
| if ($this->M_Rank > 10 && $this->M_HasDay > 0) $sta .= ",剩余<span class='text-primary'>".$this->M_HasDay."</span>天"; | if ($this->M_Rank > 10 && $this->M_HasDay > 0) $sta .= ",剩余<span class='text-primary'>".$this->M_HasDay."</span>天"; | ||||
| elseif ($this->M_Rank > 10) $sta .= ",<span class='text-danger'>会员已到期</span>"; | elseif ($this->M_Rank > 10) $sta .= ",<span class='text-danger'>会员已到期</span>"; | ||||
| @@ -29,7 +29,7 @@ $typeid = isset($typeid) && is_numeric($typeid) ? $typeid : 0; | |||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if (empty($formhtml)) $formhtml = 0; | if (empty($formhtml)) $formhtml = 0; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -28,7 +28,7 @@ $aid = isset($aid) && is_numeric($aid) ? $aid : 0; | |||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if (empty($formhtml)) $formhtml = 0; | if (empty($formhtml)) $formhtml = 0; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -20,7 +20,7 @@ $typeid = isset($typeid) && is_numeric($typeid) ? $typeid : 0; | |||||
| $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | ||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -19,7 +19,7 @@ $aid = isset($aid) && is_numeric($aid) ? $aid : 0; | |||||
| $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | ||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -20,7 +20,7 @@ $typeid = isset($typeid) && is_numeric($typeid) ? $typeid : 0; | |||||
| $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | ||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -19,7 +19,7 @@ $aid = isset($aid) && is_numeric($aid) ? $aid : 0; | |||||
| $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | ||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -20,7 +20,7 @@ $typeid = isset($typeid) && is_numeric($typeid) ? $typeid : 0; | |||||
| $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | ||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -19,7 +19,7 @@ $aid = isset($aid) && is_numeric($aid) ? $aid : 0; | |||||
| $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | $mtypesid = isset($mtypesid) && is_numeric($mtypesid) ? $mtypesid : 0; | ||||
| $menutype = 'content'; | $menutype = 'content'; | ||||
| if ($cfg_ml->IsSendLimited()) { | if ($cfg_ml->IsSendLimited()) { | ||||
| ShowMsg("投稿失败,每天次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>,需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| ShowMsg("投稿失败,投稿限定次数<span class='text-primary'>{$cfg_ml->M_SendMax}次</span>(剩余0次),需要增加次数,请联系网站管理员", "-1", "0", 5000); | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| if (empty($dopost)) { | if (empty($dopost)) { | ||||
| @@ -207,6 +207,65 @@ if ($fmdo == 'sendMail') { | |||||
| ShowMsg("已退出登录", "index.php", 0, 2000); | ShowMsg("已退出登录", "index.php", 0, 2000); | ||||
| exit(); | exit(); | ||||
| } | } | ||||
| } else if ($fmdo == 'purl'){ | |||||
| require_once(DEDEINC.'/libraries/oxwindow.class.php'); | |||||
| CheckRank(0, 0); | |||||
| $row = $dsql->GetOne("SELECT count(*) as dd FROM `#@__member` WHERE `pmid`='{$cfg_ml->M_ID}' "); | |||||
| $msg = "您已经邀请了{$row['dd']}人: | |||||
| <div class='my-3 bg-white'> | |||||
| <div class='media text-muted pt-3'> | |||||
| <svg class='bd-placeholder-img mr-2 rounded' width='32' height='32' xmlns='http://www.w3.org/2000/svg' role='img' aria-label='Placeholder: 32x32' preserveAspectRatio='xMidYMid slice' focusable='false'><title>Placeholder</title><rect width='100%' height='100%' fill='green'></rect><text x='50%' y='50%' fill='green' dy='.3em'>32x32</text></svg> | |||||
| <div class='media-body pb-3 mb-0 small lh-125 border-bottom border-gray'> | |||||
| <div class='d-flex justify-content-between align-items-center w-100'> | |||||
| <strong class='text-gray-dark'>链接邀请</strong> | |||||
| <a href='javascript:Copylink()'>复制链接</a> | |||||
| </div> | |||||
| <span class='d-block'>复制链接分享给其他人,对方通过链接注册后双方均可获得{$cfg_userad_adds}积分<span id='text' style='font-size:0'>{$cfg_basehost}/user/index_do.php?fmdo=user&dopost=regnew&pid={$cfg_ml->M_LoginID}</span></span> | |||||
| </div> | |||||
| </div> | |||||
| <div class='media text-muted pt-3'> | |||||
| <svg class='bd-placeholder-img mr-2 rounded' width='32' height='32' xmlns='http://www.w3.org/2000/svg' role='img' aria-label='Placeholder: 32x32' preserveAspectRatio='xMidYMid slice' focusable='false'><title>Placeholder</title><rect width='100%' height='100%' fill='#007bff'></rect><text x='50%' y='50%' fill='#007bff' dy='.3em'>32x32</text></svg> | |||||
| <div class='media-body pb-3 mb-0 small lh-125 border-bottom border-gray'> | |||||
| <div class='d-flex justify-content-between align-items-center w-100'> | |||||
| <strong class='text-gray-dark'>二维码邀请</strong> | |||||
| <a href='javascript:ShowQrcode()'>查看二维码</a> | |||||
| </div> | |||||
| <span class='d-block'>分享二维码到移动设备,通过二维码扫码注册,双方均可获得{$cfg_userad_adds}积分</span> | |||||
| </div> | |||||
| </div> | |||||
| <div><a href='index.php' class='btn btn-outline-success btn-sm mt-3'>返回</a></div> | |||||
| </div> | |||||
| <div id='qrcode' style='margin:15px 0;width:200px;height:200px;display:none;margin:0 auto'></div> | |||||
| <script type=\"text/javascript\">var qrcode = new QRCode(document.getElementById(\"qrcode\"), { | |||||
| width : 200, | |||||
| height : 200, | |||||
| correctLevel : 3 | |||||
| });qrcode.makeCode('{$cfg_basehost}/user/index_do.php?fmdo=user&dopost=regnew&pid={$cfg_ml->M_LoginID}');</script> | |||||
| <script> | |||||
| function Copylink() { | |||||
| var val = document.getElementById('text'); | |||||
| window.getSelection().selectAllChildren(val); | |||||
| document.execCommand(\"Copy\"); | |||||
| ShowMsg(\"复制推广链接成功\"); | |||||
| } | |||||
| function ShowQrcode(){ | |||||
| ShowMsg(document.getElementById('qrcode').innerHTML); | |||||
| } | |||||
| </script> | |||||
| <style> | |||||
| .modal-body img{ | |||||
| margin:0 auto; | |||||
| } | |||||
| </style> | |||||
| "; | |||||
| $wintitle = "邀请好友赚积分"; | |||||
| $wecome_info = " "; | |||||
| $win = new OxWindow(); | |||||
| $win->AddMsgItem($msg); | |||||
| $winform = $win->GetWindow("hand", " ", false); | |||||
| $win->Display(DEDEMEMBER."/templets/win_templet.htm"); | |||||
| exit; | |||||
| } else { | } else { | ||||
| ShowMsg("本页面禁止返回", "index.php"); | ShowMsg("本页面禁止返回", "index.php"); | ||||
| } | } | ||||
| @@ -28,6 +28,10 @@ if ($step == 1) { | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| $userid = $uname = trim($userid); | $userid = $uname = trim($userid); | ||||
| $pid = HtmlReplace($pid, 1); | |||||
| //推广pid | |||||
| $pRow = $dsql->GetOne("SELECT mid FROM `#@__member` WHERE userid LIKE '$pid'"); | |||||
| $pMid = isset($pRow['mid'])? intval($pRow['mid']) : 0; | |||||
| $pwd = trim($userpwd); | $pwd = trim($userpwd); | ||||
| $pwdc = trim($userpwdok); | $pwdc = trim($userpwdok); | ||||
| $rs = CheckUserID($userid, '会员名'); | $rs = CheckUserID($userid, '会员名'); | ||||
| @@ -63,6 +67,9 @@ if ($step == 1) { | |||||
| $dfmoney = $dfrank['money']; | $dfmoney = $dfrank['money']; | ||||
| $dfscores = $dfrank['scores']; | $dfscores = $dfrank['scores']; | ||||
| } | } | ||||
| if ($pMid > 0) { | |||||
| $dfscores = $dfscores + $cfg_userad_adds; | |||||
| } | |||||
| $jointime = time(); | $jointime = time(); | ||||
| $logintime = time(); | $logintime = time(); | ||||
| $joinip = GetIP(); | $joinip = GetIP(); | ||||
| @@ -76,7 +83,7 @@ if ($step == 1) { | |||||
| } | } | ||||
| $mtype = '个人'; | $mtype = '个人'; | ||||
| $spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0); | $spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0); | ||||
| $inQuery = "INSERT INTO `#@__member` (`mtype` ,`userid` ,`$pp`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip`) VALUES ('$mtype','$userid','$pwd','$uname','','10','$dfmoney','','$dfscores','0','$spaceSta','','','','$jointime','$joinip','$logintime','$loginip'); "; | |||||
| $inQuery = "INSERT INTO `#@__member` (`mtype` ,`userid` ,`$pp`,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip`, `pmid`) VALUES ('$mtype','$userid','$pwd','$uname','','10','$dfmoney','','$dfscores','0','$spaceSta','','','','$jointime','$joinip','$logintime','$loginip', '$pMid'); "; | |||||
| if ($dsql->ExecuteNoneQuery($inQuery)) { | if ($dsql->ExecuteNoneQuery($inQuery)) { | ||||
| $mid = $dsql->GetLastID(); | $mid = $dsql->GetLastID(); | ||||
| //写入默认会员详细资料 | //写入默认会员详细资料 | ||||
| @@ -98,6 +105,9 @@ if ($step == 1) { | |||||
| //模拟登录 | //模拟登录 | ||||
| $cfg_ml = new MemberLogin(7 * 3600); | $cfg_ml = new MemberLogin(7 * 3600); | ||||
| $rs = $cfg_ml->CheckUser($userid, $userpwd); | $rs = $cfg_ml->CheckUser($userid, $userpwd); | ||||
| if ($pMid > 0) { | |||||
| $dsql->ExecuteNoneQuery("UPDATE `#@__member` SET scores=scores+{$cfg_userad_adds} WHERE mid='$pMid'"); | |||||
| } | |||||
| ShowMsg('操作成功,请重新登录系统', 'index.php'); | ShowMsg('操作成功,请重新登录系统', 'index.php'); | ||||
| exit; | exit; | ||||
| } else { | } else { | ||||
| @@ -105,6 +115,7 @@ if ($step == 1) { | |||||
| exit(); | exit(); | ||||
| } | } | ||||
| } | } | ||||
| $pid = HtmlReplace($pid, 1); | |||||
| require_once(DEDEMEMBER."/templets/reg-new.htm"); | require_once(DEDEMEMBER."/templets/reg-new.htm"); | ||||
| } else { | } else { | ||||
| if (!$cfg_ml->IsLogin()) { | if (!$cfg_ml->IsLogin()) { | ||||
| @@ -23,7 +23,7 @@ | |||||
| </ol> | </ol> | ||||
| <span class="navbar-text"><a href="javascript:history.back(-1);" class="btn btn-outline-success btn-sm">返回</a></span> | <span class="navbar-text"><a href="javascript:history.back(-1);" class="btn btn-outline-success btn-sm">返回</a></span> | ||||
| </nav> | </nav> | ||||
| <div class="alert alert-success"><?php echo $cfg_ml->GetSta($dsql);?></div> | |||||
| <div class="alert alert-success"><?php echo $cfg_ml->GetSta();?></div> | |||||
| <?php if ($cfg_money_scores > 0) {?> | <?php if ($cfg_money_scores > 0) {?> | ||||
| <?php $canCav = floor($cfg_ml->fields['scores'] / $cfg_money_scores);?> | <?php $canCav = floor($cfg_ml->fields['scores'] / $cfg_money_scores);?> | ||||
| <div class="pb-3"> | <div class="pb-3"> | ||||
| @@ -61,6 +61,10 @@ | |||||
| <div class="bg-light user-meter rounded mb-2 p-4 py-3"><a href="<?php echo $cfg_memberurl;?>/edit_baseinfo.php"><i class="fa fa fa-pencil-square"></i></a></div> | <div class="bg-light user-meter rounded mb-2 p-4 py-3"><a href="<?php echo $cfg_memberurl;?>/edit_baseinfo.php"><i class="fa fa fa-pencil-square"></i></a></div> | ||||
| <a href="<?php echo $cfg_memberurl;?>/edit_baseinfo.php">资料修改</a> | <a href="<?php echo $cfg_memberurl;?>/edit_baseinfo.php">资料修改</a> | ||||
| </li> | </li> | ||||
| <li class="col" data-tags="space align distribute"> | |||||
| <div class="bg-light user-meter rounded mb-2 p-4 py-3"><a href="<?php echo $cfg_memberurl;?>/index_do.php?fmdo=purl"><i class="fa fa fa-share"></i></a></div> | |||||
| <a href="<?php echo $cfg_memberurl;?>/index_do.php?fmdo=purl">推广链接</a> | |||||
| </li> | |||||
| </ul> | </ul> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -21,6 +21,7 @@ | |||||
| <input type="hidden" value="regbase" name="dopost"> | <input type="hidden" value="regbase" name="dopost"> | ||||
| <input type="hidden" value="1" name="step"> | <input type="hidden" value="1" name="step"> | ||||
| <input type="hidden" value="个人" name="mtype"> | <input type="hidden" value="个人" name="mtype"> | ||||
| <input type="hidden" value="<?php echo $pid;?>" name="pid"> | |||||
| <div class="form-group"> | <div class="form-group"> | ||||
| <label for="iptUserid">会员账号</label> | <label for="iptUserid">会员账号</label> | ||||
| <input type="text" name="userid" id="iptUserid" class="form-control" placeholder="请输入会员账号"> | <input type="text" name="userid" id="iptUserid" class="form-control" placeholder="请输入会员账号"> | ||||