public function addFriend(OW_Event $event) { $params = $event->getParams(); if (empty($params['requesterId']) || empty($params['userId'])) { return; } $requesterId = $params['requesterId']; $userId = $params['userId']; $frendshipDto = $this->service->findFriendship($requesterId, $userId); if (!empty($frendshipDto)) { return; } $this->service->request($requesterId, $userId); $event = new OW_Event('friends.request-sent', array('senderId' => $requesterId, 'recipientId' => $userId, 'time' => time())); OW::getEventManager()->trigger($event); $frendshipDto = $this->service->accept($userId, $requesterId); if (empty($frendshipDto)) { return; } $se = BOL_UserService::getInstance(); $names = $se->getDisplayNamesForList(array($requesterId, $userId)); $uUrls = $se->getUserUrlsForList(array($requesterId, $userId)); //Add Newsfeed activity action $event = new OW_Event('feed.action', array('pluginKey' => 'friends', 'entityType' => 'friend_add', 'entityId' => $frendshipDto->id, 'userId' => array($requesterId, $userId), 'feedType' => 'user', 'feedId' => $requesterId), array('string' => array("key" => 'friends+newsfeed_action_string', "vars" => array('user_url' => $uUrls[$userId], 'name' => $names[$userId], 'requester_url' => $uUrls[$requesterId], 'requester_name' => $names[$requesterId])))); OW::getEventManager()->trigger($event); $event = new OW_Event('friends.request-accepted', array('senderId' => $requesterId, 'recipientId' => OW::getUser()->getId(), 'time' => time())); OW::getEventManager()->trigger($event); }