예제 #1
0
 public function pushNotifications()
 {
     $notifications = $this->notifications->all();
     foreach ($notifications as $notification) {
         $subscriptionId = $notification['subscription_id'];
         $subscriber = $this->subscriptions->getById($subscriptionId);
         if (is_null($subscriber)) {
             $this->log("Unknown subscriber: {$subscriptionId}");
             $this->subscriptions->deleteById($subscriptionId);
             $this->notifications->deleteById($notification['id']);
             continue;
         }
         $notData = array_merge($notification, $subscriber, array('notificationId' => $notification['id']));
         if ($this->push($notData)) {
             $this->notifications->deleteById($notification['id']);
         } else {
             $notification_json = json_encode($notData);
             $this->log("Pushing notification failed: {$notification_json}");
         }
     }
 }