Skip to content
Snippets Groups Projects
Commit 1dbed24a authored by Henri-Damien LAURENT's avatar Henri-Damien LAURENT
Browse files

Merge branch 'dev#173896_mel_import_oai_lille_affichage_de_la_vignette_jcg_2' into 'master'

dev#173896 : OAI : enhancement thumbnail import

See merge request !4878
parents bde5b2f9 510cf0ab
Branches
Tags
1 merge request!4878dev#173896 : OAI : enhancement thumbnail import
Pipeline #28320 failed with stage
in 27 minutes and 18 seconds
'173896' =>
['Label' => $this->_('Import OAI : affichage vignette'),
'Desc' => $this->_('Support d\'une nouvelle url de provenance pour un fichier vignette.
* Toute url correspondant à une vignette dans dc:relation peut être vignette candidate.'),
'Image' => '',
'Video' => '',
'Category' => '',
'Right' => function($feature_description, $user) {return true;},
'Wiki' => '',
'Test' => '',
'Date' => '2023-12-13'],
\ No newline at end of file
- fonctionnalité #173896 : Import OAI : Amélioration de l'intégration des vignettes : les urls comportant des images sont considérées comme des vignettes
\ No newline at end of file
......@@ -146,14 +146,23 @@ class Class_Indexation_PseudoNotice_UnimarcVisitor extends Class_Indexation_Pseu
public function visitRelation($relations) : self {
foreach ($relations as $relation)
str_starts_with($relation, 'vignette : ')
? $this->addUnimarcField('959', ' ', [['u', $this->_parseCoverUrl($relation)]])
: $this->addUnimarcField('300', ' ', 'a' . $relation);
$this->_addUnimarcFromRelation($relation);
return $this;
}
protected function _addUnimarcFromRelation (string $relation) :self {
if (str_starts_with($relation, 'vignette : '))
return $this->addUnimarcField('959', ' ', [['u', $this->_parseCoverUrl($relation)]]);
if ((new ZendAfi_Validate_VignetteUrl)->isValid($relation))
return $this->addUnimarcField('959', ' ', [['u', $relation]]);
return $this->addUnimarcField('300', ' ', 'a' . $relation);
}
protected function _parseCoverUrl($url) : string {
return str_replace('vignette : ', '', $url);
}
......
......@@ -26,6 +26,7 @@ class ZendAfi_Validate_VignetteUrl extends Zend_Validate_Abstract {
$_messageTemplates = [self::INVALID_URL_FORMAT => "'%value%' n'est pas une URL de vignette correspondant aux formats acceptés."],
$_valid_url_patterns = ['.+\.(png|jpg|jpeg|gif|webp)$',
'\/cgi-bin\/koha\/opac-image\.pl\?thumbnail=',
'DigitalCollectionThumbnailHandler.ashx\?documentId=',
'www\.adav-assoc\.com\/.*\/GetImage\/',
'\/dam_picture.php\?id=',
'\/getimage.php\?url_image=',
......
......@@ -105,6 +105,6 @@ class PhaseNoticeDublinCoreBokehTest extends AbstractPhaseNoticeDublinCoreBokehT
/** @test */
public function secondRecordUrlVignetteShouldBeAsExpected() {
$this->assertEquals('http://lm59-test.afi-sa.net/userfiles/album/25377/thumb_25377_a9489b3f2fc89171da741bc3e78c668b.jpeg', Class_Notice::find(2)->getUrlVignette());
$this->assertEquals('https://bm-lille.fr/Ils/digitalCollection/DigitalCollectionThumbnailHandler.ashx?documentId=12755', Class_Notice::find(2)->getUrlVignette());
}
}
......@@ -23,7 +23,7 @@
<dc:publisher><![CDATA[Reworld Media Magazines]]></dc:publisher>
<dc:language>fre</dc:language>
<dc:type><![CDATA[Magazine en ligne]]></dc:type>
<dc:relation><![CDATA[vignette : http://lm59-test.afi-sa.net/userfiles/album/25377/thumb_25377_a9489b3f2fc89171da741bc3e78c668b.jpeg]]></dc:relation>
<dc:relation>https://bm-lille.fr/Ils/digitalCollection/DigitalCollectionThumbnailHandler.ashx?documentId=12755</dc:relation>
<dc:rights><![CDATA[]]></dc:rights>
<dc:relation><![CDATA[categorie : Cafeyn]]></dc:relation>
</oai_dc:dc></metadata></record>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment