Testseite mit Galerie Plugins

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
lck
Posts: 2466
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Testseite mit Galerie Plugins (imgalbum)

Post by lck » Tue Nov 23, 2021 10:17 am

Ralf H. wrote:
Tue Nov 23, 2021 9:38 am
Imgalbum:

Bisher in Xampp und Online keine Probleme festgestellt. :idea:

Aber aufpassen beim Plugin:
Durch die automatisch angelegten Textdateien + Unterverzeichnisse (wtrmrk, thumb) kann es zu Umbenennungsfehlern kommen.
Die Datei-, Text-, Thumb- und Wasserzeichen-Namen müssen indentisch sein und bleiben !!!
Hier sehe ich Fehlerpotenzial für html-Laien.
Das sollte mit dem gefixtem Imgalbum nicht mehr passieren, wenn man beachtet, dass nur bestimmte Zeichen erlaubt sind. Verwendet man nicht erlaubte Zeichen, so ja, kann es passieren. Aber ich glaube, dass das auch andere Plugins betreffen könnte. Darum mein Appell, macht es euch zur Regel nur bestimmte Zeichen zu verwenden und ihr habt weniger Probleme und somit
Ärger ;) .
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

olape
Posts: 1885
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Testseite mit Galerie Plugins

Post by olape » Tue Nov 23, 2021 12:51 pm

Code: Select all

p{L} for Unicode letters
p{N} for Unicode digits
Soweit die Theorie.

Eigentlich sollte pL0-9 --> p{L}p{N} entsprechen. (Wenn ich die Definition von p{N} richtig verstehe)

Code: Select all

