Las sesiones las debes iniciar siempre al principio del script y en cada archivo que necesites hacer uso de variables de sesión.
Te he quitado un require_once repetido y un inicio de session_start() por mitad del script.
Corrige tu código por el de abajo, cierra el navegador para destruir la sesión y prueba de nuevo con el código corregido. Si la autentificación es correcta se debería inicializar la variable $_SESSION["userCakeUser"] aunque desconozco el método.
Código PHP:
<?php
session_start();
/*
UserCake Version: 1.4
http://usercake.com
Developed by: Adam Davis
*/
if(is_dir("install/"))
{
header("Location: install/");
die();
}
require_once("settings.php");
//Dbal Support - Thanks phpBB ; )
require_once("models/db/".$dbtype.".php");
//Construct a db instance
$db = new $sql_db();
if(is_array($db->sql_connect(
$db_host,
$db_user,
$db_pass,
$db_name,
$db_port,
false,
false
))) {
die("Unable to connect to the database");
}
if(!isset($_SESSION['lang']))
$_SESSION['lang']='es';
if(isset($_GET['lg']))
$_SESSION['lang']=$_GET['lg'];
$langauge = $_SESSION['lang'];
require_once("lang/".$_SESSION['lang'].".php");
require_once("class.user.php");
require_once("class.mail.php");
require_once("funcs.user.php");
require_once("funcs.general.php");
require_once("class.newuser.php");
require_once("class.websitehttps.php");
require_once("class.maintenance.php");
require_once("class.usersonline.php");
require_once("funcs.profile.php");
//require_once("class.usermessages.php");
//Global User Object Var
//loggedInUser can be used globally if constructed
if(isset($_SESSION["userCakeUser"]) && is_object($_SESSION["userCakeUser"]))
{
$loggedInUser = $_SESSION["userCakeUser"];
}
//HTTP Strict Transport Security
$websiteHttpsSec = new websiteHttps();
$websiteHttpsSec->website_Https();
//now auto execute to show maintenance page
//and only can access user with ip as defined
$Maintenance = new Maintenance();
$Maintenance->MaintenanceWebsite();
//View userCake users online
$viewUsersOnlineView = new usersOnlineView();
?>