diff options
author | Andrew Dolgov <[email protected]> | 2017-01-21 23:06:35 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2017-01-21 23:06:35 +0300 |
commit | 0047f2578f126cb6de2eed928e86ed7340c3854d (patch) | |
tree | f0232c896bfd89b4ff5d9f57402cb14c9693660d /lib/pubsubhubbub/subscriber.php | |
parent | 6be7fe00aeb5f7dbed1f6ed6fd84f316032cfa0a (diff) | |
parent | 566e8574fb4fe2325069625557eb34e8f619c2e4 (diff) |
Merge branch 'lib-upgrades' into 'master'
Third-party library upgrades
* lib: Upgrade php-gettext from 1.0.11 to 1.0.12
* lib: Upgrade accept-to-gettext.php from 2003-08-14 to 2007-04-01
* lib: Upgrade JShrink from 0.5.1 to 1.1.0
* lib: Upgrade mobile-detect from svn r44 (2012-05-03) to 2.8.24 (2016-11-11)
* lib: Upgrade php-publisher from ??? to a5d6a0e (2016-11-15)
* lib: Upgrade php-subscriber from ??? to 1213f89 (2016-11-15)
* lib: Upgrade script.aculo.us from 1.8.3 to 1.9.0
* lib: Upgrade timezones.txt from 2010k/l/m/n/2011a to 2016j
See merge request !40
Diffstat (limited to 'lib/pubsubhubbub/subscriber.php')
-rw-r--r-- | lib/pubsubhubbub/subscriber.php | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/lib/pubsubhubbub/subscriber.php b/lib/pubsubhubbub/subscriber.php deleted file mode 100644 index 139ec271d..000000000 --- a/lib/pubsubhubbub/subscriber.php +++ /dev/null @@ -1,120 +0,0 @@ -<?php - -// a PHP client library for pubsubhubbub -// as defined at http://code.google.com/p/pubsubhubbub/ -// written by Josh Fraser | joshfraser.com | [email protected] -// Released under Apache License 2.0 - -class Subscriber { - - // put your google key here - // required if you want to use the google feed API to lookup RSS feeds - protected $google_key = ""; - - protected $hub_url; - protected $callback_url; - protected $credentials; - // accepted values are "async" and "sync" - protected $verify = "async"; - protected $verify_token; - protected $lease_seconds; - - // create a new Subscriber (credentials added for SuperFeedr support) - public function __construct($hub_url, $callback_url, $credentials = false) { - - if (!isset($hub_url)) - throw new Exception('Please specify a hub url'); - - if (!preg_match("|^https?://|i",$hub_url)) - throw new Exception('The specified hub url does not appear to be valid: '.$hub_url); - - if (!isset($callback_url)) - throw new Exception('Please specify a callback'); - - $this->hub_url = $hub_url; - $this->callback_url = $callback_url; - $this->credentials = $credentials; - } - - // $use_regexp lets you choose whether to use google AJAX feed api (faster, but cached) or a regexp to read from site - public function find_feed($url, $http_function = false) { - // using google feed API - $url = "http://ajax.googleapis.com/ajax/services/feed/lookup?key={$this->google_key}&v=1.0&q=".urlencode($url); - // fetch the content - if ($http_function) - $response = $http_function($url); - else - $response = $this->http($url); - - $result = json_decode($response, true); - $rss_url = $result['responseData']['url']; - return $rss_url; - } - - public function subscribe($topic_url, $http_function = false) { - return $this->change_subscription("subscribe", $topic_url, $http_function = false); - } - - public function unsubscribe($topic_url, $http_function = false) { - return $this->change_subscription("unsubscribe", $topic_url, $http_function = false); - } - - // helper function since sub/unsub are handled the same way - private function change_subscription($mode, $topic_url, $http_function = false) { - if (!isset($topic_url)) - throw new Exception('Please specify a topic url'); - - // lightweight check that we're actually working w/ a valid url - if (!preg_match("|^https?://|i",$topic_url)) - throw new Exception('The specified topic url does not appear to be valid: '.$topic_url); - - // set the mode subscribe/unsubscribe - $post_string = "hub.mode=".$mode; - $post_string .= "&hub.callback=".urlencode($this->callback_url); - $post_string .= "&hub.verify=".$this->verify; - $post_string .= "&hub.verify_token=".$this->verify_token; - $post_string .= "&hub.lease_seconds=".$this->lease_seconds; - - // append the topic url parameters - $post_string .= "&hub.topic=".urlencode($topic_url); - - // make the http post request and return true/false - // easy to over-write to use your own http function - if ($http_function) - return $http_function($this->hub_url,$post_string); - else - return $this->http($this->hub_url,$post_string); - } - - // default http function that uses curl to post to the hub endpoint - private function http($url, $post_string) { - - // add any additional curl options here - $options = array(CURLOPT_URL => $url, - CURLOPT_USERAGENT => "PubSubHubbub-Subscriber-PHP/1.0", - CURLOPT_RETURNTRANSFER => true); - - if ($post_string) { - $options[CURLOPT_POST] = true; - $options[CURLOPT_POSTFIELDS] = $post_string; - } - - if ($this->credentials) - $options[CURLOPT_USERPWD] = $this->credentials; - - $ch = curl_init(); - curl_setopt_array($ch, $options); - - $response = curl_exec($ch); - $info = curl_getinfo($ch); - - // all good -- anything in the 200 range - if (substr($info['http_code'],0,1) == "2") { - return $response; - } - return false; - } -} - - -?>
\ No newline at end of file |