ich hab in einem Teaser das Login-Modul. Wenn ich mich einlogge werden die geschützten Bereich angezeigt. Wenn ich mich auslogge gehts immer auf die login_error_page welche in den Mandateneinstellungen gespeichert ist. Ist das verhalten so korrekt und kann man hier etwas machen damits beim Ausloggen zB die die darüberliegende ungeschützte Kategorie oder einen definierten Artikel geht?
Ich nutze das Metzner-Kundencenter Modul:
http://forum.contenido.org/viewtopic.ph ... ner#p96176
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Loginbox
* Author(s) : Andreas Lindner
* Copyright : Contenido - four for business, Andreas Lindner
* Erweiterung : Manuel Fischer, mediainvita.de 11.06
* Created : 05.08.2005
************************************************/
$linkmode = "CMS_VALUE[1]";
#Includes
cInclude('classes', 'class.template.php');
#SJ:
global $loginflag;
// merken (s.u.)
if ( !$sess->is_registered('loginflag' )) $sess->register('loginflag');
/**
* Preferences : Im geschützten Bereich gibt es für jeden Frontendbenutzer eine eigene Kategorie
* die mit dem Benutzernamen bezeichnet wird.
* Das Loginformular ruft automatisch den Startartikel dieser Kategorie auf, unabhängig
* davon von welcher Seite aus es aufgerufen wird.
*/
// Weiterleitung ueber Gruppe : Gruppenname ermitteln
function getfirstgroup($uid) {
global $cfg, $client;
$db = new DB_Contenido;
$sql="SELECT groupname FROM " .
$cfg['tab']['frontendgroups'] . " fg, " .
$cfg['tab']['frontendgroupmembers'] . " gm
WHERE fg.idfrontendgroup = gm.idfrontendgroup AND
gm.idfrontenduser = ". $uid . " AND fg.idclient = " .$client .
" ORDER BY groupname LIMIT 0,1";
$db->query($sql);
if ($db->next_record()) {
return $db->f('groupname');
} else {
return "";
}
}
// ermitteln einer Kategorie zu einem Benutzernamen
function getstartcat($username){
global $cfg, $lang, $idcatart;
$db = new DB_Contenido;
$sql = "SELECT idcat FROM " . $cfg['tab']['cat_lang'] . " cat_lang " .
"WHERE cat_lang.urlname = '". $username . "' AND cat_lang.idlang = " .$lang;
$db->query($sql);
if ($db->next_record()) {
return "idcat=" . $db->f('idcat');
} else {
return "";
}
}
#:SJ
if ( !is_object($tpl) ) {
$tpl = new Template;
}
$tpl->reset();
if ($auth->auth["uid"] == "nobody"){
$template = 'Kundencenterlogin.html';
$tpl->set('s', 'FORM_ACTION', 'front_content.php?idcatart='.$idcatart);
$tpl->set('s', 'USERNAME', mi18n("Username"));
$tpl->set('s', 'PASSWORD', mi18n("Passwort"));
$tpl->set('s', 'GO', mi18n("Go"));
$tpl->set('s', 'MOEGLICHKEITEN', mi18n("Möglichkeiten"));
$tpl->set('s', 'HREF', 'front_content.php?idart=528');
$tpl->set('s', 'HREFDEL', 'front_content.php?idart=528');
$tpl->set('s', 'HREFPWFORGET', 'front_content.php?idart=528');
$tpl->set('s', 'USERPWFORGET', mi18n("Passwort vergessen"));
$tpl->set('s', 'DELETE', mi18n("Account aus der Kundendatenbank löschen"));
$tpl->set('s', 'LOGIN', mi18n("Login"));
$tpl->set('s', 'REGISTER', mi18n("Registrieren"));
$tpl->set('s', 'KUNDENCENTER', mi18n("Kundencenter, Ihre Möglichkeiten"));
$tpl->set('s', 'KUNDENCENTER_LOGIN', mi18n("Kundencenter Login"));
$tpl->set('s', 'USERPW', mi18n("Userpasswort"));
$tpl->set('s', 'USERDATEN', mi18n("Userdaten"));
#SJ:
$tpl->generate('templates/'.$template);
// Login - Flag Init / Reset
$loginflag=0;
#:SJ
} else {
#SJ:
if (($loginflag == 0) ){
// nur beim ersten mal
$loginflag = 1; // wegen 'erstes Mal'
if ($linkmode == 0) {
// ueber username
$weiter = getstartcat($auth->auth["uname"]); // das ist die Zielcat oder 'idcatart=730';
} else {
// ueber gruppe
$weiter = getstartcat(getfirstgroup($auth->auth["uid"]));
}
if (($weiter != "") AND ( ! $edit) ) { // nur wenn passende Kategorie vorhanden und NICHT im Backend
// dann sofort Weiterleitung
echo '<meta http-equiv="refresh" content="0; URL=' . $sess->url("front_content.php?" . $weiter) .'">';
}
} else {
#:SJ
$template = 'Kundencenterlogout.html';
$tpl->set('s', 'CURRENT_USERNAME', mi18n("Sie sind angemeldet als"));
$tpl->set('s', 'USERNAME', $auth->auth["uname"]);
$tpl->set('s', 'HREF', 'front_content.php?idcatart='.$idcatart.'&logout=yes');
$tpl->set('s', 'LOGOUT', mi18n("Logout"));
$tpl->set('s', 'KUNDENCENTER', mi18n("Kundencenter"));
$tpl->set('s', 'USERPW', mi18n("Userpasswort"));
$tpl->set('s', 'USERDATEN', mi18n("Userdaten"));
$tpl->set('s', 'MOEGLICHKEITEN', mi18n("Möglichkeiten"));
$tpl->generate('templates/'.$template);
}
}
?>