Exemple #1
0
        }
    }
    $output->writeln("All topics in use:");
    foreach ($allTopics as $topic) {
        $output->writeln(" -> {$topic}");
    }
    $subscriptions = $app['subscriptions.storage']->getSubscriptions();
    foreach ($subscriptions as $subscription) {
        if (!in_array($subscription['topic'], $allTopics)) {
            if ($subscription['hub'] == $dh->getUrl()) {
                $unsubhub = $dh;
            } else {
                $unsubhub = new Subscriptions\PushHub($subscription['hub']);
            }
            $callback = $app['url_generator']->generate('subscriptions.id.ping', ['id' => $subscription['id']], true);
            $unsubhub->unsubscribe($subscription['topic'], $callback);
            $output->writeln("Unsubscribed from {$subscription['topic']} at {$unsubhub}");
        }
    }
});
$console->register('poll')->setDescription('Polls any feeds subscribed to with a URL of inert-hub')->setCode(function (InputInterface $input, OutputInterface $output) use($app) {
    /** @var Subscriptions\SubscriptionStorage */
    $storage = $app['subscriptions.storage'];
    /** @var Subscriptions\PushHub $defaultHub */
    $defaultHub = $app['subscriptions.defaulthub'];
    foreach ($storage->getSubscriptionsForHub($defaultHub->getUrl()) as $subscription) {
        $output->writeln("Fetching {$subscription['topic']}");
        list($context, $err) = Subscriptions\manualFetch($app, $subscription['topic'], $app['http.client']);
        if ($err === null) {
            $output->writeln(" -> Successfully fetched.");
        } else {