protected function buildIdentity($userID) { $userData = $this->usersModel->get($userID); if (!$userData) { throw new \Nette\Security\AuthenticationException('Neexistují odpovídající data o uživateli.', self::FAILURE); } unset($userData->id); $membershipData = $this->membershipModel->query("SELECT `group`.* FROM membership JOIN `group` ON `group`.id = membership.group_id WHERE membership.user_id = " . $userID)->fetchAll(); $roles = array(); foreach ($membershipData as $record) { $roles[] = $record->role_name; } return new \Nette\Security\Identity($userID, $roles, $userData); }
public function registerAction(Request $request, Response $response, $args) { $data = $request->getParsedBody(); $username = $data['name']; $email = $data['email']; $pass = $data['pass']; $hash = new Hash(); $res = true; if (!Validate::isValidUsername($username)) { $res = false; $this->flash->addMessage('error', 'ERROR-NAME !'); } if (!Validate::isValidEmail($email)) { $res = false; $this->flash->addMessage('error', 'ERROR-EMAIL !'); } if (!Validate::isValidPass($pass)) { $res = false; $this->flash->addMessage('error', 'ERROR-PASSWORD !'); } $listUser = $this->em->getRepository('App\\Model\\Users')->findOneBy(['username' => $data['name']]); $listEmail = $this->em->getRepository('App\\Model\\Users')->findOneBy(['email' => $data['email']]); if ($listUser) { $res = false; $this->flash->addMessage('error', 'NAME DONE !'); } if ($listEmail) { $res = false; $this->flash->addMessage('error', 'EMAIL HAVE !'); } if ($res) { $user = new Users(); $data['pass'] = $hash->create($data['pass'], SALT); $user->setUsername($data['name']); $user->setEmail($data['email']); $user->setPassword($data['pass']); $user->getCreatedAt(new \DateTime()); try { $this->em->persist($user); $this->em->flush(); } catch (\Exception $e) { $this->flash->addMessage('error', $e->getMessage()); return $response->withStatus(301)->withHeader('Location', '/login'); } $this->flash->addMessage('success', "SUCCESS !"); } return $response->withStatus(301)->withHeader('Location', '/login'); }
/** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->delete(); Users::create(['number' => '111', 'password' => Hash::make('111')]); Users::create(['number' => '222', 'password' => Hash::make('222')]); Users::create(['number' => '333', 'password' => Hash::make('333')]); }
/** * 更新用户信息 * @return [type] [description] */ public function updateuserinfo() { // 1就要保存空图片 $imageFlag = $_POST['imageFlag']; $userkey = Session::get('userkey'); $headimg = "nochange"; $introduction = $_POST['introduction']; if (isset($_FILES['imagepic'])) { $imagepic = $_FILES['imagepic']; } else { $imagepic = ""; } $sex = $_POST['sex']; $telphone = $_POST['telphone']; if ("" != $imagepic) { $size = $imagepic['size']; // 小于1m if ($size > 1048576) { // 返回 return "toobig"; } // 将头像转存 $headimg = saveImage::zhuancun($imagepic); } else { // 为1的话说明只用默认图 $headimg = ""; } // 存入数据库 $res = Users::addUserInfo($userkey, $introduction, $headimg, $sex, $telphone); if ($res == "1") { return "success"; } else { return "faild"; } }
public function zajemceFormSucceeded($button) { $values = $button->getForm()->getValues(true); $id = (int) $this->getParameter('id'); if ($id) { try { $new_user = $this->users->update($id, $values); if ($new_user) { $this->flashMessage('Účet zájemce byl upraven.'); } } catch (\PDOException $e) { if ($e->getCode() == 23000) { $this->flashMessage('Zájemce s tímto aliasem už je zaregistrován, zvolte prosím jiný.'); } else { throw $e; } } } else { // registrace noveho zajemce try { $new_user = $this->users->register($values); if ($new_user) { $this->flashMessage('Účet zájemce byl vytvořen. Nyní se může přihlásit.'); } } catch (\PDOException $e) { if ($e->getCode() == 23000) { $this->flashMessage('Zájemce s tímto aliasem už je zaregistrován, zvolte prosím jiný.'); } else { throw $e; } } } $this->redirect('zajemci'); }
public function settingsFormSucceeded($form, $values) { $id = $this->user->id; $data = $this->model->getSelection()->get($id); if ($data) { try { unset($values->user_id); //$this->model->updateSettings($id,$values); //$this->user->getIdentity()->settings = $values; $this->flashMessage("Nastavení bylo uloženo.", "success"); } catch (Exception $e) { $this->flashMessage("Uložení nastavení se nepodařilo.", "danger"); } } else { $this->flashMessage("Takový uživatel neexistuje.", "warning"); } $this->redirect("default"); }
protected function buildIdentity($userID) { $userData = $this->usersModel->get($userID); if (!$userData) { throw new \Nette\Security\AuthenticationException('Neexistují odpovídající data o uživateli.', self::FAILURE); } unset($userData->id); $membershipData = $this->membershipModel->query("SELECT `group`.* FROM membership JOIN `group` ON `group`.id = membership.group_id WHERE membership.user_id = " . $userID)->fetchAll(); $roles = array(); foreach ($membershipData as $record) { $roles[] = $record->role_name; } $settings = $this->usersModel->query("SELECT * FROM `user_setting` WHERE user_id = {$userID}")->fetch(); if (!$settings) { $this->usersModel->query("INSERT INTO `user_setting` (`user_id`) VALUES ({$userID})"); $settings = $this->usersModel->query("SELECT * FROM `user_setting` WHERE user_id = {$userID}")->fetch(); } $settings = $settings->toArray(); unset($settings["user_id"]); $userData["settings"] = $settings; return new \Nette\Security\Identity($userID, $roles, $userData); }
public function renderDefault() { $this->template->subjects = $this->model->query("SELECT count(*) as total FROM sch_subject")->fetch(); $this->template->groups = $this->model->query("SELECT count(*) as total FROM `sch_group`")->fetch(); $this->template->teachers = $this->model->query("SELECT count(*) as total FROM `sch_teacher`")->fetch(); $this->template->students = $this->model->query("SELECT count(*) as total FROM `sch_student`")->fetch(); $this->template->classes = $this->model->query("SELECT count(*) as total FROM `sch_class`")->fetch(); }
/** * 查询文章的详情页面 * @return [type] [description] */ public function articleDetails() { $nowkey = $_GET['now']; // 请求来源的ip $fromIp = $_SERVER['REMOTE_ADDR']; // 将ip存入session,12min后失效,如果1min内连续访问那么不会增加访问量 if (!Session::has($fromIp)) { $arr = array(); array_push($arr, $nowkey); Session::put($fromIp, $arr); Session::save(); // 访问次数增加1 $res = Articles::updateArticleSeeTimes($nowkey); } else { // 如果这次访问的和上次不一样那么可以加 $nowarr = Session::get($fromIp); if (!in_array($nowkey, $nowarr)) { // 访问次数增加1 $res = Articles::updateArticleSeeTimes($nowkey); // 加入这次访问的帖子key array_push($nowarr, $nowkey); // 重新转存当前的用户的访问记录 Session::put($fromIp, $nowarr); Session::save(); } } // 返回的key $result = array(); $userkey = Session::get('userkey'); if ("" != $userkey) { // 查询当前用户的信息 $nowuserInfo = Users::queryUserAffic($userkey); $result['nowuserInfo'] = $nowuserInfo; } // 默认第一页,展示5条 $fromPage = 1 - 1; $evepage = 5; // 查询帖子详情 $res = Articles::getArticleDetails($nowkey); // 分页查询 $replyres = Articles::queryReplyList($nowkey, $fromPage, $evepage); // 查询总条数 $totalCount = Articles::queryOneAticleReplyCount($nowkey); $result['res'] = $res; $result['replyres'] = $replyres; $result['totalCount'] = $totalCount; $result['articlekey'] = $nowkey; return view("details/articledetails", $result); }
public function actionId($id) { $record = $this->model->get($id); if ($record) { if ($record->status == 0 && ($this->user->isInRole("administrator") || $this->user->id == $record->created_by)) { $this->template->editable = true; } else { $this->template->editable = false; } $this->template->work = $record; $this->template->statuses = $this->statuses; $this->template->maker = $this->userModel->get($record->created_by); } else { $this->flashMessage("Takové zadání práce neexistuje.", "danger"); $this->redirect("default"); } }
public function recovery2FormSucceeded($form, $values) { $userData = $this->model->getBy(array("email" => $values->username)); if (!$userData) { $this->flashMessage("Neznámé uživatelské jméno.", "danger"); $this->redirect("password"); } else { try { $id = $userData->id; $this->userModel->setPassword($id, $values->password); $this->userModel->removeToken($id); $this->flashMessage("Změna hesla proběhla úspěšně.", "success"); } catch (Exception $e) { $this->flashMessage("Při nastavování hesla došlo k chybě.", "danger"); } } $this->redirect("in"); }
public function actionEdit($id) { $record = $this->model->get($id); $this->title = "Editace skupiny " . $record["name"]; if ($record) { if (!$this->user->isInRole("administrator") && !($record->user_id == $this->user->id)) { $this->flashMessage("K editaci skupiny " . $record->name . " nejste oprávněn.", "danger"); $this->redirect("id", $id); } else { $this->template->id = $id; $form = $this["formEdit"]; if ($record->user_id) { $form["user_id"]->setItems($this->userModel->activeUsersAsArray(array($record->user_id))); } $form->setDefaults($record); } } else { $this->flashMessage("Skupina " . $id . " neexistuje.", "danger"); $this->redirect("default"); } }
public function facebookRegistrationFormSucceeded($form, $values) { $fbUserId = $values->id; unset($values->id); try { if ($this->facebookUserModel->exists($fbUserId)) { $this->flashMessage("Uživatel s tímto FacebookID již je v systému zaregistrován.", "danger"); $this->redirect("in"); } else { $id = $this->model->insert($values); $this->model->update($id, array("enabled" => 1, "active" => 1)); $this->flashMessage("Uživatel byl úspěšně zaregistrován.", "success"); $this->facebookUserModel->add(array("user_id" => $id, "facebook_id" => $fbUserId, "username" => $values->firstname . " " . $values->lastname, "email" => $values->email)); $this->facebookUserModel->authenticate(array($this->facebook->getUser())); $this->facebookUserModel->updateToken($this->facebook->getUser(), $this->facebook->getAccessToken()); } } catch (Exception $e) { $this->flashMessage("Registrace uživatele se nepodařila.", "danger"); } $this->redirect(":Front:Homepage:default"); }
public function actionImportStudents() { $result = $this->model->importStudents(); $messages = $result->messages; $data = $result->data; $reports = array(); $this->studentsModel->invalidate(); $classConversionTable = array(); $classData = $this->classesModel->query("SELECT id, bakalari_code FROM sch_class")->fetchAll(); foreach ($classData as $classRecord) { $classConversionTable[$classRecord["bakalari_code"]] = $classRecord["id"]; } foreach ($data as $record) { $id = $this->studentsModel->existsBakalari($record->bakalari_code); if (!$id) { $newid = $this->usersModel->insert(array("firstname" => $record->firstname, "lastname" => $record->lastname, "title" => $record->title, "title_after" => $record->title_after, "gender" => $record->gender, "birthdate" => $record->birthdate, "phone" => $record->mobile_phone, "personal_identification_number" => $record->personal_identification_number, "email" => $record->email, "enabled" => 1, "active" => 1)); $this->studentsModel->dumbInsert(array("user_id" => $newid, "catalog_number" => $record->catalog_number, "class_id" => $classConversionTable[$record->class_code], "network_login" => $record->login, "bakalari_code" => $record->bakalari_code)); $this->studentsModel->query("INSERT INTO login_imap VALUES (\"{$newid}\",\"{$record->login}\")"); $reports[] = "ADD: Student " . $record->firstname . " " . $record->lastname . " byl přidán. ({$newid})"; } else { $recid = $id->user_id; $this->usersModel->update($recid, array("firstname" => $record->firstname, "lastname" => $record->lastname, "title" => $record->title, "title_after" => $record->title_after, "gender" => $record->gender, "birthdate" => $record->birthdate, "phone" => $record->mobile_phone, "personal_identification_number" => $record->personal_identification_number, "email" => $record->email, "enabled" => 1, "active" => 1)); $this->studentsModel->update($recid, array("catalog_number" => $record->catalog_number, "class_id" => $classConversionTable[$record->class_code], "network_login" => $record->login, "bakalari_code" => $record->bakalari_code, "invalidated" => 0)); $this->studentsModel->query("INSERT INTO login_imap (user_id,username) VALUES (\"{$recid}\",\"{$record->login}\") ON DUPLICATE KEY UPDATE username = \"{$record->login}\""); $reports[] = "UPDATE: Student " . $record->firstname . " " . $record->lastname . " byl aktualizován. ({$recid})"; } } $this->studentsModel->query("DELETE FROM login_local WHERE user_id IN(SELECT user_id FROM sch_student WHERE invalidated = 1)"); $studentsGroupId = $this->membershipModel->getIdfromRole("student"); if ($studentsGroupId) { $this->membershipModel->emptyGroup($studentsGroupId); $reports[] = "Skupina {$studentsGroupId} byla vyprázdněna."; $this->membershipModel->query("INSERT INTO membership (`user_id`,`group_id`) SELECT user_id,{$studentsGroupId} FROM `sch_student`"); $reports[] = "Skupina {$studentsGroupId} byla naplněna aktuálními studenty."; } $this->studentsModel->removeUnused(); $this->template->reports = $reports; $this->template->messages = $messages; $this->setView("result"); }
public function passwordFormSucceeded($form, $values) { $id = $this->user->id; unset($values->id); $data = $this->model->get($id); if ($data) { if ($data->email) { try { $this->localUserModel->add($id, $values->password); $this->flashMessage("Heslo bylo nastaveno.", "success"); $this->redirect("default"); } catch (Exception $e) { $this->flashMessage("Nastavení hesla se nepodařilo.", "danger"); } } else { $this->flashMessage("Nemáte nastavenou emailovou adresu. Není ji tak možné ho použít jako přihlašovací jméno.", "danger"); } } else { $this->flashMessage("Takový účet neexistuje.", "warning"); } $this->redirect("default"); }
public function addMembershipFormSucceeded($form, $values) { $data = $this->model->get($values->id); if ($data && $this->user->isInRole("administrator")) { try { $this->membershipModel->in($values->id, $values->selection); } catch (Exception $e) { $this->flashMessage("Přidání do skupiny se nepodařilo.", "danger"); } } else { $this->flashMessage("Nemáte oprávnění tímto způsobem přidávat někoho do skupiny.", "danger"); } if (!$this->isAjax()) { $this->redirect('this'); } else { $this->template->membership = $this->membershipModel->userIsMember($values->id); $this->invalidateControl('membershipList'); $this->invalidateControl('flashMessages'); $form["selection"]->setItems($this->membershipModel->userIsNotMemberOfGroupsAsArray($values->id)); $form["selection"]->setValue(null); $this->invalidateControl('addMembershipForm'); } }
/** * 点击登录,校验是否登陆成功 */ public function checkLogin() { $username = $_POST['email']; $password = $_POST['password']; // $results = \DB::select('select * from users where userid = :id', ['id' => 1]); // $users = \DB::table('users')->get(); $users = Users::checkUser($username, $password); $len = count($users); if ($len > 0) { foreach ($users as $user) { $username = $user->username; $userkey = $user->userkey; // 将用户的信息存入 Session::put('username', $username); Session::put('userkey', $userkey); } Session::save(); // 检测是否有前面跳转过来的页面 if ("" != Session::get("preurl")) { $preurl = Session::get('preurl'); // print_r($preurl); Session::forget("preurl"); return Redirect::to($preurl); } else { return Redirect::to("indexmain"); } } else { if ($len == 0) { // 密码或者用户名错误 return Redirect::to('login')->with('loginError', "loginError"); } else { // 返回错误 return Redirect::to('login')->with('error', "error"); } } }
public static function person() { return Model\Users::find(session('partner')['users_id']); }
/** * 用户名检测唯一性 * @param [type] $username [description] * @return [type] [description] */ public static function checkUserName($username) { $userList = Users::whereRaw('username = ? ', [$username])->count(); return $userList; }
/** * Display all users */ public function indexAction() { $this->view->setVar('users', Users::find()); }
public function read($id = null) { $datas = ['directors' => usersdb::find($id)]; return view('Pages/Users/read', $datas); }
/** * 查询用户名是否已经注册 */ public function checkUserName() { $username = $_POST['username']; $userSize = Users::checkUserName($username); return $userSize; }
public function renderDefault() { $this->template->users = $this->model->query("SELECT count(*) as total FROM user")->fetch(); $this->template->groups = $this->model->query("SELECT count(*) as total FROM `group`")->fetch(); $this->template->files = $this->model->query("SELECT count(*) as total FROM `file`")->fetch(); }