ich habe das Addon Simply_User installiert.
dazu habe ich ein Modul mit der Ausgabe
- Code: Alles auswählen
<style>
label {
width:100px;
float:left;
}
input {
float:left;
}
</style>
<div style="padding-left:10px;">
<?php
/**
* Simple User Addon
* Login Template oder Login Modul
* @author jan@kristinus
* @coauthor rudoo
* @update author joachim@doerr
* @version 1.1
* für Redaxo 4.x
*/
if ($REX['GG']) { // nur im Frontend ...
$webmaster = 'mailto:'.$REX['ERROR_EMAIL'];
$absender = $webmaster;
$nach_login = '368';
$nach_logout = '1';
// URL und andere interne variablen setzen: ------------------------------------
$ich = $this->getValue("article_id");
$url_ich = rex_getUrl($ich,$REX['CUR_CLANG']);
$url_nach_login = rex_getUrl($nach_login,$REX['CUR_CLANG']);
$url_nach_logout = rex_getUrl($nach_logout,$REX['CUR_CLANG']);
$msg = "";
if($_SESSION['USER']->message != "") {
//$msg = '<p class="warning">'.$_SESSION['USER']->message."</p>";
}
// Was ist denn nun zu tun? ----------------------------------------------------
if ($_GET['FORM']['pwd'] == 1) {
//Formular für "Passwort vergessen" anzeigen
$func = 1;
}
elseif ($_POST['FORM']['pwdsnd'] == 1) {
// Wenn Feld email gefüllt dann Kennwort senden (2),
// sonst Formular für "PWD vergessen" (1)
$email = $_POST['email'];
$func = (empty($email)?1:2);
}
elseif (!$_SESSION['USR'] OR $_GET['FORM']['LOGOUT'] == 1) {
// Login: Name und Kennwort eingeben
$func = 5;
}
else {
$func = 6;
}
/* Passwortmail anfordern: -----------------------------------------------------
* Aufbau der Maske zum Eingeben der eMail-Adresse, an die Name/Kennwort
* geschickt werden sollen.
*/
if ($func == 1) {
print '
<p>Sie haben Ihr Kennwort vergessen? Kein Problem!</p>
<p>Geben Sie im Eingabefeld Ihre hinterlegte Mailadresse an. Sie erhalten
dann an diese Mailadresse Ihre aktuellen Zugangsdaten zugeschickt.
Bitte achten Sie darauf, die richtige Mailadresse richtig einzugeben.</p>
<form action="'. $url_ich .'" method="post">
<input type="hidden" name="article_id" value="'.$ich.'" />
<input type="hidden" name="FORM[pwdsnd]" value="1" />
<input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />
<label for="email">Mail-Adresse</label>
<input id="email" type="text" name="email" size="50" /><br />
<input class="submit" type="submit" value="Kennwort anfordern" />
</form>
';
}
/* Passwortmail senden: --------------------------------------------------------
* $email wurde schon oben gesetzt.
* Aus rex_2_user wird der Datensatz mit dieser mailadresse gesucht. Im Fehlerfall
* geht gibt es eine Meldung und mit "Weiter" kommt man wieder auf die Eingabe.
* Wenn eindeutig(!) gefunden geht eine Mail an diese Adresse.
*/
elseif ($func == 2) {
$sql = new sql;
$sql->setQuery ('SELECT user_login, user_password, user_name, user_firstname FROM '.
$REX['TABLE_PREFIX'].'2_user where user_email = "'.$email.'"');
if ( $sqlerr = $sql->getError() ) {
print 'Oops - Datenbankfehler: <br />'.$sqlerr."<br />\n";
print '<a href="'.$url_ich.'&FORM[pwd]=1">Weiter ...</a>'."\n";
}
elseif ($sql->getRows() != 1) {
print 'Die Mailadresse '.$email.' ist uns nicht bekannt.<br />'."\n";
print '<a href="'.$url_ich.'&FORM[pwd]=1">Weiter ...</a>'."\n";
}
else {
$header = 'From: '.$absender. "\r\n" .'X-Mailer: PHP/' . phpversion();
$text = 'Hallo '.$sql->getValue ('user_firstname', 0).' '.
$sql->getValue ('user_name', 0)."\n\n".
'Du hast Deine Kontaktdaten und das Passwort angefragt. Hier Deine Informationen.'."\n\n".
'_______________________________________________________'."\n\n".
'Login: '.$sql->getValue ('user_login', 0)."\n".
'Passwort: '.$sql->getValue ('user_password', 0)."\n".
'_______________________________________________________'."\n";
$betreff = 'Passwortabfrage';
if (mail($email, $betreff, $text, $header)) {
echo '<p>Ihre Zugangsdaten wurden an die Adresse <b>'.$email.'</b> geschickt</p>'."\n";
}
else {
echo '<p>Es gab ein Problem beim Versand der Zugangsdaten; bitte versuchen Sie es später noch einmal.</p>'."\n";
}
print '<a href="'.$url_ich.'">Weiter ...</a>'."\n";
}
}
/* Login: ----------------------------------------------------------------------
* Im Prinzip ist das der Programmcode aus der Redaxo-Login-Demo.
*/
elseif ($func == 5 ) {
$FORM[loginname] = "Login";
print '
<form action="index.php" method="post" style="margin-top:10px;">
<input type="hidden" name="article_id" value="'.$nach_login.'" />
<input type="hidden" name="FORM[trytologin]" value="1" />
<input type="hidden" name="clang" value="'.$REX['CUR_CLANG'].'" />
'.$msg.'
<div style="width:450px;margin-top:6px;float:left;"><label>Name</label>
<input id="login" class="logintext" type="text" name="FORM[loginname]" value="" /></div>
<div style="width:450px;margin-top:6px;float:left;"><label>Kennwort</label>
<input id="paswd" class="logintext" type="password" name="FORM[loginpasswort]" value="" /></div>
<div style="width:450px;margin-top:6px;float:left;"><input class="submit" type="submit" value="Anmelden" /></div>
</form>
';
}
// Logout: ---------------------------------------------------------------------
else{
print
$msg.'
<p style="text-align:left;">Sie sind angemeldet als: <br><strong><b>'.$_SESSION['USER']->getValue("user_login").'</b></strong></p>
<p style="text-align:left;"><a href="'. $url_nach_logout .'?FORM[LOGOUT]=1">« Logout</a></p>
';
}
}
?>
</div>
eingebunden.
Unter den Punkt [translate:simple_user] habe ich einen Test Dummy eingebunden.
Wenn ich mich nun mit dem User anmelde, und auch wenn ich nix eintrage, sehe ich die Kategorien die Eigentlich nur GruppenUser sehen sollten.
Zur Zeit sind keine Wichtigen Info´s eingetragen
Wo liegt der Fehler??
Hier ist der Link zum Internen Bereich. Der Link
gruß thomas

