Nach frontend login automatisch bestimmte seite öffnen
Verfasst: Do 17. Jul 2014, 03:15
				
				Hallo,
Ich habe Probleme mit der Standard-Login-Modul - der TargetIdart ist immer falsch ... Ich habe diesen alten modul gesehen. Ich möchte die gleiche Funktionalität in 4.9.3 zu erreichen - nach frontend login automatisch bestimmte seite öffnen. Ist etwas ähnliches verfügbar:
Danke für jede Anwort.
			Ich habe Probleme mit der Standard-Login-Modul - der TargetIdart ist immer falsch ... Ich habe diesen alten modul gesehen. Ich möchte die gleiche Funktionalität in 4.9.3 zu erreichen - nach frontend login automatisch bestimmte seite öffnen. Ist etwas ähnliches verfügbar:
Code: Alles auswählen
Einfaches Login-Modul
Erweitert um automatische Weiterleitung zu 'persönlichem' geschützten Bereich
Author: Andreas Lindner / Tino Fäustel
Version:2.0
Aenderungen : 05.09.07 : Weiterleitung auch ueber den (ersten) Namen der (ersten) Gruppe, zu der der User gehoert. Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname   :     Login mit Weiterleitung
* Author(s)   :     Tino Faeustel, www.faeustel.de
* Created     :     05.09.2007
************************************************/
$cms_mode = "CMS_VALUE[1]";
function getSel($value) {
   global $cms_mode;
   if ($value == $cms_mode) {
      return 'selected="selected"';
   } else {
      return "";
   }
   
}
echo '<table cellpadding="0" cellspacing="0" border="0">';
echo '<tr><td>Modus:</td><td class="text_medium" style="padding:5px">';
echo '<select name="CMS_VAR[1]" style="width:300px">';
echo '<option value="0" '. getSel(0) .'> Weiterleitung über Usernamen.</option>';
echo '<option value="1" '. getSel(1) .'> Weiterleitung über Gruppennamen.</option>';
echo '</select> <input type="image" src="images/submit.gif">';
echo '</td></tr>';
echo '</table>';
?><?php Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Loginbox
* Author(s)   :     Andreas Lindner (erweitert v. Tino Faeustel)
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/
$linkmode = "CMS_VALUE[1]";
#Includes
cInclude('classes', 'class.template.php');
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.name = '". $username . "' AND cat_lang.idlang = " .$lang;
         
   $db->query($sql);
   if ($db->next_record()) {
      return "idcat=" . $db->f('idcat');
   } else {
      return "";
   }
}
// fuer Ausgabe
if ( !is_object($tpl) ) {
    $tpl = new Template;
}
$tpl->reset();
if ($auth->auth["uid"] == "nobody"){
// nicht angemeldet -> 'normal'
   $template = 'login.html';
   $tpl->set('s', 'TEXT', mi18n("Client Login"));
   $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', 'LOGIN', mi18n("Login"));   
   $tpl->generate('templates/'.$template);
   
   // Login - Flag Init / Reset
   $loginflag=0;
} else {
   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=162';
      } 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 {
   // sonst wie immer
      $template = 'logout.html';
      $tpl->set('s', 'CURRENT_USERNAME', mi18n("Hello"));   
      $tpl->set('s', 'USERNAME', $auth->auth["uname"]);   
//      $tpl->set('s', 'HREF', 'front_content.php?idcatart='.$idcatart.'&logout=yes');   
      $tpl->set('s', 'HREF', 'front_content.php?logout=yes');   
      $tpl->set('s', 'LOGOUT', mi18n("Logout"));   
      $tpl->generate('templates/'.$template);
   }
}
?>