1
0
Fork 0
forked from blallo/rss-bridge
This commit is contained in:
logmanoriginal 2016-08-22 16:20:56 +02:00
commit 6fd0bdd21e
131 changed files with 1486 additions and 2525 deletions

View file

@ -9,7 +9,6 @@ class ABCTabsBridge extends BridgeAbstract{
$this->name = "ABC Tabs Bridge"; $this->name = "ABC Tabs Bridge";
$this->uri = "http://www.abc-tabs.com/"; $this->uri = "http://www.abc-tabs.com/";
$this->description = "Returns 22 newest tabs"; $this->description = "Returns 22 newest tabs";
$this->update = '2016-08-17';
} }

View file

@ -7,7 +7,6 @@ class AcrimedBridge extends RssExpander{
$this->name = "Acrimed Bridge"; $this->name = "Acrimed Bridge";
$this->uri = "http://www.acrimed.org/"; $this->uri = "http://www.acrimed.org/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = "2016-08-09";
} }

View file

@ -7,34 +7,21 @@ class AllocineFRBridge extends BridgeAbstract{
$this->name = "Allo Cine Bridge"; $this->name = "Allo Cine Bridge";
$this->uri = "http://www.allocine.fr"; $this->uri = "http://www.allocine.fr";
$this->description = "Bridge for allocine.fr"; $this->description = "Bridge for allocine.fr";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'category'=>array(
{ 'name'=>'category',
"name" : "category", 'type'=>'list',
"identifier" : "category", 'required'=>true,
"type" : "list", 'exampleValue'=>'Faux Raccord',
"required" : true, 'title'=>'Select your category',
"exampleValue" : "Faux Raccord", 'values'=>array(
"title" : "Select your category", 'Faux Raccord'=>'faux-raccord',
"values" : 'Top 5'=>'top-5',
[ 'Tueurs En Serie'=>'tuers-en-serie'
{ )
"name" : "Faux Raccord", )
"value" : "faux-raccord" );
},
{
"name" : "Top 5",
"value" : "top-5"
},
{
"name" : "Tueurs En Serie",
"value" : "tuers-en-serie"
}
]
}
]';
} }
public function collectData(array $params){ public function collectData(array $params){
@ -64,7 +51,7 @@ class AllocineFRBridge extends BridgeAbstract{
// Update bridge name to match selection // Update bridge name to match selection
$this->name .= ' : ' . $category; $this->name .= ' : ' . $category;
$html = $this->getSimpleTMLOM($this->uri) or $this->returnServerError("Could not request {$this->uri}!"); $html = $this->getSimpleHTMLDOM($this->uri) or $this->returnServerError("Could not request {$this->uri}!");
foreach($html->find('figure.media-meta-fig') as $element) foreach($html->find('figure.media-meta-fig') as $element)
{ {

View file

@ -9,38 +9,19 @@ class AnimeUltimeBridge extends BridgeAbstract {
$this->name = 'Anime-Ultime'; $this->name = 'Anime-Ultime';
$this->uri = 'http://www.anime-ultime.net/'; $this->uri = 'http://www.anime-ultime.net/';
$this->description = 'Returns the 10 newest releases posted on Anime-Ultime'; $this->description = 'Returns the 10 newest releases posted on Anime-Ultime';
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'type'=>array(
{ 'name'=>'Type',
"name" : "Type", 'type'=>'list',
"type" : "list", 'values'=>array(
"identifier" : "type", 'Everything'=>'',
"values" : 'Anime'=>'A',
[ 'Drama'=>'D',
{ 'Tokusatsu'=>'T'
"name" : "Everything", )
"value" : "" )
);
},
{
"name" : "Anime",
"value" : "A"
},
{
"name" : "Drama",
"value" : "D"
},
{
"name" : "Tokusatsu",
"value" : "T"
}
]
}
]';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -3,67 +3,68 @@
#error_reporting(E_ALL); #error_reporting(E_ALL);
class ArstechnicaBridge extends BridgeAbstract { class ArstechnicaBridge extends BridgeAbstract {
public function loadMetadatas() { public function loadMetadatas() {
$this->maintainer = "prysme"; $this->maintainer = "prysme";
$this->name = "ArstechnicaBridge"; $this->name = "ArstechnicaBridge";
$this->uri = "http://arstechnica.com"; $this->uri = "http://arstechnica.com";
$this->description = "The PC enthusiast's resource. Power users and the tools they love, without computing religion"; $this->description = "The PC enthusiast's resource. Power users and the tools they love, without computing religion";
$this->update = '2016-08-17';
} }
public function collectData(array $param) { function StripWithDelimiters($string, $start, $end) {
function StripWithDelimiters($string, $start, $end) { while (strpos($string, $start) !== false) {
while (strpos($string, $start) !== false) { $section_to_remove = substr($string, strpos($string, $start));
$section_to_remove = substr($string, strpos($string, $start)); $section_to_remove = substr($section_to_remove, 0, strpos($section_to_remove, $end) + strlen($end));
$section_to_remove = substr($section_to_remove, 0, strpos($section_to_remove, $end) + strlen($end)); $string = str_replace($section_to_remove, '', $string);
$string = str_replace($section_to_remove, '', $string); } return $string;
} return $string; }
}
function StripCDATA($string) {
$string = str_replace('<![CDATA[', '', $string);
$string = str_replace(']]>', '', $string);
return $string;
}
function ExtractContent($url) { function StripCDATA($string) {
#echo $url; $string = str_replace('<![CDATA[', '', $string);
$html2 = getSimpleHTMLDOM($url); $string = str_replace(']]>', '', $string);
return $string;
}
$text = $html2->find("section[id='article-guts']", 0); function ExtractContent($url) {
#echo $url;
$html2 = $this->getSimpleHTMLDOM($url);
$text = $html2->find("section[id='article-guts']", 0);
/*foreach ($text->find('<aside id="social-left">') as $node) /*foreach ($text->find('<aside id="social-left">') as $node)
{ $node = NULL; }*/ { $node = NULL; }*/
$text = StripWithDelimiters($text->innertext,'<aside id="social-left">','</aside>'); $text = $this->StripWithDelimiters($text->innertext,'<aside id="social-left">','</aside>');
$text = StripWithDelimiters($text,'<figcaption class="caption">','</figcaption>'); $text = $this->StripWithDelimiters($text,'<figcaption class="caption">','</figcaption>');
$text = StripWithDelimiters($text,'<div class="gallery shortcode-gallery">','</div>'); $text = $this->StripWithDelimiters($text,'<div class="gallery shortcode-gallery">','</div>');
//error_log("ICI", 0); //error_log("ICI", 0);
//error_log($text, 0); //error_log($text, 0);
return $text; return $text;
} }
$html = $this->getSimpleHTMLDOM('http://feeds.arstechnica.com/arstechnica/index') or $this->returnServerError('Could not request NextInpact.'); public function collectData(array $param) {
$limit = 0;
foreach($html->find('item') as $element) { $html = $this->getSimpleHTMLDOM('http://feeds.arstechnica.com/arstechnica/index') or $this->returnServerError('Could not request NextInpact.');
if($limit < 5) { $limit = 0;
$item = new \Item();
$item->title = StripCDATA($element->find('title', 0)->innertext); foreach($html->find('item') as $element) {
$item->uri = StripCDATA($element->find('guid', 0)->plaintext); if($limit < 5) {
$item->author = StripCDATA($element->find('author', 0)->innertext); $item = new \Item();
$item->timestamp = strtotime($element->find('pubDate', 0)->plaintext); $item->title = $this->StripCDATA($element->find('title', 0)->innertext);
$item->content = ExtractContent($item->uri); $item->uri = $this->StripCDATA($element->find('guid', 0)->plaintext);
//$item->content = $item->uri; $item->author = $this->StripCDATA($element->find('author', 0)->innertext);
$this->items[] = $item; $item->timestamp = strtotime($element->find('pubDate', 0)->plaintext);
$limit++; $item->content = $this->ExtractContent($item->uri);
} //$item->content = $item->uri;
} $this->items[] = $item;
$limit++;
} }
}
public function getCacheDuration() {
return 7200; // 2h }
}
public function getCacheDuration() {
return 7200; // 2h
}
} }

View file

@ -7,106 +7,42 @@ class Arte7Bridge extends BridgeAbstract{
$this->name = "Arte +7"; $this->name = "Arte +7";
$this->uri = "http://www.arte.tv/"; $this->uri = "http://www.arte.tv/";
$this->description = "Returns newest videos from ARTE +7"; $this->description = "Returns newest videos from ARTE +7";
$this->update = "2016-08-09"; $this->parameters["Catégorie (Français)"] = array(
$this->parameters["Catégorie (Français)"] = 'catfr'=>array(
'[ 'type'=>'list',
{ 'name'=>'Catégorie',
"type" : "list", 'values'=>array(
"identifier" : "catfr", 'Toutes les vidéos (français)'=>'toutes-les-videos',
"name" : "Catégorie", 'Actu & société'=>'actu-société',
"values" : [ 'Séries & fiction'=>'séries-fiction',
{ 'Cinéma'=>'cinéma',
"name" : "Toutes les vidéos (français)", 'Arts & spectacles classiques'=>'arts-spectacles-classiques',
"value" : "toutes-les-videos" 'Culture pop'=>'culture-pop',
}, 'Découverte'=>'découverte',
{ 'Histoire'=>'histoire',
"name" : "Actu & société", 'Junior'=>'junior'
"value" : "actu-société"
},
{
"name" : "Séries & fiction",
"value" : "séries-fiction"
},
{
"name" : "Cinéma",
"value" : "cinéma"
},
{
"name" : "Arts & spectacles classiques",
"value" : "arts-spectacles-classiques"
},
{
"name" : "Culture pop",
"value" : "culture-pop"
},
{
"name" : "Découverte",
"value" : "découverte"
},
{
"name" : "Histoire",
"value" : "histoire"
},
{
"name" : "Junior",
"value" : "junior"
}
] )
)
);
$this->parameters["Catégorie (Allemand)"] = array(
} 'catde'=>array(
'type'=>'list',
]'; 'name'=>'Catégorie',
$this->parameters["Catégorie (Allemand)"] = 'values'=>array(
'[ 'Alle Videos (deutsch)'=>'alle-videos',
{ 'Aktuelles & Gesellschaft'=>'aktuelles-gesellschaft',
"type" : "list", 'Fernsehfilme & Serien'=>'fernsehfilme-serien',
"identifier" : "catde", 'Kino'=>'kino',
"name" : "Catégorie", 'Kunst & Kultur'=>'kunst-kultur',
"values" : [ 'Popkultur & Alternativ'=>'popkultur-alternativ',
{ 'Entdeckung'=>'entdeckung',
"name" : "Alle Videos (deutsch)", 'Geschichte'=>'geschichte',
"value" : "alle-videos" 'Junior'=>'junior'
}, )
{ )
"name" : "Aktuelles & Gesellschaft", );
"value" : "aktuelles-gesellschaft"
},
{
"name" : "Fernsehfilme & Serien",
"value" : "fernsehfilme-serien"
},
{
"name" : "Kino",
"value" : "kino"
},
{
"name" : "Kunst & Kultur",
"value" : "kunst-kultur"
},
{
"name" : "Popkultur & Alternativ",
"value" : "popkultur-alternativ"
},
{
"name" : "Entdeckung",
"value" : "entdeckung"
},
{
"name" : "Geschichte",
"value" : "geschichte"
},
{
"name" : "Junior",
"value" : "junior"
}
]
}
]';
} }

View file

@ -7,15 +7,12 @@ class AskfmBridge extends BridgeAbstract{
$this->name = "Ask.fm Answers"; $this->name = "Ask.fm Answers";
$this->uri = "http://ask.fm/"; $this->uri = "http://ask.fm/";
$this->description = "Returns answers from an Ask.fm user"; $this->description = "Returns answers from an Ask.fm user";
$this->update = '2016-08-17';
$this->parameters["Ask.fm username"] = $this->parameters["Ask.fm username"] = array(
'[ 'u'=>array(
{ 'name'=>'Username'
"name" : "Username", )
"identifier" : "u" );
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -9,17 +9,13 @@ class BandcampBridge extends BridgeAbstract{
$this->name = "Bandcamp Tag"; $this->name = "Bandcamp Tag";
$this->uri = "http://bandcamp.com/"; $this->uri = "http://bandcamp.com/";
$this->description = "New bandcamp release by tag"; $this->description = "New bandcamp release by tag";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'tag'=>array(
{ 'name'=>'tag',
"name" : "tag", 'type'=>'text'
"type" : "text", )
"identifier" : "tag" );
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -5,7 +5,6 @@ class BastaBridge extends BridgeAbstract{
$this->name = "Bastamag Bridge"; $this->name = "Bastamag Bridge";
$this->uri = "http://www.bastamag.net/"; $this->uri = "http://www.bastamag.net/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class BlaguesDeMerdeBridge extends BridgeAbstract{
$this->name = "Blagues De Merde"; $this->name = "Blagues De Merde";
$this->uri = "http://www.blaguesdemerde.fr/"; $this->uri = "http://www.blaguesdemerde.fr/";
$this->description = "Blagues De Merde"; $this->description = "Blagues De Merde";
$this->update = '2016-08-17';
} }

View file

@ -7,26 +7,15 @@ class BooruprojectBridge extends BridgeAbstract{
$this->name = "Booruproject"; $this->name = "Booruproject";
$this->uri = "http://booru.org/"; $this->uri = "http://booru.org/";
$this->description = "Returns images from given page and booruproject instance (****.booru.org)"; $this->description = "Returns images from given page and booruproject instance (****.booru.org)";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'i'=>array(
{ 'name'=>'instance (required)',
"name" : "instance (required)", 'required'=>true
"required" : true, ),
"identifier" : "i" 'p'=>array('name'=>'page'),
}, 't'=>array('name'=>'tags')
{ );
"name" : "page",
"identifier" : "p"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
} }

View file

@ -5,7 +5,6 @@ class CADBridge extends BridgeAbstract{
$this->name = "CAD Bridge"; $this->name = "CAD Bridge";
$this->uri = "http://www.cad-comic.com/"; $this->uri = "http://www.cad-comic.com/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }
private function CADExtractContent($url) { private function CADExtractContent($url) {

View file

@ -9,15 +9,10 @@ class CNETBridge extends BridgeAbstract {
$this->name = 'CNET News'; $this->name = 'CNET News';
$this->uri = 'http://www.cnet.com/'; $this->uri = 'http://www.cnet.com/';
$this->description = 'Returns the newest articles. <br /> You may specify a topic found in some section URLs, else all topics are selected.'; $this->description = 'Returns the newest articles. <br /> You may specify a topic found in some section URLs, else all topics are selected.';
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'topic'=>array('name'=>'Topic name')
{ );
"name" : "Topic name",
"identifier" : "topic"
}
]';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -5,31 +5,26 @@ class CastorusBridge extends BridgeAbstract {
$this->name = "Castorus Bridge"; $this->name = "Castorus Bridge";
$this->uri = 'http://www.castorus.com'; $this->uri = 'http://www.castorus.com';
$this->description = "Returns the latest changes"; $this->description = "Returns the latest changes";
$this->update = '2016-08-17';
$this->parameters["Get latest changes"] = '[]'; $this->parameters["Get latest changes"] = array();
$this->parameters["Get latest changes via ZIP code"] = $this->parameters["Get latest changes via ZIP code"] = array(
'[ 'zip'=>array(
{ 'name'=>'ZIP code',
"name": "ZIP code", 'type'=>'text',
"identifier" : "zip", 'required'=>true,
"type" : "text", 'exampleValue'=>'74910, 74',
"required" : true, 'title'=>'Insert ZIP code (complete or partial)'
"exampleValue" : "74910, 74", )
"title" : "Insert ZIP code (complete or partial)" );
} $this->parameters["Get latest changes via city name"] = array(
]'; 'city'=>array(
$this->parameters["Get latest changes via city name"] = 'name'=>'City name',
'[ 'type'=>'text',
{ 'required'=>true,
"name": "City name", 'exampleValue'=>'Seyssel, Seys',
"identifier" : "city", 'title'=>'Insert city name (complete or partial)'
"type" : "text", )
"required" : true, );
"exampleValue" : "Seyssel, Seys",
"title" : "Insert city name (complete or partial)"
}
]';
} }
// Extracts the tile from an actitiy // Extracts the tile from an actitiy

