[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • NEU: Addon TVSFEUser - Frontend-User-Login - Seite 4
Seite 4 von 5

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 14. Jun 2013, 09:00
von michaelwandel
Hi :)

Ja das nervt mich selbst gerade sehr :-D

Ich schau mir das an ;)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 14. Jun 2013, 13:26
von michaelwandel
Hi,

teste doch mal bitte folgendes Login-Modul:

Code: Alles auswählen

<?php
   
	global $REX;
	$thispage		= "tvsfeuser";
	$areaname		= "feuser";
	$table_pre		= $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid'][$thispage];
	$user_table		= $table_pre . "_user";
	$tvsfe_error	= "";

	if (!isset ($_SESSION)) {
		session_start();
	}			

	// Auslesen von Benutzern und Passworten
	$users = array();
	$sql = new rex_sql();
	$sql->setQuery("SELECT * FROM " . $user_table);
	if ($sql->getRows() > 0 ) {
		for ($i = 1; $i <= $sql->getRows(); $i++) {
			$users[$sql->getValue('login')]['psw'] = $sql->getValue('psw');
			$users[$sql->getValue('login')]['rights'] = $sql->getValue('rights');
			$users[$sql->getValue('login')]['status'] = $sql->getValue('status');
			$sql->next();         
		}
	}

	if (rex_post('username', 'string', '') != "" && rex_post('userpw', 'string', '') == $users[rex_post('username', 'string', '')]['psw']) {
		$userrights_array = explode(",", $users[rex_post('username', 'string', '')]['rights']);
		if ($users[rex_post('username', 'string', '')]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['user']   = rex_post('username', 'string', '');
				$_SESSION[$thispage][$areaname]['rights'] = $users[rex_post('username', 'string', '')]['rights'];
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				unset($_SESSION[$thispage][$areaname]);
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
			unset($_SESSION[$thispage][$areaname]);
			$tvsfe_error = "Benutzerzugriff verweigert!";
		}
	} else {
		$userrights_array = explode(",", $users[$_SESSION[$thispage][$areaname]['user']]['rights']);
		if ($users[$_SESSION[$thispage][$areaname]['user']]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				$_SESSION[$thispage][$areaname]['access'] = "no";
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
				$tvsfe_error = "Benutzerzugriff verweigert!";
		}
	}

	// Frontend?
	if($REX['REDAXO'] != 1) {
		$loginmessage = "Bitte melden Sie sich an!";
		$username = "Benutzername:";
		$password = "Passwort:";
		$buttonlabel = "Anmelden";
		
		// Benutzer nicht angemeldet? Dann Formular anzeigen!
		if ($tvsfe_error != "")
			echo "<p>" . $tvsfe_error . "</p>";
		if(!isset($_SESSION[$thispage][$areaname]) or $_SESSION[$thispage][$areaname]['access'] != "yes") {
			echo "<div class=\"tvsfeuser_login\">";
			echo '<h4>' . $loginmessage . '</h4>
			<form name="loginform" method="post" action="">
			<label for="username">' . $username . '</label><br />
			<input type="text" size="40" name="username" /><br />
			<label for="userpw">' . $password . '</label><br />
			<input type="password" size="40" name="userpw" /><br />
			<input type="submit" name="buttonSubmit" id="buttonSubmit" value="' . $buttonlabel . '" />
			</form>';
			echo "</div>";
		}
		else {
			rex_redirect(rex_get('target_id', 'int', 0), $REX['CUR_CLANG']);
		}
	}

?>
Wenn's klappt dann bau ich das mal ins Addon ein ;-)

Gruß, Michael :)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 14. Jun 2013, 13:51
von sueshi
Die Meldung steht aber immer dort, nicht erst nach dem Betätigen des Buttons. Daran bin ich bisher auch immer gescheitert ...

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 14. Jun 2013, 13:55
von michaelwandel
Ups mist :-D

Ok, ich schaue ;-)

Gruß, Michael :)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 14. Jun 2013, 18:15
von michaelwandel
So, jetzt sollte es klappen ;-)

Code: Alles auswählen

