function getNextService($discover_cb, $fetcher)
    {
        $manager = $this->getManager();
        if (!$manager || (!$manager->services)) {
            $this->destroyManager();

            list($yadis_url, $services) = call_user_func_array($discover_cb,
                                                               array(
                                                                $this->url,
                                                                $fetcher,
                                                               ));

            $manager = $this->createManager($services, $yadis_url);
        }

        if ($manager) {
            $loader = new Auth_Yadis_ManagerLoader();
            $service = $manager->nextService();
            $this->session->set($this->session_key,
                                serialize($loader->toSession($manager)));
        } else {
            $service = null;
        }

        return $service;
    }
function getNextService($discover_cb, $fetcher)
    {
        $manager = $this->getManager();
        if (!$manager || (!$manager->services)) {
            $this->destroyManager();

            list($yadis_url, $services) = call_user_func_array($discover_cb,
                                                               array(
                                                                $this->url,
                                                                $fetcher,
                                                               ));

            $manager = $this->createManager($services, $yadis_url);
        }

        if ($manager) {
            $loader = new Auth_Yadis_ManagerLoader();
            $service = $manager->nextService();
            $this->session->set($this->session_key,
                                serialize($loader->toSession($manager)));
        } else {
            $service = null;
        }

        return $service;
    }
function getNextService ( $ discover_cb , $ fetcher ) { $ manager = $ this -> getManager ( ) ; if ( ! $ manager || ( ! $ manager -> services ) ) { $ this -> destroyManager ( ) ; list ( $ yadis_url , $ services ) = call_user_func_array ( $ discover_cb , array ( $ this -> url , $ fetcher , ) ) ; $ manager = $ this -> createManager ( $ services , $ yadis_url ) ; } if ( $ manager ) { $ loader = new Auth_Yadis_ManagerLoader ( ) ; $ service = $ manager -> nextService ( ) ; $ this -> session -> set ( $ this -> session_key , serialize ( $ loader -> toSession ( $ manager ) ) ) ; } else { $ service = null ; } return $ service ; }
Return the next authentication service for the pair of
user_input and session. This function handles fallback.

@param callback $discover_cb
@param object $fetcher
@return null|Auth_OpenID_ServiceEndpoint
Return the next authentication service for the pair of user_input and session . This function handles fallback .