diff --git a/application/admin/model/User.php b/application/admin/model/User.php index 822c81b1743d5623f582f1d6d7bb2a64b99045d1..333e457073aa3c0b6b517383ac3e36e682cdb7a1 100644 --- a/application/admin/model/User.php +++ b/application/admin/model/User.php @@ -47,12 +47,13 @@ class User extends Model self::beforeUpdate(function ($row) { $changedata = $row->getChangedData(); - if (isset($changedata['money'])) { - $origin = $row->getOriginData(); + $origin = $row->getOriginData(); + if (isset($changedata['money']) && (float) $changedata['money'] !== (float) $origin['money']) { + MoneyLog::create(['user_id' => $row['id'], 'money' => $changedata['money'] - $origin['money'], 'before' => $origin['money'], 'after' => $changedata['money'], 'memo' => '管理员变更金额']); } - if (isset($changedata['score'])) { - $origin = $row->getOriginData(); + if (isset($changedata['score']) && (int) $changedata['score'] !== (int) $origin['score']) { + ScoreLog::create(['user_id' => $row['id'], 'score' => $changedata['score'] - $origin['score'], 'before' => $origin['score'], 'after' => $changedata['score'], 'memo' => '管理员变更积分']); } }); diff --git a/application/common.php b/application/common.php index fa160030b771c163ecb4ac2a6e3fc262b875d459..27614e5f5b3cfeb627c2cb2c768abd91d6bbe4ff 100755 --- a/application/common.php +++ b/application/common.php @@ -86,8 +86,10 @@ if (!function_exists('cdnurl')) { function cdnurl($url, $domain = false) { $regex = "/^((?:[a-z]+:)?\/\/|data:image\/)(.*)/i"; + $regexDomain = "/^(?:[a-z]+:)?\/\/(.*)/i"; $cdnurl = \think\Config::get('upload.cdnurl'); - $url = preg_match($regex, $url) || ($cdnurl && stripos($url, $cdnurl) === 0) ? $url : $cdnurl . $url; + $url = !is_bool($domain) && preg_match($regexDomain, $domain) ? $domain . $url : $url; + $url = preg_match($regex, $url) || ($cdnurl && stripos($url, $cdnurl) === 0) || $domain === false ? $url : $cdnurl . $url; if ($domain && !preg_match($regex, $url)) { $domain = is_bool($domain) ? request()->domain() : $domain; $url = $domain . $url;