Merge branch 'core' of https://framagit.org/peetah/rss-bridge
This commit is contained in:
commit
737942ae7a
132 changed files with 717 additions and 505 deletions
|
@ -12,7 +12,7 @@ class ABCTabsBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = '';
|
||||
$html = $this->getSimpleHTMLDOM('http://www.abc-tabs.com/tablatures/nouveautes.html') or $this->returnClientError('No results for this query.');
|
||||
$table = $html->find('table#myTable', 0)->children(1);
|
||||
|
|
|
@ -10,9 +10,9 @@ class AcrimedBridge extends RssExpander{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
|
||||
parent::collectExpandableDatas($param, "http://www.acrimed.org/spip.php?page=backend");
|
||||
parent::collectExpandableDatas("http://www.acrimed.org/spip.php?page=backend");
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -24,14 +24,15 @@ class AllocineFRBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $params){
|
||||
public function collectData(){
|
||||
$params=$this->parameters[$this->queriedContext];
|
||||
|
||||
// Check all parameters
|
||||
if(!isset($params['category']))
|
||||
if(!isset($params['category']['value']))
|
||||
$this->returnClientError('You must specify a valid category (&category= )!');
|
||||
|
||||
$category = '';
|
||||
switch($params['category']){
|
||||
switch($params['category']['value']){
|
||||
case 'faux-raccord':
|
||||
$this->uri = 'http://www.allocine.fr/video/programme-12284/saison-24580/';
|
||||
$category = 'Faux Raccord';
|
||||
|
|
|
@ -24,13 +24,14 @@ class AnimeUltimeBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
//Add type filter if provided
|
||||
$typeFilter = '';
|
||||
if (!empty($param['type'])) {
|
||||
if ($param['type'] == 'A' || $param['type'] == 'D' || $param['type'] == 'T') {
|
||||
$typeFilter = $param['type'];
|
||||
if (!empty($param['type']['value'])) {
|
||||
if ($param['type']['value'] == 'A' || $param['type']['value'] == 'D' || $param['type']['value'] == 'T') {
|
||||
$typeFilter = $param['type']['value'];
|
||||
if ($typeFilter == 'A') { $this->filter = 'Anime'; }
|
||||
if ($typeFilter == 'D') { $this->filter = 'Drama'; }
|
||||
if ($typeFilter == 'T') { $this->filter = 'Tokusatsu'; }
|
||||
|
|
|
@ -42,7 +42,7 @@ class ArstechnicaBridge extends BridgeAbstract {
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
$html = $this->getSimpleHTMLDOM('http://feeds.arstechnica.com/arstechnica/index') or $this->returnServerError('Could not request NextInpact.');
|
||||
$limit = 0;
|
||||
|
|
|
@ -45,21 +45,14 @@ class Arte7Bridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
|
||||
function extractVideoset($category='toutes-les-videos', $lang='fr')
|
||||
{
|
||||
protected function extractVideoset($category='toutes-les-videos', $lang='fr'){
|
||||
$url = 'http://www.arte.tv/guide/'.$lang.'/plus7/'.$category;
|
||||
$input = $this->getContents($url) or die('Could not request ARTE.');
|
||||
if(strpos($input, 'categoryVideoSet') !== FALSE)
|
||||
{
|
||||
if(strpos($input, 'categoryVideoSet') !== FALSE){
|
||||
$input = explode('categoryVideoSet: ', $input);
|
||||
$input = explode('}},', $input[1]);
|
||||
$input = $input[0].'}}';
|
||||
}
|
||||
else
|
||||
{
|
||||
}else{
|
||||
$input = explode('videoSet: ', $input);
|
||||
$input = explode('}]},', $input[1]);
|
||||
$input = $input[0].'}]}';
|
||||
|
@ -68,12 +61,15 @@ class Arte7Bridge extends BridgeAbstract{
|
|||
return $input;
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
$category='toutes-les-videos'; $lang='fr';
|
||||
if (!empty($param['catfr']))
|
||||
$category=$param['catfr'];
|
||||
if (!empty($param['catde']))
|
||||
{ $category=$param['catde']; $lang='de'; }
|
||||
$input_json = extractVideoset($category, $lang);
|
||||
if (!empty($param['catfr']['value']))
|
||||
$category=$param['catfr']['value'];
|
||||
if (!empty($param['catde']['value']))
|
||||
{ $category=$param['catde']['value']; $lang='de'; }
|
||||
$input_json = $this->extractVideoset($category, $lang);
|
||||
|
||||
foreach($input_json['videos'] as $element) {
|
||||
$item = array();
|
||||
|
|
|
@ -10,15 +10,17 @@ class AskfmBridge extends BridgeAbstract{
|
|||
|
||||
$this->parameters["Ask.fm username"] = array(
|
||||
'u'=>array(
|
||||
'name'=>'Username'
|
||||
'name'=>'Username',
|
||||
'required'=>true
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (isset($param['u'])) {
|
||||
$this->request = $param['u'];
|
||||
if (isset($param['u']['value'])) {
|
||||
$this->request = $param['u']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://ask.fm/'.urlencode($this->request).'/answers/more?page=0') or $this->returnServerError('Requested username can\'t be found.');
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -18,10 +18,11 @@ class BandcampBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (isset($param['tag'])) {
|
||||
$this->request = $param['tag'];
|
||||
if (isset($param['tag']['value'])) {
|
||||
$this->request = $param['tag']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://bandcamp.com/tag/'.urlencode($this->request).'?sort_field=date') or $this->returnServerError('No results for this query.');
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -7,7 +7,7 @@ class BastaBridge extends BridgeAbstract{
|
|||
$this->description = "Returns the newest articles.";
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
// Replaces all relative image URLs by absolute URLs. Relative URLs always start with 'local/'!
|
||||
function ReplaceImageUrl($content){
|
||||
return preg_replace('/src=["\']{1}([^"\']+)/ims', 'src=\'http://www.bastamag.net/$1\'', $content);
|
||||
|
|
|
@ -10,7 +10,7 @@ class BlaguesDeMerdeBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.blaguesdemerde.fr/') or $this->returnServerError('Could not request BDM.');
|
||||
|
||||
foreach($html->find('article.joke_contener') as $element) {
|
||||
|
|
|
@ -19,29 +19,30 @@ class BooruprojectBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0; $tags = '';
|
||||
if (!empty($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (!empty($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
$page = $page - 1;
|
||||
$page = $page * 20;
|
||||
}
|
||||
if (!empty($param['t'])) {
|
||||
$tags = '&tags='.urlencode($param['t']);
|
||||
if (!empty($param['t']['value'])) {
|
||||
$tags = '&tags='.urlencode($param['t']['value']);
|
||||
}
|
||||
if (empty($param['i'])) {
|
||||
if (empty($param['i']['value'])) {
|
||||
$this->returnServerError('Please enter a ***.booru.org instance.');
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://".$param['i'].".booru.org/index.php?page=post&s=list&pid=".$page.$tags) or $this->returnServerError('Could not request Booruproject.');
|
||||
$html = $this->getSimpleHTMLDOM("http://".$param['i']['value'].".booru.org/index.php?page=post&s=list&pid=".$page.$tags) or $this->returnServerError('Could not request Booruproject.');
|
||||
|
||||
|
||||
foreach($html->find('div[class=content] span') as $element) {
|
||||
$item = array();
|
||||
$item['uri'] = 'http://'.$param['i'].'.booru.org/'.$element->find('a', 0)->href;
|
||||
$item['uri'] = 'http://'.$param['i']['value'].'.booru.org/'.$element->find('a', 0)->href;
|
||||
$item['postid'] = (int)preg_replace("/[^0-9]/",'', $element->find('a', 0)->getAttribute('id'));
|
||||
$item['timestamp'] = time();
|
||||
$item['tags'] = $element->find('img', 0)->getAttribute('title');
|
||||
$item['title'] = 'Booruproject '.$param['i'].' | '.$item['postid'];
|
||||
$item['title'] = 'Booruproject '.$param['i']['value'].' | '.$item['postid'];
|
||||
$item['content'] = '<a href="' . $item['uri'] . '"><img src="' . $element->find('img', 0)->src . '" /></a><br>Tags: '.$item['tags'];
|
||||
$this->items[] = $item;
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ class CADBridge extends BridgeAbstract{
|
|||
return '<img src="'.$img.'"/>';
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
function CADUrl($string) {
|
||||
$html2 = explode("\"", $string);
|
||||
$string = $html2[1];
|
||||
|
|
|
@ -15,7 +15,8 @@ class CNETBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
function ExtractFromDelimiters($string, $start, $end) {
|
||||
if (strpos($string, $start) !== false) {
|
||||
|
@ -42,8 +43,8 @@ class CNETBridge extends BridgeAbstract {
|
|||
return $article_html;
|
||||
}
|
||||
|
||||
if (!empty($param['topic']))
|
||||
$this->topicName = $param['topic'];
|
||||
if (!empty($param['topic']['value']))
|
||||
$this->topicName = $param['topic']['value'];
|
||||
|
||||
$pageUrl = 'http://www.cnet.com/'.(empty($this->topicName) ? '' : 'topics/'.$this->topicName.'/');
|
||||
$html = $this->getSimpleHTMLDOM($pageUrl) or $this->returnServerError('Could not request CNET: '.$pageUrl);
|
||||
|
|
|
@ -73,12 +73,13 @@ class CastorusBridge extends BridgeAbstract {
|
|||
return $price->innertext;
|
||||
}
|
||||
|
||||
public function collectData(array $params){
|
||||
if(isset($params['zip']))
|
||||
$zip_filter = trim($params['zip']);
|
||||
public function collectData(){
|
||||
$params=$this->parameters[$this->queriedContext];
|
||||
if(isset($params['zip']['value']))
|
||||
$zip_filter = trim($params['zip']['value']);
|
||||
|
||||
if(isset($params['city']))
|
||||
$city_filter = trim($params['city']);
|
||||
if(isset($params['city']['value']))
|
||||
$city_filter = trim($params['city']['value']);
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($this->uri);
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ class CollegeDeFranceBridge extends BridgeAbstract{
|
|||
$this->description = "Returns the latest audio and video from CollegeDeFrance";
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$months = array(
|
||||
'01' => 'janv.',
|
||||
'02' => 'févr.',
|
||||
|
|
|
@ -16,7 +16,7 @@ class CommonDreamsBridge extends BridgeAbstract{
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
|
||||
function CommonDreamsUrl($string) {
|
||||
$html2 = explode(" ", $string);
|
||||
|
|
|
@ -11,7 +11,7 @@ class CopieDoubleBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.copie-double.com/') or $this->returnServerError('Could not request CopieDouble.');
|
||||
$table = $html->find('table table', 2);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class CourrierInternationalBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
|
||||
$html = '';
|
||||
|
||||
|
|
|
@ -1,23 +1,6 @@
|
|||
<?php
|
||||
// simple_html_dom funtion to get the dom from contents instead from file
|
||||
function content_get_html($contents, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
|
||||
{
|
||||
// We DO force the tags to be terminated.
|
||||
$dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
|
||||
|
||||
if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// The second parameter can force the selectors to all be lowercase.
|
||||
$dom->load($contents, $lowercase, $stripRN);
|
||||
return $dom;
|
||||
}
|
||||
|
||||
class CpasbienBridge extends HttpCachingBridgeAbstract{
|
||||
|
||||
private $request;
|
||||
|
||||
public function loadMetadatas() {
|
||||
|
||||
$this->maintainer = "lagaisse";
|
||||
|
@ -36,14 +19,13 @@ class CpasbienBridge extends HttpCachingBridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
$this->loadMetadatas();
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (isset($param['q'])) { /* keyword search mode */
|
||||
$this->request = str_replace(" ","-",trim($param['q']));
|
||||
$html = $this->getSimpleHTMLDOM($this->uri.'/recherche/'.urlencode($this->request).'.html') or $this->returnServerError('No results for this query.');
|
||||
}
|
||||
else {
|
||||
if (isset($param['q']['value'])) { /* keyword search mode */
|
||||
$request = str_replace(" ","-",trim($param['q']['value']));
|
||||
$html = $this->getSimpleHTMLDOM($this->uri.'/recherche/'.urlencode($request).'.html') or $this->returnServerError('No results for this query.');
|
||||
} else {
|
||||
$this->returnClientError('You must specify a keyword (?q=...).');
|
||||
}
|
||||
|
||||
|
@ -51,7 +33,7 @@ class CpasbienBridge extends HttpCachingBridgeAbstract{
|
|||
if ($episode->getAttribute('class')=='ligne0' || $episode->getAttribute('class')=='ligne1')
|
||||
{
|
||||
|
||||
$htmlepisode=content_get_html($this->get_cached($episode->find('a', 0)->getAttribute('href')));
|
||||
$htmlepisode=str_get_html($this->get_cached($episode->find('a', 0)->getAttribute('href')));
|
||||
|
||||
$item = array();
|
||||
$item['author'] = $episode->find('a', 0)->text();
|
||||
|
@ -60,23 +42,24 @@ class CpasbienBridge extends HttpCachingBridgeAbstract{
|
|||
$textefiche=$htmlepisode->find('#textefiche', 0)->find('p',1);
|
||||
if (isset($textefiche)) {
|
||||
$item['content'] = $textefiche->text();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$p=$htmlepisode->find('#textefiche',0)->find('p');
|
||||
if(!empty($p)){
|
||||
$item['content'] = $htmlepisode->find('#textefiche', 0)->find('p',0)->text();
|
||||
}
|
||||
}
|
||||
|
||||
$item['id'] = $episode->find('a', 0)->getAttribute('href');
|
||||
$item['uri'] = $this->uri . $htmlepisode->find('#telecharger',0)->getAttribute('href');
|
||||
$this->items[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function getName(){
|
||||
return (!empty($this->request) ? $this->request .' - ' : '') . $this->name;
|
||||
return $this->parameters[$this->queriedContext]['q']['value']
|
||||
.' : '.$this->name;
|
||||
}
|
||||
|
||||
public function getCacheDuration(){
|
||||
|
|
|
@ -18,7 +18,8 @@ class CryptomeBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$num = 20;
|
||||
$link = 'http://cryptome.org/';
|
||||
|
@ -26,8 +27,8 @@ class CryptomeBridge extends BridgeAbstract{
|
|||
//$link = 'https://secure.netsolhost.com/cryptome.org/';
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request Cryptome.');
|
||||
if (!empty($param['n'])) { /* number of documents */
|
||||
$num = min(max(1, $param['n']+0), $num);
|
||||
if (!empty($param['n']['value'])) { /* number of documents */
|
||||
$num = min(max(1, $param['n']['value']+0), $num);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -17,11 +17,16 @@ class DailymotionBridge extends BridgeAbstract{
|
|||
$this->parameters["By playlist id"] = array(
|
||||
'p'=>array(
|
||||
'name'=>'playlist id',
|
||||
'type'=>'text')
|
||||
'type'=>'text',
|
||||
'required'=>true
|
||||
)
|
||||
);
|
||||
|
||||
$this->parameters["From search results"] = array(
|
||||
's'=>array('name'=>'Search keyword'),
|
||||
's'=>array(
|
||||
'name'=>'Search keyword',
|
||||
'required'=>true
|
||||
),
|
||||
'pa'=>array(
|
||||
'name'=>'Page',
|
||||
'type'=>'number'
|
||||
|
@ -40,21 +45,22 @@ class DailymotionBridge extends BridgeAbstract{
|
|||
return $metadata;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$limit = 5;
|
||||
$count = 0;
|
||||
|
||||
if (isset($param['u'])) { // user timeline mode
|
||||
$this->request = $param['u'];
|
||||
if (isset($param['u']['value'])) { // user timeline mode
|
||||
$this->request = $param['u']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://www.dailymotion.com/user/'.urlencode($this->request).'/1') or $this->returnServerError('Could not request Dailymotion.');
|
||||
}
|
||||
else if (isset($param['p'])) { // playlist mode
|
||||
$this->request = strtok($param['p'], '_');
|
||||
else if (isset($param['p']['value'])) { // playlist mode
|
||||
$this->request = strtok($param['p']['value'], '_');
|
||||
$html = $this->getSimpleHTMLDOM('http://www.dailymotion.com/playlist/'.urlencode($this->request).'') or $this->returnServerError('Could not request Dailymotion.');
|
||||
}
|
||||
else if (isset($param['s'])) { // search mode
|
||||
$this->request = $param['s']; $page = 1; if (isset($param['pa'])) $page = (int)preg_replace("/[^0-9]/",'', $param['pa']);
|
||||
else if (isset($param['s']['value'])) { // search mode
|
||||
$this->request = $param['s']['value']; $page = 1; if (isset($param['pa']['value'])) $page = (int)preg_replace("/[^0-9]/",'', $param['pa']['value']);
|
||||
$html = $this->getSimpleHTMLDOM('http://www.dailymotion.com/search/'.urlencode($this->request).'/'.$page.'') or $this->returnServerError('Could not request Dailymotion.');
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -14,13 +14,14 @@ class DanbooruBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 1;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://donmai.us/posts?&page=$page&tags=$tags") or $this->returnServerError('Could not request Danbooru.');
|
||||
foreach($html->find('div[id=posts] article') as $element) {
|
||||
|
|
|
@ -10,7 +10,7 @@ class DansTonChatBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = '';
|
||||
$link = 'http://danstonchat.com/latest.html';
|
||||
|
||||
|
|
|
@ -40,7 +40,8 @@ class DauphineLibereBridge extends BridgeAbstract {
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
// Simulate Mozilla user-agent to fix error 403 (Forbidden)
|
||||
$opts = array('http' =>
|
||||
|
@ -52,8 +53,8 @@ class DauphineLibereBridge extends BridgeAbstract {
|
|||
|
||||
$context = stream_context_create($opts);
|
||||
|
||||
if (isset($param['u'])) { /* user timeline mode */
|
||||
$this->request = $param['u'];
|
||||
if (isset($param['u']['value'])) { /* user timeline mode */
|
||||
$this->request = $param['u']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://www.ledauphine.com/'.$this->request.'/rss',false,$context) or $this->returnServerError('Could not request DauphineLibere.');
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -35,7 +35,7 @@ class DemoBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
|
||||
$item = array();
|
||||
$item['author'] = "Me!";
|
||||
|
|
|
@ -40,7 +40,7 @@ class DeveloppezDotComBridge extends BridgeAbstract{
|
|||
return trim($text);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$rssFeed = $this->getSimpleHTMLDOM('http://www.developpez.com/index/rss') or $this->returnServerError('Could not request http://www.developpez.com/index/rss');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class DilbertBridge extends BridgeAbstract {
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($this->getURI()) or $this->returnServerError('Could not request Dilbert: '.$this->getURI());
|
||||
|
||||
|
|
|
@ -18,13 +18,14 @@ class DollbooruBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://dollbooru.org/post/list/$tags/$page") or $this->returnServerError('Could not request Dollbooru.');
|
||||
|
||||
|
|
|
@ -15,9 +15,10 @@ class DuckDuckGoBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$link = 'http://duckduckgo.com/html/?q='.$param['u'].'+sort:date';
|
||||
$link = 'http://duckduckgo.com/html/?q='.$param['u']['value'].'+sort:date';
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request DuckDuckGo.');
|
||||
|
||||
|
|
|
@ -17,7 +17,8 @@ class EZTVBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
// Make timestamp from relative released time in table
|
||||
function makeTimestamp($relativeReleaseTime){
|
||||
|
@ -33,11 +34,11 @@ class EZTVBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
// Check for ID provided
|
||||
if (!isset($param['i']))
|
||||
if (!isset($param['i']['value']))
|
||||
$this->returnClientError('You must provide a list of ID (?i=showID1,showID2,...)');
|
||||
|
||||
// Loop on show ids
|
||||
$showList = explode(",",$param['i']);
|
||||
$showList = explode(",",$param['i']['value']);
|
||||
foreach($showList as $showID){
|
||||
|
||||
// Get show page
|
||||
|
|
|
@ -10,7 +10,7 @@ class EliteDangerousGalnetBridge extends BridgeAbstract
|
|||
$this->description = "Returns the latest page of news from Galnet";
|
||||
}
|
||||
|
||||
public function collectData(array $param)
|
||||
public function collectData()
|
||||
{
|
||||
$html = $this->getSimpleHTMLDOM('https://community.elitedangerous.com/galnet') or $this->returnServerError('Error while downloading the website content');
|
||||
foreach($html->find('div.article') as $element) {
|
||||
|
|
|
@ -58,9 +58,10 @@ class ElsevierBridge extends BridgeAbstract{
|
|||
return '';
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
$uri = 'http://www.journals.elsevier.com/' . $param['j'] . '/recent-articles/';
|
||||
$html = $this->getSimpleHTMLDOM($uri) or $this->returnServerError('No results for Elsevier journal '.$param['j']);
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$uri = 'http://www.journals.elsevier.com/' . $param['j']['value'] . '/recent-articles/';
|
||||
$html = $this->getSimpleHTMLDOM($uri) or $this->returnServerError('No results for Elsevier journal '.$param['j']['value']);
|
||||
|
||||
foreach($html->find('.pod-listing') as $article){
|
||||
$item = array();
|
||||
|
|
|
@ -8,7 +8,7 @@ class EstCeQuonMetEnProdBridge extends BridgeAbstract {
|
|||
$this->description = 'Should we put a website in production today? (French)';
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
function ExtractFromDelimiters($string, $start, $end) {
|
||||
if (strpos($string, $start) !== false) {
|
||||
$section_retrieved = substr($string, strpos($string, $start) + strlen($start));
|
||||
|
|
|
@ -16,7 +16,8 @@ class FacebookBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
//Extract a string using start and end delimiters
|
||||
function ExtractFromDelimiters($string, $start, $end) {
|
||||
|
@ -104,11 +105,11 @@ class FacebookBridge extends BridgeAbstract{
|
|||
|
||||
//Retrieve page contents
|
||||
if (is_null($html)) {
|
||||
if (isset($param['u'])) {
|
||||
if (!strpos($param['u'], "/")) {
|
||||
$html = $this->getSimpleHTMLDOM('https://www.facebook.com/'.urlencode($param['u']).'?_fb_noscript=1') or $this->returnServerError('No results for this query.');
|
||||
if (isset($param['u']['value'])) {
|
||||
if (!strpos($param['u']['value'], "/")) {
|
||||
$html = $this->getSimpleHTMLDOM('https://www.facebook.com/'.urlencode($param['u']['value']).'?_fb_noscript=1') or $this->returnServerError('No results for this query.');
|
||||
} else {
|
||||
$html = $this->getSimpleHTMLDOM('https://www.facebook.com/pages/'.$param['u'].'?_fb_noscript=1') or $this->returnServerError('No results for this query.');
|
||||
$html = $this->getSimpleHTMLDOM('https://www.facebook.com/pages/'.$param['u']['value'].'?_fb_noscript=1') or $this->returnServerError('No results for this query.');
|
||||
}
|
||||
} else {
|
||||
$this->returnClientError('You must specify a Facebook username.');
|
||||
|
@ -148,7 +149,7 @@ class FacebookBridge extends BridgeAbstract{
|
|||
if(isset($element)) {
|
||||
|
||||
$author = str_replace(' | Facebook', '', $html->find('title#pageTitle', 0)->innertext);
|
||||
$profilePic = 'https://graph.facebook.com/'.$param['u'].'/picture?width=200&height=200';
|
||||
$profilePic = 'https://graph.facebook.com/'.$param['u']['value'].'/picture?width=200&height=200';
|
||||
$this->name = $author;
|
||||
|
||||
foreach($element->children() as $post) {
|
||||
|
@ -207,8 +208,8 @@ class FacebookBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
public function setDatas(array $param){
|
||||
if (isset($param['captcha_response']))
|
||||
unset($param['captcha_response']);
|
||||
if (isset($param['captcha_response']['value']))
|
||||
unset($param['captcha_response']['value']);
|
||||
parent::setDatas($param);
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ Class FierPandaBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$link = 'http://www.fier-panda.fr/';
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request Fier Panda.');
|
||||
|
|
|
@ -10,7 +10,7 @@ class FlickrExploreBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('https://www.flickr.com/explore') or $this->returnServerError('Could not request Flickr.');
|
||||
|
||||
foreach($html->find('.photo-list-photo-view') as $element) {
|
||||
|
|
|
@ -17,14 +17,15 @@ class FlickrTagBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = $this->getSimpleHTMLDOM('http://www.flickr.com/search/?q=vendee&s=rec') or $this->returnServerError('Could not request Flickr.');
|
||||
if (isset($param['q'])) { /* keyword search mode */
|
||||
$this->request = $param['q'];
|
||||
if (isset($param['q']['value'])) { /* keyword search mode */
|
||||
$this->request = $param['q']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://www.flickr.com/search/?q='.urlencode($this->request).'&s=rec') or $this->returnServerError('No results for this query.');
|
||||
}
|
||||
elseif (isset($param['u'])) { /* user timeline mode */
|
||||
$this->request = $param['u'];
|
||||
elseif (isset($param['u']['value'])) { /* user timeline mode */
|
||||
$this->request = $param['u']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://www.flickr.com/photos/'.urlencode($this->request).'/') or $this->returnServerError('Requested username can\'t be found.');
|
||||
}
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class FootitoBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.footito.fr/') or $this->returnServerError('Could not request Footito.');
|
||||
|
||||
foreach($html->find('div.post') as $element) {
|
||||
|
|
|
@ -14,12 +14,13 @@ class FourchanBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
if (!isset($param['t']))
|
||||
if (!isset($param['t']['value']))
|
||||
$this->returnClientError('You must specify the thread URL (?t=...)');
|
||||
|
||||
$thread = parse_url($param['t']) or $this->returnClientError('This URL seems malformed, please check it.');
|
||||
$thread = parse_url($param['t']['value']) or $this->returnClientError('This URL seems malformed, please check it.');
|
||||
if($thread['host'] !== 'boards.4chan.org')
|
||||
$this->returnClientError('4chan thread URL only.');
|
||||
|
||||
|
|
|
@ -8,14 +8,10 @@ class FreenewsBridge extends RssExpander {
|
|||
$this->name = "Freenews";
|
||||
$this->uri = "http://freenews.fr";
|
||||
$this->description = "Un site d'actualité pour les freenautes (mais ne parlant pas que de la freebox). Ne rentrez pas d'id si vous voulez accéder aux actualités générales.";
|
||||
|
||||
$this->parameters[] = array(
|
||||
'id'=>array('name'=>'Id de la rubrique (sans le \'-\')')
|
||||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
parent::collectExpandableDatas($param, FREENEWS_RSS);
|
||||
public function collectData(){
|
||||
parent::collectExpandableDatas(FREENEWS_RSS);
|
||||
}
|
||||
|
||||
protected function parseRSSItem($newsItem) {
|
||||
|
|
|
@ -81,7 +81,8 @@ class FuturaSciencesBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
function StripCDATA($string) {
|
||||
$string = str_replace('<![CDATA[', '', $string);
|
||||
|
@ -138,10 +139,10 @@ class FuturaSciencesBridge extends BridgeAbstract {
|
|||
return '';
|
||||
}
|
||||
|
||||
$url = $this->getURI().'rss/'.$param['feed'].'.xml';
|
||||
if (empty($param['feed']))
|
||||
$url = $this->getURI().'rss/'.$param['feed']['value'].'.xml';
|
||||
if (empty($param['feed']['value']))
|
||||
$this->returnClientError('Please select a feed to display.'.$url);
|
||||
if ($param['feed'] !== preg_replace('/[^a-zA-Z-\/]+/', '', $param['feed']) || substr_count($param['feed'], '/') > 1 || strlen($param['feed'] > 64))
|
||||
if ($param['feed']['value'] !== preg_replace('/[^a-zA-Z-\/]+/', '', $param['feed']['value']) || substr_count($param['feed']['value'], '/') > 1 || strlen($param['feed']['value'] > 64))
|
||||
$this->returnClientError('Invalid "feed" parameter.'.$url);
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($url) or $this->returnServerError('Could not request Futura-Sciences: '.$url);
|
||||
|
|
|
@ -63,11 +63,12 @@ class GBAtempBridge extends BridgeAbstract {
|
|||
return $this->cleanup_post_content($content, $site_url);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$typeFilter = '';
|
||||
if (!empty($param['type'])) {
|
||||
if ($param['type'] == 'N' || $param['type'] == 'R' || $param['type'] == 'T' || $param['type'] == 'F') {
|
||||
$typeFilter = $param['type'];
|
||||
if (!empty($param['type']['value'])) {
|
||||
if ($param['type']['value'] == 'N' || $param['type']['value'] == 'R' || $param['type']['value'] == 'T' || $param['type']['value'] == 'F') {
|
||||
$typeFilter = $param['type']['value'];
|
||||
if ($typeFilter == 'N') { $this->filter = 'News'; }
|
||||
if ($typeFilter == 'R') { $this->filter = 'Review'; }
|
||||
if ($typeFilter == 'T') { $this->filter = 'Tutorial'; }
|
||||
|
|
|
@ -12,7 +12,10 @@ class GawkerBridge extends RssExpander{
|
|||
$this->description = "A bridge allowing access to any of the numerous Gawker media blogs (Lifehacker, deadspin, Kotaku, Jezebel, and so on. Notice you have to give its id to find the RSS stream in gawker maze";
|
||||
|
||||
$this->parameters[] = array(
|
||||
'site'=>array('name'=>'site id to put in uri between feeds.gawker.com and /full .. which is obviously not full AT ALL')
|
||||
'site'=>array(
|
||||
'name'=>'site id to put in uri between feeds.gawker.com and /full .. which is obviously not full AT ALL',
|
||||
'required'=>true
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -21,15 +24,16 @@ class GawkerBridge extends RssExpander{
|
|||
return RSS_PREFIX.$name.RSS_SUFFIX;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
if (empty($param['site'])) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
if (empty($param['site']['value'])) {
|
||||
trigger_error("If no site is provided, nothing is gonna happen", E_USER_ERROR);
|
||||
} else {
|
||||
$this->name = $param['site'];
|
||||
$url = $this->toURI(strtolower($param['site']));
|
||||
$this->name = $param['site']['value'];
|
||||
$url = $this->toURI(strtolower($param['site']['value']));
|
||||
}
|
||||
$this->debugMessage("loading feed from ".$this->getURI());
|
||||
parent::collectExpandableDatas($param, $url);
|
||||
parent::collectExpandableDatas($url);
|
||||
}
|
||||
|
||||
protected function parseRSSItem($newsItem) {
|
||||
|
|
|
@ -18,15 +18,16 @@ class GelbooruBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
$page = $page - 1;
|
||||
$page = $page * 63;
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://gelbooru.com/index.php?page=post&s=list&tags=$tags&pid=$page") or $this->returnServerError('Could not request Gelbooru.');
|
||||
|
||||
|
|
|
@ -10,35 +10,34 @@ class GiphyBridge extends BridgeAbstract{
|
|||
$this->uri = "http://giphy.com/";
|
||||
$this->description = "Bridge for giphy.com";
|
||||
|
||||
$this->parameters["By tag"] = array(
|
||||
's'=>array('name'=>'search tag')
|
||||
);
|
||||
|
||||
$this->parameters["Without tag"] = array(
|
||||
$this->parameters[] = array(
|
||||
's'=>array('name'=>'search tag'),
|
||||
'n'=>array(
|
||||
'name'=>'max number of returned items',
|
||||
'type'=>'number'
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$base_url = 'http://giphy.com';
|
||||
if (isset($param['s'])) { /* keyword search mode */
|
||||
$html = $this->getSimpleHTMLDOM($base_url.'/search/'.urlencode($param['s'].'/')) or $this->returnServerError('No results for this query.');
|
||||
if (isset($param['s']['value'])) { /* keyword search mode */
|
||||
$html = $this->getSimpleHTMLDOM($base_url.'/search/'.urlencode($param['s']['value'].'/')) or $this->returnServerError('No results for this query.');
|
||||
}
|
||||
else {
|
||||
$this->returnClientError('You must specify a search worf (?s=...).');
|
||||
}
|
||||
|
||||
$max = GIPHY_LIMIT;
|
||||
if (isset($param['n'])) {
|
||||
$max = (integer) $param['n'];
|
||||
if (isset($param['n']['value'])) {
|
||||
$max = (integer) $param['n']['value'];
|
||||
}
|
||||
|
||||
$limit = 0;
|
||||
$kw = urlencode($param['s']);
|
||||
$kw = urlencode($param['s']['value']);
|
||||
foreach($html->find('div.hoverable-gif') as $entry) {
|
||||
if($limit < $max) {
|
||||
$node = $entry->first_child();
|
||||
|
|
|
@ -28,12 +28,13 @@ class GithubIssueBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
$uri = 'https://github.com/'.$param['u'].'/'.$param['p'].'/issues/'.(isset($param['i'])?$param['i']:'');
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$uri = 'https://github.com/'.$param['u']['value'].'/'.$param['p']['value'].'/issues/'.(isset($param['i']['value'])?$param['i']['value']:'');
|
||||
$html = $this->getSimpleHTMLDOM($uri)
|
||||
or $this->returnServerError('No results for Github Issue '.$param['i'].' in project '.$param['u'].'/'.$param['p']);
|
||||
or $this->returnServerError('No results for Github Issue '.$param['i']['value'].' in project '.$param['u']['value'].'/'.$param['p']['value']);
|
||||
|
||||
if(isset($param['i'])){
|
||||
if(isset($param['i']['value'])){
|
||||
foreach($html->find('.js-comment-container') as $comment){
|
||||
|
||||
$item = array();
|
||||
|
|
|
@ -33,29 +33,30 @@ class GitlabCommitsBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
$uri = $param['uri'].'/'.$param['u'].'/'.$param['p'].'/commits/';
|
||||
if(isset($param['b'])){
|
||||
$uri.=$param['b'];
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$uri = $param['uri']['value'].'/'.$param['u']['value'].'/'.$param['p']['value'].'/commits/';
|
||||
if(isset($param['b']['value'])){
|
||||
$uri.=$param['b']['value'];
|
||||
}else{
|
||||
$uri.='master';
|
||||
}
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($uri)
|
||||
or $this->returnServerError('No results for Gitlab Commits of project '.$param['uri'].'/'.$param['u'].'/'.$param['p']);
|
||||
or $this->returnServerError('No results for Gitlab Commits of project '.$param['uri']['value'].'/'.$param['u']['value'].'/'.$param['p']['value']);
|
||||
|
||||
|
||||
foreach($html->find('li.commit') as $commit){
|
||||
|
||||
$item = array();
|
||||
$item['uri']=$param['uri'];
|
||||
$item['uri']=$param['uri']['value'];
|
||||
|
||||
foreach($commit->getElementsByTagName('a') as $a){
|
||||
$classes=explode(' ',$a->getAttribute("class"));
|
||||
if(in_array('commit-short-id',$classes) ||
|
||||
in_array('commit_short_id',$classes)){
|
||||
$href=$a->getAttribute('href');
|
||||
$item['uri'].=substr($href,strpos($href,'/'.$param['u'].'/'.$param['p']));
|
||||
$item['uri'].=substr($href,strpos($href,'/'.$param['u']['value'].'/'.$param['p']['value']));
|
||||
}
|
||||
if(in_array('commit-row-message',$classes)){
|
||||
$item['title']=$a->plaintext;
|
||||
|
|
|
@ -10,7 +10,7 @@ class GizmodoFRBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
|
||||
function GizmodoFRExtractContent($url) {
|
||||
$articleHTMLContent = $this->getSimpleHTMLDOM($url);
|
||||
|
|
|
@ -12,21 +12,24 @@ class GooglePlusPostBridge extends BridgeAbstract
|
|||
$this->description = "Returns user public post (without API).";
|
||||
|
||||
$this->parameters[] = array(
|
||||
'username'=>array('name'=>'username or Id')
|
||||
'username'=>array(
|
||||
'name'=>'username or Id',
|
||||
'required'=>true
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
const GOOGLE_PLUS_BASE_URL = 'https://plus.google.com/';
|
||||
|
||||
public function collectData(array $param)
|
||||
public function collectData()
|
||||
{
|
||||
if (!isset($param['username']))
|
||||
if (!isset($param['username']['value']))
|
||||
{
|
||||
$this->returnClientError('You must specify a username (?username=...).');
|
||||
}
|
||||
|
||||
$this->request = $param['username'];
|
||||
$this->request = $param['username']['value'];
|
||||
// get content parsed
|
||||
// $html = $this->getSimpleHTMLDOM(__DIR__ . '/../posts2.html'
|
||||
$html = $this->getSimpleHTMLDOM(self::GOOGLE_PLUS_BASE_URL . urlencode($this->request) . '/posts'
|
||||
|
|
|
@ -25,11 +25,12 @@ class GoogleSearchBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
|
||||
if (isset($param['q'])) { /* keyword search mode */
|
||||
$this->request = $param['q'];
|
||||
if (isset($param['q']['value'])) { /* keyword search mode */
|
||||
$this->request = $param['q']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('https://www.google.com/search?q=' . urlencode($this->request) . '&num=100&complete=0&tbs=qdr:y,sbd:1') or $this->returnServerError('No results for this query.');
|
||||
}
|
||||
else{
|
||||
|
|
|
@ -14,7 +14,7 @@ class GuruMedBridge extends BridgeAbstract{
|
|||
return $string;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://gurumed.org/feed') or $this->returnServerError('Could not request Gurumed.');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -21,12 +21,13 @@ class HDWallpapersBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$baseUri = 'http://www.hdwallpapers.in';
|
||||
|
||||
$this->category = $param['c'] ?: 'latest_wallpapers'; // Latest default
|
||||
$this->resolution = $param['r'] ?: '1920x1200'; // Wide wallpaper default
|
||||
$this->category = $param['c']['value'] ?: 'latest_wallpapers'; // Latest default
|
||||
$this->resolution = $param['r']['value'] ?: '1920x1200'; // Wide wallpaper default
|
||||
|
||||
$category = $this->category;
|
||||
if (strrpos($category, 'wallpapers') !== strlen($category)-strlen('wallpapers')) {
|
||||
|
@ -34,7 +35,7 @@ class HDWallpapersBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
$num = 0;
|
||||
$max = $param['m'] ?: 14;
|
||||
$max = $param['m']['value'] ?: 14;
|
||||
$lastpage = 1;
|
||||
|
||||
for ($page = 1; $page <= $lastpage; $page++) {
|
||||
|
|
|
@ -10,7 +10,7 @@ class HentaiHavenBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://hentaihaven.org/') or $this->returnServerError('Could not request Hentai Haven.');
|
||||
foreach($html->find('div.zoe-grid') as $element) {
|
||||
$item = array();
|
||||
|
|
|
@ -11,15 +11,19 @@ class IdenticaBridge extends BridgeAbstract{
|
|||
$this->description = "Returns user timelines";
|
||||
|
||||
$this->parameters[] = array(
|
||||
'u'=>array('name'=>'username')
|
||||
'u'=>array(
|
||||
'name'=>'username',
|
||||
'required'=>true
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (isset($param['u'])) { /* user timeline mode */
|
||||
$this->request = $param['u'];
|
||||
if (isset($param['u']['value'])) { /* user timeline mode */
|
||||
$this->request = $param['u']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('https://identi.ca/'.urlencode($this->request)) or $this->returnServerError('Requested username can\'t be found.');
|
||||
}
|
||||
else {
|
||||
|
@ -31,7 +35,7 @@ class IdenticaBridge extends BridgeAbstract{
|
|||
$item['uri'] = html_entity_decode($dent->find('a', 0)->href); // get dent link
|
||||
$item['timestamp'] = strtotime($dent->find('abbr.easydate', 0)->plaintext); // extract dent timestamp
|
||||
$item['content'] = trim($dent->find('div.activity-content', 0)->innertext); // extract dent text
|
||||
$item['title'] = $param['u'] . ' | ' . $item['content'];
|
||||
$item['title'] = $param['u']['value'] . ' | ' . $item['content'];
|
||||
$this->items[] = $item;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,10 +16,11 @@ class InstagramBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (isset($param['u'])) { /* user timeline mode */
|
||||
$this->request = $param['u'];
|
||||
if (isset($param['u']['value'])) { /* user timeline mode */
|
||||
$this->request = $param['u']['value'];
|
||||
$html = $this->getSimpleHTMLDOM('http://instagram.com/'.urlencode($this->request)) or $this->returnServerError('Could not request Instagram.');
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -89,23 +89,24 @@ class IsoHuntBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $params){
|
||||
public function collectData(){
|
||||
$params=$this->parameters[$this->queriedContext];
|
||||
$request_path = '/'; // We'll request the main page by default
|
||||
|
||||
if(isset($params['latest_category'])){ // Requesting one of the latest categories
|
||||
$this->request_latest_category($params['latest_category']);
|
||||
} elseif(isset($params['torrent_category'])){ // Requesting one of the torrent categories
|
||||
if(isset($params['latest_category']['value'])){ // Requesting one of the latest categories
|
||||
$this->request_latest_category($params['latest_category']['value']);
|
||||
} elseif(isset($params['torrent_category']['value'])){ // Requesting one of the torrent categories
|
||||
$order_popularity = false;
|
||||
|
||||
if(isset($params['torrent_popularity']))
|
||||
$order_popularity = $params['torrent_popularity'] === "on";
|
||||
if(isset($params['torrent_popularity']['value']))
|
||||
$order_popularity = $params['torrent_popularity']['value'];
|
||||
|
||||
$this->request_torrent_category($params['torrent_category'], $order_popularity);
|
||||
} else if(isset($params['search_name'])){ // Requesting search
|
||||
if(isset($params['search_category']))
|
||||
$this->request_search($params['search_name'], $params['search_category']);
|
||||
$this->request_torrent_category($params['torrent_category']['value'], $order_popularity);
|
||||
} else if(isset($params['search_name']['value'])){ // Requesting search
|
||||
if(isset($params['search_category']['value']))
|
||||
$this->request_search($params['search_name']['value'], $params['search_category']['value']);
|
||||
else
|
||||
$this->request_search($params['search_name']);
|
||||
$this->request_search($params['search_name']['value']);
|
||||
} else {
|
||||
$this->returnClientError('Unknown request!');
|
||||
}
|
||||
|
|
|
@ -18,7 +18,8 @@ class JapanExpoBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
function french_pubdate_to_timestamp($date_to_parse) {
|
||||
return strtotime(
|
||||
|
@ -50,7 +51,7 @@ class JapanExpoBridge extends BridgeAbstract{
|
|||
|
||||
$link = 'http://www.japan-expo-paris.com/fr/actualites';
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request JapanExpo: '.$link);
|
||||
$fullcontent = (!empty($param['mode']) && $param['mode'] == 'full');
|
||||
$fullcontent = (!empty($param['mode']['value']) && $param['mode']['value'] == 'full');
|
||||
$count = 0;
|
||||
|
||||
foreach ($html->find('a._tile2') as $element) {
|
||||
|
|
|
@ -17,13 +17,14 @@ class KonachanBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 1;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://konachan.com/post?page=$page&tags=$tags") or $this->returnServerError('Could not request Konachan.');
|
||||
$input_json = explode('Post.register(', $html);
|
||||
|
|
|
@ -21,7 +21,7 @@ class KoreusBridge extends BridgeAbstract{
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://feeds.feedburner.com/Koreus-articles') or $this->returnServerError('Could not request Koreus.');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -39,21 +39,22 @@ class KununuBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $params){
|
||||
public function collectData(){
|
||||
$params=$this->parameters[$this->queriedContext];
|
||||
|
||||
// Get Site
|
||||
$site = strtolower(trim($params['site']));
|
||||
$site = strtolower(trim($params['site']['value']));
|
||||
if(!isset($site) || empty($site) || !$this->site_is_valid($site))
|
||||
$this->returnClientError('You must specify a valid site (&site=...)!');
|
||||
|
||||
// Get Company (fixing whitespace and umlauts)
|
||||
$company = $this->encode_umlauts(strtolower(str_replace(' ', '-', trim($params['company']))));
|
||||
$company = $this->encode_umlauts(strtolower(str_replace(' ', '-', trim($params['company']['value']))));
|
||||
if(!isset($company) || empty($company))
|
||||
$this->returnClientError('You must specify a company (&company=...)!');
|
||||
|
||||
$full = false; // By default we'll load only short article
|
||||
if(isset($params['full']))
|
||||
$full = strtolower(trim($params['full'])) === 'on';
|
||||
if(isset($params['full']['value']))
|
||||
$full = strtolower(trim($params['full']['value']));
|
||||
|
||||
// Get reviews section name (depends on site)
|
||||
$section = '';
|
||||
|
|
|
@ -35,7 +35,7 @@ class LWNprevBridge extends BridgeAbstract{
|
|||
}
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
// Because the LWN page is written in loose HTML and not XHTML,
|
||||
// Simple HTML Dom is not accurate enough for the job
|
||||
|
||||
|
|
|
@ -138,14 +138,15 @@ class LeBonCoinBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
$html = '';
|
||||
if (empty($param['c'])) {
|
||||
$link = 'http://www.leboncoin.fr/annonces/offres/' . $param['r'] . '/?f=a&th=1&q=' . urlencode($param['k']);
|
||||
if (empty($param['c']['value'])) {
|
||||
$link = 'http://www.leboncoin.fr/annonces/offres/' . $param['r']['value'] . '/?f=a&th=1&q=' . urlencode($param['k']['value']);
|
||||
}
|
||||
else {
|
||||
$link = 'http://www.leboncoin.fr/' . $param['c'] . '/offres/' . $param['r'] . '/?f=a&th=1&q=' . urlencode($param['k']);
|
||||
$link = 'http://www.leboncoin.fr/' . $param['c']['value'] . '/offres/' . $param['r']['value'] . '/?f=a&th=1&q=' . urlencode($param['k']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request LeBonCoin.');
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ class LeJournalDuGeekBridge extends BridgeAbstract{
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$rssFeed = $this->getSimpleHTMLDOM('http://www.journaldugeek.com/rss') or $this->returnServerError('Could not request http://www.journaldugeek.com/rss');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class LeMondeInformatiqueBridge extends BridgeAbstract {
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
function StripCDATA($string) {
|
||||
$string = str_replace('<![CDATA[', '', $string);
|
||||
|
|
|
@ -14,8 +14,8 @@ class Les400CulsBridge extends RssExpander{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
parent::collectExpandableDatas($param, SEXE_FEED);
|
||||
public function collectData(){
|
||||
parent::collectExpandableDatas(SEXE_FEED);
|
||||
}
|
||||
|
||||
protected function parseRSSItem($newsItem) {
|
||||
|
|
|
@ -10,7 +10,7 @@ class LesJoiesDuCodeBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://lesjoiesducode.fr/') or $this->returnServerError('Could not request LesJoiesDuCode.');
|
||||
|
||||
foreach($html->find('div.blog-post') as $element) {
|
||||
|
|
|
@ -10,7 +10,7 @@ class LichessBridge extends BridgeAbstract
|
|||
$this->description = 'Returns the 5 newest posts from the Lichess blog (full text)';
|
||||
}
|
||||
|
||||
public function collectData(array $param)
|
||||
public function collectData()
|
||||
{
|
||||
$xml_feed = $this->getSimpleHTMLDOM('http://fr.lichess.org/blog.atom') or $this->returnServerError('Could not retrieve Lichess blog feed.');
|
||||
|
||||
|
|
|
@ -16,9 +16,10 @@ class LinkedInCompany extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$link = 'https://www.linkedin.com/company/'.$param['c'];
|
||||
$link = 'https://www.linkedin.com/company/'.$param['c']['value'];
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request LinkedIn.');
|
||||
|
||||
|
|
|
@ -17,13 +17,14 @@ class LolibooruBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 1; $tags = '';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://lolibooru.moe/post?page=$page&tags=$tags") or $this->returnServerError('Could not request Lolibooru.');
|
||||
$input_json = explode('Post.register(', $html);
|
||||
|
|
|
@ -76,7 +76,8 @@ class MangareaderBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
$this->request = '';
|
||||
|
||||
|
@ -84,21 +85,21 @@ class MangareaderBridge extends BridgeAbstract{
|
|||
$path = "latest";
|
||||
$limit = MANGAREADER_LIMIT;
|
||||
|
||||
if(isset($param['category'])){ // Get popular updates
|
||||
if(isset($param['category']['value'])){ // Get popular updates
|
||||
$type = "popular";
|
||||
$path = "popular";
|
||||
if($param['category'] !== "all"){
|
||||
$path .= "/" . $param['category'];
|
||||
if($param['category']['value'] !== "all"){
|
||||
$path .= "/" . $param['category']['value'];
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($param['path'])){ // Get manga updates
|
||||
if(isset($param['path']['value'])){ // Get manga updates
|
||||
$type = "path";
|
||||
$path = $param['path'];
|
||||
$path = $param['path']['value'];
|
||||
}
|
||||
|
||||
if(isset($param['limit']) && $param['limit'] !== ""){ // Get manga updates (optional parameter)
|
||||
$limit = $param['limit'];
|
||||
if(isset($param['limit']['value']) && $param['limit']['value'] !== ""){ // Get manga updates (optional parameter)
|
||||
$limit = $param['limit']['value'];
|
||||
}
|
||||
|
||||
// We'll use the DOM parser for this as it makes navigation easier
|
||||
|
|
|
@ -17,13 +17,14 @@ class MilbooruBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://sheslostcontrol.net/moe/shimmie/index.php?q=/post/list/$tags/$page") or $this->returnServerError('Could not request Milbooru.');
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ class MondeDiploBridge extends BridgeAbstract{
|
|||
$this->description = "Returns most recent results from MondeDiplo.";
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM($this->uri) or $this->returnServerError('Could not request MondeDiplo. for : ' . $link);
|
||||
|
||||
foreach($html->find('div.unarticle') as $article) {
|
||||
|
|
|
@ -14,7 +14,7 @@ class MsnMondeBridge extends BridgeAbstract{
|
|||
$item['timestamp'] = strtotime($html2->find('.authorinfo-txt', 0)->find('time', 0)->datetime);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM($this->uri) or $this->returnServerError('Could not request MsnMonde.');
|
||||
$limit = 0;
|
||||
foreach($html->find('.smalla') as $article) {
|
||||
|
|
|
@ -18,15 +18,16 @@ class MspabooruBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
$page = $page - 1;
|
||||
$page = $page * 50;
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://mspabooru.com/index.php?page=post&s=list&tags=$tags&pid=$page") or $this->returnServerError('Could not request Mspabooru.');
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ class NakedSecurityBridge extends BridgeAbstract {
|
|||
$this->description = 'Returns the newest articles.';
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
function StripRecursiveHTMLSection($string, $tag_name, $tag_start) {
|
||||
$open_tag = '<'.$tag_name;
|
||||
|
|
|
@ -10,7 +10,7 @@ class NasaApodBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
$html = $this->getSimpleHTMLDOM('http://apod.nasa.gov/apod/archivepix.html') or $this->returnServerError('Error while downloading the website content');
|
||||
$list = explode("<br>", $html->find('b', 0)->innertext);
|
||||
|
|
|
@ -8,7 +8,7 @@ class NeuviemeArtBridge extends BridgeAbstract {
|
|||
$this->description = "Returns the newest articles.";
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
function StripWithDelimiters($string, $start, $end) {
|
||||
while (strpos($string, $start) !== false) {
|
||||
|
|
|
@ -25,7 +25,7 @@ class NextInpactBridge extends BridgeAbstract {
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.nextinpact.com/rss/news.xml') or $this->returnServerError('Could not request NextInpact.');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -28,7 +28,8 @@ class NextgovBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
|
||||
function ExtractFromDelimiters($string, $start, $end) {
|
||||
if (strpos($string, $start) !== false) {
|
||||
|
@ -46,7 +47,7 @@ class NextgovBridge extends BridgeAbstract {
|
|||
} return $string;
|
||||
}
|
||||
|
||||
$category = $param['category'];
|
||||
$category = $param['category']['value'];
|
||||
if (empty($category))
|
||||
$category = 'all';
|
||||
if ($category !== preg_replace('/[^a-z-]+/', '', $category) || strlen($category > 32))
|
||||
|
|
|
@ -22,7 +22,7 @@ class NiceMatinBridge extends BridgeAbstract{
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.nicematin.com/derniere-minute/rss') or $this->returnServerError('Could not request NiceMatin.');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -15,10 +15,11 @@ class NovelUpdatesBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
if (!isset($param['n']))
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
if (!isset($param['n']['value']))
|
||||
$this->returnClientError('You must specify the novel URL (/series/...)');
|
||||
$thread = parse_url($param['n']) or $this->returnClientError('This URL seems malformed, please check it.');
|
||||
$thread = parse_url($param['n']['value']) or $this->returnClientError('This URL seems malformed, please check it.');
|
||||
if($thread['host'] !== 'www.novelupdates.com')
|
||||
$this->returnClientError('NovelUpdates URL only.');
|
||||
if(strpos($thread['path'], 'series/') === FALSE)
|
||||
|
|
|
@ -10,7 +10,7 @@ class NumeramaBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
function NumeramaStripCDATA($string) {
|
||||
$string = str_replace('<![CDATA[', '', $string);
|
||||
|
|
|
@ -29,14 +29,15 @@ class OpenClassroomsBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
if (empty($param['u']))
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
if (empty($param['u']['value']))
|
||||
{
|
||||
$this->returnServerError('Error: You must chose a category.');
|
||||
}
|
||||
|
||||
$html = '';
|
||||
$link = 'https://openclassrooms.com/courses?categories='.$param['u'].'&title=&sort=updatedAt+desc';
|
||||
$link = 'https://openclassrooms.com/courses?categories='.$param['u']['value'].'&title=&sort=updatedAt+desc';
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request OpenClassrooms.');
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ class ParuVenduImmoBridge extends BridgeAbstract
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param)
|
||||
public function collectData()
|
||||
{
|
||||
$html = '';
|
||||
$num = 20;
|
||||
|
@ -37,22 +37,22 @@ class ParuVenduImmoBridge extends BridgeAbstract
|
|||
$maison = '&tbMai=1&tbVil=1&tbCha=1&tbPro=1&tbHot=1&tbMou=1&tbFer=1';
|
||||
$link = $this->uri.'/immobilier/annonceimmofo/liste/listeAnnonces?tt=1'.$appartment.$maison;
|
||||
|
||||
if (isset($param['minarea'])) {
|
||||
$this->request .= ' '.$param['minarea'].' m2';
|
||||
$link .= '&sur0='.urlencode($param['minarea']);
|
||||
if (isset($param['minarea']['value'])) {
|
||||
$this->request .= ' '.$param['minarea']['value'].' m2';
|
||||
$link .= '&sur0='.urlencode($param['minarea']['value']);
|
||||
}
|
||||
|
||||
if (isset($param['maxprice'])) {
|
||||
$link .= '&px1='.urlencode($param['maxprice']);
|
||||
if (isset($param['maxprice']['value'])) {
|
||||
$link .= '&px1='.urlencode($param['maxprice']['value']);
|
||||
}
|
||||
|
||||
if (isset($param['pa'])) {
|
||||
$link .= '&pa='.urlencode($param['pa']);
|
||||
if (isset($param['pa']['value'])) {
|
||||
$link .= '&pa='.urlencode($param['pa']['value']);
|
||||
}
|
||||
|
||||
if (isset($param['lo'])) {
|
||||
$this->request .= ' In: '.$param['lo'];
|
||||
$link .= '&lo='.urlencode($param['lo']);
|
||||
if (isset($param['lo']['value'])) {
|
||||
$this->request .= ' In: '.$param['lo']['value'];
|
||||
$link .= '&lo='.urlencode($param['lo']['value']);
|
||||
}
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request paruvendu.');
|
||||
|
|
|
@ -28,19 +28,20 @@ class PickyWallpapersBridge extends BridgeAbstract {
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (!isset($param['c'])) {
|
||||
if (!isset($param['c']['value'])) {
|
||||
$this->returnClientError('You must specify at least a category (?c=...).');
|
||||
} else {
|
||||
$baseUri = 'http://www.pickywallpapers.com';
|
||||
|
||||
$this->category = $param['c'];
|
||||
$this->subcategory = $param['s'] ?: '';
|
||||
$this->resolution = $param['r'] ?: '1920x1200'; // Wide wallpaper default
|
||||
$this->category = $param['c']['value'];
|
||||
$this->subcategory = $param['s']['value'] ?: '';
|
||||
$this->resolution = $param['r']['value'] ?: '1920x1200'; // Wide wallpaper default
|
||||
|
||||
$num = 0;
|
||||
$max = $param['m'] ?: 12;
|
||||
$max = $param['m']['value'] ?: 12;
|
||||
$lastpage = 1;
|
||||
|
||||
for ($page = 1; $page <= $lastpage; $page++) {
|
||||
|
|
|
@ -22,27 +22,28 @@ class PinterestBridge extends BridgeAbstract{
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if (isset($param['u']) || isset($param['b'])) {
|
||||
if (isset($param['u']['value']) || isset($param['b']['value'])) {
|
||||
|
||||
if (empty($param['u']))
|
||||
if (empty($param['u']['value']))
|
||||
{
|
||||
$this->returnClientError('You must specify a Pinterest username (?u=...).');
|
||||
}
|
||||
|
||||
if (empty($param['b']))
|
||||
if (empty($param['b']['value']))
|
||||
{
|
||||
$this->returnClientError('You must specify a Pinterest board for this username (?b=...).');
|
||||
}
|
||||
|
||||
$this->username = $param['u'];
|
||||
$this->board = $param['b'];
|
||||
$this->username = $param['u']['value'];
|
||||
$this->board = $param['b']['value'];
|
||||
$html = $this->getSimpleHTMLDOM($this->getURI().'/'.urlencode($this->username).'/'.urlencode($this->board)) or $this->returnServerError('Username and/or board not found');
|
||||
|
||||
} else if (isset($param['q']))
|
||||
} else if (isset($param['q']['value']))
|
||||
{
|
||||
$this->query = $param['q'];
|
||||
$this->query = $param['q']['value'];
|
||||
$html = $this->getSimpleHTMLDOM($this->getURI().'/search/?q='.urlencode($this->query)) or $this->returnServerError('Could not request Pinterest.');
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ class PlanetLibreBridge extends BridgeAbstract{
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.planet-libre.org/') or $this->returnServerError('Could not request PlanetLibre.');
|
||||
$limit = 0;
|
||||
foreach($html->find('div.post') as $element) {
|
||||
|
|
|
@ -11,7 +11,7 @@ class ProjectMGameBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = '';
|
||||
$html = $this->getSimpleHTMLDOM('http://projectmgame.com/en/') or $this->returnServerError('Error while downloading the Project M homepage');
|
||||
|
||||
|
|
|
@ -15,13 +15,14 @@ class RTBFBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
$limit = 10;
|
||||
$count = 0;
|
||||
|
||||
if (isset($param['c'])) {
|
||||
$html = $this->getSimpleHTMLDOM('http://www.rtbf.be/auvio/emissions/detail?id='.$param['c']) or $this->returnServerError('Could not request RTBF.');
|
||||
if (isset($param['c']['value'])) {
|
||||
$html = $this->getSimpleHTMLDOM('http://www.rtbf.be/auvio/emissions/detail?id='.$param['c']['value']) or $this->returnServerError('Could not request RTBF.');
|
||||
|
||||
foreach($html->find('section[id!=widget-ml-avoiraussi-] .rtbf-media-grid article') as $element) {
|
||||
if($count < $limit) {
|
||||
|
|
|
@ -10,7 +10,7 @@ class Releases3DSBridge extends BridgeAbstract {
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
public function collectData(){
|
||||
|
||||
function ExtractFromDelimiters($string, $start, $end) {
|
||||
if (strpos($string, $start) !== false) {
|
||||
|
|
|
@ -25,7 +25,7 @@ class ReporterreBridge extends BridgeAbstract{
|
|||
return $text;
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = $this->getSimpleHTMLDOM('http://www.reporterre.net/spip.php?page=backend') or $this->returnServerError('Could not request Reporterre.');
|
||||
$limit = 0;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class Rue89Bridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
|
||||
$html = $this->getSimpleHTMLDOM('http://api.rue89.nouvelobs.com/feed') or $this->returnServerError('Could not request Rue89.');
|
||||
|
||||
|
|
|
@ -18,15 +18,16 @@ class Rule34Bridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
$page = $page - 1;
|
||||
$page = $page * 50;
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://rule34.xxx/index.php?page=post&s=list&tags=$tags&pid=$page") or $this->returnServerError('Could not request Rule34.');
|
||||
|
||||
|
|
|
@ -18,13 +18,14 @@ class Rule34pahealBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://rule34.paheal.net/post/list/$tags/$page") or $this->returnServerError('Could not request Rule34paheal.');
|
||||
|
||||
|
|
|
@ -18,15 +18,16 @@ class SafebooruBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 0;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
$page = $page - 1;
|
||||
$page = $page * 40;
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://safebooru.org/index.php?page=post&s=list&tags=$tags&pid=$page") or $this->returnServerError('Could not request Safebooru.');
|
||||
|
||||
|
|
|
@ -18,13 +18,14 @@ class SakugabooruBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$page = 1;$tags='';
|
||||
if (isset($param['p'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']);
|
||||
if (isset($param['p']['value'])) {
|
||||
$page = (int)preg_replace("/[^0-9]/",'', $param['p']['value']);
|
||||
}
|
||||
if (isset($param['t'])) {
|
||||
$tags = urlencode($param['t']);
|
||||
if (isset($param['t']['value'])) {
|
||||
$tags = urlencode($param['t']['value']);
|
||||
}
|
||||
$html = $this->getSimpleHTMLDOM("http://sakuga.yshi.org/post?page=$page&tags=$tags") or $this->returnServerError('Could not request Sakugabooru.');
|
||||
$input_json = explode('Post.register(', $html);
|
||||
|
|
|
@ -10,7 +10,7 @@ class ScmbBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$html = '';
|
||||
$html = $this->getSimpleHTMLDOM('http://secouchermoinsbete.fr/') or $this->returnServerError('Could not request Se Coucher Moins Bete.');
|
||||
|
||||
|
|
|
@ -17,10 +17,11 @@ class ScoopItBridge extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
$html = '';
|
||||
if ($param['u'] != '') {
|
||||
$this->request = $param['u'];
|
||||
if ($param['u']['value'] != '') {
|
||||
$this->request = $param['u']['value'];
|
||||
$link = 'http://scoop.it/search?q=' .urlencode($this->request);
|
||||
|
||||
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request ScoopIt. for : ' . $link);
|
||||
|
|
|
@ -37,18 +37,19 @@ class SensCritiqueBridge extends BridgeAbstract {
|
|||
);
|
||||
}
|
||||
|
||||
public function collectData(array $param) {
|
||||
if ((isset($param['m']) && $param['m'])) {
|
||||
public function collectData(){
|
||||
$param=$this->parameters[$this->queriedContext];
|
||||
if ((isset($param['m']['value']) && $param['m']['value'])) {
|
||||
$this->collectMoviesData();
|
||||
} else if ((isset($param['s']) && $param['s'])) {
|
||||
} else if ((isset($param['s']['value']) && $param['s']['value'])) {
|
||||
$this->collectSeriesData();
|
||||
} else if ((isset($param['g']) && $param['g'])) {
|
||||
} else if ((isset($param['g']['value']) && $param['g']['value'])) {
|
||||
$this->collectGamesData();
|
||||
} else if ((isset($param['b']) && $param['b'])) {
|
||||
} else if ((isset($param['b']['value']) && $param['b']['value'])) {
|
||||
$this->collectBooksData();
|
||||
} else if ((isset($param['bd']) && $param['bd'])) {
|
||||
} else if ((isset($param['bd']['value']) && $param['bd']['value'])) {
|
||||
$this->collectBDsData();
|
||||
} else if ((isset($param['mu']) && $param['mu'])) {
|
||||
} else if ((isset($param['mu']['value']) && $param['mu']['value'])) {
|
||||
$this->collectMusicsData();
|
||||
} else {
|
||||
$this->returnClientError('You must choose a category');
|
||||
|
|
|
@ -10,7 +10,7 @@ class Sexactu extends BridgeAbstract{
|
|||
|
||||
}
|
||||
|
||||
public function collectData(array $param){
|
||||
public function collectData(){
|
||||
$find = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'novembre', 'décembre');
|
||||
$replace = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue