Skip to content
Snippets Groups Projects
Commit 2116a65d authored by Julian Maurice's avatar Julian Maurice
Browse files

Merge remote-tracking branch 'origin/hotline#12836_album_index_wrong_alpha_key' into 6.40.2

Conflicts:
	library/Class/Indexation/PseudoNotice.php
parents 114c1087 40115ecc
Branches
Tags 6.40.2
4 merge requests!258Dev/13872 Orphee Allow Hold Available Items,!23Hotline 6.40.2,!226.40.2,!216.40.2
......@@ -97,8 +97,7 @@ class Class_Indexation {
."AAAAAAACEEEEIIII NOOOOO UUUUY AAAAAAACEEEEIIII NOOOOO UUUUY Y";
}
public function getClefAlpha($type_doc, $titre, $complement_titre,
$auteur, $tome, $editeur, $annee) {
public function getClefAlpha($type_doc, $titre, $complement_titre, $auteur, $tome, $editeur, $annee) {
$clef = $this->getClefOeuvre($titre, $complement_titre, $auteur, $tome) . '-';
$clef .= substr($this->alphaMaj(str_replace(' ', '', $editeur)), 0, 80) . '-';
$clef .= $annee . '-';
......
......@@ -130,54 +130,63 @@ class Class_Indexation_PseudoNotice {
}
protected function _getAuthorNames() {
$names = [];
foreach($this->extractAuthors() as $author)
$names []= $author->getName();
return $names;
}
protected function _index() {
$unimarc = $this->_getUnimarc();
$data = [];
$data = $this->indexDeweyAndPCDM4($data);
$data['matieres'] = $this->extractFullTextFromCodif($data,
'matiere',
'Class_CodifMatiere');
$authors = $this->extractAuthors();
$data["alpha_titre"] = $this->_indexation->codeAlphaTitre($this->_datas["titre"]);
$data["clef_alpha"] = $this->_indexation->getClefAlpha($this->_notice->getTypeDoc(),
$this->_datas["titre"],
'',
implode('-', $authors),
'',
$this->_datas["editeur"],
$this->_datas["annee"]);
$data["clef_oeuvre"] = $this->_indexation->getClefOeuvre($this->_datas["titre"],
'',
$this->_datas["auteur"],
'');
$this->_notice->updateAttributes($data);
$data["titres"] = $this->_indexation->getfullText($this->extractTitles());
$authors = $this->_getAuthorNames();
$this->_notice
->setMatieres($this->extractFullTextFromCodif($data,
'matiere',
'Class_CodifMatiere'))
->setAlphaTitre($this->_indexation->codeAlphaTitre($this->_datas["titre"]))
->setClefAlpha($this->_indexation->getClefAlpha($this->_notice->getTypeDoc(),
$this->_datas["titre"],
'',
implode('-', $authors),
'',
$this->_datas["editeur"],
$this->_datas["annee"]))
->setClefOeuvre($this->_indexation->getClefOeuvre($this->_datas["titre"],
'',
$this->_datas["auteur"],
''))
->setTitres($this->_indexation->getfullText($this->extractTitles()))
->setAuteurs($this->_indexation->getfullText($authors))
->setAlphaAuteur($this->_indexation->alphaMaj(implode(' ', $authors)))
->setFacettes(implode(' ',$this->_getFacettes()))
->setAnnee(($this->_datas["annee"]) ? $this->_datas["annee"]: substr($this->_datas["date_maj"],0,4))
->setQualite(3) // Qualite = pseudo_notice
->setExportable("1")
->setUnimarc($unimarc)
->setDateMaj(date('Y-m-d H:i:s'));
$data["auteurs"] = $this->_indexation->getfullText($authors);
$data["alpha_auteur"] = $this->_indexation->alphaMaj(implode(' ', $authors));
if ($this->_dataExist("editeur"))
$data["editeur"] = $this->_indexation->getfullText($this->_datas["editeur"]);
$data["facettes"] = implode(' ',$this->_getFacettes());
$data["annee"] = ($this->_datas["annee"]) ? $this->_datas["annee"]: substr($this->_datas["date_maj"],0,4);
$data["qualite"] = 3; // Qualite = pseudo_notice
$data["exportable"] = "1";
$data["unimarc"] = $unimarc;
$data["date_maj"] = date('Y-m-d H:i:s');
$this->_notice->setEditeur($this->_indexation->getfullText($this->_datas["editeur"]));
if ($this->_dataExist("fichier") && !empty($this->_datas['fichier'])) {
$data["url_vignette"] = $this->_model->getThumbnailUrl();
$data["url_image"] = $data["url_vignette"];
$url_vignette = $this->_model->getThumbnailUrl();
$this->_notice->setUrlVignette($url_vignette);
$this->_notice->setUrlImage($url_vignette);
}
if ($this->_dataExist("url_image"))
$data["url_image"] = $this->_datas["url_image"];
$this->_notice->setUrlImage($this->_datas["url_image"]);
$this->_notice->updateAttributes($data);
$this->_notice->save();
// exemplaire
......@@ -450,4 +459,4 @@ class Class_Indexation_PseudoNotice_Null extends Class_Indexation_PseudoNotice{
}
}
?>
\ No newline at end of file
?>
......@@ -114,6 +114,13 @@ class RechercheControllerAlbumAudioRecordViewNoticeTest extends RechercheControl
}
/** @test */
public function clefAlphaShouldBeSEVENTHSON_IRONMAIDEN() {
$this->assertEquals('SEVENTHSONOFASEVENTHSON--IRONMAIDENBRUCEDICKINSONSTEVEHARRISDAVEMURRAYNICKOMCBRAINADRIANSMITH----109',
$this->_notice->getClefAlpha());
}
/** @test */
public function noticeShouldNotHaveUrlImageSet() {
$this->assertEmpty($this->_notice->getUrlImage());
......
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