Ejemplo n.º 1
0
 /**
  * Take a list of likes from a page or a post, run through pagination and add a count member to the object.
  * @param  object $likes Likes Object structure from Facebook API
  * @return object
  */
 private function normalizeLikes($likes)
 {
     $output = (object) array('count' => 0, 'data' => array());
     // Just in case we get an object with the legacy layout
     if (!isset($likes->data)) {
         if (is_int($likes)) {
             $output->count = $likes;
         } elseif (is_object($likes) && isset($likes->count) && is_int($likes->count)) {
             $output->count = $likes->count;
         }
         return $output;
     }
     while ($likes !== null) {
         foreach ($likes->data as $like) {
             $output->data[] = $like;
             $output->count++;
         }
         if (!empty($likes->paging->next)) {
             $next_url = $likes->paging->next;
             //DEBUG
             //$this->logger->logInfo("Next likes url ".$next_url, __METHOD__.','.__LINE__);
             $likes = FacebookGraphAPIAccessor::apiRequestFullURL($next_url, $this->access_token);
         } else {
             $likes = null;
         }
     }
     return $output;
 }