/**
  * @param Application $app
  */
 public function register(Application $app)
 {
     $app['culturefeed_token_credentials'] = $app->share(function (Application $app) {
         /* @var UserSessionService $userSessionService */
         $userSessionService = $app['uitid_user_session_service'];
         $user = $userSessionService->getMinimalUserInfo();
         if (!is_null($user)) {
             return $user->getTokenCredentials();
         } else {
             return null;
         }
     });
     $app['culturefeed_consumer_credentials'] = $app->share(function (Application $app) {
         return new ConsumerCredentials($app['culturefeed.consumer.key'], $app['culturefeed.consumer.secret']);
     });
     $app['culturefeed'] = $app->share(function (Application $app) {
         return new \CultureFeed($app['culturefeed_oauth_client']);
     });
     $app['culturefeed_oauth_client'] = $app->share(function (Application $app) {
         /* @var ConsumerCredentials $consumerCredentials */
         $consumerCredentials = $app['culturefeed_consumer_credentials'];
         /* @var TokenCredentials $tokenCredentials */
         $tokenCredentials = $app['culturefeed_token_credentials'];
         $userCredentialsToken = null;
         $userCredentialsSecret = null;
         if ($tokenCredentials) {
             $userCredentialsToken = $tokenCredentials->getToken();
             $userCredentialsSecret = $tokenCredentials->getSecret();
         }
         $oauthClient = new \CultureFeed_DefaultOAuthClient($consumerCredentials->getKey(), $consumerCredentials->getSecret(), $userCredentialsToken, $userCredentialsSecret);
         $oauthClient->setEndpoint($app['culturefeed.endpoint']);
         return $oauthClient;
     });
 }
 /**
  * @param Application $app
  */
 public function register(Application $app)
 {
     $app['culturefeed_consumer_credentials'] = $app->share(function (Application $app) {
         return new ConsumerCredentials($app['culturefeed.consumer.key'], $app['culturefeed.consumer.secret']);
     });
     $app['culturefeed_token_credentials'] = $app->share(function (Application $app) {
         // Check first if we're impersonating someone.
         /* @var Impersonator $impersonator */
         $impersonator = $app['impersonator'];
         if ($impersonator->getTokenCredentials()) {
             return $impersonator->getTokenCredentials();
         }
         $jwt = $app['jwt'];
         if (is_null($jwt)) {
             // Not authenticated.
             return null;
         }
         /* @var UiTIDCredentialsFetcher $uitidCredentialsFetcher */
         $uitidCredentialsFetcher = $app['oauth.fetcher'];
         $accessToken = $uitidCredentialsFetcher->getAccessTokenFromJwt((string) $jwt);
         return new TokenCredentials($accessToken->getToken(), $accessToken->getTokenSecret());
     });
     $app['culturefeed'] = $app->share(function (Application $app) {
         return new \CultureFeed($app['culturefeed_oauth_client']);
     });
     $app['culturefeed_oauth_client'] = $app->share(function (Application $app) {
         /* @var ConsumerCredentials $consumerCredentials */
         $consumerCredentials = $app['culturefeed_consumer_credentials'];
         /* @var TokenCredentials $tokenCredentials */
         $tokenCredentials = $app['culturefeed_token_credentials'];
         $userCredentialsToken = null;
         $userCredentialsSecret = null;
         if ($tokenCredentials) {
             $userCredentialsToken = $tokenCredentials->getToken();
             $userCredentialsSecret = $tokenCredentials->getSecret();
         }
         $oauthClient = new \CultureFeed_DefaultOAuthClient($consumerCredentials->getKey(), $consumerCredentials->getSecret(), $userCredentialsToken, $userCredentialsSecret);
         $oauthClient->setEndpoint($app['culturefeed.endpoint']);
         return $oauthClient;
     });
 }
 */
