MyBB Community Forums

Full Version: Login Function
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
	function login($info,$resultadoint=0){
               //$info have the usename and password values separated by |
		global $db, $templates, $mybb, $session, $settings, $mybbgroups, $user, $config;
		$datos=explode("|",$info);
		$errors = array();
		$logins = login_attempt_check(1);
		require_once "./InteractU/inc/functions_user.php";

		$query = $db->simple_select("users", "loginattempts", "LOWER(username)='".$db->escape_string(my_strtolower($datos[0]))."'", array('limit' => 1));
		$loginattempts = $db->fetch_field($query, "loginattempts");
		if($loginattempts > 5 || intval($mybb->cookies['loginattempts']) > 5){
			$resultado=1;
		}
    	$user = validate_password_from_username($datos[0], $datos[1]);
		if (!$user['uid']) {
 			my_setcookie('loginattempts', $logins + 1);
			$db->write_query("UPDATE ".TABLE_PREFIX."users SET loginattempts=loginattempts+1 WHERE username = '".$datos[0]."'");
			$resultado=0;
		} else {
			//$loginhandler->complete_login();
 			$options = array('fields' => array('uid', 'username', 'password', 'salt', 'loginkey'));
                       $usuario_info = get_user_by_username($datos[0], $options);
		       $usuario=$datos[0];
			$logout=md5($usuario_info['loginkey']);
		    my_setcookie('loginattempts', 1);
     		$db->update_query("users", array("loginattempts" => 1), "uid='{$usuario_info['uid']}'");
     		// Delete old session entry
     		$db->delete_query("sessions", "ip='" . $db->escape_string($session->ipaddress) . "' AND sid != '" . $session->sid . "'");
     		// Create a new session and save it in the database
     		$newsession = array("uid" => $usuario_info['uid']);
     		$db->update_query("sessions", $newsession, "sid='" . $session->sid . "'");
     		// Temporarily set the cookie remember option for the login cookies
     		//$mybb->user['remember'] = $user['remember'];
     		// Set essential login cookies
     		$remember = null;
			if(!isset($mybb->input['remember']) || $mybb->input['remember'] != "yes")
			{
				$remember = -1;
			}
			my_setcookie("mybbuser", $usuario_info['uid']."_".$usuario_info['loginkey'], $remember, true, "lax");
     		
		        my_setcookie("sid", $session->sid, -1, true);
			
		    $resultado=$usuario_info['loginkey'];
			eval('$resultado= "'.$templates->get('SP_HTML_Head_Logeado').'";');
    	}
		return $resultado;
	}

It returns me correctly when the password is correct or incorrect, but it does not save the cookie and session correctly, what is my error?