Gdn_AuthenticationProviderModel::getProviderByScheme PHP Method

getProviderByScheme() public static method

public static getProviderByScheme ( $AuthenticationSchemeAlias, null $UserID = null ) : array | boolean | stdClass
$AuthenticationSchemeAlias
$UserID null
return array | boolean | stdClass
    public static function getProviderByScheme($AuthenticationSchemeAlias, $UserID = null)
    {
        $ProviderQuery = Gdn::sql()->select('uap.*')->from('UserAuthenticationProvider uap')->where('uap.AuthenticationSchemeAlias', $AuthenticationSchemeAlias);
        if (!is_null($UserID) && $UserID) {
            $ProviderQuery->join('UserAuthentication ua', 'ua.ProviderKey = uap.AuthenticationKey', 'left')->where('ua.UserID', $UserID);
        }
        $ProviderData = $ProviderQuery->get();
        if ($ProviderData->numRows()) {
            $Result = $ProviderData->firstRow(DATASET_TYPE_ARRAY);
            self::calculate($Result);
            return $Result;
        }
        return false;
    }

Usage Example

 /**
  *
  *
  * @return array|bool|null|stdClass
  */
 public function provider()
 {
     if ($this->_Provider === null) {
         $this->_Provider = Gdn_AuthenticationProviderModel::getProviderByScheme('disqus');
     }
     return $this->_Provider;
 }
All Usage Examples Of Gdn_AuthenticationProviderModel::getProviderByScheme