El código que posteas es un poco extraño, no conozco el framework que menciones pero te hago un comentario. Dices que siempre te da
El usuario o contraseña no son correctos, efectivamente el if($this->is_logged_in()) falla. Si devuelve false es porque $_SESSION['username'] es false o bien falla session_start(). Casi seguro es lo primero.
Prueba con esto
Código PHP:
Ver originalfunction is_logged_in(){
if (isset($_SESSION['username']){ return TRUE;
}
else{
}
}
La verdad que el código es bastante malo para ser un framework.