Deutschland United States United Kingdom
ContentLion - Open Source CMS

QA ChangePassword

QA ChangePassword

"Erlaubt es dem User, sein eigenes Passwort zu ändern. (100% Fertig!)"

Erstmal vorab: JuKus Plugins werden langsam besser ;-)

Repository: http://code.contentlion.de/Plugin+Changepassword/

Meine Testergebnisse:
1. MySQL-Warnungen wenn man index.php?include=admin/changepassword&old_password[]=test&new_password[]=test&confirm_password[]=test aufruft (musst mit is_string prüfen):

( ! ) Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in F:\contentlion\system\classes\mysql.php on line 121
Call Stack
# Time Memory Function Location
1 0.0004 143032 {main}( ) ..\index.php:0
2 2.0887 571392 SkinController::displayCurrent( ) ..\index.php:27
3 2.0899 591344 include( 'F:\contentlion\system\skins\backenddefault\index.php' ) ..\skincontroller.php:144
4 2.0932 657664 sys::includeContent( ) ..\index.php:42
5 2.0932 657688 Page->getContent( ) ..\sys.php:4
6 2.0935 657728 Plugin_ChangePassword_Page->display( ) ..\page.php:112
7 2.0953 715264 MySQL->EscapeString( ) ..\page.php:20
8 2.0953 715296 mysqli->real_escape_string( ) ..\mysql.php:121


( ! ) Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in F:\contentlion\system\classes\mysql.php on line 121
Call Stack
# Time Memory Function Location
1 0.0004 143032 {main}( ) ..\index.php:0
2 2.0887 571392 SkinController::displayCurrent( ) ..\index.php:27
3 2.0899 591344 include( 'F:\contentlion\system\skins\backenddefault\index.php' ) ..\skincontroller.php:144
4 2.0932 657664 sys::includeContent( ) ..\index.php:42
5 2.0932 657688 Page->getContent( ) ..\sys.php:4
6 2.0935 657728 Plugin_ChangePassword_Page->display( ) ..\page.php:112
7 2.1754 715296 MySQL->EscapeString( ) ..\page.php:21
8 2.1754 715328 mysqli->real_escape_string( ) ..\mysql.php:121


( ! ) Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in F:\contentlion\system\classes\mysql.php on line 121
Call Stack
# Time Memory Function Location
1 0.0004 143032 {main}( ) ..\index.php:0
2 2.0887 571392 SkinController::displayCurrent( ) ..\index.php:27
3 2.0899 591344 include( 'F:\contentlion\system\skins\backenddefault\index.php' ) ..\skincontroller.php:144
4 2.0932 657664 sys::includeContent( ) ..\index.php:42
5 2.0932 657688 Page->getContent( ) ..\sys.php:4
6 2.0935 657728 Plugin_ChangePassword_Page->display( ) ..\page.php:112
7 2.2004 715328 MySQL->EscapeString( ) ..\page.php:23
8 2.2004 715360 mysqli->real_escape_string( ) ..\mysql.php:121

- Die Url nach dem Absenden ist nicht mit mod_rewrite umgeschrieben. Benutzte hierfür einfach die UrlRewriting-Klasse.
- Die Seite hat gar keine Überschrift
- Fehlermeldungen oder ähnliches am besten nicht mit Inline-CSS machen, damit sie auch überschrieben werden könnten (BTW: #f00 ist hässlich)
- Das "Ändern:" würe ich rausnehmen, dass steht ja schon im Button, haben wir nirgens so.

Kurze frage dazu. Brauche ich da mein altes PW? :D

Ja. ;)

@QA:
Danke! :)

Wieder was dazu gelernt! ^^
Wusste gar nicht, dass das geht. :D

Habe das Ganze mal behoben. ;)
Damit ist das Plugin bereit für die nächste Test-Runde! :)

Ich schreibe heute ein Plugin um das PW zurücksetzen zu lassen, wenn man es verhgessen hat^^ Mal schauen wie das ankommt :D

Dann aber bitte mit Mail-Versand! ;)
Frag mich nur, wie du das in die Oberfläche integrieren möchtest, im Admin-Menü hat das ja keinen Sinn. ^^

Wirst dann sehen :D Ich habe schon ne Idee :D

Werd ich mir dann morgen nochmal anschauen.

@Password vergessen: Als neuen Seitentyp anlegen, muss ja nicht ins Backend-Menü.

Schon beinahe perfekt, nur noch ein paar Kleinigkeiten:

- Successful schreibt man mit drei s (dachte du hattest eine Sprachreise :-P)
- Du kannst den SQL-Query abkprzen und statt mit ReadRow mit ReadField arbeiten. So bekommst du nur ein Feld (im SQL dann statt * ein "password" eingeben
- Das mit dem CSS ist jetzt nur zum Teil besser. Denn das CSS steht ja immer noch im HTML und wird somit mit jedem Aufruf aufgerufen und da es unten steht i.d.R. auch bevorzugt. Lager das mal als CSS-File aus. Einbinden kannst du es, wenn du in der Page-Klasse die Funktion getHeader überschreibst.
- Die Farben sind immer noch schlimm. Nimm mal #2ba700 und #a70000
- Warum schreibst du die Sprachvariablen manchmal GROß und manchmal klein? Am besten alles groß und mit Unterstrichen, dann ist es einheitlich.
- Für Einrücken am besten immer Tabs statt Leerzeichen benutzen, so sparen wir Speicher und vor allem Traffic
- "The password isn't the current password!" in "The current password isn't correct" o.Ä. umbenennen. Hört sich derzeit irgendwie seltsam an^^
- Überschrift kannst du doch wieder rausnehmen. Der Backend-Skin ist derzeit wohl kaputt, deswegen wurde die überall nicht angezeigt. Hab das schon gefixt: http://code.contentlion.de/diff.php?repn…index.php&rev=5

Wie gesagt, sind nur Kleinheiten ;-) Danach steht der Veröffentlichung glaub ich nichts mehr entgegen^^

