diff --git a/VERSIONS_HOTLINE/45558 b/VERSIONS_HOTLINE/45558 new file mode 100644 index 0000000000000000000000000000000000000000..0ee08f8c30fd950265e77e5b473d45fbb5b6a1ea --- /dev/null +++ b/VERSIONS_HOTLINE/45558 @@ -0,0 +1 @@ + - ticket #45558 : Lille: boites qui sautent en sauvegardant le profil \ No newline at end of file diff --git a/application/modules/admin/controllers/ProfilController.php b/application/modules/admin/controllers/ProfilController.php index 0730553caeffda7800be04f7f5fa876e2d0a7eb1..96796e3522593d0ce595a89bb4c80fa8adb19801 100644 --- a/application/modules/admin/controllers/ProfilController.php +++ b/application/modules/admin/controllers/ProfilController.php @@ -235,9 +235,9 @@ class Admin_ProfilController extends ZendAfi_Controller_Action { return $enreg; $profil = Class_Profil::find($this->id_profil); // Decoupage des modules - $modules = explode(';box',$cfg_module); + $modules = array_filter(explode(';box',$cfg_module)); foreach ($modules as $module) { - $elem=explode('|',$module); + $elem = explode('|', $module); $division=substr($elem[0],-1); $id_module=$elem[1]; @@ -259,7 +259,9 @@ class Admin_ProfilController extends ZendAfi_Controller_Action { $preferences[$names_vals[0]]=$names_vals[1]; } } - $enreg["modules"][$id_module]=compact("division","type_module","preferences"); + $enreg["modules"][$id_module]=compact("division", + "type_module", + "preferences"); } return $enreg; } @@ -311,7 +313,7 @@ class Admin_ProfilController extends ZendAfi_Controller_Action { $profil->setLibelle($this->_getParam('libelle', $profil->getLibelle())); - $cfg_module = $this->_getParam('saveContent'); + $cfg_module = urldecode($this->_getParam('saveContent')); $enreg = $this->_parseSaveContentString($cfg_module); $enreg["use_parent_css"] = $this->_getParam('use_parent_css', $profil->getUseParentCss()); diff --git a/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php b/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php index c0d543ca18f103a5aa03b85246eb006dce43824e..46a3895e4cb22e8ee1e70cb6379d3c272b78add7 100644 --- a/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php +++ b/tests/application/modules/admin/controllers/ProfilControllerPageAccueilTest.php @@ -18,7 +18,6 @@ * along with BOKEH; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -require_once 'AdminAbstractControllerTestCase.php'; abstract class Admin_ProfilControllerPageAccueilJeunesseTestCase extends Admin_AbstractControllerTestCase { public function setUp() { @@ -879,13 +878,15 @@ class Admib_ProfilControllerPageAccueilWithWidgetInBannerPostDispatchTest extend /** @test */ public function afterDeleteNewsWidgetShouldNotBePresent() { - $this->assertFalse(array_key_exists(1, Class_Profil::find(3)->getBoitesDivision(Class_Profil::DIV_BANNIERE))); + $this->assertFalse(array_key_exists(1, + Class_Profil::find(3)->getBoitesDivision(Class_Profil::DIV_BANNIERE))); } /** @test */ public function afterDeleteOnlyOneLoginWidgetShouldBePresent() { - $this->assertFalse(array_key_exists(4, Class_Profil::find(3)->getBoitesDivision(Class_Profil::DIV_BANNIERE))); + $this->assertFalse(array_key_exists(4, + Class_Profil::find(3)->getBoitesDivision(Class_Profil::DIV_BANNIERE))); } } @@ -909,7 +910,7 @@ class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_Ab $this->fixture('Class_AdminVar',['id'=>'MENU_BOITE', 'valeur' => 1]); - $cfg_module = "box1|2|NEWS|titre=Articles/type_aff=1/id_categorie=/id_items=/nb_aff=1/nb_analyse=5/display_order=Selection/display_titles_only=/rss_avis=1/op_largeur_img=200/op_hauteur_boite=400/boite=/=/;box1|3|NEWS|titre=Articles/type_aff=1/id_categorie=/id_items=/nb_aff=1/nb_analyse=5/display_order=Selection/display_titles_only=/rss_avis=1/op_largeur_img=200/op_hauteur_boite=400/boite=/=/;box1|1|KIOSQUE|titre=Kiosque/style_liste=slide_show/nb_notices=20/only_img=1/aleatoire=1/tri=1/nb_analyse=50/op_hauteur_img=0/op_transition=/op_largeur_img=0/op_hauteur_boite=0/op_captions=0/op_autoplay=0/op_visible=0/op_speed=0/op_auto=0/op_scroll=1/rss_avis=1/id_catalogue=0/id_panier=0/profil_redirect=/boite=/=/;box1|4|KIOSQUE|titre=Kiosque/style_liste=slide_show/nb_notices=20/only_img=1/aleatoire=1/tri=1/nb_analyse=50/op_hauteur_img=0/op_transition=/op_largeur_img=0/op_hauteur_boite=0/op_captions=0/op_autoplay=0/op_visible=0/op_speed=0/op_auto=0/op_scroll=1/rss_avis=1/id_catalogue=0/id_panier=0/profil_redirect=/boite=/=/;box2|8|MENU_VERTICAL|menu=V/afficher_titre=1/menu_deplie=0/new_html=0/boite=/titre=/=/;box2|5|MENU_VERTICAL|menu=V/afficher_titre=1/menu_deplie=0/new_html=0/boite=/titre=/=/;box3|10|PANIER|titre=Panier/boite=/=/;box3|new|PANIER|;box4|6|LOGIN|titre=Mon compte lecteur/titre_connecte=/identifiant=N° de carte/identifiant_exemple=/mot_de_passe=Année de naissance/mot_de_passe_exemple=/lien_connexion=Se connecter/lien_mot_de_passe_oublie=» Mot de passe oublié ?/lien_creer_compte=» S'enregistrer/message_connecte=Bienvenue/lien_compte=Mon compte/lien_deconnection=Se déconnecter/autocomplete_off=1/profil_redirect=/profil_logout_redirect=/boite=boite_banniere_droite/"; + $cfg_module = "box1|2|NEWS|titre=Articles---type_aff=1---id_categorie=---id_items=---nb_aff=1---nb_analyse=5---display_order=Selection---display_titles_only=---rss_avis=1---op_largeur_img=200---op_hauteur_boite=400---boite=---=---;box1|3|NEWS|titre=Articles---type_aff=1---id_categorie=---id_items=---nb_aff=1---nb_analyse=5---display_order=Selection---display_titles_only=---rss_avis=1---op_largeur_img=200---op_hauteur_boite=400---boite=---=---;box1|1|KIOSQUE|titre=Kiosque---style_liste=slide_show---nb_notices=20---only_img=1---aleatoire=1---tri=1---nb_analyse=50---op_hauteur_img=0---op_transition=---op_largeur_img=0---op_hauteur_boite=0---op_captions=0---op_autoplay=0---op_visible=0---op_speed=0---op_auto=0---op_scroll=1---rss_avis=1---id_catalogue=0---id_panier=0---profil_redirect=---boite=---=---;box1|4|KIOSQUE|titre=Kiosque---style_liste=slide_show---nb_notices=20---only_img=1---aleatoire=1---tri=1---nb_analyse=50---op_hauteur_img=0---op_transition=---op_largeur_img=0---op_hauteur_boite=0---op_captions=0---op_autoplay=0---op_visible=0---op_speed=0---op_auto=0---op_scroll=1---rss_avis=1---id_catalogue=0---id_panier=0---profil_redirect=---boite=---=---;box2|8|MENU_VERTICAL|menu=V---afficher_titre=1---menu_deplie=0---new_html=0---boite=---titre=---=---;box2|5|MENU_VERTICAL|menu=V---afficher_titre=1---menu_deplie=0---new_html=0---boite=---titre=---=---;box3|10|PANIER|titre=Favoris---boite=---=---;box3|new|PANIER|;box4|6|LOGIN|titre=Mon compte lecteur---titre_connecte=---identifiant=N° de carte---identifiant_exemple=---mot_de_passe=Année de naissance---mot_de_passe_exemple=---lien_connexion=Se connecter---lien_mot_de_passe_oublie=» Mot de passe oublié ?---lien_creer_compte=» S'enregistrer---message_connecte=Bienvenue---lien_compte=Mon compte---lien_deconnection=Se déconnecter---autocomplete_off=1---profil_redirect=---profil_logout_redirect=---boite=boite_banniere_droite---"; $this @@ -926,5 +927,42 @@ class Admin_ProfilControllerPageAccueilWithMenuBoiteEnabledTest extends Admin_Ab $cfg_accueil = $profil->getCfgAccueilAsArray(); $this->assertCount(9, $cfg_accueil['modules']); } + + /** @test */ + public function moduleTenTitleShouldBeFavoris() { + $this->assertEquals('Favoris', + Class_Profil::find(713)->getModuleAccueilPreferences(10, 'PANIER')['titre']); + } +} + + + +class Admin_ProfilControllerPageAccueilRegression45558Test extends Admin_ProfilControllerPageAccueilJeunesseTestCase { + + public function setUp() { + parent::setUp(); + $post_cfg = 'box1|2|NEWS|menu%3D15-1---afficher_titre%3D1---menu_deplie%3D0---new_html%3D0---boite%3D---titre%3D%2A%2A+Nouvelle+bo%C3%AEte+%2A%2A---id_module%3D3---Valider%3DValider---%3D'; + + + $this->fixture('Class_Profil', ['id' => 23, + 'libelle' => 'My page']); + $this->postDispatch('/admin/profil/accueil/id_profil/23', + ['saveContent' => $post_cfg]); + } + + + /** @test */ + public function menuWidgetTitleShouldBeNouvelleBoite() { + $this->assertEquals('** Nouvelle boîte **', + Class_Profil::find(23)->getModuleAccueilPreferences(2, 'MENU')['titre']); + } + + + /** @test */ + public function menuWidgetAfficherTitreShouldBeOne() { + $this->assertEquals('1', + Class_Profil::find(23)->getModuleAccueilPreferences(2, 'MENU')['afficher_titre']); + } } + ?> \ No newline at end of file