243 lines
6.2 KiB
PHP
243 lines
6.2 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Zend Framework
|
||
|
*
|
||
|
* LICENSE
|
||
|
*
|
||
|
* This source file is subject to the new BSD license that is bundled
|
||
|
* with this package in the file LICENSE.txt.
|
||
|
* It is also available through the world-wide-web at this URL:
|
||
|
* http://framework.zend.com/license/new-bsd
|
||
|
* If you did not receive a copy of the license and are unable to
|
||
|
* obtain it through the world-wide-web, please send an email
|
||
|
* to license@zend.com so we can send you a copy immediately.
|
||
|
*
|
||
|
* @category Zend
|
||
|
* @package Zend_Service
|
||
|
* @subpackage Technorati
|
||
|
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
* @version $Id: Author.php 8064 2008-02-16 10:58:39Z thomas $
|
||
|
*/
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @see Zend_Service_Technorati_Utils
|
||
|
*/
|
||
|
require_once 'Zend/Service/Technorati/Utils.php';
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Represents a weblog Author object. It usually belongs to a Technorati account.
|
||
|
*
|
||
|
* @category Zend
|
||
|
* @package Zend_Service
|
||
|
* @subpackage Technorati
|
||
|
* @copyright Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
|
||
|
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||
|
*/
|
||
|
class Zend_Service_Technorati_Author
|
||
|
{
|
||
|
/**
|
||
|
* Author first name
|
||
|
*
|
||
|
* @var string
|
||
|
* @access protected
|
||
|
*/
|
||
|
protected $_firstName;
|
||
|
|
||
|
/**
|
||
|
* Author last name
|
||
|
*
|
||
|
* @var string
|
||
|
* @access protected
|
||
|
*/
|
||
|
protected $_lastName;
|
||
|
|
||
|
/**
|
||
|
* Technorati account username
|
||
|
*
|
||
|
* @var string
|
||
|
* @access protected
|
||
|
*/
|
||
|
protected $_username;
|
||
|
|
||
|
/**
|
||
|
* Technorati account description
|
||
|
*
|
||
|
* @var string
|
||
|
* @access protected
|
||
|
*/
|
||
|
protected $_description;
|
||
|
|
||
|
/**
|
||
|
* Technorati account biography
|
||
|
*
|
||
|
* @var string
|
||
|
* @access protected
|
||
|
*/
|
||
|
protected $_bio;
|
||
|
|
||
|
/**
|
||
|
* Technorati account thumbnail picture URL, if any
|
||
|
*
|
||
|
* @var null|Zend_Uri_Http
|
||
|
* @access protected
|
||
|
*/
|
||
|
protected $_thumbnailPicture;
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Constructs a new object from DOM Element.
|
||
|
*
|
||
|
* @param DomElement $dom the ReST fragment for this object
|
||
|
*/
|
||
|
public function __construct(DomElement $dom)
|
||
|
{
|
||
|
$xpath = new DOMXPath($dom->ownerDocument);
|
||
|
|
||
|
$result = $xpath->query('./firstname/text()', $dom);
|
||
|
if ($result->length == 1) $this->setFirstName($result->item(0)->data);
|
||
|
|
||
|
$result = $xpath->query('./lastname/text()', $dom);
|
||
|
if ($result->length == 1) $this->setLastName($result->item(0)->data);
|
||
|
|
||
|
$result = $xpath->query('./username/text()', $dom);
|
||
|
if ($result->length == 1) $this->setUsername($result->item(0)->data);
|
||
|
|
||
|
$result = $xpath->query('./description/text()', $dom);
|
||
|
if ($result->length == 1) $this->setDescription($result->item(0)->data);
|
||
|
|
||
|
$result = $xpath->query('./bio/text()', $dom);
|
||
|
if ($result->length == 1) $this->setBio($result->item(0)->data);
|
||
|
|
||
|
$result = $xpath->query('./thumbnailpicture/text()', $dom);
|
||
|
if ($result->length == 1) $this->setThumbnailPicture($result->item(0)->data);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Returns Author first name.
|
||
|
*
|
||
|
* @return string Author first name
|
||
|
*/
|
||
|
public function getFirstName() {
|
||
|
return $this->_firstName;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns Author last name.
|
||
|
*
|
||
|
* @return string Author last name
|
||
|
*/
|
||
|
public function getLastName() {
|
||
|
return $this->_lastName;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns Technorati account username.
|
||
|
*
|
||
|
* @return string Technorati account username
|
||
|
*/
|
||
|
public function getUsername() {
|
||
|
return $this->_username;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns Technorati account description.
|
||
|
*
|
||
|
* @return string Technorati account description
|
||
|
*/
|
||
|
public function getDescription() {
|
||
|
return $this->_description;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns Technorati account biography.
|
||
|
*
|
||
|
* @return string Technorati account biography
|
||
|
*/
|
||
|
public function getBio() {
|
||
|
return $this->_bio;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns Technorati account thumbnail picture.
|
||
|
*
|
||
|
* @return null|Zend_Uri_Http Technorati account thumbnail picture
|
||
|
*/
|
||
|
public function getThumbnailPicture() {
|
||
|
return $this->_thumbnailPicture;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Sets author first name.
|
||
|
*
|
||
|
* @param string $input first Name input value
|
||
|
* @return Zend_Service_Technorati_Author $this instance
|
||
|
*/
|
||
|
public function setFirstName($input) {
|
||
|
$this->_firstName = (string) $input;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets author last name.
|
||
|
*
|
||
|
* @param string $input last Name input value
|
||
|
* @return Zend_Service_Technorati_Author $this instance
|
||
|
*/
|
||
|
public function setLastName($input) {
|
||
|
$this->_lastName = (string) $input;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets Technorati account username.
|
||
|
*
|
||
|
* @param string $input username input value
|
||
|
* @return Zend_Service_Technorati_Author $this instance
|
||
|
*/
|
||
|
public function setUsername($input) {
|
||
|
$this->_username = (string) $input;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets Technorati account biography.
|
||
|
*
|
||
|
* @param string $input biography input value
|
||
|
* @return Zend_Service_Technorati_Author $this instance
|
||
|
*/
|
||
|
public function setBio($input) {
|
||
|
$this->_bio = (string) $input;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Sets Technorati account description.
|
||
|
*
|
||
|
* @param string $input description input value
|
||
|
* @return Zend_Service_Technorati_Author $this instance
|
||
|
*/
|
||
|
public function setDescription($input) {
|
||
|
$this->_description = (string) $input;
|
||
|
return $this;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 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;
|
||
|
}
|
||
|
|
||
|
}
|