/** * Perform an OMB action * * Executes an OMB action – as of OMB 0.1, it’s one of updateProfile and * postNotice. * * @param string $action_uri The URI specifying the target service * @param array $params Additional parameters for the service call * @param string $listenee_uri The URI identifying the local user for whom * the action is performed * * @access protected */ protected function performOMBAction($action_uri, $params, $listenee_uri) { $result = $this->performAction($action_uri, $params); if ($result->status == 403) { /* The remote user unsubscribed us. */ $this->datastore->deleteSubscription($this->listener_uri, $listenee_uri); } else { if ($result->status != 200 || strpos($result->body, 'omb_version=' . OMB_VERSION) === false) { /* The server signaled an error or sent an incorrect response. */ throw OMB_RemoteServiceException::fromYadis($action_uri, $result); } } }