/** * creates an activity * * @param osapi $osapi * @param $templateId * @param array $templateParams * @param $userId * @return unknown */ function createActivity(osapi $osapi, $title, $body, $userId = '@me', $appId = '@app') { $batch = $osapi->newBatch(); $activity = new osapiActivity(); $activity->setField('title', $title); $activity->setField('body', $body); $create_params = array('userId' => $userId, 'groupId' => '@self', 'activity' => $activity, 'appId' => $appId); $batch->add($osapi->activities->create($create_params), 'createActivity'); return $batch->execute(); }
function addActivity($title = NULL, $body = NULL, $groupId = NULL) { if (empty($title) || empty($body) || empty($groupId)) { throw new Exception("should specify title, body and groupId"); } $activity = new osapiActivity(); $activity->setTitle($title); $activity->setBody($body); $params = array('userId' => '@me', 'groupId' => $groupId, 'activity' => $activity); $batch = $this->osapi->newBatch(); $batch->add($this->osapi->activities->create($params), 'addActivity'); $result = $batch->execute(); }
/** * Tests osapiActivities->create() */ public function testCreate() { $response = '[{"data":null}]'; $this->osapi->provider->httpProvider->addResponse($response); $batch = $this->osapi->newBatch(); $activity = new osapiActivity(null, null); $activityBody = 'osapi test activity body'; $activityTitle = 'osapi test activity at ' . time(); $activity->setTitle($activityTitle); $activity->setBody($activityBody); $batch->add($this->osapi->activities->create(array('userId' => $this->userId, 'groupId' => '@friends', 'activity' => $activity))); $result = $batch->execute(); $canonicalBody = '[{"method":"activities.create","params":{"userId":["' . $this->userId . '"],"groupId":"@friends","activity":{"body":"' . $activityBody . '","mediaItems":[],"title":"' . $activityTitle . '"},"appId":"@app"},"id":null}]'; $lastRequest = $this->osapi->provider->httpProvider->getLastRequest(); $this->assertEquals($canonicalBody, $lastRequest['body']); }
/** * Private function to parse out the media items into typed osapiMediaItems * * @param osapiActivity $activity * @param array $array * @param boolean $strictMode */ private static function convertMediaItems(osapiActivity $activity, array $array, $strictMode) { if (isset($array['mediaItems']) && count($array['mediaItems'])) { $mediaItems = array(); foreach ($array['mediaItems'] as $mediaItem) { $mimeType = isset($mediaItem['mimeType']) ? $mediaItem['mimeType'] : null; $type = isset($mediaItem['type']) ? $mediaItem['type'] : null; $url = isset($mediaItem['url']) ? $mediaItem['url'] : null; if ($strictMode && ($mimeType == null || $type == null || $url == null)) { throw new osapiException("Invalid activity entry, missing fields (mimeType: {$mimeType}, type: {$type}, url: {$url})"); } $mediaItems[] = new osapiMediaItem($mimeType, $type, $url); } $activity->setMediaItems($mediaItems); } unset($array['mediaItems']); }
public function testCreate() { $this->assertSupportedMethod('activities.create'); $datenow = date('Y-m-d h:i:s'); $batch = $this->suite->osapi->newBatch(); $activity = new osapiActivity(null, null); $activity->setTitle('osapi test activity at ' . $datenow); $activity->setBody('osapi test activity body'); $createParams = array('userId' => '@me', 'groupId' => '@self', 'appId' => '@app', 'activity' => $activity); $batch->add($this->suite->osapi->activities->create($createParams), 'createActivity'); $result = $batch->execute(); if ($result['createActivity'] instanceof osapiError) { $name = $this->suite->getName(); $code = $result['createActivity']->getErrorCode(); $message = $result['createActivity']->getErrorMessage(); if ($code == 417) { //TODO: Have the provider throw an over quota exception, since not every provider uses this code. $this->markTestSkipped("Creating an activity reported 417. Were you over quota? ({$message})"); return; } $this->fail(sprintf("%s failed to create an activity: %s (%s)", $name, $message, $code)); } }
function _sendActivity($case, $activity) { $spaceName = "Sugar Cases " . $case->case_number; $activity = $GLOBALS["current_user"]->full_name . ": " . $activity; $spaces_config = $this->_getConfig(); $provider = new osapiProvider("", "", "", "", $spaces_config["os_rpc_url"], "eXo Social", true, null); $auth = new osapiOAuth2Legged($spaces_config["os_oauth_key_name"], $spaces_config["os_oauth_key_secret"], $spaces_config["os_user"]); $osapi = new osapi($provider, $auth); $osactivity = new osapiActivity(); $osactivity->setTitle($activity); $osactivity->setBody($activity); $params = array('userId' => '@me', 'groupId' => "space:" . $spaceName, 'activity' => $osactivity); // Start a batch $batch = $osapi->newBatch(); $batch->add($osapi->activities->create($params)); $result = $batch->execute(); }
*/ require_once "__init__.php"; if ($osapi) { if ($strictMode) { $osapi->setStrictMode($strictMode); } // Start a batch so that many requests may be made at once. $batch = $osapi->newBatch(); // Request the activities of the current user. $user_params = array('userId' => $userId, 'groupId' => '@self', 'count' => 10); $batch->add($osapi->activities->get($user_params), 'userActivities'); // Get the current user's friends' activities. $friend_params = array('userId' => $userId, 'groupId' => '@friends', 'count' => 5); $batch->add($osapi->activities->get($friend_params), 'friendActivities'); // Create an activity (you could add osapiMediaItems to this btw) $activity = new osapiActivity(); // Myspace requires some addtional things to be set. if (isset($_REQUEST["test"]) && $_REQUEST["test"] == 'myspace') { $msParameters = array(); $msParameters[] = array("key" => "content", "value" => "Hello there, this is my template parama content."); $msParameters[] = array("key" => "service", "value" => "PHP SDK Updated " . time()); $activity->setField('templateParams', $msParameters); $activity->setField('titleId', 'Template_1'); } else { $activity->setField('title', 'osapi test activity at ' . time()); $activity->setField('body', 'osapi test activity body'); } $create_params = array('userId' => $userId, 'groupId' => '@self', 'activity' => $activity, 'appId' => $appId); $batch->add($osapi->activities->create($create_params), 'createActivity'); // supported fields $batch->add($osapi->activities->getSupportedFields(), 'supportedFields');
/** * Tests osapiActivity->getUserId() */ public function testGetUserId() { $this->assertEquals(1, $this->osapiActivity->getUserId()); }