/** * 根据用户的游戏ID获取用户信息 * * @param {int} $mid 用户游戏ID * * @return array */ public function getOneById($mid, $inCache = TRUE) { if (!($mid = Helper::uint($mid))) { return array(); } $cacheKey = Core_Keys::getOneById($mid); $userInfo = Loader_Memcached::minfo($mid)->get($cacheKey); $userInfo = is_array($userInfo) ? Values::uncombine(values::getmb(), $userInfo) : array(); //缓存中不存在 if ($userInfo['mid'] != $mid) { $sql = "SELECT * FROM {$this->memberinfo} WHERE mid={$mid} LIMIT 1"; $userInfo = Loader_Mysql::dbmaster()->getOne($sql, MYSQL_ASSOC); //设置缓存 $userInfo['mid'] == $mid && Loader_Memcached::minfo($mid)->set($cacheKey, Values::combine(Values::getmb(), $userInfo), 3 * 24 * 3600); } //如果要取出金币,经验等信息 if ($inCache) { } if ($userInfo['mid'] == $mid) { //頭像個人地址等信息 $aIcon = Core_Member::factory()->getIcon($mid); $userInfo = array_merge($userInfo, $aIcon); //合並數組 } return $userInfo['mid'] == $mid ? $userInfo : array(); }
/** * 移动用户更改个人信息 * @uses ios锄大地 * @param mid ,info * @return true */ public function modUserInfo($mid, $info) { if (!($mid = Helper::uint($mid)) || !is_array($info) || !$info) { return false; } $flag = 0; $cachekey = Core_Keys::getOneById($mid); $aInfo = Member::factory()->getMemberUserInfo($mid); if ($aInfo['mid'] != $mid || !($sitemid = $aInfo['sitemid'])) { //无效用户 return false; } $aInfo['sid'] = $info['sid'] ? Helper::uint($info['sid']) : $aInfo['sid']; $aInfo['mnick'] = $info['mnick'] ? Loader_Mysql::DBMaster()->escape($info['mnick']) : $aInfo['mnick']; $aInfo['sex'] = Helper::uint($info['sex']); $aInfo['hometown'] = Loader_Mysql::DBMaster()->escape($info['hometown']); $tableUserInfo = $this->getUserInfo($mid); $query = "UPDATE {$tableUserInfo} SET mnick = '{$aInfo['mnick']}', hometown = '{$aInfo['hometown']}',sex = {$aInfo['sex']} WHERE mid = '{$mid}' LIMIT 1"; Loader_Mysql::DBMaster()->query($query); //if ($flag = Loader_Mysql::DBMaster()->affectedRows()) //{ return Loader_Memcached::minfo($mid)->set($cachekey, values::combine(values::getArrUsers(), $aInfo), 10 * 24 * 60 * 60); //加入缓存 //} }