View file

@ -6,7 +6,6 @@ class CollegeDeFranceBridge extends BridgeAbstract{
$this->name = "CollegeDeFrance"; $this->name = "CollegeDeFrance";
$this->uri = "http://www.college-de-france.fr/"; $this->uri = "http://www.college-de-france.fr/";
$this->description = "Returns the latest audio and video from CollegeDeFrance"; $this->description = "Returns the latest audio and video from CollegeDeFrance";
$this->update = '2016-08-17';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -6,7 +6,6 @@ class CommonDreamsBridge extends BridgeAbstract{
$this->name = "CommonDreams Bridge"; $this->name = "CommonDreams Bridge";
$this->uri = "http://www.commondreams.org/"; $this->uri = "http://www.commondreams.org/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }
private function CommonDreamsExtractContent($url) { private function CommonDreamsExtractContent($url) {

View file

@ -7,7 +7,6 @@ class CopieDoubleBridge extends BridgeAbstract{
$this->name = "CopieDouble"; $this->name = "CopieDouble";
$this->uri = "http://www.copie-double.com/"; $this->uri = "http://www.copie-double.com/";
$this->description = "CopieDouble"; $this->description = "CopieDouble";
$this->update = '2016-08-17';
} }

View file

@ -7,7 +7,6 @@ class CourrierInternationalBridge extends BridgeAbstract{
$this->name = "Courrier International Bridge"; $this->name = "Courrier International Bridge";
$this->uri = "http://CourrierInternational.fr/"; $this->uri = "http://CourrierInternational.fr/";
$this->description = "Courrier International bridge"; $this->description = "Courrier International bridge";
$this->update = '2016-08-17';
} }

View file

@ -24,17 +24,14 @@ class CpasbienBridge extends HttpCachingBridgeAbstract{
$this->name = "Cpasbien Bridge"; $this->name = "Cpasbien Bridge";
$this->uri = "http://www.cpasbien.io"; $this->uri = "http://www.cpasbien.io";
$this->description = "Returns latest torrents from a request query"; $this->description = "Returns latest torrents from a request query";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'q'=>array(
{ 'name'=>'Search',
"name" : "Search", 'required'=>true,
"identifier" : "q", 'title'=>'Type your search'
"required" : true, )
"title" : "Type your search" );
}
]';
} }

View file

@ -7,17 +7,14 @@ class CryptomeBridge extends BridgeAbstract{
$this->name = "Cryptome"; $this->name = "Cryptome";
$this->uri = "http://cryptome.org/"; $this->uri = "http://cryptome.org/";
$this->description = "Returns the N most recent documents."; $this->description = "Returns the N most recent documents.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'n'=>array(
{ 'name'=>'number of elements',
"name" : "number of elements", 'type'=>'number',
"identifier" : "n", 'exampleValue'=>10
"type" : "number", )
"exampleValue" : "10" );
}
]';
} }

View file

@ -9,54 +9,38 @@ class DailymotionBridge extends BridgeAbstract{
$this->name = "Dailymotion Bridge"; $this->name = "Dailymotion Bridge";
$this->uri = "https://www.dailymotion.com/"; $this->uri = "https://www.dailymotion.com/";
$this->description = "Returns the 5 newest videos by username/playlist or search"; $this->description = "Returns the 5 newest videos by username/playlist or search";
$this->update = '2016-08-17';
$this->parameters["By username"] = $this->parameters["By username"] = array(
'[ 'u'=>array('name'=>'username')
{ );
"name" : "username",
"identifier" : "u"
}
]';
$this->parameters["By playlist id"] = $this->parameters["By playlist id"] = array(
'[ 'p'=>array(
{ 'name'=>'playlist id',
"name" : "playlist id", 'type'=>'text')
"identifier" : "p", );
"type" : "text"
}
]';
$this->parameters["From search results"] = $this->parameters["From search results"] = array(
'[ 's'=>array('name'=>'Search keyword'),
{ 'pa'=>array(
"name" : "Search keyword", 'name'=>'Page',
"identifier" : "s" 'type'=>'number'
}, )
{ );
"name" : "Page",
"identifier" : "pa",
"type" : "number"
}
]';
} }
function getMetadata($id) {
$metadata=array();
$html2 = $this->getSimpleHTMLDOM('http://www.dailymotion.com/video/'.$id) or $this->returnServerError('Could not request Dailymotion.');
$metadata['title'] = $html2->find('meta[property=og:title]', 0)->getAttribute('content');
$metadata['timestamp'] = strtotime($html2->find('meta[property=video:release_date]', 0)->getAttribute('content') );
$metadata['thumbnailUri'] = $html2->find('meta[property=og:image]', 0)->getAttribute('content');
$metadata['uri'] = $html2->find('meta[property=og:url]', 0)->getAttribute('content');
return $metadata;
}
public function collectData(array $param){ public function collectData(array $param){
function getMetadata($id) {
$metadata=array();
$html2 = $this->getSimpleHTMLDOM('http://www.dailymotion.com/video/'.$id) or $this->returnServerError('Could not request Dailymotion.');
$metadata['title'] = $html2->find('meta[property=og:title]', 0)->getAttribute('content');
$metadata['timestamp'] = strtotime($html2->find('meta[property=video:release_date]', 0)->getAttribute('content') );
$metadata['thumbnailUri'] = $html2->find('meta[property=og:image]', 0)->getAttribute('content');
$metadata['uri'] = $html2->find('meta[property=og:url]', 0)->getAttribute('content');
return $metadata;
}
$html = ''; $html = '';
$limit = 5; $limit = 5;
$count = 0; $count = 0;
@ -81,7 +65,7 @@ class DailymotionBridge extends BridgeAbstract{
if($count < $limit) { if($count < $limit) {
$item = new \Item(); $item = new \Item();
$item->id = str_replace('/video/', '', strtok($element->href, '_')); $item->id = str_replace('/video/', '', strtok($element->href, '_'));
$metadata = getMetadata($item->id); $metadata = $this->getMetadata($item->id);
$item->uri = $metadata['uri']; $item->uri = $metadata['uri'];
$item->title = $metadata['title']; $item->title = $metadata['title'];
$item->timestamp = $metadata['timestamp']; $item->timestamp = $metadata['timestamp'];

View file

@ -7,20 +7,11 @@ class DanbooruBridge extends BridgeAbstract{
$this->name = "Danbooru"; $this->name = "Danbooru";
$this->uri = "http://donmai.us/"; $this->uri = "http://donmai.us/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
$this->parameters[] = array(
'p'=>array('name'=>'page'),
't'=>array('name'=>'tags')
);
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class DansTonChatBridge extends BridgeAbstract{
$this->name = "DansTonChat Bridge"; $this->name = "DansTonChat Bridge";
$this->uri = "http://danstonchat.com"; $this->uri = "http://danstonchat.com";
$this->description = "Returns latest quotes from DansTonChat."; $this->description = "Returns latest quotes from DansTonChat.";
$this->update = '2016-08-17';
} }

View file

@ -7,78 +7,30 @@ class DauphineLibereBridge extends BridgeAbstract {
$this->name = "Dauphine Bridge"; $this->name = "Dauphine Bridge";
$this->uri = "http://www.ledauphine.com/"; $this->uri = "http://www.ledauphine.com/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'u'=>array(
{ 'name'=>'Catégorie de l\'article',
"name" : "Catégorie de l\'article", 'type'=>'list',
"identifier" : "u", 'values'=>array(
"type" : "list", 'À la une'=>'',
"values" : [ 'France Monde'=>'france-monde',
{ 'Faits Divers'=>'faits-divers',
"name" : "À la une", 'Économie et Finance'=>'economie-et-finance',
"value" : "" 'Politique'=>'politique',
}, 'Sport'=>'sport',
{ 'Ain'=>'ain',
"name" : "France Monde", 'Alpes-de-Haute-Provence'=>'haute-provence',
"value" : "france-monde" 'Hautes-Alpes'=>'hautes-alpes',
}, 'Ardèche'=>'ardeche',
{ 'Drôme'=>'drome',
"name" : "Faits Divers", 'Isère Sud'=>'isere-sud',
"value" : "faits-divers" 'Savoie'=>'savoie',
}, 'Haute-Savoie'=>'haute-savoie',
{ 'Vaucluse'=>'vaucluse'
"name" : "Économie et Finance", )
"value" : "economie-et-finance" )
}, );
{
"name" : "Politique",
"value" : "politique"
},
{
"name" : "Sport",
"value" : "sport"
},
{
"name" : "Ain",
"value" : "ain"
},
{
"name" : "Alpes-de-Haute-Provence",
"value" : "haute-provence"
},
{
"name" : "Hautes-Alpes",
"value" : "hautes-alpes"
},
{
"name" : "Ardèche",
"value" : "ardeche"
},
{
"name" : "Drôme",
"value" : "drome"
},
{
"name" : "Isère Sud",
"value" : "isere-sud"
},
{
"name" : "Savoie",
"value" : "savoie"
},
{
"name" : "Haute-Savoie",
"value" : "haute-savoie"
},
{
"name" : "Vaucluse",
"value" : "vaucluse"
}
]
}
]';
} }
private function ExtractContent($url, $context) { private function ExtractContent($url, $context) {

View file

@ -7,48 +7,32 @@ class DemoBridge extends BridgeAbstract{
$this->name = "DemoBridge"; $this->name = "DemoBridge";
$this->uri = "http://github.com/sebsauvage/rss-bridge"; $this->uri = "http://github.com/sebsauvage/rss-bridge";
$this->description = "Bridge used for demos"; $this->description = "Bridge used for demos";
$this->update = "2016-08-09";
$this->parameters['testCheckbox'] = $this->parameters['testCheckbox'] = array(
'[ 'testCheckbox'=>array(
{ 'type'=>'checkbox',
"type" : "checkbox", 'name'=>'test des checkbox'
"identifier" : "testCheckbox", )
"name" : "test des checkbox" );
}
]'; $this->parameters['testList'] = array(
'testList'=>array(
$this->parameters['testList'] = 'type'=>'list',
'[ 'name'=>'test des listes',
{ 'values'=>array(
"type" : "list", 'Test'=>'test',
"identifier" : "testList", 'Test 2'=>'test2'
"name" : "test des listes", )
"values" : [ )
{ );
"name" : "Test",
"value" : "test"
},
{
"name" : "Test 2",
"value" : "test2"
}
]
}
]';
$this->parameters['testNumber'] =
'[
{
"type" : "number",
"identifier" : "testNumber",
"name" : "test des numéros",
"exampleValue" : "1515632"
}
]';
$this->parameters['testNumber'] = array(
'testNumber'=>array(
'type'=>'number',
'name'=>'test des numéros',
'exampleValue'=>'1515632'
)
);
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -6,7 +6,6 @@ class DeveloppezDotComBridge extends BridgeAbstract{
$this->name = "Developpez.com Actus (FR)"; $this->name = "Developpez.com Actus (FR)";
$this->uri = "http://www.developpez.com/"; $this->uri = "http://www.developpez.com/";
$this->description = "Returns the 15 newest posts from DeveloppezDotCom (full text)."; $this->description = "Returns the 15 newest posts from DeveloppezDotCom (full text).";
$this->update = '2016-08-17';
} }
private function DeveloppezDotComStripCDATA($string) { private function DeveloppezDotComStripCDATA($string) {

View file

@ -7,7 +7,6 @@ class DilbertBridge extends BridgeAbstract {
$this->name = 'Dilbert Daily Strip'; $this->name = 'Dilbert Daily Strip';
$this->uri = 'http://dilbert.com'; $this->uri = 'http://dilbert.com';
$this->description = 'The Unofficial Dilbert Daily Comic Strip'; $this->description = 'The Unofficial Dilbert Daily Comic Strip';
$this->update = '2016-08-17';
} }

View file

@ -7,21 +7,15 @@ class DollbooruBridge extends BridgeAbstract{
$this->name = "Dollbooru"; $this->name = "Dollbooru";
$this->uri = "http://dollbooru.org/"; $this->uri = "http://dollbooru.org/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"type" : "number", ),
"identifier" : "p" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,20 +7,17 @@ class DuckDuckGoBridge extends BridgeAbstract{
$this->name = "DuckDuckGo"; $this->name = "DuckDuckGo";
$this->uri = "https://duckduckgo.com/"; $this->uri = "https://duckduckgo.com/";
$this->description = "Returns most recent results from DuckDuckGo."; $this->description = "Returns most recent results from DuckDuckGo.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'u'=>array(
{ 'name'=>'keyword',
"name" : "keyword", 'required'=>true)
"identifier" : "u" );
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){
$html = ''; $html = '';
$link = 'http://duckduckgo.com/html/?q='.$param[u].'+sort:date'; $link = 'http://duckduckgo.com/html/?q='.$param['u'].'+sort:date';
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request DuckDuckGo.'); $html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request DuckDuckGo.');

View file

@ -7,17 +7,14 @@ class EZTVBridge extends BridgeAbstract{
$this->name = "EZTV"; $this->name = "EZTV";
$this->uri = "https://eztv.ch/"; $this->uri = "https://eztv.ch/";
$this->description = "Returns list of *recent* torrents for a specific show on EZTV. Get showID from URLs in https://eztv.ch/shows/showID/show-full-name."; $this->description = "Returns list of *recent* torrents for a specific show on EZTV. Get showID from URLs in https://eztv.ch/shows/showID/show-full-name.";
$this->update = '2016-08-17';
$this->parameters[] =
'[
{
"name" : "Show ids",
"identifier" : "i",
"exampleValue" : "showID1,showID2,..."
}
]';
$this->parameters[] = array(
'i'=>array(
'name'=>'Show ids',
'exampleValue'=>'showID1,showID2,…',
'required'=>true
)
);
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -8,7 +8,6 @@ class EliteDangerousGalnetBridge extends BridgeAbstract
$this->name = "Elite: Dangerous Galnet"; $this->name = "Elite: Dangerous Galnet";
$this->uri = "https://community.elitedangerous.com/galnet"; $this->uri = "https://community.elitedangerous.com/galnet";
$this->description = "Returns the latest page of news from Galnet"; $this->description = "Returns the latest page of news from Galnet";
$this->update = '2016-08-17';
} }
public function collectData(array $param) public function collectData(array $param)

View file

@ -6,18 +6,15 @@ class ElsevierBridge extends BridgeAbstract{
$this->name = 'Elsevier journals recent articles'; $this->name = 'Elsevier journals recent articles';
$this->uri = 'http://www.journals.elsevier.com'; $this->uri = 'http://www.journals.elsevier.com';
$this->description = 'Returns the recent articles published in Elsevier journals'; $this->description = 'Returns the recent articles published in Elsevier journals';
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'j'=>array(
{ 'name'=>'Journal name',
"name" : "Journal name", 'required'=>true,
"identifier" : "j", 'exampleValue'=>'academic-pediactrics',
"required" : true, 'title'=>'Insert html-part of your journal'
"exampleValue" : "academic-pediatrics", )
"title" : "Insert html-part of your journal" );
}
]';
} }
// Extracts the list of names from an article as string // Extracts the list of names from an article as string

View file

@ -6,7 +6,6 @@ class EstCeQuonMetEnProdBridge extends BridgeAbstract {
$this->name = 'Est-ce qu\'on met en prod aujourd\'hui ?'; $this->name = 'Est-ce qu\'on met en prod aujourd\'hui ?';
$this->uri = 'https://www.estcequonmetenprodaujourdhui.info/'; $this->uri = 'https://www.estcequonmetenprodaujourdhui.info/';
$this->description = 'Should we put a website in production today? (French)'; $this->description = 'Should we put a website in production today? (French)';
$this->update = '2016-08-17';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -7,16 +7,13 @@ class FacebookBridge extends BridgeAbstract{
$this->name = "Facebook"; $this->name = "Facebook";
$this->uri = "http://www.facebook.com/"; $this->uri = "http://www.facebook.com/";
$this->description = "Input a page title or a profile log. For a profile log, please insert the parameter as follow : myExamplePage/132621766841117"; $this->description = "Input a page title or a profile log. For a profile log, please insert the parameter as follow : myExamplePage/132621766841117";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] =array(
'[ 'u'=>array(
{ 'name'=>'Username',
"name" : "Username", 'required'=>true
"identifier" : "u", )
"required" : true );
}
]';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -7,7 +7,6 @@ Class FierPandaBridge extends BridgeAbstract{
$this->name = "Fier Panda Bridge"; $this->name = "Fier Panda Bridge";
$this->uri = "http://www.fier-panda.fr/"; $this->uri = "http://www.fier-panda.fr/";
$this->description = "Returns latest articles from Fier Panda."; $this->description = "Returns latest articles from Fier Panda.";
$this->update = '2016-08-17';
} }

View file

@ -7,7 +7,6 @@ class FlickrExploreBridge extends BridgeAbstract{
$this->name = "Flickr Explore"; $this->name = "Flickr Explore";
$this->uri = "https://www.flickr.com/explore"; $this->uri = "https://www.flickr.com/explore";
$this->description = "Returns the latest interesting images from Flickr"; $this->description = "Returns the latest interesting images from Flickr";
$this->update = '2016-08-17';
} }

View file

@ -7,23 +7,14 @@ class FlickrTagBridge extends BridgeAbstract{
$this->name = "Flickr TagUser"; $this->name = "Flickr TagUser";
$this->uri = "http://www.flickr.com/"; $this->uri = "http://www.flickr.com/";
$this->description = "Returns the tagged or user images from Flickr"; $this->description = "Returns the tagged or user images from Flickr";
$this->update = '2016-08-17';
$this->parameters["By keyword"] = $this->parameters["By keyword"] = array(
'[ 'q'=>array('name'=>'keyword')
{ );
"name" : "Keyword",
"identifier" : "q"
}
]';
$this->parameters["By username"] = $this->parameters["By username"] = array(
'[ 'u'=>array('name'=>'Username')
{ );
"name" : "Username",
"identifier" : "u"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class FootitoBridge extends BridgeAbstract{
$this->name = "Footito"; $this->name = "Footito";
$this->uri = "http://www.footito.fr/"; $this->uri = "http://www.footito.fr/";
$this->description = "Footito"; $this->description = "Footito";
$this->update = '2016-08-17';
} }

View file

@ -7,15 +7,10 @@ class FourchanBridge extends BridgeAbstract{
$this->name = "4chan"; $this->name = "4chan";
$this->uri = "https://www.4chan.org/"; $this->uri = "https://www.4chan.org/";
$this->description = "Returns posts from the specified thread"; $this->description = "Returns posts from the specified thread";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 't'=>array('name'=>'Thread URL')
{ );
"name" : "Thread URL",
"identifier" : "t"
}
]';
} }

View file

@ -8,21 +8,16 @@ class Freenews extends RssExpander {
$this->name = "Freenews"; $this->name = "Freenews";
$this->uri = "http://freenews.fr"; $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->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->update = "2016-08-09";
$this->parameters[] = $this->parameters[] = array(
'[ 'id'=>array('name'=>'Id de la rubrique (sans le \'-\')')
{ );
"name" : "Id de la rubrique (sans le \'-\')",
"identifier" : "id"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){
parent::collectExpandableDatas($param, FREENEWS_RSS); parent::collectExpandableDatas($param, FREENEWS_RSS);
} }
protected function parseRSSItem($newsItem) { protected function parseRSSItem($newsItem) {
$item = new Item(); $item = new Item();
$item->title = trim($newsItem->title); $item->title = trim($newsItem->title);

View file

@ -7,106 +7,78 @@ class FuturaSciencesBridge extends BridgeAbstract {
$this->name = 'Futura-Sciences Bridge'; $this->name = 'Futura-Sciences Bridge';
$this->uri = 'http://www.futura-sciences.com/'; $this->uri = 'http://www.futura-sciences.com/';
$this->description = 'Returns the newest articles.'; $this->description = 'Returns the newest articles.';
$this->update = '2016-08-17';
$this->parameters[] =
'[
{
"name" : "Feed",
"type" : "list",
"identifier" : "feed",
"values" :
[
{ "name" : "---- Select ----", "value" : "" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux multi-magazines", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Sciences", "value" : "actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Sciences", "value" : "definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières photos de Futura-Sciences", "value" : "photos" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions - réponses de Futura-Sciences", "value" : "questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Sciences", "value" : "dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Services", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les cartes virtuelles de Futura-Sciences", "value" : "services/cartes-virtuelles" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les fonds d\'écran de Futura-Sciences", "value" : "services/fonds-ecran" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Santé", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Santé", "value" : "sante/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Santé", "value" : "sante/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions-réponses de Futura-Santé", "value" : "sante/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Santé", "value" : "sante/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux High-Tech", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura High-Tech", "value" : "high-tech/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières astuces de Futura High-Tech", "value" : "high-tech/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura High-Tech", "value" : "high-tech/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura High-Tech", "value" : "high-tech/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Espace", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Espace", "value" : "espace/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Espace", "value" : "espace/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions-réponses de Futura-Espace", "value" : "espace/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Espace", "value" : "espace/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Environnement", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Environnement", "value" : "environnement/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Environnement", "value" : "environnement/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions - réponses de Futura-Environnement", "value" : "environnement/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Environnement", "value" : "environnement/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Maison", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Maison", "value" : "maison/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières astuces de Futura-Maison", "value" : "maison/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Maison", "value" : "maison/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Maison", "value" : "maison/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Nature", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Nature", "value" : "nature/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Nature", "value" : "nature/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions-réponses de Futura-Nature", "value" : "nature/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Nature", "value" : "nature/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Terre", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Terre", "value" : "terre/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Terre", "value" : "terre/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions-réponses de Futura-Terre", "value" : "terre/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Terre", "value" : "terre/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Matière", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Matière", "value" : "matiere/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières définitions de Futura-Matière", "value" : "matiere/definitions" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières questions-réponses de Futura-Matière", "value" : "matiere/questions-reponses" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Matière", "value" : "matiere/dossiers" },
{ "name" : "", "value" : "" },
{ "name" : "Les flux Mathématiques", "value" : "" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les dernières actualités de Futura-Mathématiques", "value" : "mathematiques/actualites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Les derniers dossiers de Futura-Mathématiques", "value" : "mathematiques/dossiers" }
]
}
]';
$this->parameters[] = array(
'feed'=> array(
'name'=>'Feed',
'type'=>'list',
'values'=>array(
'Les flux multi-magazines'=>array(
'Les dernières actualités de Futura-Sciences'=>'actualites',
'Les dernières définitions de Futura-Sciences'=>'definitions',
'Les dernières photos de Futura-Sciences'=>'photos',
'Les dernières questions - réponses de Futura-Sciences'=>'questions-reponses',
'Les derniers dossiers de Futura-Sciences'=>'dossiers'
),
'Les flux Services'=> array(
'Les cartes virtuelles de Futura-Sciences'=>'services/cartes-virtuelles',
'Les fonds d\'écran de Futura-Sciences'=>'services/fonds-ecran'
),
'Les flux Santé'=>array(
'Les dernières actualités de Futura-Santé'=>'sante/actualites',
'Les dernières définitions de Futura-Santé'=>'sante/definitions',
'Les dernières questions-réponses de Futura-Santé'=>'sante/question-reponses',
'Les derniers dossiers de Futura-Santé'=>'sante/dossiers'
),
'Les flux High-Tech'=>array(
'Les dernières actualités de Futura-High-Tech'=>'high-tech/actualites',
'Les dernières astuces de Futura-High-Tech'=>'high-tech/question-reponses',
'Les dernières définitions de Futura-High-Tech'=>'high-tech/definitions',
'Les derniers dossiers de Futura-High-Tech'=>'high-tech/dossiers'
),
'Les flux Espace'=>array(
'Les dernières actualités de Futura-Espace'=>'espace/actualites',
'Les dernières définitions de Futura-Espace'=>'espace/definitions',
'Les dernières questions-réponses de Futura-Espace'=>'espace/question-reponses',
'Les derniers dossiers de Futura-Espace'=>'espace/dossiers'
),
'Les flux Environnement'=>array(
'Les dernières actualités de Futura-Environnement'=>'environnement/actualites',
'Les dernières définitions de Futura-Environnement'=>'environnement/definitions',
'Les dernières questions-réponses de Futura-Environnement'=>'environnement/question-reponses',
'Les derniers dossiers de Futura-Environnement'=>'environnement/dossiers'
),
'Les flux Maison'=>array(
'Les dernières actualités de Futura-Maison'=>'maison/actualites',
'Les dernières astuces de Futura-Maison'=>'maison/question-reponses',
'Les dernières définitions de Futura-Maison'=>'maison/definitions',
'Les derniers dossiers de Futura-Maison'=>'maison/dossiers'
),
'Les flux Nature'=>array(
'Les dernières actualités de Futura-Nature'=>'nature/actualites',
'Les dernières définitions de Futura-Nature'=>'nature/definitions',
'Les dernières questions-réponses de Futura-Nature'=>'nature/question-reponses',
'Les derniers dossiers de Futura-Nature'=>'nature/dossiers'
),
'Les flux Terre'=>array(
'Les dernières actualités de Futura-Terre'=>'terre/actualites',
'Les dernières définitions de Futura-Terre'=>'terre/definitions',
'Les dernières questions-réponses de Futura-Terre'=>'terre/question-reponses',
'Les derniers dossiers de Futura-Terre'=>'terre/dossiers'
),
'Les flux Matière'=>array(
'Les dernières actualités de Futura-Matière'=>'matiere/actualites',
'Les dernières définitions de Futura-Matière'=>'matiere/definitions',
'Les dernières questions-réponses de Futura-Matière'=>'matiere/question-reponses',
'Les derniers dossiers de Futura-Matière'=>'matiere/dossiers'
),
'Les flux Mathématiques'=>array(
'Les dernières actualités de Futura-Mathématiques'=>'mathematiques/actualites',
'Les derniers dossiers de Futura-Mathématiques'=>'mathematiques/dossiers'
)
)
)
);
} }
public function collectData(array $param) { public function collectData(array $param) {
@ -166,12 +138,12 @@ class FuturaSciencesBridge extends BridgeAbstract {
return ''; return '';
} }
$url = $this->getURI().'rss/'.$param['feed'].'.xml';
if (empty($param['feed'])) if (empty($param['feed']))
$this->returnClientError('Please select a feed to display.'.$url); $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'] !== preg_replace('/[^a-zA-Z-\/]+/', '', $param['feed']) || substr_count($param['feed'], '/') > 1 || strlen($param['feed'] > 64))
$this->returnClientError('Invalid "feed" parameter.'.$url); $this->returnClientError('Invalid "feed" parameter.'.$url);
$url = $this->getURI().'rss/'.$param['feed'].'.xml';
$html = $this->getSimpleHTMLDOM($url) or $this->returnServerError('Could not request Futura-Sciences: '.$url); $html = $this->getSimpleHTMLDOM($url) or $this->returnServerError('Could not request Futura-Sciences: '.$url);
$limit = 0; $limit = 0;

View file

@ -9,35 +9,19 @@ class GBAtempBridge extends BridgeAbstract {
$this->name = 'GBAtemp'; $this->name = 'GBAtemp';
$this->uri = 'http://gbatemp.net/'; $this->uri = 'http://gbatemp.net/';
$this->description = 'GBAtemp is a user friendly underground video game community.'; $this->description = 'GBAtemp is a user friendly underground video game community.';
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'type'=>array(
{ 'name'=>'Type',
"name" : "Type", 'type'=>'list',
"type" : "list", 'values'=>array(
"identifier" : "type", 'News'=>'N',
"values" : 'Reviews'=>'R',
[ 'Tutorials'=>'T',
{ 'Forum'=>'F'
"name" : "News", )
"value" : "N" )
}, );
{
"name" : "Reviews",
"value" : "R"
},
{
"name" : "Tutorials",
"value" : "T"
},
{
"name" : "Forum",
"value" : "F"
}
]
}
]';
} }
private function ExtractFromDelimiters($string, $start, $end) { private function ExtractFromDelimiters($string, $start, $end) {

View file

@ -10,15 +10,10 @@ class Gawker extends RssExpander{
$this->name = "Gawker media"; $this->name = "Gawker media";
$this->uri = "http://feeds.gawker.com/"; $this->uri = "http://feeds.gawker.com/";
$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->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->update = "2016-08-09";
$this->parameters[] = $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')
{ );
"name" : "site id to put in uri between feeds.gawker.com and /full .. which is obviously not full AT ALL",
"identifier" : "site"
}
]';
} }
@ -36,7 +31,7 @@ class Gawker extends RssExpander{
// $this->message("loading feed from ".$this->getURI()); // $this->message("loading feed from ".$this->getURI());
parent::collectExpandableDatas($param, $url); parent::collectExpandableDatas($param, $url);
} }
protected function parseRSSItem($newsItem) { protected function parseRSSItem($newsItem) {
$item = new Item(); $item = new Item();
$item->uri = trim($newsItem->link); $item->uri = trim($newsItem->link);

View file

@ -7,20 +7,14 @@ class GelbooruBridge extends BridgeAbstract{
$this->name = "Gelbooru"; $this->name = "Gelbooru";
$this->uri = "http://gelbooru.com/"; $this->uri = "http://gelbooru.com/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }

View file

@ -9,24 +9,17 @@ class GiphyBridge extends BridgeAbstract{
$this->name = "Giphy Bridge"; $this->name = "Giphy Bridge";
$this->uri = "http://giphy.com/"; $this->uri = "http://giphy.com/";
$this->description = "Bridge for giphy.com"; $this->description = "Bridge for giphy.com";
$this->update = '2016-08-17';
$this->parameters["By tag"] = $this->parameters["By tag"] = array(
'[ 's'=>array('name'=>'search tag')
{ );
"name" : "search tag",
"identifier" : "s"
}
]';
$this->parameters["Without tag"] = $this->parameters["Without tag"] = array(
'[ 'n'=>array(
{ 'name'=>'max number of returned items',
"name" : "max number of returned items", 'type'=>'number'
"type" : "number", )
"identifier" : "n" );
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -12,24 +12,22 @@ class GithubIssueBridge extends BridgeAbstract{
$this->name = 'Github Issue'; $this->name = 'Github Issue';
$this->uri = ''; $this->uri = '';
$this->description = 'Returns the comments of a github project issue'; $this->description = 'Returns the comments of a github project issue';
$this->update = '2016-08-17';
$this->parameters[]= $this->parameters[]=array (
'[ 'u'=>array(
{ 'name'=>'User name',
"name" : "User name", 'required'=>true
"identifier" : "u" ),
}, 'p'=>array(
{ 'name'=>'Project name',
"name" : "Project name", 'required'=>true
"identifier" : "p" ),
}, 'i'=>array(
{ 'name'=>'Issue number',
"name" : "Issue number", 'type'=>'number',
"identifier" : "i" 'required'=>true
} )
);
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -12,28 +12,25 @@ class GitlabCommitsBridge extends BridgeAbstract{
$this->name = 'Gitlab Commits'; $this->name = 'Gitlab Commits';
$this->uri = ''; $this->uri = '';
$this->description = 'Returns the commits of a project hosted on a gitlab instance'; $this->description = 'Returns the commits of a project hosted on a gitlab instance';
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'uri'=>array(
{ 'name'=>'Base URI',
"name" : "Base URI", 'defaultValue'=>'https://gitlab.com'
"identifier" : "uri" ),
}, 'u'=>array(
{ 'name'=>'User name',
"name" : "User name", 'required'=>true
"identifier" : "u" ),
}, 'p'=>array(
{ 'name'=>'Project name',
"name" : "Project name", 'required'=>true
"identifier" : "p" ),
}, 'b'=>array(
{ 'name'=>'Project branch',
"name" : "Project branch", 'defaultValue'=>'master'
"identifier" : "b" )
} );
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class GizmodoFRBridge extends BridgeAbstract{
$this->name = "GizmodoFR"; $this->name = "GizmodoFR";
$this->uri = "http://www.gizmodo.fr/"; $this->uri = "http://www.gizmodo.fr/";
$this->description = "Returns the 15 newest posts from GizmodoFR (full text)."; $this->description = "Returns the 15 newest posts from GizmodoFR (full text).";
$this->update = '2016-08-17';
} }

View file

@ -10,15 +10,10 @@ class GooglePlusPostBridge extends BridgeAbstract
$this->name = "Google Plus Post Bridge"; $this->name = "Google Plus Post Bridge";
$this->uri = "http://plus.google.com/"; $this->uri = "http://plus.google.com/";
$this->description = "Returns user public post (without API)."; $this->description = "Returns user public post (without API).";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'username'=>array('name'=>'username or Id')
{ );
"name" : "username or Id",
"identifier" : "username"
}
]';
} }

