Explorar el Código

#1602 Profiles based modules: 'view ...' permission isn't working properly

Alex Trofimov hace 8 años
padre
commit
5dca21c3dc

+ 4 - 3
modules/base/general/classes/BxBaseModGeneralPageEntry.php

@@ -45,6 +45,10 @@ class BxBaseModGeneralPageEntry extends BxTemplPage
             exit;
         }
 
+        $oCover = BxDolCover::getInstance($this->_oModule->_oTemplate);        
+        if ($oCover)
+            $oCover->setCoverClass($this->_sCoverClass);
+
         // permissions check 
         $this->_processPermissionsCheck ();
 
@@ -54,9 +58,6 @@ class BxBaseModGeneralPageEntry extends BxTemplPage
             BxDolView::getObjectInstance($CNF['OBJECT_VIEWS'], $this->_aContentInfo[$CNF['FIELD_ID']])->doView();
         }
 
-        $oCover = BxDolCover::getInstance($this->_oModule->_oTemplate);
-        $oCover->setCoverClass($this->_sCoverClass);
-
         // set cover image
         $mixedCover = method_exists($this, '_getImageForPageCover') ? $this->_getImageForPageCover() : $this->_getThumbForMetaObject();
         if($mixedCover !== false) {

+ 4 - 2
modules/base/profile/classes/BxBaseModProfileTemplate.php

@@ -170,6 +170,8 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
     function setCover ($oPage, $aData, $sTemplateName = 'cover.html')
     {
         $CNF = &$this->_oConfig->CNF;
+        
+        $bProfileViewAllowed = CHECK_ACTION_RESULT_ALLOWED === $this->getModule()->checkAllowedView($aData);
 
         if (CHECK_ACTION_RESULT_ALLOWED !== $this->getModule()->checkAllowedViewProfileImage($aData)) {
             $CNF = &$this->_oConfig->CNF;
@@ -207,7 +209,7 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
 
         $sCoverPopup = '';
         $sCoverPopupId = $this->MODULE . '-popup-cover';
-        if ($aData[$CNF['FIELD_COVER']]) {
+        if ($bProfileViewAllowed && $aData[$CNF['FIELD_COVER']]) {
             $sCoverPopup = BxTemplFunctions::getInstance()->transBox($sCoverPopupId, $this->parseHtmlByName('image_popup.html', array (
                 'image_url' => $sUrlCover,
                 'bx_if:owner' => array (
@@ -221,7 +223,7 @@ class BxBaseModProfileTemplate extends BxBaseModGeneralTemplate
 
         $sPicturePopup = '';
         $sPicturePopupId = $this->MODULE . '-popup-picture';
-        if ($aData[$CNF['FIELD_PICTURE']]) {
+        if ($bProfileViewAllowed && $aData[$CNF['FIELD_PICTURE']]) {
             $sPicturePopup = BxTemplFunctions::getInstance()->transBox($sPicturePopupId, $this->parseHtmlByName('image_popup.html', array (
                 'image_url' => $sUrlPicture,
                 'bx_if:owner' => array (