Source for file ServiceEndpoints.php

Documentation is available at ServiceEndpoints.php

  1. <?php
  2. /**
  3.  * OpenID_ServiceEndpoints
  4.  *
  5.  * PHP Version 5.2.0+
  6.  *
  7.  * @category  Auth
  8.  * @package   OpenID
  9.  * @author    Rich Schumacher <rich.schu@gmail.com>
  10.  * @copyright 2009 Rich Schumacher
  11.  * @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
  12.  * @link      http://pearopenid.googlecode.com
  13.  */
  14.  
  15. /**
  16.  * Required files
  17.  */
  18. require_once 'OpenID/ServiceEndpoint.php';
  19.  
  20. /**
  21. * OpenID_ServiceEndpoints
  22. *
  23. * This class represents a colleciton of OpenID_ServiceEndpoint objects.  It
  24. * implements several SPL interfaces to make it easy to consume.
  25. *
  26. @category  Auth
  27. @package   OpenID
  28. @author    Rich Schumacher <rich.schu@gmail.com>
  29. @copyright 2009 Rich Schumacher
  30. @license   http://www.opensource.org/licenses/bsd-license.php FreeBSD
  31. @link      http://pearopenid.googlecode.com
  32. */
  33. class OpenID_ServiceEndpoints implements IteratorAggregateArrayAccessCountable
  34. {
  35.     /**
  36.      * Copy of the Expires header from the HTTP request.  Used for customizing cache
  37.      * times
  38.      * 
  39.      * @var string 
  40.      */
  41.     private $_expiresHeader null;
  42.  
  43.     /**
  44.      * The user-supplied identifier
  45.      *
  46.      * @var string 
  47.      */
  48.     private $_identifier null;
  49.  
  50.     /**
  51.      * An array of OpenID_ServiceEndpoint objects
  52.      *
  53.      * @var array 
  54.      */
  55.     private $_services array();
  56.  
  57.     /**
  58.      * Sets the user-supplied identifier and adds a service if one is passed
  59.      *
  60.      * @param string                       $identifier User-supplied identifier
  61.      * @param null|OpenID_Service_Endpoint$spec       Service endpoint object
  62.      *
  63.      * @return void 
  64.      */
  65.     public function __construct($identifier$spec null)
  66.     {
  67.         $this->setIdentifier($identifier);
  68.  
  69.         if ($spec instanceof OpenID_ServiceEndpoint{
  70.             $this->addService($spec);
  71.         }
  72.     }
  73.  
  74.     /**
  75.      * Sets the user-supplied indentifier
  76.      *
  77.      * @param string $identifier The user-supplied identifier
  78.      *
  79.      * @return void 
  80.      */
  81.     public function setIdentifier($identifier)
  82.     {
  83.         $this->_identifier $identifier;
  84.     }
  85.  
  86.     /**
  87.      * Returns the user-supplied identifier
  88.      *
  89.      * @return null|string
  90.      */
  91.     public function getIdentifier()
  92.     {
  93.         return $this->_identifier;
  94.     }
  95.  
  96.     /**
  97.      * Adds a service to the services array
  98.      *
  99.      * @param OpenID_ServiceEndpoint $endpoint The service endpoint object
  100.      *
  101.      * @return void 
  102.      */
  103.     public function addService(OpenID_ServiceEndpoint $endpoint)
  104.     {
  105.         if (!$endpoint->isValid()) {
  106.             return;
  107.         }
  108.  
  109.         $this->_services[$endpoint;
  110.     }
  111.  
  112.     /**
  113.      * Returns an ArrayIterator object to traverse the services array
  114.      *
  115.      * @return ArrayIterator 
  116.      */
  117.     public function getIterator()
  118.     {
  119.         return new ArrayIterator($this->_services);
  120.     }
  121.  
  122.     /**
  123.      * Checks to see if the offset exists in the services array
  124.      *
  125.      * @param int $offset The offset to check
  126.      *
  127.      * @return bool 
  128.      */
  129.     public function offsetExists($offset)
  130.     {
  131.         return (!empty($this->_services[$offset]));
  132.     }
  133.     
  134.     /**
  135.      * Returns the value of the services array at the specified offset
  136.      *
  137.      * @param int $offset The offset to retrieve
  138.      *
  139.      * @return null|OpenID_ServiceEndpoint
  140.      */
  141.     public function offsetGet($offset)
  142.     {
  143.         if (!$this->offsetExists($offset)) {
  144.             return;
  145.         }
  146.  
  147.         return $this->_services[$offset];
  148.     }
  149.  
  150.     /**
  151.      * Sets a value in the services array
  152.      *
  153.      * @param int                    $offset   The offset to set
  154.      * @param OpenID_ServiceEndpoint $endpoint The service object to set
  155.      *
  156.      * @return void 
  157.      */
  158.     public function offsetSet($offset$endpoint)
  159.     {
  160.         if ($endpoint instanceof OpenID_ServiceEndpoint{
  161.             $this->_services[$offset$endpoint;
  162.         }
  163.     }
  164.  
  165.     /**
  166.      * Removes a particular offset in the services array
  167.      *
  168.      * @param int $offset The offset to remove
  169.      *
  170.      * @return void 
  171.      */
  172.     public function offsetUnset($offset)
  173.     {
  174.         unset($this->_services[$offset]);
  175.     }
  176.  
  177.     /**
  178.      * Returns the number of service endpoints
  179.      *
  180.      * @return int 
  181.      */
  182.     public function count()
  183.     {
  184.         return count($this->_services);
  185.     }
  186.  
  187.     /**
  188.      * Gets the Expires header value
  189.      * 
  190.      * @see $_expiresHeader
  191.      * @see setExpiresHeader()
  192.      * @return string 
  193.      */
  194.     public function getExpiresHeader()
  195.     {
  196.         return $this->_expiresHeader;
  197.     }
  198.  
  199.     /**
  200.      * Sets the Expires header value
  201.      * 
  202.      * @param string $value The Expires header value
  203.      * 
  204.      * @see getExpiresHeader()
  205.      * @return OpenID_ServiceEndpoints 
  206.      */
  207.     public function setExpiresHeader($value)
  208.     {
  209.         $this->_expiresHeader $value;
  210.         return $this;
  211.     }
  212. }
  213.  
  214. ?>

Documentation generated on Tue, 15 Dec 2009 19:00:59 -0800 by phpDocumentor 1.4.3