View file

@ -17,15 +17,10 @@ class GoogleSearchBridge extends BridgeAbstract{
$this->name = "Google search"; $this->name = "Google search";
$this->uri = "https://www.google.com/"; $this->uri = "https://www.google.com/";
$this->description = "Returns most recent results from Google search."; $this->description = "Returns most recent results from Google search.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'q'=>array('name'=>"keyword")
{ );
"name" : "keyword",
"identifier" : "q"
}
]';
} }

View file

@ -6,7 +6,6 @@ class GuruMedBridge extends BridgeAbstract{
$this->name = "GuruMed"; $this->name = "GuruMed";
$this->uri = "http://www.gurumed.org"; $this->uri = "http://www.gurumed.org";
$this->description = "Returns the 5 newest posts from Gurumed (full text)"; $this->description = "Returns the 5 newest posts from Gurumed (full text)";
$this->update = '2016-08-17';
} }
private function GurumedStripCDATA($string) { private function GurumedStripCDATA($string) {

View file

@ -10,24 +10,15 @@ class HDWallpapersBridge extends BridgeAbstract {
$this->name = "HD Wallpapers Bridge"; $this->name = "HD Wallpapers Bridge";
$this->uri = "http://www.hdwallpapers.in/"; $this->uri = "http://www.hdwallpapers.in/";
$this->description = "Returns the latests wallpapers from HDWallpapers"; $this->description = "Returns the latests wallpapers from HDWallpapers";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'c'=>array('name'=>'category'),
{ 'm'=>array('name'=>'max number of wallpapers'),
"name" : "category", 'r'=>array(
"identifier" : "c" 'name'=>'resolution',
}, 'exampleValue'=>'1920x1200, 1680x1050,…'
{ )
"name" : "max number of wallpapers", );
"identifier" : "m"
},
{
"name" : "resolution",
"identifier" : "r",
"exampleValue" : "1920x1200, 1680x1050, ..."
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class HentaiHavenBridge extends BridgeAbstract{
$this->name = "Hentai Haven"; $this->name = "Hentai Haven";
$this->uri = "http://hentaihaven.org/"; $this->uri = "http://hentaihaven.org/";
$this->description = "Returns releases from Hentai Haven"; $this->description = "Returns releases from Hentai Haven";
$this->update = '2016-08-17';
} }

View file

@ -9,15 +9,10 @@ class IdenticaBridge extends BridgeAbstract{
$this->name = "Identica Bridge"; $this->name = "Identica Bridge";
$this->uri = "https://identi.ca/"; $this->uri = "https://identi.ca/";
$this->description = "Returns user timelines"; $this->description = "Returns user timelines";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'u'=>array('name'=>'username')
{ );
"name" : "username",
"identifier" : "u"
}
]';
} }

View file

@ -9,15 +9,10 @@ class InstagramBridge extends BridgeAbstract{
$this->name = "Instagram Bridge"; $this->name = "Instagram Bridge";
$this->uri = "http://instagram.com/"; $this->uri = "http://instagram.com/";
$this->description = "Returns the newest images"; $this->description = "Returns the newest images";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'u'=>array('name'=>'username')
{ );
"name" : "username",
"identifier" : "u"
}
]';
} }

View file

@ -5,171 +5,88 @@ class IsoHuntBridge extends BridgeAbstract{
$this->name = 'isoHunt Bridge'; // Is replaced later! $this->name = 'isoHunt Bridge'; // Is replaced later!
$this->uri = 'https://isohunt.to'; // Is replaced later! $this->uri = 'https://isohunt.to'; // Is replaced later!
$this->description = 'Returns the latest results by category or search result'; $this->description = 'Returns the latest results by category or search result';
$this->update = '2016-08-17';
/* /*
* Get feeds for one of the "latest" categories * Get feeds for one of the "latest" categories
* Notice: The categories "News" and "Top Searches" are received from the main page * Notice: The categories "News" and "Top Searches" are received from the main page
* Elements are sorted by name ascending! * Elements are sorted by name ascending!
*/ */
$this->parameters['By "Latest" category'] = $this->parameters['By "Latest" category'] = array(
'[ 'latest_category'=>array(
{ 'name'=>'Latest category',
"name" : "Latest category", 'type'=>'list',
"identifier" : "latest_category", 'required'=>true,
"type" : "list", 'title'=>'Select your category',
"required" : true, 'defaultValue'=>'News',
"title" : "Select your category", 'values'=>array(
"defaultValue" : "News", 'Hot Torrents'=>'hot_torrents',
"values" : 'News'=>'news',
[ 'Releases'=>'releases',
{ 'Torrents'=>'torrents'
"name" : "Hot Torrents", )
"value" : "hot_torrents" )
}, );
{
"name" : "News",
"value" : "news"
},
{
"name" : "Releases",
"value" : "releases"
},
{
"name" : "Torrents",
"value" : "torrents"
}
]
}
]';
/* /*
* Get feeds for one of the "torrent" categories * Get feeds for one of the "torrent" categories
* Make sure to add new categories also to get_torrent_category_index($)! * Make sure to add new categories also to get_torrent_category_index($)!
* Elements are sorted by name ascending! * Elements are sorted by name ascending!
*/ */
$this->parameters['By "Torrent" category'] = $this->parameters['By "Torrent" category'] = array(
'[ 'torrent_category'=>array(
{ 'name'=>'Torrent category',
"name" : "Torrent category", 'type'=>'list',
"identifier" : "torrent_category", 'required'=>true,
"type" : "list", 'title'=>'Select your category',
"required" : true, 'defaultValue'=>'Anime',
"title" : "Select your category", 'values'=>array(
"defaultValue" : "Anime", 'Adult'=>'adult',
"values" : 'Anime'=>'anime',
[ 'Books'=>'books',
{ 'Games'=>'games',
"name" : "Adult", 'Movies'=>'movies',
"value" : "adult" 'Music'=>'music',
}, 'Other'=>'other',
{ 'Series & TV'=>'series_tv',
"name" : "Anime", 'Software'=>'software'
"value" : "anime" )
}, ),
{ 'torrent_popularity'=>array(
"name" : "Books", 'name'=>'Sort by popularity',
"value" : "books" 'type'=>'checkbox',
}, 'title'=>'Activate to receive results by popularity'
{ )
"name" : "Games", );
"value" : "games"
},
{
"name" : "Movies",
"value" : "movies"
},
{
"name" : "Music",
"value" : "music"
},
{
"name" : "Other",
"value" : "other"
},
{
"name" : "Series & TV",
"value" : "series_tv"
},
{
"name" : "Software",
"value" : "software"
}
]
},
{
"name" : "Sort by popularity",
"identifier" : "torrent_popularity",
"type" : "checkbox",
"title" : "Activate to receive results by popularity"
}
]';
/* /*
* Get feeds for a specific search request * Get feeds for a specific search request
*/ */
$this->parameters['Search torrent by name'] = $this->parameters['Search torrent by name'] = array(
'[ 'search_name'=>array(
{ 'name'=>'Name',
"name" : "Name", 'required'=>true,
"identifier" : "search_name", 'title'=>'Insert your search query',
"type" : "text", 'exampleValue'=>'Bridge'
"required" : true, ),
"title" : "Insert your search query", 'search_category'=>array(
"exampleValue" : "Bridge" 'name'=>'Category',
}, 'type'=>'list',
{ 'title'=>'Select your category',
"name" : "Category", 'defaultValue'=>'All',
"identifier" : "search_category", 'values'=>array(
"type" : "list", 'Adult'=>'adult',
"required" : false, 'All'=>'all',
"title" : "Select your category", 'Anime'=>'anime',
"defaultValue" : "All", 'Books'=>'books',
"values" : 'Games'=>'games',
[ 'Movies'=>'movies',
{ 'Music'=>'music',
"name" : "Adult", 'Other'=>'other',
"value" : "adult" 'Series & TV'=>'series_tv',
}, 'Software'=>'software'
{ )
"name" : "All", )
"value" : "all" );
},
{
"name" : "Anime",
"value" : "anime"
},
{
"name" : "Books",
"value" : "books"
},
{
"name" : "Games",
"value" : "games"
},
{
"name" : "Movies",
"value" : "movies"
},
{
"name" : "Music",
"value" : "music"
},
{
"name" : "Other",
"value" : "other"
},
{
"name" : "Series & TV",
"value" : "series_tv"
},
{
"name" : "Software",
"value" : "software"
}
]
}
]';
} }
public function collectData(array $params){ public function collectData(array $params){
@ -216,13 +133,13 @@ class IsoHuntBridge extends BridgeAbstract{
} }
private function get_torrent_category_name($category){ private function get_torrent_category_name($category){
$parameter = json_decode($this->parameters['By "Torrent" category'], true); $parameter = $this->parameters['By "Torrent" category'];
$languages = $parameter[0]['values']; $languages = $parameter['torrent_category']['values'];
foreach($languages as $name=>$value)
if(strtolower(trim($value)) === strtolower(trim($category)))
return $name;
foreach($languages as $language)
if(strtolower(trim($language['value'])) === strtolower(trim($category)))
return $language['name'];
return 'Unknown category'; return 'Unknown category';
} }
@ -245,19 +162,19 @@ class IsoHuntBridge extends BridgeAbstract{
private function request_latest_category($category){ private function request_latest_category($category){
switch($category){ switch($category){
case 'hot_torrents': case 'hot_torrents':
$this->name = 'Latest hot torrents - ' . $this->name; $this->name = 'Latest hot torrents - ' . $this->name;
$this->uri .= '/statistic/hot/torrents'; $this->uri .= '/statistic/hot/torrents';
break; break;
case 'news': case 'news':
$this->name = 'Latest news - ' . $this->name; $this->name = 'Latest news - ' . $this->name;
$this->uri .= '/'; $this->uri .= '/';
break; break;
case 'releases': case 'releases':
$this->name = 'Latest releases - ' . $this->name; $this->name = 'Latest releases - ' . $this->name;
$this->uri .= '/releases.php'; $this->uri .= '/releases.php';
break; break;
case 'torrents': case 'torrents':
$this->name = 'Latest torrents - ' . $this->name; $this->name = 'Latest torrents - ' . $this->name;
$this->uri .= '/latest.php'; $this->uri .= '/latest.php';
break; break;
@ -289,13 +206,13 @@ class IsoHuntBridge extends BridgeAbstract{
} }
private function get_search_category_name($category){ private function get_search_category_name($category){
$parameter = json_decode($this->parameters['Search torrent by name'], true); $parameter = $this->parameters['Search torrent by name'];
$languages = $parameter[1]['values']; $languages = $parameter['search_category']['values'];
foreach($languages as $name=>$value)
if(strtolower(trim($value)) === strtolower(trim($category)))
return $name;
foreach($languages as $language)
if(strtolower(trim($language['value'])) === strtolower(trim($category)))
return $language['name'];
return 'Unknown category'; return 'Unknown category';
} }
@ -333,7 +250,7 @@ class IsoHuntBridge extends BridgeAbstract{
$item->uri = $this->fix_relative_uri($anchor->href); $item->uri = $this->fix_relative_uri($anchor->href);
$item->title = $anchor->title; $item->title = $anchor->title;
// $item->author = // $item->author =
$item->timestamp = strtotime($date->plaintext); $item->timestamp = strtotime($date->plaintext);
$item->content = $this->fix_relative_uri($torrent->innertext); $item->content = $this->fix_relative_uri($torrent->innertext);
@ -371,9 +288,9 @@ class IsoHuntBridge extends BridgeAbstract{
$item->uri = $element->href; $item->uri = $element->href;
$item->title = $element->plaintext; $item->title = $element->plaintext;
// $item->author = // $item->author =
// $item->timestamp = // $item->timestamp =
// $item->content = // $item->content =
$this->items[] = $item; $this->items[] = $item;
} }
@ -454,7 +371,7 @@ class IsoHuntBridge extends BridgeAbstract{
$content = $post->find('div', 0); $content = $post->find('div', 0);
if(!$content) if(!$content)
$this->returnServerError('Unable to find content!'); $this->returnServerError('Unable to find content!');
// Remove <h2>...</h2> (title) // Remove <h2>...</h2> (title)
foreach($content->find('h2') as $element){ foreach($content->find('h2') as $element){
$element->outertext = ''; $element->outertext = '';
@ -498,7 +415,7 @@ class IsoHuntBridge extends BridgeAbstract{
$cell = $torrent->find('td.title-row', 0); $cell = $torrent->find('td.title-row', 0);
if(!$cell) if(!$cell)
$this->returnServerError('Unable to find title cell!'); $this->returnServerError('Unable to find title cell!');
$title = $cell->find('span', 0); $title = $cell->find('span', 0);
if(!$title) if(!$title)
$this->returnServerError('Unable to find title!'); $this->returnServerError('Unable to find title!');
@ -510,7 +427,7 @@ class IsoHuntBridge extends BridgeAbstract{
$cell = $torrent->find('td.title-row', 0); $cell = $torrent->find('td.title-row', 0);
if(!$cell) if(!$cell)
$this->returnServerError('Unable to find title cell!'); $this->returnServerError('Unable to find title cell!');
$uri = $cell->find('a', 0); $uri = $cell->find('a', 0);
if(!$uri) if(!$uri)
$this->returnServerError('Unable to find uri!'); $this->returnServerError('Unable to find uri!');
@ -522,7 +439,7 @@ class IsoHuntBridge extends BridgeAbstract{
$cell = $torrent->find('td.user-row', 0); $cell = $torrent->find('td.user-row', 0);
if(!$cell) if(!$cell)
return; // No author return; // No author
$user = $cell->find('a', 0); $user = $cell->find('a', 0);
if(!$user) if(!$user)
$this->returnServerError('Unable to find user!'); $this->returnServerError('Unable to find user!');
@ -546,7 +463,7 @@ class IsoHuntBridge extends BridgeAbstract{
$html = $this->getSimpleHTMLDOM($uri); $html = $this->getSimpleHTMLDOM($uri);
if(!$html) if(!$html)
$this->returnServerError('Unable to load ' . $uri . '!'); $this->returnServerError('Unable to load ' . $uri . '!');
return $html; return $html;
} }

View file

@ -6,26 +6,16 @@ class JapanExpoBridge extends BridgeAbstract{
$this->name = 'Japan Expo Actualités'; $this->name = 'Japan Expo Actualités';
$this->uri = 'http://www.japan-expo-paris.com/fr/actualites'; $this->uri = 'http://www.japan-expo-paris.com/fr/actualites';
$this->description = 'Returns most recent entries from Japan Expo actualités.'; $this->description = 'Returns most recent entries from Japan Expo actualités.';
$this->update = '2016-08-17'; $this->parameters[] = array(
$this->parameters[] = 'mode'=>array(
'[ 'name'=>'Mode',
{ 'type'=>'list',
"name" : "Mode", 'values'=>array(
"type" : "list", 'Titles only'=>'light',
"identifier" : "mode", 'Full Contents'=>'full'
"values" : )
[ )
{ );
"name" : "Titles only",
"value" : "light"
},
{
"name" : "Full Contents",
"value" : "full"
}
]
}
]';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -7,20 +7,14 @@ class KonachanBridge extends BridgeAbstract{
$this->name = "Konachan"; $this->name = "Konachan";
$this->uri = "http://konachan.com/"; $this->uri = "http://konachan.com/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -6,7 +6,6 @@ class KoreusBridge extends BridgeAbstract{
$this->name = "Koreus"; $this->name = "Koreus";
$this->uri = "http://www.koreus.com/"; $this->uri = "http://www.koreus.com/";
$this->description = "Returns the 5 newest posts from Koreus (full text)"; $this->description = "Returns the 5 newest posts from Koreus (full text)";
$this->update = '2016-08-17';
} }
private function KoreusStripCDATA($string) { private function KoreusStripCDATA($string) {
@ -16,7 +15,7 @@ class KoreusBridge extends BridgeAbstract{
} }
private function KoreusExtractContent($url) { private function KoreusExtractContent($url) {
$html2 = $this->getSimpeHTMLDOM($url); $html2 = $this->getSimpleHTMLDOM($url);
$text = $html2->find('p[class=itemText]', 0)->innertext; $text = $html2->find('p[class=itemText]', 0)->innertext;
$text = utf8_encode(preg_replace('/(Sur le m.+?)+$/i','',$text)); $text = utf8_encode(preg_replace('/(Sur le m.+?)+$/i','',$text));
return $text; return $text;

View file

@ -5,58 +5,38 @@ class KununuBridge extends BridgeAbstract{
$this->name = "Kununu Bridge"; /* This will be replaced later! */ $this->name = "Kununu Bridge"; /* This will be replaced later! */
$this->uri = "https://www.kununu.com"; /* This will be replaced later! */ $this->uri = "https://www.kununu.com"; /* This will be replaced later! */
$this->description = "Returns the latest reviews for a company and site of your choice."; $this->description = "Returns the latest reviews for a company and site of your choice.";
$this->update = '2016-08-17';
$this->parameters['global'] = $this->parameters['global'] = array(
'[ 'site'=>array(
{ 'name'=>'Site',
"name" : "Site", 'type'=>'list',
"identifier" : "site", 'required'=>true,
"type" : "list", 'exampleValue'=>'United States',
"required" : true, 'title'=>'Select your site',
"exampleValue" : "United States", 'values'=>array(
"title" : "Select your site", 'Austria'=>'at',
"values" : 'Germany'=>'de',
[ 'Switzerland'=>'ch',
{ 'United States'=>'us'
"name" : "Austria", )
"value" : "at" ),
}, 'full'=>array(
{ 'name'=>'Load full article',
"name" : "Germany", 'type'=>'checkbox',
"value" : "de" 'required'=>false,
}, 'exampleValue'=>'checked',
{ 'title'=>'Activate to load full article'
"name" : "Switzerland", )
"value" : "ch" );
},
{
"name" : "United States",
"value" : "us"
}
]
},
{
"name" : "Load full article",
"identifier" : "full",
"type" : "checkbox",
"required" : false,
"exampleValue" : "checked",
"title" : "Activate to load full article"
}
]';
$this->parameters[] = $this->parameters[] = array(
'[ 'company'=>array(
{ 'name'=>'Company',
"name" : "Company", 'required'=>true,
"identifier" : "company", 'exampleValue'=>'kununu-us',
"type" : "text", 'title'=>'Insert company name (i.e. Kununu US) or URI path (i.e. kununu-us)'
"required" : true, )
"exampleValue" : "kununu-us", );
"title" : "Insert company name (i.e. Kununu US) or URI path (i.e. kununu-us)"
}
]';
} }
public function collectData(array $params){ public function collectData(array $params){
@ -94,7 +74,7 @@ class KununuBridge extends BridgeAbstract{
$this->uri .= "/{$site}/{$company}/{$section}"; $this->uri .= "/{$site}/{$company}/{$section}";
// Load page // Load page
$html = $this->getSimplHTMLDOM($this->uri); $html = $this->getSimpleHTMLDOM($this->uri);
if($html === false) if($html === false)
$this->returnServerError('Unable to receive data from ' . $this->uri . '!'); $this->returnServerError('Unable to receive data from ' . $this->uri . '!');
@ -133,17 +113,17 @@ class KununuBridge extends BridgeAbstract{
return 86400; // 1 day return 86400; // 1 day
} }
/** /**
* Returns true if the given site is part of the parameters list * Returns true if the given site is part of the parameters list
*/ */
private function site_is_valid($site){ private function site_is_valid($site){
$parameter = json_decode($this->parameters['global'], true); $parameter = $this->parameters['global'];
$sites = $parameter[0]['values']; $sites = $parameter['site']['values'];
$site_names = array(); $site_names = array();
foreach($sites as $site_item) foreach($sites as $name=>$value)
$site_names[] = $site_item['value']; $site_names[] = $value;
return in_array($site, $site_names); return in_array($site, $site_names);
} }
@ -172,11 +152,11 @@ class KununuBridge extends BridgeAbstract{
$panel = $html->find('div.panel', 0); $panel = $html->find('div.panel', 0);
if($panel === false) if($panel === false)
$this->returnServerError('Cannot find panel for company name!'); $this->returnServerError('Cannot find panel for company name!');
$company_name = $panel->find('h1', 0); $company_name = $panel->find('h1', 0);
if($company_name === false) if($company_name === false)
$this->returnServerError('Cannot find company name!'); $this->returnServerError('Cannot find company name!');
return $company_name->plaintext; return $company_name->plaintext;
} }
@ -188,7 +168,7 @@ class KununuBridge extends BridgeAbstract{
$date = $article->find('time[itemprop=dtreviewed]', 0); $date = $article->find('time[itemprop=dtreviewed]', 0);
if($date === false) if($date === false)
$this->returnServerError('Cannot find article date!'); $this->returnServerError('Cannot find article date!');
return strtotime($date->datetime); return strtotime($date->datetime);
} }
@ -199,7 +179,7 @@ class KununuBridge extends BridgeAbstract{
$rating = $article->find('span.rating', 0); $rating = $article->find('span.rating', 0);
if($rating === false) if($rating === false)
$this->returnServerError('Cannot find article rating!'); $this->returnServerError('Cannot find article rating!');
return $rating->getAttribute('aria-label'); return $rating->getAttribute('aria-label');
} }
@ -210,7 +190,7 @@ class KununuBridge extends BridgeAbstract{
$summary = $article->find('[itemprop=summary]', 0); $summary = $article->find('[itemprop=summary]', 0);
if($summary === false) if($summary === false)
$this->returnServerError('Cannot find article summary!'); $this->returnServerError('Cannot find article summary!');
return strip_tags($summary->innertext); return strip_tags($summary->innertext);
} }
@ -226,7 +206,7 @@ class KununuBridge extends BridgeAbstract{
$anchor = $summary->find('a', 0); $anchor = $summary->find('a', 0);
if($anchor === false) if($anchor === false)
$this->returnServerError('Cannot find article URI!'); $this->returnServerError('Cannot find article URI!');
return 'https://www.kununu.com' . $anchor->href; return 'https://www.kununu.com' . $anchor->href;
} }
@ -247,7 +227,7 @@ class KununuBridge extends BridgeAbstract{
break; break;
} }
} }
return $author_position; return $author_position;
} }
@ -258,7 +238,7 @@ class KununuBridge extends BridgeAbstract{
$description = $article->find('div[itemprop=description]', 0); $description = $article->find('div[itemprop=description]', 0);
if($description === false) if($description === false)
$this->returnServerError('Cannot find article description!'); $this->returnServerError('Cannot find article description!');
return $this->fix_url($description->innertext); return $this->fix_url($description->innertext);
} }

View file

@ -12,7 +12,6 @@ class LWNprevBridge extends BridgeAbstract{
$this->name = 'LWN Free Weekly Edition'; $this->name = 'LWN Free Weekly Edition';
$this->uri = 'https://lwn.net/free/bigpage'; $this->uri = 'https://lwn.net/free/bigpage';
$this->description = 'LWN Free Weekly Edition available one week late'; $this->description = 'LWN Free Weekly Edition available one week late';
$this->update = '2016-08-17';
} }

View file

