getProviderByScheme() public static method

public static getProviderByScheme ( $AuthenticationSchemeAlias, null $UserID = null ) : array | boolean | stdClass
$AuthenticationSchemeAlias
$UserID null
return array | boolean | stdClass
示例#1
0
 /**
  *
  *
  * @return array|bool|null|stdClass
  */
 public function provider()
 {
     if ($this->_Provider === null) {
         $this->_Provider = Gdn_AuthenticationProviderModel::getProviderByScheme('disqus');
     }
     return $this->_Provider;
 }
 /**
  *
  *
  * @param null $ProviderKey
  * @param bool $Force
  * @return array|bool|stdClass
  */
 public function getProvider($ProviderKey = null, $Force = false)
 {
     static $AuthModel = null;
     static $Provider = null;
     if (is_null($AuthModel)) {
         $AuthModel = new Gdn_AuthenticationProviderModel();
     }
     $AuthenticationSchemeAlias = $this->getAuthenticationSchemeAlias();
     if (is_null($Provider) || $Force === true) {
         if (!is_null($ProviderKey)) {
             $ProviderData = $AuthModel->getProviderByKey($ProviderKey);
         } else {
             $ProviderData = $AuthModel->getProviderByScheme($AuthenticationSchemeAlias, Gdn::session()->UserID);
             if (!$ProviderData && Gdn::session()->UserID > 0) {
                 $ProviderData = $AuthModel->getProviderByScheme($AuthenticationSchemeAlias, null);
             }
         }
         if ($ProviderData) {
             $Provider = $ProviderData;
         } else {
             return false;
         }
     }
     return $Provider;
 }