diff --git a/VERSIONS_HOTLINE/114294 b/VERSIONS_HOTLINE/114294 new file mode 100644 index 0000000000000000000000000000000000000000..9d0b29c799200650be10de8fe2fd75aecfb5ecd4 --- /dev/null +++ b/VERSIONS_HOTLINE/114294 @@ -0,0 +1 @@ + - ticket #114294 : SIGB PMB : correction de lecture de caractères ISO2709 \ No newline at end of file diff --git a/VERSIONS_HOTLINE/114558 b/VERSIONS_HOTLINE/114558 new file mode 100644 index 0000000000000000000000000000000000000000..0a606fde3dd60828362603aced22cc7140d44f21 --- /dev/null +++ b/VERSIONS_HOTLINE/114558 @@ -0,0 +1 @@ + - ticket #114558 : Affichage de la notice : Correction de l'affichage du lien pour consulter les ressources Jumel \ No newline at end of file diff --git a/VERSIONS_HOTLINE/115072 b/VERSIONS_HOTLINE/115072 new file mode 100644 index 0000000000000000000000000000000000000000..56507861c9a95c5761ff5e92657223d25506d305 --- /dev/null +++ b/VERSIONS_HOTLINE/115072 @@ -0,0 +1,2 @@ + - ticket #115072 : [Magasin de thèmes] Ajout du flux RSS pour l'agenda + \ No newline at end of file diff --git a/VERSIONS_HOTLINE/115306 b/VERSIONS_HOTLINE/115306 new file mode 100644 index 0000000000000000000000000000000000000000..48c911d953c2b10cf33dcbaf95d8c32e1e9238fe --- /dev/null +++ b/VERSIONS_HOTLINE/115306 @@ -0,0 +1 @@ + - ticket #115306 : Magasin de thèmes : amélioration de la performance d'affichage de la page mon compte / mes prêts \ No newline at end of file diff --git a/VERSIONS_HOTLINE/116263 b/VERSIONS_HOTLINE/116263 new file mode 100644 index 0000000000000000000000000000000000000000..885d005c286f4b29215e994849bc29a1a2a35ac1 --- /dev/null +++ b/VERSIONS_HOTLINE/116263 @@ -0,0 +1 @@ + - ticket #116263 : Magasin de thèmes : correction du filtrage des articles selon leur statut lorsque le WORKFLOW est activé \ No newline at end of file diff --git a/VERSIONS_HOTLINE/116443 b/VERSIONS_HOTLINE/116443 new file mode 100644 index 0000000000000000000000000000000000000000..4e552ae2168b8d7822733a2038ee52d1752398bf --- /dev/null +++ b/VERSIONS_HOTLINE/116443 @@ -0,0 +1 @@ + - ticket #116443 : Gestion des zones de notes à l'affichage \ No newline at end of file diff --git a/VERSIONS_HOTLINE/116552 b/VERSIONS_HOTLINE/116552 new file mode 100644 index 0000000000000000000000000000000000000000..4d9d46eb23eeeb366b99533431476366677d3c96 --- /dev/null +++ b/VERSIONS_HOTLINE/116552 @@ -0,0 +1 @@ + - ticket #116552 : Magasin de thème : page blanche quand une boîte newsletter est incluse dans un menu de la page accueil \ No newline at end of file diff --git a/VERSIONS_WIP/116591 b/VERSIONS_WIP/116591 new file mode 100644 index 0000000000000000000000000000000000000000..3ea095acff32be84a300cf4e4f5e91d45cc4d6e0 --- /dev/null +++ b/VERSIONS_WIP/116591 @@ -0,0 +1 @@ + - ticket #116591 : Magasin Thème : amélioration de la maintenance des profils grâce à un système d'exportation et d'importation des données en JSON. \ No newline at end of file diff --git a/application/modules/admin/controllers/ProfilController.php b/application/modules/admin/controllers/ProfilController.php index e6b1fca9bd7b9bc46111e6c2f6edfa576f4ef03e..cada6d941d6cc2635fa44a60e7a9a47cf4f6b1d7 100644 --- a/application/modules/admin/controllers/ProfilController.php +++ b/application/modules/admin/controllers/ProfilController.php @@ -550,6 +550,14 @@ class Admin_ProfilController extends ZendAfi_Controller_Action { } + public function exportAction() { + $this->getHelper('ViewRenderer')->setNoRender(); + $this->_response->setHeader('Content-Type', 'application/json'); + $export = new Class_Profil_Export($this->_profil); + $this->_response->setBody($export->toString()); + } + + private function _splitArg($item) { if (false === strpos($item, '=')) return false; diff --git a/application/modules/opac/controllers/AbonneController.php b/application/modules/opac/controllers/AbonneController.php index 0d2107e3ed413981c04c00bec2912d40870f4e10..67f8a67ad7befe97d5bd66bcd56f5876a45d501a 100644 --- a/application/modules/opac/controllers/AbonneController.php +++ b/application/modules/opac/controllers/AbonneController.php @@ -65,12 +65,12 @@ class AbonneController extends ZendAfi_Controller_Action { protected function clearEmprunteurCache() { + $no_cache_actions = Class_Template::current()->isLegacy() + ? ['prets', 'reservations', 'fiche', 'loans-history', 'ajax-loans', 'suggestions'] + : ['fiche', 'loans-history', 'ajax-loans', 'suggestions']; + if (!in_array($this->getRequest()->getActionName(), - ['prets', - 'reservations', - 'fiche', - 'loans-history', - 'suggestions'])) + $no_cache_actions)) return; foreach((new Class_User_Cards($this->_user)) as $user) @@ -428,17 +428,7 @@ class AbonneController extends ZendAfi_Controller_Action { 'start_issue_date' => $this->_getPost('start_issue_date'), 'end_issue_date' => $this->_getPost('end_issue_date')]); - $cards = new Class_User_Cards($this->_user); - $loans = $cards->getLoansWithOutPNB($this->_request->getParams()); - $fiche = $this->_user->getFicheSigb(); - $error = (isset($fiche['error']) && $fiche['error']) - ? $fiche['error'] - : ''; - - $this->view->config = new Class_Entity(['Loans' => $loans, - 'RenewableLoansIds' => $cards->getRenewableLoansIds($loans), - 'User' => $this->_user, - 'Error' => $error, + $this->view->config = new Class_Entity(['User' => $this->_user, 'Profile' => Class_Profil::getCurrentProfil(), 'RequestParams' => $this->_request->getParams()]); } @@ -492,6 +482,8 @@ class AbonneController extends ZendAfi_Controller_Action { } + + public function reservationsAction() { $cards = new Class_User_Cards($this->_user); @@ -1949,7 +1941,6 @@ class AbonneController extends ZendAfi_Controller_Action { $callback = function() { return $this->view->abonne_AjaxLoans($this->_user); }; - return $this->_helper->ajax($callback); } diff --git a/application/modules/opac/controllers/NoticeajaxController.php b/application/modules/opac/controllers/NoticeajaxController.php index fc9ce580532c4e27af01499945b5d44d89833e94..0b34514b8fadfbab08ce96ac66cd78fdd253c72c 100644 --- a/application/modules/opac/controllers/NoticeajaxController.php +++ b/application/modules/opac/controllers/NoticeajaxController.php @@ -499,11 +499,7 @@ class NoticeAjaxController extends ZendAfi_Controller_Action { if ((new Class_Notice_Sso($this->notice))->isValid()) return $this->_forward('sso-resources'); - $first_item = $this->notice->getExemplaires()[0]; - - if ($url = $first_item->getUrl()) - return $this->_forward('url-resources'); - + $first_item = $this->notice->getFirstExemplaire(); if ($bundle = $first_item->getBundle()) return $this->_forward('bundle-resources'); @@ -514,13 +510,20 @@ class NoticeAjaxController extends ZendAfi_Controller_Action { public function itemsResourcesAction() { - $callback = function() { - $items_loader = new Intonation_Library_Record_Items($this->notice); - return $this->view->RenderRecord_RenderItems($items_loader->findAll(), - $items_loader->findSameWork()); - }; + $record = new Intonation_Library_Record($this->notice); - return $this->_helper->ajax($callback); + if ($record->isExternalResource()) + return $this->_helper->ajax(function() use ($record) + { + return $this->_getLinkOnline($record->getUrl()); + }); + + + $this->_helper->ajax(function() use ($record) + { + return $this->view->RenderRecord_RenderItems($record->getItemsFromSIGB(), + $record->getSameWorkItemsFromSIGB()); + }); } @@ -540,13 +543,19 @@ class NoticeAjaxController extends ZendAfi_Controller_Action { } + protected function _getLinkOnline($url) { + return $this->view->tagAnchor($url, + $this->view->_('Description en ligne'), + ['class' => 'btn btn-lg btn-primary m-3']); + } + + public function urlResourcesAction() { $first_item = $this->notice->getExemplaires()[0]; $callback = function() use ($first_item) { - return $this->view->tagAnchor($first_item->getUrl(), - $this->view->_('Description en ligne'), - ['class' => 'btn btn-lg btn-primary m-3']); + return $this->_getLinkOnline($first_item->getUrl()); + }; return $this->_helper->ajax($callback); diff --git a/cosmogramme/tests/php/classes/PMBIntegrationTest.php b/cosmogramme/tests/php/classes/PMBIntegrationTest.php index a6b7d3995ad5e351f0008104c7a7afbb4014d452..33f3e2e2b301a83e1ac8252eff0200c6a207ce47 100644 --- a/cosmogramme/tests/php/classes/PMBIntegrationTest.php +++ b/cosmogramme/tests/php/classes/PMBIntegrationTest.php @@ -391,4 +391,30 @@ class PMBIntegrationRecordPeresEgliseTest extends PMBIntegrationRecordsTestCase public function titresShouldContainsEGLISE() { $this->assertContains('EGLISE EGLIS', $this->_record->getTitres()); } +} + + + + +class PMBIntegrationRecordTheologicoTest extends PMBIntegrationRecordsTestCase { + protected $_record; + + public function setUp() { + parent::setUp(); + + $this->loadRecordsFromFile('unimarc_pmb_theologico'); + $this->_record = Class_Notice::find(1); + } + + /** @test */ + public function titleShouldBeImaginationTheologicoPolitique() { + $this->assertContains('L\'imagination théologico-politique de l\'Eglise', + $this->_record->getTitrePrincipal()); + } + + + /** @test */ + public function subfield10DollarDShouldContains30Euros() { + $this->assertEquals('30€', $this->_record->get_subfield('010', 'd')[0]); + } } \ No newline at end of file diff --git a/cosmogramme/tests/php/classes/unimarc_pmb_theologico.txt b/cosmogramme/tests/php/classes/unimarc_pmb_theologico.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a2c80c5c9d0f25f77c1ef7447114cebaf7bdf97 --- /dev/null +++ b/cosmogramme/tests/php/classes/unimarc_pmb_theologico.txt @@ -0,0 +1,3 @@ +02863nam0 22002531i 450 001000700000100003500007009001500042200011300057010002900170101000800199215001700207330119300224319002801417700003501445210005201480225003401532410003401566896015001600995005001750996059701800610004902397606009402446606006902540100713 a20200619u u u0frey50 a2020-01-011 aL'imagination théologico-politique de l'Egliseevers une ecclésiologie narrative avec William T. Cavanaugh a978-2-204-13840-6d30€0 afre a348 p.din 8 aLa question du rapport de l'Église au monde est marquée par un double constat d'échec. D'un côté, la théologie politique a largement négligé le thème de l'Église ; de l'autre, la théologie récente l'a renvoyée aux domaines du droit et de l'éthique. Ainsi de nombreuses questions se posent : une théologie politique chrétienne est-elle réellement possible ? Les chrétiens sont-ils contraints à condamner le monde ou à le fuir ? Le religieux doit-il être inexorablement séparé de la sphère civile ? Comment l'Église participe-t-elle à l'avènement du Royaume de Dieu en ce monde ? +C'est à ces questions capitales que répond l'essai de Sylvain Brison en analysant comment la notion d'imagination implique un rapport renouvelé de l'Église au monde. En s'inscrivant dans la lignée du théologien William T. Cavanaugh, il explore la manière dont l'imagination à l'oeuvre dans l'Église opère une double fonction de critique du monde et de transformation de celui-ci en vue du Royaume de Dieu. +Cet essai passionnant constitue un traité exigeant sur la liberté, illustrant le devoir éthique et l'engagement moral des disciples de Jésus à réparer le monde. aAucun droit spécifique 1aBrisonbSylvain40709id:43146 aParisbPariscÉditions du Cerfd20209id:111042 aCogitatio fideiv3109id:7853 0tCogitatio fideiv3109id:7853 agetimage.php?url_image=http%3A%2F%2Fimages-eu.amazon.com%2Fimages%2FP%2F%21%21isbn%21%21.08.MZZZZZZZ.jpg&noticecode=9782204138406&vigurl= aCAENcCAENf8/8946.310kC18 1(310)o1r1q1er f8/8946.310kC18 1(310)m00000000n00000000aCAENb2v Centre d'Etudes Théologiques de Caenx1ery1ereLivrer11Empruntable21319expl_id:9924989create_date:2020-06-19 15:22:239expl_cb:8/8946.3109expl_cote:C18 1(310)9expl_statut:19statut_libelle:Empruntable9statusdoc_codage_import:19expl_typdoc:19tdoc_libelle:Livre9tdoc_codage_import:19expl_section:319section_libelle:1er9sdoc_codage_import:1er9expl_owner:29lender_libelle:CAEN9codestat_libelle:CETH9statisdoc_codage_import:u9pret_flag:19location_libelle: Centre d'Etudes Théologiques de Caen9locdoc_codage_import:CAEN0 aRoyaume de Dieu;société civile;imagination 19id:110129lang:fr_FR9idthes:1aThéologie politique -- Église catholique -- 21e siècle 19id:56009lang:fr_FR9idthes:1aEglise et société - 21e siècle \ No newline at end of file diff --git a/library/Class/Feature/List.php b/library/Class/Feature/List.php index 797e86001e596b88b0f35c67f2d684221c9c6cf4..dd12f3fade1f9e9660d8dfbf6263fb9d50319713 100644 --- a/library/Class/Feature/List.php +++ b/library/Class/Feature/List.php @@ -890,7 +890,7 @@ class Class_Feature_List { ['Label' => $this->_('Géolocalisation des documents sur carte'), 'Desc' => $this->_('Les boîtes kiosques de notices et articles permettent d\'afficher les documents géolocalisés sur une carte interactive'), 'Image' => '', - 'Video' => 'https://www.youtube.com/watch?v=_zkNqHzQ1m4', + 'Video' => 'https://www.youtube.com/watch?v=jGF26Qmrnsk', 'Category' => $this->_('Mise en page'), 'Right' => function($feature_description, $user) {return true;}, 'Wiki' => 'http://wiki.bokeh-library-portal.org/index.php?title=G%C3%A9olocalisation_de_contenu', diff --git a/library/Class/Notice.php b/library/Class/Notice.php index 7b9748c557960bcbc186f664948a0c2662be5a55..99c84a7bce2a3976d9c84061d61063ab4b2d36d0 100644 --- a/library/Class/Notice.php +++ b/library/Class/Notice.php @@ -1425,7 +1425,7 @@ class Class_Notice extends Storm_Model_Abstract { public function getNotes() { - $zones = array('300a', '303a', '304a', '305a', '306a', '307a', '308a', '310a', '312a', '313a', '314a', '316a', '317a', '320a', '321a', '323a', '334abcd', '337a', '345a'); + $zones = array('300a', '301a', '302a', '303a', '304a', '305a', '306a', '307a', '308a', '310a', '311a', '312a', '313a', '314a', '315a', '316a', '317a', '318a','320a', '321a','322a', '323a', '324a', '325a', '326a', '327a', '328a', '333a', '334abcd', '337a', '345a', '359a', '371a'); $notes = array(); foreach ($zones as $elem) @@ -1438,7 +1438,7 @@ class Class_Notice extends Storm_Model_Abstract { $mot = ''; foreach ($sous_champs as $item) { - if (strpos($champs, $item['code']) !== false) + if ($item['code'] && (strpos($champs, $item['code']) !== false)) { if ($mot) $mot.=', '; $mot.=$item['valeur']; diff --git a/library/Class/NoticeUnimarc/Writer.php b/library/Class/NoticeUnimarc/Writer.php index c1309b819c46f02bb0d7f035382fe287602e019d..364d66ec14e63eaf9a5facdad3b0420144e1bd6a 100644 --- a/library/Class/NoticeUnimarc/Writer.php +++ b/library/Class/NoticeUnimarc/Writer.php @@ -490,7 +490,6 @@ class Class_NoticeUnimarc_Writer extends Class_NoticeUnimarc { chr(0xd0).chr(0x63) => 'ç', chr(0xca) => '°', chr(0xe1) =>'Æ', - chr(0xe2) =>'Ã', chr(0xe9) =>'Ø', chr(0xec) =>'þ', chr(0xf1) =>'æ', diff --git a/library/Class/Profil/Export.php b/library/Class/Profil/Export.php new file mode 100644 index 0000000000000000000000000000000000000000..de8b08f9d69460b3aa39caece34be5110da1046b --- /dev/null +++ b/library/Class/Profil/Export.php @@ -0,0 +1,76 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_Profil_Export { + use Trait_StormFileSystem; + + protected + $_profile, + $_path_temp; + + + public function __construct($profile) { + $this->_profile = $profile; + $this->_path_temp = PATH_TEMP . sprintf('profiles/%d.json', $profile->getId()); + } + + + public function export() { + $this->getFileSystem()->filePutContents($this->_path_temp, $this->toString()); + return $this; + } + + + public function toString() { + $raw_attributes = $this->_profile->getRawAttributes(); + $raw_attributes['cfg_accueil'] = $this->_cleanData($this->_profile->getCfgAccueilAsArray()); + $raw_attributes['cfg_menus'] = $this->_cleanMenus($this->_cleanData($this->_profile->getCfgMenusAsArray())); + $raw_attributes['cfg_modules'] = $this->_cleanData($this->_profile->getCfgModulesAsArray()); + + return json_encode($raw_attributes, JSON_PRETTY_PRINT); + } + + + protected function _cleanData($data) { + $data = array_filter($data, + function($value) + { + return '' !== $value && '0' !== $value; + }); + + foreach ($data as $key => $value) { + $data[$key] = is_array($value) + ? $this->_cleanData($value) + : $value; + } + + return $data; + } + + + protected function _cleanMenus($menus) { + foreach($menus as $k => $menu) + $menus[$k] = (new Class_Systeme_Widget_Menu_Datas())->clean($menu); + + return $menus; + } +} diff --git a/library/Class/Profil/Import.php b/library/Class/Profil/Import.php new file mode 100644 index 0000000000000000000000000000000000000000..a25e1821145127ac28169e0d3ff74332554e418e --- /dev/null +++ b/library/Class/Profil/Import.php @@ -0,0 +1,85 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_Profil_Import { + use Trait_StormFileSystem; + + protected + $_profile, + $_path_temp; + + + public function __construct($profile) { + $this->_profile = $profile; + } + + + public function import($path) { + if (!$attributes = json_decode($this->getFileSystem()->fileGetContents($path), true)) + return $this; + + $attributes = $this->_transformProfileId($attributes); + + unset($attributes['id']); + unset($attributes['id_profil']); + unset($attributes['parent_id']); + unset($attributes['id_site']); + unset($attributes['mail_site']); + + $this->_profile->updateAttributes($attributes); + + return $this; + } + + + protected function _transformProfileId($attributes) { + if ((!$source = $attributes['id']) + || (!$destination = $this->_profile->getId()) + || !isset($attributes['cfg_accueil']['modules'])) + return $attributes; + + foreach($attributes['cfg_accueil']['modules'] as $k => $widget) + $attributes['cfg_accueil']['modules'][$k] = $this->_transformWidgetProfileId($widget, + $source, + $destination); + + return $attributes; + } + + + protected function _transformWidgetProfileId($widget, $source, $destination) { + if (isset($widget['profile_id'])) + $widget['profile_id'] = $destination; + + if (isset($widget['preferences']['profile_id'])) + $widget['preferences']['profile_id'] = $destination; + + if (isset($widget['type_module']) + && 'MENU' == $widget['type_module'] + && isset($widget['preferences']['menu'])) + $widget['preferences']['menu'] = str_replace($source . '-', + $destination . '-', + $widget['preferences']['menu']); + + return $widget; + } +} diff --git a/library/Class/Systeme/ModulesMenu.php b/library/Class/Systeme/ModulesMenu.php index 5ab102153500adf11df5b76062e551962c257987..f82a92521e7ffa46eec560932641b4f2e48eb0b0 100644 --- a/library/Class/Systeme/ModulesMenu.php +++ b/library/Class/Systeme/ModulesMenu.php @@ -40,8 +40,13 @@ class Class_Systeme_ModulesMenu extends Class_Systeme_ModulesAbstract { public static function isModuleAccueil($menu) { - $type_menu = is_array($menu) ? $menu['type_menu'] : $menu; - return (false !== strpos($type_menu, self::MODULE_ACCUEIL_PREFIX)); + if (!is_array($menu)) + return (false !== strpos($menu, self::MODULE_ACCUEIL_PREFIX)); + + if (!isset($menu['type_menu'])) + return false; + + return static::isModuleAccueil($menu['type_menu']); } diff --git a/library/Class/Systeme/Report.php b/library/Class/Systeme/Report.php index 0856570d39d59b9ba48bf38b2d7f75dcaa2c5b7f..b22774ffc13bca9089d846e40b06fe17d25b5e2a 100644 --- a/library/Class/Systeme/Report.php +++ b/library/Class/Systeme/Report.php @@ -94,65 +94,6 @@ class Class_Systeme_Report_Headers extends Class_Systeme_Report_Abstract { -class Class_Systeme_Report_Portal extends Class_Systeme_Report_Abstract { - use Trait_SimpleWebClient; - const EXTERNAL_IP_URL = 'http://myexternalip.com/raw'; - - public function acceptVisitor($visitor) { - $visitor->visitData('url', $this->_('URL principale'), Class_Url::absolute('', null, true)); - $visitor->visitData('ip', $this->_('IP publique'), - $this->getWebClient()->open_url(static::EXTERNAL_IP_URL)); - $visitor->visitData('label', $this->_('Libellé principal'), Class_Profil::getPortail()->getLibelle()); - $visitor->visitDataArray('skins', $this->_('Thèmes utilisés'), $this->_profilSkins()); - $visitor->visitDataArray('boxes', $this->_('Boites utilisées'), $this->_profilBoxes()); - $visitor->visitDataArray('tags', $this->_('Tags'), $this->_fetchTags()); - } - - - protected function _profilSkins() { - return - array_values( - array_unique((new Storm_Model_Collection(Class_Profil::findTopProfils())) - ->collect('skin') - ->getArrayCopy())); - } - - - protected function _profilBoxes() { - $list = []; - foreach (Class_Profil::getAllModules() as $modules) - $list = $this->_boxTypeFrom($modules, $list); - - return array_values(array_filter($list)); - } - - - protected function _boxTypeFrom($modules, $list) { - foreach ($modules as $module) - if (isset($module['type_module'])) - $list[$module['type_module']] = $module['type_module']; - - return $list; - } - - - protected function _fetchTags() { - $tags = (string)Class_AdminVar::get('STATUS_REPORT_TAGS'); - if (defined('STATUS_REPORT_TAGS')) - $tags = (string)constant('STATUS_REPORT_TAGS') . ',' . $tags; - - return - array_values( - array_filter( - array_map('trim', - preg_split( - '/[|;,"\']+/', $tags)))); - } -} - - - - class Class_Systeme_Report_Records extends Class_Systeme_Report_Abstract { public function acceptVisitor($visitor) { $visitor->visitCounter('all', $this->_('Tous'), Class_Notice::count()); diff --git a/library/Class/Systeme/Report/Portal.php b/library/Class/Systeme/Report/Portal.php new file mode 100644 index 0000000000000000000000000000000000000000..93a4de2fb98de1eeac1e96553085baf2c5062130 --- /dev/null +++ b/library/Class/Systeme/Report/Portal.php @@ -0,0 +1,76 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +class Class_Systeme_Report_Portal extends Class_Systeme_Report_Abstract { + use Trait_SimpleWebClient; + const EXTERNAL_IP_URL = 'http://myexternalip.com/raw'; + + public function acceptVisitor($visitor) { + $visitor->visitData('url', $this->_('URL principale'), Class_Url::absolute('', null, true)); + $visitor->visitData('ip', $this->_('IP publique'), + $this->getWebClient()->open_url(static::EXTERNAL_IP_URL)); + $visitor->visitData('label', $this->_('Libellé principal'), Class_Profil::getPortail()->getLibelle()); + $visitor->visitDataArray('skins', $this->_('Thèmes utilisés'), $this->_profilSkins()); + $visitor->visitDataArray('boxes', $this->_('Boites utilisées'), $this->_profilBoxes()); + $visitor->visitDataArray('tags', $this->_('Tags'), $this->_fetchTags()); + } + + + protected function _profilSkins() { + return + array_values( + array_unique((new Storm_Model_Collection(Class_Profil::findTopProfils())) + ->collect('skin') + ->getArrayCopy())); + } + + + protected function _profilBoxes() { + $list = []; + foreach (Class_Profil::getAllModules() as $modules) + $list = $this->_boxTypeFrom($modules, $list); + + return array_values(array_filter($list)); + } + + + protected function _boxTypeFrom($modules, $list) { + foreach ($modules as $module) + if (isset($module['type_module'])) + $list[$module['type_module']] = $module['type_module']; + + return $list; + } + + + protected function _fetchTags() { + $tags = (string)Class_AdminVar::get('STATUS_REPORT_TAGS'); + if (defined('STATUS_REPORT_TAGS')) + $tags = (string)constant('STATUS_REPORT_TAGS') . ',' . $tags; + + return + array_values( + array_filter( + array_map('trim', + preg_split( + '/[|;,"\']+/', $tags)))); + } +} diff --git a/library/Class/Systeme/Widget/Abstract.php b/library/Class/Systeme/Widget/Abstract.php index 26a7aa1e2ad13332e5f2c4943013e88e1223b410..90756575d4bd4bce8cb913f7eb7eb08faa83ee5b 100644 --- a/library/Class/Systeme/Widget/Abstract.php +++ b/library/Class/Systeme/Widget/Abstract.php @@ -179,7 +179,12 @@ abstract class Class_Systeme_Widget_Abstract extends Class_Entity { $datas = []; foreach($children as $index => $child) { - $item = $this->_getResourcesDefinition(isset($child['type_menu']) ? $child['type_menu'] : $child['type_module']); + if (!isset($child['type_menu']) && !isset($child['type_module'])) + continue; + + $item = $this->_getResourcesDefinition(isset($child['type_menu']) + ? $child['type_menu'] + : $child['type_module']); $datas[] = (new Class_Entity()) ->setId($child['id_module']) diff --git a/library/Class/Systeme/Widget/Menu.php b/library/Class/Systeme/Widget/Menu.php index a4e1aa23bd52f91528d62fd9ae2aa603bfdea40d..1329a4f890f49e67969ce94c7baeccfbabb08d67 100644 --- a/library/Class/Systeme/Widget/Menu.php +++ b/library/Class/Systeme/Widget/Menu.php @@ -102,16 +102,11 @@ class Class_Systeme_Widget_Menu extends Class_Systeme_Widget_Abstract { } - protected function _update() { - $datas = array_merge($this->getLocalSettings(), - $this->getNewDatas()); - if(isset($datas['preferences'])) - unset($datas['preferences']); - $datas['preferences'] = $datas; - unset($datas['preferences']['menus']); - unset($datas['preferences']['sous_menus']); + protected function _update() { + $datas = (new Class_Systeme_Widget_Menu_Datas)->clean(array_merge($this->getLocalSettings(), + $this->getNewDatas())); $sub_menus = null; if(isset($datas['children'])) diff --git a/library/Class/Systeme/Widget/Menu/Datas.php b/library/Class/Systeme/Widget/Menu/Datas.php new file mode 100644 index 0000000000000000000000000000000000000000..9b499c68e057ea7078c1d5d7b16885ff3407521a --- /dev/null +++ b/library/Class/Systeme/Widget/Menu/Datas.php @@ -0,0 +1,63 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_Systeme_Widget_Menu_Datas { + public function clean($datas) { + $root_properties = ['libelle' => '', + 'picto' => '', + 'action' => '', + 'menus' => '', + 'sous_menus' => '', + 'children' => '', + 'preferences' => '', + 'type_menu' => '', + 'id_module' => '', + 'type_module' => '']; + + $cleaned_datas = array_intersect_key($datas, $root_properties); + if ($cleaned_preferences = array_diff_key($datas, $root_properties)) + $cleaned_datas['preferences'] = $cleaned_preferences; + + if (!Class_Systeme_ModulesMenu::isModuleAccueil($cleaned_datas)) { + unset($cleaned_datas['id_module']); + unset($cleaned_datas['type_module']); + } + + $cleaned_datas = $this->_cleanSubLevel('menus', $cleaned_datas); + $cleaned_datas = $this->_cleanSubLevel('sous_menus', $cleaned_datas); + + return $cleaned_datas; + } + + + protected function _cleanSubLevel($level, $datas) { + if (!isset($datas[$level])) + return $datas; + + $submemus = $datas[$level]; + $datas[$level] = []; + foreach($submemus as $id_menu => $submenu) + $datas[$level][$id_menu] = $this->clean($submenu); + + return $datas; + } +} diff --git a/library/Class/WebService/SIGB/AbstractRESTService.php b/library/Class/WebService/SIGB/AbstractRESTService.php index 0d375d229d2c4442e3a671235a14825d92f2b1f9..6c8b03fdb6f4100ded19771daadf4c3d84e30d4a 100644 --- a/library/Class/WebService/SIGB/AbstractRESTService.php +++ b/library/Class/WebService/SIGB/AbstractRESTService.php @@ -218,10 +218,10 @@ abstract class Class_WebService_SIGB_AbstractRESTService extends Class_WebServic $xml = $this->httpGet($params); if (0 === strpos($xml, '<html>')) - return $emprunteur; + return null; if ($this->_getTagData($xml, $error_tag)) - return $emprunteur; + return null; return $reader ->setEmprunteur(Class_WebService_SIGB_Emprunteur::nullInstance()) diff --git a/library/Class/WebService/SIGB/Koha/LoansPageReader.php b/library/Class/WebService/SIGB/Koha/LoansPageReader.php index 1c041690f00e613b25061f5c725834f34b066749..909d32bd732a78161505ebdb6c8e100c13d792ff 100644 --- a/library/Class/WebService/SIGB/Koha/LoansPageReader.php +++ b/library/Class/WebService/SIGB/Koha/LoansPageReader.php @@ -32,12 +32,12 @@ class Class_WebService_SIGB_Koha_LoansPageReader } - public function endLoans() { + public function endLoans($data) { //intentionnaly do nothing } - public function endLoan() { + public function endLoan($data) { $this->_loans [] = $this->_currentLoan; } diff --git a/library/ZFDebug/README.md b/library/ZFDebug/README.md deleted file mode 100644 index 472e56d871c68f75aca22520db13c05940d8f8a0..0000000000000000000000000000000000000000 --- a/library/ZFDebug/README.md +++ /dev/null @@ -1,43 +0,0 @@ -# ZFDebug - a debug bar for Zend Framework -ZFDebug is a plugin for the Zend Framework for PHP5, providing useful debug information displayed in a small bar at the bottom of every page. - -Time spent, memory usage and number of database queries are presented at a glance. Additionally, included files, a listing of available view variables and the complete SQL command of all queries are shown in separate panels: - - - -The available plugins at this point are: - - * Cache: Information on Zend_Cache and APC. - * Database: Full listing of SQL queries from Zend_Db and the time for each. - * Exception: Error handling of errors and exceptions. - * File: Number and size of files included with complete list. - * Html: Number of external stylesheets and javascripts. Link to validate with W3C. -for custom memory measurements. - * Log: Timing information of current request, time spent in action controller and custom timers. Also average, min and max time for requests. - * Variables: View variables, request info and contents of `$_COOKIE`, `$_POST` and `$_SESSION` - -Installation & Usage ------------- -To install, place the folder 'ZFDebug' in your library path, next to the Zend -folder. Then add the following method to your bootstrap class (in ZF1.8+): - - protected function _initZFDebug() - { - $autoloader = Zend_Loader_Autoloader::getInstance(); - $autoloader->registerNamespace('ZFDebug'); - - $options = array( - 'plugins' => array('Variables', - 'Database' => array('adapter' => $db), - 'File' => array('basePath' => '/path/to/project'), - 'Cache' => array('backend' => $cache->getBackend()), - 'Exception') - ); - $debug = new ZFDebug_Controller_Plugin_Debug($options); - - $this->bootstrap('frontController'); - $frontController = $this->getResource('frontController'); - $frontController->registerPlugin($debug); - } - -Further documentation will follow as the github move progresses. \ No newline at end of file diff --git a/library/ZFDebug/demos/Zend_Application_Bootstrap.php b/library/ZFDebug/demos/Zend_Application_Bootstrap.php deleted file mode 100644 index 50d2a4585b2f1b36e3bee3952fbe848678a7f2a8..0000000000000000000000000000000000000000 --- a/library/ZFDebug/demos/Zend_Application_Bootstrap.php +++ /dev/null @@ -1,55 +0,0 @@ -<?php - -class Bootstrap extends Zend_Application_Bootstrap_Bootstrap -{ - protected function _initZFDebug() - { - // Setup autoloader with namespace - $autoloader = Zend_Loader_Autoloader::getInstance(); - $autoloader->registerNamespace('ZFDebug'); - - // Ensure the front controller is initialized - $this->bootstrap('FrontController'); - - // Retrieve the front controller from the bootstrap registry - $front = $this->getResource('FrontController'); - - // Only enable zfdebug if options have been specified for it - if ($this->hasOption('zfdebug')) - { - // Create ZFDebug instance - $zfdebug = new ZFDebug_Controller_Plugin_Debug($this->getOption('zfdebug')); - - // Register ZFDebug with the front controller - $front->registerPlugin($zfdebug); - } - // In application.ini do the following: - // - // [development : production] - // zfdebug.plugins.Variables = null - // zfdebug.plugins.Time = null - // zfdebug.plugins.Memory = null - // ... - - // Plugins that take objects as parameters like Database and Cache - // need to be registered manually: - - // $zfdebug->registerPlugin(new ZFDebug_Controller_Plugin_Debug_Plugin_Database($db)); - - - // Alternative configuration without application.ini - // $options = array( - // 'plugins' => array('variables', 'database', - // 'file' => array('basePath' => '/Library/WebServer/Documents/budget', 'myLibrary' => 'Scienta'), - // 'memory', 'time', 'registry', - // //'auth', - // //'cache' => array('backend' => $cache->getBackend()), - // 'exception') - // ); - // $zfdebug = new ZFDebug_Controller_Plugin_Debug($options); - // Register ZFDebug with the front controller - // $front->registerPlugin($zfdebug); - } - -} - diff --git a/library/ZFDebug/demos/bootstrap.php b/library/ZFDebug/demos/bootstrap.php deleted file mode 100644 index b7e9cdb184da0be26ffd83fcb3f1f8c51b17cd54..0000000000000000000000000000000000000000 --- a/library/ZFDebug/demos/bootstrap.php +++ /dev/null @@ -1,31 +0,0 @@ -<?php -/** - * Defining bootstrap for Zend Framework pre-1.8 - */ - -// Leave 'Database' options empty to rely on Zend_Db_Table default adapter - -$options = array( - // 'jquery_path' => 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', - 'plugins' => array('Variables', - 'Constants', - 'Html', - 'Database' => array('adapter' => array('standard' => $db)), - 'File' => array('basePath' => 'path/to/application/root'), - 'Memory', - 'Time', - 'Registry', - 'Cache' => array('backend' => $cache->getBackend()), - 'Exception') -); - -$debug = new ZFDebug_Controller_Plugin_Debug($options); -$frontController->registerPlugin($debug); - -// Alternative registration of plugins, also possible elsewhere in dispatch process -// $zfdebug = Zend_Controller_Front::getInstance()->getPlugin('ZFDebug_Controller_Plugin_Debug'); -// $zfdebug->registerPlugin(new ZFDebug_Controller_Plugin_Debug_Plugin_Database($optionsArray)); - -/** - * Registering other plugins and start dispatch - */ diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug.php deleted file mode 100644 index e11be34ee2ab3bbcf336d6ea67d510dba9633eac..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug.php +++ /dev/null @@ -1,578 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @see Zend_Controller_Exception - */ -require_once 'Zend/Controller/Exception.php'; - -/** - * @see Zend_Version - */ -require_once 'Zend/Version.php'; - -/** - * @see ZFDebug_Controller_Plugin_Debug_Plugin_Text - */ -require_once 'ZFDebug/Controller/Plugin/Debug/Plugin/Text.php'; - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug extends Zend_Controller_Plugin_Abstract -{ - /** - * Contains registered plugins - * - * @var array - */ - protected $_plugins = array(); - - /** - * Contains options to change Debug Bar behavior - */ - protected $_options = array( - 'plugins' => array( - 'Variables' => null, - 'Time' => null, - 'Memory' => null), - 'image_path' => null - ); - - /** - * Standard plugins - * - * @var array - */ - public static $standardPlugins = array( - 'Cache', - 'Html', - 'Database', - 'Exception', - 'File', - 'Memory', - 'Registry', - 'Time', - 'Variables', - 'Constants', - 'Log' - ); - - /** - * Debug Bar Version Number - * for internal use only - * - * @var string - */ - protected $_version = '1.6'; - - /** - * Creates a new instance of the Debug Bar - * - * @param array|Zend_Config $options - * @throws Zend_Controller_Exception - * @return void - */ - - protected $_closingBracket = null; - - public function __construct($options = null) - { - if (isset($options)) { - if ($options instanceof Zend_Config) { - $options = $options->toArray(); - } - - /* - * Verify that adapter parameters are in an array. - */ - if (!is_array($options)) { - throw new Zend_Exception('Debug parameters must be in an array or a Zend_Config object'); - } - - $this->setOptions($options); - } - - /** - * Creating ZF Version Tab always shown - */ - $version = new ZFDebug_Controller_Plugin_Debug_Plugin_Text(); - $version->setPanel($this->_getVersionPanel()) - ->setTab($this->_getVersionTab()) - ->setIdentifier('copyright') - ->setIconData(''); - // ->setIconData('data:image/gif;base64,R0lGODlhEAAQAPcAAPb7/ef2+VepAGKzAIC8SavSiYS9Stvt0uTx4fX6+ur1632+QMLgrGOuApDIZO738drs0Ofz5t7v2MfjtPP6+t7v12SzAcvnyX2+PaPRhH2+Qmy3H3K5LPP6+cXkwIHAR2+4JHi7NePz8YC/Rc3ozfH49XK5KXq9OrzdpNzu1YrEUqrVkdzw5uTw4d/v2dDow5zOeO3279Hq0m+4JqrUhpnMbeHw3N3w6Mflwm22HmazBODy7tfu3un06r7gsuXy4sTisIzGXvH59ny9PdPr1rXZpMzlu36/Q5bLb+Pw3tDnxNHr1Lfbm+b199/x62q1Fp3NcdjszqTPh/L599vt04/GWmazCPb7/LHZnW63I3W6MXa7MmGuAt/y7Gq1E2m0Eb7cp9frzZLJaO/489bu3HW3N7rerN/v2q7WjIjEVuLx343FVrDXj9nt0cTjvW2zIoPBSNjv4OT09IXDUpvLeeHw3dPqyNLpxs/nwHe8OIvFWrPaoGe0C5zMb83mvHm8Oen06a3Xl9XqyoC/Qr/htWe0DofDU4nFWbPYk7ndqZ/PfYPBTMPhrqHRgoLBSujz55PKadHpxfX6+6LNeqPQfNXt2pPIYH2+O7vcoHi4OOf2+PL5+NTs2N3u1mi1E7XZl4zEVJjLaZHGauby5KTShmSzBO/38s/oz3i7MtbrzMHiuYTCT4fDTtXqye327uDv3JDHXu328JnMcu738LLanvD49ZTJYpPKauX19tvv44jBWo7GWpfKZ+Dv27XcpcrluXu8ONTs16zXleT08qfUjKzUlc7pzm63HaTRfZXKZuj06HG4KavViGe0EcDfqcjmxaDQgZrNdOHz77/ep4/HYL3esnW6LobCS3S5K57OctDp0JXKbez17N7x6cbkwLTZlbXXmLrcnrvdodHr06PQe8jkt5jIa93v13m8OI7CW3O6L3a7Nb7gs6nUjmu2GqjTgZjKaKLQeZnMc4LAReL08rTbopbLbuTx4KDOdtbry7DYmrvfrrPaoXK5K5zOegAAACH5BAEAAAAALAAAAAAQABAAAAhMAAEIHEiwoMGDCBMOlCKgoUMuHghInEiggEOHAC5eJNhQ4UAuAjwIJLCR4AEBDQS2uHiAYLGOHjNqlCmgYAONApQ0jBGzp8+fQH8GBAA7'); - $this->registerPlugin($version); - - /** - * Creating the log tab - */ - $logger = new ZFDebug_Controller_Plugin_Debug_Plugin_Log(); - $this->registerPlugin($logger); - $logger->mark('Startup - ZFDebug construct()', true); - - /** - * Loading already defined plugins - */ - $this->_loadPlugins(); - } - - /** - * Get the ZFDebug logger - * - * @return Zend_Log - */ - public function getLogger() - { - return $this->getPlugin('Log')->logger(); - } - - /** - * Sets options of the Debug Bar - * - * @param array $options - * @return ZFDebug_Controller_Plugin_Debug - */ - public function setOptions(array $options = array()) - { - if (isset($options['image_path'])) { - $this->_options['image_path'] = $options['image_path']; - } - - if (isset($options['plugins'])) { - $this->_options['plugins'] = $options['plugins']; - } - return $this; - } - - /** - * Register a new plugin in the Debug Bar - * - * @param ZFDebug_Controller_Plugin_Debug_Plugin_Interface - * @return ZFDebug_Controller_Plugin_Debug - */ - public function registerPlugin(ZFDebug_Controller_Plugin_Debug_Plugin_Interface $plugin) - { - $this->_plugins[$plugin->getIdentifier()] = $plugin; - return $this; - } - - /** - * Unregister a plugin in the Debug Bar - * - * @param string $plugin - * @return ZFDebug_Controller_Plugin_Debug - */ - public function unregisterPlugin($plugin) - { - if (false !== strpos($plugin, '_')) { - foreach ($this->_plugins as $key => $_plugin) { - if ($plugin == get_class($_plugin)) { - unset($this->_plugins[$key]); - } - } - } else { - $plugin = strtolower($plugin); - if (isset($this->_plugins[$plugin])) { - unset($this->_plugins[$plugin]); - } - } - return $this; - } - - /** - * Get a registered plugin in the Debug Bar - * - * @param string $identifier - * @return ZFDebug_Controller_Plugin_Debug_Plugin_Interface - */ - public function getPlugin($identifier) - { - $identifier = strtolower($identifier); - if (isset($this->_plugins[$identifier])) { - return $this->_plugins[$identifier]; - } - return false; - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - */ - public function dispatchLoopShutdown() - { - if ($this->getRequest()->isXmlHttpRequest()) { - return; - } - - $contentType = $this->getRequest()->getHeader('Content-Type'); - if (false !== $contentType && false === strpos($contentType, 'html')) { - return; - } - - $disable = Zend_Controller_Front::getInstance()->getRequest()->getParam('ZFDEBUG_DISABLE'); - if (isset($disable)) { - return; - } - - $html = ''; - - $html .= "<div id='ZFDebug_info'>\n"; - $html .= "\t<span class='ZFDebug_span' style='padding-right:0px;' onclick='ZFDebugPanel(ZFDebugCurrent);'> - <img style='vertical-align:middle;' src='".$this->_icon('close')."'> - </span>\n"; - - /** - * Creating panel content for all registered plugins - */ - foreach ($this->_plugins as $plugin) { - $tab = $plugin->getTab(); - if ($tab == '') { - continue; - } - - if (null !== $this->_options['image_path'] && - file_exists($this->_options['image_path'] .'/'. $plugin->getIdentifier() .'.png')) { - - $pluginIcon = $this->_options['image_path'] .'/'. $plugin->getIdentifier() .'.png'; - } else { - $pluginIcon = $plugin->getIconData(); - } - - /* @var $plugin ZFDebug_Controller_Plugin_Debug_Plugin_Interface */ - $showPanel = ($plugin->getPanel() == '') ? 'log' : $plugin->getIdentifier(); - $html .= "\t".'<span id="ZFDebugInfo_'.$plugin->getIdentifier() - . '" class="ZFDebug_span clickable" onclick="ZFDebugPanel(\'ZFDebug_' - . $showPanel . '\');">' . "\n"; - if ($pluginIcon) { - $html .= "\t\t".'<img src="' . $pluginIcon . '" style="vertical-align:middle" alt="' - . $plugin->getIdentifier() . '" title="' - . $plugin->getIdentifier() . '"> ' . "\n"; - } - $html .= $tab . "</span>\n"; - } - - $html .= '<span id="ZFDebugInfo_Request" class="ZFDebug_span">' - . "\n" - . round(memory_get_peak_usage()/1024) . 'K in ' - . round((microtime(true)-$_SERVER['REQUEST_TIME'])*1000) . 'ms' - . '</span>' . "\n"; - - $html .= "</div>\n"; - $html .= '<div id="ZFDebugResize"></div>'; - - /** - * Creating menu tab for all registered plugins - */ - $this->getPlugin('log')->mark('Shutdown', true); - foreach ($this->_plugins as $plugin) { - $panel = $plugin->getPanel(); - if ($panel == '') { - continue; - } - - /* @var $plugin ZFDebug_Controller_Plugin_Debug_Plugin_Interface */ - $html .= "\n" . '<div id="ZFDebug_' . $plugin->getIdentifier() - . '" class="ZFDebug_panel" name="ZFDebug_panel">' . "\n" . $panel . "\n</div>\n"; - } - - $this->_output($html); - } - - ### INTERNAL METHODS BELOW ### - - /** - * Load plugins set in config option - * - * @return void; - */ - protected function _loadPlugins() - { - foreach ($this->_options['plugins'] as $plugin => $options) { - if (is_numeric($plugin)) { - # Plugin passed as array value instead of key - $plugin = $options; - $options = array(); - } - - // Register an instance - if (is_object($plugin) && in_array('ZFDebug_Controller_Plugin_Debug_Plugin_Interface', class_implements($plugin))) { - $this->registerPlugin($plugin); - continue; - } - - if (!is_string($plugin)) { - throw new Exception("Invalid plugin name", 1); - } - $plugin = ucfirst($plugin); - - // Register a classname - if (in_array($plugin, ZFDebug_Controller_Plugin_Debug::$standardPlugins)) { - // standard plugin - $pluginClass = 'ZFDebug_Controller_Plugin_Debug_Plugin_' . $plugin; - } else { - // we use a custom plugin - if (!preg_match('~^[\w]+$~D', $plugin)) { - throw new Zend_Exception("ZFDebug: Invalid plugin name [$plugin]"); - } - $pluginClass = $plugin; - } - - require_once str_replace('_', DIRECTORY_SEPARATOR, $pluginClass) . '.php'; - $object = new $pluginClass($options); - $this->registerPlugin($object); - } - } - - /** - * Return version tab - * - * @return string - */ - protected function _getVersionTab() - { - return '<strong>ZFDebug</strong>'; - // return ' ' . Zend_Version::VERSION . '/'.phpversion(); - } - - /** - * Returns version panel - * - * @return string - */ - protected function _getVersionPanel() - { - $panel = "<h4>ZFDebug $this->_version – Zend Framework " - . Zend_Version::VERSION . " on PHP " . phpversion() . "</h4>\n" - . "<p>©2008-2009 <a href='http://jokke.dk'>Joakim NygÃ¥rd</a>" . $this->getLinebreak() - . "with contributions by <a href='http://www.bangal.de'>Andreas Pankratz</a> and others</p>" - . "<p>The project is hosted at <a href='http://code.google.com/p/zfdebug/'>http://zfdebug.googlecode.com</a>" - . " and released under the BSD License" . $this->getLinebreak() - . "Includes images from the <a href='http://www.famfamfam.com/lab/icons/silk/'>Silk Icon set</a> by Mark James</p>" - . "<p>Disable ZFDebug temporarily by sending ZFDEBUG_DISABLE as a GET/POST parameter</p>"; - // $panel .= '<h4>Zend Framework '.Zend_Version::VERSION.' / PHP '.phpversion().' with extensions:</h4>'; - // $extensions = get_loaded_extensions(); - // natcasesort($extensions); - // $panel .= implode('<br>', $extensions); - return $panel; - } - - /** - * Returns path to the specific icon - * - * @return string - */ - protected function _icon($kind) - { - switch ($kind) { - case 'database': - if (null === $this->_options['image_path']) - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEYSURBVBgZBcHPio5hGAfg6/2+R980k6wmJgsJ5U/ZOAqbSc2GnXOwUg7BESgLUeIQ1GSjLFnMwsKGGg1qxJRmPM97/1zXFAAAAEADdlfZzr26miup2svnelq7d2aYgt3rebl585wN6+K3I1/9fJe7O/uIePP2SypJkiRJ0vMhr55FLCA3zgIAOK9uQ4MS361ZOSX+OrTvkgINSjS/HIvhjxNNFGgQsbSmabohKDNoUGLohsls6BaiQIMSs2FYmnXdUsygQYmumy3Nhi6igwalDEOJEjPKP7CA2aFNK8Bkyy3fdNCg7r9/fW3jgpVJbDmy5+PB2IYp4MXFelQ7izPrhkPHB+P5/PjhD5gCgCenx+VR/dODEwD+A3T7nqbxwf1HAAAAAElFTkSuQmCC'; - - return $this->_options['image_path'] . '/database.png'; - break; - case 'exception': - if (null === $this->_options['image_path']) - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJPSURBVDjLpZPLS5RhFMYfv9QJlelTQZwRb2OKlKuINuHGLlBEBEOLxAu46oL0F0QQFdWizUCrWnjBaDHgThCMoiKkhUONTqmjmDp2GZ0UnWbmfc/ztrC+GbM2dXbv4ZzfeQ7vefKMMfifyP89IbevNNCYdkN2kawkCZKfSPZTOGTf6Y/m1uflKlC3LvsNTWArr9BT2LAf+W73dn5jHclIBFZyfYWU3or7T4K7AJmbl/yG7EtX1BQXNTVCYgtgbAEAYHlqYHlrsTEVQWr63RZFuqsfDAcdQPrGRR/JF5nKGm9xUxMyr0YBAEXXHgIANq/3ADQobD2J9fAkNiMTMSFb9z8ambMAQER3JC1XttkYGGZXoyZEGyTHRuBuPgBTUu7VSnUAgAUAWutOV2MjZGkehgYUA6O5A0AlkAyRnotiX3MLlFKduYCqAtuGXpyH0XQmOj+TIURt51OzURTYZdBKV2UBSsOIcRp/TVTT4ewK6idECAihtUKOArWcjq/B8tQ6UkUR31+OYXP4sTOdisivrkMyHodWejlXwcC38Fvs8dY5xaIId89VlJy7ACpCNCFCuOp8+BJ6A631gANQSg1mVmOxxGQYRW2nHMha4B5WA3chsv22T5/B13AIicWZmNZ6cMchTXUe81Okzz54pLi0uQWp+TmkZqMwxsBV74Or3od4OISPr0e3SHa3PX0f3HXKofNH/UIG9pZ5PeUth+CyS2EMkEqs4fPEOBJLsyske48/+xD8oxcAYPzs4QaS7RR2kbLTTOTQieczfzfTv8QPldGvTGoF6/8AAAAASUVORK5CYII='; - - return $this->_options['image_path'] . '/exception.png'; - break; - case 'error': - if (null === $this->_options['image_path']) - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIsSURBVDjLpVNLSJQBEP7+h6uu62vLVAJDW1KQTMrINQ1vPQzq1GOpa9EppGOHLh0kCEKL7JBEhVCHihAsESyJiE4FWShGRmauu7KYiv6Pma+DGoFrBQ7MzGFmPr5vmDFIYj1mr1WYfrHPovA9VVOqbC7e/1rS9ZlrAVDYHig5WB0oPtBI0TNrUiC5yhP9jeF4X8NPcWfopoY48XT39PjjXeF0vWkZqOjd7LJYrmGasHPCCJbHwhS9/F8M4s8baid764Xi0Ilfp5voorpJfn2wwx/r3l77TwZUvR+qajXVn8PnvocYfXYH6k2ioOaCpaIdf11ivDcayyiMVudsOYqFb60gARJYHG9DbqQFmSVNjaO3K2NpAeK90ZCqtgcrjkP9aUCXp0moetDFEeRXnYCKXhm+uTW0CkBFu4JlxzZkFlbASz4CQGQVBFeEwZm8geyiMuRVntzsL3oXV+YMkvjRsydC1U+lhwZsWXgHb+oWVAEzIwvzyVlk5igsi7DymmHlHsFQR50rjl+981Jy1Fw6Gu0ObTtnU+cgs28AKgDiy+Awpj5OACBAhZ/qh2HOo6i+NeA73jUAML4/qWux8mt6NjW1w599CS9xb0mSEqQBEDAtwqALUmBaG5FV3oYPnTHMjAwetlWksyByaukxQg2wQ9FlccaK/OXA3/uAEUDp3rNIDQ1ctSk6kHh1/jRFoaL4M4snEMeD73gQx4M4PsT1IZ5AfYH68tZY7zv/ApRMY9mnuVMvAAAAAElFTkSuQmCC'; - - return $this->_options['image_path'] . '/error.png'; - break; - case 'close': - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABHElEQVQoFZ2SMUsDQRCFN6eRIIIS0MZW0gUs72orayvh/C3HNfkXV/kftEhz3V0pigghrc0VQdsYiO/b3MAaYgh58HZ2387czt6+jvuLvpaX4oV41m59KTbipzhrNdexieKVOBBPAy2cfmsxEaeIBwwCRdfiMYt/0JNOJ3NxFmmgPU7qii7P8yExRKCRQy41jsR7qITRUqiq6sk05mjsmaY45I43Ii14KPEhjuPbuq6fEWyeJMnjKsOPDYV34lEgOitG4wNrRchz7rgXDlXFO21tVR24tVOp2e/n8I4L8VzslWXZRFE0SdN0rLVHURSvaFmWvbUSRvgw55gB/Fu2CZvCj8QXcWrOwYM44kTEIZvASe+it5ydaIk7m/wXTbV0eSnRtrUAAAAASUVORK5CYII='; - break; - default: - if (null === $this->_options['image_path']) - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHhSURBVDjLpZI9SJVxFMZ/r2YFflw/kcQsiJt5b1ije0tDtbQ3GtFQYwVNFbQ1ujRFa1MUJKQ4VhYqd7K4gopK3UIly+57nnMaXjHjqotnOfDnnOd/nt85SURwkDi02+ODqbsldxUlD0mvHw09ubSXQF1t8512nGJ/Uz/5lnxi0tB+E9QI3D//+EfVqhtppGxUNzCzmf0Ekojg4fS9cBeSoyzHQNuZxNyYXp5ZM5Mk1ZkZT688b6thIBenG/N4OB5B4InciYBCVyGnEBHO+/LH3SFKQuF4OEs/51ndXMXC8Ajqknrcg1O5PGa2h4CJUqVES0OO7sYevv2qoFBmJ/4gF4boaOrg6rPLYWaYiVfDo0my8w5uj12PQleB0vcp5I6HsHAUoqUhR29zH+5B4IxNTvDmxljy3x2YCYUwZVlbzXJh9UKeQY6t2m0Lt94Oh5loPdqK3EkjzZi4MM/Y9Db3MTv/mYWVxaqkw9IOATNR7B5ABHPrZQrtg9sb8XDKa1+QOwsri4zeHD9SAzE1wxBTXz9xtvMc5ZU5lirLSKIz18nJnhOZjb22YKkhd4odg5icpcoyL669TAAujlyIvmPHSWXY1ti1AmZ8mJ3ElP1ips1/YM3H300g+W+51nc95YPEX8fEbdA2ReVYAAAAAElFTkSuQmCC'; - - return $this->_options['image_path'] . '/unknown.png'; - break; - } - } - - /** - * Returns html header for the Debug Bar - * - * @return string - */ - protected function _headerOutput() - { - $collapsed = isset($_COOKIE['ZFDebugCollapsed']) ? $_COOKIE['ZFDebugCollapsed'] : ''; - if ($collapsed) { - $boxheight = isset($_COOKIE['ZFDebugHeight']) ? $_COOKIE['ZFDebugHeight'] : '240'; - } else { - $boxheight = '32'; - } - return (' - <style type="text/css" media="screen"> - html,body {height:100%} - #ZFDebug, #ZFDebug div, #ZFDebug span, #ZFDebug h1, #ZFDebug h2, #ZFDebug h3, #ZFDebug h4, #ZFDebug h5, #ZFDebug h6, #ZFDebug p, #ZFDebug blockquote, #ZFDebug pre, #ZFDebug a, #ZFDebug code, #ZFDebug em, #ZFDebug img, #ZFDebug strong, #ZFDebug dl, #ZFDebug dt, #ZFDebug dd, #ZFDebug ol, #ZFDebug ul, #ZFDebug li, #ZFDebug table, #ZFDebug tbody, #ZFDebug tfoot, #ZFDebug thead, #ZFDebug tr, #ZFDebug th, #ZFDebug td { - margin: 0; - padding: 0; - border: 0; - outline: 0; - font-size: 100%; - vertical-align: baseline; - background: transparent; - } - - #ZFDebug_offset {height:'.$boxheight.'px} - #ZFDebug {height:'.$boxheight.'px; width:100%; background:#262626; - font: 12px/1.4em Lucida Grande, Lucida Sans Unicode, sans-serif; - position:fixed; bottom:0px; left:0px; color:#FFF; background:#000000; - z-index:2718281828459045;} - #ZFDebug p {margin:1em 0} - #ZFDebug a {color:#FFFFFF} - #ZFDebug tr {color:#FFFFFF;} - #ZFDebug td {vertical-align:top; padding-bottom:1em} - #ZFDebug ol {margin:1em 0 0 0; padding:0; list-style-position: inside;} - #ZFDebug li {margin:0;} - #ZFDebug .clickable {cursor:pointer} - #ZFDebug #ZFDebug_info {display:block; height:32px; - background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAyCAMAAABSxbpPAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACFQTFRFFhYWIyMjGhoaHBwcJSUlExMTFBQUHx8fISEhGBgYJiYmWIZXxwAAAC5JREFUeNrsxskNACAMwLBAucr+A/OLWAEJv0wXQ1xSVBFiiiWKaGLr96EeAQYA2KMRY8RL/qEAAAAASUVORK5CYII=) } - #ZFDebug #ZFDebugResize {cursor:row-resize; height:1px; border-top:1px solid #1a1a1a;border-bottom:1px solid #333333; } - #ZFDebug .ZFDebug_span {padding:0 15px; line-height:32px; display:block; float:left} - #ZFDebug .ZFDebug_panel {padding:0px 15px 15px 15px; - font: 11px/1.4em Menlo, Monaco, Lucida Console, monospace; - text-align:left; height:'.($boxheight-50).'px; overflow:auto; display:none; } - #ZFDebug h4 {font:bold 12px/1.4em Menlo, Monaco, Lucida Console, monospace; margin:1em 0;} - #ZFDebug .ZFDebug_active {background:#1a1a1a;} - #ZFDebug .ZFDebug_panel .pre {margin:0 0 0 22px} - #ZFDebug_exception { border:1px solid #CD0A0A;display: block; } - </style> - <script type="text/javascript"> - var ZFDebugLoad = window.onload; - window.onload = function(){ - if (ZFDebugLoad) { - ZFDebugLoad(); - } - if ("'.$collapsed.'" != "") { - ZFDebugPanel("' . $collapsed . '"); - } - window.zfdebugHeight = "'.(isset($_COOKIE['ZFDebugHeight']) ? $_COOKIE['ZFDebugHeight'] : '240').'"; - - document.onmousemove = function(e) { - var event = e || window.event; - window.zfdebugMouse = Math.max(40, Math.min(window.innerHeight, -1*(event.clientY-window.innerHeight-32))); - } - - var ZFDebugResizeTimer = null; - document.getElementById("ZFDebugResize").onmousedown=function(e){ - ZFDebugResize(); - ZFDebugResizeTimer = setInterval("ZFDebugResize()",50); - return false; - } - document.onmouseup=function(e){ - clearTimeout(ZFDebugResizeTimer); - } - }; - - function ZFDebugResize() - { - window.zfdebugHeight = window.zfdebugMouse; - document.cookie = "ZFDebugHeight="+window.zfdebugHeight+";expires=;path=/"; - document.getElementById("ZFDebug").style.height = window.zfdebugHeight+"px"; - document.getElementById("ZFDebug_offset").style.height = window.zfdebugHeight+"px"; - - var panels = document.getElementById("ZFDebug").children; - for (var i=0; i < document.getElementById("ZFDebug").childElementCount; i++) { - if (panels[i].className.indexOf("ZFDebug_panel") == -1) - continue; - - panels[i].style.height = window.zfdebugHeight-50+"px"; - } - } - - var ZFDebugCurrent = null; - - function ZFDebugPanel(name) { - if (ZFDebugCurrent == name) { - document.getElementById("ZFDebug").style.height = "32px"; - document.getElementById("ZFDebug_offset").style.height = "32px"; - ZFDebugCurrent = null; - document.cookie = "ZFDebugCollapsed=;expires=;path=/"; - } else { - document.getElementById("ZFDebug").style.height = window.zfdebugHeight+"px"; - document.getElementById("ZFDebug_offset").style.height = window.zfdebugHeight+"px"; - ZFDebugCurrent = name; - document.cookie = "ZFDebugCollapsed="+name+";expires=;path=/"; - } - - var panels = document.getElementById("ZFDebug").children; - for (var i=0; i < document.getElementById("ZFDebug").childElementCount; i++) { - if (panels[i].className.indexOf("ZFDebug_panel") == -1) - continue; - - if (ZFDebugCurrent && panels[i].id == name) { - document.getElementById("ZFDebugInfo_"+name.substring(8)).className += " ZFDebug_active"; - panels[i].style.display = "block"; - panels[i].style.height = (window.zfdebugHeight-50)+"px"; - } else { - var element = document.getElementById("ZFDebugInfo_"+panels[i].id.substring(8)); - element.className = element.className.replace("ZFDebug_active", ""); - panels[i].style.display = "none"; - } - } - } - </script> - '); - } - - /** - * Appends Debug Bar html output to the original page - * - * @param string $html - * @return void - */ - protected function _output($html) - { - $html = "<div id='ZFDebug_offset'></div>\n<div id='ZFDebug'>\n$html\n</div>\n</body>"; - $response = $this->getResponse(); - // $response->setBody(preg_replace('/(<\/head>)/i', $this->_headerOutput() . '$1', $response->getBody())); - $response->setBody(str_ireplace('</body>', $this->_headerOutput() . $html, $response->getBody())); - } - - public function getLinebreak() - { - return '<br'.$this->getClosingBracket(); - } - - public function getClosingBracket() - { - if (!$this->_closingBracket) { - if ($this->_isXhtml()) { - $this->_closingBracket = ' />'; - } else { - $this->_closingBracket = '>'; - } - } - - return $this->_closingBracket; - } - - protected function _isXhtml() - { - if ($view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view) { - $doctype = $view->doctype(); - return $doctype->isXhtml(); - } - return false; - } -} diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin.php deleted file mode 100644 index 8550d7dfe68b2a80e200553bfb4aadd256e51b61..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id: $ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin -{ - protected $_closingBracket = null; - - public function getLinebreak() - { - return '<br'.$this->getClosingBracket(); - } - - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHhSURBVDjLpZI9SJVxFMZ/r2YFflw/kcQsiJt5b1ije0tDtbQ3GtFQYwVNFbQ1ujRFa1MUJKQ4VhYqd7K4gopK3UIly+57nnMaXjHjqotnOfDnnOd/nt85SURwkDi02+ODqbsldxUlD0mvHw09ubSXQF1t8512nGJ/Uz/5lnxi0tB+E9QI3D//+EfVqhtppGxUNzCzmf0Ekojg4fS9cBeSoyzHQNuZxNyYXp5ZM5Mk1ZkZT688b6thIBenG/N4OB5B4InciYBCVyGnEBHO+/LH3SFKQuF4OEs/51ndXMXC8Ajqknrcg1O5PGa2h4CJUqVES0OO7sYevv2qoFBmJ/4gF4boaOrg6rPLYWaYiVfDo0my8w5uj12PQleB0vcp5I6HsHAUoqUhR29zH+5B4IxNTvDmxljy3x2YCYUwZVlbzXJh9UKeQY6t2m0Lt94Oh5loPdqK3EkjzZi4MM/Y9Db3MTv/mYWVxaqkw9IOATNR7B5ABHPrZQrtg9sb8XDKa1+QOwsri4zeHD9SAzE1wxBTXz9xtvMc5ZU5lirLSKIz18nJnhOZjb22YKkhd4odg5icpcoyL669TAAujlyIvmPHSWXY1ti1AmZ8mJ3ElP1ips1/YM3H300g+W+51nc95YPEX8fEbdA2ReVYAAAAAElFTkSuQmCC'; - } - - public function getClosingBracket() - { - if (!$this->_closingBracket) { - if ($this->_isXhtml()) { - $this->_closingBracket = ' />'; - } else { - $this->_closingBracket = '>'; - } - } - - return $this->_closingBracket; - } - - protected function _isXhtml() - { - $view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view; - $doctype = $view->doctype(); - return $doctype->isXhtml(); - } - - /** - * Transforms data into readable format - * - * @param array $values - * @return string - */ - protected function _cleanData($values) - { - $linebreak = $this->getLinebreak(); - - if (is_array($values)) { - ksort($values); - } - $retVal = '<div class="pre">'; - foreach ($values as $key => $value) - { - $key = htmlspecialchars($key); - if (is_numeric($value)) { - $retVal .= $key.' => '.$value.$linebreak; - } - else if (is_string($value)) { - $retVal .= $key.' => \''.htmlspecialchars($value).'\''.$linebreak; - } - else if (is_array($value)) - { - $retVal .= $key.' => '.self::_cleanData($value); - } - else if (is_object($value)) - { - $retVal .= $key.' => '.get_class($value).' Object()'.$linebreak; - } - else if (is_null($value)) - { - $retVal .= $key.' => NULL'.$linebreak; - } - } - return $retVal.'</div>'; - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php deleted file mode 100644 index d172f33489b1c4312de7b02b06952d5616b9bfaf..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php +++ /dev/null @@ -1,128 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id: $ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Auth implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'auth'; - - /** - * Contains Zend_Auth object - * - * @var Zend_Auth - */ - protected $_auth; - - /** - * Contains "column name" for the username - * - * @var string - */ - protected $_user = 'user'; - - /** - * Contains "column name" for the role - * - * @var string - */ - protected $_role = 'role'; - - /** - * Contains Acls for this application - * - * @var Zend_Acl - */ - protected $_acl; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Auth - * - * @var string $user - * @var string $role - * @return void - */ - public function __construct(array $options = array()) - { - $this->_auth = Zend_Auth::getInstance(); - if (isset($options['user'])) { - $this->_user = $options['user']; - } - if (isset($options['role'])) { - $this->_role = $options['role']; - } - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ3SURBVDjLpZNtSNNRFIcNKunF1rZWBMJqKaSiX9RP1dClsjldA42slW0q5oxZiuHrlqllLayoaJa2jbm1Lc3QUZpKFmmaTMsaRp+kMgjBheSmTL2//kqMBJlFHx44XM7vOfdyuH4A/P6HFQ9zo7cpa/mM6RvCrVDzaVDy6C5JJKv6rwSnIhlFd0R0Up/GwF2KWyl01CTSkM/dQoQRzAurCjRCGnRUUE2FaoSL0HExiYVzsQwcj6RNrSqo4W5Gh6Yc4+1qDDTkIy+GhYK4nTgdz0H2PrrHUJzs71NQn86enPn+CVN9GnzruoYR63mMPbkC59gQzDl7pt7rc9f7FNyUhPY6Bx9gwt4E9zszhWWpdg6ZcS8j3O7zCTuEpnXB+3MNZkUUZu0NmHE8XsL91oSWwiiEc3MeseLrN6woYCWa/Zl8ozyQ3w3Hl2lYy0SwlCUvsVi/Gv2JwITnYPDun2Hy6jYuEzAF1jUBCVYpO6kXo+NuGMeBAgcgfwNkvgBOPgUqXgKvP7rBFvRhE1crp8Vq1noFYSlacVyqGk0D86gbART9BDk9BFnPCNJbCY5aCFL1Cyhtp0RWAp74MsKSrkq9guHyvfMTtmLc1togpZoyqYmyNoITzVTYRJCiXYBIQ3CwFqi83o3JDhX6C0M8XsGIMoQ4OyuRlq1DdZcLkmbgGDX1iIEKNxAcbgTEOqC4ZRaJ6Ub86K7CYFEo8Qo+GBQlQyXBczLZpbloaQ9k1NUz/kD2myBBKxRZpa5hVcQslalatoUxizxAVVrN3CW21bFj9F858Q9dnIRmDyeuybM71uxmH9BNBB1q6zybV7H9s1Ue4PM3/gu/AEbfqfWy2twsAAAAAElFTkSuQmCC'; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - $username = 'Not Authed'; - $role = 'Unknown Role'; - - if (!$this->_auth->hasIdentity()) { - return 'Not authorized'; - } - $identity = $this->_auth->getIdentity(); - if (is_object($identity)) { - $username = $this->_auth->getIdentity()->{$this->_user}; - $role = $this->_auth->getIdentity()->{$this->_role}; - } else { - $username = $this->_auth->getIdentity(); - $role = ''; - } - return $username . ' (' . $role . ')'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - return ''; - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php deleted file mode 100644 index 2499a532fdfb62a4964a9b426501fd6db1692d3c..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php +++ /dev/null @@ -1,139 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Cache - extends ZFDebug_Controller_Plugin_Debug_Plugin - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'cache'; - - /** - * @var Zend_Cache_Backend_ExtendedInterface - */ - protected $_cacheBackends = array(); - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Cache - * - * @param array $options - * @return void - */ - public function __construct(array $options = array()) - { - if (!isset($options['backend'])) { - throw new Zend_Exception("ZFDebug: Cache plugin needs 'backend' parameter"); - } - is_array($options['backend']) || $options['backend'] = array($options['backend']); - foreach ($options['backend'] as $name => $backend) { - if ($backend instanceof Zend_Cache_Backend_ExtendedInterface ) { - $this->_cacheBackends[$name] = $backend; - } - } - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAI/SURBVDjLjZPbS9NhHMYH+zNidtCSQrqwQtY5y2QtT2QGrTZf13TkoYFlzsWa/tzcoR3cSc2xYUlGJfzAaIRltY0N12H5I+jaOxG8De+evhtdOP1hu3hv3sPzPO/z4SsBIPnfuvG8cbBlWiEVO5OUItA0VS8oxi9EdhXo+6yV3V3UGHRvVXHNfNv6zRfNuBZVoiFcB/3LdnQ8U+Gk+bhPVKB3qUOuf6/muaQR/qwDkZ9BRFdCmMr5EPz6BN7lMYylLGgNNaKqt3K0SKDnQ7us690t3rNsxeyvaUz+8OJpzo/QNzd8WTtcaQ7WlBmPvxhx1V2Pg7oDziIBimwwf3qAGWESkVwQ7owNujk1ztvk+cg4NnAUTT4FrrjqUKHdF9jxBfXr1rgjaSk4OlMcLrnOrJ7latxbL1V2lgvlbG9MtMTrMw1r1PImtfyn1n5q47TlBLf90n5NmalMtUdKZoyQMkLKlIGLjMyYhFpmlz3nGEVmFJlRZNaf7pIaEndM24XIjCOzjX9mm2S2JsqdkMYIqbB1j5C6yWzVk7YRFTsGFu7l+4nveExIA9aMCcOJh6DIoMigyOh+o4UryRWQOtIjaJtoziM1FD0mpE4uZcTc72gBaUyYKEI6khgqINXO3saR7kM8IZUVCRDS0Ucf+xFbCReQhr97MZ51wpWxYnhpCD3zOrT4lTisr+AJqVx0Fiiyr4/vhP4VyyMFIUWNqRrV96vWKXKckBoIqWzXYcoPDrUslDJoopuEVEpIB0sR+AuErIiZ6OqMKAAAAABJRU5ErkJggg=='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return 'Cache'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $panel = ''; - - $linebreak = $this->getLinebreak(); - - # Support for APC - if (function_exists('apc_sma_info') && ini_get('apc.enabled')) { - $mem = apc_sma_info(); - $memSize = $mem['num_seg'] * $mem['seg_size']; - $memAvail = $mem['avail_mem']; - $memUsed = $memSize - $memAvail; - - $cache = apc_cache_info(); - - $panel .= '<h4>APC '.phpversion('apc').' Enabled</h4>'; - $panel .= round($memAvail/1024/1024, 1) . 'M available, ' - . round($memUsed/1024/1024, 1) . 'M used' . $linebreak - . $cache['num_entries'].' Files cached (' - . round($cache['mem_size']/1024/1024, 1) . 'M)' . $linebreak - . $cache['num_hits'] . ' Hits (' - . round($cache['num_hits'] * 100 / ($cache['num_hits'] + $cache['num_misses']), 1) . '%)' - . $linebreak - . $cache['expunges'] . ' Expunges (cache full count)'; - } - - foreach ($this->_cacheBackends as $name => $backend) { - $fillingPercentage = $backend->getFillingPercentage(); - $ids = $backend->getIds(); - - # Print full class name, backends might be custom - $panel .= '<h4>Cache '.$name.' ('.get_class($backend).')</h4>'; - $panel .= count($ids).' Entr'.(count($ids)>1?'ies':'y').''.$linebreak - . 'Filling Percentage: '.$backend->getFillingPercentage().'%'.$linebreak; - - $cacheSize = 0; - foreach ($ids as $id) { - # Calculate valid cache size - $memPre = memory_get_usage(); - if ($cached = $backend->load($id)) { - $memPost = memory_get_usage(); - $cacheSize += $memPost - $memPre; - unset($cached); - } - } - $panel .= 'Valid Cache Size: ' . round($cacheSize/1024, 1) . 'K'; - } - return $panel; - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Constants.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Constants.php deleted file mode 100644 index c06adb6ceabd3a59df4b12b2355efedc948d2803..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Constants.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Constants extends ZFDebug_Controller_Plugin_Debug_Plugin implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'constants'; - - /** - * @var Zend_Controller_Request_Abstract - */ - protected $_request; - - /** - * - * @var array - */ - protected $_userConstants; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Variables - * - * @return void - */ - public function __construct() - { - - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFWSURBVBgZBcE/SFQBAAfg792dppJeEhjZn80MChpqdQ2iscmlscGi1nBPaGkviKKhONSpvSGHcCrBiDDjEhOC0I68sjvf+/V9RQCsLHRu7k0yvtN8MTMPICJieaLVS5IkafVeTkZEFLGy0JndO6vWNGVafPJVh2p8q/lqZl60DpIkaWcpa1nLYtpJkqR1EPVLz+pX4rj47FDbD2NKJ1U+6jTeTRdL/YuNrkLdhhuAZVP6ukqbh7V0TzmtadSEDZXKhhMG7ekZl24jGDLgtwEd6+jbdWAAEY0gKsPO+KPy01+jGgqlUjTK4ZroK/UVKoeOgJ5CpRyq5e2qjhF1laAS8c+Ymk1ZrVXXt2+9+fJBYUwDpZ4RR7Wtf9u9m2tF8Hwi9zJ3/tg5pW2FHVv7eZJHd75TBPD0QuYze7n4Zdv+ch7cfg8UAcDjq7mfwTycew1AEQAAAMB/0x+5JQ3zQMYAAAAASUVORK5CYII='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - //pseudo constructor to catch more constants - $constants = get_defined_constants(true); - $this->_userConstants = $constants['user']; - - $count = count($this->_userConstants); - return "Constants ($count)"; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $this->_request = Zend_Controller_Front::getInstance()->getRequest(); - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - - $vars = '<div style="width:50%;float:left;">'; - $vars .= '<h4>Constants</h4>'; - $vars .= '<div id="ZFDebug_Constants" style="margin-left:-22px">'; - $vars .= '<div class="pre">'; - - foreach($this->_userConstants as $constant => $value) { - $vars .= $constant . " => " . print_r($value, true); - $vars .= '<br />'; - } - - $vars .= '</div></div>'; - $vars .= '</div><div style="clear:both"> </div>'; - - return $vars; - } - -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php deleted file mode 100644 index b1922b007bb2c3ccdc60c070a6508fdd7d39b284..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php +++ /dev/null @@ -1,201 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @see Zend_Db_Table_Abstract - */ -require_once 'Zend/Db/Table/Abstract.php'; - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Database - extends ZFDebug_Controller_Plugin_Debug_Plugin - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'database'; - - /** - * @var array - */ - protected $_db = array(); - - protected $_explain = false; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Variables - * - * @param Zend_Db_Adapter_Abstract|array $adapters - * @return void - */ - public function __construct(array $options = array()) - { - if (!isset($options['adapter']) || !count($options['adapter'])) { - if (Zend_Db_Table_Abstract::getDefaultAdapter()) { - $this->_db[0] = Zend_Db_Table_Abstract::getDefaultAdapter(); - $this->_db[0]->getProfiler()->setEnabled(true); - } - } else if ($options['adapter'] instanceof Zend_Db_Adapter_Abstract ) { - $this->_db[0] = $options['adapter']; - $this->_db[0]->getProfiler()->setEnabled(true); - } else { - foreach ($options['adapter'] as $name => $adapter) { - if ($adapter instanceof Zend_Db_Adapter_Abstract) { - $adapter->getProfiler()->setEnabled(true); - $this->_db[$name] = $adapter; - } - } - } - - if (isset($options['explain'])) { - $this->_explain = (bool)$options['explain']; - } - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEYSURBVBgZBcHPio5hGAfg6/2+R980k6wmJgsJ5U/ZOAqbSc2GnXOwUg7BESgLUeIQ1GSjLFnMwsKGGg1qxJRmPM97/1zXFAAAAEADdlfZzr26miup2svnelq7d2aYgt3rebl585wN6+K3I1/9fJe7O/uIePP2SypJkiRJ0vMhr55FLCA3zgIAOK9uQ4MS361ZOSX+OrTvkgINSjS/HIvhjxNNFGgQsbSmabohKDNoUGLohsls6BaiQIMSs2FYmnXdUsygQYmumy3Nhi6igwalDEOJEjPKP7CA2aFNK8Bkyy3fdNCg7r9/fW3jgpVJbDmy5+PB2IYp4MXFelQ7izPrhkPHB+P5/PjhD5gCgCenx+VR/dODEwD+A3T7nqbxwf1HAAAAAElFTkSuQmCC'; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - if (!$this->_db) - return 'No adapter'; - - foreach ($this->_db as $adapter) { - $profiler = $adapter->getProfiler(); - $adapterInfo[] = $profiler->getTotalNumQueries() . ' in ' - . round($profiler->getTotalElapsedSecs()*1000, 2) . ' ms'; - } - $html = implode(' / ', $adapterInfo); - - return $html; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - if (!$this->_db) - return ''; - - $html = '<h4>Database queries'; - - // @TODO: This is always on? - if (Zend_Db_Table_Abstract::getDefaultMetadataCache()) { - $html .= ' – Metadata cache ENABLED'; - } else { - $html .= ' – Metadata cache DISABLED'; - } - $html .= '</h4>'; - - return $html . $this->getProfile(); - } - - public function getProfile() - { - $queries = ''; - foreach ($this->_db as $name => $adapter) { - if ($profiles = $adapter->getProfiler()->getQueryProfiles()) { - $adapter->getProfiler()->setEnabled(false); - if (1 < count($this->_db)) { - $queries .= '<h4>Adapter '.$name.'</h4>'; - } - $queries .='<table cellspacing="0" cellpadding="0" width="100%">'; - foreach ($profiles as $profile) { - $queries .= "<tr>\n<td style='text-align:right;padding-right:2em;' nowrap>\n" - . sprintf('%0.2f', $profile->getElapsedSecs()*1000) - . "ms</td>\n<td>"; - $params = $profile->getQueryParams(); - array_walk($params, array($this, '_addQuotes')); - $paramCount = count($params); - if ($paramCount) { - $queries .= htmlspecialchars(preg_replace(array_fill(0, $paramCount, '/\?/'), $params, $profile->getQuery(), 1)); - } else { - $queries .= htmlspecialchars($profile->getQuery()); - } - - $supportedAdapter = ($adapter instanceof Zend_Db_Adapter_Mysqli || - $adapter instanceof Zend_Db_Adapter_Pdo_Mysql); - - # Run explain if enabled, supported adapter and SELECT query - if ($this->_explain && $supportedAdapter) { - $queries .= "</td><td style='color:#7F7F7F;padding-left:2em;' nowrap>"; - - foreach ($adapter->fetchAll('EXPLAIN '.$profile->getQuery()) as $explain) { - $queries .= "<div style='padding-bottom:0.5em'>"; - $explainData = array( - 'Type' => $explain['select_type'] . ', ' . $explain['type'], - 'Table' => $explain['table'], - 'Possible keys' => str_replace(',', ', ', $explain['possible_keys']), - 'Key used' => $explain['key'], - ); - if ($explain['Extra']) { - $explainData['Extra'] = $explain['Extra']; - } - $explainData['Rows'] = $explain['rows']; - - $explainEnd = end($explainData); - foreach ($explainData as $key => $value) { - $queries .= "$key: <span style='color:#ffb13e'>$value</span><br>\n"; - } - $queries .= "</div>"; - } - } - - $queries .= "</td>\n</tr>\n"; - } - $queries .= "</table>\n"; - } - } - return $queries; - } - - // For adding quotes to query params - protected function _addQuotes(&$value, $key) - { - $value = "'" . $value . "'"; - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php deleted file mode 100644 index c2f29f4eebe3d3fb5cc439892753880c6a586dd8..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php +++ /dev/null @@ -1,251 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Exception - extends Zend_Controller_Plugin_Abstract - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - protected static $_logger; - - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'exception'; - - /** - * Contains any errors - * - * @var param array - */ - static $errors = array(); - - protected $_rendered = false; - - /** - * Get the ZFDebug logger - * - * @return Zend_Log - */ - public static function getLogger() - { - if (!self::$_logger) { - if ($zfdebug = Zend_Controller_Front::getInstance()->getPlugin('ZFDebug_Controller_Plugin_Debug')) { - self::$_logger = $zfdebug->getPlugin('Log')->getLog(); - } else { - return false; - } - } - return self::$_logger; - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJPSURBVDjLpZPLS5RhFMYfv9QJlelTQZwRb2OKlKuINuHGLlBEBEOLxAu46oL0F0QQFdWizUCrWnjBaDHgThCMoiKkhUONTqmjmDp2GZ0UnWbmfc/ztrC+GbM2dXbv4ZzfeQ7vefKMMfifyP89IbevNNCYdkN2kawkCZKfSPZTOGTf6Y/m1uflKlC3LvsNTWArr9BT2LAf+W73dn5jHclIBFZyfYWU3or7T4K7AJmbl/yG7EtX1BQXNTVCYgtgbAEAYHlqYHlrsTEVQWr63RZFuqsfDAcdQPrGRR/JF5nKGm9xUxMyr0YBAEXXHgIANq/3ADQobD2J9fAkNiMTMSFb9z8ambMAQER3JC1XttkYGGZXoyZEGyTHRuBuPgBTUu7VSnUAgAUAWutOV2MjZGkehgYUA6O5A0AlkAyRnotiX3MLlFKduYCqAtuGXpyH0XQmOj+TIURt51OzURTYZdBKV2UBSsOIcRp/TVTT4ewK6idECAihtUKOArWcjq/B8tQ6UkUR31+OYXP4sTOdisivrkMyHodWejlXwcC38Fvs8dY5xaIId89VlJy7ACpCNCFCuOp8+BJ6A631gANQSg1mVmOxxGQYRW2nHMha4B5WA3chsv22T5/B13AIicWZmNZ6cMchTXUe81Okzz54pLi0uQWp+TmkZqMwxsBV74Or3od4OISPr0e3SHa3PX0f3HXKofNH/UIG9pZ5PeUth+CyS2EMkEqs4fPEOBJLsyske48/+xD8oxcAYPzs4QaS7RR2kbLTTOTQieczfzfTv8QPldGvTGoF6/8AAAAASUVORK5CYII='; - } - - /** - * Creates Error Plugin ans sets the Error Handler - * - * @return void - */ - public function __construct() - { - Zend_Controller_Front::getInstance()->registerPlugin($this); - - set_error_handler(array($this , 'errorHandler')); - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return ''; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $this->_rendered = true; - return ''; - } - - /** - * Debug Bar php error handler - * - * @param string $level - * @param string $message - * @param string $file - * @param string $line - * @return bool - */ - public static function errorHandler($level, $message, $file, $line) - { - if (! ($level & error_reporting())) - return false; - switch ($level) { - case E_NOTICE: - case E_USER_NOTICE: - $method = 'notice'; - $type = 'Notice'; - break; - case E_WARNING: - case E_USER_WARNING: - $method = 'warn'; - $type = 'Warning'; - break; - case E_ERROR: - case E_USER_ERROR: - $method = 'crit'; - $type = 'Fatal Error'; - break; - default: - $method = 'err'; - $type = 'Unknown, ' . $level; - break; - } - self::$errors[] = array( - 'type' => $type , - 'message' => $message , - 'file' => $file , - 'line' => $line, - 'trace' => debug_backtrace() - ); - - $message = sprintf( - "%s in %s on line %d", - $message, - str_replace($_SERVER['DOCUMENT_ROOT'], '', $file), - $line - ); - // if (ini_get('log_errors')) - // error_log(sprintf("%s: %s", $type, $message)); - - if (($logger = self::getLogger())) { - $logger->$method($message); - } - return false; - } - - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function routeStartup(Zend_Controller_Request_Abstract $request) - { - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function routeShutdown(Zend_Controller_Request_Abstract $request) - { - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function preDispatch(Zend_Controller_Request_Abstract $request) - { - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - { - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) - { - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function dispatchLoopShutdown() - { - $response = Zend_Controller_Front::getInstance()->getResponse(); - foreach ($response->getException() as $e) { - $exception = get_class($e) . ': ' . $e->getMessage() - . ' thrown in ' . str_replace($_SERVER['DOCUMENT_ROOT'], '', $e->getFile()) - . ' on line ' . $e->getLine(); - $exception .= '<ol>'; - foreach ($e->getTrace() as $t) { - $func = $t['function'] . '()'; - if (isset($t['class'])) - $func = $t['class'] . $t['type'] . $func; - if (! isset($t['file'])) - $t['file'] = 'unknown'; - if (! isset($t['line'])) - $t['line'] = 'n/a'; - $exception .= '<li>' . $func . ' in ' - . str_replace($_SERVER['DOCUMENT_ROOT'], '', $t['file']) - . ' on line ' . $t['line'] . '</li>'; - } - $exception .= '</ol>'; - if ($logger = self::getLogger()) - $logger->crit($exception); - } - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php deleted file mode 100644 index b8e105d4deac2c64fdf27453ae2a952813bc05ec..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php +++ /dev/null @@ -1,167 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_File - extends ZFDebug_Controller_Plugin_Debug_Plugin - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'file'; - - /** - * Base path of this application - * String is used to strip it from filenames - * - * @var string - */ - protected $_basePath; - - /** - * Stores included files - * - * @var array - */ - protected $_includedFiles = null; - - /** - * Stores names of used extension libraries - * - * @var array - */ - protected $_library; - - /** - * Setting Options - * - * basePath: - * This will normally not your document root of your webserver, its your - * application root directory with /application, /library and /public - * - * library: - * Your own library extension(s) - * - * @param array $options - * @return void - */ - public function __construct(array $options = array()) - { - isset($options['base_path']) || $options['base_path'] = $_SERVER['DOCUMENT_ROOT']; - isset($options['library']) || $options['library'] = null; - - $this->_basePath = realpath($options['base_path']); - is_array($options['library']) || $options['library'] = array($options['library']); - $this->_library = array_merge($options['library'], array('Zend', 'ZFDebug')); - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADPSURBVCjPdZFNCsIwEEZHPYdSz1DaHsMzuPM6RRcewSO4caPQ3sBDKCK02p+08DmZtGkKlQ+GhHm8MBmiFQUU2ng0B7khClTdQqdBiX1Ma1qMgbDlxh0XnJHiit2JNq5HgAo3KEx7BFAM/PMI0CDB2KNvh1gjHZBi8OR448GnAkeNDEDvKZDh2Xl4cBcwtcKXkZdYLJBYwCCFPDRpMEjNyKcDPC4RbXuPiWKkNABPOuNhItegz0pGFkD+y3p0s48DDB43dU7+eLWes3gdn5Y/LD9Y6skuWXcAAAAASUVORK5CYII='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return count($this->_getIncludedFiles()) . ' Files'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $linebreak = $this->getLinebreak(); - $included = $this->_getIncludedFiles(); - $html = '<h4>' . count($included).' files included worth '; - $size = 0; - foreach ($included as $file) { - $size += filesize($file); - } - $html .= round($size/1024, 1).'K</h4>'; - - // $html .= 'Basepath: ' . $this->_basePath .$linebreak; - - $libraryFiles = array(); - foreach ($this->_library as $key => $value) { - if ('' != $value) { - $libraryFiles[$key] = '<h4>' . $value . ' Files</h4>'; - } - } - - $html .= '<h4>Application Files</h4>'; - foreach ($included as $file) { - $file = str_replace($this->_basePath, '', $file); - $filePaths = explode(DIRECTORY_SEPARATOR, $file); - $inUserLib = false; - foreach ($this->_library as $key => $library) { - if ('' != $library && in_array($library, $filePaths)) { - $libraryFiles[$key] .= $file . $linebreak; - $inUserLib = TRUE; - } - } - if (!$inUserLib) { - $html .= $file .$linebreak; - } - } - - $html .= implode('', $libraryFiles); - - return $html; - } - - /** - * Gets included files - * - * @return array - */ - protected function _getIncludedFiles() - { - if (null !== $this->_includedFiles) { - return $this->_includedFiles; - } - - $this->_includedFiles = get_included_files(); - sort($this->_includedFiles); - return $this->_includedFiles; - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php deleted file mode 100644 index 8935f1a63cd0239af0343e1a3fdfe7ade45286cc..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php +++ /dev/null @@ -1,95 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Html - extends ZFDebug_Controller_Plugin_Debug_Plugin - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'html'; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Html - * - * @param string $tab - * @param string $panel - * @return void - */ - public function __construct() - { - - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAEdSURBVDjLjZIxTgNBDEXfbDZIlIgmCKWgSpMGxEk4AHehgavQcJY0KRKJJiBQLkCR7PxvmiTsbrJoLY1sy/Ibe+an9XodtqkfSUd+Op0mTlgpidFodKpGRAAwn8/pstI2AHvfbi6KAkndgHZx31iP2/CTE3Q1A0ji6fUjsiFn8fJ4k44mSCmR0sl3QhJXF2fYwftXPl5hsVg0Xr0d2yZnIwWbqrlyOZlMDtc+v33H9eUQO7ACOZAC2Ye8qqIJqCfZRtnIIBnVQH8AdQOqylTZWPBwX+zGj93ZrXU7ZLlcxj5vArYi5/Iweh+BNQCbrVl8/uAMvjvvJbBU/++6rVarGI/HB0BbI4PBgNlsRtGlsL4CK7sAfQX2L6CPwH4BZf1E9tbX5ioAAAAASUVORK5CYII='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return 'HTML'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $body = Zend_Controller_Front::getInstance()->getResponse()->getBody(); - $liberrors = libxml_use_internal_errors(true); - $dom = new DOMDocument(); - $dom->loadHtml($body); - libxml_use_internal_errors($liberrors); - $panel = '<h4>HTML Information</h4>'; - $panel .= $this->_isXhtml(); - $linebreak = $this->getLinebreak(); - $panel .= $dom->getElementsByTagName('*')->length.' Tags in ' . round(strlen($body)/1024, 2).'K'.$linebreak - . $dom->getElementsByTagName('link')->length.' Link Tags'.$linebreak - . $dom->getElementsByTagName('script')->length.' Script Tags'.$linebreak - . $dom->getElementsByTagName('img')->length.' Images'.$linebreak - . '<form method="post" action="http://validator.w3.org/check"><p><input type="hidden" name="fragment" value="'.htmlentities($body).'"'.$this->getClosingBracket().'<input type="submit" value="Validate With W3C"'.$this->getClosingBracket().'</p></form>'; - return $panel; - } -} diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php deleted file mode 100644 index d57cdcd0600c9fbbe0639e4c017fb80037509d97..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -interface ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Has to return html code for the menu tab - * - * @return string - */ - public function getTab(); - - /** - * Has to return html code for the content panel - * - * @return string - */ - public function getPanel(); - - /** - * Has to return a unique identifier for the specific plugin - * - * @return string - */ - public function getIdentifier(); - - - /** - * Return the path to an icon - * - * @return string - */ - public function getIconData(); -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Log.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Log.php deleted file mode 100644 index 0a7bc92eb05b0acf0aa08c014a56edfc4cb3fc7f..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Log.php +++ /dev/null @@ -1,221 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Log - extends Zend_Controller_Plugin_Abstract - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - const ZFLOG = 10; - - protected $_logger; - protected $_writer; - - protected $_marks = array(); - - public function __construct() - { - Zend_Controller_Front::getInstance()->registerPlugin($this); - $this->_writer = new ZFDebug_Controller_Plugin_Debug_Plugin_Log_Writer(); - $this->_logger = new Zend_Log($this->_writer); - $this->_logger->addPriority('ZFLOG', self::ZFLOG); - } - - public function __call($method, $params) - { - $this->_logger->$method(array_shift($params)); - } - - public function getLog() - { - return $this->_logger; - } - - public function getWriter() - { - return $this->_writer; - } - - /** - * Has to return html code for the menu tab - * - * @return string - */ - public function getTab() - { - // $this->_logger->zflog('test'); - $tab = " Log"; - if ($this->_writer->getErrorCount()) { - $tab .= " (".$this->_writer->getErrorCount().")"; - $_COOKIE['ZFDebugCollapsed'] = 'ZFDebug_'.$this->getIdentifier(); - } - return $tab; - } - - /** - * Has to return html code for the content panel - * - * @return string - */ - public function getPanel() - { - $request = Zend_Controller_Front::getInstance()->getRequest(); - $module = $request->getModuleName(); - if ('default' !== $module) { - $module = " ($module module)"; - } else { - $module = ''; - } - $controller = $request->getControllerName(); - $action = $request->getActionName(); - - $panel = "<h4>Event log for {$controller}Controller->{$action}Action() {$module}</h4>"; - $panel .= '<table cellpadding="0" cellspacing="0">'.implode('', $this->_writer->getMessages()).'</table>'; - return $panel; - } - - /** - * Has to return a unique identifier for the specific plugin - * - * @return string - */ - public function getIdentifier() - { - return 'log'; - } - - - /** - * Return the path to an icon - * - * @return string - */ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHhSURBVDjLpZI9SJVxFMZ/r2YFflw/kcQsiJt5b1ije0tDtbQ3GtFQYwVNFbQ1ujRFa1MUJKQ4VhYqd7K4gopK3UIly+57nnMaXjHjqotnOfDnnOd/nt85SURwkDi02+ODqbsldxUlD0mvHw09ubSXQF1t8512nGJ/Uz/5lnxi0tB+E9QI3D//+EfVqhtppGxUNzCzmf0Ekojg4fS9cBeSoyzHQNuZxNyYXp5ZM5Mk1ZkZT688b6thIBenG/N4OB5B4InciYBCVyGnEBHO+/LH3SFKQuF4OEs/51ndXMXC8Ajqknrcg1O5PGa2h4CJUqVES0OO7sYevv2qoFBmJ/4gF4boaOrg6rPLYWaYiVfDo0my8w5uj12PQleB0vcp5I6HsHAUoqUhR29zH+5B4IxNTvDmxljy3x2YCYUwZVlbzXJh9UKeQY6t2m0Lt94Oh5loPdqK3EkjzZi4MM/Y9Db3MTv/mYWVxaqkw9IOATNR7B5ABHPrZQrtg9sb8XDKa1+QOwsri4zeHD9SAzE1wxBTXz9xtvMc5ZU5lirLSKIz18nJnhOZjb22YKkhd4odg5icpcoyL669TAAujlyIvmPHSWXY1ti1AmZ8mJ3ElP1ips1/YM3H300g+W+51nc95YPEX8fEbdA2ReVYAAAAAElFTkSuQmCC'; - } - - /** - * Sets a time mark identified with $name - * - * @param string $name - */ - public function mark($name, $logFirst = false) { - if (isset($this->_marks[$name])) { - $this->_marks[$name]['time'] = round((microtime(true)-$_SERVER['REQUEST_TIME'])*1000-$this->_marks[$name]['time']).'ms'; - if (function_exists('memory_get_usage')) { - $this->_marks[$name]['memory'] = round((memory_get_usage()-$this->_marks[$name]['memory'])/1024) . 'K'; - } else { - $this->_marks[$name]['memory'] = 'N/A'; - } - $this->_logger->zflog( - array('time' => $this->_marks[$name]['time'], - 'memory' => $this->_marks[$name]['memory'], - 'message' => $name - ) - ); - } else { - $this->_marks[$name]['time'] = (microtime(true)-$_SERVER['REQUEST_TIME'])*1000; - if (function_exists('memory_get_usage')) { - $this->_marks[$name]['memory'] = memory_get_usage(); - } else { - $this->_marks[$name]['memory'] = 'N/A'; - } - if ($logFirst) { - $this->_logger->zflog( - array('time' => round($this->_marks[$name]['time']).'ms', - 'memory' => round($this->_marks[$name]['memory']/1024).'K', - 'message' => $name - ) - ); - } - } - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function routeStartup(Zend_Controller_Request_Abstract $request) - { - $this->mark('Route'); - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function routeShutdown(Zend_Controller_Request_Abstract $request) - { - $this->mark('Route'); - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function preDispatch(Zend_Controller_Request_Abstract $request) - { - $this->mark( - $request->getControllerName() . 'Controller::'. - $request->getActionName() .'Action' - ); - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function postDispatch(Zend_Controller_Request_Abstract $request) - { - $this->mark( - $request->getControllerName() . 'Controller::'. - $request->getActionName() .'Action' - ); - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) - { - $this->mark('Dispatch'); - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function dispatchLoopShutdown() - { - $this->mark('Dispatch'); - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Log/Writer.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Log/Writer.php deleted file mode 100644 index 95e730cb7bf96fe50cf5da8a8cc9e0c01344494e..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Log/Writer.php +++ /dev/null @@ -1,90 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Log_Writer extends Zend_Log_Writer_Abstract -{ - protected $_messages = array(); - protected $_errors = 0; - - public static function factory($config) - { - return new self(); - } - - public function getMessages() - { - return $this->_messages; - } - - public function getErrorCount() - { - return $this->_errors; - } - - /** - * Write a message to the log. - * - * @param array $event event data - * @return void - */ - protected function _write($event) - { - // $output = '<table cellspacing="10">'; - $output = '<tr>'; - $output .= '<td style="color:%color%;text-align:right;padding-right:1em">%priorityName%</td>'; - $output .= '<td style="color:%color%;text-align:right;padding-right:1em">%memory%</td>'; - $output .= '<td style="color:%color%;">%message%</td></tr>'; // (%priority%) - $event['color'] = '#C9C9C9'; - // Count errors - if ($event['priority'] < 7) { - $event['color'] = 'green'; - } - if ($event['priority'] < 6) { - $event['color'] = '#fd9600'; - } - if ($event['priority'] < 5) { - $event['color'] = 'red'; - $this->_errors++; - } - - if ($event['priority'] == ZFDebug_Controller_Plugin_Debug_Plugin_Log::ZFLOG) { - $event['priorityName'] = $event['message']['time']; - $event['memory'] = $event['message']['memory']; - $event['message'] = $event['message']['message']; - } else { - // self::$_lastEvent = null; - $event['message'] = $event['priorityName'] .': '. $event['message']; - $event['priorityName'] = ' '; - $event['memory'] = ' '; - } - foreach ($event as $name => $value) { - if ('message' == $name) { - $measure = ' '; - if ((is_object($value) && !method_exists($value,'__toString'))) { - $value = gettype($value); - } elseif (is_array($value)) { - $measure = $value[0]; - $value = $value[1]; - } - } - $output = str_replace("%$name%", $value, $output); - } - $this->_messages[] = $output; - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php deleted file mode 100644 index 3d4a16e524e0854bbbd906e9280fc465c6fbef0e..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php +++ /dev/null @@ -1,111 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Memory - extends Zend_Controller_Plugin_Abstract - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'memory'; - - protected $_logger; - - /** - * Creating memory plugin - * - * @return void - */ - public function __construct() - { - Zend_Controller_Front::getInstance()->registerPlugin($this); - } - - /** - * Get the ZFDebug logger - * - * @return Zend_Log - */ - public function getLogger() - { - if (!$this->_logger) { - $this->_logger = Zend_Controller_Front::getInstance() - ->getPlugin('ZFDebug_Controller_Plugin_Debug')->getPlugin('Log'); - $this->_logger->getLog()->addPriority('Memory', 8); - } - return $this->_logger; - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGvSURBVDjLpZO7alZREEbXiSdqJJDKYJNCkPBXYq12prHwBezSCpaidnY+graCYO0DpLRTQcR3EFLl8p+9525xgkRIJJApB2bN+gZmqCouU+NZzVef9isyUYeIRD0RTz482xouBBBNHi5u4JlkgUfx+evhxQ2aJRrJ/oFjUWysXeG45cUBy+aoJ90Sj0LGFY6anw2o1y/mK2ZS5pQ50+2XiBbdCvPk+mpw2OM/Bo92IJMhgiGCox+JeNEksIC11eLwvAhlzuAO37+BG9y9x3FTuiWTzhH61QFvdg5AdAZIB3Mw50AKsaRJYlGsX0tymTzf2y1TR9WwbogYY3ZhxR26gBmocrxMuhZNE435FtmSx1tP8QgiHEvj45d3jNlONouAKrjjzWaDv4CkmmNu/Pz9CzVh++Yd2rIz5tTnwdZmAzNymXT9F5AtMFeaTogJYkJfdsaaGpyO4E62pJ0yUCtKQFxo0hAT1JU2CWNOJ5vvP4AIcKeao17c2ljFE8SKEkVdWWxu42GYK9KE4c3O20pzSpyyoCx4v/6ECkCTCqccKorNxR5uSXgQnmQkw2Xf+Q+0iqQ9Ap64TwAAAABJRU5ErkJggg=='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - // if (function_exists('memory_get_peak_usage')) { - // return round(memory_get_peak_usage()/1024) . 'K';//' of '.ini_get("memory_limit"); - // } - // return 'MemUsage n.a.'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - return ''; - } - - /** - * Sets a memory mark identified with $name - * - * @param string $name - * @deprecated Use ZFDebug_Controller_Plugin_Debug_Plugin_Log - */ - public function mark($name) { - $this->getLogger()->mark("$name"); - trigger_error("ZFDebug Memory plugin is deprecated, use the Log plugin"); - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php deleted file mode 100644 index 09df4b8f1cf809635e01bef657ac8aacb26f0f79..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php +++ /dev/null @@ -1,87 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id: $ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Registry extends ZFDebug_Controller_Plugin_Debug_Plugin implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'registry'; - - /** - * Contains Zend_Registry - * - * @var Zend_Registry - */ - protected $_registry; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Registry - * - * @return void - */ - public function __construct() - { - // $this->_registry = Zend_Registry::getInstance(); - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH2SURBVDjLjZNLTxNRGIaJv6ZNWeBwkZFLQtGAC4l/wKULV+7YILeSYukEUhJoSASVuCI0hpAYDSUQCJBSoAaC0wbBUi4aWphpO52Zlpa+nnOqCAptJ3k3M3me73LOlAAoyZfDqQdOEvyO89/vRcGZ5HeWmySFYdWHVOQN0vE58jrLJMFJ82hewVU4+bMfqdPxP9VBn+A4D88wP59PwFqmsH7UgeTJEMlsTuIyI5uRsDfCMcmtAtoyhVmOu5kkHZuFsiNA3XuEi+QCdhxluL0D/SvpoO+vhIksiItNiPqqyXgfIL403gjfoTsIL70gQBdim3VQvz2FFnwOxf8E8kYF0rIVYqcRM70Vgf/Pe/ohwsutOJdcpBpP4Mek+jPEfbWQVzkG+7tNcNsqt68tkcLZTIzM6YZ21IbolgHq9j1o+z04nKhHRnlH2p6A32LCvFD55fIYr960VHgSSqCFVDJBEeugh+zw2jnpc0/5rthuRMBaioWBqrVrFylXOUpankIi0AjJY0DC3wD9oA9rAnc2bat+n++2UkH8XHaTZfGQlg3QdlsIbIVX4KSPAv+60L+SO/PECmJiI1lYM9SQBR7b3einfn6kEMwEIZd5Q48sQQt1Qv/xFqt2Tp5x3B8sBmYC71h926az6njdUR6hMy8O17wqFqb5Bd2o/0SFzIZrAAAAAElFTkSuQmCC'; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return ' Registry'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $html = '<h4>Registry plugin deprecated in favour of Variable plugin</h4>'; - return $html; - } - -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php deleted file mode 100644 index d7606866b57d6c5d96b708ec38c021c74f88f4ec..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php +++ /dev/null @@ -1,150 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Text implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * @var string - */ - protected $_tab = ''; - - /** - * @var string - */ - protected $_panel = ''; - - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'text'; - - /** - * Contains plugin icon data - * - * @var string - */ - protected $_icondata = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHhSURBVDjLpZI9SJVxFMZ/r2YFflw/kcQsiJt5b1ije0tDtbQ3GtFQYwVNFbQ1ujRFa1MUJKQ4VhYqd7K4gopK3UIly+57nnMaXjHjqotnOfDnnOd/nt85SURwkDi02+ODqbsldxUlD0mvHw09ubSXQF1t8512nGJ/Uz/5lnxi0tB+E9QI3D//+EfVqhtppGxUNzCzmf0Ekojg4fS9cBeSoyzHQNuZxNyYXp5ZM5Mk1ZkZT688b6thIBenG/N4OB5B4InciYBCVyGnEBHO+/LH3SFKQuF4OEs/51ndXMXC8Ajqknrcg1O5PGa2h4CJUqVES0OO7sYevv2qoFBmJ/4gF4boaOrg6rPLYWaYiVfDo0my8w5uj12PQleB0vcp5I6HsHAUoqUhR29zH+5B4IxNTvDmxljy3x2YCYUwZVlbzXJh9UKeQY6t2m0Lt94Oh5loPdqK3EkjzZi4MM/Y9Db3MTv/mYWVxaqkw9IOATNR7B5ABHPrZQrtg9sb8XDKa1+QOwsri4zeHD9SAzE1wxBTXz9xtvMc5ZU5lirLSKIz18nJnhOZjb22YKkhd4odg5icpcoyL669TAAujlyIvmPHSWXY1ti1AmZ8mJ3ElP1ips1/YM3H300g+W+51nc95YPEX8fEbdA2ReVYAAAAAElFTkSuQmCC'; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Text - * - * @param string $tab - * @param string $panel - * @return void - */ - public function __construct(array $options = array()) - { - if (isset($options['tab'])) { - $this->setTab($options['tab']); - } - if (isset($options['panel'])) { - $this->setPanel($options['panel']); - } - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Sets identifier for this plugin - * - * @param string $name - * @return ZFDebug_Controller_Plugin_Debug_Plugin_Text Provides a fluent interface - */ - public function setIdentifier($name) - { - $this->_identifier = $name; - return $this; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return $this->_icondata; - } - - /** - * Sets icon data for this plugin - * - * @param string $data - * @return ZFDebug_Controller_Plugin_Debug_Plugin_Text Provides a fluent interface - */ - public function setIconData($data) - { - $this->_icondata = $data; - return $this; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return $this->_tab; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - return $this->_panel; - } - - /** - * Sets tab content - * - * @param string $tab - * @return ZFDebug_Controller_Plugin_Debug_Plugin_Text Provides a fluent interface - */ - public function setTab($tab) - { - $this->_tab = $tab; - return $this; - } - - /** - * Sets panel content - * - * @param string $panel - * @return ZFDebug_Controller_Plugin_Debug_Plugin_Text Provides a fluent interface - */ - public function setPanel($panel) - { - $this->_panel = $panel; - return $this; - } -} diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php deleted file mode 100644 index 055e0e7894c5b787a58d1d8a676302718e4b2ca7..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php +++ /dev/null @@ -1,243 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @see Zend_Session - */ -require_once 'Zend/Session.php'; - -/** - * @see Zend_Session_Namespace - */ -require_once 'Zend/Session/Namespace.php'; - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Time - extends Zend_Controller_Plugin_Abstract - implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'time'; - - protected $_logger; - - /** - * @var array - */ - protected $_timer = array( - 'dispatchLoopStartup' => 0, - 'dispatchLoopShutdown' => 0 - ); - - protected $_closingBracket = null; - - /** - * Creating time plugin - * @return void - */ - public function __construct() - { - Zend_Controller_Front::getInstance()->registerPlugin($this); - } - - /** - * Get the ZFDebug logger - * - * @return Zend_Log - */ - public function getLogger() - { - if (!$this->_logger) { - $this->_logger = Zend_Controller_Front::getInstance() - ->getPlugin('ZFDebug_Controller_Plugin_Debug')->getPlugin('Log')->getLog(); - $this->_logger->addPriority('Time', 9); - } - return $this->_logger; - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKrSURBVDjLpdPbT9IBAMXx/qR6qNbWUy89WS5rmVtutbZalwcNgyRLLMyuoomaZpRQCt5yNRELL0TkBSXUTBT5hZSXQPwBAvor/fZGazlb6+G8nIfP0znbgG3/kz+Knsbb+xxNV63DLxVLHzqV0vCrfMluzFmw1OW8ePEwf8+WgM1UXDnapVgLePr5Nj9DJBJGFEN8+TzKqL2RzkenV4yl5ws2BXob1WVeZxXhoB+PP0xzt0Bly0fKTePozV5GphYQPA46as+gU5/K+w2w6Ev2Ol/KpNCigM01R2uPgDcQIRSJEYys4JmNoO/y0tbnY9JlxnA9M15bfHZHCnjzVN4x7TLz6fMSJqsPgLAoMvV1niSQBGIbUP3Ki93t57XhItVXjulTQHf9hfk5/xgGyzQTgQjx7xvE4nG0j3UsiiLR1VVaLN3YpkTuNLgZGzRSq8wQUoD16flkOPSF28/cLCYkwqvrrAGXC1UYWtuRX1PR5RhgTJTI1Q4wKwzwWHk4kQI6a04nQ99mUOlczMYkFhPrBMQoN+7eQ35Nhc01SvA7OEMSFzTv8c/0UXc54xfQcj/bNzNmRmNy0zctMpeEQFSio/cdvqUICz9AiEPb+DLK2gE+2MrR5qXPpoAn6mxdr1GBwz1FiclDcAPCEkTXIboByz8guA75eg8WxxDtFZloZIdNKaDu5rnt9UVHE5POep6Zh7llmsQlLBNLSMTiEm5hGXXDJ6qb3zJiLaIiJy1Zpjy587ch1ahOKJ6XHGGiv5KeQSfFun4ulb/josZOYY0di/0tw9YCquX7KZVnFW46Ze2V4wU1ivRYe1UWI1Y1vgkDvo9PGLIoabp7kIrctJXSS8eKtjyTtuDErrK8jIYHuQf8VbK0RJUsLfEg94BfIztkLMvP3v3XN/5rfgIYvAvmgKE6GAAAAABJRU5ErkJggg=='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - // return round($this->_timer['dispatchLoopShutdown']-$this->_timer['dispatchLoopStartup'],2). 'ms'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - return ''; - } - - public function format($value) - { - return round($value, 2).'ms'; - } - - /** - * Sets a time mark identified with $name - * - * @param string $name - * @deprecated Use ZFDebug_Controller_Plugin_Debug_Plugin_Log - */ - public function mark($name) { - $this->getLogger()->mark("$name"); - trigger_error("ZFDebug Time plugin is deprecated, use the Log plugin"); - } - - public function getDispatchStatistics() - { - if (!Zend_Session::isStarted()){ - Zend_Session::start(); - } - - $request = Zend_Controller_Front::getInstance()->getRequest(); - $this_module = $request->getModuleName(); - $this_controller = $request->getControllerName(); - $this_action = $request->getActionName(); - - $timerNamespace = new Zend_Session_Namespace('ZFDebug_Time',false); - $timerNamespace->data[$this_module][$this_controller][$this_action][] = round($this->_timer['dispatchLoopShutdown'],2); - - // Limit to last 10 requests - while (10 < count($timerNamespace->data[$this_module][$this_controller][$this_action])) { - array_shift($timerNamespace->data[$this_module][$this_controller][$this_action]); - } - foreach ($timerNamespace->data as $module => $controller) - { - if ($module != $this_module) { - continue; - } - foreach ($controller as $con => $action) - { - if ($con != $this_controller) { - continue; - } - foreach ($action as $key => $data) - { - if ($key != $this_action) { - continue; - } - $stats = ' – avg ' . $this->_calcAvg($data) . 'ms/'.count($data).' requests'; - // $html = 'Min: ' . round(min($data), 2) . ' ms'.$this->getLinebreak(); - // $html .= 'Max: ' . round(max($data), 2) . ' ms'.$this->getLinebreak(); - } - } - } - return $stats; - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) - { - $this->_timer['dispatchLoopStartup'] = (microtime(true)-$_SERVER['REQUEST_TIME'])*1000; - } - - /** - * Defined by Zend_Controller_Plugin_Abstract - * - * @param Zend_Controller_Request_Abstract - * @return void - */ - public function dispatchLoopShutdown() - { - $this->_timer['dispatchLoopShutdown'] = (microtime(true)-$_SERVER['REQUEST_TIME'])*1000; - } - - /** - * Calculate average time from $array - * - * @param array $array - * @param int $precision - * @return float - */ - protected function _calcAvg(array $array, $precision=2) - { - if (!is_array($array)) { - return 'ERROR in method _calcAvg(): this is a not array'; - } - - foreach ($array as $value) - if (!is_numeric($value)) { - return 'N/A'; - } - - $cuantos = count($array); - return round(array_sum($array) / $cuantos, $precision); - } - - public function getLinebreak() - { - return '<br'.$this->getClosingBracket(); - } - - public function getClosingBracket() - { - if (!$this->_closingBracket) { - if ($this->_isXhtml()) { - $this->_closingBracket = ' />'; - } else { - $this->_closingBracket = '>'; - } - } - - return $this->_closingBracket; - } - - protected function _isXhtml() - { - $view = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->view; - $doctype = $view->doctype(); - return $doctype->isXhtml(); - } -} \ No newline at end of file diff --git a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php b/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php deleted file mode 100644 index 2ecaae04deff6b0c42384b8280939f2f3437caf4..0000000000000000000000000000000000000000 --- a/library/ZFDebug/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php +++ /dev/null @@ -1,113 +0,0 @@ -<?php -/** - * ZFDebug Zend Additions - * - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - * @version $Id$ - */ - -/** - * @category ZFDebug - * @package ZFDebug_Controller - * @subpackage Plugins - * @copyright Copyright (c) 2008-2009 ZF Debug Bar Team (http://code.google.com/p/zfdebug) - * @license http://code.google.com/p/zfdebug/wiki/License New BSD License - */ -class ZFDebug_Controller_Plugin_Debug_Plugin_Variables extends ZFDebug_Controller_Plugin_Debug_Plugin implements ZFDebug_Controller_Plugin_Debug_Plugin_Interface -{ - /** - * Contains plugin identifier name - * - * @var string - */ - protected $_identifier = 'variables'; - - /** - * @var Zend_Controller_Request_Abstract - */ - protected $_request; - - /** - * Create ZFDebug_Controller_Plugin_Debug_Plugin_Variables - * - * @return void - */ - public function __construct() - { - - } - - /** - * Gets identifier for this plugin - * - * @return string - */ - public function getIdentifier() - { - return $this->_identifier; - } - - /** - * Returns the base64 encoded icon - * - * @return string - **/ - public function getIconData() - { - return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAFWSURBVBgZBcE/SFQBAAfg792dppJeEhjZn80MChpqdQ2iscmlscGi1nBPaGkviKKhONSpvSGHcCrBiDDjEhOC0I68sjvf+/V9RQCsLHRu7k0yvtN8MTMPICJieaLVS5IkafVeTkZEFLGy0JndO6vWNGVafPJVh2p8q/lqZl60DpIkaWcpa1nLYtpJkqR1EPVLz+pX4rj47FDbD2NKJ1U+6jTeTRdL/YuNrkLdhhuAZVP6ukqbh7V0TzmtadSEDZXKhhMG7ekZl24jGDLgtwEd6+jbdWAAEY0gKsPO+KPy01+jGgqlUjTK4ZroK/UVKoeOgJ5CpRyq5e2qjhF1laAS8c+Ymk1ZrVXXt2+9+fJBYUwDpZ4RR7Wtf9u9m2tF8Hwi9zJ3/tg5pW2FHVv7eZJHd75TBPD0QuYze7n4Zdv+ch7cfg8UAcDjq7mfwTycew1AEQAAAMB/0x+5JQ3zQMYAAAAASUVORK5CYII='; - } - - /** - * Gets menu tab for the Debugbar - * - * @return string - */ - public function getTab() - { - return ' Variables'; - } - - /** - * Gets content panel for the Debugbar - * - * @return string - */ - public function getPanel() - { - $this->_request = Zend_Controller_Front::getInstance()->getRequest(); - $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); - if ($viewRenderer->view && method_exists($viewRenderer->view, 'getVars')) { - $viewVars = $this->_cleanData($viewRenderer->view->getVars()); - } else { - $viewVars = "No 'getVars()' method in view class"; - } - $vars = '<div style="width:50%;float:left;">'; - $vars .= '<h4>View variables</h4>' - . '<div id="ZFDebug_vars" style="margin-left:-22px">' . $viewVars . '</div>' - . '<h4>Request parameters</h4>' - . '<div id="ZFDebug_requests" style="margin-left:-22px">' . $this->_cleanData($this->_request->getParams()) . '</div>'; - $vars .= '</div><div style="width:45%;float:left;">'; - if ($this->_request->isPost()) - { - $vars .= '<h4>Post variables</h4>' - . '<div id="ZFDebug_post" style="margin-left:-22px">' . $this->_cleanData($this->_request->getPost()) . '</div>'; - } - - $registry = Zend_Registry::getInstance(); - $vars .= '<h4>Zend Registry</h4>'; - $registry->ksort(); - $vars .= '<div id="ZFDebug_registry" style="margin-left:-22px">' . $this->_cleanData($registry) . '</div>'; - - $cookies = $this->_request->getCookie(); - $vars .= '<h4>Cookies</h4>' - . '<div id="ZFDebug_cookie" style="margin-left:-22px">' . $this->_cleanData($cookies) . '</div>'; - - $vars .= '</div><div style="clear:both"> </div>'; - return $vars; - } - -} \ No newline at end of file diff --git a/library/ZFDebug/license.txt b/library/ZFDebug/license.txt deleted file mode 100644 index fb38e09217fc931f8920b7498fb6c2d4b607d5bf..0000000000000000000000000000000000000000 --- a/library/ZFDebug/license.txt +++ /dev/null @@ -1,29 +0,0 @@ -Software License Agreement (BSD License) - -Copyright (c) 2008-2011, Joakim NygÃ¥rd (with contributions by Andreas Pankratz) All rights reserved. - -Redistribution and use of this software in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above - copyright notice, this list of conditions and the - following disclaimer. - -* Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the - following disclaimer in the documentation and/or other - materials provided with the distribution. - -* Neither the name of the ZFDebug Team nor the names of its - contributors may be used to endorse or promote products - derived from this software without specific prior - written permission of the ZFDebug Team. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR -TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/library/ZFDebug/web/images/debugbar/auth.png b/library/ZFDebug/web/images/debugbar/auth.png deleted file mode 100644 index 79f35ccbdad44489dbf07d1bf688c411aa3b612c..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/auth.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/cache.png b/library/ZFDebug/web/images/debugbar/cache.png deleted file mode 100644 index 0de26566d4102eec080253c2d08985ec58b14838..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/cache.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/copyright.gif b/library/ZFDebug/web/images/debugbar/copyright.gif deleted file mode 100644 index 5cf18ad1e24bfffc14333f7623ad5f55dc64dc05..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/copyright.gif and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/database.png b/library/ZFDebug/web/images/debugbar/database.png deleted file mode 100644 index 3d09261a26eb97c6dedc1d3504cbc2cf915eb642..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/database.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/error.png b/library/ZFDebug/web/images/debugbar/error.png deleted file mode 100644 index 628cf2dae3d419ae220c8928ac71393b480745a3..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/error.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/exception.png b/library/ZFDebug/web/images/debugbar/exception.png deleted file mode 100644 index c37bd062e60c3b38fc82e4d1f236a8ac2fae9d8c..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/exception.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/file.png b/library/ZFDebug/web/images/debugbar/file.png deleted file mode 100644 index 44084add79b9a0fc3354d16bbd4b4b5ff8095da7..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/file.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/html.png b/library/ZFDebug/web/images/debugbar/html.png deleted file mode 100644 index a216ffd36c85ef8502b8d3e5255994d19c1b4837..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/html.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/memory.png b/library/ZFDebug/web/images/debugbar/memory.png deleted file mode 100644 index 9051fbc609b92b15af9be410e368b7adc20283b8..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/memory.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/registry.png b/library/ZFDebug/web/images/debugbar/registry.png deleted file mode 100644 index 4ec1a928140311ff30a0a9120e958096c77f446e..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/registry.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/text.png b/library/ZFDebug/web/images/debugbar/text.png deleted file mode 100644 index 813f712f726c935f9adf8d2f2dd0d7683791ef11..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/text.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/time.png b/library/ZFDebug/web/images/debugbar/time.png deleted file mode 100644 index 911da3f1d31fca4494a4beb22014e5c5c724c236..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/time.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/unknown.png b/library/ZFDebug/web/images/debugbar/unknown.png deleted file mode 100644 index 6187b15aec001b7080b51a5f944f07591f26cc15..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/unknown.png and /dev/null differ diff --git a/library/ZFDebug/web/images/debugbar/variables.png b/library/ZFDebug/web/images/debugbar/variables.png deleted file mode 100644 index 7851cf34c946e5667221e3478668503eb1cd733f..0000000000000000000000000000000000000000 Binary files a/library/ZFDebug/web/images/debugbar/variables.png and /dev/null differ diff --git a/library/ZendAfi/View/Helper/Abonne/LoansBoard.php b/library/ZendAfi/View/Helper/Abonne/LoansBoard.php index 808a57bb8cb7bfc15bfd078291f22bcf8f400970..35bc60e6b7312432c57351d76c7ff5d476bbf082 100644 --- a/library/ZendAfi/View/Helper/Abonne/LoansBoard.php +++ b/library/ZendAfi/View/Helper/Abonne/LoansBoard.php @@ -26,51 +26,88 @@ class ZendAfi_View_Helper_Abonne_LoansBoard extends ZendAfi_View_Helper_BaseHelp $_config, $_extend_all, $_preferences, - $_profile; + $_loans, + $_renewable_loans; + + + public function init() { + $this->_preferences = new Class_Profil_Preferences_Loans(); + } public function abonne_LoansBoard($config) { $this->_config = $config; - $loans = $config->getLoans(); - $renewable_loans = $config->getRenewableLoansIds(); - $user = $config->getUser(); - $this->_profile = $profile = $config->getProfile(); - $error = $config->getError(); - $request_params = $config->getRequestParams(); - $this->_preferences = $preferences = new Class_Profil_Preferences_Loans(); - - $html = [$this->view->openBoiteContent($this->_('Prêts en cours'))]; - - if($error) { - $html [] = $this->_tag('p', $error, ['class' => 'error']); - $html [] = $this->view->closeBoiteContent(); - $html [] = $this->view->abonne_RetourFiche(); - return implode($html); - } - - $extend_all = $renewable_loans + + return + $this + ->_readConfig($config) + ->_renderHTML(); + } + + + protected function _readConfig($config) { + $cards = new Class_User_Cards($config->getUser()); + $this->_loans = $cards->getLoansWithOutPNB($config->getRequestParams()); + $this->_renewable_loans = $cards->getRenewableLoansIds($this->_loans); + return $this; + } + + + protected function _renderHTML() { + $content = ($error = $this->_getError()) + ? $this->_renderError($error) + : $this->_renderLoans(); + + return + $this->view->openBoiteContent($this->_('Prêts en cours')) + . $content + . $this->view->closeBoiteContent() + . $this->view->abonne_RetourFiche(); + } + + + protected function _renderError($error) { + return $this->_tag('p', $error, ['class' => 'error']); + } + + + protected function _renderLoans() { + $html = []; + $html [] = $this->_tag('div', + $this->_config->getUser()->getNomAff(), + ['class' => 'abonneTitre']); + $html [] = $this->_renderTools(); + $html [] = $this->view->abonne_Loans($this->_loans); + $html [] = $this->_renderRenewAllLoansAction(); + $html [] = $this->_renderPNB(); + return implode(array_filter($html)); + } + + + protected function _renderRenewAllLoansAction() { + return $this->_renewable_loans ? ($this->view->tagAnchor(['action' => 'prolongerPret', - 'id_pret' => $renewable_loans], + 'id_pret' => $this->_renewable_loans], $this->_('Tout prolonger'), ['class' => 'extend_all'])) : ''; + } + - $pnb = ($user->hasPNB()) + protected function _renderPNB() { + $user = $this->_config->getUser(); + return ($user->hasPNB()) ? ($this->_tag('h2', $this->_('Prêts numériques en cours')) . $this->view->abonne_LoansPNB($user->getPNBLoans())) : ''; + } - $html [] = $this->_tag('div', - $user->getNomAff(), - ['class' => 'abonneTitre']); - $html [] = $this->_renderTools(); - $html [] = $this->view->abonne_Loans($loans); - $html [] = $this->_extend_all; - $html [] = $pnb; - $html [] = $this->view->closeBoiteContent(); - $html [] = $this->view->abonne_RetourFiche(); - return implode(array_filter($html)); + protected function _getError() { + $fiche = $this->_config->getUser()->getFicheSigb(); + $error = (isset($fiche['error']) && $fiche['error']) + ? $fiche['error'] + : ''; } @@ -80,12 +117,12 @@ class ZendAfi_View_Helper_Abonne_LoansBoard extends ZendAfi_View_Helper_BaseHelp public function getLoans() { - return $this->_config->getLoans(); + return $this->_loans; } public function getRenewableLoans () { - return $this->_config->getRenewableLoansIds(); + return $this->_renewable_loans; } @@ -96,7 +133,7 @@ class ZendAfi_View_Helper_Abonne_LoansBoard extends ZendAfi_View_Helper_BaseHelp protected function _renderTools() { $tools = []; - $composition = $this->_preferences->getToolsCompositionOf($this->_profile); + $composition = $this->_preferences->getToolsCompositionOf($this->_config->getProfile()); $selected_tools = $composition->getSelected(); foreach($selected_tools as $tool) $tools [] = $tool->renderWith($this); diff --git a/library/ZendAfi/View/Helper/Abonne/LoansHistory.php b/library/ZendAfi/View/Helper/Abonne/LoansHistory.php index 51b8087980773fc78a7e59ece72970e20017c8e6..9caed76d3db0c814a64aff4dc57e1dde25665643 100644 --- a/library/ZendAfi/View/Helper/Abonne/LoansHistory.php +++ b/library/ZendAfi/View/Helper/Abonne/LoansHistory.php @@ -24,7 +24,7 @@ class ZendAfi_View_Helper_Abonne_LoansHistory extends ZendAfi_View_Helper_Abonne protected $_paginator; public function abonne_LoansHistory($loans) { - if($loans->isEmpty() + if(!$loans || $loans->isEmpty() || (!$description = $this->_getDescription())) return $this->_tag('p', $this->_('Pas de prêts dans l\'historique'), ['class' => 'error']); diff --git a/library/ZendAfi/View/Helper/Abonne/LoansHistoryBoard.php b/library/ZendAfi/View/Helper/Abonne/LoansHistoryBoard.php index ffeee07507f2a71eb8c8a7cf6a64becbf188acb0..703842c75177591b98e86552566cfba0f19a9027 100644 --- a/library/ZendAfi/View/Helper/Abonne/LoansHistoryBoard.php +++ b/library/ZendAfi/View/Helper/Abonne/LoansHistoryBoard.php @@ -21,26 +21,47 @@ class ZendAfi_View_Helper_Abonne_LoansHistoryBoard extends ZendAfi_View_Helper_Abonne_LoansBoard { + public function init() { + $this->_preferences = new Class_Profil_Preferences_LoansHistory(); + } + public function abonne_LoansHistoryBoard($config) { - $this->_config = $config; - $loans = $config->getLoans(); - $user = $config->getUser(); - $this->_profile = $profile = $config->getProfile(); - $error = $config->getError(); - $request_params = $config->getRequestParams(); - $this->_preferences = $preferences = new Class_Profil_Preferences_LoansHistory(); + return parent::abonne_LoansBoard($config); + } + + + protected function _renderError($error) { + return $this->_tag('div', $error, ['class' => 'error']); + } + + + protected function _readConfig($config) { + $this->_loans = $config->getLoans(); + return $this; + } + + + protected function _getError() { + return $this->_config->getError(); + } + + + protected function _renderHTML() { + return ($error = $this->_getError()) + ? $this->_renderError($error) + : $this->_renderLoans(); + } - if($error) - return $this->_tag('div', $error, ['class' => 'error']); + protected function _renderLoans() { $content = [$this->_tag('div', - $user->getNomAff(), + $this->_config->getUser()->getNomAff(), ['class' => 'abonneTitre']), $this->_renderTools(), - $this->view->abonne_LoansHistory($loans)]; + $this->view->abonne_LoansHistory($this->_loans)]; return implode(array_filter($content)); } diff --git a/library/ZendAfi/View/Helper/Admin/FrontNavEntries.php b/library/ZendAfi/View/Helper/Admin/FrontNavEntries.php index 40bacff5c41b0dd80700a0224ac03659e3ad57ed..16c86bf23a10dec4b3a6c692cfd0824b292e5467 100644 --- a/library/ZendAfi/View/Helper/Admin/FrontNavEntries.php +++ b/library/ZendAfi/View/Helper/Admin/FrontNavEntries.php @@ -22,13 +22,17 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_BaseHelper { - protected $_user; + protected $_user, $_profile, $_profile_id, $_profile_label; public function Admin_FrontNavEntries() { - if(!$this->_user = ZendAfi_Auth_Others::getInstance()->getCurrentAdmin()) + if (!$this->_user = ZendAfi_Auth_Others::getInstance()->getCurrentAdmin()) return ''; + $this->_profile = Class_Profil::getCurrentProfil(); + $this->_profile_id = $this->_profile->getId(); + $this->_profile_label = $this->_profile->getLibelle(); + return Class_Users::isCurrentUserCanAccesBackend() ? [$this->_adminLinks(), @@ -103,7 +107,8 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_Base protected function _adminActions() { $actions = []; - if ($this->_isAllowed('profil', 'accueil') && Class_Users::isCurrentUserAllowedToEditProfile(Class_Profil::getCurrentProfil())) + if ($this->_isAllowed('profil', 'accueil') + && Class_Users::isCurrentUserAllowedToEditProfile($this->_profile)) $actions = $this->_profileActions($actions); $actions []= $this->view->tagAnchor(Class_Url::absolute('/admin/index/clearcache/'), @@ -119,7 +124,8 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_Base '$("#site_web_wrapper").attr("data-show_admin_icons", "true");', '$("#site_web_wrapper").attr("data-show_admin_icons", "false");'); - if($this->_isAllowed('profil', 'module-sort') && Class_Users::isCurrentUserAllowedToEditProfile(Class_Profil::getCurrentProfil())) + if($this->_isAllowed('profil', 'module-sort') + && Class_Users::isCurrentUserAllowedToEditProfile($this->_profile)) $actions[] = $this->_moduleSort(); if($this->_isAllowed('systeme', 'index')) { @@ -156,40 +162,40 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_Base 'data-popup' => 'true']); $actions [] = $this->view->tagAnchor($this->view->url(['module' => 'admin', - 'controller' => 'profil', - 'action' => 'edit', - 'id_profil' => Class_Profil::getCurrentProfil()->getId()], - null, - true), + 'controller' => 'profil', + 'action' => 'edit', + 'id_profil' => $this->_profile_id], + null, + true), $this->_('Configuration du profil') . $this->view->tagImg(Class_Admin_Skin::current() ->getIconUrl('icons', 'profiles')), [ 'class' => 'menu_admin_front_anchor', - 'title' => $this->_('Configurer le profil ' . Class_Profil::getCurrentProfil()->getLibelle()), + 'title' => $this->_('Configurer le profil %s', $this->_profile_label), 'data-popup' => 'true']); $actions [] = $this->view->tagAnchor($this->view->url(['module' => 'admin', - 'controller' => 'profil', - 'action' => 'accueil', - 'id_profil' => Class_Profil::getCurrentProfil()->getId()], - null, - true), + 'controller' => 'profil', + 'action' => 'accueil', + 'id_profil' => $this->_profile_id], + null, + true), $this->_('Configuration de la page') . $this->view->tagImg(Class_Admin_Skin::current() ->getIconUrl('actions', 'edit')), ['class' => 'menu_admin_front_anchor', - 'title' => $this->_('Configurer la page ' . Class_Profil::getCurrentProfil()->getLibelle()), + 'title' => $this->_('Configurer la page %s', $this->_profile_label), 'data-popup' => 'true']); $actions [] = $this->view->tagAnchor($this->view->url(['module' => 'admin', - 'controller' => 'widget', - 'action' => 'add-from-template', - 'id_profil' => Class_Profil::getCurrentProfil()->getId()], - null, - true), + 'controller' => 'widget', + 'action' => 'add-from-template', + 'id_profil' => $this->_profile_id], + null, + true), $this->_('Ajouter une boîte') . $this->view->tagImg(Class_Admin_Skin::current() ->getIconUrl('actions', @@ -271,15 +277,22 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_Base URL_ADMIN_IMG . 'loading.gif')]); if(Class_Users::isCurrentUserSuperAdmin()) - $tools = array_merge($tools, [$this->_toggleAnchor($this->_('Amber IDE'), - 'amber_ide', - 'showAmberIDE();$("#amber").show();', - '$("#amber").hide();'), - - $this->_toggleAnchor($this->_('ZF Debug'), - 'zf_debug', - '$(".activate_zf_debug").show();', - '$(".deactivate_zf_debug").hide();')]); + $tools = array_merge($tools, + [$this->_toggleAnchor($this->_('Amber IDE'), + 'amber_ide', + 'showAmberIDE();$("#amber").show();', + '$("#amber").hide();'), + + $this->_tagAnchor(['module' => 'admin', + 'controller' => 'profil', + 'action' => 'export', + 'id_profil' => $this->_profile_id], + $this->_('Exporter le profil courant'), + ['class' => 'menu_admin_front_anchor', + 'title' => $this->_('Exporter le profil "%s" au format JSON', + $this->_profile_label)]) + ]); + if(!$tools) return ''; @@ -297,7 +310,7 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_Base 'block_sorting', sprintf('opacBlocksSorting(\'%s\',%d); $("div.layout-division>div, .section_content_wrapper > div > div").sortable(\'enable\');', Class_Url::absolute('/admin/profil/module-sort'), - Class_Profil::getCurrentProfil()->getId()), + $this->_profile_id), '$("div.layout-division>div, .section_content_wrapper > div > div").sortable("disable");'); } @@ -413,7 +426,7 @@ class ZendAfi_View_Helper_Admin_FrontNavEntries extends ZendAfi_View_Helper_Base ['label' => $this->_('Outils pour la page :'), 'autoload' => true]) ->addUniqDisplayGroup('group') - ->populate(['admin_menu_change_profile' => Class_Profil::getCurrentProfil()->getId()]); + ->populate(['admin_menu_change_profile' => $this->_profile_id]); return $this->view->renderForm($form->setAction('/')); } diff --git a/library/startup.php b/library/startup.php index 1d3eb7e96795825c8fa9874fc4de0cdc377dc2ce..a25da9c044570b643e2cdac579ced1b756be49d7 100644 --- a/library/startup.php +++ b/library/startup.php @@ -348,20 +348,6 @@ class Bokeh_Engine { $this->_front_controller->registerPlugin(new ZendAfi_Controller_Plugin_XHProfile()); return $this; - - set_include_path(get_include_path() . PATH_SEPARATOR . ROOT_PATH.'library/ZFDebug/library'); - $this->_front_controller - ->registerPlugin(new ZFDebug_Controller_Plugin_Debug(['plugins' => - [ - 'Variables', - 'Constants', - 'Html', - 'Database', - 'Memory', - 'Time', - 'Exception'] - ] - )); } diff --git a/library/storm b/library/storm index 2b5c85fe5664378b8405e5dc235a624f7f34e836..49099cb341a0f6f4e8b95cbfc34d928289a10bd0 160000 --- a/library/storm +++ b/library/storm @@ -1 +1 @@ -Subproject commit 2b5c85fe5664378b8405e5dc235a624f7f34e836 +Subproject commit 49099cb341a0f6f4e8b95cbfc34d928289a10bd0 diff --git a/library/templates/Intonation/Assets/css/intonation.css b/library/templates/Intonation/Assets/css/intonation.css index 535ecece06411af8d8edae55e1d99fcf50228fa2..1a7f5c0082feac7c9e28e4861fead3656102e27e 100644 --- a/library/templates/Intonation/Assets/css/intonation.css +++ b/library/templates/Intonation/Assets/css/intonation.css @@ -886,4 +886,10 @@ input[id^="select_record"] + * { .added_to_selection .card-img-overlay .add_to_selection_link::before { color: var(--success); -} \ No newline at end of file +} + +.loading_icon { + border-radius: 50% !important; + border: .25em solid currentColor !important; + border-right-color: transparent !important; +} diff --git a/library/templates/Intonation/Library/Record.php b/library/templates/Intonation/Library/Record.php new file mode 100644 index 0000000000000000000000000000000000000000..0809f6f0f1e54dbf7f4477931b00f112c429747c --- /dev/null +++ b/library/templates/Intonation/Library/Record.php @@ -0,0 +1,66 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Intonation_Library_Record { + protected + $_record, + $_items; + + public function __construct($record) { + $this->_record = $record; + + if (!$this->_record->isFirstItemTypeSerialArticle()) + return; + + if ($item = $this->_record->getFirstExemplaire()) + $this->_record = $item->getPMBSerialRecord(); + } + + + public function getItemsFromSIGB() { + if (!$this->_items) + $this->_items = (new Intonation_Library_Record_Items($this->_record))->getItemsFromSIGB(); + + return $this->_items; + } + + + public function getSameWorkItemsFromSIGB() { + $records = Class_Notice::findAllBy(['clef_oeuvre' => $this->_record->getClefOeuvre(), + 'id_notice not' => $this->_record->getId()]); + + return (new Intonation_Library_Record_Items($records))->getItemsFromSIGB(); + } + + + public function isExternalResource() { + return !empty($this->getUrl()); + } + + + public function getUrl() { + if (!$items = $this->getItemsFromSIGB()) + return null; + + return $items[0]->getUrl(); + } +} diff --git a/library/templates/Intonation/Library/Record/Items.php b/library/templates/Intonation/Library/Record/Items.php index ecb0ef5955ea007c6df21b9d607ebab620b72376..7bf64f681fe9a0a9282afaaa2db0314784441f03 100644 --- a/library/templates/Intonation/Library/Record/Items.php +++ b/library/templates/Intonation/Library/Record/Items.php @@ -21,69 +21,76 @@ class Intonation_Library_Record_Items { + protected + $_records, + $_items; - protected $_record; - - public function __construct($record) { - $this->_record = $record; - - if (!$this->_record->isFirstItemTypeSerialArticle()) - return; - - if ($item = $this->record->getFirstExemplaire()) - $this->_record = $item->getPMBSerialRecord(); + public function __construct($records) { + $this->_records = is_array($records) + ? $records + : [ $records ]; } - public function findAll() { - return $this->_record->hasExemplaires() - ? $this->_findItems($this->_record->getId()) - : []; + public function getItemsFromSIGB() { + return $this->_getItemsFromSIGB($this->findAll()); } - protected function _findItems($ids) { - if (!$ids) - return []; - - $session = Zend_Registry::get('session'); - - $cond = ['id_notice' => $ids, - 'order' => 'id desc']; - - if ($lib_ids = $session->id_bib) - $cond['id_bib'] = $lib_ids; + public function findAll() { + if (!$this->_items) { + $this->_items = $this->_findItems(); + $this->_updateRecordsFacetsFromItems(); + } - $items = ($items = Class_Exemplaire::findAllBy(array_filter($cond))) - ? $items - : Class_Exemplaire::findAllBy($params); + return $this->_items; + } - $items = (new Class_Profil_ItemsFilter()) - ->select(Class_Profil::getCurrentProfil(), $items); + protected function _getItemsFromSIGB($items) { foreach($items as $item) $item ->updateAvailabilityAndLocationFromSIGB() ->save(); - foreach( Class_Notice::findAllBy(['id_notice' => $ids]) as $record) + return (new Class_CommSigb())->getDispoExemplaires($items); + } + + + protected function _updateRecordsFacetsFromItems() { + foreach($this->_records as $record) $record ->updateFacetsFromExemplaires() ->save(); + return $this; + } - return (new Class_CommSigb())->getDispoExemplaires($items); + + protected function _getRecordIds() { + return array_map(function($record) + { + return $record->getId(); + }, + $this->_records); } - public function findSameWork() { - $records = Class_Notice::findAllBy(['clef_oeuvre' => $this->_record->getClefOeuvre(), - 'id_notice not' => $this->_record->getId()]); + protected function _findItems() { + $session = Zend_Registry::get('session'); - $ids = []; - foreach ($records as $record) - $ids [] = $record->getId(); + $cond = ['id_notice' => $this->_getRecordIds(), + 'order' => 'id desc']; - return $this->_findItems($ids); + if ($lib_ids = $session->id_bib) + $cond['id_bib'] = $lib_ids; + + $items = ($items = Class_Exemplaire::findAllBy(array_filter($cond))) + ? $items + : Class_Exemplaire::findAllBy($params); + + return (new Class_Profil_ItemsFilter()) + ->select(Class_Profil::getCurrentProfil(), $items); } + } diff --git a/library/templates/Intonation/Library/Settings.php b/library/templates/Intonation/Library/Settings.php index 8407009ca8b7b533bcd780614f2fe4daa350e19f..06ad93418791d984dc2dc14647bb718334e17fea 100644 --- a/library/templates/Intonation/Library/Settings.php +++ b/library/templates/Intonation/Library/Settings.php @@ -228,6 +228,7 @@ class Intonation_Library_Settings extends Intonation_System_Abstract { 'div class zoom_cardify_img' => 'col-6 p-3 order-1', 'div class zoom_cardify_content' => 'col-6 col-sm-3 p-3 order-2', 'div class zoom_cardify_actions' => 'col-12 col-sm-3 p-3 order-3', + 'div class loading_icon' => 'spinner-border' ], 'icons_map_doc_types' => [], @@ -235,6 +236,7 @@ class Intonation_Library_Settings extends Intonation_System_Abstract { 'icons_map_library' => ['author' => 'class fas fa-user', 'search_more' => 'class fas fa-list', 'library' => 'class fas fa-landmark', + 'history' => 'class fas fa-history', 'available' => 'class far fa-check-circle', 'not-available' => 'class far fa-times-circle', 'readed' => 'class fas fa-check-circle text-success', diff --git a/library/templates/Intonation/Library/View/Wrapper/Newsletter.php b/library/templates/Intonation/Library/View/Wrapper/Newsletter.php index bbccfa79700aa7d3507f2f227c37900639303539..2b527c2e77a866306a5b3c20e97fc0d3d0cf6c90 100644 --- a/library/templates/Intonation/Library/View/Wrapper/Newsletter.php +++ b/library/templates/Intonation/Library/View/Wrapper/Newsletter.php @@ -38,11 +38,9 @@ class Intonation_Library_View_Wrapper_Newsletter extends Intonation_Library_View public function getMainLink() { - if (!$current_user = Class_Users::getIdentity()) - return ''; - - if ($current_user->isNewsletterDisabled()) - return ''; + if ((!$current_user = Class_Users::getIdentity()) + || $current_user->isNewsletterDisabled()) + return null; $params = $this->_model->hasRecipient($current_user) ? ['Url' => $this->_view->url(['controller' => 'abonne', diff --git a/library/templates/Intonation/Library/View/Wrapper/Record.php b/library/templates/Intonation/Library/View/Wrapper/Record.php index b873dcdc0b160062835d964e55fb622e375a5efe..c5d435bfae6b9a3490925fd783a0ecc9076d3bc8 100644 --- a/library/templates/Intonation/Library/View/Wrapper/Record.php +++ b/library/templates/Intonation/Library/View/Wrapper/Record.php @@ -295,7 +295,8 @@ class Intonation_Library_View_Wrapper_Record extends Intonation_Library_View_Wra }, ['RecordProReviewsbadge', 'RecordUsersReviewsbadge', - 'RecordCommunityReviewsbadge']); + // 'RecordCommunityReviewsbadge' too slow + ]); return (new Storm_Collection($sources)) ->injectInto($badges, diff --git a/library/templates/Intonation/Library/View/Wrapper/RichContent/Section.php b/library/templates/Intonation/Library/View/Wrapper/RichContent/Section.php index 4687897f7e1f59c9e6eb3560c4a112696e2cedbf..39b1b2864ff0df25848ae011d581ebf66da541a2 100644 --- a/library/templates/Intonation/Library/View/Wrapper/RichContent/Section.php +++ b/library/templates/Intonation/Library/View/Wrapper/RichContent/Section.php @@ -144,7 +144,7 @@ abstract class Intonation_Library_View_Wrapper_RichContent_Section { protected function _getJsCallback() { - return sprintf("if ($('.%s .jumbotron_section_content [data-ajax-content] > *').length) $('.%s').removeClass('d-none text-black-50 disabled');", + return sprintf("if ($('.%s .jumbotron_section_content [data-ajax-content] > *').length) { $('.%s').removeClass('d-none text-black-50 disabled'); $('.loading_icon').parent().remove(); }", $this->getClass(), $this->getClass()); } diff --git a/library/templates/Intonation/Library/View/Wrapper/User/RichContent/LoansHistory.php b/library/templates/Intonation/Library/View/Wrapper/User/RichContent/LoansHistory.php new file mode 100644 index 0000000000000000000000000000000000000000..5dbc57284a00b53bc5ea0e22488e66c385518da7 --- /dev/null +++ b/library/templates/Intonation/Library/View/Wrapper/User/RichContent/LoansHistory.php @@ -0,0 +1,53 @@ +<?php +/** + * Copyright (c) 2012-2019, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Intonation_Library_View_Wrapper_User_RichContent_LoansHistory extends Intonation_Library_View_Wrapper_User_RichContent_Loans { + + protected $_is_visible = false; + + + public function getTitle() { + return $this->_('Mon historique de prêts'); + } + + + public function getContent() { + if ($this->_content) + return $this->_content; + + return $this->_content = $this->_view->renderAjax('abonne', + 'ajax-loans', + ['id' => $this->_model->getId(), + 'history' => 1], + $this->_getJsCallback()); + } + + + public function getNavIco() { + return 'class fas fa-book'; + } + + + public function getNavTitle() { + return $this->_('Mon historique de prêts'); + } +} diff --git a/library/templates/Intonation/Library/Widget/Carousel/Agenda/View.php b/library/templates/Intonation/Library/Widget/Carousel/Agenda/View.php index af087ae6510568b1cbead2994b44e586445f8f62..1ea9564b1b8ffcc0ef8aa9fa6952fea642125827 100644 --- a/library/templates/Intonation/Library/Widget/Carousel/Agenda/View.php +++ b/library/templates/Intonation/Library/Widget/Carousel/Agenda/View.php @@ -46,7 +46,7 @@ class Intonation_Library_Widget_Carousel_Agenda_View extends Intonation_Library_ protected function _getRSSUrl() { - return ''; + return $this->_getUrlFor('cms', 'calendarrss'); } diff --git a/library/templates/Intonation/Library/Widget/Carousel/Article/View.php b/library/templates/Intonation/Library/Widget/Carousel/Article/View.php index cb202e118b58e7a1d9b23e80f143ccf868ce2ddd..432ab35358d7761349ea497c93296288f02d1ca4 100644 --- a/library/templates/Intonation/Library/Widget/Carousel/Article/View.php +++ b/library/templates/Intonation/Library/Widget/Carousel/Article/View.php @@ -29,7 +29,7 @@ class Intonation_Library_Widget_Carousel_Article_View extends Intonation_Library $loader = Class_Article::getLoader(); $this->preferences['size'] = 100; $this->_articles = $loader->getArticlesByPreferences($this->preferences); - return $this->_articles; + return Class_Article::filterByLocaleAndWorkflow($this->_articles); } diff --git a/library/templates/Intonation/Library/Widget/Carousel/Newsletter/View.php b/library/templates/Intonation/Library/Widget/Carousel/Newsletter/View.php index 4b5b2b065fac9640f2ab13aec83778e995efba08..0f8f2a27565aeba35d2c1391ee110e5a9be4928c 100644 --- a/library/templates/Intonation/Library/Widget/Carousel/Newsletter/View.php +++ b/library/templates/Intonation/Library/Widget/Carousel/Newsletter/View.php @@ -20,7 +20,8 @@ */ -class Intonation_Library_Widget_Carousel_Newsletter_View extends Intonation_Library_Widget_Carousel_View { +class Intonation_Library_Widget_Carousel_Newsletter_View + extends Intonation_Library_Widget_Carousel_View { protected function _findElements() { @@ -35,11 +36,12 @@ class Intonation_Library_Widget_Carousel_Newsletter_View extends Intonation_Libr protected function _getLinkToAllTitle() { - return $this->_('Voir toutes les lettres d\'informations de la boite %s dans une liste', $this->titre); + return $this->_('Voir toutes les lettres d\'informations de la boite %s dans une liste', + $this->titre); } protected function _getWrapper() { - return 'Intonation_Library_View_Wrapper_Newsletter'; + return 'Intonation_Library_View_Wrapper_Newsletter'; } -} \ No newline at end of file +} diff --git a/library/templates/Intonation/View/Abonne/AjaxLoans.php b/library/templates/Intonation/View/Abonne/AjaxLoans.php index b89e4c5bd60178f8e15dea1f5d6d5be2a78b6fd0..d3823d7bdbc1b401a701dd923bd25654f27a6a19 100644 --- a/library/templates/Intonation/View/Abonne/AjaxLoans.php +++ b/library/templates/Intonation/View/Abonne/AjaxLoans.php @@ -30,10 +30,8 @@ class Intonation_View_Abonne_AjaxLoans extends ZendAfi_View_Helper_BaseHelper { return ''; $this->_model = $user; - $cards = new Class_User_Cards($this->_model); $loans = $cards->getLoansWithOutPNB([]);; - $fiche = $this->_model->getFicheSigb(); $error = (isset($fiche['error']) && $fiche['error']) ? $fiche['error'] diff --git a/library/templates/Intonation/View/Abonne/AjaxLoansHistory.php b/library/templates/Intonation/View/Abonne/AjaxLoansHistory.php new file mode 100644 index 0000000000000000000000000000000000000000..359d1977610f5c22323a74bd0ee905d731a49e57 --- /dev/null +++ b/library/templates/Intonation/View/Abonne/AjaxLoansHistory.php @@ -0,0 +1,62 @@ +<?php +/** + * Copyright (c) 2012-2017, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Intonation_View_Abonne_AjaxLoansHistory extends ZendAfi_View_Helper_BaseHelper { + + protected $_model, $_ajax = true; + + + public function abonne_AjaxLoansHistory($config) { + if (! $user = $config->getUser()) + return ''; + + $this->_model = $user; + + $cards = new Class_User_Cards($this->_model); + $fiche = $this->_model->getFicheSigb(); + + $loans = $cards->getLoansHistory(); + $error = (isset($fiche['error']) && $fiche['error']) + ? $fiche['error'] + : ''; + + return $this->_getContent((new Class_Entity(['Cards' => $cards, + 'User' => $this->_model, + 'Error' => $error, + 'Loans' => $loans, + 'Profile' => Class_Profil::getCurrentProfil(), + 'RequestParams' => $config->getRequestParams()]))); + } + + + protected function _getContent($settings) { + $cards = $settings->getCards(); + $history = $this->view->abonne_LoansHistoryList($settings); + + $html = []; + + $html [] = $this->view->div(['class' => 'col-12'], + $history); + + return $this->view->grid(implode($html)); + } +} \ No newline at end of file diff --git a/library/templates/Intonation/View/Abonne/LoansBoard.php b/library/templates/Intonation/View/Abonne/LoansBoard.php index db42c9ad69db3622359f78ba3f2eb442eae9abb0..945e60900913508a2fe606f8abafb8d8004f99ad 100644 --- a/library/templates/Intonation/View/Abonne/LoansBoard.php +++ b/library/templates/Intonation/View/Abonne/LoansBoard.php @@ -22,10 +22,29 @@ class Intonation_View_Abonne_LoansBoard extends Intonation_View_Abonne { - protected $_show_current_section = 'user_loans'; + protected $_show_current_section = 'user_loans', $_config; public function abonne_LoansBoard($config) { - return $this->_renderSection($config->getUser()); + $this->_config = $config; + + + return $this->_renderSection($this->_config->getUser()); + } + + protected function _hookOn($rich_content) { + if (!isset($this->_config->getRequestParams()['history'])) + return; + + $sections = $rich_content->getSections(); + + $sections [Intonation_Library_View_Wrapper_User_RichContent::LOANS] = (new Intonation_Library_View_Wrapper_User_RichContent_LoansHistory) + ->setModel($this->view->user) + ->setView($this->view) + ->beActive() + ->beVisible(); + + $rich_content->setSections($sections); } + } \ No newline at end of file diff --git a/library/templates/Intonation/View/Abonne/LoansHistoryList.php b/library/templates/Intonation/View/Abonne/LoansHistoryList.php new file mode 100644 index 0000000000000000000000000000000000000000..235460e8117255e7b7a4f2654490dbcce4ea8fda --- /dev/null +++ b/library/templates/Intonation/View/Abonne/LoansHistoryList.php @@ -0,0 +1,42 @@ +<?php +/** + * Copyright (c) 2012-2019, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Intonation_View_Abonne_LoansHistoryList extends Intonation_View_Abonne_LoansList { + protected $_config; + + public function abonne_LoansHistoryList($config) { + return $this->abonne_LoansList($config); + } + + + protected function _getActions() { + return [ new Intonation_Library_Link(['Url' => ['controller' => 'abonne', + 'action' => 'prets', + 'history' => null + ], + 'Text' => $this->_('Mes prêts'), + 'Title' => $this->_('Voir mes prêts'), + 'Image' => Class_Template::current()->getIco($this->view, + 'loan', + 'library')]) ]; + } +} diff --git a/library/templates/Intonation/View/Abonne/LoansList.php b/library/templates/Intonation/View/Abonne/LoansList.php index 2ddcf179789ce89e8a76a7747bdf17140bdf70c6..ba4141bd734a48d734633270fba277827783c3ca 100644 --- a/library/templates/Intonation/View/Abonne/LoansList.php +++ b/library/templates/Intonation/View/Abonne/LoansList.php @@ -45,6 +45,13 @@ class Intonation_View_Abonne_LoansList extends ZendAfi_View_Helper_BaseHelper { if (!$loans) return ''; + $actions = $this->_getActions(); + + return $this->view->renderCollection(new Storm_Collection($loans), $actions); + } + + + protected function _getActions() { $actions = []; if ($this->_config->getExtendAll()) @@ -56,7 +63,6 @@ class Intonation_View_Abonne_LoansList extends ZendAfi_View_Helper_BaseHelper { 'Image' => Class_Template::current()->getIco($this->view, 'extend-loan', 'library')]); - - return $this->view->renderCollection(new Storm_Collection($loans), $actions); + return $actions; } } diff --git a/library/templates/Intonation/View/CardifyWithOverlay.php b/library/templates/Intonation/View/CardifyWithOverlay.php index 27034c1f46ccfa6878a2be54feca54953af425d3..71f9d8d8008731ce7b988077b947dfac8ac6fea6 100644 --- a/library/templates/Intonation/View/CardifyWithOverlay.php +++ b/library/templates/Intonation/View/CardifyWithOverlay.php @@ -30,17 +30,17 @@ class Intonation_View_CardifyWithOverlay extends ZendAfi_View_Helper_BaseHelper protected function _cardWithPicture($element) { - $title = $element->getMainTitle(); - - $title = $this->_tag('div', - $title, - ['class' => 'card-title']); + if (!$main_link = $element->getMainLink()) + return ''; + $title = $element->getMainTitle(); + $title = $this->view->div(['class' => 'card-title'], $title); $content = [$title]; if ($author_name = $element->getSecondaryTitle()) $content [] = $this->view->div(['class' => 'card-subtitle'], - $element->getSecondaryIco() . $this->view->div(['class' => 'd-inline'], $author_name)); + $element->getSecondaryIco() + . $this->view->div(['class' => 'd-inline'], $author_name)); $doc_type = Class_Template::current() ->getIco($this->view, @@ -50,18 +50,15 @@ class Intonation_View_CardifyWithOverlay extends ZendAfi_View_Helper_BaseHelper $content = implode($content) . $doc_type; - $main_link = $element - ->getMainLink() + $main_link ->setText($content) ->setInlineText(1) ->setImage(''); $link = $this->view->tagAction($main_link); - $overlay = $this->_tag('div', - $element->getContentForJSSearch() - . $link, - ['class' => 'card-block card-img-overlay rounded text-center text-white']); + $overlay = $this->view->div(['class' => 'card-block card-img-overlay rounded text-center text-white'], + $element->getContentForJSSearch() . $link); $img = $this->view->tagMedia($element, ['class' => 'text-center img_as_background'], diff --git a/library/templates/Intonation/View/Jumbotron.php b/library/templates/Intonation/View/Jumbotron.php index c06fd03c74484fc39d22a202aa653b9eb719beed..2ffb254249b9c1adc913b305a40f943afe2ccc01 100644 --- a/library/templates/Intonation/View/Jumbotron.php +++ b/library/templates/Intonation/View/Jumbotron.php @@ -207,13 +207,25 @@ class Intonation_View_Jumbotron extends ZendAfi_View_Helper_BaseHelper { $class, $element->getActiveClass()); - return - $this->_div(['class' => $classes], - $this->_tag('h2', - Class_Template::current()->getIco($this->view, $element->getDBNavIco()) - . $this->view->tag('span', $element->getDBTitle()), - ['class' => 'jumbotron_section_title']) - . $this->view->div(['class' => 'jumbotron_section_content'], - $element->getContent())); + + + $content = $this->_div(['class' => $classes], + $this->_tag('h2', + Class_Template::current()->getIco($this->view, $element->getDBNavIco()) + . $this->view->tag('span', $element->getDBTitle()), + ['class' => 'jumbotron_section_title']) + . $this->view->div(['class' => 'jumbotron_section_content'], + $element->getContent())); + + return ($element->isAjax()) + ? ($this->_renderLoadingIcon() . $content) + : $content; + } + + + protected function _renderLoadingIcon() { + return $this->_div(['class' => 'col-12 text-center'], + $this->_div(['class' => 'loading_icon'], + '')); } } diff --git a/library/templates/Intonation/View/RenderAjax.php b/library/templates/Intonation/View/RenderAjax.php index 4fe7e77f7804791a6af7fbbec001079c7a6083bc..d5ad9985812a8e7cf0061c3b1a6e32fd829450c1 100644 --- a/library/templates/Intonation/View/RenderAjax.php +++ b/library/templates/Intonation/View/RenderAjax.php @@ -36,7 +36,7 @@ class Intonation_View_RenderAjax extends ZendAfi_View_Helper_BaseHelper { return $this->_div(['id' => $id, 'data-ajax-content' => 1, - 'class' => 'col-12 mb-3 p-0 ' . $action], + 'class' => 'spinner col-12 mb-3 p-0 ' . $action], ''); } } diff --git a/tests/application/modules/admin/controllers/SystemeControllerTest.php b/tests/application/modules/admin/controllers/SystemeControllerTest.php index b75b54a12d2eed2bbf8f6b3a85a9bfd7b19e3311..b7a04e2a63f47547e488a189ca05e78367312d38 100644 --- a/tests/application/modules/admin/controllers/SystemeControllerTest.php +++ b/tests/application/modules/admin/controllers/SystemeControllerTest.php @@ -326,21 +326,33 @@ class Admin_SystemControllerStatusTest extends Admin_AbstractControllerTestCase public function setUp() { parent::setUp(); - $disk = Storm_Test_ObjectWrapper::mock() - ->whenCalled('diskSpaceInfo') - ->answers((new Class_Entity) - ->setFree('0 o') - ->setUsed('10 Mo') - ->setTotal('5 Mo') - ->setPercent('150%') - ->whenCalledDo('isFull', function(){return true;})); + + $disk = $this->mock() + ->whenCalled('diskSpaceInfo') + ->answers((new Class_Entity) + ->setFree('0 o') + ->setUsed('10 Mo') + ->setTotal('5 Mo') + ->setPercent('150%') + ->whenCalledDo('isFull', function() { return true; } )); Class_FileManager::setFileSystem($disk); + Class_Systeme_Report_Portal::setWebClient($this->mock() + ->whenCalled('open_url') + ->with('http://myexternalip.com/raw') + ->answers('0.0.0.0')); + $this->dispatch('/admin/systeme/status', true); } + public function tearDown() { + Class_Systeme_Report_Portal::setWebClient(null); + parent::tearDown(); + } + + /** @test */ public function titleShouldBeBokehOverview() { $this->assertXPathContentContains('//h1', 'Etat du système'); diff --git a/tests/application/modules/admin/controllers/WidgetControllerTest.php b/tests/application/modules/admin/controllers/WidgetControllerTest.php index 485864bf17e0c9d7fd10c5202a555ed462c02750..fe5968f206f3bb0c77d221e60bb367e99666128e 100644 --- a/tests/application/modules/admin/controllers/WidgetControllerTest.php +++ b/tests/application/modules/admin/controllers/WidgetControllerTest.php @@ -2566,7 +2566,6 @@ class WidgetControllerHorizontalMenuChangeLinkTextTest extends Admin_AbstractCon 'libelle' => 'Menu horizontal', 'picto' => 'vide.gif', 'action' => '', - 'clef_profil' => '0', 'children' => '29;', 'preferences' => [ 'type_module' => 'MENU', @@ -2575,7 +2574,6 @@ class WidgetControllerHorizontalMenuChangeLinkTextTest extends Admin_AbstractCon 'libelle' => 'Menu horizontal', 'picto' => 'vide.gif', 'action' => '', - 'clef_profil' => '0', 'children' => '29;' ], 'menus' => [ 0 => @@ -2586,7 +2584,6 @@ class WidgetControllerHorizontalMenuChangeLinkTextTest extends Admin_AbstractCon 'libelle' => 'AIDE', 'picto' => 'vide.gif', 'action' => '', - 'clef_profil' => '', 'children' => '1;', 'preferences' => [ 'type_module' => 'MENU', @@ -2595,7 +2592,6 @@ class WidgetControllerHorizontalMenuChangeLinkTextTest extends Admin_AbstractCon 'libelle' => 'AIDE', 'picto' => 'vide.gif', 'action' => '', - 'clef_profil' => '', 'children' => '1;' ], 'sous_menus' => [ 0 => [ @@ -2605,7 +2601,6 @@ class WidgetControllerHorizontalMenuChangeLinkTextTest extends Admin_AbstractCon 'libelle' => 'Menu', 'picto' => '', 'action' => '', - 'clef_profil' => '0', 'children' => 'PROFIL;', 'preferences' => [ 'type_module' => 'MENU', @@ -2670,6 +2665,66 @@ class WidgetControllerHorizontalMenuChangeLinkTextTest extends Admin_AbstractCon + /** @test */ + public function updateHorizontalMenuLabelShouldCleanKeysDuplicationsInCfgMenus() { + $this->postDispatch('/admin/widget/edit-menu/id/H/id_profil/34', + ['libelle' => 'coucher de soleil', + 'sous_menus' => [ + 0 => [ + 'type_module' => 'MENU', + 'type_menu' => 'MENU', + 'id_module' => '0', + 'libelle' => 'Menu', + 'picto' => '', + 'action' => '', + 'children' => 'PROFIL;', + 'sous_menus' => [ + 1 => [ + 'type_module' => 'PROFIL', + 'type_menu' => 'PROFIL', + 'id_module' => '1', + 'libelle' => 'Lien vers un profil ou une page', + 'picto' => '', + 'action' => '', + 'clef_profil' => '1', + ], + ], + ], + ]]); + + $cfg_menus = Class_Profil::find(34)->getCfgMenusAsArray(); + $this->assertEquals(['H' => ["type_menu" => "MENU", + "libelle" => "coucher de soleil", + "picto" => "vide.gif", + "action" => '', + "children" => "29;", + "menus" => [], + "sous_menus" => [ + [ + "type_menu" => "MENU", + "libelle" => "Menu", + "picto" => "", + 'action' => '', + "children" => "PROFIL;", + "sous_menus" => [ + "1" => [ + "type_menu" => "PROFIL", + "libelle" => "Lien vers un profil ou une page", + "picto" => "", + 'action' => '', + "preferences" => [ + "clef_profil" => "1"] + ] + ] + ] + ], + "preferences" => [ 'clef_profil' => 0 ]]], + $cfg_menus, + json_encode($cfg_menus, JSON_PRETTY_PRINT)); + } + + + /** @test */ public function addEntryUnderMenuAidesShouldNotRemoveItsSubmenus() { $this->postDispatch('/admin/widget/edit-menu/id/0/id_profil/34/parent/H', diff --git a/tests/application/modules/opac/controllers/IndexControllerTest.php b/tests/application/modules/opac/controllers/IndexControllerTest.php index 18d519c767fa771ade5ca7ab412def45dc218422..000f64168c2d180f3ad08fb5bc280a11aa74def1 100644 --- a/tests/application/modules/opac/controllers/IndexControllerTest.php +++ b/tests/application/modules/opac/controllers/IndexControllerTest.php @@ -977,8 +977,9 @@ class IndexControllerWithSuperAdminLoggedTest extends AbstractControllerTestCase /** @test */ - public function linkToOpenZFDebugShouldBeInMenu() { - $this->assertXPathContentContains('//body/div//ul/li/ul/li/a', 'ZF Debug'); + public function linkToProfileDownloadShouldBeInMenu() { + $this->assertXPathContentContains('//a[contains(@href, "/admin/profil/export/id_profil/2")]', + 'Exporter le profil courant'); } diff --git a/tests/application/modules/opac/controllers/NoticeAjaxControllerCdScriptTest.php b/tests/application/modules/opac/controllers/NoticeAjaxControllerCdScriptTest.php index 7f65631e959bbc53fc7d7a86608a24f4a4ff4eeb..374266034416c927fed3bc12733d7272711d880b 100644 --- a/tests/application/modules/opac/controllers/NoticeAjaxControllerCdScriptTest.php +++ b/tests/application/modules/opac/controllers/NoticeAjaxControllerCdScriptTest.php @@ -19,20 +19,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +class FixtureCdScript { + use Storm_Test_THelpers; -abstract class NoticeAjaxControllerCdScriptRecordTestCase extends AbstractControllerTestCase { - protected - $_storm_default_to_volatile = true; - - public function setUp() { - parent::setUp(); - - ZendAfi_Auth::getInstance()->clearIdentity(); - - $config = Class_Profil::getCurrentProfil()->getCfgNoticeAsArray(); - $config['exemplaires']['grouper'] = '1'; - Class_Profil::getCurrentProfil()->setCfgNotice($config); - + public function createItem() { $this->fixture('Class_IntBib', ['id' => 31, 'libelle' => 'le kiosque library', @@ -60,10 +50,22 @@ abstract class NoticeAjaxControllerCdScriptRecordTestCase extends AbstractContro ::getService(['server_url' => 'www.jumel39.fr/docnum.php', 'remote_library_id' => 2]) ->setTimeSource(new TimeSourceForTest('2015-10-28 09:00:00')); + } +} - public function tearDown() { + +abstract class NoticeAjaxControllerCdScriptTestCase extends AbstractControllerTestCase{ + protected + $_storm_default_to_volatile = true; + + public function setup() { + parent::setup(); + (new FixtureCdScript)->createItem(); + } + + public function tearDown() { Class_WebService_SIGB_CdScript::resetService(); parent::tearDown(); } @@ -72,6 +74,51 @@ abstract class NoticeAjaxControllerCdScriptRecordTestCase extends AbstractContro +class NoticeAjaxControllerCdScriptTemplateRecordTest extends NoticeAjaxControllerCdScriptTestCase { + public function setUp() { + parent::setUp(); + Class_AdminVar::set('FEATURES_TRACKING_ENABLE', 0); + + $this->_buildTemplateProfil(['id' => 1, + 'libelle' => 'Dole in bootstrap land']) + ->beCurrentProfil(); + } + + + + /** @test */ + public function resourcesShouldRenderRenderItems() { + $this->dispatch('/opac/noticeajax/resources/id/2'); + $this->assertXPathContentContains('//a[contains(@class, "btn btn-lg")][contains(@href,"www.jumel39.fr/docnum.php?bib=2&res=kio&lien=456789")] ', 'Description en ligne'); + } + + + /** @test */ + public function resourcesNotConnectedShouldRenderUrlLogin() { + ZendAfi_Auth::getInstance()->clearIdentity(); + $this->dispatch('/opac/noticeajax/resources/id/2'); + $this->assertXPathContentContains('//a[contains(@href,"auth/ajax-login")] ', 'Description en ligne'); + } + +} + + + +abstract class NoticeAjaxControllerCdScriptRecordTestCase extends NoticeAjaxControllerCdScriptTestCase { + public function setUp() { + parent::setUp(); + + ZendAfi_Auth::getInstance()->clearIdentity(); + + $config = Class_Profil::getCurrentProfil()->getCfgNoticeAsArray(); + $config['exemplaires']['grouper'] = '1'; + Class_Profil::getCurrentProfil()->setCfgNotice($config); + } +} + + + + class NoticeAjaxControllerCdScriptRecordWithoutLoginTest extends NoticeAjaxControllerCdScriptRecordTestCase { public function setUp() { parent::setUp(); diff --git a/tests/library/Class/DecodageUnimarcTest.php b/tests/library/Class/DecodageUnimarcTest.php index 5a474e0d5d716b2ec1d1b5a85de4627b8f3e3deb..61dbeacba830dfac88d69a8a850a13e732c8c005 100644 --- a/tests/library/Class/DecodageUnimarcTest.php +++ b/tests/library/Class/DecodageUnimarcTest.php @@ -482,4 +482,42 @@ class DecodageUnimarcVieDAdeleTest extends ModelTestCase { } } + + + + + +class DecodageUnimarcZoneNotesTest extends ModelTestCase { + public function getZoneToTest() { + return [['301'], + ['302'], + ['311'], + ['315'], + ['318'], + ['322'], + ['324'], + ['325'], + ['326'], + ['327'], + ['328'], + ['333'], + ['359'], + ['371']]; + } + + + /** @test + @dataProvider getZoneToTest + */ + public function zoneNoteShouldContainsMyBlueNote($field) { + $unimarc = (new Class_NoticeUnimarc_Fluent); + $unimarc->newZone()->label('200')->addChild('a', 'New title'); + $unimarc->newZone()->label($field)->addChild('a', 'My blue note'); + $this->fixture('Class_Notice', + ['id' => 142, + 'unimarc'=>$unimarc->render() + ])->save(); + $this->assertContains('My blue note', Class_Notice::find(142)->getNotes()); + } +} ?> \ No newline at end of file diff --git a/tests/scenarios/Activitypub/ActivitypubReviewTest.php b/tests/scenarios/Activitypub/ActivitypubReviewTest.php index aed35b6729d784ba00637a9cec798d285a18a6d4..7921d74879f1b6126e2c3a4be1c8441c703bdd1a 100644 --- a/tests/scenarios/Activitypub/ActivitypubReviewTest.php +++ b/tests/scenarios/Activitypub/ActivitypubReviewTest.php @@ -1375,7 +1375,9 @@ class ActivitypubReviewTemplateIntonationRecordReviewsTest extends AbstractContr } - /** @test */ + /** @disabledtest + * federated reviews badges disabled as too slow. + */ public function badgesShouldContainsSixteenFederationReview() { $this->assertXPathContentContains('//span[contains(@class, "badge")]', '16 avis commu.'); } diff --git a/tests/scenarios/ProfilImportExport/7.json b/tests/scenarios/ProfilImportExport/7.json new file mode 100644 index 0000000000000000000000000000000000000000..8f4437e3c8199ec4192a4f96794b0e4e83364d07 --- /dev/null +++ b/tests/scenarios/ProfilImportExport/7.json @@ -0,0 +1,1915 @@ +{ + "id": 64, + "id_profil": 64, + "parent_id": null, + "browser": "opac", + "id_site": 0, + "sel_type_doc": "", + "sel_section": "", + "sel_annexe": "", + "libelle": "Biblioth\u00e8ques Chemill\u00e9-en-Anjou", + "commentaire": "Bienvenue sur le portail des biblioth\u00e8ques de Chemill\u00e9-en-Anjou", + "titre_site": "Biblioth\u00e8ques Chemill\u00e9-en-Anjou", + "mail_site": "reseaulecturepublique@chemille-en-anjou.fr", + "skin": "modele", + "cfg_site": "a:36:{s:12:\"access_level\";s:2:\"-1\";s:21:\"mail_suggestion_achat\";s:42:\"reseaulecturepublique@chemille-en-anjou.fr\";s:10:\"header_img\";s:38:\"\/userfiles\/bannieres\/bandeau_web_2.jpg\";s:16:\"header_img_cycle\";s:1:\"0\";s:7:\"favicon\";s:76:\"\/userfiles\/image\/Charte\/105701783_1642422675905777_6645698019691736746_n.jpg\";s:15:\"logo_gauche_img\";s:0:\"\";s:16:\"logo_gauche_link\";s:0:\"\";s:15:\"logo_droite_img\";s:0:\"\";s:16:\"logo_droite_link\";s:0:\"\";s:16:\"hauteur_banniere\";s:0:\"\";s:21:\"couleur_texte_bandeau\";s:0:\"\";s:20:\"couleur_lien_bandeau\";s:0:\"\";s:21:\"header_social_network\";s:1:\"0\";s:10:\"header_css\";s:28:\"\/userfiles\/css\/profil_64.css\";s:9:\"header_js\";s:0:\"\";s:12:\"largeur_site\";s:4:\"1000\";s:12:\"nb_divisions\";s:1:\"3\";s:15:\"ordre_divisions\";s:1:\"0\";s:17:\"largeur_division1\";s:2:\"10\";s:15:\"marge_division1\";s:2:\"10\";s:17:\"largeur_division2\";s:2:\"10\";s:15:\"marge_division2\";s:0:\"\";s:17:\"largeur_division3\";s:2:\"10\";s:15:\"marge_division3\";s:0:\"\";s:29:\"division_three_always_visible\";s:1:\"0\";s:12:\"menu_haut_on\";s:1:\"1\";s:12:\"barre_nav_on\";s:0:\"\";s:18:\"liens_sortants_off\";s:1:\"0\";s:16:\"accessibilite_on\";s:0:\"\";s:36:\"display_current_profil_on_breadcrumb\";s:1:\"0\";s:10:\"responsive\";s:0:\"\";s:15:\"size_site_scale\";s:2:\"px\";s:21:\"width_division1_scale\";s:2:\"px\";s:21:\"width_division2_scale\";s:2:\"px\";s:21:\"width_division3_scale\";s:2:\"px\";s:10:\"login_page\";s:1:\"1\";}", + "ref_tags": "m\u00e9diath\u00e8que ; biblioth\u00e8ques ;", + "ref_description": "", + "cfg_accueil": { + "modules": { + "9": { + "division": "2", + "type_module": "NEWS", + "preferences": { + "layout": "carousel", + "rendering": "card-overlay", + "size": "3", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "En ce moment", + "order": "DateCreationDesc", + "boite": [ + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget" + ], + "id_module": "9", + "profile_id": "64", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuShowHeader": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "id_categorie": "43", + "id_items": "329" + } + }, + "18": { + "division": "2", + "type_module": "CALENDAR", + "preferences": { + "layout": "multiple_carousel", + "rendering": "card-overlay", + "size": "9", + "link_to_all": "1", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Boite agenda", + "event_filter": "none", + "order": "EventDebut", + "boite": [ + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget" + ], + "id_module": "18", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowContent": "1" + } + }, + "8": { + "division": "2", + "type_module": "NEWS", + "preferences": { + "layout": "carousel", + "rendering": "card", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Nouveaut\u00e9s", + "order": "Random", + "boite": [ + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "pas_de_contenu", + "tdm_widget" + ], + "id_module": "8", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1" + } + }, + "11": { + "division": "3", + "type_module": "KIOSQUE", + "preferences": { + "layout": "wall", + "rendering": "card-overlay", + "size": "16", + "link_to_all": "1", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Adultes", + "order": "date_creation desc, alpha_titre asc", + "boite": [ + "auto_col", + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget", + "titre_trait_droit" + ], + "id_module": "11", + "profile_id": "64", + "TerredumilieuWidthXsmall": "11", + "TerredumilieuWidthLarge": "10", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowFooter": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "id_catalogue": "23" + } + }, + "3": { + "division": "3", + "type_module": "KIOSQUE", + "preferences": { + "layout": "wall", + "rendering": "card-overlay", + "size": "9", + "link_to_all": "1", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Jeunesse", + "order": "RAND()", + "boite": [ + "m-auto", + "no_border", + "no_border_radius", + "no_shadow", + "titre_petit", + "titre_trait_gauche" + ], + "id_module": "3", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuWidthLarge": "10", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1", + "id_catalogue": "24" + } + }, + "4": { + "division": "3", + "type_module": "KIOSQUE", + "preferences": { + "layout": "grid", + "rendering": "card-overlay", + "size": "8", + "link_to_all": "1", + "all_layout": "search", + "all_rendering": "card-horizontal", + "titre": "Musique", + "order": "date_creation desc, alpha_titre asc", + "boite": [ + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget", + "titre_trait_droit" + ], + "id_module": "4", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "11", + "TerredumilieuWidthLarge": "10", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1", + "id_catalogue": "21" + } + }, + "7": { + "division": "3", + "type_module": "KIOSQUE", + "preferences": { + "layout": "grid", + "rendering": "card-overlay", + "size": "8", + "link_to_all": "1", + "all_layout": "search", + "all_rendering": "card-horizontal", + "titre": "Cin\u00e9ma", + "order": "date_creation desc, alpha_titre asc", + "boite": [ + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget", + "titre_trait_gauche" + ], + "id_module": "7", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "11", + "TerredumilieuWidthLarge": "10", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1", + "id_catalogue": "22" + } + }, + "19": { + "type_module": "FREE", + "preferences": { + "titre": "Ressources", + "boite": [ + "fond-jaune", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget" + ], + "profile_id": "64", + "TerredumilieuShowHeader": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuWidthLarge": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1", + "id_items": "336" + }, + "division": "3", + "id_module": "19", + "profile_id": "64" + }, + "21": { + "division": "4", + "type_module": "ACCESSIBILITY", + "preferences": { + "titre": "Boite d'accessibilit\u00e9", + "display_mode": "toggle", + "display_colors": "1", + "display_font_size": "1", + "boite": [ + "position_fixed_top_right" + ], + "id_module": "21", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "13": { + "division": "4", + "type_module": "ADMIN_TOOLS", + "preferences": { + "titre": "Boite d'administration", + "display_mode": "toggle", + "boite": [ + "background-white", + "position_fixed_top_left", + "white_widget" + ], + "id_module": "13", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuWidthXlarge": "2", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "2": { + "division": "4", + "type_module": "LOGIN", + "preferences": { + "titre": "Mon compte", + "titre_connecte": "Mon compte", + "identifiant": "N\u00b0 de carte \/ email", + "identifiant_exemple": "N\u00b0 de carte \/ email", + "mot_de_passe": "Mot de passe", + "mot_de_passe_exemple": "Mot de passe", + "lien_connexion": "Se connecter", + "lien_mot_de_passe_oublie": "Mot de passe oubli\u00e9", + "lien_creer_compte": "S'enregistrer", + "lien_compte": "Mon compte", + "lien_deconnection": "Se d\u00e9connecter", + "autocomplete_off": "1", + "TerredumilieuFormStyle": "toggle", + "boite": [ + "align-items-center", + "no_border", + "no_border_radius", + "no_shadow" + ], + "id_module": "2", + "profile_id": "64", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "5": { + "division": "4", + "type_module": "RECH_SIMPLE", + "preferences": { + "titre": "Recherche", + "largeur": "140", + "recherche_avancee": "1", + "tri": "*", + "placeholder": "Recherche par titre, auteur\u2026", + "search_button": "class fas fa-search", + "domain_select_style": "select", + "TerredumilieuFormStyle": "inline", + "library_selection_label": "Biblioth\u00e8que", + "annexe_selection_label": "Site", + "doc_type_selection_label": "Type", + "domain_selection_label": "Domaine", + "facets_in_session": "1", + "boite": [ + "align-items-end", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "pt-30", + "tdm_search_widget" + ], + "id_module": "5", + "profile_id": "64", + "TerredumilieuWidthXsmall": "11", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "1": { + "division": "4", + "type_module": "MENU", + "preferences": { + "titre": "Boite menu", + "menu": "64-H", + "layout": "horizontal", + "boite": [ + "background-white", + "justify-content-center", + "no_border", + "no_border_radius", + "no_shadow" + ], + "id_module": "1", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1" + } + }, + "6": { + "division": "4", + "type_module": "ARIANE", + "preferences": { + "titre": "Fil d'ariane", + "show_profile": "1", + "boite": [ + "no_border", + "no_border_radius", + "no_shadow", + "justify-content-start" + ], + "id_module": "6", + "profile_id": "64", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "15": { + "type_module": "MENU", + "preferences": { + "titre": "Menu volant", + "menu": "64-3", + "layout": "horizontal", + "boite": [ + "admin_tools_invert_colors", + "no_border", + "no_border_radius", + "no_shadow", + "position_fixed_top_right", + "tdm_flying_widget", + "z_index_11" + ], + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "always", + "TerredumilieuWidthXsmall": "6", + "TerredumilieuWidthMedium": "4", + "TerredumilieuWidthLarge": "3", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "division": "4", + "id_module": "15", + "profile_id": "64" + }, + "10": { + "division": "6", + "type_module": "IMAGE", + "preferences": { + "titre": "Logo", + "image": "\/userfiles\/image\/Charte\/logo.png", + "link": "https:\/\/www.chemille-en-anjou.fr\/", + "link_title": "Acc\u00e9der \u00e0 %s", + "boite": [ + "m-auto", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget" + ], + "id_module": "10", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "3", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1" + } + }, + "12": { + "type_module": "FREE", + "preferences": { + "titre": "Adresse de la biblioth\u00e8que", + "boite": [ + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "tdm_widget" + ], + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "6", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1", + "id_items": "332" + }, + "division": "6", + "id_module": "12", + "profile_id": "64" + }, + "14": { + "division": "6", + "type_module": "MENU", + "preferences": { + "titre": "Menu cr\u00e9dits", + "menu": "64-6", + "layout": "vertical", + "boite": [ + "admin_tools_invert_colors", + "align-items-center", + "border-left", + "border-primary", + "no_border", + "no_border_radius", + "no_shadow", + "pb-3", + "pt-3" + ], + "id_module": "14", + "profile_id": "64", + "TerredumilieuWidthXsmall": "3", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "16": { + "division": "6", + "type_module": "SCROLL", + "preferences": { + "titre": "D\u00e9filement vers le haut", + "direction": "up", + "boite": [ + "no_border", + "no_border_radius", + "position_fixed_bottom_right" + ], + "id_module": "16", + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "20": { + "division": "6", + "type_module": "NOTIFY", + "preferences": { + "titre": "Boite notification", + "boite": [ + "no_border", + "no_border_radius", + "position_fixed_bottom", + "no_background", + "no_shadow" + ], + "id_module": "20", + "profile_id": "64", + "TerredumilieuWidthXsmall": "9", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + } + }, + "section": { + "2": { + "titre": "Division principale", + "boite": [ + "m-auto", + "no_border_radius", + "pb-3", + "pt-3" + ], + "TerredumilieuWidthXsmall": "11", + "TerredumilieuWidthLarge": "10", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuDisplayMode": "col" + }, + "1": { + "titre": "Premi\u00e8re division optionnelle", + "visibility": "1", + "boite": [ + "pt-3", + "pb-3" + ], + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuDisplayMode": "col" + }, + "3": { + "titre": "Seconde division optionnelle", + "visibility": "1", + "boite": [ + "pt-3", + "pb-3" + ], + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuDisplayMode": "col" + }, + "4": { + "titre": "Division banni\u00e8re", + "visibility": "1", + "boite": [], + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuDisplayMode": "row" + }, + "5": { + "titre": "Division optionnelle flottante", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "3", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuDisplayMode": "col" + }, + "6": { + "titre": "Division pied de page", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuDisplayMode": "row" + } + }, + "use_parent_css": "1", + "sitemap": "1" + }, + "cfg_menus": { + "H": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu horizontal", + "children": "0;1;PROFIL;3;4;5;", + "menus": [ + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "libelle": "Accueil", + "picto": "\/userfiles\/image\/menu_horizontal\/accueil.jpg", + "clef_profil": "64", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "libelle": "Accueil", + "picto": "\/userfiles\/image\/menu_horizontal\/accueil.jpg", + "clef_profil": "64" + } + }, + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "1", + "libelle": "Les biblioth\u00e8ques", + "picto": "\/userfiles\/image\/menu_horizontal\/bibliotheques.png", + "clef_profil": "65", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "1", + "libelle": "Les biblioth\u00e8ques", + "picto": "\/userfiles\/image\/menu_horizontal\/bibliotheques.png", + "clef_profil": "65" + } + }, + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "2", + "libelle": "Infos pratiques", + "picto": "\/userfiles\/image\/menu_horizontal\/infos_pratiques.png", + "clef_profil": "66", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "2", + "libelle": "Infos pratiques", + "picto": "\/userfiles\/image\/menu_horizontal\/infos_pratiques.png", + "clef_profil": "66" + } + }, + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "3", + "libelle": "S\u00e9lections", + "picto": "\/userfiles\/image\/menu_horizontal\/selections.png", + "clef_profil": "73", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "3", + "libelle": "S\u00e9lections", + "picto": "\/userfiles\/image\/menu_horizontal\/selections.png", + "clef_profil": "73" + } + }, + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "4", + "libelle": "Num\u00e9rique", + "picto": "\/userfiles\/image\/menu_horizontal\/numerique.png", + "clef_profil": "67", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "4", + "libelle": "Num\u00e9rique", + "picto": "\/userfiles\/image\/menu_horizontal\/numerique.png", + "clef_profil": "67" + } + }, + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "5", + "libelle": "Agenda", + "picto": "\/userfiles\/image\/menu_horizontal\/agenda.png", + "clef_profil": "68", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "5", + "libelle": "Agenda", + "picto": "\/userfiles\/image\/menu_horizontal\/agenda.png", + "clef_profil": "68" + } + } + ], + "preferences": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu horizontal", + "children": "0;1;PROFIL;3;4;5;" + } + }, + "1": { + "libelle": "** nouveau menu **", + "picto": "vide.gif", + "menus": [ + { + "type_menu": "MENU", + "libelle": "** nouvelle entr\u00e9e **", + "picto": "vide.gif", + "sous_menus": [ + { + "type_menu": "CATALOGUE", + "libelle": "Domaine", + "picto": "vide.gif", + "preferences": { + "titre": "Catalogue", + "aleatoire": "1", + "tri": "1", + "nb_notices": "20", + "nb_analyse": "50", + "id_catalogue": "8" + } + } + ] + } + ] + }, + "2": { + "libelle": "Menu principal", + "menus": [ + { + "type_menu": "ACCUEIL", + "libelle": "Accueil", + "use_profil": "64" + }, + { + "type_menu": "URL", + "libelle": "R\u00e9seau" + }, + { + "type_menu": "URL", + "libelle": "Collections" + }, + { + "type_menu": "URL", + "libelle": "Num\u00e9rique" + }, + { + "type_menu": "URL", + "libelle": "Infos pratiques" + } + ] + }, + "3": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu volant", + "menus": [ + { + "type_menu": "ACCUEIL", + "libelle": "Accueil", + "use_profil": "64" + }, + { + "type_menu": "URL", + "libelle": "Agenda", + "id_module": "1" + }, + { + "type_menu": "URL", + "libelle": "Pr\u00e9inscription", + "id_module": "2" + }, + { + "type_menu": "URL", + "libelle": "Contact", + "id_module": "3" + }, + { + "titre": "Recherche", + "largeur": "140", + "recherche_avancee": "1", + "tri": "*", + "placeholder": "Titre, auteur\u2026", + "search_button": "class fas fa-search", + "domain_select_style": "select", + "TerredumilieuFormStyle": "inline", + "library_selection_label": "Biblioth\u00e8que", + "annexe_selection_label": "Site", + "doc_type_selection_label": "Type", + "domain_selection_label": "Domaine", + "facets_in_session": "1", + "boite": [ + "no_border", + "no_border_radius", + "no_shadow", + "no_background", + "tdm_search_widget", + "m-auto" + ], + "type_menu": "MODULE_ACCUEIL_RECH_SIMPLE", + "type_module": "MODULE_ACCUEIL_RECH_SIMPLE", + "libelle": "Rechercher", + "id_module": "4", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "preferences": { + "titre": "Recherche", + "largeur": "140", + "recherche_avancee": "1", + "tri": "*", + "placeholder": "Titre, auteur\u2026", + "search_button": "class fas fa-search", + "domain_select_style": "select", + "TerredumilieuFormStyle": "inline", + "library_selection_label": "Biblioth\u00e8que", + "annexe_selection_label": "Site", + "doc_type_selection_label": "Type", + "domain_selection_label": "Domaine", + "facets_in_session": "1", + "boite": [ + "no_border", + "no_border_radius", + "no_shadow", + "no_background", + "tdm_search_widget", + "m-auto" + ], + "type_menu": "MODULE_ACCUEIL_RECH_SIMPLE", + "type_module": "MODULE_ACCUEIL_RECH_SIMPLE", + "libelle": "Rechercher", + "id_module": "5", + "TerredumilieuWidthXsmall": "12", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + { + "layout": "wall", + "rendering": "card-overlay", + "size": "1", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Lettre d'information : je m'abonne", + "order": "titre asc", + "boite": [ + "titre_petit" + ], + "type_module": "MODULE_ACCUEIL_NEWSLETTERS", + "type_menu": "MODULE_ACCUEIL_NEWSLETTERS", + "id_module": "5", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "3", + "TerredumilieuWidthLarge": "6", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1", + "preferences": { + "layout": "wall", + "rendering": "card-overlay", + "size": "1", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Lettre d'information : je m'abonne", + "order": "titre asc", + "boite": [ + "titre_petit" + ], + "type_module": "MODULE_ACCUEIL_NEWSLETTERS", + "type_menu": "MODULE_ACCUEIL_NEWSLETTERS", + "id_module": "5", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "3", + "TerredumilieuWidthLarge": "6", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1" + } + } + ], + "children": "0;1;2;3;5;MODULE_ACCUEIL_NEWSLETTERS;", + "preferences": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu volant", + "children": "0;1;2;3;5;MODULE_ACCUEIL_NEWSLETTERS;" + } + }, + "4": { + "libelle": "Menu r\u00e9seaux sociaux haut de page", + "menus": [ + { + "type_menu": "URL", + "libelle": "Facebook", + "picto": "class fab fa-facebook-f" + }, + { + "type_menu": "URL", + "libelle": "Twitter", + "picto": "class fab fa-twitter" + }, + { + "type_menu": "URL", + "libelle": "Instagram", + "picto": "class fab fa-instagram" + }, + { + "type_menu": "URL", + "libelle": "SoundCloud", + "picto": "class fab fa-soundcloud" + }, + { + "type_menu": "URL", + "libelle": "France Connect", + "url": "https:\/\/fcp.integ01.dev-franceconnect.fr\/", + "picto": "https:\/\/www.bibliothequeschemilleenanjou.net\/library\/templates\/TerreDuMilieu\/Assets\/images\/franceconnect.jpg" + } + ] + }, + "5": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu r\u00e9seaux sociaux bas de page", + "menus": [], + "preferences": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu r\u00e9seaux sociaux bas de page" + } + }, + "6": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu cr\u00e9dits", + "menus": [ + { + "type_module": "URL", + "type_menu": "URL", + "libelle": "> Partenaires", + "url": "\/cms\/articleview\/id\/334", + "preferences": { + "type_module": "URL", + "type_menu": "URL", + "libelle": "> Partenaires", + "url": "\/cms\/articleview\/id\/334" + } + }, + { + "type_module": "URL", + "type_menu": "URL", + "id_module": "1", + "libelle": "> Mentions l\u00e9gales", + "url": "\/cms\/articleview\/id\/322", + "preferences": { + "type_module": "URL", + "type_menu": "URL", + "id_module": "1", + "libelle": "> Mentions l\u00e9gales", + "url": "\/cms\/articleview\/id\/322" + } + }, + { + "type_module": "FORM_CONTACT", + "type_menu": "FORM_CONTACT", + "id_module": "2", + "libelle": "> Contact", + "barre_nav": "Lien vers le formulaire de contact", + "preferences": { + "type_module": "FORM_CONTACT", + "type_menu": "FORM_CONTACT", + "id_module": "2", + "libelle": "> Contact", + "barre_nav": "Lien vers le formulaire de contact" + } + }, + { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "3", + "libelle": "Newsletter", + "clef_profil": "69", + "preferences": { + "type_module": "PROFIL", + "type_menu": "PROFIL", + "id_module": "3", + "libelle": "Newsletter", + "clef_profil": "69" + } + } + ], + "children": "0;1;FORM_CONTACT;PROFIL;", + "preferences": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu cr\u00e9dits", + "children": "0;1;FORM_CONTACT;PROFIL;" + } + } + }, + "cfg_modules": { + "recherche": { + "resultatsimple": { + "barre_nav": "R\u00e9sultat", + "search_term_editable": "1", + "liste_nb_par_page": "15", + "liste_format": "3", + "liste_codes": "J;A;W;N;R", + "facettes_actif": "1", + "multi_facettes": "1", + "facettes_codes": "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "facettes_nombre": "6", + "facets_order": "1", + "facets_closed_codes": "ABCDEFGHIJKLMNOPQRSUVWXYZ", + "facettes_message": "Affiner le r\u00e9sultat...", + "suggests_number": "25", + "tags_actif": "1", + "tags_codes": "A;M;F", + "tags_nombre": "30", + "tags_position": "2", + "tags_message": "Elargir la recherche...", + "cvs_display_position": "3", + "cvs_resultat_titre": "Ressources num\u00e9riques", + "cvs_autres_resultats": "Documents", + "cvs_msg_deco": "Vous devez etre connect\u00e9", + "cvs_nb_result": "5", + "cvs_msg_droit": "Merci de contacter la m\u00e9diath\u00e8que pour obtenir un acc\u00e8s.", + "suggestion_achat": "1", + "zones_titre": "200$e;200$h;200$i", + "header_composition": "Class_Entity", + "boite": [ + "no_border" + ], + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "viewnotice5": { + "onglets": { + "detail": { + "aff": "2", + "ordre": "1", + "titre": "Description du document" + }, + "avis": { + "aff": "1", + "ordre": "3", + "titre": "Critiques" + }, + "exemplaires": { + "aff": "1", + "ordre": "2", + "titre": "Exemplaires" + }, + "resume": { + "aff": "3", + "ordre": "4", + "titre": "R\u00e9sum\u00e9s" + }, + "tags": { + "ordre": "5", + "titre": "Rebondir dans le catalogue" + }, + "biographie": { + "aff": "3", + "ordre": "6", + "titre": "Biographie de l'auteur" + }, + "series": { + "ordre": "7", + "titre": "Documents de la m\u00eame s\u00e9rie" + }, + "similaires": { + "aff": "3", + "ordre": "1", + "titre": "Documents similaires" + }, + "bibliographie": { + "ordre": "9", + "titre": "Discographie" + }, + "morceaux": { + "ordre": "10", + "titre": "Morceaux" + }, + "bandeAnnonce": { + "ordre": "11", + "titre": "Bande-annonce" + }, + "photos": { + "ordre": "12", + "titre": "Photos" + }, + "videos": { + "aff": "3", + "ordre": "13", + "titre": "Archives vid\u00e9o" + }, + "resnumeriques": { + "ordre": "14", + "titre": "Ressources num\u00e9riques" + }, + "babeltheque": { + "ordre": "15", + "titre": "Babelth\u00e8que" + }, + "frbr": { + "ordre": "16", + "titre": "Notices li\u00e9es" + } + }, + "entete": "J;A;W;N;F;G;M" + }, + "viewnotice1": { + "barre_nav": "Notice", + "entete": "J;A;W;N;F;G;M", + "onglets": { + "detail": { + "aff": "2", + "ordre": "1", + "titre": "Description du document" + }, + "avis": { + "aff": "1", + "ordre": "3", + "titre": "Critiques" + }, + "exemplaires": { + "aff": "1", + "ordre": "2", + "titre": "Exemplaires" + }, + "resume": { + "aff": "3", + "ordre": "4", + "titre": "R\u00e9sum\u00e9s" + }, + "tags": { + "ordre": "5", + "titre": "Rebondir dans le catalogue" + }, + "biographie": { + "aff": "3", + "ordre": "6", + "titre": "Biographie de l'auteur" + }, + "series": { + "ordre": "7", + "titre": "Documents de la m\u00eame s\u00e9rie" + }, + "similaires": { + "aff": "3", + "ordre": "1", + "titre": "Documents similaires" + }, + "bibliographie": { + "ordre": "9", + "titre": "Discographie" + }, + "morceaux": { + "ordre": "10", + "titre": "Morceaux" + }, + "bandeAnnonce": { + "ordre": "11", + "titre": "Bande-annonce" + }, + "photos": { + "ordre": "12", + "titre": "Photos" + }, + "videos": { + "aff": "3", + "ordre": "13", + "titre": "Archives vid\u00e9o" + }, + "resnumeriques": { + "ordre": "14", + "titre": "Ressources num\u00e9riques" + }, + "babeltheque": { + "ordre": "15", + "titre": "Babelth\u00e8que" + }, + "frbr": { + "ordre": "16", + "titre": "Notices li\u00e9es" + }, + "recounts": { + "aff": "2", + "ordre": "17" + } + }, + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "viewnotice3": { + "barre_nav": "Notice", + "entete": "J;A;W;N;F;G;M", + "onglets": { + "detail": { + "aff": "2", + "ordre": "1", + "titre": "Description du document" + }, + "avis": { + "aff": "1", + "ordre": "3", + "titre": "Critiques" + }, + "exemplaires": { + "aff": "1", + "ordre": "2", + "titre": "Exemplaires" + }, + "resume": { + "aff": "3", + "ordre": "4", + "titre": "R\u00e9sum\u00e9s" + }, + "tags": { + "ordre": "5", + "titre": "Rebondir dans le catalogue" + }, + "biographie": { + "aff": "3", + "ordre": "6", + "titre": "Biographie" + }, + "series": { + "ordre": "7", + "titre": "Documents de la m\u00eame s\u00e9rie" + }, + "similaires": { + "aff": "3", + "ordre": "8", + "titre": "Documents similaires" + }, + "bibliographie": { + "ordre": "9", + "titre": "Discographie" + }, + "morceaux": { + "aff": "3", + "ordre": "1", + "titre": "Morceaux" + }, + "bandeAnnonce": { + "ordre": "11", + "titre": "Bande-annonce" + }, + "photos": { + "aff": "3", + "ordre": "12", + "titre": "Photos" + }, + "videos": { + "aff": "3", + "ordre": "13", + "titre": "Archives vid\u00e9o" + }, + "resnumeriques": { + "ordre": "14", + "titre": "Ressources num\u00e9riques" + }, + "babeltheque": { + "ordre": "15", + "titre": "Babelth\u00e8que" + }, + "frbr": { + "ordre": "16", + "titre": "Notices li\u00e9es" + }, + "recounts": { + "aff": "2", + "ordre": "17" + } + }, + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "viewnotice2": { + "onglets": { + "detail": { + "aff": "1", + "ordre": "1", + "titre": "Description du document" + }, + "avis": { + "ordre": "2", + "titre": "Critiques" + }, + "exemplaires": { + "aff": "1", + "ordre": "3", + "titre": "Exemplaires" + }, + "resume": { + "ordre": "4", + "titre": "R\u00e9sum\u00e9s" + }, + "tags": { + "ordre": "5", + "titre": "Rebondir dans le catalogue" + }, + "biographie": { + "ordre": "6", + "titre": "Biographie de l'auteur" + }, + "series": { + "aff": "1", + "ordre": "7", + "titre": "Documents de la m\u00eame s\u00e9rie" + }, + "similaires": { + "ordre": "8", + "titre": "Documents similaires" + }, + "bibliographie": { + "ordre": "9", + "titre": "Discographie" + }, + "morceaux": { + "ordre": "10", + "titre": "Morceaux" + }, + "bandeAnnonce": { + "ordre": "11", + "titre": "Bande-annonce" + }, + "photos": { + "ordre": "12", + "titre": "Photos" + }, + "videos": { + "ordre": "13", + "titre": "Archives vid\u00e9o" + }, + "resnumeriques": { + "ordre": "14", + "titre": "Ressources num\u00e9riques" + }, + "babeltheque": { + "ordre": "15", + "titre": "Babelth\u00e8que" + }, + "frbr": { + "ordre": "16", + "titre": "Notices li\u00e9es" + } + }, + "entete": "J;A;W;N;F;M" + }, + "viewnotice4": { + "barre_nav": "Notice", + "entete": "J;A;W;N;G;F;M", + "onglets": { + "detail": { + "aff": "2", + "ordre": "1", + "titre": "Description du document" + }, + "avis": { + "aff": "1", + "ordre": "3", + "titre": "Critiques" + }, + "exemplaires": { + "aff": "1", + "ordre": "2", + "titre": "Exemplaires" + }, + "resume": { + "aff": "3", + "ordre": "4", + "titre": "R\u00e9sum\u00e9s" + }, + "tags": { + "ordre": "5", + "titre": "Rebondir dans le catalogue" + }, + "biographie": { + "aff": "3", + "ordre": "6", + "titre": "Biographie" + }, + "series": { + "ordre": "7", + "titre": "Documents de la m\u00eame s\u00e9rie" + }, + "similaires": { + "aff": "3", + "ordre": "8", + "titre": "Documents similaires" + }, + "bibliographie": { + "ordre": "9", + "titre": "Discographie" + }, + "morceaux": { + "ordre": "10", + "titre": "Morceaux" + }, + "bandeAnnonce": { + "aff": "3", + "ordre": "1", + "titre": "Bande-annonce" + }, + "photos": { + "ordre": "12", + "titre": "Photos" + }, + "videos": { + "aff": "3", + "ordre": "13", + "titre": "Archives vid\u00e9o" + }, + "resnumeriques": { + "ordre": "14", + "titre": "Ressources num\u00e9riques" + }, + "babeltheque": { + "ordre": "15", + "titre": "Babelth\u00e8que" + }, + "frbr": { + "ordre": "16", + "titre": "Notices li\u00e9es" + }, + "recounts": { + "aff": "2", + "ordre": "17" + } + }, + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "viewnotice102": { + "onglets": { + "detail": { + "aff": "2", + "ordre": "14", + "titre": "Description du document" + }, + "avis": { + "aff": "2", + "ordre": "2", + "titre": "Critiques" + }, + "exemplaires": { + "aff": "1", + "ordre": "3", + "titre": "Exemplaires" + }, + "resume": { + "aff": "2", + "ordre": "4", + "titre": "R\u00e9sum\u00e9s" + }, + "tags": { + "ordre": "5", + "titre": "Rebondir dans le catalogue" + }, + "biographie": { + "aff": "2", + "ordre": "6", + "titre": "Biographie de l'auteur" + }, + "series": { + "aff": "2", + "ordre": "7", + "titre": "Documents de la m\u00eame s\u00e9rie" + }, + "similaires": { + "aff": "2", + "ordre": "8", + "titre": "Documents similaires" + }, + "bibliographie": { + "ordre": "9", + "titre": "Discographie" + }, + "morceaux": { + "ordre": "10", + "titre": "Morceaux" + }, + "bandeAnnonce": { + "ordre": "11", + "titre": "Bande-annonce" + }, + "photos": { + "ordre": "12", + "titre": "Photos" + }, + "videos": { + "aff": "2", + "ordre": "13", + "titre": "Archives vid\u00e9o" + }, + "resnumeriques": { + "aff": "1", + "ordre": "1", + "titre": "Ressources num\u00e9riques" + }, + "babeltheque": { + "ordre": "15", + "titre": "Babelth\u00e8que" + }, + "frbr": { + "aff": "2", + "ordre": "16", + "titre": "Notices li\u00e9es" + } + }, + "entete": "W;C;N" + }, + "avancee": { + "barre_nav": "Recherche avanc\u00e9e", + "titre": "Recherche avanc\u00e9e", + "select_bib": "1", + "liste_nb_par_page": "10", + "liste_codes": "T;A;W", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "cms": { + "articleviewbydate": { + "barre_nav": "Calendrier", + "titre": "Calendrier" + }, + "articleviewpreferences": { + "barre_nav": "Article", + "boite": [ + "m-auto" + ], + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXlarge": "10", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "articleviewselection": { + "barre_nav": "Article" + }, + "articleview": { + "barre_nav": "Article", + "boite": [], + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "index": { + "formulairecontact": { + "type_module": "FORM_CONTACT", + "type_menu": "FORM_CONTACT", + "libelle": "Lien vers le formulaire de contact", + "preferences": [], + "barre_nav": "Formulaire de contact", + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "sito": { + "viewselection": { + "barre_nav": "Sitoth\u00e8que" + } + }, + "library": { + "templates": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "favicon.ico": { + "index": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "abonne": { + "fiche": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "bib": { + "en-lire-plus": { + "barre_nav": "Recherche g\u00e9ographique", + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "widget": { + "render-all": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "romans-etranger": { + "index": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "i": { + "index": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "skins": { + "chemille": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }, + "userfiles": { + "css": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "image": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "photobib": { + "titre": "Action", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + } + }, + "cfg_notice": "a:2:{s:11:\"exemplaires\";a:13:{s:7:\"grouper\";s:1:\"1\";s:8:\"order_by\";s:0:\"\";s:15:\"order_direction\";s:3:\"ASC\";s:7:\"en_pret\";s:9:\"Emprunt\u00c3\u00a9\";s:3:\"bib\";s:1:\"1\";s:6:\"annexe\";s:1:\"0\";s:7:\"section\";s:1:\"1\";s:11:\"emplacement\";s:1:\"0\";s:5:\"dispo\";s:1:\"1\";s:11:\"date_retour\";s:1:\"1\";s:12:\"localisation\";s:1:\"0\";s:4:\"plan\";s:1:\"0\";s:4:\"resa\";s:1:\"1\";}s:7:\"en_pret\";s:8:\"En pr\u00c3\u00aat\";}", + "rewrite_url": "", + "domain_ids": "", + "template": "TERREDUMILIEU" +} diff --git a/tests/scenarios/ProfilImportExport/AdminProfilControllerTest.php b/tests/scenarios/ProfilImportExport/AdminProfilControllerTest.php new file mode 100644 index 0000000000000000000000000000000000000000..0d853ab3831057613d07792750f7c482b28714dc --- /dev/null +++ b/tests/scenarios/ProfilImportExport/AdminProfilControllerTest.php @@ -0,0 +1,43 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class AdminProfilControllerExportTest extends Admin_AbstractControllerTestCase { + protected $_storm_default_to_volatile = true; + + + public function setUp() { + parent::setUp(); + $this->dispatch('/admin/profil/export/id_profil/2'); + } + + + /** @test */ + public function responseHeaderShouldContainContentDispositionAttachment() { + $this->assertHeaderContains('Content-Type', 'application/json'); + } + + + /** @test */ + public function responseShouldContainsValidJsonWithKeyCfgMenus() { + $this->assertContains('cfg_menus', array_keys(json_decode($this->_response->getBody(), true))); + } +} diff --git a/tests/scenarios/ProfilImportExport/ExportTest.php b/tests/scenarios/ProfilImportExport/ExportTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f22992471505d9936e6c28d9c66a5f0a1ea5842d --- /dev/null +++ b/tests/scenarios/ProfilImportExport/ExportTest.php @@ -0,0 +1,171 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_Profil_ExportDataTest extends ModelTestCase { + protected $_file_content; + + + public function setUp() { + parent::setUp(); + + $path = PATH_TEMP . 'profiles'; + $file_system = (new Storm_FileSystem_Volatile)->mkdir($path); + + Class_Profil_Export::setFileSystem($file_system); + (new Class_Profil_Export($this->_getProfile()))->export(); + $this->_file_content = $file_system->fileGetContents($path . '/7.json'); + } + + + public function tearDown() { + Class_Profil_Export::setFileSystem(null); + parent::tearDown(); + } + + + protected function _getProfile() { + return $this->fixture('Class_Profil', + ['id' => 7, + 'cfg_site' => '', + 'cfg_accueil' => file_get_contents(realpath(__DIR__) . '/cfg_accueil_7.raw'), + 'cfg_menus' => file_get_contents(realpath(__DIR__) . '/cfg_menus_7.raw'), + 'cfg_modules' => file_get_contents(realpath(__DIR__) . '/cfg_modules_7.raw')]); + + } + + + /** @test */ + public function billDotJsonShouldContainsCleanedCfgAccueil() { + $this->assertContains('"5": { + "division": "4", + "type_module": "RECH_SIMPLE", + "preferences": { + "titre": "Recherche", + "largeur": "140", + "recherche_avancee": "1", + "tri": "*", + "placeholder": "Recherche par titre, auteur\u2026", + "search_button": "class fas fa-search", + "domain_select_style": "select", + "TerredumilieuFormStyle": "inline", + "library_selection_label": "Biblioth\u00e8que", + "annexe_selection_label": "Site", + "doc_type_selection_label": "Type", + "domain_selection_label": "Domaine", + "facets_in_session": "1", + "boite": [ + "align-items-end", + "no_background", + "no_border", + "no_border_radius", + "no_shadow", + "pt-30", + "tdm_search_widget" + ], + "id_module": "5", + "profile_id": "64", + "TerredumilieuWidthXsmall": "11", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }', + $this->_file_content); + } + + + /** @test */ + public function billDotJsonShouldContainsCleanedCfgMenus() { + $this->assertContains('{ + "type_menu": "MODULE_ACCUEIL_RECH_SIMPLE", + "type_module": "MODULE_ACCUEIL_RECH_SIMPLE", + "libelle": "Rechercher", + "id_module": "4", + "preferences": { + "titre": "Recherche", + "largeur": "140", + "recherche_avancee": "1", + "tri": "*", + "placeholder": "Titre, auteur\u2026", + "search_button": "class fas fa-search", + "domain_select_style": "select", + "TerredumilieuFormStyle": "inline", + "library_selection_label": "Biblioth\u00e8que", + "annexe_selection_label": "Site", + "doc_type_selection_label": "Type", + "domain_selection_label": "Domaine", + "facets_in_session": "1", + "boite": [ + "no_border", + "no_border_radius", + "no_shadow", + "no_background", + "tdm_search_widget", + "m-auto" + ], + "TerredumilieuWidthXsmall": "12", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + } + }', + $this->_file_content); + } + + + /** @test */ + public function billDotJsonShouldContainsCleanedCfgModules() { + $this->assertContains('"avancee": { + "barre_nav": "Recherche avanc\u00e9e", + "titre": "Recherche avanc\u00e9e", + "select_bib": "1", + "liste_nb_par_page": "10", + "liste_codes": "T;A;W", + "visibility": "1", + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }', + $this->_file_content); + } +} + + + + +class Class_Profil_ExportCleanDataTest extends Class_Profil_ExportDataTest { + protected function _getProfile() { + return parent::_getProfile()->setCfgMenus(file_get_contents(__DIR__ . '/cfg_menus_clean_7.raw')); + } +} \ No newline at end of file diff --git a/tests/scenarios/ProfilImportExport/ImportTest.php b/tests/scenarios/ProfilImportExport/ImportTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f59121a1617510d125c261533d603bc1eecfe963 --- /dev/null +++ b/tests/scenarios/ProfilImportExport/ImportTest.php @@ -0,0 +1,54 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + +class Class_Profil_ImportDataTest extends ModelTestCase { + public function setUp() { + parent::setUp(); + Class_AdminVar::set('MENU_BOITE', 1); + $bill = $this->fixture('Class_Profil', ['id' => 7]); + (new Class_Profil_Import($bill))->import(realpath(__DIR__) . '/7.json'); + $bill->save(); + } + + + /** @test */ + public function billShouldContainsSearchWidget() { + $widget = (new Class_Systeme_Widget_Widget()) + ->setId(5) + ->setProfileId(7) + ->load(); + + $this->assertEquals('Recherche par titre, auteur…', $widget->getplaceholder()); + } + + + /** @test */ + public function billShouldContainsNewsletterWidgetInMenu() { + $menu = (new Class_Systeme_Widget_Menu()) + ->setId(5) + ->setProfileId(7) + ->setParent(3) + ->load(); + + $this->assertEquals('Lettre d\'information : je m\'abonne', $menu->gettitre()); + } +} diff --git a/tests/scenarios/ProfilImportExport/cfg_accueil_7.raw b/tests/scenarios/ProfilImportExport/cfg_accueil_7.raw new file mode 100644 index 0000000000000000000000000000000000000000..12d54e925cc924826e67e415ae51ff704fb94068 --- /dev/null +++ b/tests/scenarios/ProfilImportExport/cfg_accueil_7.raw @@ -0,0 +1 @@ +a:5:{s:7:"modules";a:20:{i:9;a:3:{s:8:"division";s:1:"2";s:11:"type_module";s:4:"NEWS";s:11:"preferences";a:46:{s:6:"layout";s:8:"carousel";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"3";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"0";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:12:"En ce moment";s:5:"order";s:16:"DateCreationDesc";s:5:"boite";a:6:{i:0;s:6:"m-auto";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:10:"tdm_widget";}s:9:"id_module";s:1:"9";s:10:"profile_id";s:2:"64";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:12:"id_categorie";s:2:"43";s:8:"id_items";s:3:"329";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:18;a:3:{s:8:"division";s:1:"2";s:11:"type_module";s:8:"CALENDAR";s:11:"preferences";a:48:{s:6:"layout";s:17:"multiple_carousel";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"9";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"1";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:12:"Boite agenda";s:15:"enabled_filters";s:0:"";s:12:"event_filter";s:4:"none";s:5:"order";s:10:"EventDebut";s:5:"boite";a:6:{i:0;s:6:"m-auto";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:10:"tdm_widget";}s:9:"id_module";s:2:"18";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"0";s:12:"id_categorie";s:0:"";s:8:"id_items";s:0:"";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:8;a:3:{s:8:"division";s:1:"2";s:11:"type_module";s:4:"NEWS";s:11:"preferences";a:46:{s:6:"layout";s:8:"carousel";s:9:"rendering";s:4:"card";s:4:"size";s:1:"0";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"0";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:11:"Nouveautés";s:5:"order";s:6:"Random";s:5:"boite";a:7:{i:0;s:6:"m-auto";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:14:"pas_de_contenu";i:6;s:10:"tdm_widget";}s:9:"id_module";s:1:"8";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:12:"id_categorie";s:0:"";s:8:"id_items";s:0:"";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:11;a:3:{s:8:"division";s:1:"3";s:11:"type_module";s:7:"KIOSQUE";s:11:"preferences";a:46:{s:6:"layout";s:4:"wall";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:2:"16";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"1";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:7:"Adultes";s:5:"order";s:35:"date_creation desc, alpha_titre asc";s:5:"boite";a:8:{i:0;s:8:"auto_col";i:1;s:6:"m-auto";i:2;s:13:"no_background";i:3;s:9:"no_border";i:4;s:16:"no_border_radius";i:5;s:9:"no_shadow";i:6;s:10:"tdm_widget";i:7;s:17:"titre_trait_droit";}s:9:"id_module";s:2:"11";s:10:"profile_id";s:2:"64";s:24:"TerredumilieuWidthXsmall";s:2:"11";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:2:"10";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:12:"id_catalogue";s:2:"23";s:9:"id_panier";s:0:"";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:3;a:3:{s:8:"division";s:1:"3";s:11:"type_module";s:7:"KIOSQUE";s:11:"preferences";a:46:{s:6:"layout";s:4:"wall";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"9";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"1";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:8:"Jeunesse";s:5:"order";s:6:"RAND()";s:5:"boite";a:6:{i:0;s:6:"m-auto";i:1;s:9:"no_border";i:2;s:16:"no_border_radius";i:3;s:9:"no_shadow";i:4;s:11:"titre_petit";i:5;s:18:"titre_trait_gauche";}s:9:"id_module";s:1:"3";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:2:"10";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:12:"id_catalogue";s:2:"24";s:9:"id_panier";s:0:"";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:4;a:3:{s:8:"division";s:1:"3";s:11:"type_module";s:7:"KIOSQUE";s:11:"preferences";a:46:{s:6:"layout";s:4:"grid";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"8";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"1";s:10:"all_layout";s:6:"search";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:7:"Musique";s:5:"order";s:35:"date_creation desc, alpha_titre asc";s:5:"boite";a:7:{i:0;s:6:"m-auto";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:10:"tdm_widget";i:6;s:17:"titre_trait_droit";}s:9:"id_module";s:1:"4";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"11";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:2:"10";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:12:"id_catalogue";s:2:"21";s:9:"id_panier";s:0:"";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:7;a:3:{s:8:"division";s:1:"3";s:11:"type_module";s:7:"KIOSQUE";s:11:"preferences";a:46:{s:6:"layout";s:4:"grid";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"8";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"1";s:10:"all_layout";s:6:"search";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:7:"Cinéma";s:5:"order";s:35:"date_creation desc, alpha_titre asc";s:5:"boite";a:7:{i:0;s:6:"m-auto";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:10:"tdm_widget";i:6;s:18:"titre_trait_gauche";}s:9:"id_module";s:1:"7";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"11";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:2:"10";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:12:"id_catalogue";s:2:"22";s:9:"id_panier";s:0:"";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:19;a:5:{s:11:"type_module";s:4:"FREE";s:11:"preferences";a:32:{s:5:"titre";s:10:"Ressources";s:5:"boite";a:5:{i:0;s:10:"fond-jaune";i:1;s:9:"no_border";i:2;s:16:"no_border_radius";i:3;s:9:"no_shadow";i:4;s:10:"tdm_widget";}s:10:"profile_id";s:2:"64";s:23:"TerredumilieuShowHeader";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:2:"12";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:12:"id_categorie";s:0:"";s:8:"id_items";s:3:"336";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}s:8:"division";s:1:"3";s:9:"id_module";s:2:"19";s:10:"profile_id";s:2:"64";}i:21;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:13:"ACCESSIBILITY";s:11:"preferences";a:34:{s:5:"titre";s:22:"Boite d'accessibilité";s:12:"display_mode";s:6:"toggle";s:14:"display_colors";s:1:"1";s:17:"display_font_size";s:1:"1";s:5:"boite";a:1:{i:0;s:24:"position_fixed_top_right";}s:9:"id_module";s:2:"21";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:13;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:11:"ADMIN_TOOLS";s:11:"preferences";a:32:{s:5:"titre";s:22:"Boite d'administration";s:12:"display_mode";s:6:"toggle";s:5:"boite";a:3:{i:0;s:16:"background-white";i:1;s:23:"position_fixed_top_left";i:2;s:12:"white_widget";}s:9:"id_module";s:2:"13";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:1:"2";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:2;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:5:"LOGIN";s:11:"preferences";a:48:{s:5:"titre";s:10:"Mon compte";s:14:"titre_connecte";s:10:"Mon compte";s:11:"identifiant";s:20:"N° de carte / email";s:19:"identifiant_exemple";s:20:"N° de carte / email";s:12:"mot_de_passe";s:12:"Mot de passe";s:20:"mot_de_passe_exemple";s:12:"Mot de passe";s:14:"lien_connexion";s:12:"Se connecter";s:24:"lien_mot_de_passe_oublie";s:20:"Mot de passe oublié";s:17:"lien_creer_compte";s:13:"S'enregistrer";s:16:"pre-registration";s:0:"";s:16:"message_connecte";s:0:"";s:11:"lien_compte";s:10:"Mon compte";s:17:"lien_deconnection";s:15:"Se déconnecter";s:16:"pre_registration";s:0:"";s:16:"autocomplete_off";s:1:"1";s:15:"profil_redirect";s:0:"";s:22:"profil_logout_redirect";s:0:"";s:22:"TerredumilieuFormStyle";s:6:"toggle";s:5:"boite";a:4:{i:0;s:18:"align-items-center";i:1;s:9:"no_border";i:2;s:16:"no_border_radius";i:3;s:9:"no_shadow";}s:9:"id_module";s:1:"2";s:10:"profile_id";s:2:"64";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:5;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:11:"RECH_SIMPLE";s:11:"preferences";a:54:{s:5:"titre";s:9:"Recherche";s:7:"message";s:0:"";s:7:"exemple";s:0:"";s:10:"select_bib";s:1:"0";s:10:"select_doc";s:1:"0";s:13:"select_annexe";s:1:"0";s:7:"largeur";s:3:"140";s:17:"recherche_avancee";s:1:"1";s:8:"type_doc";s:0:"";s:3:"tri";s:1:"*";s:8:"in_files";s:1:"0";s:15:"profil_redirect";s:0:"";s:11:"placeholder";s:30:"Recherche par titre, auteur…";s:13:"search_button";s:19:"class fas fa-search";s:10:"domain_ids";s:0:"";s:19:"domain_select_style";s:6:"select";s:22:"TerredumilieuFormStyle";s:6:"inline";s:23:"library_selection_label";s:13:"Bibliothèque";s:22:"annexe_selection_label";s:4:"Site";s:24:"doc_type_selection_label";s:4:"Type";s:22:"domain_selection_label";s:7:"Domaine";s:17:"facets_in_session";s:1:"1";s:17:"always_new_search";s:1:"0";s:5:"boite";a:7:{i:0;s:15:"align-items-end";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:5:"pt-30";i:6;s:17:"tdm_search_widget";}s:9:"id_module";s:1:"5";s:10:"profile_id";s:2:"64";s:24:"TerredumilieuWidthXsmall";s:2:"11";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:8:"id_items";s:0:"";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:1;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:4:"MENU";s:11:"preferences";a:34:{s:5:"titre";s:10:"Boite menu";s:4:"menu";s:4:"64-H";s:6:"layout";s:10:"horizontal";s:4:"logo";s:0:"";s:5:"boite";a:5:{i:0;s:16:"background-white";i:1;s:22:"justify-content-center";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";}s:9:"id_module";s:1:"1";s:10:"profile_id";s:2:"64";s:23:"TerredumilieuShowHeader";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:6;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:6:"ARIANE";s:11:"preferences";a:27:{s:5:"titre";s:12:"Fil d'ariane";s:4:"root";s:0:"";s:12:"show_profile";s:1:"1";s:5:"boite";a:4:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:9:"no_shadow";i:3;s:21:"justify-content-start";}s:9:"id_module";s:1:"6";s:10:"profile_id";s:2:"64";s:28:"TerredumilieuVisibilityIndex";s:1:"0";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}i:15;a:3:{s:8:"division";s:1:"4";s:11:"type_module";s:4:"MENU";s:11:"preferences";a:28:{s:5:"titre";s:11:"Menu volant";s:4:"menu";s:4:"64-3";s:6:"layout";s:10:"horizontal";s:4:"logo";s:0:"";s:5:"boite";a:6:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:9:"no_shadow";i:3;s:17:"tdm_flying_widget";i:4;s:24:"position_fixed_top_right";i:5;s:10:"z_index_11";}s:9:"id_module";s:2:"15";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:6:"always";s:24:"TerredumilieuWidthXsmall";s:1:"6";s:24:"TerredumilieuWidthMedium";s:1:"4";s:23:"TerredumilieuWidthLarge";s:1:"3";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}i:10;a:3:{s:8:"division";s:1:"6";s:11:"type_module";s:5:"IMAGE";s:11:"preferences";a:35:{s:5:"titre";s:4:"Logo";s:5:"image";s:32:"/userfiles/image/Charte/logo.png";s:9:"image_alt";s:0:"";s:4:"link";s:33:"https://www.chemille-en-anjou.fr/";s:10:"link_title";s:14:"Accéder à%s";s:5:"boite";a:6:{i:0;s:6:"m-auto";i:1;s:13:"no_background";i:2;s:9:"no_border";i:3;s:16:"no_border_radius";i:4;s:9:"no_shadow";i:5;s:10:"tdm_widget";}s:9:"id_module";s:2:"10";s:10:"profile_id";s:2:"64";s:23:"TerredumilieuShowHeader";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"3";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:12;a:5:{s:11:"type_module";s:4:"FREE";s:11:"preferences";a:32:{s:5:"titre";s:27:"Adresse de la bibliothèque";s:5:"boite";a:5:{i:0;s:13:"no_background";i:1;s:9:"no_border";i:2;s:16:"no_border_radius";i:3;s:9:"no_shadow";i:4;s:10:"tdm_widget";}s:10:"profile_id";s:2:"64";s:23:"TerredumilieuShowHeader";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"6";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:12:"id_categorie";s:0:"";s:8:"id_items";s:3:"332";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}s:8:"division";s:1:"6";s:9:"id_module";s:2:"12";s:10:"profile_id";s:2:"64";}i:14;a:3:{s:8:"division";s:1:"6";s:11:"type_module";s:4:"MENU";s:11:"preferences";a:34:{s:5:"titre";s:13:"Menu crédits";s:4:"menu";s:4:"64-6";s:6:"layout";s:8:"vertical";s:4:"logo";s:0:"";s:5:"boite";a:9:{i:0;s:25:"admin_tools_invert_colors";i:1;s:18:"align-items-center";i:2;s:11:"border-left";i:3;s:14:"border-primary";i:4;s:9:"no_border";i:5;s:16:"no_border_radius";i:6;s:9:"no_shadow";i:7;s:4:"pb-3";i:8;s:4:"pt-3";}s:9:"id_module";s:2:"14";s:10:"profile_id";s:2:"64";s:29:"TerredumilieuExpandBreakpoint";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"3";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:16;a:3:{s:8:"division";s:1:"6";s:11:"type_module";s:6:"SCROLL";s:11:"preferences";a:26:{s:5:"titre";s:24:"Défilement vers le haut";s:9:"direction";s:2:"up";s:5:"boite";a:3:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:27:"position_fixed_bottom_right";}s:9:"id_module";s:2:"16";s:10:"profile_id";s:2:"64";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}i:20;a:3:{s:8:"division";s:1:"6";s:11:"type_module";s:6:"NOTIFY";s:11:"preferences";a:25:{s:5:"titre";s:18:"Boite notification";s:5:"boite";a:5:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:21:"position_fixed_bottom";i:3;s:13:"no_background";i:4;s:9:"no_shadow";}s:9:"id_module";s:2:"20";s:10:"profile_id";s:2:"64";s:24:"TerredumilieuWidthXsmall";s:1:"9";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}}s:7:"section";a:6:{i:2;a:28:{s:5:"titre";s:19:"Division principale";s:10:"visibility";s:1:"0";s:5:"boite";a:4:{i:0;s:6:"m-auto";i:1;s:16:"no_border_radius";i:2;s:4:"pb-3";i:3;s:4:"pt-3";}s:24:"TerredumilieuWidthXsmall";s:2:"11";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:2:"10";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"0";s:29:"TerredumilieuVisibilityAbonne";s:1:"0";s:26:"TerredumilieuVisibilityCms";s:1:"0";s:27:"TerredumilieuVisibilityBlog";s:1:"0";s:27:"TerredumilieuVisibilityAuth";s:1:"0";s:24:"TerredumilieuDisplayMode";s:3:"col";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}i:1;a:22:{s:5:"titre";s:30:"Première division optionnelle";s:10:"visibility";s:1:"1";s:5:"boite";a:2:{i:0;s:4:"pt-3";i:1;s:4:"pb-3";}s:24:"TerredumilieuWidthXsmall";s:2:"12";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"0";s:29:"TerredumilieuVisibilityAbonne";s:1:"0";s:26:"TerredumilieuVisibilityCms";s:1:"0";s:27:"TerredumilieuVisibilityBlog";s:1:"0";s:27:"TerredumilieuVisibilityAuth";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:24:"TerredumilieuDisplayMode";s:3:"col";}i:3;a:22:{s:5:"titre";s:28:"Seconde division optionnelle";s:10:"visibility";s:1:"1";s:5:"boite";a:2:{i:0;s:4:"pt-3";i:1;s:4:"pb-3";}s:24:"TerredumilieuWidthXsmall";s:2:"12";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"0";s:29:"TerredumilieuVisibilityAbonne";s:1:"0";s:26:"TerredumilieuVisibilityCms";s:1:"0";s:27:"TerredumilieuVisibilityBlog";s:1:"0";s:27:"TerredumilieuVisibilityAuth";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:24:"TerredumilieuDisplayMode";s:3:"col";}i:4;a:28:{s:5:"titre";s:18:"Division bannière";s:10:"visibility";s:1:"1";s:5:"boite";a:0:{}s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuDisplayMode";s:3:"row";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}i:5;a:22:{s:5:"titre";s:30:"Division optionnelle flottante";s:10:"visibility";s:1:"1";s:5:"boite";s:0:"";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"3";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuDisplayMode";s:3:"col";}i:6;a:22:{s:5:"titre";s:21:"Division pied de page";s:10:"visibility";s:1:"1";s:5:"boite";s:0:"";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:24:"TerredumilieuDisplayMode";s:3:"row";}}s:14:"use_parent_css";s:1:"1";s:7:"sitemap";s:1:"1";s:8:"page_css";s:0:"";} \ No newline at end of file diff --git a/tests/scenarios/ProfilImportExport/cfg_menus_7.raw b/tests/scenarios/ProfilImportExport/cfg_menus_7.raw new file mode 100644 index 0000000000000000000000000000000000000000..de0deaf06be77f6ccab974fa8b0e27243817af51 --- /dev/null +++ b/tests/scenarios/ProfilImportExport/cfg_menus_7.raw @@ -0,0 +1 @@ +a:7:{s:1:"H";a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:15:"Menu horizontal";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:17:"0;1;PROFIL;3;4;5;";s:5:"menus";a:6:{i:0;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"0";s:7:"libelle";s:7:"Accueil";s:5:"picto";s:44:"/userfiles/image/menu_horizontal/accueil.jpg";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"64";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"0";s:7:"libelle";s:7:"Accueil";s:5:"picto";s:44:"/userfiles/image/menu_horizontal/accueil.jpg";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"64";s:9:"picto_alt";s:0:"";}}i:1;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"1";s:7:"libelle";s:18:"Les bibliothèques";s:5:"picto";s:50:"/userfiles/image/menu_horizontal/bibliotheques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"65";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"1";s:7:"libelle";s:18:"Les bibliothèques";s:5:"picto";s:50:"/userfiles/image/menu_horizontal/bibliotheques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"65";s:9:"picto_alt";s:0:"";}}i:2;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"2";s:7:"libelle";s:15:"Infos pratiques";s:5:"picto";s:52:"/userfiles/image/menu_horizontal/infos_pratiques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"66";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"2";s:7:"libelle";s:15:"Infos pratiques";s:5:"picto";s:52:"/userfiles/image/menu_horizontal/infos_pratiques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"66";s:9:"picto_alt";s:0:"";}}i:3;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:11:"Sélections";s:5:"picto";s:47:"/userfiles/image/menu_horizontal/selections.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"73";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:11:"Sélections";s:5:"picto";s:47:"/userfiles/image/menu_horizontal/selections.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"73";s:9:"picto_alt";s:0:"";}}i:4;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"4";s:7:"libelle";s:10:"Numérique";s:5:"picto";s:46:"/userfiles/image/menu_horizontal/numerique.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"67";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"4";s:7:"libelle";s:10:"Numérique";s:5:"picto";s:46:"/userfiles/image/menu_horizontal/numerique.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"67";s:9:"picto_alt";s:0:"";}}i:5;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"5";s:7:"libelle";s:6:"Agenda";s:5:"picto";s:43:"/userfiles/image/menu_horizontal/agenda.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"68";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"5";s:7:"libelle";s:6:"Agenda";s:5:"picto";s:43:"/userfiles/image/menu_horizontal/agenda.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"68";s:9:"picto_alt";s:0:"";}}}s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:15:"Menu horizontal";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:17:"0;1;PROFIL;3;4;5;";s:9:"picto_alt";s:0:"";}}i:1;a:3:{s:7:"libelle";s:18:"** nouveau menu **";s:5:"picto";s:8:"vide.gif";s:5:"menus";a:1:{i:0;a:4:{s:9:"type_menu";s:4:"MENU";s:7:"libelle";s:22:"** nouvelle entrée **";s:5:"picto";s:8:"vide.gif";s:10:"sous_menus";a:1:{i:0;a:4:{s:9:"type_menu";s:9:"CATALOGUE";s:7:"libelle";s:7:"Domaine";s:5:"picto";s:8:"vide.gif";s:11:"preferences";a:8:{s:5:"titre";s:9:"Catalogue";s:9:"aleatoire";s:1:"1";s:3:"tri";s:1:"1";s:10:"nb_notices";s:2:"20";s:10:"nb_analyse";s:2:"50";s:12:"id_catalogue";s:1:"8";s:9:"id_panier";s:1:"0";s:7:"id_user";s:1:"0";}}}}}}i:2;a:3:{s:7:"libelle";s:14:"Menu principal";s:5:"picto";s:0:"";s:5:"menus";a:5:{i:0;a:3:{s:9:"type_menu";s:7:"ACCUEIL";s:7:"libelle";s:7:"Accueil";s:10:"use_profil";s:2:"64";}i:1;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:7:"Réseau";s:3:"url";s:0:"";}i:2;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:11:"Collections";s:3:"url";s:0:"";}i:3;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:10:"Numérique";s:3:"url";s:0:"";}i:4;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:15:"Infos pratiques";s:3:"url";s:0:"";}}}i:3;a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:11:"Menu volant";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:5:"menus";a:6:{i:0;a:4:{s:9:"type_menu";s:7:"ACCUEIL";s:7:"libelle";s:7:"Accueil";s:10:"use_profil";s:2:"64";s:9:"id_module";s:1:"0";}i:1;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:6:"Agenda";s:3:"url";s:0:"";s:9:"id_module";s:1:"1";}i:2;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:15:"Préinscription";s:3:"url";s:0:"";s:9:"id_module";s:1:"2";}i:3;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:7:"Contact";s:3:"url";s:0:"";s:9:"id_module";s:1:"3";}i:4;a:50:{s:5:"titre";s:9:"Recherche";s:7:"message";s:0:"";s:7:"exemple";s:0:"";s:10:"select_bib";s:1:"0";s:10:"select_doc";s:1:"0";s:13:"select_annexe";s:1:"0";s:7:"largeur";s:3:"140";s:17:"recherche_avancee";s:1:"1";s:8:"type_doc";s:0:"";s:3:"tri";s:1:"*";s:8:"in_files";s:1:"0";s:15:"profil_redirect";s:1:"0";s:11:"placeholder";s:16:"Titre, auteur…";s:13:"search_button";s:19:"class fas fa-search";s:10:"domain_ids";s:0:"";s:19:"domain_select_style";s:6:"select";s:22:"TerredumilieuFormStyle";s:6:"inline";s:23:"library_selection_label";s:13:"Bibliothèque";s:22:"annexe_selection_label";s:4:"Site";s:24:"doc_type_selection_label";s:4:"Type";s:22:"domain_selection_label";s:7:"Domaine";s:17:"facets_in_session";s:1:"1";s:17:"always_new_search";s:1:"0";s:5:"boite";a:6:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:9:"no_shadow";i:3;s:13:"no_background";i:4;s:17:"tdm_search_widget";i:5;s:6:"m-auto";}s:9:"type_menu";s:26:"MODULE_ACCUEIL_RECH_SIMPLE";s:11:"type_module";s:26:"MODULE_ACCUEIL_RECH_SIMPLE";s:7:"libelle";s:10:"Rechercher";s:9:"id_module";s:1:"4";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:11:"preferences";a:49:{s:5:"titre";s:9:"Recherche";s:7:"message";s:0:"";s:7:"exemple";s:0:"";s:10:"select_bib";s:1:"0";s:10:"select_doc";s:1:"0";s:13:"select_annexe";s:1:"0";s:7:"largeur";s:3:"140";s:17:"recherche_avancee";s:1:"1";s:8:"type_doc";s:0:"";s:3:"tri";s:1:"*";s:8:"in_files";s:1:"0";s:15:"profil_redirect";s:1:"0";s:11:"placeholder";s:16:"Titre, auteur…";s:13:"search_button";s:19:"class fas fa-search";s:10:"domain_ids";s:0:"";s:19:"domain_select_style";s:6:"select";s:22:"TerredumilieuFormStyle";s:6:"inline";s:23:"library_selection_label";s:13:"Bibliothèque";s:22:"annexe_selection_label";s:4:"Site";s:24:"doc_type_selection_label";s:4:"Type";s:22:"domain_selection_label";s:7:"Domaine";s:17:"facets_in_session";s:1:"1";s:17:"always_new_search";s:1:"0";s:5:"boite";a:6:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:9:"no_shadow";i:3;s:13:"no_background";i:4;s:17:"tdm_search_widget";i:5;s:6:"m-auto";}s:9:"type_menu";s:26:"MODULE_ACCUEIL_RECH_SIMPLE";s:11:"type_module";s:26:"MODULE_ACCUEIL_RECH_SIMPLE";s:7:"libelle";s:10:"Rechercher";s:9:"id_module";s:1:"5";s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}i:5;a:46:{s:6:"layout";s:4:"wall";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"1";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"0";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:34:"Lettre d'information : je m'abonne";s:5:"order";s:9:"titre asc";s:5:"boite";a:1:{i:0;s:11:"titre_petit";}s:11:"type_module";s:26:"MODULE_ACCUEIL_NEWSLETTERS";s:9:"type_menu";s:26:"MODULE_ACCUEIL_NEWSLETTERS";s:9:"id_module";s:1:"5";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"3";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:1:"6";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";s:11:"preferences";a:45:{s:6:"layout";s:4:"wall";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"1";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"0";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:34:"Lettre d'information : je m'abonne";s:5:"order";s:9:"titre asc";s:5:"boite";a:1:{i:0;s:11:"titre_petit";}s:11:"type_module";s:26:"MODULE_ACCUEIL_NEWSLETTERS";s:9:"type_menu";s:26:"MODULE_ACCUEIL_NEWSLETTERS";s:9:"id_module";s:1:"5";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"3";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:1:"6";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}}s:8:"children";s:37:"0;1;2;3;5;MODULE_ACCUEIL_NEWSLETTERS;";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:11:"Menu volant";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:37:"0;1;2;3;5;MODULE_ACCUEIL_NEWSLETTERS;";s:9:"picto_alt";s:0:"";}}i:4;a:3:{s:7:"libelle";s:34:"Menu réseaux sociaux haut de page";s:5:"picto";s:0:"";s:5:"menus";a:5:{i:0;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:8:"Facebook";s:3:"url";s:0:"";s:5:"picto";s:23:"class fab fa-facebook-f";}i:1;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:7:"Twitter";s:3:"url";s:0:"";s:5:"picto";s:20:"class fab fa-twitter";}i:2;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:9:"Instagram";s:3:"url";s:0:"";s:5:"picto";s:22:"class fab fa-instagram";}i:3;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:10:"SoundCloud";s:3:"url";s:0:"";s:5:"picto";s:23:"class fab fa-soundcloud";}i:4;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:14:"France Connect";s:3:"url";s:41:"https://fcp.integ01.dev-franceconnect.fr/";s:5:"picto";s:108:"https://www.bibliothequeschemilleenanjou.net/library/templates/TerreDuMilieu/Assets/images/franceconnect.jpg";}}}i:5;a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:33:"Menu réseaux sociaux bas de page";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:5:"menus";a:0:{}s:8:"children";s:0:"";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:33:"Menu réseaux sociaux bas de page";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:0:"";s:9:"picto_alt";s:0:"";}}i:6;a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:13:"Menu crédits";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:5:"menus";a:4:{i:0;a:10:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"0";s:7:"libelle";s:13:"> Partenaires";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/334";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"0";s:7:"libelle";s:13:"> Partenaires";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/334";s:9:"picto_alt";s:0:"";}}i:1;a:10:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"1";s:7:"libelle";s:19:"> Mentions légales";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/322";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"1";s:7:"libelle";s:19:"> Mentions légales";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/322";s:9:"picto_alt";s:0:"";}}i:2;a:11:{s:11:"type_module";s:12:"FORM_CONTACT";s:9:"type_menu";s:12:"FORM_CONTACT";s:9:"id_module";s:1:"2";s:7:"libelle";s:9:"> Contact";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:9:"barre_nav";s:34:"Lien vers le formulaire de contact";s:12:"bib_selector";s:1:"0";s:10:"use_profil";s:0:"";s:9:"picto_alt";s:0:"";s:11:"preferences";a:10:{s:11:"type_module";s:12:"FORM_CONTACT";s:9:"type_menu";s:12:"FORM_CONTACT";s:9:"id_module";s:1:"2";s:7:"libelle";s:9:"> Contact";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:9:"barre_nav";s:34:"Lien vers le formulaire de contact";s:12:"bib_selector";s:1:"0";s:10:"use_profil";s:0:"";s:9:"picto_alt";s:0:"";}}i:3;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:10:"Newsletter";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"69";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:10:"Newsletter";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"69";s:9:"picto_alt";s:0:"";}}}s:8:"children";s:24:"0;1;FORM_CONTACT;PROFIL;";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:13:"Menu crédits";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:24:"0;1;FORM_CONTACT;PROFIL;";s:9:"picto_alt";s:0:"";}}} \ No newline at end of file diff --git a/tests/scenarios/ProfilImportExport/cfg_menus_clean_7.raw b/tests/scenarios/ProfilImportExport/cfg_menus_clean_7.raw new file mode 100644 index 0000000000000000000000000000000000000000..594c7b6a624fdae52279d59100f1f4fa86af6d5d --- /dev/null +++ b/tests/scenarios/ProfilImportExport/cfg_menus_clean_7.raw @@ -0,0 +1 @@ +a:7:{s:1:"H";a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:15:"Menu horizontal";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:17:"0;1;PROFIL;3;4;5;";s:5:"menus";a:6:{i:0;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"0";s:7:"libelle";s:7:"Accueil";s:5:"picto";s:44:"/userfiles/image/menu_horizontal/accueil.jpg";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"64";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"0";s:7:"libelle";s:7:"Accueil";s:5:"picto";s:44:"/userfiles/image/menu_horizontal/accueil.jpg";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"64";s:9:"picto_alt";s:0:"";}}i:1;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"1";s:7:"libelle";s:18:"Les bibliothèques";s:5:"picto";s:50:"/userfiles/image/menu_horizontal/bibliotheques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"65";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"1";s:7:"libelle";s:18:"Les bibliothèques";s:5:"picto";s:50:"/userfiles/image/menu_horizontal/bibliotheques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"65";s:9:"picto_alt";s:0:"";}}i:2;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"2";s:7:"libelle";s:15:"Infos pratiques";s:5:"picto";s:52:"/userfiles/image/menu_horizontal/infos_pratiques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"66";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"2";s:7:"libelle";s:15:"Infos pratiques";s:5:"picto";s:52:"/userfiles/image/menu_horizontal/infos_pratiques.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"66";s:9:"picto_alt";s:0:"";}}i:3;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:11:"Sélections";s:5:"picto";s:47:"/userfiles/image/menu_horizontal/selections.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"73";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:11:"Sélections";s:5:"picto";s:47:"/userfiles/image/menu_horizontal/selections.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"73";s:9:"picto_alt";s:0:"";}}i:4;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"4";s:7:"libelle";s:10:"Numérique";s:5:"picto";s:46:"/userfiles/image/menu_horizontal/numerique.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"67";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"4";s:7:"libelle";s:10:"Numérique";s:5:"picto";s:46:"/userfiles/image/menu_horizontal/numerique.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"67";s:9:"picto_alt";s:0:"";}}i:5;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"5";s:7:"libelle";s:6:"Agenda";s:5:"picto";s:43:"/userfiles/image/menu_horizontal/agenda.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"68";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"5";s:7:"libelle";s:6:"Agenda";s:5:"picto";s:43:"/userfiles/image/menu_horizontal/agenda.png";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"68";s:9:"picto_alt";s:0:"";}}}s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:15:"Menu horizontal";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:17:"0;1;PROFIL;3;4;5;";s:9:"picto_alt";s:0:"";}}i:1;a:3:{s:7:"libelle";s:18:"** nouveau menu **";s:5:"picto";s:8:"vide.gif";s:5:"menus";a:1:{i:0;a:4:{s:9:"type_menu";s:4:"MENU";s:7:"libelle";s:22:"** nouvelle entrée **";s:5:"picto";s:8:"vide.gif";s:10:"sous_menus";a:1:{i:0;a:4:{s:9:"type_menu";s:9:"CATALOGUE";s:7:"libelle";s:7:"Domaine";s:5:"picto";s:8:"vide.gif";s:11:"preferences";a:8:{s:5:"titre";s:9:"Catalogue";s:9:"aleatoire";s:1:"1";s:3:"tri";s:1:"1";s:10:"nb_notices";s:2:"20";s:10:"nb_analyse";s:2:"50";s:12:"id_catalogue";s:1:"8";s:9:"id_panier";s:1:"0";s:7:"id_user";s:1:"0";}}}}}}i:2;a:3:{s:7:"libelle";s:14:"Menu principal";s:5:"picto";s:0:"";s:5:"menus";a:5:{i:0;a:3:{s:9:"type_menu";s:7:"ACCUEIL";s:7:"libelle";s:7:"Accueil";s:10:"use_profil";s:2:"64";}i:1;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:7:"Réseau";s:3:"url";s:0:"";}i:2;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:11:"Collections";s:3:"url";s:0:"";}i:3;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:10:"Numérique";s:3:"url";s:0:"";}i:4;a:3:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:15:"Infos pratiques";s:3:"url";s:0:"";}}}i:3;a:7:{s:9:"type_menu";s:4:"MENU";s:7:"libelle";s:13:"Menu volant 2";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"preferences";a:2:{s:11:"clef_profil";s:1:"0";s:9:"picto_alt";s:0:"";}s:5:"menus";a:6:{i:0;a:4:{s:9:"type_menu";s:7:"ACCUEIL";s:7:"libelle";s:7:"Accueil";s:10:"use_profil";s:2:"64";s:9:"id_module";s:1:"0";}i:1;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:6:"Agenda";s:3:"url";s:0:"";s:9:"id_module";s:1:"1";}i:2;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:15:"Préinscription";s:3:"url";s:0:"";s:9:"id_module";s:1:"2";}i:3;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:7:"Contact";s:3:"url";s:0:"";s:9:"id_module";s:1:"3";}i:4;a:5:{s:9:"type_menu";s:26:"MODULE_ACCUEIL_RECH_SIMPLE";s:11:"type_module";s:26:"MODULE_ACCUEIL_RECH_SIMPLE";s:7:"libelle";s:10:"Rechercher";s:9:"id_module";s:1:"4";s:11:"preferences";a:52:{s:5:"titre";s:9:"Recherche";s:7:"message";s:0:"";s:7:"exemple";s:0:"";s:10:"select_bib";s:1:"0";s:10:"select_doc";s:1:"0";s:13:"select_annexe";s:1:"0";s:7:"largeur";s:3:"140";s:17:"recherche_avancee";s:1:"1";s:8:"type_doc";s:0:"";s:3:"tri";s:1:"*";s:8:"in_files";s:1:"0";s:15:"profil_redirect";s:0:"";s:11:"placeholder";s:16:"Titre, auteur…";s:13:"search_button";s:19:"class fas fa-search";s:10:"domain_ids";s:0:"";s:19:"domain_select_style";s:6:"select";s:22:"TerredumilieuFormStyle";s:6:"inline";s:23:"library_selection_label";s:13:"Bibliothèque";s:22:"annexe_selection_label";s:4:"Site";s:24:"doc_type_selection_label";s:4:"Type";s:22:"domain_selection_label";s:7:"Domaine";s:17:"facets_in_session";s:1:"1";s:17:"always_new_search";s:1:"0";s:5:"boite";a:6:{i:0;s:9:"no_border";i:1;s:16:"no_border_radius";i:2;s:9:"no_shadow";i:3;s:13:"no_background";i:4;s:17:"tdm_search_widget";i:5;s:6:"m-auto";}s:24:"TerredumilieuWidthXsmall";s:2:"12";s:23:"TerredumilieuShowHeader";s:1:"0";s:24:"TerredumilieuShowContent";s:1:"0";s:23:"TerredumilieuShowFooter";s:1:"0";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:8:"id_items";s:0:"";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}i:5;a:4:{s:11:"type_module";s:26:"MODULE_ACCUEIL_NEWSLETTERS";s:9:"type_menu";s:26:"MODULE_ACCUEIL_NEWSLETTERS";s:9:"id_module";s:1:"5";s:11:"preferences";a:42:{s:6:"layout";s:4:"wall";s:9:"rendering";s:12:"card-overlay";s:4:"size";s:1:"1";s:3:"rss";s:1:"0";s:12:"embeded_code";s:1:"0";s:11:"link_to_all";s:1:"0";s:10:"all_layout";s:4:"list";s:13:"all_rendering";s:15:"card-horizontal";s:5:"titre";s:36:"Lettre d'information : je m'abonne 2";s:5:"order";s:9:"titre asc";s:5:"boite";a:1:{i:0;s:11:"titre_petit";}s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:1:"3";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:1:"6";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:23:"TerredumilieuShowHeader";s:1:"1";s:24:"TerredumilieuShowContent";s:1:"1";s:23:"TerredumilieuShowFooter";s:1:"1";s:16:"link_to_all_text";s:0:"";s:17:"link_to_all_title";s:0:"";s:15:"link_to_all_url";s:0:"";s:25:"link_to_all_to_main_title";s:1:"0";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";s:30:"TerredumilieuVisibleWhenHidden";s:1:"0";}}}s:8:"children";s:11:"0;1;2;3;4;5";}i:4;a:3:{s:7:"libelle";s:34:"Menu réseaux sociaux haut de page";s:5:"picto";s:0:"";s:5:"menus";a:5:{i:0;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:8:"Facebook";s:3:"url";s:0:"";s:5:"picto";s:23:"class fab fa-facebook-f";}i:1;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:7:"Twitter";s:3:"url";s:0:"";s:5:"picto";s:20:"class fab fa-twitter";}i:2;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:9:"Instagram";s:3:"url";s:0:"";s:5:"picto";s:22:"class fab fa-instagram";}i:3;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:10:"SoundCloud";s:3:"url";s:0:"";s:5:"picto";s:23:"class fab fa-soundcloud";}i:4;a:4:{s:9:"type_menu";s:3:"URL";s:7:"libelle";s:14:"France Connect";s:3:"url";s:41:"https://fcp.integ01.dev-franceconnect.fr/";s:5:"picto";s:108:"https://www.bibliothequeschemilleenanjou.net/library/templates/TerreDuMilieu/Assets/images/franceconnect.jpg";}}}i:5;a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:33:"Menu réseaux sociaux bas de page";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:5:"menus";a:0:{}s:8:"children";s:0:"";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:33:"Menu réseaux sociaux bas de page";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:0:"";s:9:"picto_alt";s:0:"";}}i:6;a:11:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:13:"Menu crédits";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:5:"menus";a:4:{i:0;a:10:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"0";s:7:"libelle";s:13:"> Partenaires";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/334";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"0";s:7:"libelle";s:13:"> Partenaires";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/334";s:9:"picto_alt";s:0:"";}}i:1;a:10:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"1";s:7:"libelle";s:19:"> Mentions légales";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/322";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:3:"URL";s:9:"type_menu";s:3:"URL";s:9:"id_module";s:1:"1";s:7:"libelle";s:19:"> Mentions légales";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:6:"target";s:1:"0";s:3:"url";s:23:"/cms/articleview/id/322";s:9:"picto_alt";s:0:"";}}i:2;a:11:{s:11:"type_module";s:12:"FORM_CONTACT";s:9:"type_menu";s:12:"FORM_CONTACT";s:9:"id_module";s:1:"2";s:7:"libelle";s:9:"> Contact";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:9:"barre_nav";s:34:"Lien vers le formulaire de contact";s:12:"bib_selector";s:1:"0";s:10:"use_profil";s:0:"";s:9:"picto_alt";s:0:"";s:11:"preferences";a:10:{s:11:"type_module";s:12:"FORM_CONTACT";s:9:"type_menu";s:12:"FORM_CONTACT";s:9:"id_module";s:1:"2";s:7:"libelle";s:9:"> Contact";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:9:"barre_nav";s:34:"Lien vers le formulaire de contact";s:12:"bib_selector";s:1:"0";s:10:"use_profil";s:0:"";s:9:"picto_alt";s:0:"";}}i:3;a:9:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:10:"Newsletter";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"69";s:9:"picto_alt";s:0:"";s:11:"preferences";a:8:{s:11:"type_module";s:6:"PROFIL";s:9:"type_menu";s:6:"PROFIL";s:9:"id_module";s:1:"3";s:7:"libelle";s:10:"Newsletter";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:2:"69";s:9:"picto_alt";s:0:"";}}}s:8:"children";s:24:"0;1;FORM_CONTACT;PROFIL;";s:9:"picto_alt";s:0:"";s:11:"preferences";a:9:{s:11:"type_module";s:4:"MENU";s:9:"type_menu";s:4:"MENU";s:9:"id_module";s:0:"";s:7:"libelle";s:13:"Menu crédits";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"clef_profil";s:1:"0";s:8:"children";s:24:"0;1;FORM_CONTACT;PROFIL;";s:9:"picto_alt";s:0:"";}}} \ No newline at end of file diff --git a/tests/scenarios/ProfilImportExport/cfg_modules_7.raw b/tests/scenarios/ProfilImportExport/cfg_modules_7.raw new file mode 100644 index 0000000000000000000000000000000000000000..d5806cfb618594ed166d8fcef08c5e38a7965329 --- /dev/null +++ b/tests/scenarios/ProfilImportExport/cfg_modules_7.raw @@ -0,0 +1 @@ +a:13:{s:9:"recherche";a:8:{s:14:"resultatsimple";a:51:{s:9:"barre_nav";s:9:"Résultat";s:5:"titre";s:0:"";s:20:"search_term_editable";s:1:"1";s:17:"liste_nb_par_page";s:2:"15";s:12:"liste_format";s:1:"3";s:11:"liste_codes";s:9:"J;A;W;N;R";s:14:"facettes_actif";s:1:"1";s:14:"multi_facettes";s:1:"1";s:14:"facettes_codes";s:26:"ABCDEFGHIJKLMNOPQRSTUVWXYZ";s:15:"facettes_nombre";s:1:"6";s:12:"facets_order";s:1:"1";s:19:"facets_closed_codes";s:25:"ABCDEFGHIJKLMNOPQRSUVWXYZ";s:16:"facettes_message";s:23:"Affiner le résultat...";s:16:"suggests_enabled";s:1:"0";s:15:"suggests_number";s:2:"25";s:17:"bookmarks_enabled";s:1:"0";s:10:"tags_actif";s:1:"1";s:10:"tags_codes";s:5:"A;M;F";s:11:"tags_nombre";s:2:"30";s:11:"tags_calcul";s:1:"0";s:13:"tags_position";s:1:"2";s:12:"tags_message";s:23:"Elargir la recherche...";s:20:"cvs_display_position";s:1:"3";s:18:"cvs_resultat_titre";s:22:"Ressources numériques";s:20:"cvs_autres_resultats";s:9:"Documents";s:12:"cvs_msg_deco";s:25:"Vous devez etre connecté";s:13:"cvs_nb_result";s:1:"5";s:13:"cvs_msg_droit";s:59:"Merci de contacter la médiathèque pour obtenir un accès.";s:16:"suggestion_achat";s:1:"1";s:11:"zones_titre";s:17:"200$e;200$h;200$i";s:18:"header_composition";s:12:"Class_Entity";s:5:"boite";a:1:{i:0;s:9:"no_border";}s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}s:11:"viewnotice5";a:6:{s:7:"onglets";a:16:{s:6:"detail";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"1";s:5:"titre";s:23:"Description du document";s:7:"largeur";s:1:"0";}s:4:"avis";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"3";s:5:"titre";s:9:"Critiques";s:7:"largeur";s:1:"0";}s:11:"exemplaires";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"2";s:5:"titre";s:11:"Exemplaires";s:7:"largeur";s:1:"0";}s:6:"resume";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"4";s:5:"titre";s:9:"Résumés";s:7:"largeur";s:1:"0";}s:4:"tags";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"5";s:5:"titre";s:26:"Rebondir dans le catalogue";s:7:"largeur";s:1:"0";}s:10:"biographie";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"6";s:5:"titre";s:22:"Biographie de l'auteur";s:7:"largeur";s:1:"0";}s:6:"series";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"7";s:5:"titre";s:28:"Documents de la même série";s:7:"largeur";s:1:"0";}s:10:"similaires";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"1";s:5:"titre";s:20:"Documents similaires";s:7:"largeur";s:1:"0";}s:13:"bibliographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"9";s:5:"titre";s:12:"Discographie";s:7:"largeur";s:1:"0";}s:8:"morceaux";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"10";s:5:"titre";s:8:"Morceaux";s:7:"largeur";s:1:"0";}s:12:"bandeAnnonce";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"11";s:5:"titre";s:13:"Bande-annonce";s:7:"largeur";s:1:"0";}s:6:"photos";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"12";s:5:"titre";s:6:"Photos";s:7:"largeur";s:1:"0";}s:6:"videos";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:2:"13";s:5:"titre";s:15:"Archives vidéo";s:7:"largeur";s:1:"0";}s:13:"resnumeriques";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"14";s:5:"titre";s:22:"Ressources numériques";s:7:"largeur";s:1:"0";}s:11:"babeltheque";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"15";s:5:"titre";s:12:"Babelthèque";s:7:"largeur";s:1:"0";}s:4:"frbr";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"16";s:5:"titre";s:14:"Notices liées";s:7:"largeur";s:1:"0";}}s:6:"entete";s:13:"J;A;W;N;F;G;M";s:9:"analytics";s:0:"";s:15:"analytics_title";s:0:"";s:17:"analytics_authors";s:0:"";s:5:"boite";s:0:"";}s:11:"viewnotice1";a:29:{s:9:"barre_nav";s:6:"Notice";s:5:"boite";s:0:"";s:6:"entete";s:13:"J;A;W;N;F;G;M";s:9:"analytics";s:0:"";s:15:"analytics_title";s:0:"";s:17:"analytics_authors";s:0:"";s:11:"links_zones";s:0:"";s:16:"thumbnail_fields";s:0:"";s:7:"onglets";a:17:{s:6:"detail";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"1";s:5:"titre";s:23:"Description du document";s:7:"largeur";s:1:"0";}s:4:"avis";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"3";s:5:"titre";s:9:"Critiques";s:7:"largeur";s:1:"0";}s:11:"exemplaires";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"2";s:5:"titre";s:11:"Exemplaires";s:7:"largeur";s:1:"0";}s:6:"resume";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"4";s:5:"titre";s:9:"Résumés";s:7:"largeur";s:1:"0";}s:4:"tags";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"5";s:5:"titre";s:26:"Rebondir dans le catalogue";s:7:"largeur";s:1:"0";}s:10:"biographie";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"6";s:5:"titre";s:22:"Biographie de l'auteur";s:7:"largeur";s:1:"0";}s:6:"series";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"7";s:5:"titre";s:28:"Documents de la même série";s:7:"largeur";s:1:"0";}s:10:"similaires";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"1";s:5:"titre";s:20:"Documents similaires";s:7:"largeur";s:1:"0";}s:13:"bibliographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"9";s:5:"titre";s:12:"Discographie";s:7:"largeur";s:1:"0";}s:8:"morceaux";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"10";s:5:"titre";s:8:"Morceaux";s:7:"largeur";s:1:"0";}s:12:"bandeAnnonce";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"11";s:5:"titre";s:13:"Bande-annonce";s:7:"largeur";s:1:"0";}s:6:"photos";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"12";s:5:"titre";s:6:"Photos";s:7:"largeur";s:1:"0";}s:6:"videos";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:2:"13";s:5:"titre";s:15:"Archives vidéo";s:7:"largeur";s:1:"0";}s:13:"resnumeriques";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"14";s:5:"titre";s:22:"Ressources numériques";s:7:"largeur";s:1:"0";}s:11:"babeltheque";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"15";s:5:"titre";s:12:"Babelthèque";s:7:"largeur";s:1:"0";}s:4:"frbr";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"16";s:5:"titre";s:14:"Notices liées";s:7:"largeur";s:1:"0";}s:8:"recounts";a:4:{s:5:"titre";s:0:"";s:3:"aff";s:1:"2";s:5:"ordre";s:2:"17";s:7:"largeur";s:1:"0";}}s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}s:11:"viewnotice3";a:29:{s:9:"barre_nav";s:6:"Notice";s:5:"boite";s:0:"";s:6:"entete";s:13:"J;A;W;N;F;G;M";s:9:"analytics";s:0:"";s:15:"analytics_title";s:0:"";s:17:"analytics_authors";s:0:"";s:11:"links_zones";s:0:"";s:16:"thumbnail_fields";s:0:"";s:7:"onglets";a:17:{s:6:"detail";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"1";s:5:"titre";s:23:"Description du document";s:7:"largeur";s:1:"0";}s:4:"avis";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"3";s:5:"titre";s:9:"Critiques";s:7:"largeur";s:1:"0";}s:11:"exemplaires";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"2";s:5:"titre";s:11:"Exemplaires";s:7:"largeur";s:1:"0";}s:6:"resume";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"4";s:5:"titre";s:9:"Résumés";s:7:"largeur";s:1:"0";}s:4:"tags";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"5";s:5:"titre";s:26:"Rebondir dans le catalogue";s:7:"largeur";s:1:"0";}s:10:"biographie";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"6";s:5:"titre";s:10:"Biographie";s:7:"largeur";s:1:"0";}s:6:"series";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"7";s:5:"titre";s:28:"Documents de la même série";s:7:"largeur";s:1:"0";}s:10:"similaires";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"8";s:5:"titre";s:20:"Documents similaires";s:7:"largeur";s:1:"0";}s:13:"bibliographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"9";s:5:"titre";s:12:"Discographie";s:7:"largeur";s:1:"0";}s:8:"morceaux";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"1";s:5:"titre";s:8:"Morceaux";s:7:"largeur";s:1:"0";}s:12:"bandeAnnonce";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"11";s:5:"titre";s:13:"Bande-annonce";s:7:"largeur";s:1:"0";}s:6:"photos";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:2:"12";s:5:"titre";s:6:"Photos";s:7:"largeur";s:1:"0";}s:6:"videos";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:2:"13";s:5:"titre";s:15:"Archives vidéo";s:7:"largeur";s:1:"0";}s:13:"resnumeriques";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"14";s:5:"titre";s:22:"Ressources numériques";s:7:"largeur";s:1:"0";}s:11:"babeltheque";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"15";s:5:"titre";s:12:"Babelthèque";s:7:"largeur";s:1:"0";}s:4:"frbr";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"16";s:5:"titre";s:14:"Notices liées";s:7:"largeur";s:1:"0";}s:8:"recounts";a:4:{s:5:"titre";s:0:"";s:3:"aff";s:1:"2";s:5:"ordre";s:2:"17";s:7:"largeur";s:1:"0";}}s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}s:11:"viewnotice2";a:6:{s:7:"onglets";a:16:{s:6:"detail";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"1";s:5:"titre";s:23:"Description du document";s:7:"largeur";s:1:"0";}s:4:"avis";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"2";s:5:"titre";s:9:"Critiques";s:7:"largeur";s:1:"0";}s:11:"exemplaires";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"3";s:5:"titre";s:11:"Exemplaires";s:7:"largeur";s:1:"0";}s:6:"resume";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"4";s:5:"titre";s:9:"Résumés";s:7:"largeur";s:1:"0";}s:4:"tags";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"5";s:5:"titre";s:26:"Rebondir dans le catalogue";s:7:"largeur";s:1:"0";}s:10:"biographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"6";s:5:"titre";s:22:"Biographie de l'auteur";s:7:"largeur";s:1:"0";}s:6:"series";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"7";s:5:"titre";s:28:"Documents de la même série";s:7:"largeur";s:1:"0";}s:10:"similaires";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"8";s:5:"titre";s:20:"Documents similaires";s:7:"largeur";s:1:"0";}s:13:"bibliographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"9";s:5:"titre";s:12:"Discographie";s:7:"largeur";s:1:"0";}s:8:"morceaux";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"10";s:5:"titre";s:8:"Morceaux";s:7:"largeur";s:1:"0";}s:12:"bandeAnnonce";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"11";s:5:"titre";s:13:"Bande-annonce";s:7:"largeur";s:1:"0";}s:6:"photos";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"12";s:5:"titre";s:6:"Photos";s:7:"largeur";s:1:"0";}s:6:"videos";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"13";s:5:"titre";s:15:"Archives vidéo";s:7:"largeur";s:1:"0";}s:13:"resnumeriques";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"14";s:5:"titre";s:22:"Ressources numériques";s:7:"largeur";s:1:"0";}s:11:"babeltheque";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"15";s:5:"titre";s:12:"Babelthèque";s:7:"largeur";s:1:"0";}s:4:"frbr";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"16";s:5:"titre";s:14:"Notices liées";s:7:"largeur";s:1:"0";}}s:6:"entete";s:11:"J;A;W;N;F;M";s:9:"analytics";s:0:"";s:15:"analytics_title";s:0:"";s:17:"analytics_authors";s:0:"";s:5:"boite";s:0:"";}s:11:"viewnotice4";a:29:{s:9:"barre_nav";s:6:"Notice";s:5:"boite";s:0:"";s:6:"entete";s:13:"J;A;W;N;G;F;M";s:9:"analytics";s:0:"";s:15:"analytics_title";s:0:"";s:17:"analytics_authors";s:0:"";s:11:"links_zones";s:0:"";s:16:"thumbnail_fields";s:0:"";s:7:"onglets";a:17:{s:6:"detail";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"1";s:5:"titre";s:23:"Description du document";s:7:"largeur";s:1:"0";}s:4:"avis";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"3";s:5:"titre";s:9:"Critiques";s:7:"largeur";s:1:"0";}s:11:"exemplaires";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"2";s:5:"titre";s:11:"Exemplaires";s:7:"largeur";s:1:"0";}s:6:"resume";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"4";s:5:"titre";s:9:"Résumés";s:7:"largeur";s:1:"0";}s:4:"tags";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"5";s:5:"titre";s:26:"Rebondir dans le catalogue";s:7:"largeur";s:1:"0";}s:10:"biographie";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"6";s:5:"titre";s:10:"Biographie";s:7:"largeur";s:1:"0";}s:6:"series";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"7";s:5:"titre";s:28:"Documents de la même série";s:7:"largeur";s:1:"0";}s:10:"similaires";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"8";s:5:"titre";s:20:"Documents similaires";s:7:"largeur";s:1:"0";}s:13:"bibliographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"9";s:5:"titre";s:12:"Discographie";s:7:"largeur";s:1:"0";}s:8:"morceaux";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"10";s:5:"titre";s:8:"Morceaux";s:7:"largeur";s:1:"0";}s:12:"bandeAnnonce";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:1:"1";s:5:"titre";s:13:"Bande-annonce";s:7:"largeur";s:1:"0";}s:6:"photos";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"12";s:5:"titre";s:6:"Photos";s:7:"largeur";s:1:"0";}s:6:"videos";a:4:{s:3:"aff";s:1:"3";s:5:"ordre";s:2:"13";s:5:"titre";s:15:"Archives vidéo";s:7:"largeur";s:1:"0";}s:13:"resnumeriques";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"14";s:5:"titre";s:22:"Ressources numériques";s:7:"largeur";s:1:"0";}s:11:"babeltheque";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"15";s:5:"titre";s:12:"Babelthèque";s:7:"largeur";s:1:"0";}s:4:"frbr";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"16";s:5:"titre";s:14:"Notices liées";s:7:"largeur";s:1:"0";}s:8:"recounts";a:4:{s:5:"titre";s:0:"";s:3:"aff";s:1:"2";s:5:"ordre";s:2:"17";s:7:"largeur";s:1:"0";}}s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}s:13:"viewnotice102";a:6:{s:7:"onglets";a:16:{s:6:"detail";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:2:"14";s:5:"titre";s:23:"Description du document";s:7:"largeur";s:1:"0";}s:4:"avis";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"2";s:5:"titre";s:9:"Critiques";s:7:"largeur";s:1:"0";}s:11:"exemplaires";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"3";s:5:"titre";s:11:"Exemplaires";s:7:"largeur";s:1:"0";}s:6:"resume";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"4";s:5:"titre";s:9:"Résumés";s:7:"largeur";s:1:"0";}s:4:"tags";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"5";s:5:"titre";s:26:"Rebondir dans le catalogue";s:7:"largeur";s:1:"0";}s:10:"biographie";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"6";s:5:"titre";s:22:"Biographie de l'auteur";s:7:"largeur";s:1:"0";}s:6:"series";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"7";s:5:"titre";s:28:"Documents de la même série";s:7:"largeur";s:1:"0";}s:10:"similaires";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:1:"8";s:5:"titre";s:20:"Documents similaires";s:7:"largeur";s:1:"0";}s:13:"bibliographie";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:1:"9";s:5:"titre";s:12:"Discographie";s:7:"largeur";s:1:"0";}s:8:"morceaux";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"10";s:5:"titre";s:8:"Morceaux";s:7:"largeur";s:1:"0";}s:12:"bandeAnnonce";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"11";s:5:"titre";s:13:"Bande-annonce";s:7:"largeur";s:1:"0";}s:6:"photos";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"12";s:5:"titre";s:6:"Photos";s:7:"largeur";s:1:"0";}s:6:"videos";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:2:"13";s:5:"titre";s:15:"Archives vidéo";s:7:"largeur";s:1:"0";}s:13:"resnumeriques";a:4:{s:3:"aff";s:1:"1";s:5:"ordre";s:1:"1";s:5:"titre";s:22:"Ressources numériques";s:7:"largeur";s:1:"0";}s:11:"babeltheque";a:4:{s:3:"aff";s:1:"0";s:5:"ordre";s:2:"15";s:5:"titre";s:12:"Babelthèque";s:7:"largeur";s:1:"0";}s:4:"frbr";a:4:{s:3:"aff";s:1:"2";s:5:"ordre";s:2:"16";s:5:"titre";s:14:"Notices liées";s:7:"largeur";s:1:"0";}}s:6:"entete";s:5:"W;C;N";s:9:"analytics";s:0:"";s:15:"analytics_title";s:0:"";s:17:"analytics_authors";s:0:"";s:5:"boite";s:0:"";}s:7:"avancee";a:26:{s:9:"barre_nav";s:18:"Recherche avancée";s:5:"titre";s:18:"Recherche avancée";s:10:"select_bib";s:1:"1";s:17:"liste_nb_par_page";s:2:"10";s:11:"liste_codes";s:5:"T;A;W";s:5:"forms";s:0:"";s:5:"boite";s:0:"";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:3:"cms";a:4:{s:17:"articleviewbydate";a:3:{s:5:"boite";s:0:"";s:9:"barre_nav";s:10:"Calendrier";s:5:"titre";s:10:"Calendrier";}s:22:"articleviewpreferences";a:27:{s:9:"barre_nav";s:7:"Article";s:5:"boite";a:1:{i:0;s:6:"m-auto";}s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:2:"10";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";}s:20:"articleviewselection";a:2:{s:5:"boite";s:0:"";s:9:"barre_nav";s:7:"Article";}s:11:"articleview";a:27:{s:9:"barre_nav";s:7:"Article";s:5:"boite";a:0:{}s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";s:25:"TerredumilieuOffsetXsmall";s:0:"";s:24:"TerredumilieuOffsetSmall";s:0:"";s:25:"TerredumilieuOffsetMedium";s:0:"";s:24:"TerredumilieuOffsetLarge";s:0:"";s:25:"TerredumilieuOffsetXlarge";s:0:"";}}s:5:"index";a:1:{s:17:"formulairecontact";a:30:{s:11:"type_module";s:12:"FORM_CONTACT";s:9:"type_menu";s:12:"FORM_CONTACT";s:9:"id_module";s:0:"";s:7:"libelle";s:34:"Lien vers le formulaire de contact";s:5:"picto";s:0:"";s:6:"action";s:0:"";s:11:"preferences";a:0:{}s:9:"barre_nav";s:21:"Formulaire de contact";s:12:"bib_selector";s:1:"0";s:5:"boite";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:4:"sito";a:1:{s:13:"viewselection";a:2:{s:5:"boite";s:0:"";s:9:"barre_nav";s:11:"Sitothèque";}}s:7:"library";a:1:{s:9:"templates";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:11:"favicon.ico";a:1:{s:5:"index";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:6:"abonne";a:1:{s:5:"fiche";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:3:"bib";a:1:{s:12:"en-lire-plus";a:23:{s:9:"hide_news";s:1:"0";s:9:"barre_nav";s:23:"Recherche géographique";s:5:"boite";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:6:"widget";a:1:{s:10:"render-all";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:15:"romans-etranger";a:1:{s:5:"index";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:1:"i";a:1:{s:5:"index";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:5:"skins";a:1:{s:8:"chemille";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}s:9:"userfiles";a:3:{s:3:"css";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}s:5:"image";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}s:8:"photobib";a:22:{s:5:"boite";s:0:"";s:9:"barre_nav";s:0:"";s:5:"titre";s:6:"Action";s:10:"visibility";s:1:"1";s:29:"TerredumilieuExpandBreakpoint";s:2:"sm";s:23:"TerredumilieuHiddenMode";s:0:"";s:24:"TerredumilieuWidthXsmall";s:0:"";s:23:"TerredumilieuWidthSmall";s:0:"";s:24:"TerredumilieuWidthMedium";s:0:"";s:23:"TerredumilieuWidthLarge";s:0:"";s:24:"TerredumilieuWidthXlarge";s:0:"";s:24:"TerredumilieuOrderXsmall";s:0:"";s:23:"TerredumilieuOrderSmall";s:0:"";s:24:"TerredumilieuOrderMedium";s:0:"";s:23:"TerredumilieuOrderLarge";s:0:"";s:24:"TerredumilieuOrderXlarge";s:0:"";s:28:"TerredumilieuVisibilityIndex";s:1:"1";s:32:"TerredumilieuVisibilityRecherche";s:1:"1";s:29:"TerredumilieuVisibilityAbonne";s:1:"1";s:26:"TerredumilieuVisibilityCms";s:1:"1";s:27:"TerredumilieuVisibilityBlog";s:1:"1";s:27:"TerredumilieuVisibilityAuth";s:1:"1";}}} \ No newline at end of file diff --git a/tests/scenarios/Templates/116552_profile_widget_in_menu.json b/tests/scenarios/Templates/116552_profile_widget_in_menu.json new file mode 100644 index 0000000000000000000000000000000000000000..f295acfbbc2ce3a3723ed9134fc04bef25e52e66 --- /dev/null +++ b/tests/scenarios/Templates/116552_profile_widget_in_menu.json @@ -0,0 +1,92 @@ +{ + "id": 64, + "id_profil": 64, + "browser": "opac", + "libelle": "Biblioth\u00e8ques Chemill\u00e9-en-Anjou", + "commentaire": "Bienvenue sur le portail des biblioth\u00e8ques de Chemill\u00e9-en-Anjou", + "titre_site": "Biblioth\u00e8ques Chemill\u00e9-en-Anjou", + "ref_tags": "m\u00e9diath\u00e8que ; biblioth\u00e8ques ;", + "ref_description": "", + "cfg_accueil": { + "modules": { + "15": { + "type_module": "MENU", + "preferences": { + "titre": "Menu volant", + "menu": "64-3", + "layout": "horizontal", + "boite": [ + "admin_tools_invert_colors", + "no_border", + "no_border_radius", + "no_shadow", + "position_fixed_top_right", + "tdm_flying_widget", + "z_index_11" + ], + "profile_id": "64", + "TerredumilieuExpandBreakpoint": "always", + "TerredumilieuWidthXsmall": "6", + "TerredumilieuWidthMedium": "4", + "TerredumilieuWidthLarge": "3", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1" + }, + "division": "4", + "id_module": "15", + "profile_id": "64" + } + }, + "use_parent_css": "1", + "sitemap": "1" + }, + "cfg_menus": { + "3": { + "type_menu": "MENU", + "libelle": "Menu volant", + "menus": [ + { + "type_module": "MODULE_ACCUEIL_NEWSLETTERS", + "type_menu": "MODULE_ACCUEIL_NEWSLETTERS", + "id_module": "5", + "preferences": { + "layout": "wall", + "rendering": "card-overlay", + "size": "1", + "all_layout": "list", + "all_rendering": "card-horizontal", + "titre": "Lettre d'information : je m'abonne", + "order": "titre asc", + "boite": [ + "titre_petit" + ], + "TerredumilieuExpandBreakpoint": "sm", + "TerredumilieuWidthXsmall": "3", + "TerredumilieuWidthLarge": "6", + "TerredumilieuVisibilityIndex": "1", + "TerredumilieuVisibilityRecherche": "1", + "TerredumilieuVisibilityAbonne": "1", + "TerredumilieuVisibilityCms": "1", + "TerredumilieuVisibilityBlog": "1", + "TerredumilieuVisibilityAuth": "1", + "TerredumilieuShowHeader": "1", + "TerredumilieuShowContent": "1", + "TerredumilieuShowFooter": "1" + } + } + ], + "children": "MODULE_ACCUEIL_NEWSLETTERS;", + "preferences": { + "type_module": "MENU", + "type_menu": "MENU", + "libelle": "Menu volant", + "children": "MODULE_ACCUEIL_NEWSLETTERS;" + } + } + }, + "template": "TERREDUMILIEU" +} diff --git a/tests/scenarios/Templates/TemplatesArticlesTest.php b/tests/scenarios/Templates/TemplatesArticlesTest.php index d430f8ed19ad61e9dd9c5f67a9e03c54cdbe8546..3a939e4cf0532d0cd501e7a7d04d617eda2841bf 100644 --- a/tests/scenarios/Templates/TemplatesArticlesTest.php +++ b/tests/scenarios/Templates/TemplatesArticlesTest.php @@ -33,7 +33,14 @@ abstract class TemplatesArticlesWidgetTestCase extends Admin_AbstractControllerT 'libelle' => 'My page']) ->setBoiteOfTypeInDivision(2, Intonation_Library_Widget_Carousel_Article_Definition::CODE, - ['all_layout' => Intonation_Library_Widget_Carousel_Definition::LISTING]) + ['all_layout' => Intonation_Library_Widget_Carousel_Definition::LISTING, + 'order' => 'Selection', + 'id_items' => '5-6-7', + 'rss' => 1, + 'link_to_all' => 1, + 'embeded_code'=> 1, + 'IntonationShowFooter' => 1, + 'layout' => 'multiple_carousel']) ->assertSave(); $this->fixture('Class_Article', @@ -94,33 +101,79 @@ class TemplatesArticlesEditWidgetTest extends TemplatesArticlesWidgetTestCase { class TemplatesArticlesWidgetTest extends TemplatesArticlesWidgetTestCase { public function setUp() { parent::setUp(); - $widget = ((new Class_Systeme_Widget_Widget) - ->setId(1) - ->setProfileId(1) - ->load()); - $widget - ->setNewDatas(['order' => 'Selection', - 'id_items' => '5-6-7', - 'rss' => 1, - 'link_to_all' => 1, - 'embeded_code'=> 1, - 'IntonationShowFooter' => 1, - 'layout' => 'multiple_carousel']) - ->updateProfile(); $this ->onLoaderOfModel('Class_Article') + ->whenCalled('getArticlesByPreferences') + ->answers(Class_Article::findAllBy(['id_article' => [4, 6, 7]])); + + + $this->dispatch('/opac/index/index/id_profil/1', true); + } + + + public function articleTitles() { + return [ + ['Winter'], + ['Sprechen Sie Deutsch'], + ['Parlez-vous français'] + ]; + } + + /** + * @test + * @dataProvider articleTitles + */ + public function widgetCarouselArticleShouldContainsTitle($title) { + $this->assertXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]', + $title); + } +} + + + + +class TemplatesArticlesWidgetWithWorklowTest extends TemplatesArticlesWidgetTestCase { + public function setUp() { + parent::setUp(); + Class_AdminVar::set('WORKFLOW', 1); + + Class_Article::find(4)->beValidated()->assertSave(); + Class_Article::find(6)->beDraft()->assertSave(); + Class_Article::find(7)->beValidationPending()->assertSave(); + + $this + ->onLoaderOfModel('Class_Article') ->whenCalled('getArticlesByPreferences') ->answers(Class_Article::findAllBy(['id_article' => [4, 6, 7]])); + + + ZendAfi_Auth::getInstance()->clearIdentity(); + $this->dispatch('/opac/index/index/id_profil/1', true); } /** @test */ - public function dispatchFrontShouldContainsSprechenSieDeutsh() { - $this->assertXPathContentContains('//div', 'Sprechen Sie Deutsch ?'); + public function widgetCarouselShouldContainsValidatedArticleWinter() { + $this->assertXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]', + 'Winter'); + } + + + /** @test */ + public function widgetCarouselShouldNotContainsDraftArticleSprechenSieDeutsh() { + $this->assertNotXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]', + 'Sprechen Sie Deutsch ?'); + } + + + /** @test */ + public function widgetCarouselShouldNotContainsPendingArticleParlezVousFrancais() { + $this->assertNotXPathContentContains('//div[contains(@class, "boite news")]//div[@class="card-title"]', + 'Parlez-vous français ?'); } } @@ -309,4 +362,4 @@ class TemplatesArticlesMapTest extends TemplatesArticlesWithLocationTestCase { public function dataOSMShouldNotContainsArticleLostInTranslation() { $this->assertNotXPath('//div[contains(@data-osm, "Lost in translation")]'); } -} \ No newline at end of file +} diff --git a/tests/scenarios/Templates/TemplatesTest.php b/tests/scenarios/Templates/TemplatesTest.php index 474c8b9421d3e2a8aa747c7b20cfe0d7e5b54fd4..ab30bcb6819b49dce594dbc5423234dcb27febde 100644 --- a/tests/scenarios/Templates/TemplatesTest.php +++ b/tests/scenarios/Templates/TemplatesTest.php @@ -392,7 +392,7 @@ abstract class TemplatesIntonationTestCase extends TemplatesEnabledTestCase { '21' => ['division' => 3, 'type_module' => 'CALENDAR', - 'preferences' => []], + 'preferences' => ['rss' => 1]], '22' => ['division' => 4, 'type_module' => 'FREE', @@ -2030,6 +2030,7 @@ class TemplatesDispatchIntonationSearchListFormatWallTest extends TemplatesInton abstract class TemplatesIntonationAccountTestCase extends TemplatesIntonationTestCase { + protected $_mock_emprunts, $_emprunteur; public function setUp() { parent::setUp(); @@ -2131,8 +2132,9 @@ abstract class TemplatesIntonationAccountTestCase extends TemplatesIntonationTes 'libelle' => 'Istres', 'id_origine' => 'IST']); - $emprunteur = new Class_WebService_SIGB_Emprunteur('1234', 'Florence'); - $emprunteur + + $this->_emprunteur = new Class_WebService_SIGB_Emprunteur('1234', 'Florence'); + $this->_emprunteur ->setLibraryCode('IST') ->empruntsAddAll([$potter, $alice]) ->reservationsAddAll([$dobby]); @@ -2143,7 +2145,7 @@ abstract class TemplatesIntonationAccountTestCase extends TemplatesIntonationTes ->setIdabon(123456) ->setDateFin('2020/01/01') ->setFicheSigb(['type_comm' => 2, - 'fiche' => $emprunteur, + 'fiche' => $this->_emprunteur, 'erreur' => '']) ->setPseudo('Paul') ->beAbonneSIGB(); @@ -2401,28 +2403,31 @@ class TemplatesDispatchAbonneInformationsTest extends TemplatesIntonationAccount + class TemplatesDispatchAbonneLoansTest extends TemplatesIntonationAccountTestCase { - /** @test */ - public function loanAliceShouldBeDisplay() { + public function setUp() { + parent::setUp(); $this->dispatch('/opac/abonne/prets/id_profil/72'); - $this->assertXPathContentContains('//div', 'Alice'); } /** @test */ - public function shouldContainsLoanAlice() { - $this->dispatch('/opac/abonne/ajax-loans/id_profil/72'); - $this->assertXPathContentContains('//div', 'Alice'); + public function pageShouldContainsScriptToAjaxLoadLoans() { + $this->assertXPathContentContains('//script', 'load("/abonne/ajax-loans/id_profil/72'); } /** @test */ - public function shouldContainsLoanDrHouse() { - $this->dispatch('/opac/abonne/ajax-loans/id_profil/72'); - $this->assertXPathContentContains('//div', 'Dr House'); + public function pageShouldContainsSpinnerAsLoadingIcon() { + $this->assertXPath('//div[@class="loading_icon spinner-border"]'); } +} + + + +class TemplatesDispatchAbonneLoansPaginatedTest extends TemplatesIntonationAccountTestCase { /** @test */ public function page2ShouldContainsSearchInputWithMd5Key() { Storm_Cache::beVolatile(); @@ -2537,6 +2542,164 @@ class TemplatesDispatchAbonneLoansTest extends TemplatesIntonationAccountTestCas +class TemplatesDispatchAbonneAjaxLoansTest extends TemplatesIntonationAccountTestCase { + public function setUp(){ + parent::setUp(); + $this->dispatch('/opac/abonne/ajax-loans/id_profil/72'); + } + + /** @test */ + public function ajaxLoanAliceShouldDisplayButtonToutProlonger() { + $this->assertXPathContentContains('//div[contains(@class,"button_text")]', 'Tout prolonger'); + } + + + /** @test */ + public function shouldContainsLoanAlice() { + $this->assertXPathContentContains('//div', 'Alice'); + } + + + /** @test */ + public function shouldContainsLoanDrHouse() { + $this->assertXPathContentContains('//div', 'Dr House'); + } + + + /** @test */ + public function ajaxLoansShouldNotDisplayTitleHistoriqueDesPrets() { + $this->assertNotXPathContentContains('//h3', 'Historique des prêts'); + } + + + /** @test */ + public function shouldNotContainsLoanHistoryPottifar() { + $this->assertNotXPathContentContains('//div', 'Pottifar'); + } +} + + + + + +class TemplatesDispatchAbonneMonHistoriqueTest extends TemplatesIntonationAccountTestCase { + public function setUp(){ + parent::setUp(); + + $pottifar_old = new Class_WebService_SIGB_LoansHistory($this->_emprunteur); + $notice_unimarc = (new Class_NoticeUnimarc_Fluent); + $notice_unimarc->newZone()->label('200')->addChild('a', 'Pottifar'); + + $notice = $this->fixture('Class_Notice', + ['id' => 890, + 'clef_alpha' => 'MYSUPERkey', + 'unimarc' => $notice_unimarc->render(), + 'facettes' => 'M8897 T1 B3 A18 Lfre']); + + $exemplaire = $this->fixture('Class_Exemplaire', + ['id' => 891, + 'id_origine' => 1234, + 'code_barres' => 456, + 'id_int_bib' => 1, + 'zone995' => serialize([['clef' => 'a', 'valeur' => 'PottifarItem']]), + 'notice' => $notice]); + + $pottifar_old_issue = new Class_WebService_SIGB_Emprunt('42', new Class_WebService_SIGB_Exemplaire(456)); + $pottifar_old_issue + ->setCodeBarre(456) + ->setDateRetour('10/01/1981') + ->setIssueDate('1981-01-01') + ->beReturned() + ->getExemplaire() + ->setTitre('Pottifar') + ->setExemplaireOPAC($exemplaire) + ->setNoticeOPAC($notice); + + $pottifar_old->addLoan($pottifar_old_issue); + + $this->_mock_emprunts = $this->mock() + ->whenCalled('loansHistory') + ->answers($pottifar_old) + ->whenCalled('getLoansPerPage') + ->answers(3) + ->whenCalled('providesPagedLoans') + ->answers(false); + + $this->_emprunteur->setService($this->_mock_emprunts); + + $this->dispatch('/opac/abonne/prets/history/1/id_profil/72'); + } + + + + /** @test */ + public function pageShouldDisplayTitleMonHistoriqueDePrets() { + $this->assertXPathContentContains('//h2//span', 'Mon historique de prêts', $this->_response->getBody()); + } +} + + + + +class TemplatesDispatchAbonneLoansWithHistoryTest extends TemplatesIntonationAccountTestCase { + public function setUp(){ + parent::setUp(); + + $pottifar_old = new Class_WebService_SIGB_LoansHistory($this->_emprunteur); + $notice_unimarc = (new Class_NoticeUnimarc_Fluent); + $notice_unimarc->newZone()->label('200')->addChild('a', 'Pottifar'); + + $notice = $this->fixture('Class_Notice', + ['id' => 890, + 'clef_alpha' => 'MYSUPERkey', + 'unimarc' => $notice_unimarc->render(), + 'facettes' => 'M8897 T1 B3 A18 Lfre']); + + $exemplaire = $this->fixture('Class_Exemplaire', + ['id' => 891, + 'id_origine' => 1234, + 'code_barres' => 456, + 'id_int_bib' => 1, + 'zone995' => serialize([['clef' => 'a', 'valeur' => 'PottifarItem']]), + 'notice' => $notice]); + + $pottifar_old_issue = new Class_WebService_SIGB_Emprunt('42', new Class_WebService_SIGB_Exemplaire(456)); + $pottifar_old_issue + ->setCodeBarre(456) + ->setDateRetour('10/01/1981') + ->setIssueDate('1981-01-01') + ->beReturned() + ->getExemplaire() + ->setTitre('Pottifar') + ->setExemplaireOPAC($exemplaire) + ->setNoticeOPAC($notice); + + $pottifar_old->addLoan($pottifar_old_issue); + + $this->_mock_emprunts = $this->mock() + ->whenCalled('loansHistory') + ->answers($pottifar_old) + ->whenCalled('getLoansPerPage') + ->answers(3) + ->whenCalled('saveEmprunteur') + ->answers(null) + ->whenCalled('providesPagedLoans') + ->answers(false); + + $this->_emprunteur->setService($this->_mock_emprunts); + + + $this->dispatch('/opac/abonne/ajax-loans/history/1/id_profil/72'); + } + + + /** @test */ + public function pageShouldContainsPottifar() { + $this->assertXPathContentContains('//div','Pottifar', $this->_response->getBody()); + } +} + + class TemplatesDispatchAbonneHoldsTest extends TemplatesIntonationAccountTestCase { /** @test */ public function holdsDobbyPotterShouldBeDisplay() { diff --git a/tests/scenarios/Templates/TemplatesWidgetInMenusTest.php b/tests/scenarios/Templates/TemplatesWidgetInMenusTest.php new file mode 100644 index 0000000000000000000000000000000000000000..473b8e2eeeaa4700dd500614f481288f31ae0d94 --- /dev/null +++ b/tests/scenarios/Templates/TemplatesWidgetInMenusTest.php @@ -0,0 +1,47 @@ +<?php +/** + * Copyright (c) 2012-2020, Agence Française Informatique (AFI). All rights reserved. + * + * BOKEH is free software; you can redistribute it and/or modify + * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by + * the Free Software Foundation. + * + * There are special exceptions to the terms and conditions of the AGPL as it + * is applied to this software (see README file). + * + * BOKEH is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE + * along with BOKEH; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +require_once 'TemplatesTest.php'; + +/** @see http://forge.afi-sa.fr/issues/116552 */ +class TemplatesWidgetInMenusNewsletterLoggedOutTest extends TemplatesIntonationTestCase { + + /** @test */ + public function pageShouldContainswidgetNewsletterInMenu() { + // widgets in menu is an activable feature, otherwise widget are ignored in menu rendering + Class_AdminVar::set('MENU_BOITE', 1); + + (new Class_Profil_Import($this->fixture('Class_Profil', ['id' => 7]))) + ->import(__DIR__ . '/116552_profile_widget_in_menu.json'); + + $this->fixture('Class_Newsletter', + ['id' => 42, + 'titre' => 'The answer', + 'mail_subject' => 'The answer']); + + ZendAfi_Auth::getInstance()->clearIdentity(); + $this->dispatch('/opac/index/index/id_profil/7'); + + $this->assertXPathContentContains('//li[@class="nav-item"]//div[@id="boite_3-0"]//div[contains(@class, "widget-header")]', + 'Lettre d\'information : je m\'abonne', + $this->_response->getBody()); + } +} diff --git a/tests/scenarios/Templates/TemplatesWidgetTest.php b/tests/scenarios/Templates/TemplatesWidgetTest.php index 821e8da0888d4a2736c049302e4cd401a75a76e0..33a16be543721331adea02960e97d55a968428af 100644 --- a/tests/scenarios/Templates/TemplatesWidgetTest.php +++ b/tests/scenarios/Templates/TemplatesWidgetTest.php @@ -150,6 +150,14 @@ class TemplatesDispatchWidgetRenderAllTest extends TemplatesIntonationTestCase { $this->dispatch('/opac/widget/render-all/profile_id/72/widget_id/' . $widget_id); $this->assertXPath($dom, $this->_response->getBody()); } + + + /** @test */ + public function renderWidgetAgendaShouldDisplayRSSLink() { + $this->dispatch('/opac/widget/render-all/profile_id/72/widget_id/21'); + $this->assertXPath('//button[contains(@title, "Flux RSS de la boite")][contains(@onclick, "/cms/calendarrss?id_module=21&id_profil=72")]', $this->_response->getBody()); + } + } diff --git a/tests/scenarios/Widgets/WidgetsTest.php b/tests/scenarios/Widgets/WidgetsTest.php index 01b776a4ec7d4a12e23eb81cd9c506e038edd1f6..3efe03bffc0c58b857a8c94f1a0c7f98f5f6b06a 100644 --- a/tests/scenarios/Widgets/WidgetsTest.php +++ b/tests/scenarios/Widgets/WidgetsTest.php @@ -211,13 +211,16 @@ class WidgetsEditNavEntryPostDispatchTest extends WidgetsNavSimpleTestCase { /** @test */ public function profilShouldContainsLinkToProfil() { - $this->postDispatch('admin/widget/edit-menu/id/1/id_profil/2/parent/H', ['libelle' => 'home', - 'picto' => 'home.gif', - 'clef_profil' => '25']); - $this->assertEquals('PROFIL', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['type_menu']); - $this->assertEquals('1', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['id_module']); - $this->assertEquals('25', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['clef_profil']); - $this->assertEquals('25', Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]['preferences']['clef_profil']); + $this->postDispatch('admin/widget/edit-menu/id/1/id_profil/2/parent/H', + ['libelle' => 'home', + 'picto' => 'home.gif', + 'clef_profil' => '25']); + + $menu = Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[1]; + + $this->assertEquals('PROFIL', $menu['type_menu']); + $this->assertEquals('1', $menu['id_module']); + $this->assertEquals('25', $menu['preferences']['clef_profil']); } @@ -252,24 +255,20 @@ class WidgetsEditNavEntryPostDispatchTest extends WidgetsNavSimpleTestCase { /** @test */ public function profilShouldContainsLinkToProfilAgenda() { - $this->postDispatch('admin/widget/edit-menu/id/4/id_profil/2/parent/H', ['libelle' => 'agenda', - 'picto' => 'agenda.svg', - 'clef_profil' => '7']); + $this->postDispatch('admin/widget/edit-menu/id/4/id_profil/2/parent/H', + ['libelle' => 'agenda', + 'picto' => 'agenda.svg', + 'clef_profil' => '7']); + + $menu = Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[3]['sous_menus'][4]; + $this->assertEquals(['type_menu' => 'PROFIL', - 'type_module' => 'PROFIL', 'action' => '', 'libelle' => 'agenda', 'picto' => 'agenda.svg', - 'clef_profil' => '7', - 'preferences' => ['clef_profil' => '7', - 'type_module' => 'PROFIL', - 'type_menu' => 'PROFIL', - 'id_module' => '4', - 'libelle' => 'agenda', - 'picto' => 'agenda.svg', - 'action' => ''], + 'preferences' => ['clef_profil' => '7'], 'id_module' => 4], - Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[3]['sous_menus'][4]); + $menu); } } @@ -372,19 +371,12 @@ class WidgetsNavMenuPostTest extends Admin_AbstractControllerTestCase { /** @test */ public function profilShouldHaveBeenUpdated() { $this->assertEquals(['type_menu' => 'PROFIL', - 'type_module' => 'PROFIL', 'action' => '', 'libelle' => 'new profil', 'picto' => 'home.gif', - 'preferences' => ['clef_profil' => '4', - 'type_module' => 'PROFIL', - 'type_menu' => 'PROFIL', - 'id_module' => '1', - 'libelle' => 'new profil', - 'picto' => 'home.gif', - 'action' => ''], - 'id_module' => 1, - 'clef_profil' => '4'], Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[0]['sous_menus'][1]); + 'preferences' => ['clef_profil' => '4'], + 'id_module' => 1], + Class_Profil::getCurrentProfil()->getCfgMenuHorizontal()[0]['sous_menus'][1]); } }