From 35ad4f06a100ff23556f598c0fb51724b79f2bd0 Mon Sep 17 00:00:00 2001
From: dave
Date: Tue, 17 Jun 2008 08:07:25 +0000
Subject: removed guid exporter, exporttest and apitest from core and put them
into the plugins folder
git-svn-id: https://code.elgg.org/elgg/trunk@941 36083f99-b078-4883-b0ff-0f9b5a30f544
---
mod/apitest/start.php | 251 --------------------------------------------------
1 file changed, 251 deletions(-)
delete mode 100644 mod/apitest/start.php
(limited to 'mod/apitest/start.php')
diff --git a/mod/apitest/start.php b/mod/apitest/start.php
deleted file mode 100644
index d03c7925a..000000000
--- a/mod/apitest/start.php
+++ /dev/null
@@ -1,251 +0,0 @@
-
- * @copyright Curverider Ltd 2008
- * @link http://elgg.com/
- */
-
- $API_CLIENT = new stdClass;
-
- // Status variables we can query later
- $LAST_CALL = null;
- $LAST_CALL_RAW = "";
- $LAST_ERROR = null;
-
-
- function apitest_init($event, $object_type, $object = null) {
-
- global $CONFIG;
-
- add_menu("API Test",$CONFIG->wwwroot . "mod/apitest/",array(
- menu_item("The API Tester plugin",$CONFIG->wwwroot."mod/apitest/"),
- ));
- }
-
- /**
- * Generate our HMAC.
- */
- function apitest_calculate_hmac($algo, $time, $api_key, $secret_key, $get_variables, $post_hash = "")
- {
- $ctx = hash_init($algo, HASH_HMAC, $secret_key);
-
- hash_update($ctx, trim($time));
- hash_update($ctx, trim($api_key));
- hash_update($ctx, trim($get_variables));
- if (trim($post_hash)!="") hash_update($ctx, trim($post_hash));
-
- return hash_final($ctx);
- }
-
- /**
- * Generate our POST hash.
- */
- function apitest_calculate_posthash($postdata, $algo)
- {
- $ctx = hash_init($algo);
-
- hash_update($ctx, $postdata);
-
- return hash_final($ctx);
- }
-
- /**
- * Serialise HTTP headers.
- */
- function apitest_serialise_headers(array $headers)
- {
- $headers_str = "";
-
- foreach ($headers as $k => $v)
- $headers_str .= trim($k) . ": " . trim($v) . "\r\n";
-
- return trim($headers_str);
- }
-
- /**
- * Make a raw call.
- * @param array $method Method call parameters.
- * @param string $postdata Optional POST data.
- * @param string $content_type The content type.
- * @return stdClass
- */
- function apitest_call(array $method, $postdata = "", $content_type = 'application/octet-stream')
- {
- // Get the config
- global $API_CLIENT, $LAST_CALL, $LAST_CALL_RAW, $LAST_ERROR;
-
- $headers = array();
- $encoded_params = array();
-
- $time = microtime(true); // Get the current time in microseconds
- $request = ($postdata!="" ? "POST" : "GET"); // Get the request method, either post or get
-
- // Hard code the format - we're using PHP, so lets use PHP serialisation.
- $method['format'] = "php";
-
- // URL encode all the parameters
- foreach ($method as $k => $v){
- if (is_array($v))
- {
- foreach ($v as $v2)
- {
- $encoded_params[] = urlencode($k).'[]='.urlencode($v2);
- }
- }
- else
- $encoded_params[] = urlencode($k).'='.urlencode($v);
- }
-
- $params = implode('&', $encoded_params);
-
- // Put together the query string
- $url = $API_CLIENT->api_endpoint."?". $params;
-
- // Construct headers
- $posthash = "";
- if ($request=='POST')
- {
- $posthash = apitest_calculate_posthash($postdata, $API_CLIENT->postdata_hash_algo);
-
- $headers['X-Elgg-posthash'] = $posthash;
- $headers['X-Elgg-posthash-algo'] = $API_CLIENT->postdata_hash_algo;
- $headers['Content-type'] = $content_type;
- $headers['Content-Length'] = strlen($postdata);
- }
-
- $headers['X-Elgg-apikey'] = $API_CLIENT->api_key;
- $headers['X-Elgg-time'] = $time;
- $headers['X-Elgg-hmac-algo'] = $API_CLIENT->hmac_algo;
- $headers['X-Elgg-hmac'] = apitest_calculate_hmac($API_CLIENT->hmac_algo,
- $time,
- $API_CLIENT->api_key,
- $API_CLIENT->secret,
- $params,
- $posthash
- );
-
- // Configure stream options
- $opts = array(
- 'http'=>array(
- 'method'=> $request,
- 'header'=> apitest_serialise_headers($headers)
- )
- );
-
- // If this is a post request then set the content
- if ($request=='POST')
- $opts['http']['content'] = $postdata;
-
- // Set stream options
- $context = stream_context_create($opts);
-
- // Send the query and get the result and decode.
- $LAST_CALL_RAW = file_get_contents($url, false, $context);
- $LAST_CALL = unserialize($LAST_CALL_RAW);
-
- if (($LAST_CALL) && ($LAST_CALL->status!=0)) // Check to see if this was an error
- $LAST_ERROR = $LAST_CALL;
-
- return $LAST_CALL; // Return a stdClass containing the API result
- }
-
- function apitest_configure($apikey, $secret, $endpoint = "")
- {
- global $CONFIG;
- global $API_CLIENT;
-
- $apikey = sanitise_string($apikey);
- $secret = sanitise_string($secret);
- $endpoint = sanitise_string($endpoint);
-
- if ($endpoint=="")
- $endpoint = $CONFIG->wwwroot . "services/api/rest.php";
-
- $API_CLIENT->api_key = $apikey;
- $API_CLIENT->secret = $secret;
- $API_CLIENT->api_endpoint = $endpoint;
- $API_CLIENT->hmac_algo = 'sha1';
- $API_CLIENT->postdata_hash_algo = 'md5';
- $API_CLIENT->configured = true;
- }
-
- function apitest_draw_command_form($command, $details)
- {
- global $API_CLIENT;
-
- $params = array();
-
- // If authentication is required then ensure this is prompted for
- if ($details->require_auth == true)
- $params['auth_token'] = $_REQUEST['auth_token'];
-
-
- // Compile a list of parameters
- foreach ($details['parameters'] as $k => $v)
- {
- $params[$k] = $_REQUEST[$k];
- }
-
- // Construct list of variables
- $variables = "";
- foreach ($params as $k => $v)
- {
- $variables .= $k;
- $variables .= "";
-
- if (isset($details['parameters'][$k]['required']) && ($details['parameters'][$k]['required']!=0))
- $variables .= " (optional)";
-
- $variables .= ", ";
- }
-
- // Do we need to provide post data?
- $postdata = "";
- if ($details->call_method == 'POST')
- $postdata = "add post data...";
-
- $body = <<< END
-
-
-
-
- $command (desc):
-
- $variables
-
- $postdata
-
-
- {$details['description']}
-
-
-
-
-END;
-
- return $body;
- }
-
-
- function apitest_draw_config_panel()
- {
- global $API_CLIENT;
-
- return elgg_view("apitest/configform", array(
- "apikey" => $API_CLIENT->api_key,
- "secret" => $API_CLIENT->secret,
- "endpoint" => $API_CLIENT->api_endpoint
- ));
- }
-
- // Make sure test_init is called on initialisation
- register_elgg_event_handler('init','system','apitest_init');
-?>
\ No newline at end of file
--
cgit v1.2.3