Allow commas and whitespaces in iconclass IDs

This commit is contained in:
jrenslin committed 2026-03-09 15:21:16 +01:00
1 parent 0792438a83
commit 7d42e416b3
2 files changed
+5 -4

No files matched your search

+2 -2
View File
@@ -408,10 +408,10 @@ private static function validateIconclassId(string $id):string|false {
'https://www.iconclass.org/' => '',
]), '/');
if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+)'))) {
if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+), '))) {
// Try url_decoding
$id = urldecode($id);
if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+)'))) {
if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+), '))) {
return false;
}
}
+3 -2
View File
@@ -415,8 +415,9 @@ public static function iconclassIdForValidationProvider():Generator {
yield "45C221 ; ID" => ["45C221", "45C221"];
yield "45C221(+321) ; ID" => ["45C221(+321)", "45C221(+321)"];
yield "45C221(%2B321) > 45C221(+321) ; ID" => ["45C221(+321)", "45C221(%2B321)"];
yield "82A(Rattenfanger) ; ID" => ["82A(Rattenfanger)", "http://iconclass.org/rkd/82A(Rattenfanger)"];
yield "82A(Rattenfänger) ; ID" => ["82A(Rattenfänger)", "http://iconclass.org/rkd/82A(Rattenfänger)"];
yield "82A(Rattenfanger) ; ID" => ["82A(Rattenfanger)", "82A(Rattenfanger)"];
yield "82A(Rattenfänger) ; URL" => ["82A(Rattenfänger)", "http://iconclass.org/rkd/82A(Rattenfänger)"];
yield "83(BERNARDIN DE SAINT-PIERRE, Paul et Virginie) ; ID" => ["83(BERNARDIN DE SAINT-PIERRE, Paul et Virginie)", "83(BERNARDIN DE SAINT-PIERRE, Paul et Virginie)"];
yield "Broken input / adfdasjfklasäj%l" => [false, "adfdasjfklasäj%l"];
}