date_default_timezone_set('Europe/Brussels');
// require the third-party oauth library which is not properly structured to be autoloaded
require_once dirname(__FILE__) . '/../../OAuth/OAuth.php';
function culturefeed_autoload($class)
{
    $file = str_replace('_', '/', $class) . '.php';
    require_once $file;
}
spl_autoload_register('culturefeed_autoload');
try {
    $endpoint = $_SERVER['argv'][1];
    $consumer_key = $_SERVER['argv'][2];
    $consumer_secret = $_SERVER['argv'][3];
    $query = new CultureFeed_Uitpas_Passholder_Query_SearchPromotionPointsOptions();
    $oc = new CultureFeed_DefaultOAuthClient($consumer_key, $consumer_secret);
    $oc->setEndpoint($endpoint);
    $c = new CultureFeed($oc);
    $promotions = $c->uitpas()->getPromotionPoints($query);
    print_r($promotions);
} catch (Exception $e) {
    $eol = PHP_EOL;
    $type = get_class($e);
    print "An exception of type {$type} was thrown." . PHP_EOL;
    print "Code: {$e->getCode()}" . PHP_EOL;
    if ($e instanceof CultureFeed_Exception) {
        print "CultureFeed error code: {$e->error_code}" . PHP_EOL;
    }
    print "Message: {$e->getMessage()}" . PHP_EOL;
    print "Stack trace: {$eol}{$e->getTraceAsString()}" . PHP_EOL;
    exit(1);
 // Save the token and secret in the session.
 //$_SESSION['oauth_token'] = $token['oauth_token'];
 //$_SESSION['oauth_token_secret'] = $token['oauth_token_secret'];
 // Fetch the authorisation url...
 $auth_url = $c->getUrlAuthorize($token, $callback_url, CultureFeed::AUTHORIZE_TYPE_REGULAR);
 print "Now open the following URL in your browser: {$auth_url}" . PHP_EOL;
 print "After logging in with your UiTID you should inspect your RequestBin and find there the last request with an oauth_token and oauth_verifier." . PHP_EOL;
 print "Make sure the you have identified the right request, containing the oauth token: {$token['oauth_token']}" . PHP_EOL;
 print "Give me the oauth_verifier value now: ";
 $oauth_verifier = fgets(STDIN);
 $oauth_verifier = trim($oauth_verifier);
 $user_oauth_client = new CultureFeed_DefaultOAuthClient($consumer_key, $consumer_secret, $token['oauth_token'], $token['oauth_token_secret']);
 $user_oauth_client->setEndpoint($endpoint);
 $user_c = new CultureFeed($user_oauth_client);
 $new_token = $user_c->getAccessToken($oauth_verifier);
 $new_user_oauth_client = new CultureFeed_DefaultOAuthClient($consumer_key, $consumer_secret, $new_token['oauth_token'], $new_token['oauth_token_secret']);
 $new_user_oauth_client->setEndpoint($endpoint);
 $new_user_c = new CultureFeed($new_user_oauth_client);
 $account = $new_user_c->getUser($new_token['userId']);
 print "You have succesfully logged in with the following account: {$account->nick} [{$account->id}]" . PHP_EOL;
 print "Setting user preferences" . PHP_EOL;
 $preferences = new CultureFeed_Preferences();
 $preferences->activityPrivacyPreferences[] = new CultureFeed_ActivityPrivacyPreference(CultureFeed_Activity::TYPE_UITPAS, FALSE);
 $preferences = $new_user_c->setUserPreferences($account->id, $preferences);
 if (count($preferences->activityPrivacyPreferences) == 0) {
     print "No user preferences found" . PHP_EOL;
 } else {
     print "User preferences:" . PHP_EOL;
     foreach ($preferences->activityPrivacyPreferences as $preference) {
         $private = $preference->private ? "private" : "public";
         print "{$preference->activityType}: {$private}" . PHP_EOL;
Exemple #5
0
    // counterpart UDB2 update is processed.
    $delay = 4;
    $eventBusForwardingConsumer = new \CultuurNet\UDB3\UDB2\AMQP\EventBusForwardingConsumer($connection, $app['event_bus'], $deserializerLocator, new String($amqpConfig['consumer_tag']), new String($consumeConfig['exchange']), new String($consumeConfig['queue']), $delay);
    $logger = new Monolog\Logger('amqp.event_bus_forwarder');
    $logger->pushHandler(new \Monolog\Handler\StreamHandler('php://stdout'));
    $logFileHandler = new \Monolog\Handler\StreamHandler(__DIR__ . '/log/amqp.log', \Monolog\Logger::DEBUG);
    $logger->pushHandler($logFileHandler);
    $eventBusForwardingConsumer->setLogger($logger);
    return $connection;
});
$app['culturefeed'] = $app->share(function (Application $app) {
    $uitidConfig = $app['config']['uitid'];
    $baseUrl = $uitidConfig['base_url'];
    /** @var \CultuurNet\Auth\ConsumerCredentials $consumerCredentials */
    $consumerCredentials = $app['uitid_consumer_credentials'];
    $oauthClient = new \CultureFeed_DefaultOAuthClient($consumerCredentials->getKey(), $consumerCredentials->getSecret());
    $oauthClient->setEndpoint($baseUrl);
    $cultureFeed = new \CultureFeed($oauthClient);
    return $cultureFeed;
});
$app['uitpas'] = $app->share(function (Application $app) {
    /** @var CultureFeed $culturefeed */
    $cultureFeed = $app['culturefeed'];
    return $cultureFeed->uitpas();
});
$app['logger.uitpas'] = $app->share(function (Application $app) {
    $logger = new Monolog\Logger('uitpas');
    $logger->pushHandler(new \Monolog\Handler\StreamHandler(__DIR__ . '/log/uitpas.log'));
    return $logger;
});
// This service is used by the background worker to impersonate the user
 /**
  * Get an OAuthClient instance for CultureFeed.
  * @param string $endpoint
  *   Endpoint for the client.
  */
 public static function getOAuthClient($endpoint, $token, $secret, $application_key = NULL, $shared_secret = NULL)
 {
     if (!$application_key) {
         $application_key = variable_get('culturefeed_api_application_key', '');
         $shared_secret = variable_get('culturefeed_api_shared_secret', '');
     }
     $oauth_client = new CultureFeed_DefaultOAuthClient($application_key, $shared_secret, $token, $secret);
     $oauth_client->setEndpoint($endpoint);
     $http_client_factory = static::getHttpClientFactory();
     if (!$http_client_factory) {
         $http_client = new CultureFeed_DefaultHttpClient();
         // Enable the logging.
         // We only do this when the default HTTP client is used, because
         // the HttpClient interface does not have a enableLogging() method
         // and a logger is actually something that should be injected through
         // dependency injection.
         if (module_exists('culturefeed_devel')) {
             $http_client->enableLogging();
         }
     } else {
         $http_client = $http_client_factory->createHttpClient();
     }
     $http_client->setTimeout(variable_get('culturefeed_http_client_timeout', 10));
     if ($http_client instanceof CultureFeed_ProxySupportingClient) {
         $uri = @parse_url($endpoint);
         $proxy_server = variable_get('proxy_server', '');
         if ($proxy_server && (!is_callable('_drupal_http_use_proxy') || _drupal_http_use_proxy($uri['host']))) {
             $http_client->setProxyServer($proxy_server);
             $http_client->setProxyPort(variable_get('proxy_port', 8080));
             $http_client->setProxyUsername(variable_get('proxy_username', ''));
             $http_client->setProxyPassword(variable_get('proxy_password', ''));
         }
     }
     $oauth_client->setHttpClient($http_client);
     return $oauth_client;
 }