<?php
   
	global $REX;
	$thispage		= "tvsfeuser";
	$areaname		= "feuser";
	$table_pre		= $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid'][$thispage];
	$user_table		= $table_pre . "_user";
	$tvsfe_error	= "";

	if (!isset ($_SESSION)) {
		session_start();
	}			

	// Auslesen von Benutzern und Passworten
	$users = array();
	$sql = new rex_sql();
	$sql->setQuery("SELECT * FROM " . $user_table);
	if ($sql->getRows() > 0 ) {
		for ($i = 1; $i <= $sql->getRows(); $i++) {
			$users[$sql->getValue('login')]['psw'] = $sql->getValue('psw');
			$users[$sql->getValue('login')]['rights'] = $sql->getValue('rights');
			$users[$sql->getValue('login')]['status'] = $sql->getValue('status');
			$sql->next();         
		}
	}

	if (rex_post('username', 'string', '') != "" && rex_post('userpw', 'string', '') == $users[rex_post('username', 'string', '')]['psw']) {
		$userrights_array = explode(",", $users[rex_post('username', 'string', '')]['rights']);
		if ($users[rex_post('username', 'string', '')]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['user']   = rex_post('username', 'string', '');
				$_SESSION[$thispage][$areaname]['rights'] = $users[rex_post('username', 'string', '')]['rights'];
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				unset($_SESSION[$thispage][$areaname]);
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
			unset($_SESSION[$thispage][$areaname]);
			$tvsfe_error = "Benutzerzugriff verweigert!";
		}
	} else {
		$userrights_array = explode(",", $users[$_SESSION[$thispage][$areaname]['user']]['rights']);
		if ($users[$_SESSION[$thispage][$areaname]['user']]['status'] == 1) {
			if (in_array(rex_get('target_id', 'int', 0), $userrights_array)) {
				$_SESSION[$thispage][$areaname]['access'] = "yes";
			} else {
				$_SESSION[$thispage][$areaname]['access'] = "no";
				$tvsfe_error = "Benutzerzugriff verweigert!";
			}
		} else {
                if (rex_post('username', 'string', '') != "" && rex_post('username', 'string', '') != "")
                    $tvsfe_error = "Benutzerzugriff verweigert!";
		}
	}

	// Frontend?
	if($REX['REDAXO'] != 1) {
		$loginmessage = "Bitte melden Sie sich an!";
		$username = "Benutzername:";
		$password = "Passwort:";
		$buttonlabel = "Anmelden";
		
		// Benutzer nicht angemeldet? Dann Formular anzeigen!
		if ($tvsfe_error != "")
			echo "<p>" . $tvsfe_error . "</p>";
		if(!isset($_SESSION[$thispage][$areaname]) or $_SESSION[$thispage][$areaname]['access'] != "yes") {
			echo "<div class=\"tvsfeuser_login\">";
			echo '<h4>' . $loginmessage . '</h4>
			<form name="loginform" method="post" action="">
			<label for="username">' . $username . '</label><br />
			<input type="text" size="40" name="username" /><br />
			<label for="userpw">' . $password . '</label><br />
			<input type="password" size="40" name="userpw" /><br />
			<input type="submit" name="buttonSubmit" id="buttonSubmit" value="' . $buttonlabel . '" />
			</form>';
			echo "</div>";
		}
		else {
			rex_redirect(rex_get('target_id', 'int', 0), $REX['CUR_CLANG']);
		}
	}

?>
Gruß, Michael .-)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 17. Jun 2013, 09:20
von sueshi
Vielen Dank, das ist gleich viel besser!!! Sollte auch gleich in den Addon-Download rein ...

lg,su

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 18. Jun 2013, 12:39
von bugrogers
Vielen Dank für das Super einfach zu verwendende Addon!

Ist es eigentlich möglich, daß man das Loginmodul auch irgendwie so verwenden kann, daß man sich auch direkt einloggen kann ohne vorher auf einen Link klicken zu müssen? Sprich die LoginMaske steht direkt auf der Startseite der Webseite und man gibt die Login-Daten ein und landet dann auf der entsprechend geschützten Seite? Danke für kurze Info - ob das überhaupt geht!

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 18. Jun 2013, 13:06
von rogerhro
Hallo Michi,

ich finde dein AddOn super.

Habe es bei mir installiert nur leider, wenn ich es aufrufen will kommt ein Fehler. Das er die Weiterleitung nicht macht, es ist sehr komisch, hoffe du kannst mir helfen???

Lg Roger

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 18. Jun 2013, 13:11
von michaelwandel
Mmmh, da muss ich mal Schaaaaaf drüber nachdenken, das bisherige Prinzip ist leider nicht immer ersichtlich ;)

