summaryrefslogtreecommitdiff
path: root/scripts/enjitqueuehandler.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2009-10-28 15:29:20 -0400
committerBrion Vibber <brion@pobox.com>2009-11-02 09:14:15 -0800
commit5581143bee602dbd5417f532f2b483e58d0a4269 (patch)
treeed1da24d03d594895c743c8e0a4bd3c46c42c6c7 /scripts/enjitqueuehandler.php
parent73b9e531bf7cab8ba6642f9cb85e4b37b48706d7 (diff)
Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added. * extlib: add PEAR HTTP_Request2 0.4.1 alpha * extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility * moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries * adapted GeonamesPlugin for new HTTPResponse interface Note some plugins haven't been fully tested yet.
Diffstat (limited to 'scripts/enjitqueuehandler.php')
-rwxr-xr-xscripts/enjitqueuehandler.php58
1 files changed, 20 insertions, 38 deletions
diff --git a/scripts/enjitqueuehandler.php b/scripts/enjitqueuehandler.php
index 08f733b07..afcac539a 100755
--- a/scripts/enjitqueuehandler.php
+++ b/scripts/enjitqueuehandler.php
@@ -46,8 +46,8 @@ class EnjitQueueHandler extends QueueHandler
function start()
{
- $this->log(LOG_INFO, "Starting EnjitQueueHandler");
- $this->log(LOG_INFO, "Broadcasting to ".common_config('enjit', 'apiurl'));
+ $this->log(LOG_INFO, "Starting EnjitQueueHandler");
+ $this->log(LOG_INFO, "Broadcasting to ".common_config('enjit', 'apiurl'));
return true;
}
@@ -56,16 +56,16 @@ class EnjitQueueHandler extends QueueHandler
$profile = Profile::staticGet($notice->profile_id);
- $this->log(LOG_INFO, "Posting Notice ".$notice->id." from ".$profile->nickname);
+ $this->log(LOG_INFO, "Posting Notice ".$notice->id." from ".$profile->nickname);
- if ( ! $notice->is_local ) {
- $this->log(LOG_INFO, "Skipping remote notice");
- return "skipped";
- }
+ if ( ! $notice->is_local ) {
+ $this->log(LOG_INFO, "Skipping remote notice");
+ return "skipped";
+ }
- #
- # Build an Atom message from the notice
- #
+ #
+ # Build an Atom message from the notice
+ #
$noticeurl = common_local_url('shownotice', array('notice' => $notice->id));
$msg = $profile->nickname . ': ' . $notice->content;
@@ -86,36 +86,18 @@ class EnjitQueueHandler extends QueueHandler
$atom .= "<updated>".common_date_w3dtf($notice->modified)."</updated>\n";
$atom .= "</entry>\n";
- $url = common_config('enjit', 'apiurl') . "/submit/". common_config('enjit','apikey');
- $data = "msg=$atom";
+ $url = common_config('enjit', 'apiurl') . "/submit/". common_config('enjit','apikey');
+ $data = array(
+ 'msg' => $atom,
+ );
- #
- # POST the message to $config['enjit']['apiurl']
- #
- $ch = curl_init();
+ #
+ # POST the message to $config['enjit']['apiurl']
+ #
+ $request = HTTPClient::start();
+ $response = $request->post($url, null, $data);
- curl_setopt($ch, CURLOPT_URL, $url);
-
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_POST, 1) ;
- curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
-
- # SSL and Debugging options
- #
- # curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
- # curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
- # curl_setopt($ch, CURLOPT_VERBOSE, 1);
-
- $result = curl_exec($ch);
-
- $code = curl_getinfo($ch, CURLINFO_HTTP_CODE );
-
- $this->log(LOG_INFO, "Response Code: $code");
-
- curl_close($ch);
-
- return $code;
+ return $response->isOk();
}
}