Allow commas and whitespaces in iconclass IDs

This commit is contained in:
2026-03-09 15:21:16 +01:00
parent 0792438a83
commit 7d42e416b3
2 changed files with 5 additions and 4 deletions

View File

@@ -408,10 +408,10 @@ enum MDNodaRepository implements MDValueEnumInterface, JsonSerializable {
'https://www.iconclass.org/' => '', 'https://www.iconclass.org/' => '',
]), '/'); ]), '/');
if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+)'))) { if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+), '))) {
// Try url_decoding // Try url_decoding
$id = urldecode($id); $id = urldecode($id);
if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+)'))) { if (!empty(trim($id, '0123456789abcdefghijklmnopqrstuvwxyzäüö-/ABCDEFGHIJKLMNOPQRSTUVWXYZÄÜÖ(+), '))) {
return false; return false;
} }
} }

View File

@@ -415,8 +415,9 @@ final class MDNodaRepositoryTest extends TestCase {
yield "45C221 ; ID" => ["45C221", "45C221"]; yield "45C221 ; ID" => ["45C221", "45C221"];
yield "45C221(+321) ; ID" => ["45C221(+321)", "45C221(+321)"]; yield "45C221(+321) ; ID" => ["45C221(+321)", "45C221(+321)"];
yield "45C221(%2B321) > 45C221(+321) ; ID" => ["45C221(+321)", "45C221(%2B321)"]; yield "45C221(%2B321) > 45C221(+321) ; ID" => ["45C221(+321)", "45C221(%2B321)"];
yield "82A(Rattenfanger) ; ID" => ["82A(Rattenfanger)", "http://iconclass.org/rkd/82A(Rattenfanger)"]; yield "82A(Rattenfanger) ; ID" => ["82A(Rattenfanger)", "82A(Rattenfanger)"];
yield "82A(Rattenfänger) ; ID" => ["82A(Rattenfänger)", "http://iconclass.org/rkd/82A(Rattenfänger)"]; 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"]; yield "Broken input / adfdasjfklasäj%l" => [false, "adfdasjfklasäj%l"];
} }