/** * Logins action method * * @return void */ public function logins() { $session = new Model\Session(); if ($this->request->isPost()) { $post = $this->request->getPost(); if (isset($post['clear_all_logins']) && (int) $post['clear_all_logins'] == 1) { $session->clearLogins(); $this->sess->setRequestValue('removed', true); } else { if (isset($post['clear_logins_by']) && $post['clear_logins_by'] != '----') { $session->clearLogins($post['clear_logins_by']); $this->sess->setRequestValue('removed', true); } else { if (isset($post['rm_logins'])) { $session->removeLogins($post['rm_logins']); $this->sess->setRequestValue('removed', true); } } } $this->redirect('/sessions/logins'); } else { $searchUsername = $this->request->getQuery('search_username'); if ($session->hasLoginPages($this->application->config()['pagination'], $searchUsername)) { $limit = $this->application->config()['pagination']; $pages = new Paginator($session->getLoginCount($searchUsername), $limit); $pages->useInput(true); } else { $limit = null; $pages = null; } $this->prepareView('sessions/logins.phtml'); $this->view->title = 'Sessions : Logins'; $this->view->pages = $pages; $this->view->queryString = $this->getQueryString('sort'); $this->view->searchUsername = $searchUsername; $this->view->users = $session->getAllUsers(); $this->view->logins = $session->getLogins($searchUsername, $limit, $this->request->getQuery('page'), $this->request->getQuery('sort')); $this->send(); } }
/** * Update an existing user * * @param array $fields * @param \Pop\Session\Session $sess * @return void */ public function update(array $fields, $title, \Pop\Session\Session $sess = null) { $user = Table\Users::findById((int) $fields['id']); if (isset($user->id)) { $oldRoleId = $user->role_id; $oldActive = $user->active; $user->role_id = isset($fields['role_id']) ? $fields['role_id'] : $user->role_id; $user->username = $fields['username']; $user->password = !empty($fields['password1']) ? (new Bcrypt())->create($fields['password1']) : $user->password; $user->email = isset($fields['email']) ? $fields['email'] : $user->email; $user->active = isset($fields['active']) ? (int) $fields['active'] : $user->active; $user->verified = isset($fields['verified']) ? (int) $fields['verified'] : $user->verified; $user->total_logins = isset($fields['clear_logins']) ? 0 : $user->total_logins; $user->failed_attempts = isset($fields['failed_attempts']) ? (int) $fields['failed_attempts'] : $user->failed_attempts; $user->save(); if (isset($fields['clear_logins'])) { $session = new Session(); $session->clearLogins($user->id); } if (null !== $sess && $sess->user->id == $user->id) { $sess->user->username = $user->username; $sess->user->email = $user->email; } $this->data = array_merge($this->data, $user->getColumns()); if ((null === $oldRoleId && null !== $user->role_id || !$oldActive && $user->active) && !empty($user->email)) { $notify = new Notification(); $notify->sendApproval($user, $title); } } }