From 2810c05c081ed9dbdd3125488d139c6bac811670 Mon Sep 17 00:00:00 2001
From: gloas <gloas@afi-sa.fr>
Date: Thu, 6 Apr 2017 11:46:28 +0200
Subject: [PATCH] CIP #57952 fix rt comments

---
 .../admin/controllers/WidgetController.php    |  9 ++---
 library/Class/Admin/Skin.php                  | 33 ++++++++++---------
 .../ModulesAccueil/ConteneurDeuxColonnes.php  |  4 +--
 library/Class/Users.php                       | 15 +++++++++
 .../ZendAfi/View/Helper/Admin/RenderForm.php  | 13 ++++++--
 library/ZendAfi/View/Helper/TagEditMenu.php   |  2 +-
 public/opac/skins/original/css/global.css     |  2 +-
 7 files changed, 50 insertions(+), 28 deletions(-)

diff --git a/application/modules/admin/controllers/WidgetController.php b/application/modules/admin/controllers/WidgetController.php
index 5cd96bea56e..d8c186186d8 100644
--- a/application/modules/admin/controllers/WidgetController.php
+++ b/application/modules/admin/controllers/WidgetController.php
@@ -24,13 +24,8 @@ class Admin_WidgetController extends ZendAfi_Controller_Action {
   public function preDispatch() {
     parent::preDispatch();
 
-    $user = Class_Users::getIdentity();
-    $profil = Class_Profil::find($this->_getParam('id_profil', 1));
-
-
-    if((!$user->isAdminBib() && !$user->hasRightConfigFront())
-        || ($user->isAdminBib() && ($user->getIdSite() !== $profil->getIdSite())))
-       $this->_redirectClose($this->_getReferer());
+    if(!Class_Users::isCurrentUserAllowedToEditProfile($this->_getParam('id_profil', 1)))
+      $this->_redirectClose($this->_getReferer());
   }
 
 
diff --git a/library/Class/Admin/Skin.php b/library/Class/Admin/Skin.php
index 05da59352a7..0599f9e7647 100644
--- a/library/Class/Admin/Skin.php
+++ b/library/Class/Admin/Skin.php
@@ -39,8 +39,8 @@ class Class_Admin_Skin {
 
   public static function current() {
     $user = Class_Users::getIdentity()
-             ? Class_Users::getIdentity()
-             : new Class_Users();
+      ? Class_Users::getIdentity()
+      : new Class_Users();
 
     return $user->getAdminSkin();
   }
@@ -136,36 +136,39 @@ class Class_Admin_Skin {
 
 
   public function renderButtonCssOn($script_loader) {
-    $script_loader
-      ->addStyleSheets(array_merge([$this->_getSkinUrl() . 'buttons.css'],
-                                   $this->_getBaseStyleSheets()));
-    return $this;
+    return $this->_renderCssOn($script_loader, 'buttons.css');
   }
 
 
   public function renderFormCssOn($script_loader) {
-    $script_loader
-      ->addStyleSheets(array_merge([$this->_getSkinUrl() . 'form.css'],
-                                   $this->_getBaseStyleSheets()));
-    return $this;
+    return $this->_renderCssOn($script_loader, 'form.css');
   }
 
 
   public function renderJQueryCssOn($script_loader) {
+    return $this->_renderCssOn($script_loader, 'jquery.css');
+  }
+
+
+  protected function _renderCssOn($script_loader, $css) {
     $script_loader
-      ->addStyleSheets(array_merge([$this->_getSkinUrl() . 'jquery.css'],
-                                   $this->_getBaseStyleSheets()));
+      ->addStyleSheets($this->_addColorsCss($css));
     return $this;
   }
 
 
   public function getStyleSheets() {
-    return array_merge([$this->_getSkinUrl() . 'global.css'],
-                       $this->_getBaseStyleSheets());
+    return $this->_addColorsCss('global.css');
+  }
+
+
+  protected function _addColorsCss($css) {
+    return array_merge([$this->_getSkinUrl() . $css],
+                       $this->_getColorsStyleSheets());
   }
 
 
-  protected function _getBaseStyleSheets() {
+  protected function _getColorsStyleSheets() {
     return array_filter([$this->_getSkinUrl() . 'colors.css',
                          ($this->_color
                           ? $this->_getSkinUrl() . static::ADMIN_COLORS_FOLDER . $this->_color
diff --git a/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php b/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php
index 67f8b9ffcb2..b55eb250340 100644
--- a/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php
+++ b/library/Class/Systeme/ModulesAccueil/ConteneurDeuxColonnes.php
@@ -75,9 +75,9 @@ class Class_Systeme_ModulesAccueil_ConteneurDeuxColonnes extends Class_Systeme_M
 
 
   public static function getOrCreateModuleForCol($profil, $id, $type_module, $colonne) {
-    if(!$id = $profil->getModuleIdFromCol($id, $type_module, $colonne)) {
+    if(!$id = $profil->getModuleIdFromCol($id, $type_module, $colonne))
       return $profil->createNewModuleAccueilId(1000);
-    }
+
     return $id;
   }
 
diff --git a/library/Class/Users.php b/library/Class/Users.php
index 5adf61f55ec..0eb87aecdbc 100644
--- a/library/Class/Users.php
+++ b/library/Class/Users.php
@@ -201,6 +201,21 @@ class UsersLoader extends Storm_Model_Loader {
   }
 
 
+  public function isCurrentUserAllowedToEditProfile($profile_id) {
+    if(!$profile = Class_Profil::find($profile_id))
+      return false;
+
+    if(!$user = $this->getIdentity())
+      return false;
+
+    if((!$user->isAdminBib() && !$user->hasRightConfigFront())
+       || ($user->isAdminBib() && ($user->getIdSite() !== $profile->getIdSite())))
+      return false;
+
+    return true;
+  }
+
+
   /**
    * @param Class_Article
    * @return bool
diff --git a/library/ZendAfi/View/Helper/Admin/RenderForm.php b/library/ZendAfi/View/Helper/Admin/RenderForm.php
index b6ca3ca9fb4..2d7ea5d7730 100644
--- a/library/ZendAfi/View/Helper/Admin/RenderForm.php
+++ b/library/ZendAfi/View/Helper/Admin/RenderForm.php
@@ -31,13 +31,22 @@ class ZendAfi_View_Helper_Admin_RenderForm extends ZendAfi_View_Helper_RenderFor
       $form->setAttrib('id', md5(implode($form->getElementsNames())));
 
     Class_ScriptLoader::getInstance()->formToTabs('#' . $form->getId());
-    Class_Admin_Skin::current()->renderFormCssOn(Class_ScriptLoader::getInstance());
-    Class_Admin_Skin::current()->renderJQueryCssOn(Class_ScriptLoader::getInstance());
+
+    $this->_customizeRendering();
 
     return parent::renderForm($form, $buttons);
   }
 
 
+  protected function _customizeRendering() {
+    Class_Admin_Skin::current()
+      ->renderFormCssOn(Class_ScriptLoader::getInstance())
+      ->renderJQueryCssOn(Class_ScriptLoader::getInstance());
+
+    return $this;
+  }
+
+
   protected function _cloneButtons($form) {
     if($this->view->isPopup())
       return '';
diff --git a/library/ZendAfi/View/Helper/TagEditMenu.php b/library/ZendAfi/View/Helper/TagEditMenu.php
index d13d1984380..022964ab452 100644
--- a/library/ZendAfi/View/Helper/TagEditMenu.php
+++ b/library/ZendAfi/View/Helper/TagEditMenu.php
@@ -22,7 +22,7 @@
 
 class ZendAfi_View_Helper_TagEditMenu extends ZendAfi_View_Helper_BaseHelper {
   public function tagEditMenu($menu_id, $profile_id, $parent_id = null, $params = []) {
-    if (!Class_Users::isCurrentUserCanConfigFront())
+    if (!Class_Users::isCurrentUserAllowedToEditProfile($profile_id))
       return '';
 
     $menu = new Class_Systeme_Widget_Menu();
diff --git a/public/opac/skins/original/css/global.css b/public/opac/skins/original/css/global.css
index 553ed283eda..9cf5d1c76ed 100644
--- a/public/opac/skins/original/css/global.css
+++ b/public/opac/skins/original/css/global.css
@@ -49,7 +49,7 @@ a:visited{color:#0058A5; text-decoration:none;}
 
 #menu_horizontal {
 	background: transparent url(../images/fond_titre.gif) repeat-x;
-*	height: 30px;
+	height: 30px;
 	cursor: pointer;
 
 	color: white;
-- 
GitLab