X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=scripts%2Fenjitqueuehandler.php;h=afcac539a66c1380e5cbf13c96a8ad4bc9cf94ad;hb=a55939f3b1540cf86b6edcf4f0c8ff79fb5f6a20;hp=37fef0b04d794c67b504fb47c4326d08bd133191;hpb=5b96523c239609c97012834ec92e8162d868c9f7;p=quix0rs-gnu-social.git diff --git a/scripts/enjitqueuehandler.php b/scripts/enjitqueuehandler.php index 37fef0b04d..afcac539a6 100755 --- a/scripts/enjitqueuehandler.php +++ b/scripts/enjitqueuehandler.php @@ -1,8 +1,8 @@ #!/usr/bin/env php . */ -# Abort if called from a web server -if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) { - print "This script must be run from the command line\n"; - exit(); -} - define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -define('LACONICA', true); -// Preset the server at the command line +$shortoptions = 'i::'; +$longoptions = array('id::'); + +$helptext = << 2) ? $argv[2] : null; -$path = ($argc > 3) ? $argv[3] : null; +END_OF_ENJIT_HELP; -require_once(INSTALLDIR . '/lib/common.php'); -require_once(INSTALLDIR . '/lib/mail.php'); -require_once(INSTALLDIR . '/lib/queuehandler.php'); +require_once INSTALLDIR.'/scripts/commandline.inc'; + +require_once INSTALLDIR . '/lib/mail.php'; +require_once INSTALLDIR . '/lib/queuehandler.php'; set_error_handler('common_error_handler'); @@ -47,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; } @@ -57,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; @@ -87,43 +86,31 @@ class EnjitQueueHandler extends QueueHandler $atom .= "".common_date_w3dtf($notice->modified)."\n"; $atom .= "\n"; - $url = common_config('enjit', 'apiurl') . "/submit/". common_config('enjit','apikey'); - $data = "msg=$atom"; - - # - # POST the message to $config['enjit']['apiurl'] - # - $ch = curl_init(); - - curl_setopt($ch, CURLOPT_URL, $url); + $url = common_config('enjit', 'apiurl') . "/submit/". common_config('enjit','apikey'); + $data = array( + 'msg' => $atom, + ); - curl_setopt($ch, CURLOPT_HEADER, 1); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_POST, 1) ; - curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + # + # POST the message to $config['enjit']['apiurl'] + # + $request = HTTPClient::start(); + $response = $request->post($url, null, $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(); } } -mb_internal_encoding('UTF-8'); - -$id = ($argc > 1) ? $argv[1] : null; +if (have_option('-i')) { + $id = get_option_value('-i'); +} else if (have_option('--id')) { + $id = get_option_value('--id'); +} else if (count($args) > 0) { + $id = $args[0]; +} else { + $id = null; +} $handler = new EnjitQueueHandler($id);