Beispiel #1
0
 /**
  * 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;
     }
 }
Beispiel #2
0
 /**
  * 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);
 }
Beispiel #3
0
 /**
  * @return void
  */
 public function testSetDateInputInvalidThrowsException()
 {
     $inputInvalid = "2007foo";
     try {
         Zend_Service_Technorati_Utils::normalizeDate($inputInvalid);
         $this->fail('Expected Zend_Service_Technorati_Exception not thrown');
     } catch (Zend_Service_Technorati_Exception $e) {
         $this->assertContains($inputInvalid, $e->getMessage());
     }
 }
Beispiel #4
0
 /**
  * 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;
     }
 }
Beispiel #8
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;
 }
Beispiel #9
0
 /**
  * Sets weblog Last Update timestamp.
  *
  * $datetime can be any value supported by
  * Zend_Service_Technorati_Utils::normalizeDate().
  *
  * @param   mixed $datetime A string representing the last update date time
  *                          in a valid date time format
  * @return  Zend_Service_Technorati_Weblog $this instance
  * @throws  Zend_Service_Technorati_Exception
  */
 public function setLastUpdate($datetime)
 {
     $this->_lastUpdate = Zend_Service_Technorati_Utils::normalizeDate($datetime);
     return $this;
 }