本文整理汇总了PHP中app\models\Profile::loadPostAndValidate方法的典型用法代码示例。如果您正苦于以下问题:PHP Profile::loadPostAndValidate方法的具体用法?PHP Profile::loadPostAndValidate怎么用?PHP Profile::loadPostAndValidate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\models\Profile
的用法示例。
在下文中一共展示了Profile::loadPostAndValidate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionLoginCallback
/**
* Login/register callback via email
*/
public function actionLoginCallback($token, $jwtCookie = true)
{
/** @var User $user */
// check token and log user in directly
$userToken = UserToken::findByToken($token, UserToken::TYPE_EMAIL_LOGIN);
if (!$userToken) {
return ["error" => "Invalid token"];
}
// log user in directly
$rememberMe = $userToken->data;
$user = $userToken->user;
if ($user) {
$userToken->delete();
return ["success" => $this->generateAuthSuccess($user, $rememberMe, $jwtCookie)];
}
// check for post data (for registering)
$user = new User();
$profile = new Profile();
if (!$user->loadPost()) {
return ["success" => true, "email" => $userToken->data];
}
// ensure that email is taken from the $userToken (NOT from user input)
$user->email = $userToken->data;
$rememberMe = 1;
// load profile, validate, and register
$userValidate = $user->validate();
$profileValidate = $profile->loadPostAndValidate();
if ($userValidate && $profileValidate) {
$user->setRegisterAttributes(Role::ROLE_USER, User::STATUS_ACTIVE)->save();
$profile->setUser($user->id)->save();
$userToken->delete();
return ["success" => $this->generateAuthSuccess($user, $rememberMe, $jwtCookie)];
} else {
$errors = array_merge($user->errors, $profile->errors);
return ["errors" => $errors];
}
}