/** * Overwrites parent::_get method to enable read access * to content:encoded element. * * @param string $var The property to access. * @return mixed */ public function __get($var) { switch ($var) { case 'content': $prefix = $this->_element->lookupPrefix('http://purl.org/rss/1.0/modules/content/'); return parent::__get("{$prefix}:encoded"); default: return parent::__get($var); } }
/** * Easy access to <link> tags keyed by "rel" attributes. * * If $elt->link() is called with no arguments, we will attempt to * return the value of the <link> tag(s) like all other * method-syntax attribute access. If an argument is passed to * link(), however, then we will return the "href" value of the * first <link> tag that has a "rel" attribute matching $rel: * * $elt->link(): returns the value of the link tag. * $elt->link('self'): returns the href from the first <link rel="self"> in the entry. * * @param string $rel The "rel" attribute to look for. * @return mixed */ public function link($rel = null) { if ($rel === null) { return parent::__call('link', null); } // index link tags by their "rel" attribute. $links = parent::__get('link'); if (!is_array($links)) { if ($links instanceof Zend_Feed_Element) { $links = array($links); } else { return $links; } } foreach ($links as $link) { if (empty($link['rel'])) { $link['rel'] = 'alternate'; // see Atom 1.0 spec } if ($rel == $link['rel']) { return $link['href']; } } return null; }