public function new_user() { $register_form = parent::load('form', 'LoginForm', $_POST, 'system/contrib/auth'); parent::load('model', 'system/contrib/auth'); $roles = RoleTable::getInstance()->findAll(); $this->smarty->assign('all_roles', $roles); $groups = GroupTable::getInstance()->findAll(); $groups_cleaned = array(); foreach ($groups as $k => $v) { $groups_cleaned[$v['id']] = $v['name']; } $this->smarty->assign('all_groups', $groups_cleaned); if ($this->is_post()) { /* * 验证表单数据 */ if ($register_form->is_valid() && Request::$method == 'POST') { $user = UserTable::findByUsername($register_form->data['username']); if ($user) { array_push($register_form->messages, '员工名称已经存在'); } else { $user = new User(); $user->username = $register_form->data['username']; $user->password = User::generate_password($register_form->data['password']); $user->group_id = abs(intval($_POST['group'])); /* * 用户角色 */ if ($_POST['roles']) { foreach ($roles as $k => $role) { if (in_array($role['id'], $_POST['roles'])) { $user->Role[$k] = $role; } } } $user->save(); HTTPRedirect::flash_to('manager/new_user', sprintf('添加新员工 %s 成功', $user->username), $this->smarty); } } } $this->smarty->assign('register_form', $register_form->output()); $this->smarty->display('manager/users/new'); }
public function register() { return false; parent::load('model', 'system/contrib/auth.User'); /* * Loggined redirect to default */ if (User::is_authenticated()) { import('system/share/network/redirect'); HTTPRedirect::to(ini('base/DEFAULT_ACTION')); } $smarty = parent::load('smarty'); $register_form = parent::load('form', 'LoginForm', $_POST); if (!$this->is_post()) { $smarty->assign('register_form', $register_form->output()); $smarty->display('auth/register'); return; } if ($register_form->is_valid() && Request::$method == 'POST') { $user = UserTable::findByUsername($register_form->data['username']); if ($user) { array_push($register_form->messages, _('Username exists')); } else { $user = new User(); $user->username = $register_form->data['username']; $user->password = User::generate_password($register_form->data['password']); $user->save(); User::authentication($user->username, $register_form->data['password']); import('system/share/network/redirect'); HTTPRedirect::to(url_reverse('auth_index')); } } $smarty->assign('register_form', $register_form->output()); $smarty->display('auth/register'); }