[Résolu] urlRewrite et session
Bonjour,
Je dev un plugin qui intègre un système connexion qui n'a pas de lien avec celui de la partie admin de pluxml. J'ai bien sûr prévue une fonction pour que l'utilisateur se déconnecte :
Ensuite j'ai une fonction qui vérifie la durée de validité d'une session php. Si elle dépasse X secondes alors l'utilisateur est déconnecté :
Lorsque je passe directement par accountLogout() pas de problème je suis bien redirigé sur la page d'accueil mais lorsque je passe par sessionTimeout() j'obtiens l'erreur :
La ligne 497 correspond à
Pour contrôler la durée d'activité de la session dans le __construct j'ai :
Je dev un plugin qui intègre un système connexion qui n'a pas de lien avec celui de la partie admin de pluxml. J'ai bien sûr prévue une fonction pour que l'utilisateur se déconnecte :
public function accountLogout() {
global $plxMotor;
$_SESSION = array();
session_unset();
session_destroy();
unset($_SESSION);
// message ou cas ou la redirection ne marche pas
echo 'Vous venez de vous déconnecter, à bientôt.<br>';
header('Location: '.$plxMotor->urlRewrite('index.php'));
exit;
}
Ensuite j'ai une fonction qui vérifie la durée de validité d'une session php. Si elle dépasse X secondes alors l'utilisateur est déconnecté :
public function sessionTimeout() {
if(isset($_SESSION['portail']['lastaction'])) {
if((time() - $_SESSION['portail']['lastaction']) > $this->getParam('timeoutsession')) {
$this->accountLogout();
} else {
return true;
}
}
}
Lorsque je passe directement par accountLogout() pas de problème je suis bien redirigé sur la page d'accueil mais lorsque je passe par sessionTimeout() j'obtiens l'erreur :
( ! ) Fatal error: Call to a member function urlRewrite() on null in /var/www/html/plugins/portail/portail.php on line 497
La ligne 497 correspond à
header('Location: '.$plxMotor->urlRewrite('index.php'));
De la fonction accountLogout()Pour contrôler la durée d'activité de la session dans le __construct j'ai :
if($this->getConnect()) {
$this->sessionTimeout();
$_SESSION['portail']['lastaction'] = time();
}
getConnect contrôle juste que l'utilisateur est connecté. J'ai un string de l'array
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Désolé pour le dérangement.
J'ai un string de l'array