Example #1
0
 /**
  * Serialize the objet to XML
  */
 public function toXML()
 {
     $xml = Parser::convertToDOMDocument("<lti />");
     $this->appendElement($xml, "id", $this->getID());
     $this->appendElement($xml, "instructor", $this->isInstructor());
     foreach ($this->request->get_parameters() as $id => $value) {
         $this->appendElement($xml, $id, $value);
     }
     return $xml;
 }
 public function testGetAllParameters()
 {
     // Yes, a awesomely boring test.. But if this doesn't work, the other tests is unreliable
     $request = new OAuthRequest('', '', array('test' => 'foo'));
     $this->assertEquals(array('test' => 'foo'), $request->get_parameters(), 'Failed to read back parameters');
     $request = new OAuthRequest('', '', array('test' => 'foo', 'bar' => 'baz'));
     $this->assertEquals(array('test' => 'foo', 'bar' => 'baz'), $request->get_parameters(), 'Failed to read back parameters');
     $request = new OAuthRequest('', '', array('test' => array('foo', 'bar')));
     $this->assertEquals(array('test' => array('foo', 'bar')), $request->get_parameters(), 'Failed to read back parameters');
 }
Example #3
0
 /**
  * Performs a OAuthRequest, returning the response
  * You can give a token to force signatures with this
  * token. If none given, the token used when creating
  * this instance of CampusNotesAPI is used
  * @param OAuthRequest $req
  * @param OAuthToken $token 
  * @return string
  * @throws CNApiException
  */
 private function _performRequest(OAuthRequest $req, OAuthToken $token = null)
 {
     $token = $token ? $token : $this->oauth_token;
     $req->sign_request($this->hmac_signature_method, $this->oauth_consumer, $token);
     $curl = curl_init();
     $params = $req->get_parameters();
     foreach (array_keys($params) as $i) {
         if (substr($i, 0, 6) == 'oauth_') {
             unset($params[$i]);
         }
     }
     $url = $req->get_normalized_http_url();
     if ($req->get_normalized_http_method() == 'POST') {
         curl_setopt($curl, CURLOPT_POST, true);
         curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
     } else {
         if (count($params)) {
             $url .= '?' . http_build_query($params);
         }
     }
     curl_setopt($curl, CURLOPT_URL, $url);
     curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
     curl_setopt($curl, CURLOPT_HTTPHEADER, array($req->to_header()));
     $rtn = curl_exec($curl);
     if (!$rtn) {
         throw new OAuthClientException(curl_error($curl));
     } else {
         if (curl_getinfo($curl, CURLINFO_HTTP_CODE) != 200) {
             throw new OAuthClientException($rtn);
         } else {
             return $rtn;
         }
     }
 }