/** * 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; }