La funzione che mi blocca è proprio JFactory::getUser(). Mi viene restituita una pagina bianca, il cui sorgente è costituito solo da un numero 1.
Se la commento tutto fila via fino all'ultima istruzione, anche se poi mi manca ovviamente il riscontro nella pagina successiva, perché non è stato individuato l'utente.
Posto la pagina, che è abbastanza breve, per verifica.
<?php
error_reporting(E_ALL); // Eliminare alla fine del debug
$reg_user = & JFactory::getUser();
$codice = $reg_user->name;
/* Connessione al database */
require_once('dbconnect.inc'); // contiene i valori per la connessione al database
$conn = @new mysqli($db_server, $db_user_name, $db_password, $db_name);
if (mysqli_connect_errno() != 0)
{
$errno = mysqli_connect_errno();
$errmsg = mysqli_connect_error();
echo 'Errore connessione al database: , (', $errno, ') ', $errmsg, GO_BACK;
exit();
}
$conn->query("SET NAMES 'utf8'");
/* Ricerca sul database del codice utente. Non necessaria verifica di codice vuoto. */
$query_str = "SELECT * FROM accesso WHERE codice='$codice'";
$result = $conn->query($query_str);
if ($result === FALSE)
{
$errno = $conn->errno;
$errmsg = $conn->error;
echo 'Errore individuazione tabella: , (', $errno, ') ', $errmsg, GO_BACK;
$conn->close();
exit();
}
/* Disponibili tutti i dati per creare lo USER. */
require_once('userinfo.inc'); // contiene la classe UserInfo per gli utenti di questa procedura
$password = ""; // Per compatibilità con la versione provvisoria
$tipo = $row_data['tipo'];
$sezione = $row_data['sezione'];
$delegazione = $row_data['delegazione'];
$user = new UserInfo($codice, $password, $tipo, $sezione, $delegazione);
/* La sessione viene iniziata solo ora, per evitare apertura di sessioni inutili. */
ini_set('session.save_path', '../iscrizione/tmp/');
session_name('ACCESSODIREZIONALE');
session_start();
$_SESSION['current_user'] = $user;
/* Eliminazione dei dati non più necessari */
if (isset($result)): $result->close(); endif;
if (isset($conn)): $conn->close(); endif;
/* Rinvio alla pagina dei menu direzionali */
header('Location: http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/accesso_direzionale.php');
exit();
?>
Non credo di dover fare il require della pagina Joomla che contiene l'oggetto JFactory (a parte il fatto che non la riesco a trovare), visto che dovrebbe trattarsi di un oggetto STATIC e altre pagine che lo utilizzano non lo richiedono.
Qualche lume?