if(preg_match('#^[\p{L}\p{N}_-]+\.jpg$#iu', $filename)) {
so funktioniert es zumindest beim Onlinetest

/iu
--> i = Case Insensitive
--> u = durchsuchte Zeichenketten werden als UTF-8 behandelt

cmb
Posts: 13863
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Testseite mit Galerie Plugins

Post by cmb » Tue Nov 23, 2021 5:47 pm

olape wrote:
Tue Nov 23, 2021 6:41 am
Eine einheitliche Benennung mit a-z, 0-9, -_ ist da die einfachste Variante.
Ja, aber das sollte ein Plugin eben auch prüfen. Und natürlich kommt es drauf an; bei einem Galerienamen ist eine solche Einschränkung wohl kein wirkliches Problem (wenn man separat einen Galerietitel hat), bei Namen von Bildern oder herunterladbaren Dateien vielleicht schon. Und wir Deutschen haben es da noch leicht (Umlaute und ß können ja passable umschrieben werden); das ist nicht bei allen Sprachen so.
lck wrote:
Tue Nov 23, 2021 10:00 am
olape wrote:
Tue Nov 23, 2021 6:41 am
Dann müsste es das ja eigentlich auch tun

Code: Select all

if(preg_match('/^[\p{L}\p{N}-_]+\.jpg$/i', $filename)) {
Nein, tut es nicht.
Das - wird hier falsch interpretiert. Einfach ans Ende stellen:

Code: Select all

if(preg_match('/^[\p{L}\p{N}_-]+\.jpg$/i', $filename)) {
Aber ohne u-Modifier ist das dasselbe wie [a-z0-9_-]; also:

Code: Select all

if(preg_match('/^[\p{L}\p{N}_-]+\.jpg$/iu', $filename)) {
Aber dann werden auch "Nummern" wie ⅐ unterstützt; ob man das möchte? Schadet aber vermutlich auch nicht.
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2466
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Testseite mit Galerie Plugins

Post by lck » Tue Nov 23, 2021 5:58 pm

olape wrote:
Tue Nov 23, 2021 12:51 pm

Code: Select all

p{L} for Unicode letters
p{N} for Unicode digits
Soweit die Theorie.

Eigentlich sollte pL0-9 --> p{L}p{N} entsprechen. (Wenn ich die Definition von p{N} richtig verstehe)

Code: Select all

if(preg_match('#^[\p{L}\p{N}_-]+\.jpg$#iu', $filename)) {
so funktioniert es zumindest beim Onlinetest

/iu
--> i = Case Insensitive
--> u = durchsuchte Zeichenketten werden als UTF-8 behandelt
Das funktioniert auch, zumindest bei mir unter Xampp.

Aber mit übersetzen meinte ich eigentlich den kompletten Code in einem Satz/Sätzen. Was macht der Code da genau, das wäre interessant. Das er im Endeffekt prüft, dass man bestimmte Zeichen verwenden darf, in dem Fall a-zA-Z0-9_-jpgJPG, das ist ja Thema diese Threads.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2466
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Testseite mit Galerie Plugins

Post by lck » Tue Nov 23, 2021 6:01 pm

cmb wrote:
Tue Nov 23, 2021 5:47 pm
Das - wird hier falsch interpretiert. Einfach ans Ende stellen:

Code: Select all

if(preg_match('/^[\p{L}\p{N}_-]+\.jpg$/i', $filename)) {
Aber ohne u-Modifier ist das dasselbe wie [a-z0-9_-]; also:

Code: Select all

if(preg_match('/^[\p{L}\p{N}_-]+\.jpg$/iu', $filename)) {
Aber dann werden auch "Nummern" wie ⅐ unterstützt; ob man das möchte? Schadet aber vermutlich auch nicht.
Noch nicht getestet Christoph. Ein Überangebot an Lösungen, was da im Endeffekt nehmen? Bitte entscheidet euch ;) .
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

olape
Posts: 1885
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Testseite mit Galerie Plugins

Post by olape » Tue Nov 23, 2021 6:11 pm

cmb wrote:
Tue Nov 23, 2021 5:47 pm
Das - wird hier falsch interpretiert. Einfach ans Ende stellen:
Darüber bin ich auch gestolpert. Aber warum?
cmb wrote:
Tue Nov 23, 2021 5:47 pm
Aber ohne u-Modifier ist das dasselbe wie [a-z0-9_-]; also:
olape wrote:
Tue Nov 23, 2021 12:51 pm
if(preg_match('#^[\p{L}\p{N}_-]+\.jpg$#iu', $filename)) {
lck wrote:
Tue Nov 23, 2021 5:58 pm
Das er im Endeffekt prüft, dass man bestimmte Zeichen verwenden darf, in dem Fall a-zA-Z0-9_-jpgJPG,
Aber du weißt es doch :mrgreen:
lck wrote:
Tue Nov 23, 2021 6:01 pm
Noch nicht getestet Christoph. Ein Überangebot an Lösungen, was da im Endeffekt nehmen? Bitte entscheidet euch
Ich nicht, ich bin im Moment fast ausschließlich mit dem Tablet unterwegs und habe das Plugin noch immer nicht gesehen.
Für mich ist es ein Ratespiel, ausgehend von dem was ich hier lese. Also meine Ansätze mehr als Hinweis betrachten.

lck
Posts: 2466
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Testseite mit Galerie Plugins

Post by lck » Tue Nov 23, 2021 6:15 pm

cmb wrote:
Tue Nov 23, 2021 5:47 pm
Aber ohne u-Modifier ist das dasselbe wie [a-z0-9_-]; also:

Code: Select all

if(preg_match('/^[\p{L}\p{N}_-]+\.jpg$/iu', $filename)) {
Aber dann werden auch "Nummern" wie ⅐ unterstützt; ob man das möchte? Schadet aber vermutlich auch nicht.
Nein das wird nicht unterstützt, zumindest nicht im Umbenennen des Bildes. Da wird der Name ⅐03.jpg nach dem Speichern zu 16376907381.jpg. Die txt-Datei, thumbs und wtrmrk-Dateien werden aber umbenannt zu ⅐03.txt, imgalbum_⅐03.jpg, ⅐03.jpg.
Debug-Mode meldet dann natürlich:
WARNING: getimagesize(userfiles/images/imgalbum/heros/thumb/imgalbum_16376907381.jpg): Failed to open stream: No such file or directory
D:\xampp\htdocs\xh175\plugins\imgalbum\libs\gallery_adminfunctions.php:169
WARNING: Trying to access array offset on value of type bool
D:\xampp\htdocs\xh175\plugins\imgalbum\libs\gallery_adminfunctions.php:171
Na ja egal, wer braucht das schon ⅐....jpg.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2466
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Testseite mit Galerie Plugins

Post by lck » Tue Nov 23, 2021 6:27 pm

olape wrote:
Tue Nov 23, 2021 6:11 pm
lck wrote:
Tue Nov 23, 2021 5:58 pm
Das er im Endeffekt prüft, dass man bestimmte Zeichen verwenden darf, in dem Fall a-zA-Z0-9_-jpgJPG,
Aber du weißt es doch :mrgreen:
:) Ja, aber nur das Ergebnis. Nicht was dieser Code genau aussagt/abgleicht, das sind für mich "Hieroglyphen".
Also, in etwa so:

Code: Select all

if(preg_match('/^[\p{L}\p{N}_-]+\.jpg$/iu', $filename)) {
Übersetzung:
Wenn, es übereinstimmt mit, ... (da setzt es bei mir aus ;) ('/^[p{L}.... ), dann Dateiname umbenennen.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

olape
Posts: 1885
Joined: Fri Mar 13, 2015 8:47 am
Contact:

Re: Testseite mit Galerie Plugins

Post by olape » Tue Nov 23, 2021 6:52 pm

^ --> für DIESEN FALL Anfang der Zeichenkette
dann darf es grob ausgedrückt A-Za-z0-9_- sein (lassen wir mal die Feinheiten mit \p{L}\p{N} beiseite)
+ --> min. 1 Zeichen der oben aufgeführten oder mehr
\. --> gefolgt von einem Punkt und wiederum gefolgt von jpg
$ für diesen Fall Ende der Zeichenkette
iu hatte ich schon beschrieben Case insensetiv und als UTF-8 behandeln

heißt wenn $filename = A-Za-z0-9_-.jpg oder A-Za-z0-9_-.JPG, oder A-Za-z0-9_-.jPg, ... ist gibt es einen Treffer.
if wird also pos. beschieden
keinen Treffer gäbe xxx.png oder |aaaaa.jpg oder bbbb. jpeg (ich weiss gar nicht, ob | überhaupt als Dateinamen funktionieren würde.)

cmb
Posts: 13863
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Testseite mit Galerie Plugins

Post by cmb » Tue Nov 23, 2021 9:36 pm

lck wrote:
Tue Nov 23, 2021 6:01 pm
Ein Überangebot an Lösungen, was da im Endeffekt nehmen? Bitte entscheidet euch ;) .
Ich bin hier gewiss nicht der Entscheider. :) Ist mehr so ein bisschen Brainstorming was möglich ist und sinnvoll sein könnte oder auch nicht. Letztlich ist es an Jerry, was er beim Imgalbum machen will, bzw. was ein Nutzer hier manuell anpassen möchte.
lck wrote:
Tue Nov 23, 2021 5:58 pm
Aber mit übersetzen meinte ich eigentlich den kompletten Code in einem Satz/Sätzen. Was macht der Code da genau, das wäre interessant. Das er im Endeffekt prüft, dass man bestimmte Zeichen verwenden darf, in dem Fall a-zA-Z0-9_-jpgJPG, das ist ja Thema diese Threads.
Olaf hat es im vorigen Post bereits erklärt. Allgemein geht es hier um reguläre Ausdrücke mit denen man prüfen kann, ob eine Zeichenkette einem (recht komplexen) Muster entspricht. Vielleicht kennst du Glob-Pattern/Wildcard-Matching bei Dateinamen (also z.B. *.xml) – das ist eine einfachere Variante der regulären Ausdrücke. Die von PHP unterstützte Syntax von regulären Ausdrücken, ist im PHP-Handbuch dokumentiert, und ist halt wirklich recht komplex. Das nette dabei: ist sehr ähnlich zu dem, was von JavaScript unterstützt wird.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply