Deutschland United States United Kingdom
ContentLion - Open Source CMS

QA Register

QA Register

Das Plugin Register habe ich noch nicht komplett getestet. Mir ist aber aufgefallen, dass immer fest mit der Role-ID 4 gearbeitet wird. Das können wir leider nicht so machen, da man in der Rollenverwaltung die Rollen verschieden tauschen kann. Schön wäre es, wenn man beim Anlegen der Registrieren-Seite bereits die Rolle auswählen kann, die der User bekommen soll.

Was mir schon gut gefallen hat, ist dass geprüft wird, ob die Abhängigkeiten (plugindata) bereits vorhanden sind. Das hab ich bei meinen Plugins so noch nicht gemacht. Was nicht so toll ist, ist das exit, mir dem die komplette Ausführung der Seite beendet wird. So wird z.B. der Footer der Seite gar nicht mehr geladen. Hier sollten wir uns etwas anderes ausdenken. Siehe activate.php.

Die Übersetzungen werden schon teilweise genutzt, allerdings stehen an vielen Stellen noch feste Texte drin. Da wäre es schön, wenn man diese noch durch die Tokens ersetzen könnte. In der activate.php muss man die Language-Datei per Include laden. Hier sollten wir und auch nochmal was überlegen.

Meine Änderungen im Code:
- trunk und branch hinzugefügt

Das Plugin Register habe ich noch nicht komplett getestet. Mir ist aber aufgefallen, dass immer fest mit der Role-ID 4 gearbeitet wird. Das können wir leider nicht so machen, da man in der Rollenverwaltung die Rollen verschieden tauschen kann. Schön wäre es, wenn man beim Anlegen der Registrieren-Seite bereits die Rolle auswählen kann, die der User bekommen soll.

Stimmt!
Werde eine Einstellung hinzufügen, mit der man das auwählen kann. ;)
Habe dies auch bei meinem Plugin "vbulletinimportuser" so gemacht, nur dass da die Einstellungen in ner Datei gespeichert werden. ;)


Was mir schon gut gefallen hat, ist dass geprüft wird, ob die Abhängigkeiten (plugindata) bereits vorhanden sind. Das hab ich bei meinen Plugins so noch nicht gemacht. Was nicht so toll ist, ist das exit, mir dem die komplette Ausführung der Seite beendet wird. So wird z.B. der Footer der Seite gar nicht mehr geladen. Hier sollten wir uns etwas anderes ausdenken. Siehe activate.php.

Danke! :)

@exit:
Stimmt! Diese Variante finde ich auch überhaupt nicht schön, aber ich habe keine andere Möglichkeit gefunden...


Die Übersetzungen werden schon teilweise genutzt, allerdings stehen an vielen Stellen noch feste Texte drin. Da wäre es schön, wenn man diese noch durch die Tokens ersetzen könnte. In der activate.php muss man die Language-Datei per Include laden. Hier sollten wir und auch nochmal was überlegen.

Meine Änderungen im Code:
- trunk und branch hinzugefügt


Hmmm...
Das liegt aber voralle daran, dass ContentLion z.Z. noch einen Bug darin hat, s. anderen Thread.
Aber in den Template-Dateien kann man das ändern. Derzeit habe ich als Sprache auch nur deutsch angegeben, wollte sowas dann als nächstes Update rausbringen. Ich finde, dass User- & Registrierungssystem ist eines der wichtigsten Sachen jetzt, womit wir CL vorwärts bringen können. Deßhalb wolte ich die User nicht zu lange warten lassen. ;)

EDIT:
Wie mit Include?

einfach das Array reinladen und an Hand der die Übersetzungen holen^^

http://www.php.net/manual/de/function.include.php

So,

mal weiter getestet.

- Wenn z.B. die Passwörter nicht übereinstimmen am besten den Benutzernamen und die E-Mail gefüllt lassen, damit man es nicht nochmal eingeben muss
- Ist das E-Mail Format falsch, die Passwörter aber gleich, wird trotzdem angegeben, dass die Passwörter ungleich sind.
- Beim Ändern-Button beim Registrieren ist bei mir kein Text zu sehen
- Wäre gut, wenn man auch eingeben könnte, wohin der User nach der Registrierung geleitet wird. Und das am besten mit dem PHP-Header Location und nicht mit JavaScript ;-) (Schau dir mal die Weiterleitung im Login oder Logout Plugin an)

Weiß schon.^^
Aber ich will erst nach 5 Sek. weiterleiten. ;)

@Übersetzung:
Aber die

PHP-Quelltext

1
DataBase::Current()->ReadRows("SELECT * FROM `...` ...");
gibt ja den Error zurück.^^

@Formular:
Stimmt... Werde das mal versuchen, zu verbessern... ;)

@Ist das E-Mail Format falsch, die Passwörter aber gleich, wird trotzdem angegeben, dass die Passwörter ungleich sind.: Hä? ?( ^^

Und was ist mit Usern ohne JavaScript? Da müsste noch ne meta-weiterleitung rein. Am besten machst du es auch auswählbar.

gibt mal "test" als E-Mail ein und zwei gleiche Passwörter.

Wieso?
Funktioniert dass denn nicht? :D
Da kommt eig. nur ne Fehlermeldung, wenn es schon einen User mit dem Benutzernamen gibt.^^

Hmm, hast ja nen Link drin. Dann lassen wir das mal so (aber nicht wundern, wenn ich mein eigenes Registrieren-Plugin rausbringe :) ).

Hmm, irgendwie kann ich jetzt auch ne falsche Mail-Adresse angeben. Dann hat sich der erste Fehler erledigt. Solltest die Mail aber validieren, weil "test" ist keine Mail-Adresse ;-) Lässt sich mit Regex machen.

Hmm, hast ja nen Link drin. Dann lassen wir das mal so (aber nicht wundern, wenn ich mein eigenes Registrieren-Plugin rausbringe :) ).

Ok, dann behebe ich es halt. ^^


Hmm, irgendwie kann ich jetzt auch ne falsche Mail-Adresse angeben. Dann hat sich der erste Fehler erledigt. Solltest die Mail aber validieren, weil "test" ist keine Mail-Adresse ;-) Lässt sich mit Regex machen.

Richtig! Das ist nämlich nicht Umfang dieses Plugins. ;)
In nem anderem Thread habe ich bereits geschrieben, wie man so etwas ganz einfach realisieren kann. ;)
Grund ist die Anpassbarkeit. Deßwegen wirft das Plugin auch so unendlich viele Events. ^^
Es ist ganz einfach, so eine Überprüfung als Plugin zu bauen und vllt. noch bei SpamAssis (oder wie das heißt), nachzuschauen, ob die Mail-Adresse einem Spam-Bot gehört. ;)
Du hast ja selbst gesagt, dass wir viele kleine Plugins haben wollen, damit wir einzelne einfach "austauschen" können. :D
Dieses Konzept habe ich bei diesem Plugin angewandt, hätte ich diese Überprüfung gleich mit realisiert, könnte man diese später nicht so einfach ersetzen. ;)

PS:
Mit dem Event "plugin_register_finish" lässt sich übrigens auch so eine HTTP-Weiterleitung realisieren, indem man wie beim BlankPage-Plugin die aktuelle Ausgabe löscht und dann mittels

PHP-Quelltext

1
header(Location: ...);
auf eine neue Seite weiterleitet. ;)

PS:
Für die Mail-Überprüfung hatte ich sogar nen extra Event "plugin_register_checkMail" werfen lassen. :D

Hier noch ein Plugin, welches die E-Mail validiert / überprüft: ;)
registercheckmail.zip

Geht sogar auch ohne Regex, da PHP für so etwas eine extra Methode "filter_var($email, FILTER_VALIDATE_EMAIL)" bereitstellt. ;)
--> http://php.net/manual/de/filter.examples.validation.php

Sehe ich nicht so. Für die Validität der Daten muss an jeder Stelle gesorgt werden. Das macht keinen Sinn, nur für die Validierung der E-Mail Adresse ein weiteres Plugin rauszubringen.

Wenn überhaupt die andere Richtung. Du machst eine Klasse E-Mail, in der auch eine Überprüfung statt findet. Die register nutzt diese dann und gibt ne Meldung aus, wenn die falsch ist.

Ok, dann integriere ich es gleich noch... :/

So, habs gleich mal eingebaut. ;)
(Revision: 5)

Ein Captcha-Bild folgt übrigens noch. ;)

Ich werde ein Plugin erstellen, welches unter anderem eine Einstellung erstellt, mit der man sein Captcha-Modul auswählen kann. ;)
Das Plugin liefer ich gleich mit, bzw. trage es in die Voraussetzungen ein, da es die Datenbank-Struktur für die Captcha-Module erstellt. ;)

Hier mal nen Screenshot von nem Captcha-Script, welches ich mit nem kleinem Tut erstellt habe:


Natürlich kann man im Backend dann auch Größe, Schriftart, Hintergrund usw. einstellen. ;)

So, habe das Plugin nochmal komplett überarbeitet, vorallem die Struktur des Codes, damit dieser besser lesbar ist.
Bitte nochmal testen! ;)

Diesmal habe ich EXTRA FÜR STEFAN^^ eine HTTP-Weiterleitung eingebaut. :D
Die Seite, auf die Weitergeleitet wird, wird dynamisch per Plugin "PluginData" geladen und kann so auch beeinflusst werden. (Plugin_PluginData_Data::Current()->setData("plugin_register_redirection", "<Dein Alias>")).
Ebenfalls vorhanden ist eine Fallback-Variante, falls jemand keine HTTP-Weiterleitungen mag.
Hier kann man mittels

PHP-Quelltext

1
Plugin_PluginData_Data::Current()->setData("plugin_register_http_redirection"0);

den Wert auf "0" stellen und es wird die normale Seite mit HTML-Weiterleitung angezeigt. ;)

- Hast noch was vergessen. Schau dir mal den zweiten Satz dieses Threads an ;-)
- Und auch hier weider Tabs statt leerzeichen.

Ok, der Vorschlag ist sehr gut! ;)
Werde ich noch integrieren. ;)

@Tabs:
Ich schau mal. ;)

Ähnliche Themen