From eff2553955f0c6c166584df9f23608adfd4ed2df Mon Sep 17 00:00:00 2001 From: songchenxuan Date: Wed, 4 Sep 2024 16:43:16 +0800 Subject: [PATCH] [task#127509,done,0.5h]. --- module/pivot/model.php | 19 +++++++++++++++++++ module/pivot/zen.php | 1 + 2 files changed, 20 insertions(+) diff --git a/module/pivot/model.php b/module/pivot/model.php index 3669fcd7a5..33887613fe 100644 --- a/module/pivot/model.php +++ b/module/pivot/model.php @@ -23,6 +23,25 @@ class pivotModel extends model parent::__construct(); $this->loadBIDAO(); $this->loadModel('bi'); + $this->viewableObjects = $this->bi->getViewableObject('pivot'); + } + + /** + * 过滤不可见的透视表。 + * Filter invisible pivot. + * + * @param array $pivots + * @access public + * @return array + */ + public function filterInvisiblePivot($pivots) + { + foreach($pivots as $index => $pivot) + { + if(!in_array($pivot->id, $this->viewableObjects)) unset($pivots[$index]); + } + + return array_values($pivots); } /* diff --git a/module/pivot/zen.php b/module/pivot/zen.php index bc9f0a0e0f..48f066675d 100644 --- a/module/pivot/zen.php +++ b/module/pivot/zen.php @@ -86,6 +86,7 @@ class pivotZen extends pivot if($this->config->edition == 'open' && $group->grade == 1) continue; $pivots = $this->pivot->getAllPivotByGroupID($group->id); + $pivots = $this->pivot->filterInvisiblePivot($pivots); if(empty($pivots)) continue; if($group->grade > 1) $menus[] = (object)array('id' => $group->id, 'parent' => 0, 'name' => $group->name);