Ejemplo n.º 1
0
 /**
  * @param string $url
  *
  * @return string
  */
 protected function discover($url)
 {
     if (!preg_match('{^https?:}', $url)) {
         $url = "https://xri.net/{$url}";
     }
     if (Core_Strings::contains($url, '@gmail') || Core_Strings::contains($url, 'google.com')) {
         $url = 'https://www.google.com/accounts/o8/id';
     } else {
         if (Core_Strings::contains($url, 'yahoo.com')) {
             $url = 'https://me.yahoo.com/a/';
         }
     }
     switch (true) {
         case $r = OpenId::YadisDiscover($this, $url)->search():
             return $r;
         case $r = OpenId::HtmlDiscover($this, $url)->search():
             return $r;
         default:
             throw new OpenId_Exception("Server can't be found");
     }
 }