示例#1
0
 /**
  * Return an array of comments from Facebook
  *
  * @param User $user, string $xid
  * @return array
  */
 public static function getComments(FeedItem $feedItem)
 {
     $comments = array();
     $fid = $feedItem->getID();
     // pull albums for the given user
     try {
         $fql = 'select xid , post_id, fromid, time , text , id , username , reply_xid from comment where xid = ' . $feedItem->getID();
         $results = self::getClient()->api_client->fql_query($fql);
     } catch (Exception $e) {
         $results = array('error_code' => $e->getCode(), 'error_msg' => $e->getMessage());
     }
     // if an error occred, log it
     if (isset($results['error_code'])) {
         self::log('facebook getComments-' . $fid . '-' . $results['error_msg']);
     } elseif ($results) {
         $values = array();
         foreach ($results as $row) {
             $netUser = new User();
             if (!$netUser->getByNetworkID(self::getNetwork(), $row['fromid'])) {
                 $netUser = UserHelper::create(null, null, null, null, self::getNetwork(), $row['fromid']);
             }
             try {
                 $comments[] = $feedItem->addComment($netUser, $row['text'], $row['time'], self::getNetwork()->getName() . ':' . $row['id']);
             } catch (Exception $ex) {
                 //If no id, it's likely a dupe; just continue
             }
         }
     }
     return $comments;
 }