private function add_user() { if (PersistenceContext::get_querier()->row_exists(DB_TABLE_INTERNAL_AUTHENTICATION, 'WHERE login=:login', array('login' => $this->login))) { throw new Exception($this->login . ' login already use'); } else { if (UserService::user_exists('WHERE email=:email', array('email' => $this->email))) { throw new Exception($this->email . ' email already use'); } else { $user = new User(); $user->set_display_name($this->login); $user->set_level($this->get_real_value($this->level, $this->level_possible_values)); $user->set_email($this->email); $auth_method = new PHPBoostAuthenticationMethod($this->login, $this->password); $auth_method->set_association_parameters($this->get_real_value($this->approbation, $this->approbation_possible_values)); UserService::create($user, $auth_method); CLIOutput::writeln('User added successfull'); } } }
private function save() { $has_error = false; $registration_pass = $this->user_accounts_config->get_member_accounts_validation_method() == UserAccountsConfig::MAIL_USER_ACCOUNTS_VALIDATION ? KeyGenerator::generate_key(15) : ''; $user_aprobation = $this->user_accounts_config->get_member_accounts_validation_method() == UserAccountsConfig::AUTOMATIC_USER_ACCOUNTS_VALIDATION; $user = new User(); $user->set_display_name($this->form->get_value('display_name')); $user->set_level(User::MEMBER_LEVEL); $user->set_email($this->form->get_value('email')); $user->set_show_email(!$this->form->get_value('user_hide_mail')); $user->set_locale($this->form->get_value('lang')->get_raw_value()); $user->set_editor($this->form->get_value('text-editor')->get_raw_value()); $user->set_timezone($this->form->get_value('timezone')->get_raw_value()); if ($this->form->has_field('theme')) { $user->set_theme($this->form->get_value('theme')->get_raw_value()); } $login = $this->form->get_value('email'); if ($this->form->get_value('custom_login')) { $login = $this->form->get_value('login'); } $auth_method = new PHPBoostAuthenticationMethod($login, $this->form->get_value('password')); $auth_method->set_association_parameters($user_aprobation, $registration_pass); try { $user_id = UserService::create($user, $auth_method, $this->member_extended_fields_service); } catch (MemberExtendedFieldErrorsMessageException $e) { $has_error = true; $this->tpl->put('MSG', MessageHelper::display($e->getMessage(), MessageHelper::NOTICE)); } if (!$has_error) { UserRegistrationService::send_email_confirmation($user_id, $user->get_email(), $this->form->get_value('display_name'), $login, $this->form->get_value('password'), $registration_pass); $this->confirm_registration($user_id); } }