Werd ich mir dann morgen nochmal anschauen.

@Password vergessen: Als neuen Seitentyp anlegen, muss ja nicht ins Backend-Menü.


Auf die Idee bin ich auch schon gekommen. :D
Aber ich habe 1 Problem gesehen: Wenn jedes Plugin nen Seiten-Typ anlegt, ist ContentLion zwar noch flexibler, aber die Übersicht geht leider beim "Seiten Erstellen" verloren. :(
Habs aber trotzdem mal hinzugefügt. ;)
Außerdem habe ich noch eine Änderungen vorgenommen:
Es wird jetzt noch ein Event (plugin_changepassword_change) geworfen, wenn das Passwort erfolgreich geändert wurde, sodass man dann auch wieder darauf reagieren kann. ;)

Schon beinahe perfekt, nur noch ein paar Kleinigkeiten:

- Successful schreibt man mit drei s (dachte du hattest eine Sprachreise :-P)
- Du kannst den SQL-Query abkprzen und statt mit ReadRow mit ReadField arbeiten. So bekommst du nur ein Feld (im SQL dann statt * ein "password" eingeben
- Das mit dem CSS ist jetzt nur zum Teil besser. Denn das CSS steht ja immer noch im HTML und wird somit mit jedem Aufruf aufgerufen und da es unten steht i.d.R. auch bevorzugt. Lager das mal als CSS-File aus. Einbinden kannst du es, wenn du in der Page-Klasse die Funktion getHeader überschreibst.
- Die Farben sind immer noch schlimm. Nimm mal #2ba700 und #a70000
- Warum schreibst du die Sprachvariablen manchmal GROß und manchmal klein? Am besten alles groß und mit Unterstrichen, dann ist es einheitlich.
- Für Einrücken am besten immer Tabs statt Leerzeichen benutzen, so sparen wir Speicher und vor allem Traffic
- "The password isn't the current password!" in "The current password isn't correct" o.Ä. umbenennen. Hört sich derzeit irgendwie seltsam an^^
- Überschrift kannst du doch wieder rausnehmen. Der Backend-Skin ist derzeit wohl kaputt, deswegen wurde die überall nicht angezeigt. Hab das schon gefixt: http://code.contentlion.de/diff.php?repn…index.php&rev=5

Wie gesagt, sind nur Kleinheiten ;-) Danach steht der Veröffentlichung glaub ich nichts mehr entgegen^^


Ja, aber so gut bin ich deßwegen auch wieder nicht geworden. :D
Query hab ich gekürzt. ;)
(Obwohl ich selbst auch an dem Wort gezweifelt hab ^^ )

Habe auch bei den CSS-Klassen gleich den Namespace berücksichtigt: plugin_changepassword_successful. ^^
Und Danke für die Farben, meine waren ja nur Standart-Farben. :D
(Zu Faul zum Mischen ^^ )

@Sprachvariablen:
In den Language-Files? Habe ich geändert. ;)
Ist jetzt alles groß. ;)

@Einrücken:
Mach ich eig. auch immer. ^^
(Ich tippel doch nicht die ganzen Leerzeichen! :D )

@Lang:
Habs in "The current password is incorrect!" umbenannt, das klingt glaube besser. ;)

@Überschrift:
Hab mich schon gewundert, weil sie bei mir doppelt angezeigt wurde. xD :D

So, alles behoben! :)

Ne, hast noch leerzeichen. Musst dir mal im SVN ansehen:



und die Bindestriche in den Langugage-Files noch zu Unterstrichen machen, dann ist es glaub ich perfekt^^

Ne, hast noch leerzeichen. Musst dir mal im SVN ansehen:



und die Bindestriche in den Langugage-Files noch zu Unterstrichen machen, dann ist es glaub ich perfekt^^


:O
Ich versuchs mal zu entfernen...
Vllt. macht Scriptly die automatisch rein... :/
Ansonsten muss ich dich bitten, die zu entfernen, falls ich die nicht rausbekomme... :/

@Bindestriche:
Geht leider nicht, da ist nen Bug in CL.
Wenn man da Unterstriche rein macht (was ich erst wollte), findet er die Token nicht mehr. -.-

Das kann man in jedem vernünftigen Editor einstellen. Ich werde die nicht für dich entfernen, weil das müsste ich ja bei allen deinen Sachen machen. Zur Not steig auf Netbeans um.

Jep, hatte mich vertan, habe die mal entfernt. ;)

Jetzt kannst du's veröffentlichen, oder war sonst noch was? :)

Ich werde morgen nochmal schauen, bin aber zuversichtlich^^

Bug gefunden:

ändere den LanguageToken mal in: "plugin_description" -> bei deinem Token wird die Beschreibung auf der Pluginübersichtsseite nicht angezeigt.

Zwar nicht unbedingt ein Bug, aber manche Leute wie ich mögen "Fehlerfreien" HTML Code ^^ <b> ist leider nicht mehr ganz zeitgenäss, könntest du bei einem Update evtentuell durch "<strong>" ersetzen :P

Aber danke für das Plugin ^^
 iPhone 5 16GB black  iPad Mini 16GB WiFi + Cellular black  Apple TV 2
 MacBook Pro Retina 15" Mid 2012 8GB RAM  27" Thunderbolt Display