/** * 用戶完成新手教程更新 * @param $mid * @param $param 要更新的參數 */ public function updateUserParam($mid, $param = array()) { if (!($mid = Helper::uint($mid))) { return false; } $update = ""; if (isset($param['mtaskcount'])) { $update .= ",mtaskcount=mtaskcount+1"; } if ($update) { $update = substr($update, 1); $query = "UPDATE {$this->members} SET {$update} WHERE mid={$mid} LIMIT 1"; Loader_Mysql::dbmaster()->query($query); if (Loader_Mysql::dbmaster()->affectedRows()) { //更新 cache $aUser = $this->getOneById($mid, false); $aUser['mtaskcount'] += 1; $cacheKey = Core_Keys::getOneById($mid); $flag = Loader_Memcached::minfo($mid)->set($cacheKey, Values::combine(Values::getmb(), $aUser), 10 * 24 * 3600); } else { $flag = false; } } return $flag; }
/** * 用户资料更新 * @param int $mid * @param array $fields **/ public function updateInfo($mid, $fields = array()) { $update = ""; foreach ($fields as $key => $val) { if (is_null($val)) { continue; } $update .= $key . "='" . $val . "',"; } $update = substr($update, 0, -1); $sql = "UPDATE {$this->memberinfo} SET {$update} WHERE mid={$mid} LIMIT 1"; $flag = Loader_Mysql::dbmaster()->query($sql); if ($flag) { //更新成功 更新缓存 $aUser = Member::factory()->getOneById($mid, false); foreach ($fields as $key => $val) { if (isset($aUser[$key])) { $aUser[$key] = $val; } } //更新缓存 $cacheKey = Core_Keys::getOneById($mid); return Loader_Memcached::minfo($mid)->set($cacheKey, Values::combine(Values::getmb(), $aUser), 3 * 24 * 3600); } return false; }
/** * 移动用户更改个人信息 * @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); //加入缓存 //} }