summaryrefslogtreecommitdiff
path: root/providers/Facebook.php
diff options
context:
space:
mode:
Diffstat (limited to 'providers/Facebook.php')
-rw-r--r--providers/Facebook.php45
1 files changed, 5 insertions, 40 deletions
diff --git a/providers/Facebook.php b/providers/Facebook.php
index 6514cfe..6ef7898 100644
--- a/providers/Facebook.php
+++ b/providers/Facebook.php
@@ -2,50 +2,23 @@
namespace Providers;
-require_once('Provider.php');
+require_once('HtmlFeed.php');
require_once('Item.php');
-require_once('../lib/querypath/src/qp.php');
-class Facebook extends \Providers\Provider {
+class Facebook extends \Providers\HtmlFeed {
protected $_cacheTimeout = '5 minutes';
- //protected $_cacheTimeout = '1 second';
- private $_encoding;
-
- public function __construct($feed, $options=[]) {
- parent::__construct($feed, $options);
- }
protected function _getCachePath() {
return '../cache/facebook.%s';
}
- private function __getWWWContent() {
- $header = array();
- $header[] = 'Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
- $header[] = 'Cache-Control: max-age=0';
- $header[] = 'Connection: keep-alive';
- $header[] = 'Keep-Alive: 300';
- $header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
- $header[] = 'Pragma: ';
- $ch = curl_init(sprintf('https://m.facebook.com/%s/', $this->_feed));
- curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)');
- curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
- curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
- curl_setopt($ch, CURLOPT_ENCODING, '');
- curl_setopt($ch, CURLOPT_TIMEOUT, 20);
- $page = curl_exec($ch);
- curl_close ($ch);
- $this->_encoding = mb_detect_encoding($page);
- return $page;
+ protected function _getFeedUrl($feed) {
+ return sprintf('https://m.facebook.com/%s', $feed);
}
- protected function _fetchItems() {
+ protected function _parseFeedContent($tree) {
$items = [];
- $page = $this->__getWWWContent();
- $tree = htmlqp($page, NULL, ['convert_from_encoding' => $this->_encoding, 'convert_to_encoding' => $this->_encoding]);
$parents = [];
foreach ($tree->find('div[data-ft]') as $div) {
$data = json_decode($div->attr()['data-ft'], TRUE);
@@ -72,10 +45,6 @@ class Facebook extends \Providers\Provider {
return array_values($items);
}
- protected function _spamFilter($items) {
- return $items;
- }
-
protected function _mapItems($content) {
return array_map(
function ($obj) {
@@ -94,10 +63,6 @@ class Facebook extends \Providers\Provider {
);
}
- protected function _sortContent($content) {
- return $content;
- }
-
public function title() {
return sprintf("%s's Facebook page posts", $this->_feed);
}