/** * Provides a list of environments found in this project. * CAUTION: filterByCallback will change this into an ArrayList! * * @return ArrayList */ public function DNEnvironmentList() { if (!self::$_current_member_cache) { self::$_current_member_cache = Member::currentUser(); } if (self::$_current_member_cache === false) { return new ArrayList(); } $currentMember = self::$_current_member_cache; return $this->Environments()->filterByCallBack(function ($item) use($currentMember) { return $item->canView($currentMember); }); }