Ursprünglich von svarrer.dk (v. 0.1-1.7),
weitergeführt von ge-webdesign.de (v. 2.0-2.3),
und weiter entwickelt ab Version 3 Svasti
(3.1 mit Hinweisen von cmb zur Verbesserung der Sicherheit,
und 3.2 mit Code von cmb zur Anzeige von gegenwärtig aktiven Nutzern).
Memberpages (Mitgliederseiten) hat zwei Anwendungsbereiche:
Per Nutzer können Nutzername, Passwort, Zugangsberechtigungsneivau, E-Mail-Adresse, vollständiger Namen und Ablauf der Mitgliedschaft erfasst werden. Eingeloggte Nutzer können Passwort, E-Mail-Adresse und angezeigten vollständigen Namen ändern. Memberpages kann Mitgliederseiten unterschiedlich hohe Zugangsniveaus zuweisen, so dass mur Nutzer mit entsprechend hoher Berechtigung diese sehen können.
Memberpages führt ein Log über alle Ein- und Auslog-Vorgänge.
Benutzername und Passwort dürfen äöüß, Sonderzeichen (z.B. Apostroph) und außereuropäische Zeichen enthalten, aber nicht ", Komma und Leerzeichen. Der vollständige Name darf zusätzlich Leerzeichen enthalten.
Wichtigste Änderungen gegenüber Version 2.3 :
Neue Version über alte installieren. Zum Pluginbackend gehen und "Plugin aktivieren" klicken.
Zuerst Ort und Name der bisherigen Mitglieder-Datei feststellen.
Dann analog zu oben die neue Version über die alte installieren und aktivieren. Im Pluginbackend über den Link "Dateispeicherort" (unten auf der Einstellungsseite) zur Konfiguration des Dateiorts gehen. Zuerst die richtige Dateiart über den Button einstellen, also entweder php oder csv. Danach die Adresse und Bezeichnung der alten Mitgliederdatei eingeben. Anschließend Speichern und zu Mitgliederliste gehen und um festzustellen, ob die alte Mitgliederliste gefunden wurde.
Danach könnte man die alten CMSimple-Scripting Befehle für die Memberpages aus dem Text löschen und in der Plugineinstellung nur noch Seitenreiter die Mitgliederseiten bestimmen lassen.
Zip-Datei entzippen und den Ordner "memberpages" in CMSimples Plugin-Ordner kopieren. Dann das Login-Eingabeformular entweder ins Template oder auf eine Seite einfügen.
Die Templatedatei öffen und folgenden php-Code einfügen, wo das Loginformular erscheinen soll:
<?php echo memberslogin();?>
Diesen Befehl auf die Seite schreiben:
#CMSimple $output.=memberslogin();#
oder: {{{PLUGIN:memberslogin();}}}
Wenn das Loginformular auf einer Seite steht, sollte man die Nachricht, ob man eingeloggt ist oder nicht im Template unterbringen. Diese Nachricht ist nur für eingeloggte Benutzer sichtbar.
In die Templatedatei folgenden Code an entsprechender Stelle einfügen:
<?php echo membersnotice();?>
… memberslogin();
… erzeugt etwa ein Login-Feld wie dieses:
Nach dem Login ändert sich das Aussehen etwa so:
Wenn man Memberpages nicht zum Verstecken von Seiten nutzt, sollte man beide Methoden zum Seitenverstecken (siehe unten) ausschalten.
Wenn Sie Forum_XH 1beta1 nutzen und de vollständigen Namen der Nutzer im Forum anzeigen wollen, sollten Sie Zeile 170 in plugins/forum/index.php ändern von:
return isset($_SESSION['Name']) ? $_SESSION['Name'] : (
zu
return isset($_SESSION['fullname']) ? $_SESSION['fullname'] : (
Zwei verschiedene Methoden stehen zur Verfügung. Eine von beiden, beide oder keine kann angekreuzt werden. Ist keine Methode angekreuzt, kann Memberpages als Einwahlmöglichkeit für andere Plugins dienen. Ungenutzte Methoden sollten abgewählt werden um unnötige Berechnungen zu vermeiden.
Einfach über Seitenreiter oberhalb des Editor Menüs Mitgliederseiten einstellen. Das Zugangsniveau kann man dort ebenfalls einstellen, solange nicht die Option "Mitglieder sehen alle Mitgliedsseiten" eingestellt wurde. Die Einstellungen der Seitenreiter werden in der pagedata.php gespeichert. Beim Abwählen der Seitenreitermethode wird die entsprechenden Einträge in der Pagedata.php gelöscht.
#CMSimple member();#
in den Text erstellenAuf die Seiten, die Mitgliederseiten werden sollen, den Code #CMSimple member();#
oder {{{PLUGIN:member();}}}
einfügen.
Den Zugangslevel zwischen Klammern angeben, z.B.
#CMSimple member(3);#
oder {{{PLUGIN:member(3);}}}
für Level 3.
Ohne Zugangslevel ist die Seite für alle Mitglieder sichtbar.
Bitte beachten: Wenn der Befehl member(); auf irgendeiner Seite im Text steht, ohne dass diese Methode im Plugin eingestellt ist, gibt es bei Anwahl dieser Seite einen fatalen php-Fehler, und die Seite bleibt weiß. (Php sucht dann nämlich die Funktion member(), die es nicht gibt.) Das Plugin versucht eine solche Situation zu verhindern indem bei Vorhandensein dieses Aufrufs im Text die Änderung der Methode verweigert. Von einer Zweitsprache oder Subsite aus, kann trotzdem eine solche Situation erzeugt werden. Fall also diese Missgeschick passiert, mit dem Browser zurückgehen, Bearbeitungsmodus einstellen und #CMSimple member();# im Text löschen.
Mitgliederseiten ohne Zugangslevel (= Zugangslevel 0) können von allen Mitgliedern gesehen werden. Für den Zugang zu einer Seite mit Zugangslevel gibt es folgende Einstellungen:
Die Wirkung der Zugangsmodi kann man schön sehen, wenn man einem fiktiven Mitglied die Zugangberechtigung 3 gibt, Seiten mit Zugangsleveln 0, 1, 2, 3, 4 anlegt und sich als dieses Mitglied anmeldet. Bei Einstellung ALLE Mitgliederseiten sieht man dann im CMSimples Seitenmenü alle Mitgliederseiten 0, 1, 2, 3, 4; bei GLEICHEM oder NIEDRIGEREM Level nur noch Seiten 0, 1, 2, 3; bei mit GLEICHEM oder ohne Level 0, 3; und bei Pro Mitglied im Einzelnen 0, 1, 2 (hier wird die Zahl 3 in die Dualzahl 00011 umgewandelt, woraus dann die Zugangsberechtigungen abgeleitet werden).
Wenn man dieses Feld in der Konfiguration anstellt, können Benutzter es anklicken. Dann wird im Computer des Nutzers ein Cookie nach dem Login gespeichert. Klickt der Nutzer allerdings anschließend auf Abmelden, wird das Cookie wieder gelöscht und er muss sich beim nächsten Besuch wieder einloggen.
In den Plugineinstellungen kann angekreuzt werden, dass ein entsprechender kleiner Link unter dem Einlogknopf gezeigt wird. Durch Klick darauf gelangt der Websitebesucher zu einem Menü in dem er sein Passwort durch Angabe seines Benutzernamens anfordern kann. Liegt für diesen Namen eine E-Mail-Adresse vor, wird das Passwort verschickt.
Damit das Plugin überhaupt E-Mails verschicken kann, muss eine Absender-E-Mailadresse unter E-Mail der Site
eingetragen sein.
Ohne diesen Eintrag kann "Passwort vergessen?" nicht ausgewählt werden.
Man kann noch eine Admin-E-Mail-Adresse
in den Plugineinstellungen eingeben:
Steht der angegebene Benutzernamen nicht in der Mitgliederliste oder liegt keine E-Mail-Adresse zu dem Benutzernamen vor, wird eine
Nachricht an die Admin-E-Mail-Adresse geschickt, oder, falls diese nicht eingegeben wurde,
an die Site-E-Mail.
Aufgrund der Vorversionen gibt es zwei Arten die Mitgliederdaten zu speichern. Entgegen den Vorversionen können nicht mehr beide Möglichkeiten gleichzeitig genutzt werden:
Hat man die Mitgliederliste in einer php-Datei gespeichert, kann man später im Plugin leicht auf csv-Speicherung umsteigen. Auf der Seite #Einstellg." befindet sich unten der Link "Dateispeicherort". Über diesen Link kommt man zu dem Button "php-Daten in csv-Datei bringen".
Vorteil der Nutzung der csv-Datei:
Ist ein Mitglied eingeloggt, erscheint neben dem Logout-Button der Link 'Daten äöndern". Dieser Link führt zum "Mitglieder Control Panel",
in dem ein Mitlgied sein Passwort und seine E-Mail-Adresse ändern kann.
Außerdem lassen sich csv-Mitglieder-Dateien leicht Hoch- und Runterladen über den entsprecheden Button.
Die csv-Datei kann in Tabellenkalkultionsprogrammen wie Microsoft Excel bearbeitet werden.
(Die csv-Datei besteht aus einfachen durch Komma getrennten Werten pro Zeile: Benutzername,Passwort,Zugangslevel,E-Mail-Adresse,Vollständiger Name
)
Nachteil: Die csv-Datei muss gegen unbefugtes Auslesen besonders geschützt werden. Ohne Schutz kann sie zusammen mit den Passworten durch einfache Eingabe der Adresse im Browser von jedem im Internet gelesen werden.
Die Mitglieder-Datei kann an einer beliebigen Stelle des Servers gespeichert werden. Speicherort und sogar Name der Datei (allerdings muss die Dateiendung beibehalten werden) können über den Zugang durch den Link "Dateispeicherort" eingegeben werden.
Dort kann man auch csv-Mitgliederlisten hoch- und runterladen sowie ein Backup wiederherstellen.
Wird eine csv-Datei gewählt, ist sie normalerweise durch einen einfachen Aufruf im Internet einsehbar. Um das zu verhindern ist der vorgegebene Speicherort durch eine .htaccess-Datei geschützt. Wenn man die Datei an einen anderen Ort legt, sollte die .htaccess Datei ebenfalls dorthin kopiert werden.
Eine php-Datei als Mitgliederdatei braucht nicht besonders geschützt zu werden.