From: garvinhicking Date: Thu, 12 Jan 2006 15:39:37 +0000 (+0000) Subject: Abstract PEAR HTTP_Request calls so that plugins can modify the input data X-Git-Tag: 1.0~173 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=4cb860ccb52da2faf97935e50adc4558f98cc2fd;p=s9y.git Abstract PEAR HTTP_Request calls so that plugins can modify the input data --- diff --git a/docs/NEWS b/docs/NEWS index ac6e9de..8d6427e 100644 --- a/docs/NEWS +++ b/docs/NEWS @@ -3,6 +3,10 @@ Version 1.0 () ------------------------------------------------------------------------ + * Add new plugin hook "backend_http_request" which passes PEAR + HTTP_Request options to plugins for modification. $addData contains + the source of where a request is being made (garvinhicking) + * Make WordPress importer not fail on the missing "user_level" column for WordPress 2.0 (garvinhicking) diff --git a/include/admin/images.inc.php b/include/admin/images.inc.php index c7c8a7a..4d57de9 100644 --- a/include/admin/images.inc.php +++ b/include/admin/images.inc.php @@ -174,7 +174,9 @@ switch ($serendipity['GET']['adminAction']) { echo '(' . $target . ') ' . ERROR_FILE_EXISTS_ALREADY; } else { require_once S9Y_PEAR_PATH . 'HTTP/Request.php'; - $req = &new HTTP_Request($serendipity['POST']['imageurl']); + $options = array(); + serendipity_plugin_api::hook_event('backend_http_request', $options, 'image'); + $req = &new HTTP_Request($serendipity['POST']['imageurl'], $options); // Try to get the URL if (PEAR::isError($req->sendRequest()) || $req->getResponseCode() != '200') { diff --git a/include/functions_trackbacks.inc.php b/include/functions_trackbacks.inc.php index 82c0123..9613827 100644 --- a/include/functions_trackbacks.inc.php +++ b/include/functions_trackbacks.inc.php @@ -84,7 +84,9 @@ function _serendipity_send($loc, $data) { $uri = $target['scheme'] . '://' . $target['host'] . ':' . $target['port'] . $target['path'] . $target['query']; require_once S9Y_PEAR_PATH . 'HTTP/Request.php'; - $req = &new HTTP_Request($uri, array('allowRedirects' => true, 'maxRedirects' => 5, 'method' => 'POST')); + $options = array('allowRedirects' => true, 'maxRedirects' => 5, 'method' => 'POST'); + serendipity_plugin_api::hook_event('backend_http_request', $options, 'trackback_send'); + $req = &new HTTP_Request($uri, $options); $req->addRawPostData($data, true); $res = $req->sendRequest(); @@ -190,7 +192,9 @@ global $serendipity; $parsed_loc = $u['scheme'] . '://' . $u['host'] . $port . $u['path']; require_once S9Y_PEAR_PATH . 'HTTP/Request.php'; - $req = &new HTTP_Request($parsed_loc, array('allowRedirects' => true, 'maxRedirects' => 5, 'method' => 'GET')); + $options = array('allowRedirects' => true, 'maxRedirects' => 5, 'method' => 'GET'); + serendipity_plugin_api::hook_event('backend_http_request', $options, 'trackback_detect'); + $req = &new HTTP_Request($parsed_loc, $options); $res = $req->sendRequest(); if (PEAR::isError($res)) { diff --git a/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php b/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php index 20e3591..ec27fb1 100644 --- a/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php +++ b/plugins/serendipity_event_spartacus/serendipity_event_spartacus.php @@ -254,7 +254,9 @@ class serendipity_event_spartacus extends serendipity_event echo '
'; } else { require_once S9Y_PEAR_PATH . 'HTTP/Request.php'; - $req = &new HTTP_Request($url); + $options = array(); + serendipity_plugin_api::hook_event('backend_http_request', $options, 'spartacus'); + $req = &new HTTP_Request($url, $options); if (PEAR::isError($req->sendRequest()) || $req->getResponseCode() != '200') { printf(PLUGIN_EVENT_SPARTACUS_FETCHERROR, $url); diff --git a/plugins/serendipity_event_weblogping/serendipity_event_weblogping.php b/plugins/serendipity_event_weblogping/serendipity_event_weblogping.php index 83edbf4..7acdca2 100644 --- a/plugins/serendipity_event_weblogping/serendipity_event_weblogping.php +++ b/plugins/serendipity_event_weblogping/serendipity_event_weblogping.php @@ -196,7 +196,9 @@ class serendipity_event_weblogping extends serendipity_event # 15 second timeout may not be long enough for weblogs.com $message->createPayload(); - $req = new HTTP_Request("http://".$service['host'].$service['path']); + $options = array(); + serendipity_plugin_api::hook_event('backend_http_request', $options, 'weblogping'); + $req = new HTTP_Request("http://".$service['host'].$service['path'], $options); $req->setMethod(HTTP_REQUEST_METHOD_POST); $req->addHeader("Content-Type", "text/xml"); if (strtoupper(LANG_CHARSET) != 'UTF-8') {