get_authors() public method

Uses , , or
Since: 1.1
public get_authors ( ) : array | null
return array | null List of {@see \SimplePie_Author} objects
Beispiel #1
0
 /**
  * Get all authors for the item
  *
  * Uses `<atom:author>`, `<author>`, `<dc:creator>` or `<itunes:author>`
  *
  * @since Beta 2
  * @return array|null List of {@see SimplePie_Author} objects
  */
 public function get_authors()
 {
     $authors = array();
     foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_10, 'author') as $author) {
         $name = null;
         $uri = null;
         $email = null;
         if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'])) {
             $name = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
         }
         if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'])) {
             $uri = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['uri'][0]));
         }
         if (isset($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'])) {
             $email = $this->sanitize($author['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
         }
         if ($name !== null || $email !== null || $uri !== null) {
             $authors[] = $this->registry->create('Author', array($name, $uri, $email));
         }
     }
     if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_ATOM_03, 'author')) {
         $name = null;
         $url = null;
         $email = null;
         if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'])) {
             $name = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['name'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
         }
         if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'])) {
             $url = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]['data'], SIMPLEPIE_CONSTRUCT_IRI, $this->get_base($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['url'][0]));
         }
         if (isset($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'])) {
             $email = $this->sanitize($author[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_03]['email'][0]['data'], SIMPLEPIE_CONSTRUCT_TEXT);
         }
         if ($name !== null || $email !== null || $url !== null) {
             $authors[] = $this->registry->create('Author', array($name, $url, $email));
         }
     }
     if ($author = $this->get_item_tags(SIMPLEPIE_NAMESPACE_RSS_20, 'author')) {
         $authors[] = $this->registry->create('Author', array(null, null, $this->sanitize($author[0]['data'], SIMPLEPIE_CONSTRUCT_TEXT)));
     }
     foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_11, 'creator') as $author) {
         $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
     }
     foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_DC_10, 'creator') as $author) {
         $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
     }
     foreach ((array) $this->get_item_tags(SIMPLEPIE_NAMESPACE_ITUNES, 'author') as $author) {
         $authors[] = $this->registry->create('Author', array($this->sanitize($author['data'], SIMPLEPIE_CONSTRUCT_TEXT), null, null));
     }
     if (!empty($authors)) {
         return array_unique($authors);
     } elseif (($source = $this->get_source()) && ($authors = $source->get_authors())) {
         return $authors;
     } elseif ($authors = $this->feed->get_authors()) {
         return $authors;
     } else {
         return null;
     }
 }
Beispiel #2
0
}
?>
<link href="<?php 
echo $protocol . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
?>
" rel="self"/>
<link href="<?php 
echo $feed->get_base();
?>
" />
<id><?php 
echo $feed->get_permalink();
?>
</id>
<?php 
if ($feed->get_authors()) {
    ?>
    <?php 
    foreach ($feed->get_authors() as $author) {
        ?>
        <author>
            <?php 
        if ($author->get_name()) {
            ?>
                <name><?php 
            echo $author->get_name();
            ?>
</name>
            <?php 
        }
        ?>