From 782d1114bf172003badd1e7bedef68e239cea087 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 9 Nov 2021 13:47:30 +0800 Subject: [PATCH] Finish task #43918. --- module/program/model.php | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/module/program/model.php b/module/program/model.php index ad178baecb..e210fa58b7 100644 --- a/module/program/model.php +++ b/module/program/model.php @@ -453,21 +453,26 @@ class programModel extends model if($this->cookie->involved or $involved) { - $stakeholder = $this->dao->select('objectID,user')->from(TABLE_STAKEHOLDER) + $stakeholderGroup = $this->dao->select('objectID,user')->from(TABLE_STAKEHOLDER) ->where('deleted')->eq('0') ->andWhere('objectID')->in(array_keys($projectList)) ->fetchGroup('objectID', 'user'); - $teamMembers = $this->dao->select('root,account')->from(TABLE_TEAM) + + $teamMembersGroup = $this->dao->select('root,account')->from(TABLE_TEAM) ->where('root')->in(array_keys($projectList)) ->fetchGroup('root','account'); + foreach($projectList as $id => $project) { $whitelist = explode(",", $project->whitelist); - if($project->openedBy != $this->app->user->account and $project->PM != $this->app->user->account and !in_array($this->app->user->account, $whitelist) and !isset($teamMembers[$project->id][$this->app->user->account]) and !isset($stakeholder[$project->id][$this->app->user->account])) - { - unset($projectList[$id]); - $pager->recTotal -= 1; - } + if($project->openedBy == $this->app->user->account) continue; + if($project->PM == $this->app->user->account) continue; + if(!in_array($this->app->user->account, $whitelist)) continue; + if(!isset($teamMembers[$project->id][$this->app->user->account])) continue; + if(!isset($stakeholder[$project->id][$this->app->user->account])) continue; + + unset($projectList[$id]); + $pager->recTotal -= 1; } }