public function isPublic() {
    $allowsAllHosts = FALSE;
    $allowsRListings = FALSE;
    foreach ($this->rules as $rule) {
      if (self::READ & $rule['mask']) {
        if (!empty($rule['rlistings'])) {
          $allowsRListings = TRUE;
        }
        elseif(!empty($rule['host']) && trim($rule['host']) == '*') {
          $allowsAllHosts = TRUE;
        }
      }
    }
    return $allowsAllHosts && $allowsRListings;
  }
public function isPublic() {
    $allowsAllHosts = FALSE;
    $allowsRListings = FALSE;
    foreach ($this->rules as $rule) {
      if (self::READ & $rule['mask']) {
        if (!empty($rule['rlistings'])) {
          $allowsRListings = TRUE;
        }
        elseif(!empty($rule['host']) && trim($rule['host']) == '*') {
          $allowsAllHosts = TRUE;
        }
      }
    }
    return $allowsAllHosts && $allowsRListings;
  }
public function isPublic ( ) { $ allowsAllHosts = FALSE ; $ allowsRListings = FALSE ; foreach ( $ this -> rules as $ rule ) { if ( self :: READ & $ rule [ 'mask' ] ) { if ( ! empty ( $ rule [ 'rlistings' ] ) ) { $ allowsRListings = TRUE ; } elseif ( ! empty ( $ rule [ 'host' ] ) && trim ( $ rule [ 'host' ] ) == '*' ) { $ allowsAllHosts = TRUE ; } } } return $ allowsAllHosts && $ allowsRListings ; }
Check whether this object allows public reading.

This will return TRUE the ACL allows (a) any host to access
the item, and (b) it allows container listings.

This checks whether the object allows public reading,
not whether it is ONLY allowing public reads.

See ACL::makePublic().
Check whether this object allows public reading .