public function indexAction() { $this->noLayout(true); $request = $this->getRequest(); if ($request->getPost('submit')) { $users = new Model_Users(); $result = $users->checkLogin($request->getPost('username'), $request->getPost('password')); if (!$result) { $this->view->error = $this->translate('Please enter the correct username and password.'); } else { if ($result['status']) { JO_Session::set(array('user' => $result)); $this->redirect($request->getServer('HTTP_REFERER')); } else { $this->view->error = $this->translate('This profile is not active.'); } } } $this->view->base_url = $request->getBaseUrl(); }
public function indexAction() { $this->noLayout(true); $request = $this->getRequest(); if ($request->getPost('submit')) { $users = new Model_Users(); $result = $users->checkLogin($request->getPost('username'), $request->getPost('password')); if (!$result) { $this->view->error = $this->translate('Please enter the correct username and password.'); } else { if ($result['status'] == 'activate') { if (isset($result['access']) && count($result['access'])) { $result['is_admin'] = true; } JO_Session::set($result); header('Location: ' . $request->getServer('HTTP_REFERER')); exit; } else { $this->view->error = $this->translate('This profile is not active.'); } } } $this->view->base_url = $request->getBaseUrl(); }
public function loginAction() { if (JO_Session::get('user_id')) { $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=dashboard')); } if (JO_Session::issetKey('msg_error')) { $this->view->check_error = JO_Session::get('msg_error'); $this->view->user = JO_Session::get('data'); JO_Session::clear('msg_error'); JO_Session::clear('data'); } $this->view->usersCount = Model_Users::countUsers(); $this->view->itemsCount = Model_Items::countItems(); $this->getLayout()->meta_title = $this->translate('Login'); $this->getLayout()->meta_description = $this->translate('Login'); $request = $this->getRequest(); if ($request->isPost()) { $result = Model_Users::checkLogin($request->getPost('username'), $request->getPost('password')); if ($result) { $result['following'] = Model_Users::getFollowers($result['user_id']); $groups = unserialize($result['groups']); if (is_array($groups) and count($groups) > 1) { unset($result['groups']); $fetch_all = Model_Users::getGroups($groups); $result['access'] = array(); if ($fetch_all) { foreach ($fetch_all as $row) { $modules = unserialize($row['rights']); if (is_array($modules)) { foreach ($modules as $module => $ison) { $result['access'][$module] = $module; } } } } } if (isset($result['access']) && count($result['access'])) { $result['is_admin'] = true; } JO_Session::set($result); if (JO_Session::get('redirect')) { $this->redirect(JO_Session::get('redirect')); } elseif ($request->getServer('HTTP_REFERER')) { $this->redirect($request->getServer('HTTP_REFERER')); } else { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=dashboard')); } } else { JO_Session::set('msg_error', $this->translate('Invalid username or password or the account is not activated.')); $request->setParams('username', $request->getPost('username')); JO_Session::set('data', $request->getParams()); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } } if ($request->getRequest('command') == 'activate' and $request->getRequest('user') and $request->getRequest('key')) { if (Model_Users::checkActivation($request->getRequest('user'), $request->getRequest('key'))) { Model_Users::Activate($request->getRequest('user')); $result = Model_Users::getByUsername($request->getRequest('user')); if ($result) { $groups = unserialize($result['groups']); if (is_array($groups) and count($groups) > 1) { unset($result['groups']); $fetch_all = Model_Users::getGroups($groups); $result['access'] = array(); if ($fetch_all) { foreach ($fetch_all as $row) { $modules = unserialize($row['rights']); if (is_array($modules)) { foreach ($modules as $module => $ison) { $result['access'][$module] = $module; } } } } } if (isset($result['access']) && count($result['access'])) { $result['is_admin'] = true; } JO_Session::set($result); } $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=verify/completed/yes')); } } $facebook = new WM_Facebook_Api(array('appId' => JO_Registry::forceGet('facebook_appid'), 'secret' => JO_Registry::forceGet('facebook_secret'))); $this->view->facebook_link = $facebook->getLoginUrl(array('redirect_uri' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=callback_facebook'), 'req_perms' => JO_Registry::forceGet('facebook_req_perms'), 'scope' => JO_Registry::forceGet('facebook_req_perms'))); $this->view->lost_username = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=lost_username'); $this->view->reset_password = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=reset_password'); $this->view->registration = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=registration'); $this->view->children = array(); $this->view->children['header_part'] = 'layout/header_part'; $this->view->children['footer_part'] = 'layout/footer_part'; }
public function usernoseusaAction() { $this->noViewRenderer(true); $request = $this->getRequest(); $response = $this->getResponse(); $page = (int) $request->getRequest('page'); if ($page < 1) { $page = 1; } $callback = $request->getRequest('callback'); if (!preg_match('/^([a-z0-9_.]{1,})$/', $callback)) { $callback = false; } $return = array(); if (isset($_SESSION['token']) && isset($_POST['token']) && $_POST['token'] == $_SESSION['token']) { //guardar o manipular datos. $result = Model_Users::checkLogin($request->getRequest('email'), $request->getRequest('password')); if ($result) { if ($result['status']) { @setcookie('csrftoken_', md5($result['user_id'] . $request->getDomain() . $result['date_added']), time() + 86400 * 366 * 5, '/', '.' . $request->getDomain()); JO_Session::set(array('user' => $result)); $return = array('id' => $result['user_id']); // $user_data; } else { $return = array('error' => 5, 'description' => $this->translate('This profile is not active.')); } } else { $return = array('error' => 6, 'description' => $this->translate('E-mail address and password do not match')); } } else { //no existe la sesión / no existe el dato recibido por post / el token no es igual. $return = array('error' => 401, 'description' => $this->translate('wrong token')); } if ($callback) { $return = $callback . '(' . JO_Json::encode($return) . ')'; } else { $response->addHeader('Cache-Control: no-cache, must-revalidate'); $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); $response->addHeader('Content-type: application/json; charset=utf-8'); $return = JO_Json::encode($return); } $response->appendBody($return); }
public function loginAction() { $request = $this->getRequest(); if ($request->getQuery('verify')) { if (Model_Users::verifyEmailCheck($request->getQuery('verify'), $request->getParam('user_id'))) { JO_Session::set('successful', $this->translate('You verifying your email. Now you can access with the data from e-mail!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { if (JO_Session::get('user[user_id]')) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=profile&user_id=' . JO_Session::get('user[user_id]'))); } } $this->view->successful = false; if (JO_Session::get('successful')) { $this->view->successful = JO_Session::get('successful'); JO_Session::clear('successful'); } $this->view->error = false; if ($request->getParam('user_id') && $request->getQuery('key')) { if (Model_Users::forgotPasswordCheck($request->getQuery('key'), $request->getParam('user_id'))) { JO_Session::set('successful', $this->translate('You verifying forgotten password. Now you can access with the data from e-mail!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } $referer = $request->getServer('HTTP_REFERER'); $this->view->next = urlencode($request->getBaseUrl()); if ($referer) { $data = parse_url($referer); if (isset($data['host'])) { if (str_replace('www.', '', $data['host']) == $request->getDomain()) { $this->view->next = urlencode($referer); } } } if ($request->issetPost('next')) { $this->view->next = html_entity_decode($request->getPost('next')); } elseif ($request->getQuery('popup') == 'true' && $request->issetQuery('next')) { $this->view->next = urlencode(html_entity_decode($request->getQuery('next'))); } $this->view->is_forgot_password = (int) $request->getPost('forgot_password'); if ($request->isPost() && $request->issetPost('login')) { $validate = new Helper_Validate(); $validate->_set_rules($request->getPost('email'), $this->translate('Email Address'), 'not_empty;min_length[5];max_length[100];email'); if ($request->getPost('forgot_password') != 1) { $validate->_set_rules($request->getPost('password'), $this->translate('Password'), 'not_empty;min_length[4];max_length[30]'); } if ($validate->_valid_form()) { if ($request->getPost('forgot_password') == 1) { $result = Model_Users::forgotPassword($request->getPost('email')); if ($result) { if ($result['status']) { $new_password = Model_Users::generatePassword(8); $key_forgot = md5($result['user_id'] . md5($new_password)); $add_new_pass = Model_Users::edit($result['user_id'], array('new_password' => $new_password, 'new_password_key' => $key_forgot)); if ($add_new_pass) { $this->view->new_password = $new_password; $this->view->user_info = $result; $this->view->forgot_password_href = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login&user_id=' . $result['user_id'] . '&key=' . $key_forgot); $this->view->header_title = JO_Registry::get('site_name'); $this->view->base_href = WM_Router::create($request->getBaseUrl()); $result_send = Model_Email::send($result['email'], JO_Registry::get('noreply_mail'), $this->translate('Request for forgotten password') . ' ' . JO_Registry::get('site_name'), $this->view->render('send_forgot_password_request', 'mail')); if ($result_send) { JO_Session::set('successful', $this->translate('Was sent the e-mail with instructions for the new password!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } else { $this->view->error = $this->translate('There was an error. Please try again later!'); } } else { $this->view->error = $this->translate('There was a problem with the record. Please try again!'); } } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address was not found!'); } } else { $result = Model_Users::checkLogin($request->getPost('email'), $request->getPost('password')); if ($result) { if ($result['status']) { @setcookie('csrftoken_', md5($result['user_id'] . $request->getDomain() . $result['date_added']), time() + 86400 * 366 * 5, '/', '.' . $request->getDomain()); JO_Session::set(array('user' => $result)); $this->redirect(urldecode($this->view->next)); } else { $this->view->error = $this->translate('This profile is not active.'); } } else { $this->view->error = $this->translate('E-mail address and password do not match'); } } } else { $this->view->error = $validate->_get_error_messages(); } } $this->view->login_facebook = WM_Router::create($request->getBaseUrl() . '?controller=facebook&next=' . $this->view->next); $this->view->login_twitter = WM_Router::create($request->getBaseUrl() . '?controller=twitter&next=' . $this->view->next); $this->view->login_instagram = WM_Router::create($request->getBaseUrl() . '?controller=instagram&next=' . $this->view->next); $this->view->login_login = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); if ($request->getQuery('popup') == 'true') { $this->view->site_name = JO_Registry::get('site_name'); $this->view->meta_title = JO_Registry::get('meta_title'); $this->view->popup = true; $this->view->baseUrl = $request->getBaseUrl(); $this->view->site_logo = $request->getBaseUrl() . 'data/images/logo.png'; if (JO_Registry::get('site_logo') && file_exists(BASE_PATH . '/uploads' . JO_Registry::get('site_logo'))) { $this->view->site_logo = $request->getBaseUrl() . 'uploads' . JO_Registry::get('site_logo'); } $this->setViewChange('loginPopup'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } else { $this->view->loginPopup = $this->view->render('loginPopup', 'users'); $this->view->children = array('header_part' => 'layout/header_part', 'footer_part' => 'layout/footer_part'); } }