/** * Method to log in a user. * * @since 1.6 */ public function login() { //JSession::checkToken('post') or jexit(JText::_('JINVALID_TOKEN')); $app = JFactory::getApplication(); // Populate the data array: $data = array(); $data['return'] = base64_decode(JRequest::getVar('return', '', 'POST', 'BASE64')); $data['return2'] = JRequest::getVar('return2', '', 'POST'); $data['username'] = JRequest::getVar('username', '', 'method', 'username'); $data['password'] = JRequest::getString('password', '', 'post', JREQUEST_ALLOWRAW); // Set the return URL if empty. if (empty($data['return'])) { $data['return'] = 'index.php?option=com_users&view=profile'; } // Set the return URL in the user state to allow modification by plugins $app->setUserState('users.login.form.return', $data['return']); // Get the log in options. $options = array(); $options['remember'] = JRequest::getBool('remember', false); $options['return'] = $data['return']; // Get the log in credentials. $credentials = array(); $credentials['username'] = $data['username']; $credentials['password'] = $data['password']; ideary::setLoginErrorCodeInSession($credentials['username'], $credentials['password']); $app->setUserState('users.login.form.errorlogin', true); $app->setUserState('users.login.errorlogincount', 0); // Perform the log in. if (true === $app->login($credentials, $options)) { // Success $app->setUserState('users.login.form.data', array()); $app->setUserState('users.login.form.errorlogin', false); $app->setUserState('users.login.errorlogincount', 5); $app->redirect(JRoute::_($app->getUserState('users.login.form.return'), false)); } else { // Login failed ! $data['remember'] = (int) $options['remember']; $app->setUserState('users.login.form.data', $data); //$app->redirect(JRoute::_('index.php?option=com_users&view=login', false)); $app->redirect(JRoute::_('index.php')); } }