@ -7,225 +7,133 @@ class LeBonCoinBridge extends BridgeAbstract{
$this->name = "LeBonCoin"; $this->name = "LeBonCoin";
$this->uri = "http://www.leboncoin.fr"; $this->uri = "http://www.leboncoin.fr";
$this->description = "Returns most recent results from LeBonCoin for a region, and optionally a category and a keyword ."; $this->description = "Returns most recent results from LeBonCoin for a region, and optionally a category and a keyword .";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'k'=>array('name'=>'Mot Clé'),
'r'=>array(
{ 'name'=>'Région',
"name" : "Mot Clé", 'type'=>'list',
"identifier" : "k" 'values'=>array(
}, 'Alsace'=>'alsace',
'Aquitaine'=>'aquitaine',
{ 'Auvergne'=>'auvergne',
"name" : "Région", 'Basse Normandie'=>'basse_normandie',
"identifier" : "r", 'Bourgogne'=>'bourgogne',
"type" : "list", 'Bretagne'=>'bretagne',
"values" : [ 'Centre'=>'centre',
{ 'Champagne Ardenne'=>'champagne_ardenne',
"name" : "Alsace", 'Corse'=>'corse',
"value" : "alsace" 'Franche Comté'=>'franche_comte',
}, 'Haute Normandie'=>'haute_normandie',
{ 'Ile de France'=>'ile_de_france',
"name" : "Aquitaine", 'Languedoc Roussillon'=>'languedoc_roussillon',
"value" : "aquitaine" 'Limousin'=>'limousin',
}, 'Lorraine'=>'lorraine',
{ 'Midi Pyrénées'=>'midi_pyrenees',
"name" : "Auvergne", 'Nord Pas De Calais'=>'nord_pas_de_calais',
"value" : "auvergne" 'Pays de la Loire'=>'pays_de_la_loire',
}, 'Picardie'=>'picardie',
{ 'Poitou Charentes'=>'poitou_charentes',
"name" : "Basse Normandie", 'Provence Alpes Côte d\'Azur'=>'provence_alpes_cote_d_azur',
"value" : "basse_normandie" 'Rhône-Alpes'=>'rhone_alpes',
}, 'Guadeloupe'=>'guadeloupe',
{ 'Martinique'=>'martinique',
"name" : "Bourgogne", 'Guyane'=>'guyane',
"value" : "bourgogne" 'Réunion'=>'reunion'
}, )
{ ),
"name" : "Bretagne", 'c'=>array(
"value" : "bretagne" 'name'=>'Catégorie',
}, 'type'=>'list',
{ 'values'=>array(
"name" : "Centre", 'EMPLOI'=>'_emploi_',
"value" : "centre" 'VEHICULES'=>array(
}, 'Tous'=>'_vehicules_',
{ 'Voitures'=>'voitures',
"name" : "Champagne Ardenne", 'Motos'=>'motos',
"value" : "champagne_ardenne" 'Caravaning'=>'caravaning',
}, 'Utilitaires'=>'utilitaires',
{ 'Équipement Auto'=>'equipement_auto',
"name" : "Corse", 'Équipement Moto'=>'equipement_moto',
"value" : "corse" 'Équipement Caravaning'=>'equipement_caravaning',
}, 'Nautisme'=>'nautisme',
{ 'Équipement Nautisme'=>'equipement_nautisme'
"name" : "Franche Comté", ),
"value" : "franche_comte" 'IMMOBILIER'=>array(
}, 'Tous'=>'_immobilier_',
{ 'Ventes immobilières'=>'ventes_immobilieres',
"name" : "Haute Normandie", 'Locations'=>'locations',
"value" : "haute_normandie" 'Colocations'=>'colocations',
}, 'Bureaux & Commerces'=>'bureaux_commerces'
{ ),
"name" : "Ile de France", 'VACANCES'=>array(
"value" : "ile_de_france" 'Tous'=>'_vacances_',
}, 'Location gîtes'=>'locations_gites',
{ 'Chambres d\'hôtes'=>'chambres_d_hotes',
"name" : "Languedoc Roussillon", 'Campings'=>'campings',
"value" : "languedoc_roussillon" 'Hôtels'=>'hotels',
}, 'Hébergements insolites'=>'hebergements_insolites'
{ ),
"name" : "Limousin", 'MULTIMEDIA'=>array(
"value" : "limousin" 'Tous'=>'_multimedia_',
}, 'Informatique'=>'informatique',
{ 'Consoles & Jeux vidéo'=>'consoles_jeux_video',
"name" : "Lorraine", 'Image & Son'=>'image_son',
"value" : "lorraine" 'Téléphonie'=>'telephonie'
}, ),
{ 'LOISIRS'=>array(
"name" : "Midi Pyrénées", 'Tous'=>'_loisirs_',
"value" : "midi_pyrenees" 'DVD / Films'=>'dvd_films',
}, 'CD / Musique'=>'cd_musique',
{ 'Livres'=>'livres',
"name" : "Nord Pas De Calais", 'Animaux'=>'animaux',
"value" : "nord_pas_de_calais" 'Vélos'=>'velos',
}, 'Sports & Hobbies'=>'sports_hobbies',
{ 'Instruments de musique'=>'instruments_de_musique',
"name" : "Pays de la Loire", 'Collection'=>'collection',
"value" : "pays_de_la_loire" 'Jeux & Jouets'=>'jeux_jouets',
}, 'Vins & Gastronomie'=>'vins_gastronomie'
{ ),
"name" : "Picardie", 'MATÉRIEL PROFESSIONNEL'=>array(
"value" : "picardie" 'Tous'=>'_materiel_professionnel_',
}, 'Matériel Agricole'=>'mateiel_agricole',
{ 'Transport - Manutention'=>'transport_manutention',
"name" : "Poitou Charentes", 'BTP - Chantier - Gros-œuvre'=>'btp_chantier_gros_oeuvre',
"value" : "poitou_charentes" 'Outillage - Matériaux 2nd-œuvre'=>'outillage_materiaux_2nd_oeuvre',
}, 'Équipements Industriels'=>'equipement_industriels',
{ 'Restauration - Hôtellerie'=>'restauration_hotellerie',
"name" : "Provence Alpes Côte d\'Azur", 'Fournitures de Bureau'=>'fournitures_de_bureau',
"value" : "provence_alpes_cote_d_azur" 'Commerces & Marchés'=>'commerces_marches',
}, 'Matériel médical'=>'materiel_medical'
{ ),
"name" : "Rhône-Alpes", 'SERVICES'=>array(
"value" : "rhone_alpes" 'Tous'=>'_services_',
}, 'Prestations de services'=>'prestations_de_services',
{ 'Billetterie'=>'billetterie',
"name" : "Guadeloupe", 'Évènements'=>'evenements',
"value" : "guadeloupe" 'Cours particuliers'=>'cours_particuliers',
}, 'Covoiturage'=>'covoiturage'
{ ),
"name" : "Martinique", 'MAISON'=>array(
"value" : "martinique" 'Tous'=>'_maison_',
}, 'Ameublement'=>'ameublement',
{ 'Électroménager'=>'electromenager',
"name" : "Guyane", 'Arts de la table'=>'arts_de_la_table',
"value" : "guyane" 'Décoration'=>'decoration',
}, 'Linge de maison'=>'linge_de_maison',
{ 'Bricolage'=>'bricolage',
"name" : "Réunion", 'Jardinage'=>'jardinage',
"value" : "reunion" 'Vêtements'=>'vetements',
} 'Chaussures'=>'chaussures',
] 'Accessoires & Bagagerie'=>'accessoires_bagagerie',
}, 'Montres & Bijoux'=>'montres_bijoux',
{ 'Équipement bébé'=>'equipement_bebe',
"name" : "Catégorie", 'Vêtements bébé'=>'vetements_bebe'
"identifier" : "c", ),
"type" : "list", 'AUTRES'=>'autres'
"values" : [ )
{ "name" : "---- Select ----", "value" : "" }, )
);
{ "name" : "", "value" : "" },
{ "name" : "EMPLOI", "value" : "_emploi_" },
{ "name" : "", "value" : "" },
{ "name" : "VEHICULES", "value" : "_vehicules_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Voitures", "value" : "voitures" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Motos", "value" : "motos" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Caravaning", "value" : "caravaning" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Utilitaires", "value" : "utilitaires" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Equipement Auto", "value" : "equipement_auto" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Equipement Moto", "value" : "equipement_moto" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Equipement Caravaning", "value" : "equipement_caravaning" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Nautisme", "value" : "nautisme" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Equipement Nautisme", "value" : "equipement_nautisme" },
{ "name" : "", "value" : "" },
{ "name" : "IMMOBILIER", "value" : "_immobilier_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Ventes immobilieres", "value" : "ventes_immobilieres" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Locations", "value" : "locations" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Colocations", "value" : "colocations" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Bureaux &amp; Commerces", "value" : "bureaux_commerces" },
{ "name" : "", "value" : "" },
{ "name" : "VACANCES", "value" : "_vacances_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Locations gites", "value" : "locations_gites" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Chambres d\'hôtes", "value" : "chambres_d_hotes" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Campings", "value" : "campings" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Hôtels", "value" : "hotels" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Hébergements insolites", "value" : "hebergements_insolites" },
{ "name" : "", "value" : "" },
{ "name" : "MULTIMEDIA", "value" : "_multimedia_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Informatique", "value" : "informatique" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Consoles & Jeux vidéo", "value" : "consoles_jeux_video" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Image & Son", "value" : "image_son" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Téléphonie", "value" : "telephonie" },
{ "name" : "", "value" : "" },
{ "name" : "LOISIRS", "value" : "_loisirs_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;DVD / Films", "value" : "dvd_films" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;CD / Musique", "value" : "cd_musique" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Livres", "value" : "livres" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Animaux", "value" : "animaux" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Vélos", "value" : "velos" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Sports & Hobbies", "value" : "sports_hobbies" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Instruments de musique", "value" : "instruments_de_musique" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Collection", "value" : "collection" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Jeux & Jouets", "value" : "jeux_jouets" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Vins & Gastronomie", "value" : "vins_gastronomie" },
{ "name" : "", "value" : "" },
{ "name" : "MATERIEL PROFESSIONNEL", "value" : "_materiel_professionnel_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Materiel Agricole", "value" : "materiel_agricole" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Transport - Manutention", "value" : "transport_manutention" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;BTP - Chantier - Gros-oeuvre", "value" : "btp_chantier_gros_oeuvre" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Outillage - Materiaux 2nd-oeuvre", "value" : "outillage_materiaux_2nd_oeuvre" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Equipements Industriels", "value" : "equipements_industriels" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Restauration - Hôtellerie", "value" : "restauration_hotellerie" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Fournitures de Bureau", "value" : "fournitures_de_bureau" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Commerces & Marchés", "value" : "commerces_marches" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Matériel médical", "value" : "materiel_medical" },
{ "name" : "", "value" : "" },
{ "name" : "SERVICES", "value" : "_services_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Prestations de services", "value" : "prestations_de_services" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Billetterie", "value" : "billetterie" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Evénements", "value" : "evenements" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Cours particuliers", "value" : "cours_particuliers" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Covoiturage", "value" : "covoiturage" },
{ "name" : "", "value" : "" },
{ "name" : "MAISON", "value" : "_maison_" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Ameublement", "value" : "ameublement" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Electroménager", "value" : "electromenager" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Arts de la table", "value" : "arts_de_la_table" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Décoration", "value" : "decoration" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Linge de maison", "value" : "linge_de_maison" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Bricolage", "value" : "bricolage" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Jardinage", "value" : "jardinage" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Vêtements", "value" : "vetements" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Chaussures", "value" : "chaussures" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Accessoires & Bagagerie", "value" : "accessoires_bagagerie" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Montres & Bijoux", "value" : "montres_bijoux" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Equipement bébé", "value" : "equipement_bebe" },
{ "name" : "&nbsp;&nbsp;&nbsp;&nbsp;Vêtements bébé", "value" : "vetements_bebe" },
{ "name" : "", "value" : "" },
{ "name" : "AUTRES", "value" : "autres" }
]
}
]';
} }

View file

@ -6,7 +6,6 @@ class LeJournalDuGeekBridge extends BridgeAbstract{
$this->name = "journaldugeek.com (FR)"; $this->name = "journaldugeek.com (FR)";
$this->uri = "http://www.journaldugeek.com/"; $this->uri = "http://www.journaldugeek.com/";
$this->description = "Returns the 5 newest posts from LeJournalDuGeek (full text)."; $this->description = "Returns the 5 newest posts from LeJournalDuGeek (full text).";
$this->update = '2016-08-17';
} }
private function LeJournalDuGeekStripCDATA($string) { private function LeJournalDuGeekStripCDATA($string) {
@ -16,7 +15,7 @@ class LeJournalDuGeekBridge extends BridgeAbstract{
} }
private function LeJournalDuGeekExtractContent($url) { private function LeJournalDuGeekExtractContent($url) {
$articleHTMLContent = $this->getSimpleHMLDOM($url); $articleHTMLContent = $this->getSimpleHTMLDOM($url);
$text = $articleHTMLContent->find('div.post-content', 0)->innertext; $text = $articleHTMLContent->find('div.post-content', 0)->innertext;
foreach($articleHTMLContent->find('a.more') as $element) { foreach($articleHTMLContent->find('a.more') as $element) {

View file

@ -7,7 +7,6 @@ class LeMondeInformatiqueBridge extends BridgeAbstract {
$this->name = "Le Monde Informatique"; $this->name = "Le Monde Informatique";
$this->uri = "http://www.lemondeinformatique.fr/"; $this->uri = "http://www.lemondeinformatique.fr/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }

View file

@ -10,7 +10,6 @@ class Les400Culs extends RssExpander{
$this->name = "Les 400 Culs"; $this->name = "Les 400 Culs";
$this->uri = "http://sexes.blogs.liberation.fr"; $this->uri = "http://sexes.blogs.liberation.fr";
$this->description = "La planete sexe vue par Agnes Girard via rss-bridge"; $this->description = "La planete sexe vue par Agnes Girard via rss-bridge";
$this->update = "2016-08-09";
} }

View file

@ -7,7 +7,6 @@ class LesJoiesDuCodeBridge extends BridgeAbstract{
$this->name = "Les Joies Du Code"; $this->name = "Les Joies Du Code";
$this->uri = "http://lesjoiesducode.fr/"; $this->uri = "http://lesjoiesducode.fr/";
$this->description = "LesJoiesDuCode"; $this->description = "LesJoiesDuCode";
$this->update = '2016-08-17';
} }

View file

@ -8,7 +8,6 @@ class LichessBridge extends BridgeAbstract
$this->name = 'Lichess Blog'; $this->name = 'Lichess Blog';
$this->uri = 'http://lichess.org/blog'; $this->uri = 'http://lichess.org/blog';
$this->description = 'Returns the 5 newest posts from the Lichess blog (full text)'; $this->description = 'Returns the 5 newest posts from the Lichess blog (full text)';
$this->update = '2016-08-17';
} }
public function collectData(array $param) public function collectData(array $param)

View file

@ -7,20 +7,18 @@ class LinkedInCompany extends BridgeAbstract{
$this->name = "LinkedIn Company"; $this->name = "LinkedIn Company";
$this->uri = "https://www.linkedin.com/"; $this->uri = "https://www.linkedin.com/";
$this->description = "Returns most recent actus from Company on LinkedIn. (https://www.linkedin.com/company/<strong style=\"font-weight:bold;\">apple</strong>)"; $this->description = "Returns most recent actus from Company on LinkedIn. (https://www.linkedin.com/company/<strong style=\"font-weight:bold;\">apple</strong>)";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'c'=>array(
{ 'name'=>'Company name',
"name" : "Company name", 'required'=>true
"identifier" : "c" )
} );
]';
} }
public function collectData(array $param){ public function collectData(array $param){
$html = ''; $html = '';
$link = 'https://www.linkedin.com/company/'.$param[c]; $link = 'https://www.linkedin.com/company/'.$param['c'];
$html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request LinkedIn.'); $html = $this->getSimpleHTMLDOM($link) or $this->returnServerError('Could not request LinkedIn.');

View file

@ -7,21 +7,14 @@ class LolibooruBridge extends BridgeAbstract{
$this->name = "Lolibooru"; $this->name = "Lolibooru";
$this->uri = "http://lolibooru.moe/"; $this->uri = "http://lolibooru.moe/";
$this->description = "Returns images from given page and tags"; $this->description = "Returns images from given page and tags";
$this->update = '2016-08-17';
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
$this->parameters[] = array(
'p'=>array(
'name'=>'page',
'type'=>'number'
),
't'=>array('name'=>'tags')
);
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -8,195 +8,74 @@ class MangareaderBridge extends BridgeAbstract{
$this->name = "Mangareader Bridge"; $this->name = "Mangareader Bridge";
$this->uri = "http://www.mangareader.net"; $this->uri = "http://www.mangareader.net";
$this->description = "Returns the latest updates, popular mangas or manga updates (new chapters)"; $this->description = "Returns the latest updates, popular mangas or manga updates (new chapters)";
$this->update = '2016-08-17';
$this->parameters["Get latest updates"] = '[]'; $this->parameters["Get latest updates"] = array();
$this->parameters["Get popular mangas"] = $this->parameters["Get popular mangas"] = array(
'[ 'category'=>array(
{ 'name'=>'Category',
"name" : "Category", 'type'=>'list',
"identifier" : "category", 'required'=>true,
"type" : "list", 'values'=>array(
"required" : true, 'All'=>'all',
"values" : [ 'Action'=>'action',
{ 'Adventure'=>'adventure',
"name" : "All", 'Comedy'=>'comedy',
"value" : "all" 'Demons'=>'demons',
}, 'Drama'=>'drama',
{ 'Ecchi'=>'ecchi',
"name" : "Action", 'Fantasy'=>'fantasy',
"value" : "action" 'Gender Bender'=>'gender-bender',
}, 'Harem'=>'harem',
{ 'Historical'=>'historical',
"name" : "Adventure", 'Horror'=>'horror',
"value" : "adventure" 'Josei'=>'josei',
}, 'Magic'=>'magic',
{ 'Martial Arts'=>'martial-arts',
"name" : "Comedy", 'Mature'=>'mature',
"value" : "comedy" 'Mecha'=>'mecha',
}, 'Military'=>'military',
{ 'Mystery'=>'mystery',
"name" : "Demons", 'One Shot'=>'one-shot',
"value" : "demons" 'Psychological'=>'psychological',
}, 'Romance'=>'romance',
{ 'School Life'=>'school-life',
"name" : "Drama", 'Sci-Fi'=>'sci-fi',
"value" : "drama" 'Seinen'=>'seinen',
}, 'Shoujo'=>'shoujo',
{ 'Shoujoai'=>'shoujoai',
"name" : "Ecchi", 'Shounen'=>'shounen',
"value" : "ecchi" 'Shounenai'=>'shounenai',
}, 'Slice of Life'=>'slice-of-life',
{ 'Smut'=>'smut',
"name" : "Fantasy", 'Sports'=>'sports',
"value" : "fantasy" 'Super Power'=>'super-power',
}, 'Supernatural'=>'supernatural',
{ 'Tragedy'=>'tragedy',
"name" : "Gender Bender", 'Vampire'=>'vampire',
"value" : "gender-bender" 'Yaoi'=>'yaoi',
}, 'Yuri'=>'yuri'
{ ),
"name" : "Harem", 'exampleValue'=>'All',
"value" : "harem" 'title'=>'Select your category'
}, )
{ );
"name" : "Historical", $this->parameters["Get manga updates"] = array(
"value" : "historical" 'path'=>array(
}, 'name'=>'Path',
{ 'required'=>true,
"name" : "Horror", 'pattern'=>'[a-zA-Z0-9-_]*',
"value" : "horror" 'exampleValue'=>'bleach, umi-no-kishidan',
}, 'title'=>'URL part of desired manga'
{ ),
"name" : "Josei", 'limit'=>array(
"value" : "josei" 'name'=>'Limit',
}, 'type'=>'number',
{ 'exampleValue'=>10,
"name" : "Magic", 'title'=>'Number of items to return [-1 returns all]'
"value" : "magic" )
}, );
{
"name" : "Martial Arts",
"value" : "martial-arts"
},
{
"name" : "Mature",
"value" : "mature"
},
{
"name" : "Mecha",
"value" : "mecha"
},
{
"name" : "Military",
"value" : "military"
},
{
"name" : "Mystery",
"value" : "mystery"
},
{
"name" : "One Shot",
"value" : "one-shot"
},
{
"name" : "Psychological",
"value" : "psychological"
},
{
"name" : "Romance",
"value" : "romance"
},
{
"name" : "School Life",
"value" : "school-life"
},
{
"name" : "Sci-Fi",
"value" : "sci-fi"
},
{
"name" : "Seinen",
"value" : "seinen"
},
{
"name" : "Shoujo",
"value" : "shoujo"
},
{
"name" : "Shoujoai",
"value" : "shoujoai"
},
{
"name" : "Shounen",
"value" : "shounen"
},
{
"name" : "Shounenai",
"value" : "shounenai"
},
{
"name" : "Slice of Life",
"value" : "slice-of-life"
},
{
"name" : "Smut",
"value" : "smut"
},
{
"name" : "Sports",
"value" : "sports"
},
{
"name" : "Super Power",
"value" : "super-power"
},
{
"name" : "Supernatural",
"value" : "supernatural"
},
{
"name" : "Tragedy",
"value" : "tragedy"
},
{
"name" : "Vampire",
"value" : "vampire"
},
{
"name" : "Yaoi",
"value" : "yaoi"
},
{
"name" : "Yuri",
"value" : "yuri"
}
],
"exampleValue" : "All",
"title" : "Select your category"
}
]';
$this->parameters["Get manga updates"] =
'[
{
"name" : "Path",
"identifier" : "path",
"type" : "text",
"required" : true,
"pattern" : "[a-zA-Z0-9-_]*",
"exampleValue" : "bleach, umi-no-kishidan",
"title" : "URL part of desired manga"
},
{
"name" : "Limit",
"identifier" : "limit",
"type" : "number",
"exampleValue" : "10",
"title" : "Number of items to return.\n-1 returns all"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){
$this->request = ''; $this->request = '';
@ -204,7 +83,7 @@ class MangareaderBridge extends BridgeAbstract{
$type = "latest"; // can be "latest", "popular" or "path". Default is "latest"! $type = "latest"; // can be "latest", "popular" or "path". Default is "latest"!
$path = "latest"; $path = "latest";
$limit = MANGAREADER_LIMIT; $limit = MANGAREADER_LIMIT;
if(isset($param['category'])){ // Get popular updates if(isset($param['category'])){ // Get popular updates
$type = "popular"; $type = "popular";
$path = "popular"; $path = "popular";
@ -212,16 +91,16 @@ class MangareaderBridge extends BridgeAbstract{
$path .= "/" . $param['category']; $path .= "/" . $param['category'];
} }
} }
if(isset($param['path'])){ // Get manga updates if(isset($param['path'])){ // Get manga updates
$type = "path"; $type = "path";
$path = $param['path']; $path = $param['path'];
} }
if(isset($param['limit']) && $param['limit'] !== ""){ // Get manga updates (optional parameter) if(isset($param['limit']) && $param['limit'] !== ""){ // Get manga updates (optional parameter)
$limit = $param['limit']; $limit = $param['limit'];
} }
// We'll use the DOM parser for this as it makes navigation easier // We'll use the DOM parser for this as it makes navigation easier
$html = file_get_contents("http://www.mangareader.net/" . $path); $html = file_get_contents("http://www.mangareader.net/" . $path);
if(!$html){ if(!$html){
@ -229,22 +108,22 @@ class MangareaderBridge extends BridgeAbstract{
} }
$doc = new DomDocument; $doc = new DomDocument;
@$doc->loadHTML($html); @$doc->loadHTML($html);
// Navigate via XPath // Navigate via XPath
$xpath = new DomXPath($doc); $xpath = new DomXPath($doc);
// Build feed based on the context (site updates or manga updates) // Build feed based on the context (site updates or manga updates)
if($type === "latest"){ if($type === "latest"){
$this->request = 'Latest updates'; $this->request = 'Latest updates';
// Query each item (consists of Manga + chapters) // Query each item (consists of Manga + chapters)
$nodes = $xpath->query("//*[@id='latestchapters']/table//td"); $nodes = $xpath->query("//*[@id='latestchapters']/table//td");
foreach ($nodes as $node){ foreach ($nodes as $node){
// Query the manga // Query the manga
$manga = $xpath->query("a[@class='chapter']", $node)->item(0); $manga = $xpath->query("a[@class='chapter']", $node)->item(0);
// Collect the chapters for each Manga // Collect the chapters for each Manga
$chapters = $xpath->query("a[@class='chaptersrec']", $node); $chapters = $xpath->query("a[@class='chaptersrec']", $node);
@ -252,35 +131,35 @@ class MangareaderBridge extends BridgeAbstract{
$item = new \Item(); $item = new \Item();
$item->uri = 'http://www.mangareader.net' . htmlspecialchars($manga->getAttribute('href')); $item->uri = 'http://www.mangareader.net' . htmlspecialchars($manga->getAttribute('href'));
$item->title = htmlspecialchars($manga->nodeValue); $item->title = htmlspecialchars($manga->nodeValue);
// Add each chapter to the feed // Add each chapter to the feed
$item->content = ""; $item->content = "";
foreach ($chapters as $chapter){ foreach ($chapters as $chapter){
if($item->content <> ""){ if($item->content <> ""){
$item->content .= "<br>"; $item->content .= "<br>";
} }
$item->content .= "<a href='http://www.mangareader.net" . htmlspecialchars($chapter->getAttribute('href')) . "'>" . htmlspecialchars($chapter->nodeValue) . "</a>"; $item->content .= "<a href='http://www.mangareader.net" . htmlspecialchars($chapter->getAttribute('href')) . "'>" . htmlspecialchars($chapter->nodeValue) . "</a>";
} }
$this->items[] = $item; $this->items[] = $item;
} }
} }
} }
if($type === "popular"){ if($type === "popular"){
$pagetitle = $xpath->query(".//*[@id='bodyalt']/h1")->item(0)->nodeValue; $pagetitle = $xpath->query(".//*[@id='bodyalt']/h1")->item(0)->nodeValue;
$this->request = substr($pagetitle, 0, strrpos($pagetitle, " -")); // "Popular mangas for ..." $this->request = substr($pagetitle, 0, strrpos($pagetitle, " -")); // "Popular mangas for ..."
// Query all mangas // Query all mangas
$mangas = $xpath->query("//*[@id='mangaresults']/*[@class='mangaresultitem']"); $mangas = $xpath->query("//*[@id='mangaresults']/*[@class='mangaresultitem']");
foreach ($mangas as $manga){ foreach ($mangas as $manga){
// The thumbnail is encrypted in a css-style... // The thumbnail is encrypted in a css-style...
// format: "background-image:url('<the part which is actually interesting>')" // format: "background-image:url('<the part which is actually interesting>')"
$mangaimgelement = $xpath->query(".//*[@class='imgsearchresults']", $manga)->item(0)->getAttribute('style'); $mangaimgelement = $xpath->query(".//*[@class='imgsearchresults']", $manga)->item(0)->getAttribute('style');
$thumbnail = substr($mangaimgelement, 22, strlen($mangaimgelement) - 24); $thumbnail = substr($mangaimgelement, 22, strlen($mangaimgelement) - 24);
$item = new \Item(); $item = new \Item();
@ -293,35 +172,35 @@ class MangareaderBridge extends BridgeAbstract{
$this->items[] = $item; $this->items[] = $item;
} }
} }
if($type === "path") { if($type === "path") {
$this->request = $xpath->query(".//*[@id='mangaproperties']//*[@class='aname']")->item(0)->nodeValue; $this->request = $xpath->query(".//*[@id='mangaproperties']//*[@class='aname']")->item(0)->nodeValue;
$query = "(.//*[@id='listing']//tr)[position() > 1]"; $query = "(.//*[@id='listing']//tr)[position() > 1]";
if($limit !== -1){ if($limit !== -1){
$query = "(.//*[@id='listing']//tr)[position() > 1][position() > last() - " . $limit . "]"; $query = "(.//*[@id='listing']//tr)[position() > 1][position() > last() - " . $limit . "]";
} }
$chapters = $xpath->query($query); $chapters = $xpath->query($query);
foreach ($chapters as $chapter){ foreach ($chapters as $chapter){
$item = new \Item(); $item = new \Item();
$item->title = htmlspecialchars($xpath->query("td[1]", $chapter)->item(0)->nodeValue); $item->title = htmlspecialchars($xpath->query("td[1]", $chapter)->item(0)->nodeValue);
$item->uri = 'http://www.mangareader.net' . $xpath->query("td[1]/a", $chapter)->item(0)->getAttribute('href'); $item->uri = 'http://www.mangareader.net' . $xpath->query("td[1]/a", $chapter)->item(0)->getAttribute('href');
$item->timestamp = strtotime($xpath->query("td[2]", $chapter)->item(0)->nodeValue); $item->timestamp = strtotime($xpath->query("td[2]", $chapter)->item(0)->nodeValue);
array_unshift($this->items, $item); array_unshift($this->items, $item);
} }
} }
// Return some dummy-data if no content available // Return some dummy-data if no content available
if(count($this->items) == 0){ if(count($this->items) == 0){
$item = new \Item(); $item = new \Item();
$item->content = "<p>No updates available</p>"; $item->content = "<p>No updates available</p>";
$this->items[] = $item; $this->items[] = $item;
} }
} }
public function getName(){ public function getName(){
@ -332,4 +211,4 @@ class MangareaderBridge extends BridgeAbstract{
return 10800; // 3 hours return 10800; // 3 hours
} }
} }
?> ?>

