Error Page nach Logout, andere Weiterleitung möglich?

Gesperrt
stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Error Page nach Logout, andere Weiterleitung möglich?

Beitrag von stefkey »

Hallo,

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);
}
}



?>
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Error Page nach Logout, andere Weiterleitung möglich?

Beitrag von Spider IT »

Hallo,

das Verhalten beim Ausloggen hat mit dem Modul nichts zu tun, das wird nur von Contenido gesteuert, da das Ausloggen gleich als erstes durchgeführt wird.
Und ja, es geht, wenn in eine geschützte Kategorie ausgelogt wird, auf die login_error_page, denn die aktuelle Seite darf dann nicht mehr gezeigt werden.
Wenn du also auf eine bestimmte Seite weiterleiten möchtest, musst du diese Mandanteneinstellung anpassen.

Gruß
René
Gesperrt