/** * Constructs a new object object from DOM Document. * * @param DomDocument $dom the ReST fragment for this object */ public function __construct(DomDocument $dom) { $xpath = new DOMXPath($dom); $result = $xpath->query('//result/weblog'); if ($result->length == 1) { $this->_weblog = new Zend_Service_Technorati_Weblog($result->item(0)); } else { // follow the same behavior of blogPostTags // and raise an Exception if the URL is not a valid weblog throw new Zend_Service_Technorati_Exception("Your URL is not a recognized Technorati weblog"); } $result = $xpath->query('//result/url/text()'); if ($result->length == 1) { try { // fetched URL often doens't include schema // and this issue causes the following line to fail $this->_url = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data); } catch (Zend_Service_Technorati_Exception $e) { if ($this->getWeblog() instanceof Zend_Service_Technorati_Weblog) { $this->_url = $this->getWeblog()->getUrl(); } } } $result = $xpath->query('//result/inboundblogs/text()'); if ($result->length == 1) { $this->_inboundBlogs = (int) $result->item(0)->data; } $result = $xpath->query('//result/inboundlinks/text()'); if ($result->length == 1) { $this->_inboundLinks = (int) $result->item(0)->data; } }
/** * Constructs a new object object from DOM Element. * * @param DomElement $dom the ReST fragment for this object */ public function __construct(DomElement $dom) { $this->_fields = array('_permalink' => 'permalink', '_excerpt' => 'excerpt', '_created' => 'created', '_title' => 'title'); parent::__construct($dom); // weblog object field $this->_parseWeblog(); // filter fields $this->_permalink = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_permalink); $this->_created = Zend_Service_Technorati_Utils::normalizeDate($this->_created); }
/** * @return void */ public function testSetUriHttpInputInvalidSchemeFtpThrowsException() { $scheme = 'ftp'; $inputInvalidScheme = "{$scheme}://example.com"; try { Zend_Service_Technorati_Utils::normalizeUriHttp($inputInvalidScheme); $this->fail('Expected Zend_Service_Technorati_Exception not thrown'); } catch (Zend_Service_Technorati_Exception $e) { $this->assertContains($scheme, $e->getMessage()); } }
/** * Constructs a new object object from DOM Element. * * @param DomElement $dom the ReST fragment for this object */ public function __construct(DomElement $dom) { $this->_fields = array('_nearestPermalink' => 'nearestpermalink', '_excerpt' => 'excerpt', '_linkCreated' => 'linkcreated', '_linkUrl' => 'linkurl'); parent::__construct($dom); // weblog object field $this->_parseWeblog(); // filter fields $this->_nearestPermalink = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_nearestPermalink); $this->_linkUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($this->_linkUrl); $this->_linkCreated = Zend_Service_Technorati_Utils::normalizeDate($this->_linkCreated); }
/** * Parses the search response and retrieve the results for iteration. * * @param DomDocument $dom the ReST fragment for this object * @param array $options query options as associative array */ public function __construct(DomDocument $dom, $options = array()) { parent::__construct($dom, $options); $result = $this->_xpath->query('/tapi/document/result/days/text()'); if ($result->length == 1) { $this->_days = (int) $result->item(0)->data; } $result = $this->_xpath->query('/tapi/document/result/searchurl/text()'); if ($result->length == 1) { $this->_searchUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data); } $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/items/item)"); $this->_totalResultsAvailable = (int) $this->getDays(); }
/** * Parses the search response and retrieve the results for iteration. * * @param DomDocument $dom the ReST fragment for this object * @param array $options query options as associative array */ public function __construct(DomDocument $dom, $options = array()) { parent::__construct($dom, $options); // default locale prevent Zend_Date to fail // when script is executed via shell // Zend_Locale::setDefault('en'); $result = $this->_xpath->query('/tapi/document/result/days/text()'); if ($result->length == 1) { $this->_days = (int) $result->item(0)->data; } $result = $this->_xpath->query('/tapi/document/result/searchurl/text()'); if ($result->length == 1) { $this->_searchUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data); } $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/items/item)"); $this->_totalResultsAvailable = (int) $this->getDays(); }
/** * Parses the search response and retrieve the results for iteration. * * @param DomDocument $dom the ReST fragment for this object * @param array $options query options as associative array */ public function __construct(DomDocument $dom, $options = array()) { parent::__construct($dom, $options); $result = $this->_xpath->query('/tapi/document/result/inboundlinks/text()'); if ($result->length == 1) { $this->_inboundLinks = (int) $result->item(0)->data; } $result = $this->_xpath->query('/tapi/document/result/inboundblogs/text()'); if ($result->length == 1) { $this->_inboundBlogs = (int) $result->item(0)->data; } $result = $this->_xpath->query('/tapi/document/result/weblog'); if ($result->length == 1) { /** * @see Zend_Service_Technorati_Weblog */ #require_once 'Zend/Service/Technorati/Weblog.php'; $this->_weblog = new Zend_Service_Technorati_Weblog($result->item(0)); } $result = $this->_xpath->query('/tapi/document/result/url/text()'); if ($result->length == 1) { try { // fetched URL often doens't include schema // and this issue causes the following line to fail $this->_url = Zend_Service_Technorati_Utils::normalizeUriHttp($result->item(0)->data); } catch (Zend_Service_Technorati_Exception $e) { if ($this->getWeblog() instanceof Zend_Service_Technorati_Weblog) { $this->_url = $this->getWeblog()->getUrl(); } } } $this->_totalResultsReturned = (int) $this->_xpath->evaluate("count(/tapi/document/item)"); // total number of results depends on query type // for now check only getInboundLinks() and getInboundBlogs() value if ((int) $this->getInboundLinks() > 0) { $this->_totalResultsAvailable = $this->getInboundLinks(); } elseif ((int) $this->getInboundBlogs() > 0) { $this->_totalResultsAvailable = $this->getInboundBlogs(); } else { $this->_totalResultsAvailable = 0; } }
/** * Sets Technorati account thumbnail picture. * * @param string|Zend_Uri_Http $input thumbnail picture URI * @return Zend_Service_Technorati_Author $this instance * @throws Zend_Service_Technorati_Exception if $input is an invalid URI * (via Zend_Service_Technorati_Utils::normalizeUriHttp) */ public function setThumbnailPicture($input) { $this->_thumbnailPicture = Zend_Service_Technorati_Utils::normalizeUriHttp($input); return $this; }
/** * Sets weblog Atom URL. * * @param string|Zend_Uri_Http $url * @return Zend_Service_Technorati_Weblog $this instance * @throws Zend_Service_Technorati_Exception if $input is an invalid URI * (via Zend_Service_Technorati_Utils::normalizeUriHttp) */ public function setAtomUrl($url) { $this->_atomUrl = Zend_Service_Technorati_Utils::normalizeUriHttp($url); return $this; }