/** * save full feed * * @param YiidActivity $pYiidActivity * @param User $pUser * @author Matthias Pfefferle */ public static function createActivitiesData($pYiidActivity) { $lCollection = self::getMongoCollection("analytics.activities"); $lUrlParts = parse_url($pYiidActivity->getUrl()); $lOnlineIdentities = array(); foreach ($pYiidActivity->getOiids() as $lId) { $lOi = OnlineIdentityTable::getInstance()->retrieveByPk($lId); if ($lOi) { $lOnlineIdentities[] = array('name' => $lOi->getCommunity()->getCommunity(), 'cnt' => intval($lOi->getFriendCount())); } } // online-identities required if (empty($lOnlineIdentities)) { return false; } $pUser = $pYiidActivity->getUser(); // basic options $lOptions = array('host' => $lUrlParts['host'], 'url' => $pYiidActivity->getUrl(), 'title' => $pYiidActivity->getSocialObject()->getTitle(), 'date' => new MongoDate(strtotime(date("Y-m-d", $pYiidActivity->getC()))), 'verb' => $pYiidActivity->getVerb(), 'gender' => $pUser->getGender(), 'user_id' => intval($pUser->getId()), 'ya_id' => $pYiidActivity->getId(), 'age' => intval($pUser->getAge()), 'rel' => $pUser->getRelationshipState(), 'oi' => $lOnlineIdentities); if ($pYiidActivity->getScore() > 0) { $lOptions["pos"] = true; } else { $lOptions["pos"] = false; } // add clickbacks if ($pYiidActivity->isClickback()) { $lOptions['cb'] = array('name' => $pYiidActivity->getCbService(), 'ya_id' => $pYiidActivity->getCbReferer()); } // add tags if ($lTags = $pYiidActivity->getTags()) { $lOptions['tags'] = $lTags; } // add deal id if ($lDealId = $pYiidActivity->getDId()) { $lOptions['d_id'] = $lDealId; } $lCollection->insert($lOptions); }