コード例 #1
0
 /**
  * put facebook message
  * @author Tomasz Odrobny
  */
 public static function pushEvent($message, $params, $class)
 {
     global $wgServer, $wgUser;
     $id = FBConnectDB::getFacebookIDs($wgUser);
     if (count($id) < 1) {
         return 1001;
         //status for disconnected
     }
     /* only one event par request */
     if (self::$eventCounter > 0) {
         return 1000;
         //status for out of limit
     }
     self::$eventCounter++;
     if (wfRunHooks('FBConnect::BeforePushEvent', array($id, &$message, &$params, &$class))) {
         $fb = new FBConnectAPI();
         $image = $params['$EVENTIMG'];
         if (strpos($params['$EVENTIMG'], 'http://') === false) {
             $image = $wgServer . '/index.php?action=ajax&rs=FBConnectPushEvent::showImage&time=' . time() . '&fb_id=' . $wgUser->getId() . "&event=" . $class . '&img=' . $params['$EVENTIMG'];
         }
         $href = $params['$ARTICLE_URL'];
         $description = wfMsg($message);
         $link = wfMsg($message . '-link');
         $short = wfMsg($message . '-short');
         $params['$FB_NAME'] = "";
         foreach ($params as $key => $value) {
             if ($value instanceof Article) {
                 continue;
             }
             $description = str_replace($key, $value, $description);
             $link = str_replace($key, $value, $link);
             $short = str_replace($key, $value, $short);
         }
         $status = $fb->publishStream($href, $description, $short, $link, $image);
         self::addEventStat($status, $class);
         return $status;
     }
     return false;
 }