Auth_Yadis_Discovery Klassenreferenz


Öffentliche Methoden

 Auth_Yadis_Discovery (&$session, $url, $session_key_suffix=null)
 getNextService ($discover_cb, &$fetcher)
 cleanup ($force=false)
 getSessionKey ()
getManager ($force=false)
createManager ($services, $yadis_url=null)
 destroyManager ($force=false)

Datenfelder

 $DEFAULT_SUFFIX = 'auth'
 $PREFIX = '_yadis_services_'

Ausführliche Beschreibung

Definiert in Zeile 369 der Datei Manager.php.


Dokumentation der Elementfunktionen

Auth_Yadis_Discovery ( &$  session,
url,
session_key_suffix = null 
)

Initialize a discovery object.

Parameter:
Auth_Yadis_PHPSession $session An object which implements the Auth_Yadis_PHPSession API.
string $url The URL on which to attempt discovery.
string $session_key_suffix The optional session key suffix override.

Initialize a discovery object

Definiert in Zeile 390 der Datei Manager.php.

00392     {
00394         $this->session =& $session;
00395         $this->url = $url;
00396         if ($session_key_suffix === null) {
00397             $session_key_suffix = $this->DEFAULT_SUFFIX;
00398         }
00399 
00400         $this->session_key_suffix = $session_key_suffix;
00401         $this->session_key = $this->PREFIX . $this->session_key_suffix;
00402     }

cleanup ( force = false  ) 

Clean up Yadis-related services in the session and return the most-recently-attempted service from the manager, if one exists.

Parameter:
$force True if the manager should be deleted regardless of whether it's a manager for $this->url.

Definiert in Zeile 441 der Datei Manager.php.

00442     {
00443         $manager = $this->getManager($force);
00444         if ($manager) {
00445             $service = $manager->current();
00446             $this->destroyManager($force);
00447         } else {
00448             $service = null;
00449         }
00450 
00451         return $service;
00452     }

& createManager ( services,
yadis_url = null 
)

private

Definiert in Zeile 493 der Datei Manager.php.

00494     {
00495         $key = $this->getSessionKey();
00496         if ($this->getManager()) {
00497             return $this->getManager();
00498         }
00499 
00500         if ($services) {
00501             $loader = new Auth_Yadis_ManagerLoader();
00502             $manager = new Auth_Yadis_Manager($this->url, $yadis_url,
00503                                               $services, $key);
00504             $this->session->set($this->session_key,
00505                                 serialize($loader->toSession($manager)));
00506             return $manager;
00507         } else {
00508             // Oh, PHP.
00509             $unused = null;
00510             return $unused;
00511         }
00512     }

destroyManager ( force = false  ) 

private

Parameter:
$force True if the manager should be deleted regardless of whether it's a manager for $this->url.

Definiert in Zeile 520 der Datei Manager.php.

00521     {
00522         if ($this->getManager($force) !== null) {
00523             $key = $this->getSessionKey();
00524             $this->session->del($key);
00525         }
00526     }

& getManager ( force = false  ) 

private

Parameter:
$force True if the manager should be returned regardless of whether it's a manager for $this->url.

Definiert in Zeile 469 der Datei Manager.php.

00470     {
00471         // Extract the YadisServiceManager for this object's URL and
00472         // suffix from the session.
00473 
00474         $manager_str = $this->session->get($this->getSessionKey());
00475         $manager = null;
00476 
00477         if ($manager_str !== null) {
00478             $loader = new Auth_Yadis_ManagerLoader();
00479             $manager = $loader->fromSession(unserialize($manager_str));
00480         }
00481 
00482         if ($manager && ($manager->forURL($this->url) || $force)) {
00483             return $manager;
00484         } else {
00485             $unused = null;
00486             return $unused;
00487         }
00488     }

getNextService ( discover_cb,
&$  fetcher 
)

Return the next authentication service for the pair of user_input and session. This function handles fallback.

Definiert in Zeile 408 der Datei Manager.php.

00409     {
00410         $manager = $this->getManager();
00411         if (!$manager || (!$manager->services)) {
00412             $this->destroyManager();
00413 
00414             list($yadis_url, $services) = call_user_func($discover_cb,
00415                                                          $this->url,
00416                                                          $fetcher);
00417 
00418             $manager = $this->createManager($services, $yadis_url);
00419         }
00420 
00421         if ($manager) {
00422             $loader = new Auth_Yadis_ManagerLoader();
00423             $service = $manager->nextService();
00424             $this->session->set($this->session_key,
00425                                 serialize($loader->toSession($manager)));
00426         } else {
00427             $service = null;
00428         }
00429 
00430         return $service;
00431     }

getSessionKey (  ) 

private

Definiert in Zeile 457 der Datei Manager.php.

00458     {
00459         // Get the session key for this starting URL and suffix
00460         return $this->PREFIX . $this->session_key_suffix;
00461     }


Dokumentation der Datenelemente

$DEFAULT_SUFFIX = 'auth'

private

Definiert in Zeile 374 der Datei Manager.php.

$PREFIX = '_yadis_services_'

private

Definiert in Zeile 379 der Datei Manager.php.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved.
MyOOS [Shopsystem] is Free Software released under the GNU/GPL License.

Webmaster: info@r23.de (Impressum)
doxygen