public function reg()
{
$user = new User();
$user->phone = $this->phone;
$user->email = $this->email;
$user->status = $this->status;
$user->setPassword($this->password);
$user->generateAuthKey();
if ($this->scenario === 'emailActivation') {
$user->generateSecretKey();
}
$transaction = Yii::$app->db->beginTransaction();
try {
if ($user->save()) {
$modelProfile = new Profile();
$modelProfile->user_id = $user->id;
if ($modelProfile->save()) {
$transaction->commit();
return RbacHelper::assignRole($user->getId()) ? $user : null;
}
} else {
return false;
}
} catch (Exception $e) {
$transaction->rollBack();
}
}