#!/usr/bin/env php . */ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); $shortoptions = 'i::'; $longoptions = array('id::'); $helptext = <<log(LOG_INFO, "Starting EnjitQueueHandler"); $this->log(LOG_INFO, "Broadcasting to ".common_config('enjit', 'apiurl')); return true; } function handle_notice($notice) { $profile = Profile::staticGet($notice->profile_id); $this->log(LOG_INFO, "Posting Notice ".$notice->id." from ".$profile->nickname); if ( ! $notice->is_local ) { $this->log(LOG_INFO, "Skipping remote notice"); return "skipped"; } # # Build an Atom message from the notice # $noticeurl = common_local_url('shownotice', array('notice' => $notice->id)); $msg = $profile->nickname . ': ' . $notice->content; $atom = "\n"; $atom .= "".common_config('enjit','source')."\n"; $atom .= "\n"; $atom .= "" . $profile->nickname . " - " . common_config('site', 'name') . "\n"; $atom .= "\n"; $atom .= " $profile->nickname)) . "'/>\n"; $atom .= "" . $profile->nickname . "\n"; $atom .= "" . $profile->avatarUrl(AVATAR_PROFILE_SIZE) . "\n"; $atom .= "\n"; $atom .= "" . htmlspecialchars($msg) . "\n"; $atom .= "" . htmlspecialchars($msg) . "\n"; $atom .= "\n"; $atom .= "". $notice->uri . "\n"; $atom .= "".common_date_w3dtf($notice->created)."\n"; $atom .= "".common_date_w3dtf($notice->modified)."\n"; $atom .= "\n"; $url = common_config('enjit', 'apiurl') . "/submit/". common_config('enjit','apikey'); $data = array( 'msg' => $atom, ); # # POST the message to $config['enjit']['apiurl'] # $request = HTTPClient::start(); $response = $request->post($url, null, $data); return $response->isOk(); } } 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); if ($handler->start()) { $handler->handle_queue(); } $handler->finish();