N'abend.

Zitat von
lullus
Was hat es mit den regular Expressions auf sich? Was ist das?
Die RegularExpressions sind fuer die Pruefung der Nichnamen und Kennwoerter
auf erlaubte / nichterlaubte Zeichen zustaendig.
Im Default verwendet CBE-Beta1-1/2
Code:
^\_|^\-|[^a-z|A-Z|^0-9|\_|\-]|\_$|\-$
Damit sind dann nur die Zeichen a-z sowie A-Z, die Zahlen 0-9 und _ sowie - in den Namen, aber nicht am Anfang und am Ende erlaubt. Die RegExp ist hier negiert, liest
sich also in der Art: Lehne alle Zeichen ab die nicht diesem Pruefsatz entsprechen.
Beispiel:
Ano-nym1
ist ok
Ano-nym1_
ist nicht ok.
Mambo / Joomla verwendet im Default
Code:
[\<|\>|\"|'|\%|\;|\(|\)|\&|\+|\-|\u0020]
bis auf das \u0020, das ist nicht drin, muesste da aber stehen um auch tatsaechlich die
Leerzeichen zu verbieten ( UniCode ). Diese RegExp geht den anderen Weg und listet alle Zeichen die !nicht erlaubt! sind.
LÖSUNG:
Beim manuellen Update müsst ihr noch eine TAbelle erstellen, die das Lastvisitors Tab
Dazu wird in den Notes der manual_upgrade auf das Tools-Menue verwiesen.
Dort gibt es den Punkt "Prepare new LastVisitor Tab " der genau das plus Datenmigration
erledigen sollte.
EDIT:
Gerade noch mal nachgeschaut; zugegeben der Hinweis auf das Tools-Menu innerhalb
der Changes ist einfach zu versteckt.
mod_cbelogin_2.43er ->
Hmm .. ok, da werde ich nochmal 'n paar Tests mit anderen Komponenten laufen lassen und den Code aendern. Verwendet solange aelteren Versionen.
Alter:
Die Alterssuche ist gibt alle User aus die im angebenen (max) Jahr das entsprechende
Lebensalter abgeschlossen haben werden. Wenn Du also den BereichsModus waehlst und von 20 -23 suchst dann wird daraus
der Suchstring ( z.B. )
Code:
... WHERE cb.birthday BETWEEN '1983-01-01' AND '1986-12-31'
Es werden also die Jahrgaenge verglichen und jemand der heute eigentlich 23 Jahre plus
x Tage alt ist zaehlt zu den 24 Jaehrigen. Jemand der am 10.01.1982 geboren ist, wird
wird am 10.01.2006 sein 24tes Lebensjahr vollendet haben. Aber ab dem 10.01.2005
hat er sein 23 Lebensjahr vollendet und lebt in seinem 24ten Lebensjahr, daher wird er
auch nicht bei den 23jaehrigen ausgegeben.
Der Wechsel zwichen Alterszahl und Datum bedingt leider eine gewisse Unschaerfe. Hier
wird nicht erst das Alter wie in der Profilanzeige berechnet und dann verglichen,
sondern die Abfrage muss Teil des gesammt Queries werden. Dieses Vorgehen sehe ich
aber nicht als Fehler an.
Schliesslich spricht man bei jemanden der volljaehrig wird auch von jemanden der das
18te Lebensjahr vollendet, und nicht erreicht.
Gruss
Phil.
Lesezeichen