You are here

public function Entry::getAuthors in Zircon Profile 8

Same name in this branch
  1. 8 vendor/zendframework/zend-feed/src/Writer/Entry.php \Zend\Feed\Writer\Entry::getAuthors()
  2. 8 vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php \Zend\Feed\Reader\Extension\Atom\Entry::getAuthors()
  3. 8 vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Entry.php \Zend\Feed\Reader\Extension\DublinCore\Entry::getAuthors()
Same name and namespace in other branches
  1. 8.0 vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php \Zend\Feed\Reader\Extension\Atom\Entry::getAuthors()

Get an array with feed authors

Return value

Collection\Author

1 call to Entry::getAuthors()
Entry::getAuthor in vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php
Get the specified author

File

vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php, line 45

Class

Entry

Namespace

Zend\Feed\Reader\Extension\Atom

Code

public function getAuthors() {
  if (array_key_exists('authors', $this->data)) {
    return $this->data['authors'];
  }
  $authors = [];
  $list = $this
    ->getXpath()
    ->query($this
    ->getXpathPrefix() . '//atom:author');
  if (!$list->length) {

    /**
     * TODO: Limit query to feed level els only!
     */
    $list = $this
      ->getXpath()
      ->query('//atom:author');
  }
  if ($list->length) {
    foreach ($list as $author) {
      $author = $this
        ->getAuthorFromElement($author);
      if (!empty($author)) {
        $authors[] = $author;
      }
    }
  }
  if (count($authors) == 0) {
    $authors = new Collection\Author();
  }
  else {
    $authors = new Collection\Author(Reader\Reader::arrayUnique($authors));
  }
  $this->data['authors'] = $authors;
  return $this->data['authors'];
}