View file

@ -7,20 +7,14 @@ class MilbooruBridge extends BridgeAbstract{
$this->name = "Milbooru"; $this->name = "Milbooru";
$this->uri = "http://sheslostcontrol.net/moe/shimmie/"; $this->uri = "http://sheslostcontrol.net/moe/shimmie/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -6,7 +6,6 @@ class MondeDiploBridge extends BridgeAbstract{
$this->name = 'Monde Diplomatique'; $this->name = 'Monde Diplomatique';
$this->uri = 'http://www.monde-diplomatique.fr'; $this->uri = 'http://www.monde-diplomatique.fr';
$this->description = "Returns most recent results from MondeDiplo."; $this->description = "Returns most recent results from MondeDiplo.";
$this->update = '2016-08-17';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -6,11 +6,10 @@ class MsnMondeBridge extends BridgeAbstract{
$this->name = 'MSN Actu Monde'; $this->name = 'MSN Actu Monde';
$this->uri = 'http://www.msn.com/fr-fr/actualite/monde'; $this->uri = 'http://www.msn.com/fr-fr/actualite/monde';
$this->description = "Returns the 10 newest posts from MSN Actualités (full text)"; $this->description = "Returns the 10 newest posts from MSN Actualités (full text)";
$this->update = '2016-08-17';
} }
private function MsnMondeExtractContent($url, &$item) { private function MsnMondeExtractContent($url, &$item) {
$html2 = $this->getSimpleHTLDOM($url); $html2 = $this->getSimpleHTMLDOM($url);
$item->content = $html2->find('#content', 0)->find('article', 0)->find('section', 0)->plaintext; $item->content = $html2->find('#content', 0)->find('article', 0)->find('section', 0)->plaintext;
$item->timestamp = strtotime($html2->find('.authorinfo-txt', 0)->find('time', 0)->datetime); $item->timestamp = strtotime($html2->find('.authorinfo-txt', 0)->find('time', 0)->datetime);
} }

View file

