public static function user_update(\ApiParam $params) { $user = self::user_show($params); if ($nickname = $params->nickname) { if (($validNick = \User::isValidNickname($nickname)) != 'Valid') { throw new \Exception($validNick, 523); } if ($nickname != $user->nickname && !\User::isNicknameAvailable($nickname)) { throw new \Exception('用户名已经被注册了', 524); } $user->nickname = $nickname; } foreach (array('email', 'description', '公司名称', '公司介绍') as $key) { if ($params->{$key}) { $user->set($key, $params->{$key}); } } $user->save(); return true; }
private static function updateUserProfile($userId, array $attributes) { $user = new \User(); if ($userId) { $user = $user->load($userId); if (!$user) { throw new \Exception('userId 无效', 9001); } } //昵称 if (isset($attributes['nickname']) && $attributes['nickname'] != null) { $nickname = $attributes['nickname']; if ($user->get('nickname') != $nickname) { $valid = \User::isValidNickname($nickname); if ($valid != 'Valid') { throw new \Exception($valid, 9002); } if (!\User::isNicknameAvailable($nickname)) { throw new \Exception('该用户名已被注册,请尝试其他用户名。', 9003); } $user->set('nickname', $nickname); } } //基本属性 $basicAttributes = array('gender', '家乡', '所在地', '具体地点', 'qq', 'description'); foreach ($basicAttributes as $attri) { if (isset($attributes[$attri]) && $attributes[$attri] != null) { $user->set($attri, $attributes[$attri]); } } //user photo 照片 if (isset($attributes['image_i'])) { if (preg_match('/\\w+\\.\\w+$/', $attributes['image_i'], $m)) { if ($m[0] != $user->get('image')) { $user->set('image', $m[0]); } } } $user->save(); }