Example #1
0
 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;
 }
Example #2
0
 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();
 }