@ -7,20 +7,14 @@ class MspabooruBridge extends BridgeAbstract{
$this->name = "Mspabooru"; $this->name = "Mspabooru";
$this->uri = "http://mspabooru.com/"; $this->uri = "http://mspabooru.com/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }

View file

@ -6,7 +6,6 @@ class NakedSecurityBridge extends BridgeAbstract {
$this->name = 'Naked Security'; $this->name = 'Naked Security';
$this->uri = 'https://nakedsecurity.sophos.com/'; $this->uri = 'https://nakedsecurity.sophos.com/';
$this->description = 'Returns the newest articles.'; $this->description = 'Returns the newest articles.';
$this->update = '2016-08-17';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -7,7 +7,6 @@ class NasaApodBridge extends BridgeAbstract{
$this->name = "NASA APOD Bridge"; $this->name = "NASA APOD Bridge";
$this->uri = "http://apod.nasa.gov/apod/astropix.html"; $this->uri = "http://apod.nasa.gov/apod/astropix.html";
$this->description = "Returns the 3 latest NASA APOD pictures and explanations"; $this->description = "Returns the 3 latest NASA APOD pictures and explanations";
$this->update = '2016-08-17';
} }

View file

@ -6,7 +6,6 @@ class NeuviemeArtBridge extends BridgeAbstract {
$this->name = '9ème Art Bridge'; $this->name = '9ème Art Bridge';
$this->uri = "http://www.9emeart.fr/"; $this->uri = "http://www.9emeart.fr/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -6,7 +6,6 @@ class NextInpactBridge extends BridgeAbstract {
$this->name = "NextInpact Bridge"; $this->name = "NextInpact Bridge";
$this->uri = "http://www.nextinpact.com/"; $this->uri = "http://www.nextinpact.com/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }
private function StripCDATA($string) { private function StripCDATA($string) {
@ -16,7 +15,7 @@ class NextInpactBridge extends BridgeAbstract {
} }
private function ExtractContent($url) { private function ExtractContent($url) {
$html2 = $this->getSimpleHTLDOM($url); $html2 = $this->getSimpleHTMLDOM($url);
$text = '<p><em>'.$html2->find('span.sub_title', 0)->innertext.'</em></p>' $text = '<p><em>'.$html2->find('span.sub_title', 0)->innertext.'</em></p>'
.'<p><img src="'.$html2->find('div.container_main_image_article', 0)->find('img.dedicated',0)->src.'" alt="-" /></p>' .'<p><img src="'.$html2->find('div.container_main_image_article', 0)->find('img.dedicated',0)->src.'" alt="-" /></p>'
.'<div>'.$html2->find('div[itemprop=articleBody]', 0)->innertext.'</div>'; .'<div>'.$html2->find('div[itemprop=articleBody]', 0)->innertext.'</div>';

View file

@ -7,30 +7,25 @@ class NextgovBridge extends BridgeAbstract {
$this->name = 'Nextgov Bridge'; $this->name = 'Nextgov Bridge';
$this->uri = 'https://www.nextgov.com/'; $this->uri = 'https://www.nextgov.com/';
$this->description = 'USA Federal technology news, best practices, and web 2.0 tools.'; $this->description = 'USA Federal technology news, best practices, and web 2.0 tools.';
$this->update = '2016-08-17';
$this->parameters[] =
'[
{
"name" : "Category",
"type" : "list",
"identifier" : "category",
"values" :
[
{ "name" : "All", "value" : "all" },
{ "name" : "Technology News", "value" : "technology-news" },
{ "name" : "CIO Briefing", "value" : "cio-briefing" },
{ "name" : "Emerging Tech", "value" : "emerging-tech" },
{ "name" : "Cloud", "value" : "cloud-computing" },
{ "name" : "Cybersecurity", "value" : "cybersecurity" },
{ "name" : "Mobile", "value" : "mobile" },
{ "name" : "Health", "value" : "health" },
{ "name" : "Defense", "value" : "defense" },
{ "name" : "Big Data", "value" : "big-data" }
]
}
]';
$this->parameters[] = array(
'category'=>array(
'name'=>'Category',
'type'=>'list',
'values'=>array(
'All'=>'all',
'Technology News'=>'technology-news',
'CIO Briefing'=>'cio-briefing',
'Emerging Tech'=>'emerging-tech',
'Cloud'=>'cloud-computing',
'Cybersecurity'=>'cybersecurity',
'Mobile'=>'mobile',
'Health'=>'health',
'Defense'=>'defense',
'Big Data'=>'big-data'
)
)
);
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -6,7 +6,6 @@ class NiceMatinBridge extends BridgeAbstract{
$this->name = "NiceMatin"; $this->name = "NiceMatin";
$this->uri = "http://www.nicematin.com/"; $this->uri = "http://www.nicematin.com/";
$this->description = "Returns the 10 newest posts from NiceMatin (full text)"; $this->description = "Returns the 10 newest posts from NiceMatin (full text)";
$this->update = '2016-08-17';
} }
private function NiceMatinExtractContent($url) { private function NiceMatinExtractContent($url) {

View file

@ -7,14 +7,12 @@ class NovelUpdatesBridge extends BridgeAbstract{
$this->name = "Novel Updates"; $this->name = "Novel Updates";
$this->uri = "http://www.novelupdates.com/"; $this->uri = "http://www.novelupdates.com/";
$this->description = "Returns releases from Novel Updates"; $this->description = "Returns releases from Novel Updates";
$this->update = '2016-08-17'; $this->parameters[] = array(
$this->parameters[] = 'n'=>array(
'[ 'name'=>'Novel URL',
{ 'required'=>true
"name" : "Novel URL", )
"identifier" : "n" );
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class NumeramaBridge extends BridgeAbstract{
$this->name = 'Numerama'; $this->name = 'Numerama';
$this->uri = 'http://www.numerama.com/'; $this->uri = 'http://www.numerama.com/';
$this->description = 'Returns the 5 newest posts from Numerama (full text)'; $this->description = 'Returns the 5 newest posts from Numerama (full text)';
$this->update = '2016-08-17';
} }

View file

@ -7,55 +7,25 @@ class OpenClassroomsBridge extends BridgeAbstract{
$this->name = "OpenClassrooms Bridge"; $this->name = "OpenClassrooms Bridge";
$this->uri = "https://openclassrooms.com/"; $this->uri = "https://openclassrooms.com/";
$this->description = "Returns latest tutorials from OpenClassrooms."; $this->description = "Returns latest tutorials from OpenClassrooms.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'u'=>array(
{ 'name'=>'Catégorie',
"name" : "Catégorie", 'type'=>'list',
"identifier" : "u", 'values'=>array(
"type" : "list", 'Arts & Culture'=>'arts',
"values" : [ 'Code'=>'code',
{ 'Design'=>'design',
"name" : "Arts & Culture", 'Entreprise'=>'business',
"value" : "arts" 'Numérique'=>'digital',
}, 'Sciences'=>'sciences',
{ 'Sciences Humaines'=>'humainities',
"name" : "Code", 'Systèmes d\'information'=>'it',
"value" : "code" 'Autres'=>'others'
}, )
{ )
"name" : "Design", );
"value" : "design"
},
{
"name" : "Entreprise",
"value" : "business"
},
{
"name" : "Numérique",
"value" : "digital"
},
{
"name" : "Sciences",
"value" : "sciences"
},
{
"name" : "Sciences Humaines",
"value" : "humainities"
},
{
"name" : "Systèmes d\'information",
"value" : "it"
},
{
"name" : "Autres",
"value" : "others"
}
]
}
]';
} }

View file

@ -10,34 +10,23 @@ class ParuVenduImmoBridge extends BridgeAbstract
$this->name = "Paru Vendu Immobilier"; $this->name = "Paru Vendu Immobilier";
$this->uri = "http://www.paruvendu.fr"; $this->uri = "http://www.paruvendu.fr";
$this->description = "Returns the ads from the first page of search result."; $this->description = "Returns the ads from the first page of search result.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'minarea'=>array(
{ 'name'=>'Minimal surface m²',
"name": "Minimal surface m²", 'type'=>'number'
"type" : "number", ),
"identifier" : "minarea" 'maxprice'=>array(
}, 'name'=>'Max price',
{ 'type'=>'number'
"name" : "Max price", ),
"type" : "number", 'pa'=>array(
"identifier" : "maxprice" 'name'=>'Country code',
}, 'exampleValue'=>'FR'
{ ),
"name" : "Country code", 'lo'=>array('name'=>'department numbers or postal codes, comma-separated')
"type" : "text", );
"identifier" : "pa",
"exampleValue" : "FR"
},
{
"name" : "department numbers or postal codes, comma-separated",
"type" : "text",
"identifier" : "lo"
}
]';
} }
public function collectData(array $param) public function collectData(array $param)

View file

@ -11,31 +11,21 @@ class PickyWallpapersBridge extends BridgeAbstract {
$this->name = "PickyWallpapers Bridge"; $this->name = "PickyWallpapers Bridge";
$this->uri = "http://www.pickywallpapers.com/"; $this->uri = "http://www.pickywallpapers.com/";
$this->description = "Returns the latests wallpapers from PickyWallpapers"; $this->description = "Returns the latests wallpapers from PickyWallpapers";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'c'=>array('name'=>'category'),
{ 's'=>array('name'=>'subcategory'),
"name" : "Category", 'm'=>array(
"identifier" : "c" 'name'=>'Max number of wallpapers',
}, 'type'=>'number'
{ ),
"name" : "subcategory", 'r'=>array(
"identifier" : "s" 'name'=>'resolution',
}, 'exampleValue'=>'1920x1200, 1680x1050,…',
{ 'pattern'=>'[0-9]{3,4}x[0-9]{3,4}'
"name" : "Max number of wallpapers", )
"identifier" : "m", );
"type" : "number"
},
{
"name" : "resolution",
"identifier" : "r",
"exampleValue" : "1920x1200, 1680x1050, ...",
"pattern" : "[0-9]{3,4}x[0-9]{3,4}"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -11,28 +11,15 @@ class PinterestBridge extends BridgeAbstract{
$this->name = "Pinterest Bridge"; $this->name = "Pinterest Bridge";
$this->uri = "http://www.pinterest.com"; $this->uri = "http://www.pinterest.com";
$this->description = "Returns the newest images on a board"; $this->description = "Returns the newest images on a board";
$this->update = '2016-08-17';
$this->parameters["By username and board"] = $this->parameters["By username and board"] = array(
'[ 'u'=>array('name'=>'username'),
{ 'b'=>array('name'=>'board')
"name" : "username", );
"identifier" : "u"
},
{
"name" : "board",
"identifier" : "b"
} $this->parameters["From search"] = array(
]'; 'q'=>array('name'=>'Keyword')
);
$this->parameters["From search"] =
'[
{
"name" : "Keyword",
"identifier" : "q"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -6,11 +6,10 @@ class PlanetLibreBridge extends BridgeAbstract{
$this->name = "PlanetLibre"; $this->name = "PlanetLibre";
$this->uri = "http://www.planet-libre.org"; $this->uri = "http://www.planet-libre.org";
$this->description = "Returns the 5 newest posts from PlanetLibre (full text)"; $this->description = "Returns the 5 newest posts from PlanetLibre (full text)";
$this->update = '2016-08-17';
} }
private function PlanetLibreExtractContent($url){ private function PlanetLibreExtractContent($url){
$html2 = $this->geSimpleHTMLDOM($url); $html2 = $this->getSimpleHTMLDOM($url);
$text = $html2->find('div[class="post-text"]', 0)->innertext; $text = $html2->find('div[class="post-text"]', 0)->innertext;
return $text; return $text;
} }

View file

@ -7,7 +7,6 @@ class ProjectMGameBridge extends BridgeAbstract{
$this->name = "Project M Game Bridge"; $this->name = "Project M Game Bridge";
$this->uri = "http://projectmgame.com/en/"; $this->uri = "http://projectmgame.com/en/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }

View file

@ -5,18 +5,14 @@ class RTBFBridge extends BridgeAbstract {
$this->uri = "http://www.rtbf.be/auvio/emissions"; $this->uri = "http://www.rtbf.be/auvio/emissions";
$this->description = "Returns the newest RTBF videos by series ID"; $this->description = "Returns the newest RTBF videos by series ID";
$this->maintainer = "Frenzie"; $this->maintainer = "Frenzie";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'c'=>array(
{ 'name'=>'series id',
"type" : "text", 'exampleValue'=>9500,
"identifier" : "c", 'required'=>true
"name" : "series id", )
"exampleValue" : "9500", );
"required" : true
}
]';
} }
public function collectData(array $param) { public function collectData(array $param) {

View file

@ -7,7 +7,6 @@ class Releases3DSBridge extends BridgeAbstract {
$this->name = "3DS Scene Releases"; $this->name = "3DS Scene Releases";
$this->uri = "http://www.3dsdb.com/"; $this->uri = "http://www.3dsdb.com/";
$this->description = "Returns the newest scene releases."; $this->description = "Returns the newest scene releases.";
$this->update = '2016-08-17';
} }

View file

@ -6,7 +6,6 @@ class ReporterreBridge extends BridgeAbstract{
$this->name = "Reporterre Bridge"; $this->name = "Reporterre Bridge";
$this->uri = "http://www.reporterre.net/"; $this->uri = "http://www.reporterre.net/";
$this->description = "Returns the newest articles."; $this->description = "Returns the newest articles.";
$this->update = '2016-08-17';
} }
private function ExtractContentReporterre($url) { private function ExtractContentReporterre($url) {

View file

@ -7,7 +7,6 @@ class Rue89Bridge extends BridgeAbstract{
$this->name = "Rue89"; $this->name = "Rue89";
$this->uri = "http://rue89.nouvelobs.com/"; $this->uri = "http://rue89.nouvelobs.com/";
$this->description = "Returns the 5 newest posts from Rue89 (full text)"; $this->description = "Returns the 5 newest posts from Rue89 (full text)";
$this->update = '2016-08-17';
} }

View file

@ -7,20 +7,15 @@ class Rule34Bridge extends BridgeAbstract{
$this->name = "Rule34"; $this->name = "Rule34";
$this->uri = "http://rule34.xxx/"; $this->uri = "http://rule34.xxx/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,20 +7,14 @@ class Rule34pahealBridge extends BridgeAbstract{
$this->name = "Rule34paheal"; $this->name = "Rule34paheal";
$this->uri = "http://rule34.paheal.net/"; $this->uri = "http://rule34.paheal.net/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }

View file

@ -7,20 +7,14 @@ class SafebooruBridge extends BridgeAbstract{
$this->name = "Safebooru"; $this->name = "Safebooru";
$this->uri = "http://safebooru.org/"; $this->uri = "http://safebooru.org/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }

View file

@ -7,20 +7,15 @@ class SakugabooruBridge extends BridgeAbstract{
$this->name = "Sakugabooru"; $this->name = "Sakugabooru";
$this->uri = "http://sakuga.yshi.org/"; $this->uri = "http://sakuga.yshi.org/";
$this->description = "Returns images from given page"; $this->description = "Returns images from given page";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'p'=>array(
{ 'name'=>'page',
"name" : "page", 'type'=>'number'
"identifier" : "p", ),
"type" : "number" 't'=>array('name'=>'tags')
}, );
{
"name" : "tags",
"identifier" : "t"
}
]';
} }
public function collectData(array $param){ public function collectData(array $param){

View file

@ -7,7 +7,6 @@ class ScmbBridge extends BridgeAbstract{
$this->name = "Se Coucher Moins Bête Bridge"; $this->name = "Se Coucher Moins Bête Bridge";
$this->uri = "http://secouchermoinsbete.fr/"; $this->uri = "http://secouchermoinsbete.fr/";
$this->description = "Returns the newest anecdotes."; $this->description = "Returns the newest anecdotes.";
$this->update = '2016-08-17';
} }

View file

@ -7,15 +7,13 @@ class ScoopItBridge extends BridgeAbstract{
$this->name = "ScoopIt"; $this->name = "ScoopIt";
$this->uri = "http://www.scoop.it"; $this->uri = "http://www.scoop.it";
$this->description = "Returns most recent results from ScoopIt."; $this->description = "Returns most recent results from ScoopIt.";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'u'=>array(
{ 'name'=>'keyword',
"name" : "keyword", 'required'=>true
"identifier" : "u" )
} );
]';
} }

View file

@ -8,42 +8,34 @@ class SensCritiqueBridge extends BridgeAbstract {
$this->name = "Sens Critique"; $this->name = "Sens Critique";
$this->uri = "http://www.senscritique.com"; $this->uri = "http://www.senscritique.com";
$this->description = "Sens Critique news"; $this->description = "Sens Critique news";
$this->update = '2016-08-17';
$this->parameters[] = $this->parameters[] = array(
'[ 'm'=>array(
{ 'name'=>'Movies',
"name" : "Movies", 'type'=>'checkbox'
"identifier" : "m", ),
"type": "checkbox" 's'=>array(
}, 'name'=>'Series',
{ 'type'=>'checkbox'
"name" : "Series", ),
"identifier" : "s", 'g'=>array(
"type": "checkbox" 'name'=>'Video Games',
}, 'type'=>'checkbox'
{ ),
"name" : "Video Games", 'b'=>array(
"identifier" : "g", 'name'=>'Books',
"type": "checkbox" 'type'=>'checkbox'
}, ),
{ 'bd'=>array(
"name" : "Books", 'name'=>'BD',
"identifier" : "b", 'type'=>'checkbox'
"type": "checkbox" ),
}, 'mu'=>array(
{ 'name'=>'Music',
"name" : "BD", 'type'=>'checkbox'
"identifier" : "bd", )
"type": "checkbox" );
}, }
{
"name" : "Music",
"identifier" : "mu",
"type": "checkbox"
}
]';
}
public function collectData(array $param) { public function collectData(array $param) {
if ((isset($param['m']) && $param['m'])) { if ((isset($param['m']) && $param['m'])) {

View file

@ -7,7 +7,6 @@ class Sexactu extends BridgeAbstract{
$this->name = "Sexactu"; $this->name = "Sexactu";
$this->uri = "http://www.gqmagazine.fr"; $this->uri = "http://www.gqmagazine.fr";
$this->description = "Sexactu via rss-bridge"; $this->description = "Sexactu via rss-bridge";
$this->update = '2016-08-17';
} }

Some files were not shown because too many files have changed in this diff Show more