소스 검색

#3069 Massmailer visibility based on ACL

RomanL 5 년 전
부모
커밋
483dac760e
2개의 변경된 파일과 6개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 2
      modules/boonex/massmailer/classes/BxMassMailerModule.php
  2. 1 1
      modules/boonex/massmailer/install/sql/enable.sql

+ 5 - 2
modules/boonex/massmailer/classes/BxMassMailerModule.php

@@ -58,7 +58,7 @@ class BxMassMailerModule extends BxBaseModGeneralModule
     
     public function actionGetReportsData($sReportName, $sReportType, $sDateFrom, $sDateTo, $sSegment)
     {
-        if(!BxDolAcl::getInstance()->isMemberLevelInSet(128))
+        if($this->checkAllowed() !== CHECK_ACTION_RESULT_ALLOWED)
             return '';
         
         header('Content-Type: application/json');
@@ -341,6 +341,9 @@ class BxMassMailerModule extends BxBaseModGeneralModule
      */
     public function serviceTotalSubscribers ()
     {
+        if($this->checkAllowed() !== CHECK_ACTION_RESULT_ALLOWED)
+            return '';
+        
         return $this->_oTemplate->getTotalSubscribers();
     }
     
@@ -537,7 +540,7 @@ class BxMassMailerModule extends BxBaseModGeneralModule
         return $this->_oDb->getAccountsByTerms($sTerms);
     }
     
-    private function checkAllowed($isPerformAction = false)
+    public function checkAllowed($isPerformAction = false)
     {
         $aCheck = checkActionModule($this->_iProfileId, 'use massmailer', $this->getName(), $isPerformAction);
         if ($aCheck[CHECK_ACTION_RESULT] !== CHECK_ACTION_RESULT_ALLOWED)

+ 1 - 1
modules/boonex/massmailer/install/sql/enable.sql

@@ -70,7 +70,7 @@ INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `tit
 
 -- GRIDS: campaigns administration
 INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `field_id`, `field_order`, `field_active`, `paginate_url`, `paginate_per_page`, `paginate_simple`, `paginate_get_start`, `paginate_get_per_page`, `filter_fields`, `filter_fields_translatable`, `filter_mode`, `sorting_fields`, `sorting_fields_translatable`, `visible_for_levels`, `override_class_name`, `override_class_file`) VALUES
-('bx_massmailer_campaigns', 'Sql', 'SELECT * FROM `bx_massmailer_campaigns` WHERE 1 ', 'bx_massmailer_campaigns', 'id', 'added', '', '', 20, NULL, 'start', '', 'title', '', 'like', '', '', 128, 'BxMassMailerGridCampaigns', 'modules/boonex/massmailer/classes/BxMassMailerGridCampaigns.php');
+('bx_massmailer_campaigns', 'Sql', 'SELECT * FROM `bx_massmailer_campaigns` WHERE 1 ', 'bx_massmailer_campaigns', 'id', 'added', '', '', 20, NULL, 'start', '', 'title', '', 'like', '', '', 2147483647, 'BxMassMailerGridCampaigns', 'modules/boonex/massmailer/classes/BxMassMailerGridCampaigns.php');
 
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `translatable`, `chars_limit`, `params`, `order`) VALUES
 ('bx_massmailer_campaigns', 'checkbox', '_sys_select', '2%', 0, '', '', 1),