Beispiel #1
0
 public static function updateUser($user_id, $data = null)
 {
     $user = User::findOne($user_id);
     $user->scenario = 'settings';
     $profile = $user->profile;
     $oldEmail = $user->email;
     if ($user->load(['User' => $data]) && $user->validate()) {
         if ($user->email != $oldEmail) {
             $user->unconfirmed_email = $user->email;
             $user->email = $oldEmail;
             $token = \Yii::createObject(['class' => Token::className(), 'user_id' => $user->id, 'type' => Token::TYPE_CONFIRM_NEW_EMAIL]);
             $token->save(false);
             $mailer = Yii::createObject(['class' => Mailer::className(), 'reconfirmationSubject' => 'Mail confirmation']);
             $mailer->sendReconfirmationMessage($user, $token);
         }
         if (!$profile) {
             $profile = Yii::createObject(['class' => Profile::className(), 'user_id' => $user->id]);
             $profile->save();
         }
         $profile->load(['Profile' => $data]);
         $profile->save();
         $user->save();
     } else {
         self::error($user);
     }
     return self::clearUserData($user);
 }