You are here

class AtomDeleted in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/AtomDeleted.php \Zend\Feed\Writer\Renderer\Entry\AtomDeleted

Hierarchy

  • class \Zend\Feed\Writer\Renderer\Entry\AtomDeleted extends \Renderer\AbstractRenderer implements \Renderer\RendererInterface

Expanded class hierarchy of AtomDeleted

File

vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/AtomDeleted.php, line 20

Namespace

Zend\Feed\Writer\Renderer\Entry
View source
class AtomDeleted extends Renderer\AbstractRenderer implements Renderer\RendererInterface {

  /**
   * Constructor
   *
   * @param  Writer\Deleted $container
   */
  public function __construct(Writer\Deleted $container) {
    parent::__construct($container);
  }

  /**
   * Render atom entry
   *
   * @return \Zend\Feed\Writer\Renderer\Entry\Atom
   */
  public function render() {
    $this->dom = new DOMDocument('1.0', $this->container
      ->getEncoding());
    $this->dom->formatOutput = true;
    $entry = $this->dom
      ->createElement('at:deleted-entry');
    $this->dom
      ->appendChild($entry);
    $entry
      ->setAttribute('ref', $this->container
      ->getReference());
    $entry
      ->setAttribute('when', $this->container
      ->getWhen()
      ->format(DateTime::ATOM));
    $this
      ->_setBy($this->dom, $entry);
    $this
      ->_setComment($this->dom, $entry);
    return $this;
  }

  /**
   * Set tombstone comment
   *
   * @param  DOMDocument $dom
   * @param  DOMElement $root
   * @return void
   */
  protected function _setComment(DOMDocument $dom, DOMElement $root) {
    if (!$this
      ->getDataContainer()
      ->getComment()) {
      return;
    }
    $c = $dom
      ->createElement('at:comment');
    $root
      ->appendChild($c);
    $c
      ->setAttribute('type', 'html');
    $cdata = $dom
      ->createCDATASection($this
      ->getDataContainer()
      ->getComment());
    $c
      ->appendChild($cdata);
  }

  /**
   * Set entry authors
   *
   * @param  DOMDocument $dom
   * @param  DOMElement $root
   * @return void
   */
  protected function _setBy(DOMDocument $dom, DOMElement $root) {
    $data = $this->container
      ->getBy();
    if (!$data || empty($data)) {
      return;
    }
    $author = $this->dom
      ->createElement('at:by');
    $name = $this->dom
      ->createElement('name');
    $author
      ->appendChild($name);
    $root
      ->appendChild($author);
    $text = $dom
      ->createTextNode($data['name']);
    $name
      ->appendChild($text);
    if (array_key_exists('email', $data)) {
      $email = $this->dom
        ->createElement('email');
      $author
        ->appendChild($email);
      $text = $dom
        ->createTextNode($data['email']);
      $email
        ->appendChild($text);
    }
    if (array_key_exists('uri', $data)) {
      $uri = $this->dom
        ->createElement('uri');
      $author
        ->appendChild($uri);
      $text = $dom
        ->createTextNode($data['uri']);
      $uri
        ->appendChild($text);
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AtomDeleted::render public function Render atom entry
AtomDeleted::_setBy protected function Set entry authors
AtomDeleted::_setComment protected function Set tombstone comment
AtomDeleted::__construct public function Constructor