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