public function login() { //get the instances of session and basket $session = pathang::getInstance('session'); $basket = pathang::getInstance('basket'); //get username from request object $username = trim(pathang::getInstance('request')->filterHTMLSQL('username')); //get liveuser from session $liveuser = $session->get('liveuser'); //if live user is available then load the user //else if username is available then check for login validation // else show the login page if ($liveuser) { //show the dashboard pathang::render('userlog', 'loggedin'); } elseif ($username) { // get the username and password $password = trim(pathang::getInstance('request')->filterHTMLSQL('password')); //validate user in userlog model $status = pathang::getModel('userlog')->validateUser($username, $password); // if there is no error then load the userdetails into liveuser and store // it in session if (!$status->error) { $liveuser = new stdclass(); //load user details $liveuser->username = $username; $liveuser->id = pathang::getModel('userlog')->getUserId($username); $liveuser->name = pathang::getModel('userlog')->getUserFullName($username); $liveuser->email = pathang::getModel('userlog')->getUserEmail($username); $liveuser->type = pathang::getModel('userlog')->getUserType($username); $liveuser->profile_link = ROOT . $liveuser->username; $liveuser->image_type = pathang::getModel('userlog')->getUserImageType($username); $liveuser->image = pathang::getHelper('userlog')->getUserImage($liveuser); $liveuser->feeds_per_page = pathang::getModel('userlog')->getFeedCount($username); $liveuser->access_token = pathang::getHelper('userlog')->getToken(pathang::getModel('userlog')->getUserLastLogin($username), $liveuser->id); //store liveuser in session $session->set('liveuser', $liveuser); // show dashboard pathang::redirect(ROOT); } else { //if error in login display error in login page // Error could be // error 1 - User not found // error 2 - Wrong password // error 3 - User blocked // error 4 - User not activated $basket->set('status_message', $status->message); $basket->set('status_error', $status->error); $basket->set('username', $username); //show login page pathang::render('userlog', 'login'); } } else { //show login page pathang::render('userlog', 'login'); } }