diff --git a/VERSIONS_HOTLINE/94842 b/VERSIONS_HOTLINE/94842 new file mode 100644 index 0000000000000000000000000000000000000000..c6d6307a002a8685fe5fefcdf95875e25589526b --- /dev/null +++ b/VERSIONS_HOTLINE/94842 @@ -0,0 +1 @@ + - ticket #94842 : Connecteur Cité de la musique : Maintenance SSO \ No newline at end of file diff --git a/library/Class/AdminVar/CiteDeLaMusique.php b/library/Class/AdminVar/CiteDeLaMusique.php index e4366408048603780d4baef2d597396d13486d49..fb0678ff578cc94a70165e462e058ea748c9dd7c 100644 --- a/library/Class/AdminVar/CiteDeLaMusique.php +++ b/library/Class/AdminVar/CiteDeLaMusique.php @@ -21,6 +21,8 @@ class Class_AdminVar_CiteDeLaMusique { + const SSO_BASE_URL = 'https://admin-pad.philharmoniedeparis.fr/logon/'; + /** * @return bool */ @@ -40,5 +42,18 @@ class Class_AdminVar_CiteDeLaMusique { public function getSets() { return array_filter(explode(';', Class_AdminVar::get('CITEDELAMUSIQUE_SETS'))); } + + + public function getSsoUrl() { + return $this->isEnabled() + ? (static::SSO_BASE_URL . $this->getLibraryId()) + : ''; + } + + + public function getAlbumSsoUrl($album) { + return $this->isEnabled() + ? ($this->getSsoUrl() . '?' . http_build_query(['backUrl' => $album->getExternalUri()])) + : ''; + } } -?> \ No newline at end of file diff --git a/library/Class/Systeme/ModulesMenu/CiteDeLaMusique.php b/library/Class/Systeme/ModulesMenu/CiteDeLaMusique.php index 03f1025829827ee298a546e5abb6311d072f5b92..648573d55855651a0c2e7d26b81b673593795b5b 100644 --- a/library/Class/Systeme/ModulesMenu/CiteDeLaMusique.php +++ b/library/Class/Systeme/ModulesMenu/CiteDeLaMusique.php @@ -20,7 +20,6 @@ */ class Class_Systeme_ModulesMenu_CiteDeLaMusique extends Class_Systeme_ModulesMenu_SSOAbstract { - protected $_group = Class_Systeme_ModulesMenu::GROUP_MENU_ABONNES, $_type_module = 'CITE_DE_LA_MUSIQUE', @@ -46,7 +45,7 @@ class Class_Systeme_ModulesMenu_CiteDeLaMusique extends Class_Systeme_ModulesMen if (!$user->hasRightAccessCiteDeLaMusique()) return ''; - return 'https://media.citedelamusique.fr/medias/logon/' . $cite_musique->getLibraryId(); + return $cite_musique->getSsoUrl(); } diff --git a/library/ZendAfi/View/Helper/Album/CiteDeLaMusique.php b/library/ZendAfi/View/Helper/Album/CiteDeLaMusique.php index 27849b79e772bc44e3b19b2cabb425cd1d0b14c7..8f606468756c4a26eac0e7ef18ba2c7f821729f2 100644 --- a/library/ZendAfi/View/Helper/Album/CiteDeLaMusique.php +++ b/library/ZendAfi/View/Helper/Album/CiteDeLaMusique.php @@ -27,16 +27,12 @@ class ZendAfi_View_Helper_Album_CiteDeLaMusique extends ZendAfi_View_Helper_TagR return ''; if (!$this->canAccessRessourceNumerique()) - return $this->view->tag('p', - $this->view->_('Vous devez être connecté sous un compte avec abonnement valide pour pouvoir accéder à la ressource numérique')); + return $this->_tag('p', + $this->_('Vous devez être connecté sous un compte avec abonnement valide pour pouvoir accéder à la ressource numérique')); - $url = 'http://media.citedelamusique.fr/extranet/autologon/autologon.ashx?' - . http_build_query(['bib' => $cite_musique->getLibraryId(), - 'backUrl' => $album->getExternalUri()]); - - return $this->view->tagAnchor($url, - $this->view->_('Accéder à la ressource numérique')); + return $this->view->tagAnchor($cite_musique->getAlbumSsoUrl($album), + $this->_('Accéder à la ressource numérique')); } @@ -44,4 +40,3 @@ class ZendAfi_View_Helper_Album_CiteDeLaMusique extends ZendAfi_View_Helper_TagR return $user->hasRightAccessCiteDeLaMusique(); } } -?> \ No newline at end of file diff --git a/tests/scenarios/CiteDeLaMusique/CiteDeLaMusiqueTest.php b/tests/scenarios/CiteDeLaMusique/CiteDeLaMusiqueTest.php index 98eee79db71a6c8358262adb370d67280966f663..8b1ef762286f30c42cba55acd61376d772dbcbc0 100644 --- a/tests/scenarios/CiteDeLaMusique/CiteDeLaMusiqueTest.php +++ b/tests/scenarios/CiteDeLaMusique/CiteDeLaMusiqueTest.php @@ -145,7 +145,7 @@ class CiteDeLaMusiqueModulesControllerTest extends AbstractControllerTestCase { public function citeDeLaMusiqueActionShouldRedirectToCiteDeLaMusiqueLogon() { $this->dispatch('/modules/cite-de-la-musique', true); $this->assertXPathContentContains('//script', - 'document.location.href="https://media.citedelamusique.fr/medias/logon/34-mylib"'); + 'document.location.href="https://admin-pad.philharmoniedeparis.fr/logon/34-mylib"'); } @@ -197,7 +197,7 @@ class CiteDeLaMusiqueRenderAlbumTest extends ViewHelperTestCase { public function htmlShouldContainsSsoLinkToCiteDeLaMusiqueWhenActivated() { CiteDeLaMusiqueFixtures::activate(); - $expected_url = 'http://media.citedelamusique.fr/extranet/autologon/autologon.ashx?bib=34-mylib&backUrl=http%3A%2F%2Fmedia.citedelamusique.fr%2Fmedias%2Fdoc%2FEXTRANET%2FCIMU%2F1038311%2FDETAIL'; + $expected_url = 'https://admin-pad.philharmoniedeparis.fr/logon/34-mylib?backUrl=http%3A%2F%2Fmedia.citedelamusique.fr%2Fmedias%2Fdoc%2FEXTRANET%2FCIMU%2F1038311%2FDETAIL'; $this->assertXPathContentContains($this->_renderAlbum(), '//a[@href="' . $expected_url . '"]',