/** * @param Person $person * @return bool */ public function allowsDisplay($person) { if (!$person instanceof Person) { return $this->getDisplayPermissionLevel() == 'anonymous'; } elseif ($person->getRole() != 'Staff' && $person->getRole() != 'Administrator') { return in_array($this->getDisplayPermissionLevel(), array('public', 'anonymous')); } return true; }
/** * @param Person $person * @return bool */ public function allowsPosting(Person $person = null) { if (!$person) { return $this->getPostingPermissionLevel() === 'anonymous'; } elseif ($person->getRole() !== 'Staff' && $person->getRole() !== 'Administrator') { return in_array($this->getPostingPermissionLevel(), ['public', 'anonymous']); } return true; }