public function check_authorizations(Category $category) { $nbr_bits = count($this->authorizations_bits); if ($nbr_bits == 0) { return true; } else { $authorized_bits = array(); foreach ($this->authorizations_bits as $bit) { if ($this->allow_only_member_level_authorizations && Authorizations::check_auth(RANK_TYPE, User::MEMBER_LEVEL, $category->get_authorizations(), $bit) || $category->check_auth($bit)) { $authorized_bits[] = $bit; } } $nbr_authorized_bits = count($authorized_bits); if ($this->check_all_bits) { return $nbr_authorized_bits == $nbr_bits; } else { return $nbr_authorized_bits >= 1; } } }