Mal schauen :)

Gruß, Michael :-)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 18. Jun 2013, 13:14
von michaelwandel
Hi Roger,


ööhm was macht er genau wenn Du wo hinklickst ? ;-)

Du musst auf jeden Fall eine separate Login-Seite mit dem beiliegenden Modul anlegen und beim Addon dies als Login-Seite angeben :-)

Gruß, Michael :-)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 18. Jun 2013, 13:26
von rogerhro
Hey Michi,

nun ist der Fehler weg aber da kommt der Login nicht =/

Also modul ist drin aber wird nicht angezeigt.

Edit: fehler wieder da =/...ich werde gleich verrückt

Edit: Habe es hinbekommen =)

LG

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 20. Jun 2013, 08:04
von michaelwandel
Fein ;-)

Irgendwas was man evtl. noch berücksichtigen sollte damit sowas nicht vorkommt ? :)

Gruß, Michael :)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 15. Aug 2013, 12:07
von svenalbert
Hallo Michael,

gibt es Erfahrungen mit der Funktionalität des Addons unter REX 4.5?

Viele Grüße,
Sven

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 15. Aug 2013, 12:11
von michaelwandel
Hi Sven,

sollte eigentlich funktionieren ;-)

Habe es leider noch nicht im Einsatz bei einem 4.5-er Projekt aber aktiviert ist es und scheint zu laufen ;-)

Einfach mal testen ;-)

Gruß, Michael :

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 15. Aug 2013, 21:40
von svenalbert
Hi Michael, danke für die schnelle Antwort.

Gut, das mit dem Testen hab' ich gemacht und es tut es, aber ...


... blöderweise tut es nicht genau das, was ich dachte dass es tut. Das Addon greift ja die geschützten Artikel ab und leitet auf die Loginseite weiter.
Ich wollte es jetzt so umarbeiten, dass, wenn man direkt auf der Loginseite ankommt und sich einloggt, dann auf die erste (weil bei mir einzige) Seite weitergeleitet wird. Derzeit passiert da ja nichts. Oder sollte da was passieren und es liegt an der Rex-Version?

Leider ist das Modul relativ schlecht kommentiert und ich blicke noch nicht zu 100% durch, aber ich denke ich muss, wenn keine Target-ID übergeben wurde, eine alternative ID für das rex_redirect geben können.

Der erste Schlag ging grad daneben. Hast Du ne fixe Idee? Du kennst Dein Skript besser.

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 27. Aug 2013, 11:52
von syn
svenalbert hat geschrieben: ... blöderweise tut es nicht genau das, was ich dachte dass es tut. Das Addon greift ja die geschützten Artikel ab und leitet auf die Loginseite weiter.
Ich wollte es jetzt so umarbeiten, dass, wenn man direkt auf der Loginseite ankommt und sich einloggt, dann auf die erste (weil bei mir einzige) Seite weitergeleitet wird. Derzeit passiert da ja nichts. Oder sollte da was passieren und es liegt an der Rex-Version?
ich habe gerade genau das selbe problem unter 4.5!
das wäre super wenn das geht oder gefixt wird.

und noch eine frage zum schluss. ist geplant benutzer gruppen einzubinden? wäre top!

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 28. Aug 2013, 07:52
von michaelwandel
hi :)

Na kein Problem, Sven hat sich des Problems angenommen und es war eigentlich nur eine kleine Änderung im Ausgabemodul notwendig, ist in der kommenden Version berücksichtigt, ich schaue mal das ich das nächste Woche zusammenpacke ;-)

Gruß, Michael :)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 10. Sep 2013, 21:23
von steffen
Gibt es hier schon etwas Neues? Ich habe eine 4.5 Installation und bekomme tvsfeuser nicht zum Laufen. Falls es relevant ist: Ich nutze full url rewriting.

Mir würde auch ein konkreter Hinweis, was ich ändern muss, reichen.

Danke für eure Arbeit
Steffen

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 29. Nov 2013, 16:30
von karlnappmitdenasskap
Hallo,

ich habe TVSFEUser 0.7 jetzt mal testweise installiert auf REX 4.4.1 mit RexSEO.

