private function register(array $data)
{
$user = new User(['scenario' => 'signup']);
foreach ($data as $key => $value) {
if ($key == 'userPassword') {
$user->setPassword(preg_replace('/\\{[a-zA-Z\\d]+\\}/', '', $value[0]));
}
if (isset(self::$_configs['attributesMap']) == true && is_array(self::$_configs['attributesMap']) == true) {
if (isset(self::$_configs['attributesMap'][$key]) == true && is_string(self::$_configs['attributesMap'][$key]) == true) {
$field = self::$_configs['attributesMap'][$key];
$user->{$field} = $value[0];
unset($field);
}
} else {
if (is_string($key) == true) {
$user->{$key} = $value[0];
}
}
unset($value);
}
$user->role = User::ROLE_DEV;
$user->status = User::STATUS_ACTIVE;
if ($user->save()) {
Yii::$app->mail->compose('confirmEmail', ['user' => $user])->setFrom(Yii::$app->mail->messageConfig['from'])->setTo($user->email)->setSubject('瓦力平台 - ' . $user->realname)->send();
unset($user);
return User::findByUsername(array('username' => $data['username']));
} else {
unset($user);
throw new \Exception(yii::t('user', 'user auto register failure'));
}
}