diff --git a/src/Skobkin/Bundle/PointToolsBundle/Command/UpdateSubscriptionsCommand.php b/src/Skobkin/Bundle/PointToolsBundle/Command/UpdateSubscriptionsCommand.php index d421d0d..76c02ee 100644 --- a/src/Skobkin/Bundle/PointToolsBundle/Command/UpdateSubscriptionsCommand.php +++ b/src/Skobkin/Bundle/PointToolsBundle/Command/UpdateSubscriptionsCommand.php @@ -67,11 +67,22 @@ class UpdateSubscriptionsCommand extends ContainerAwareCommand try { $serviceSubscribers = $api->getUserSubscribersById($serviceUserId); } catch (\Exception $e) { - // @todo fallback to the local subscribers list $output->writeln('Error while getting service subscribers'); $log->error('Error while getting service subscribers.', ['user_login' => $serviceUser->getLogin(), 'user_id' => $serviceUser->getId(), 'message' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine()]); - return false; + $serviceSubscribers = []; + + foreach ($serviceUser->getSubscribers() as $subscription) { + $serviceSubscribers[] = $subscription->getSubscriber(); + } + + $output->writeln('Fallback to local list'); + $log->error('Fallback to local list'); + + if (!count($serviceSubscribers)) { + $log->info('No local subscribers. Finishing.'); + return false; + } } if ($output->isVerbose()) { diff --git a/src/Skobkin/Bundle/PointToolsBundle/Entity/User.php b/src/Skobkin/Bundle/PointToolsBundle/Entity/User.php index 38e003c..051f9be 100644 --- a/src/Skobkin/Bundle/PointToolsBundle/Entity/User.php +++ b/src/Skobkin/Bundle/PointToolsBundle/Entity/User.php @@ -184,7 +184,7 @@ class User /** * Get subscribers * - * @return ArrayCollection + * @return Subscription[]|ArrayCollection */ public function getSubscribers() {