/**
  * Delete PersonAppData
  *
  * @param
  *   $userId for who data is to be deleted
  * @param
  *   $groupId of the user
  * @param
  *   $appId to which all Appdata belongs to
  * @param
  *   $feilds array of Appdata needs to be deleted 
  * @param
  *   $token security token for validation
  */
 public function deletePersonData($userId, GroupId $groupId, $appId, $fields, SecurityToken $token)
 {
     if ($fields == null || $fields[0] == '*') {
         $key = "*";
         if (!ShindigIntegratorDbFetcher::get()->deleteAppData($userId, $key, $token->getAppId())) {
             throw new SocialSpiException("Internal server error", ResponseError::$INTERNAL_ERROR);
         }
         return null;
     }
     foreach ($fields as $key) {
         if (!ShindigIntegratorAppDataService::isValidKey($key)) {
             throw new SocialSpiException("The person app data key had invalid characters", ResponseError::$BAD_REQUEST);
         }
     }
     switch ($groupId->getType()) {
         case 'self':
             foreach ($fields as $key) {
                 if (!ShindigIntegratorDbFetcher::get()->deleteAppData($userId, $key, $token->getAppId())) {
                     throw new SocialSpiException("Internal server error", ResponseError::$INTERNAL_ERROR);
                 }
             }
             break;
         default:
             throw new SocialSpiException("Not Implemented", ResponseError::$NOT_IMPLEMENTED);
             break;
     }
     return null;
 }
 /**
  *
  * @return int
  */
 public function getAppId()
 {
     $appId = $this->getParameter(self::$APP_ID);
     if ($appId != null && $appId == self::$APP_SUBSTITUTION_TOKEN) {
         return $this->token->getAppId();
     } else {
         return $appId;
     }
 }
 protected function getKey($userId, SecurityToken $token)
 {
     $pos = strrpos($userId, ':');
     if ($pos !== false) {
         $userId = substr($userId, $pos + 1);
     }
     if ($token->getAppId()) {
         return self::$TOKEN_PREFIX . $token->getAppId() . '_' . $userId;
     }
     return self::$TOKEN_PREFIX . $token->getAppUrl() . '_' . $userId;
 }
示例#4
0
 public static function getAppId($appId, SecurityToken $token)
 {
     if ($appId == '@app') {
         return $token->getAppId();
     } else {
         return $appId;
     }
 }
 public function createMessage($userId, $appId, $message, $optionalMessageId, SecurityToken $token)
 {
     try {
         $messages = ATutorDbFetcher::get()->createMessage($userId, $token->getAppId(), $message);
     } catch (SocialSpiException $e) {
         throw $e;
     } catch (Exception $e) {
         throw new SocialSpiException("Invalid create message request: " . $e->getMessage(), ResponseError::$INTERNAL_ERROR);
     }
 }
 /**
  * @return string
  */
 private function getKey($userId, SecurityToken $token)
 {
     $pos = strrpos($userId, ':');
     if ($pos !== false) {
         $userId = substr($userId, $pos + 1);
     }
     if ($token->getAppId()) {
         return DefaultInvalidateService::$TOKEN_PREFIX . $token->getAppId() . '_' . $userId;
     }
     return DefaultInvalidateService::$TOKEN_PREFIX . $token->getAppUrl() . '_' . $userId;
 }
 private static function addIdentityParams(array &$params, SecurityToken $token)
 {
     $params['opensocial_owner_id'] = $token->getOwnerId();
     $params['opensocial_viewer_id'] = $token->getViewerId();
     $params['opensocial_app_id'] = $token->getAppId();
     $params['opensocial_app_url'] = $token->getAppUrl();
 }
 public function createActivity($userId, $groupId, $appId, $fields, $activity, SecurityToken $token)
 {
     $db = $this->getDb();
     $activitiesTable = $this->getAllActivities();
     $activity['appId'] = $token->getAppId();
     try {
         if (!isset($activitiesTable[$userId->getUserId($token)])) {
             $activitiesTable[$userId->getUserId($token)] = array();
         }
         $activity['id'] = count($activitiesTable[$userId->getUserId($token)]) + 1;
         array_push($activitiesTable[$userId->getUserId($token)], $activity);
         $db[self::$ACTIVITIES_TABLE] = $activitiesTable;
         $this->saveDb($db);
         // Should this return something to show success?
     } catch (Exception $e) {
         throw new SocialSpiException("Activity can't be created: " . $e->getMessage(), ResponseError::$INTERNAL_ERROR);
     }
 }
 public function createActivity($userId, $groupId, $appId, $fields, $activity, SecurityToken $token)
 {
     if ($appId == $token->getAppId()) {
         $appId = '@app';
     }
     $q = array(array('method' => 'activities.create', 'params' => array('userId' => $this->getIdSet($userId, $token), 'groupId' => $this->getGroupId($groupId), 'appId' => $appId, 'activity' => $activity), 'id' => 'key'));
     $this->fetch($q, $token);
     return null;
 }
 private function addOpenSocialParams(&$msgParams, SecurityToken $token, $signOwner, $signViewer)
 {
     if ($signOwner) {
         $owner = $token->getOwnerId();
         if ($owner != null) {
             $msgParams[SigningFetcher::$OPENSOCIAL_OWNERID] = $owner;
         }
     }
     if ($signViewer) {
         $viewer = $token->getViewerId();
         if ($viewer != null) {
             $msgParams[SigningFetcher::$OPENSOCIAL_VIEWERID] = $viewer;
         }
     }
     if ($signOwner || $signViewer) {
         $app = $token->getAppId();
         if ($app != null) {
             $msgParams[SigningFetcher::$OPENSOCIAL_APPID] = $app;
         }
         $url = $token->getAppUrl();
         if ($url != null) {
             $msgParams[SigningFetcher::$OPENSOCIAL_APPURL] = $url;
         }
     }
 }