Ist ja nicht allzuschwierig:
- AddOn installiert u. kativiert
- Login- u. Logout-Modul angelegt
- extra neue Kategorie als Geschützten Bereich angelegt
- Kategorie z. Login angelegt
- Module dort entsprechend eingebunden
- dann im AddOn Kategorie Geschützter Bereich markiert u. Login auf entsprechenden Artikel gelegt, - - - dann Benutzer angelegt u. Rechte für Geschützter Bereich vergeben.

Dann mal vorsorglich Cache gelöscht... :D

Einloggen kann ich mich jetzt wunderbar. Wenn ich allerdings auf den Logout-Button klicke, werde ich nicht ausgeloggt.
In der "tvsfeuser.ini" sind d. Arikel für d. Geschützten Bereich u. Login richtig gespeichert.
Es hängt irgendwo in der Ausgabe d. Logout-Moduls.
Ich habe deshalb dort mal testweise die ganzen IF-Abfragen rausgenommen, sodass direkt "unset($_SESSION[$thispage][$areaname]);" ausgeführt wird.
Logische Konsequenz: Wenn man in der Navigation auf den Geschützten Bereich klickt, in dem dieses Logout-Modul eingefügt ist, wird man direkt ausgeloggt - das klappt. :P
Es hakt also irgendwo bei der Kontrolle der Session vorher...denke ich. :oops:

Woran könnte das liegen?

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 16. Feb 2014, 02:25
von VX500
Hallo,

kann man irgendwie mit einer SQL-Abfrage aus der Tabelle 784_user den Benutzernamen (name oder ggf. login) auslesen und im eingeloggten Zustand auf der Website anzeigen?

So dass man als Frontenduser sieht, mit welchem Benutzernamen man gerade eingeloggt ist.

Grüße
Sascha

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 17. Feb 2014, 10:23
von michaelwandel
Hi,

ganz einfach kannst Du schon mal den eingeloggten User auslesen, der steht ja in der Session-Variable:

Code: Alles auswählen

$_SESSION['tvsfeuser']['feuser']['user']
Gruß, Michael :-)

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 27. Feb 2014, 02:00
von VX500
Hallo Michael,

danke für Deinen Tipp mit der $session! Funktioniert super.

Viele Grüße,
Sascha

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 4. Mär 2014, 17:50
von beyben
na hgi und danke fuer das addon - benutze rex 4.5 und es laeuft gut. ich suche seit einer weile den ansatz von svenalbert umzusetzen, soll heissen, ich versuche gerade den ersten geschuetzten bereich eines users anzuspringen, wenn target_id = 0:
ziemlich am ende des login-moduls wollte ich die target_id abfragen, denn wenn ich mich auf der login-seite anmelde, kommt einfach nur wieder die seite ansich.
ich habe für

Code: Alles auswählen

rex_redirect(rex_get('target_id', 'int', 0), $REX['CUR_CLANG']);
das versucht:

Code: Alles auswählen

			$targett = rex_get('target_id', 'int', 0);

			if ($targett != '0') {rex_redirect($targett, $REX['CUR_CLANG']);}
			else {echo '<script type="text/javascript">alert("kein target gesetzt")</script>';}
aber leider haut das nicht hin - denn wenn das javascript ausgegeben werden wuerde, koennte ich hier ich hier dem nutzer entsprechend den ersten [rights] als target geben... bei der ausgabe von rex_get('target_id', 'int', 0) wird aber immer '0' ausgegeben...

hat einer nen ansatz? wars verstaendlich? ben

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 4. Mai 2015, 11:15
von meugel
Hallo,

hat jemand schon versucht, das AddOn in Verbindung mit SEO42 zu laufen zu bringen?
Redaxo 4.6.1
PHP 5.5.24
MySQL 5.1.51

Re: NEU: Addon TVSFEUser - Frontend-User-Login

Verfasst: 8. Mai 2015, 13:22
von Popkultur
Hi,

Ich versuche RexSearch anzupassen, so dass in geschützten Bereich andere Suchergebnisse auftauchen mit dem Hinweis "Sie suchen im geschützten Bereich".

Dazu muss ich wohl feststellen, ob der Besucher eingeloggt ist, sowie ob er die erforderlichen Rechte hat für jedes Einzel-suchergebnis dass es angezeigt wird (Sonst landet er ja auf der Loginseite).

Wie gehe ich da ran?

PS: Ja, bei mir läuft es mit SEO42, aber ich war es nicht, der das eingebaut hat.