/** * Factory method to create and configure a group provider from it's given configuration * * @static * @abstract * @param Zend_Config $config * @param string $userId * @return EngineBlock_Group_Provider_Grouper */ public static function createFromConfigs(Zend_Config $config, $userId) { $grouperClient = Grouper_Client_Rest::createFromConfig($config); $provider = new self($config->id, $config->name, $grouperClient); $provider->setUserId($userId); $provider->configurePreconditions($config); $provider->configureGroupFilters($config); $provider->configureGroupMemberFilters($config); $decoratedProvider = $provider->configureDecoratorChain($config); return $decoratedProvider; }
public static function createFromConfigs(Zend_Config $config, $userId) { $httpClient = new Zend_Http_Client(); $httpClient->setAuth($config->auth->user, $config->auth->password); $openSocialRestClient = new OpenSocial_Rest_Client($httpClient); $provider = new self($config->id, $config->name, $openSocialRestClient); $provider->configurePreconditions($config); $provider->configureGroupFilters($config); $provider->configureGroupMemberFilters($config); $decoratedProvider = $provider->configureDecoratorChain($config); return $decoratedProvider; }
public static function createFromConfigs(Zend_Config $config, $userId) { $databaseFactory = new EngineBlock_Database_ConnectionFactory(); $databaseAdapter = $databaseFactory->create(EngineBlock_Database_ConnectionFactory::MODE_READ); $accessTokenHelper = new EngineBlock_Group_Provider_OpenSocial_Oauth_Helper_AccessToken($config->id, $databaseAdapter, $userId); $authConfig = $config->auth->toArray(); if (isset($authConfig['rsaPrivateKey'])) { if (empty($authConfig['rsaPrivateKey'])) { unset($authConfig['rsaPrivateKey']); } else { $authConfig['rsaPrivateKey'] = new Zend_Crypt_Rsa_Key_Private($authConfig['rsaPrivateKey']); } } if (isset($authConfig['rsaPublicKey'])) { if (empty($authConfig['rsaPublicKey'])) { unset($authConfig['rsaPublicKey']); } else { $authConfig['rsaPublicKey'] = new Zend_Crypt_Rsa_Key_Public($authConfig['rsaPublicKey']); } } $httpClient = new Zend_Oauth_Client($authConfig, $config->url, $config); $accessToken = $accessTokenHelper->loadAccessToken(); if ($accessToken) { $httpClient->setToken($accessToken); } $openSocialRestClient = new OpenSocial_Rest_Client($httpClient); $provider = new self($config->id, $config->name, $openSocialRestClient); $provider->setUserId($userId); $provider->setAccessTokenHelper($accessTokenHelper); $provider->addPrecondition('EngineBlock_Group_Provider_Precondition_OpenSocial_Oauth_AccessTokenExists'); $provider->configurePreconditions($config); $provider->configureGroupFilters($config); $provider->configureGroupMemberFilters($config); $decoratedProvider = $provider->configureDecoratorChain($config); return $decoratedProvider; }