Merge pull request #170 from teromene/new-attribute-system

All bridges implemented.
This commit is contained in:
Mitsu 2015-11-05 18:31:15 +01:00
commit 600111efc4
81 changed files with 1947 additions and 780 deletions

View file

@ -20,4 +20,73 @@ The RSS elements are stored in the class variable `items[]`.
Every RSS element is an instance of the `Item` class.
##The `loadMetadatas` function
This function is the one used by rss-bridge core to determine the name, maintainer name, website, last updated date... of the bridge, and the user parameters.
### Basic metadatas.
The basic metadatas are the following :
```PHP
$this->maintainer
$this->name
$this->uri
$this->description
$this->update
```
The default values are the following :
```PHP
$this->name = "Unnamed bridge";
$this->uri = "";
$this->description = 'No description provided';
$this->maintainer = 'No maintainer';
```
### Parameters
Parameters use a JSON-like format, which is parsed and transformed to HTML `<form>` by rss-bridge.
These datas goes into the `$this->parameters` array, which is not mandatory if your bridge doesn't take any parameter.
Every possible usage of a bridge is an array element.
The array can be a key-based array, but it is not necessary. The following syntaxes are hereby correct :
```PHP
$this->parameters[] = ...
$this->parameters['First usage of my bridge'] = ...
```
### Format specifications
Every `$this->parameters` element is a JSON array (`[ ... ]`) containing every input.
It needs the following elements to be setted :
* name, the input name as displayed to the user
* identifier, which will be the key in the `$param` array for the corresponding data.
Hence, the most basic parameter definition is the following:
```PHP
$this->parameters =
'[
{
"name" : "Username",
"identifier" : "u"
}
]';
```
####Optional parameters
Here is a list of optional parameters for the input :
Parameter Name | Parameter values | Description
---------------|------------------|------------
type|text, number, list, checkbox| Type of the input, default is text
required| true | Set this if you want your attribute to be required
values| [ {"name" : option1Name, "value" : "option1Value"}, ...] | Values list, required with the 'list' type

View file

@ -1,17 +1,19 @@
<?php
/**
*
* @name Allo Cine : Faux Raccord
* @homepage http://www.allocine.fr/video/programme-12284/saison-24580/
* @description Allo Cine : Faux Raccord
* @update 07/11/2013
* initial maintainer: superbaillot.net
*/
class AllocineFRBridge extends BridgeAbstract{
private $_URL = "http://www.allocine.fr/video/programme-12284/saison-24580/";
private $_NOM = "Faux Raccord";
public function loadMetadatas() {
$this->maintainer = "superbaillot.net";
$this->name = "Allo Cine : Faux Raccord";
$this->uri = "http://www.allocine.fr/video/programme-12284/saison-24580/";
$this->description = "Allo Cine : Faux Raccord";
$this->update = "07/11/2013";
}
public function collectData(array $param){
$html = file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);

View file

@ -1,17 +1,19 @@
<?php
/**
*
* @name Allo Cine : Top 5
* @homepage http://www.allocine.fr/video/programme-12299/saison-22542/
* @description Allo Cine : Top 5 via rss-bridge
* @update 07/11/2013
* initial maintainer: superbaillot.net
*/
class AllocineT5Bridge extends BridgeAbstract{
private $_URL = "http://www.allocine.fr/video/programme-12299/saison-22542/";
private $_NOM = "Top 5";
public function loadMetadatas() {
$this->maintainer = "superbaillot.net";
$this->name = "Allo Cine : Top 5";
$this->uri = "http://www.allocine.fr/video/programme-12299/saison-22542/";
$this->description = "Allo Cine : Top 5 via rss-bridge";
$this->update = "07/11/2013";
}
public function collectData(array $param){
$html = file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);

View file

@ -1,17 +1,19 @@
<?php
/**
*
* @name Allo Cine : Tueurs En Serie
* @homepage http://www.allocine.fr/video/programme-12286/saison-22938/
* @description Allo Cine : Tueurs En Serie
* @update 12/11/2013
* initial maintainer: superbaillot.net
*/
class AllocineTueursEnSerieBridge extends BridgeAbstract{
private $_URL = "http://www.allocine.fr/video/programme-12286/saison-22938/";
private $_NOM = "Tueurs en Séries";
public function loadMetadatas() {
$this->maintainer = "superbaillot.net";
$this->name = "Allo Cine : Tueurs En Serie";
$this->uri = "http://www.allocine.fr/video/programme-12286/saison-22938/";
$this->description = "Allo Cine : Tueurs En Serie";
$this->update = "12/11/2013";
}
public function collectData(array $param){
$html = file_get_html($this->_URL) or $this->returnError('Could not request Allo cine.', 404);

View file

@ -14,6 +14,45 @@ class AnimeUltimeBridge extends BridgeAbstract {
private $filter = 'Releases';
public function loadMetadatas() {
$this->maintainer = "ORelio";
$this->name = "Anime-Ultime";
$this->uri = "http://www.anime-ultime.net/";
$this->description = "Returns the 10 newest releases posted on Anime-Ultime";
$this->update = "2015-10-30";
$this->parameters[] =
'[
{
"name" : "Type",
"type" : "list",
"identifier" : "type",
"values" : [
{
"name" : "everything",
"value" : ""
},
{
"name" : "Anime",
"value" : "A"
},
{
"name" : "Drama",
"value" : "D"
},
{
"name" : "Tokusatsu",
"value" : "T"
}
]
}
]';
}
public function collectData(array $param) {
//Add type filter if provided

View file

@ -1,15 +1,4 @@
<?php
/**
* RssBridgeArte7
*
* @name Arte +7
* @homepage http://www.arte.tv/
* @description Returns newest videos from ARTE +7
* @maintainer mitsukarenai
* @update 2015-10-31
* @use1(list|catfr="Toutes les vidéos (français)=>toutes-les-videos;Actu & société=>actu-société;Séries & fiction=>séries-fiction;Cinéma=>cinéma;Arts & spectacles classiques=>arts-spectacles-classiques;Culture pop=>culture-pop;Découverte=>découverte;Histoire=>histoire;Junior=>junior")
* @use2(list|catde="Alle Videos (deutsch)=>alle-videos;Aktuelles & Gesellschaft=>aktuelles-gesellschaft;Fernsehfilme & Serien=>fernsehfilme-serien;Kino=>kino;Kunst & Kultur=>kunst-kultur;Popkultur & Alternativ=>popkultur-alternativ;Entdeckung=>entdeckung;Geschichte=>geschichte;Junior=>junior")
*/
class Arte7Bridge extends BridgeAbstract{
public function loadMetadatas() {
@ -41,6 +30,26 @@ class Arte7Bridge extends BridgeAbstract{
{
"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"
}
]
@ -49,6 +58,55 @@ class Arte7Bridge extends BridgeAbstract{
}
]';
$this->parameters["Catégorie (Allemand)"] =
'[
{
"type" : "list",
"identifier" : "catde",
"name" : "Catégorie",
"values" : [
{
"name" : "Alle Videos (deutsch)",
"value" : "alle-videos"
},
{
"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

@ -1,18 +1,27 @@
<?php
/**
* BandcampTagRSS
* 2014-05-25
*
* @name Bandcamp Tag
* @homepage http://bandcamp.com/
* @description New bandcamp release by tag
* @maintainer sebsauvage
* @use1(tag="tag")
*/
class BandcampBridge extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "sebsauvage";
$this->name = "Bandcamp Tag";
$this->uri = "http://bandcamp.com/";
$this->description = "New bandcamp release by tag";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "tag",
"type" : "text",
"identifier" : "tag"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['tag'])) {

View file

@ -1,17 +1,35 @@
<?php
/**
* RssBridgeBooruproject
* Returns images from given page
*
* @name Booruproject
* @homepage http://booru.org/
* @description Returns images from given page and booruproject instance (****.booru.org)
* @maintainer mitsukarenai
* @update 2015-09-12
* @use1(i="instance (required)", p="page", t="tags")
*/
class BooruprojectBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Booruproject";
$this->uri = "http://booru.org/";
$this->description = "Returns images from given page and booruproject instance (****.booru.org)";
$this->update = "2015-09-12";
$this->parameters[] =
'[
{
"name" : "instance (required)",
"required" : "true",
"identifier" : "i"
},
{
"name" : "page",
"identifier" : "p"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0; $tags = '';
if (!empty($param['p'])) {

View file

@ -1,20 +1,25 @@
<?php
/**
* CNET Bridge
* Returns the newest articles
* 2015-09-08
*
* @name CNET News
* @homepage http://www.cnet.com/
* @description Returns the newest articles. <br /> You may specify a topic, else all topics are selected.
* @maintainer ORelio
* @update 2015-09-10
* @use1(topic="Topic name")
*/
class CNETBridge extends BridgeAbstract {
private $topicName = '';
public function loadMetadatas() {
$this->maintainer = "ORelio";
$this->name = "CNET News";
$this->uri = "http://www.cnet.com/";
$this->description = "Returns the newest articles. <br /> You may specify a topic, else all topics are selected.";
$this->update = "2015-09-10";
$this->parameters[] =
'[
{
"name" : "Topic name",
"identifier" : "topic"
}
]';
}
public function collectData(array $param) {
function ExtractFromDelimiters($string, $start, $end) {

View file

@ -1,16 +1,4 @@
<?php
/**
* RssBridgeCpasBien
*
* 2015-05-17
*
* @name Cpasbien Bridge
* @homepage http://Cpasbien.pw/
* @description Returns latest torrent from request query
* @maintainer lagaisse
* @use1(q="keywords like this")
*/
// simple_html_dom funtion to get the dom from contents instead from file
function content_get_html($contents, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
{
@ -30,6 +18,25 @@ class CpasbienBridge extends HttpCachingBridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "lagaisse";
$this->name = "Cpasbien Bridge";
$this->uri = "http://Cpasbien.pw/";
$this->description = "Returns latest torrent from request query";
$this->update = "2015-05-17";
$this->parameters[] =
'[
{
"name" : "keyword",
"identifier" : "q"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['q'])) { /* keyword search mode */

View file

@ -13,6 +13,26 @@
*/
class CryptomeBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "BoboTiG";
$this->name = "Cryptome";
$this->uri = "http://cryptome.org/";
$this->description = "Returns the N most recent documents.";
$this->update = "";
$this->parameters[] =
'[
{
"name" : "number of elements",
"identifier" : "n",
"type" : "number",
"exampleValue" : "10"
}
]';
}
public function collectData(array $param){
$html = '';
$num = 20;

View file

@ -1,22 +1,48 @@
<?php
/**
* RssBridgeDailymotion
* Returns the newest videos
*
* @name Dailymotion Bridge
* @homepage https://www.dailymotion.com/
* @description Returns the 5 newest videos by username/playlist or search
* @maintainer mitsukarenai
* @update 2014-11-18
* @use1(u="username")
* @use2(p="playlist id")
* @use3(s="search keyword",pa="page")
*
*/
class DailymotionBridge extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Dailymotion Bridge";
$this->uri = "https://www.dailymotion.com/";
$this->description = "Returns the 5 newest videos by username/playlist or search";
$this->update = "2014-11-18";
$this->parameters["By username"] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
$this->parameters["By playlist id"] =
'[
{
"name" : "playlist id",
"identifier" : "p",
"type" : "number"
}
]';
$this->parameters["From search results"] =
'[
{
"name" : "Search keyword",
"identifier" : "s"
},
{
"name" : "Page",
"identifier" : "pa",
"type" : "number"
}
]';
}
public function collectData(array $param){
function getMetadata($id) {

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeDanbooru
* Returns images from given page
* 2014-05-25
*
* @name Danbooru
* @homepage http://donmai.us/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page", t="tags")
*/
class DanbooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Danbooru";
$this->uri = "http://donmai.us/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 1;$tags='';
if (isset($param['p'])) {

View file

@ -1,13 +1,88 @@
<?php
/**
* @name DauphineLibereBridge Bridge
* @homepage http://www.ledauphine.com/
* @description Returns the newest articles.
* @maintainer qwertygc
* @use1(list|u="À la une=>;France Monde=>france-monde;Faits Divers=>faits-divers;Économie et Finance =>economie-et-finance;Politique=>politique;Sport=>sport;Ain=>ain;Alpes-de-Haute-Provence=>haute-provence;Hautes-Alpes=>hautes-alpes;Ardèche=>ardeche;Drôme=>drome;Isère Sud=>isere-sud;Isère Nord=>isere-nord;Savoie=>savoie;Haute-Savoie=>haute-savoie;Vaucluse=>vaucluse")
*/
class DauphineLibereBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "qwertygc";
$this->name = "DauphineLibereBridge Bridge";
$this->uri = "http://www.ledauphine.com/";
$this->description = "Returns the newest articles.";
$this->update = "05/11/2015";
$this->parameters[] =
'[
{
"name" : "Catégorie de l\'article",
"identifier" : "u",
"type" : "list",
"values" : [
{
"name" : "À la une",
"value" : ""
},
{
"name" : "France Monde",
"value" : "france-monde"
},
{
"name" : "Faits Divers",
"value" : "faits-divers"
},
{
"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"
}
]
}
]';
}
public function collectData(array $param){

View file

@ -1,17 +1,29 @@
<?php
/**
* RssBridgeDollbooru
* Returns images from given page
* 2015-01-20
*
* @name Dollbooru
* @homepage http://dollbooru.org/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page", t="tags")
*/
class DollbooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Dollbooru";
$this->uri = "http://dollbooru.org/";
$this->description = "Returns images from given page";
$this->update = "2015-01-20";
$this->parameters[] =
'[
{
"name" : "page",
"type" : "number",
"identifier" : "p"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,18 +1,23 @@
<?php
/**
* RssBridgeDuckDuckGo
* Search DuckDuckGo for most recent pages regarding a specific topic.
* Returns the most recent links in results, sorting by date (most recent first).
* 2014-05-25
*
* @name DuckDuckGo
* @homepage https://duckduckgo.com/
* @description Returns most recent results from DuckDuckGo.
* @maintainer Astalaseven
* @use1(u="keyword")
*/
class DuckDuckGoBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "Astalaseven";
$this->name = "DuckDuckGo";
$this->uri = "https://duckduckgo.com/";
$this->description = "Returns most recent results from DuckDuckGo.";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "keyword",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
$link = 'http://duckduckgo.com/html/?q='.$param[u].'+sort:date';

View file

@ -1,19 +1,25 @@
<?php
/**
* RssBridgeEZTV
* Monitor torrent for shows on EZTV
* 2015-01-20
*
* @name EZTV
* @homepage https://eztv.ch/
* @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.
* @maintainer alexAubin
* @update 2014-01-20
* @use1(i="showID1,showID2,...")
*/
class EZTVBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "alexAubin";
$this->name = "EZTV";
$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->update = "2014-01-20";
$this->parameters[] =
'[
{
"name" : "Show ids",
"identifier" : "i",
"exampleValue" : "showID1,showID2,..."
}
]';
}
public function collectData(array $param){
// Make timestamp from relative released time in table

View file

@ -1,15 +1,22 @@
<?php
/**
* @name Facebook
* @homepage http://facebook.com/
* @description Input a page title or a profile log. For a profile log, please insert the parameter as follow : myExamplePage/132621766841117
* @update 23/10/2015
* @maintainer teromene
* @use1(u="username")
*/
class FacebookBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "teromene";
$this->name = "Facebook";
$this->uri = "http://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->update = "23/10/2015";
$this->parameters[] =
'[
{
"name" : "Username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeFlickrExplore
* Returns the newest interesting images from http://www.flickr.com/explore
* 2014-05-25
*
* @name Flickr Explore
* @homepage http://www.flickr.com/explore
* @description Returns the latest interesting images from Flickr
* @maintainer sebsauvage
*/
class FlickrExploreBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "sebsauvage";
$this->name = "Flickr Explore";
$this->uri = "http://www.flickr.com/explore";
$this->description = "Returns the latest interesting images from Flickr";
$this->update = "2014-05-25";
}
public function collectData(array $param){
$html = file_get_html('http://www.flickr.com/explore') or $this->returnError('Could not request Flickr.', 404);

View file

@ -1,18 +1,31 @@
<?php
/**
* RssBridgeFlickrTagUser
* Returns the tagged images from http://www.flickr.com/
* 2014-05-26
*
* @name Flickr TagUser
* @homepage http://www.flickr.com/
* @description Returns the tagged or user images from Flickr
* @maintainer erwang
* @use1(q="keyword")
* @use2(u="username")
*/
class FlickrTagBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "erwang";
$this->name = "Flickr TagUser";
$this->uri = "http://www.flickr.com/";
$this->description = "Returns the tagged or user images from Flickr";
$this->update = "2014-05-26";
$this->parameters["By keyword"] =
'[
{
"name" : "Keyword",
"identifier" : "q"
}
]';
$this->parameters["By username"] =
'[
{
"name" : "Username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = file_get_html('http://www.flickr.com/search/?q=vendee&s=rec') or $this->returnError('Could not request Flickr.', 404);
if (isset($param['q'])) { /* keyword search mode */

View file

@ -1,16 +1,24 @@
<?php
/**
* RssBridge4chan
* @name 4chan
* @homepage https://www.4chan.org/
* @description Returns posts from the specified thread
* @maintainer mitsukarenai
* @update 2015-02-01
* @use1(t="Thread URL")
*/
class FourchanBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "4chan";
$this->uri = "https://www.4chan.org/";
$this->description = "Returns posts from the specified thread";
$this->update = "2015-02-01";
$this->parameters[] =
'[
{
"name" : "Thread URL",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
if (!isset($param['t']))

View file

@ -1,14 +1,25 @@
<?php
/**
*
* @name Freenews
* @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.
* @update 26/03/2014
* @use1(id="Id de la rubrique (sans le '-')")
*/
require_once 'bridges/RssExpander.php';
define("RSS", 'http://feeds.feedburner.com/Freenews-Freebox?format=xml');
class Freenews extends RssExpander {
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Freenews";
$this->uri = "http://freenews.fr";
$this->description = "Un site d'actualité pour les freenautes (mais ne parlant pas que de la freebox). Ne rentrez pas d'id si vous voulez accéder aux actualités générales.";
$this->update = "26/03/2014";
$this->parameters[] =
'[
{
"name" : "Id de la rubrique (sans le \'-\')",
"identifier" : "id"
}
]';
}
public function collectData(array $param){
$param['url'] = RSS;
parent::collectData($param);

View file

@ -1,16 +1,27 @@
<?php
/**
*
* @name Gawker media
* @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
* @update 27/03/2014
* @use1(site="site id to put in uri between feeds.gawker.com and /full .. which is obviously not full AT ALL")
*/
require_once 'bridges/RssExpander.php';
define("RSS_PREFIX", "http://feeds.gawker.com/");
define("RSS_SUFFIX", "/full");
class Gawker extends RssExpander{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Gawker media";
$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->update = "27/03/2014";
$this->parameters[] =
'[
{
"name" : "site id to put in uri between feeds.gawker.com and /full .. which is obviously not full AT ALL",
"identifier" : "site"
}
]';
}
private function toURI($name) {
return RSS_PREFIX.$name.RSS_SUFFIX;
}

View file

@ -1,17 +1,29 @@
<?php
/**
* RssBridgeGelbooru
* Returns images from given page
* 2014-05-25
*
* @name Gelbooru
* @homepage http://gelbooru.com/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page", t="tags")
*/
class GelbooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Gelbooru";
$this->uri = "http://gelbooru.com/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;
if (isset($param['p'])) {

View file

@ -1,21 +1,34 @@
<?php
/**
* RssBridgeGiphy
* Based on https://github.com/mitsukarenai/twitterbridge-noapi
* 2014-12-05
*
* @name Giphy Bridge
* @homepage http://giphy.com/
* @description Bridge for giphy.com
* @maintainer kraoc
* @use1(s="search tag")
* @use2(n="max number of returned items")
*/
define('GIPHY_LIMIT', 10);
class GiphyBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "kraoc";
$this->name = "Giphy Bridge";
$this->uri = "http://giphy.com/";
$this->description = "Bridge for giphy.com";
$this->update = "2014-12-05";
$this->parameters["By tag"] =
'[
{
"name" : "search tag",
"identifier" : "s"
}
]';
$this->parameters["Without tag"] =
'[
{
"name" : "max number of returned items",
"type" : "number",
"identifier" : "n"
}
]';
}
public function collectData(array $param){
$html = '';
$base_url = 'http://giphy.com';

View file

@ -1,21 +1,27 @@
<?php
/**
* Google Plus Post Bridge
* Freely inspired by tweeter bridge
* 2014-07-20
*
* @name Google Plus Post Bridge
* @homepage http://plus.google.com/
* @description Returns user public post (without API).
* @maintainer Grummfy
* @use1(username="usernameOrId")
*/
class GooglePlusPostBridge extends BridgeAbstract
{
protected $_title;
protected $_url;
public function loadMetadatas() {
$this->maintainer = "Grummfy";
$this->name = "Google Plus Post Bridge";
$this->uri = "http://plus.google.com/";
$this->description = "Returns user public post (without API).";
$this->update = "2014-07-20";
$this->parameters[] =
'[
{
"name" : "username or Id",
"identifier" : "username"
}
]';
}
const GOOGLE_PLUS_BASE_URL = 'https://plus.google.com/';
public function collectData(array $param)

View file

@ -1,25 +1,35 @@
<?php
/**
* RssBridgeGoogleMostRecent
* Search Google for most recent pages regarding a specific topic.
* Returns the 100 most recent links in results in past year, sorting by date (most recent first).
* Example:
* http://www.google.com/search?q=sebsauvage&num=100&complete=0&tbs=qdr:y,sbd:1
* complete=0&num=100 : get 100 results
* qdr:y : in past year
* sbd:1 : sort by date (will only work if qdr: is specified)
* 2014-05-25
*
* @name Google search
* @homepage https://www.google.com/
* @description Returns most recent results from Google search.
* @maintainer sebsauvage
* @use1(q="keyword")
*/
class GoogleSearchBridge extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "sebsauvage";
$this->name = "Google search";
$this->uri = "https://www.google.com/";
$this->description = "Returns most recent results from Google search.";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "keyword",
"identifier" : "q"
}
]';
}
public function collectData(array $param){
$html = '';

View file

@ -1,20 +1,35 @@
<?php
/**
* HDWallpapersBridge
* Returns the latests wallpapers from http://www.hdwallpapers.in
*
* @name HD Wallpapers Bridge
* @homepage http://www.hdwallpapers.in/
* @description Returns the latests wallpapers from HDWallpapers
* @maintainer nel50n
* @update 2015-04-08
* @use1(c="category",m="max number of wallpapers",r="resolution (1920x1200, 1680x1050, ...)")
*/
class HDWallpapersBridge extends BridgeAbstract {
private $category;
private $resolution;
public function loadMetadatas() {
$this->maintainer = "nel50n";
$this->name = "HD Wallpapers Bridge";
$this->uri = "http://www.hdwallpapers.in/";
$this->description = "Returns the latests wallpapers from HDWallpapers";
$this->update = "2015-04-08";
$this->parameters[] =
'[
{
"name" : "category",
"identifier" : "c"
},
{
"name" : "max number of wallpapers",
"identifier" : "m"
},
{
"name" : "resolution",
"identifier" : "r",
"exampleValue" : "1920x1200, 1680x1050, ..."
}
]';
}
public function collectData(array $param){
$html = '';
$baseUri = 'http://www.hdwallpapers.in';

View file

@ -1,18 +1,26 @@
<?php
/**
* RssBridgeIdentica
* 2014-05-25
*
* @name Identica Bridge
* @homepage https://identi.ca/
* @description Returns user timelines
* @maintainer mitsukarenai
* @use1(u="username")
*/
class IdenticaBridge extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Identica Bridge";
$this->uri = "https://identi.ca/";
$this->description = "Returns user timelines";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['u'])) { /* user timeline mode */

View file

@ -1,19 +1,26 @@
<?php
/**
* RssBridgeInstagram
* Returns the newest photos
* 2014-05-25
*
* @name Instagram Bridge
* @homepage http://instagram.com/
* @description Returns the newest images
* @maintainer pauder
* @use1(u="username")
*/
class InstagramBridge extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "pauder";
$this->name = "Instagram Bridge";
$this->uri = "http://instagram.com/";
$this->description = "Returns the newest images";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['u'])) { /* user timeline mode */

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeKonachan
* Returns images from given page
* 2014-05-25
*
* @name Konachan
* @homepage http://konachan.com/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class KonachanBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Konachan";
$this->uri = "http://konachan.com/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 1;$tags='';
if (isset($param['p'])) {

View file

@ -14,6 +14,136 @@
class LeBonCoinBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "16mhz";
$this->name = "LeBonCoin";
$this->uri = "http://www.leboncoin.fr";
$this->description = "Returns most recent results from LeBonCoin for a region and a keyword.";
$this->update = "2015-10-30";
$this->parameters[] =
'[
{
"name" : "Keyword",
"identifier" : "k"
},
{
"name" : "Région",
"identifier" : "r",
"type" : "list",
"values" : [
{
"name" : "Alsace",
"value" : "alsace"
},
{
"name" : "Aquitaine",
"value" : "aquitaine"
},
{
"name" : "Auvergne",
"value" : "auvergne"
},
{
"name" : "Basse Normandie",
"value" : "basse_normandie"
},
{
"name" : "Bourgogne",
"value" : "bourgogne"
},
{
"name" : "Bretagne",
"value" : "bretagne"
},
{
"name" : "Centre",
"value" : "centre"
},
{
"name" : "Champagne Ardenne",
"value" : "champagne_ardenne"
},
{
"name" : "Corse",
"value" : "corse"
},
{
"name" : "Franche Comté",
"value" : "franche_comte"
},
{
"name" : "Haute Normandie",
"value" : "haute_normandie"
},
{
"name" : "Ile de France",
"value" : "ile_de_france"
},
{
"name" : "Languedoc Roussillon",
"value" : "languedoc_roussillon"
},
{
"name" : "Limousin",
"value" : "limousin"
},
{
"name" : "Lorraine",
"value" : "lorraine"
},
{
"name" : "Midi Pyrénées",
"value" : "midi_pyrenees"
},
{
"name" : "Nord Pas De Calais",
"value" : "nord_pas_de_calais"
},
{
"name" : "Pays de la Loire",
"value" : "pays_de_la_loire"
},
{
"name" : "Picardie",
"value" : "picardie"
},
{
"name" : "Poitou Charentes",
"value" : "poitou_charentes"
},
{
"name" : "Provence Alpes Côte d\'Azur",
"value" : "provence_alpes_cote_d_azur"
},
{
"name" : "Rhône-Alpes",
"value" : "rhone_alpes"
},
{
"name" : "Guadeloupe",
"value" : "guadeloupe"
},
{
"name" : "Martinique",
"value" : "martinique"
},
{
"name" : "Guyane",
"value" : "guyane"
},
{
"name" : "Réunion",
"value" : "reunion"
}
]
}
]';
}
public function collectData(array $param){
$html = '';

View file

@ -1,17 +1,29 @@
<?php
/**
* RssBridgeLolibooru
* Returns images from given page and tags
*
* @name Lolibooru
* @homepage http://lolibooru.moe/
* @description Returns images from given page and tags
* @maintainer mitsukarenai
* @update 2015-03-21
* @use1(p="page", t="tags")
*/
class LolibooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Lolibooru";
$this->uri = "http://lolibooru.moe/";
$this->description = "Returns images from given page and tags";
$this->update = "2015-03-21";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 1; $tags = '';
if (isset($param['p'])) {

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeMilbooru
* Returns images from given page
* 2014-05-25
*
* @name Milbooru
* @homepage http://sheslostcontrol.net/moe/shimmie/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class MilbooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Milbooru";
$this->uri = "http://sheslostcontrol.net/moe/shimmie/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -12,6 +12,29 @@
*/
class MspabooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Mspabooru";
$this->uri = "http://mspabooru.com/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,18 +1,64 @@
<?php
/**
* RssBridgeOpenClassrooms
* Retrieve lastest tutorials from OpenClassrooms.
* Returns the most recent tutorials, sorting by date (most recent first).
*
* @name OpenClassrooms Bridge
* @homepage https://openclassrooms.com/
* @description Returns latest tutorials from OpenClassrooms.
* @maintainer sebsauvage
* @update 2015-10-30
* @use1(list|u="Arts & Culture=>arts;Code=>code;Design=>design;Entreprise=>business;Numérique=>digital;Sciences=>sciences;Sciences humaines=>humanities;Systèmes d'information=>it;Autres=>others")
*/
class OpenClassroomsBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "sebsauvage";
$this->name = "OpenClassrooms Bridge";
$this->uri = "https://openclassrooms.com/";
$this->description = "Returns latest tutorials from OpenClassrooms.";
$this->update = "2015-10-30";
$this->parameters[] =
'[
{
"name" : "Catégorie",
"identifier" : "u",
"type" : "list",
"values" : [
{
"name" : "Arts & Culture",
"value" : "arts"
},
{
"name" : "Code",
"value" : "code"
},
{
"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"
}
]
}
]';
}
public function collectData(array $param){
if (empty($param['u']))
{

View file

@ -1,19 +1,45 @@
<?php
/**
* RssBridge Paru Vendu Immo
* Retrieve lastest documents from http://www.paruvendu.fr/immobilier/.
*
* @name Paru Vendu Immobilier
* @homepage http://www.paruvendu.fr/immobilier/
* @description Returns the ads from the first page of search result.
* @maintainer polo2ro
* @update 2015-02-02
* @use1(minarea="Min surface m²",maxprice="Max price",pa="Country code (ex: FR)",lo="department numbers or postal codes, comma-separated")
*/
class ParuVenduImmoBridge extends BridgeAbstract
{
private $request = '';
public function loadMetadatas() {
$this->maintainer = "polo2ro";
$this->name = "Paru Vendu Immobilier";
$this->uri = "http://www.paruvendu.fr/immobilier/";
$this->description = "Returns the ads from the first page of search result.";
$this->update = "2015-02-02";
$this->parameters[] =
'[
{
"name": "Minimal surface m²",
"type" : "number",
"identifier" : "minarea"
},
{
"name" : "Max price",
"type" : "number",
"identifier" : "maxprice"
},
{
"name" : "Country code",
"type" : "text",
"identifier" : "pa",
"exampleValue" : "FR"
},
{
"name" : "department numbers or postal codes, comma-separated",
"type" : "text",
"identifier" : "lo"
}
]';
}
public function collectData(array $param)
{
$html = '';

View file

@ -1,21 +1,42 @@
<?php
/**
* PickyWallpapersBridge
* Returns the latests wallpapers from http://www.pickywallpapers.com
*
* @name PickyWallpapers Bridge
* @homepage http://www.pickywallpapers.com/
* @description Returns the latests wallpapers from PickyWallpapers
* @maintainer nel50n
* @update 2014-03-31
* @use1(c="category",s="subcategory",m="max number of wallpapers",r="resolution (1920x1200, 1680x1050, ...)")
*/
class PickyWallpapersBridge extends BridgeAbstract {
private $category;
private $subcategory;
private $resolution;
public function loadMetadatas() {
$this->maintainer = "nel50n";
$this->name = "PickyWallpapers Bridge";
$this->uri = "http://www.pickywallpapers.com/";
$this->description = "Returns the latests wallpapers from PickyWallpapers";
$this->update = "2014-03-31";
$this->parameters[] =
'[
{
"name" : "Category",
"identifier" : "c"
},
{
"name" : "subcategory",
"identifier" : "s"
},
{
"name" : "Max number of wallpapers",
"identifier" : "m",
"type" : "number"
},
{
"name" : "resolution",
"identifier" : "r",
"exampleValue" : "1920x1200, 1680x1050, ..."
}
]';
}
public function collectData(array $param){
$html = '';
if (!isset($param['c'])) {

View file

@ -1,22 +1,40 @@
<?php
/**
* RssBridgePinterest
* Returns the newest photos on a board
* 2014-05-25
*
* @name Pinterest Bridge
* @homepage http://www.pinterest.com/
* @description Returns the newest images on a board
* @maintainer pauder
* @use1(u="username",b="board")
* @use2(q="keyword")
*/
class PinterestBridge extends BridgeAbstract{
private $username;
private $board;
private $query;
public function loadMetadatas() {
$this->maintainer = "pauder";
$this->name = "Pinterest Bridge";
$this->uri = "http://www.pinterest.com/";
$this->description = "Returns the newest images on a board";
$this->update = "2014-05-25";
$this->parameters["By username and board"] =
'[
{
"name" : "username",
"identifier" : "u"
},
{
"name" : "board",
"identifier" : "b"
}
]';
$this->parameters["From search"] =
'[
{
"name" : "Keyword",
"identifier" : "q"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['u']) || isset($param['b'])) {

View file

@ -1,15 +1,16 @@
<?php
/**
* RssBridgeRaymond
* Returns the 3 newest posts from Raymond.cc (full text)
*
* @name Raymond
* @homepage http://www.raymond.cc
* @description Returns the 3 newest posts from Raymond.cc (full text)
* @maintainer pit-fgfjiudghdf
* @update 2014-05-26
*/
class RaymondBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "pit-fgfjiudghdf";
$this->name = "Raymond";
$this->uri = "http://www.raymond.cc";
$this->description = "Returns the 3 newest posts from Raymond.cc (full text)";
$this->update = "2014-05-26";
}
public function collectData(array $param){
function raymondStripCDATA($string) {
$string = str_replace('<![CDATA[', '', $string);

View file

@ -1,17 +1,16 @@
<?php
/**
* 3DS Scene Releases
* Returns the newest releases
* 2015-09-08
*
* @name 3DS Scene Releases
* @homepage http://www.3dsdb.com/
* @description Returns the newest scene releases.
* @maintainer ORelio
* @update 2015-09-17
*/
class Releases3DSBridge extends BridgeAbstract {
public function loadMetadatas() {
$this->maintainer = "ORelio";
$this->name = "3DS Scene Releases";
$this->uri = "http://www.3dsdb.com/";
$this->description = "Returns the newest scene releases.";
$this->update = "2015-09-17";
}
public function collectData(array $param) {
function ExtractFromDelimiters($string, $start, $end) {

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeReporterre
* Returns the newest article
* 2015-04-07
*
* @name Reporterre Bridge
* @homepage http://www.reporterre.net/
* @description Returns the newest articles.
* @maintainer nyutag
*/
class ReporterreBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "nyutag";
$this->name = "Reporterre Bridge";
$this->uri = "http://www.reporterre.net/";
$this->description = "Returns the newest articles.";
$this->update = "2015-04-07";
}
public function collectData(array $param){
function ExtractContentReporterre($url) {

View file

@ -1,15 +1,16 @@
<?php
/**
* RssBridgeRue89
* Returns the 5 newest posts from http://rue89.nouvelobs.com/ (full text)
*
* @name Rue89
* @homepage http://rue89.nouvelobs.com/
* @description Returns the 5 newest posts from Rue89 (full text)
* @update 2015-01-30
* @maintainer pit-fgfjiudghdf
*/
class Rue89Bridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "pit-fgfjiudghdf";
$this->name = "Rue89";
$this->uri = "http://rue89.nouvelobs.com/";
$this->description = "Returns the 5 newest posts from Rue89 (full text)";
$this->update = "2015-01-30";
}
public function collectData(array $param){
function Rue89StripCDATA($string) {
$string = str_replace('<![CDATA[', '', $string);

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeRule34
* Returns images from given page
* 2014-05-25
*
* @name Rule34
* @homepage http://rule34.xxx/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class Rule34Bridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Rule34";
$this->uri = "http://rule34.xxx/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,17 +1,29 @@
<?php
/**
* RssBridgeRule34paheal
* Returns images from given page
* 2014-05-25
*
* @name Rule34paheal
* @homepage http://rule34.paheal.net/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t='tags")
*/
class Rule34pahealBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Rule34paheal";
$this->uri = "http://rule34.paheal.net/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,17 +1,29 @@
<?php
/**
* RssBridgeSafebooru
* Returns images from given page
* 2014-05-25
*
* @name Safebooru
* @homepage http://safebooru.org/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class SafebooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Safebooru";
$this->uri = "http://safebooru.org/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeSakugabooru
* Returns images from given page
* 2014-05-25
*
* @name Sakugabooru
* @homepage http://sakuga.yshi.org/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class SakugabooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Sakugabooru";
$this->uri = "http://sakuga.yshi.org/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 1;$tags='';
if (isset($param['p'])) {

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeScilogs
* Returns the newest articles
* 2014-05-25
*
* @name Scilogs Bridge
* @homepage http://www.scilogs.fr/
* @description Returns the newest articles.
* @maintainer qwertygc
*/
class ScilogsBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "qwertygc";
$this->name = "Scilogs Bridge";
$this->uri = "http://www.scilogs.fr/";
$this->description = "Returns the newest articles.";
$this->update = "2014-05-25";
}
public function collectData(array $param){
function ScilogsStripCDATA($string) {

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeSeCoucherMoinsBete
* Returns the newest anecdotes
* 2014-05-25
*
* @name Se Coucher Moins Bête Bridge
* @homepage http://secouchermoinsbete.fr/
* @description Returns the newest anecdotes.
* @maintainer Astalaseven
*/
class ScmbBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "Astalaseven";
$this->name = "Se Coucher Moins Bête Bridge";
$this->uri = "http://secouchermoinsbete.fr/";
$this->description = "Returns the newest anecdotes.";
$this->update = "2014-05-25";
}
public function collectData(array $param){
$html = '';
$html = file_get_html('http://secouchermoinsbete.fr/') or $this->returnError('Could not request Se Coucher Moins Bete.', 404);

View file

@ -1,18 +1,24 @@
<?php
/**
* RssBridgeScoopIt
* Search DScoopIt for most recent pages regarding a specific topic.
* Returns the most recent links in results, sorting by date (most recent first).
* 2014-06-13
*
* @name ScoopIt
* @homepage http://www.scoop.it
* @description Returns most recent results from ScoopIt.
* @maintainer Pitchoule
* @use1(u="keyword")
*/
class ScoopItBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "Pitchoule";
$this->name = "ScoopIt";
$this->uri = "http://www.scoop.it";
$this->description = "Returns most recent results from ScoopIt.";
$this->update = "2014-06-13";
$this->parameters[] =
'[
{
"name" : "keyword",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if ($param['u'] != '') {

View file

@ -1,16 +1,15 @@
<?php
/**
* @name SegfaultMint
* @homepage http://segfault.linuxmint.com/
* @description Returns the 5 newest posts from SegfaultMint (full text)
* @maintainer qwertygc
* @update 2014-07-05
*/
class SegfaultMintBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "qwertygc";
$this->name = "SegfaultMint";
$this->uri = "http://segfault.linuxmint.com/";
$this->description = "Returns the 5 newest posts from SegfaultMint (full text)";
$this->update = "2014-07-05";
}
public function collectData(array $param){

View file

@ -1,13 +1,17 @@
<?php
/**
* Unfortunatly, Sexactu do not provide a RSS stream, which prevents me from upgrading this to the mugnificent RssExpander framework
* @name Sexactu
* @description Sexactu via rss-bridge
* @update 04/02/2014
*/
define("GQ", "http://www.gqmagazine.fr");
class Sexactu extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "Riduidel";
$this->name = "Sexactu";
$this->uri = "http://www.gqmagazine.fr";
$this->description = "Sexactu via rss-bridge";
$this->update = "04/02/2014";
}
public function collectData(array $param){
$find = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'novembre', 'décembre');
$replace = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

View file

@ -1,17 +1,16 @@
<?php
/**
* Silicon Bridge
* Returns the newest articles
* 2015-09-08
*
* @name Silicon.fr
* @homepage http://www.silicon.fr/
* @description Returns the newest articles.
* @maintainer ORelio
* @update 2015-09-08
*/
class SiliconBridge extends BridgeAbstract {
public function loadMetadatas() {
$this->maintainer = "ORelio";
$this->name = "Silicon.fr";
$this->uri = "http://www.silicon.fr/";
$this->description = "Returns the newest articles.";
$this->update = "2015-09-08";
}
public function collectData(array $param) {
function StripCDATA($string) {

View file

@ -15,7 +15,26 @@ class SoundCloudBridge extends BridgeAbstract{
private $request;
public $name;
const CLIENT_ID = '0aca19eae3843844e4053c6d8fdb7875';
public function loadMetadatas() {
$this->maintainer = "kranack";
$this->name = "Soundcloud Bridge";
$this->uri = "http://www.soundcloud.com/";
$this->description = "Returns 10 newest music from user profile";
$this->update = "2015-09-08";
$this->parameters[] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
const CLIENT_ID = '0aca19eae3843844e4053c6d8fdb7875';
public function collectData(array $param){

View file

@ -1,20 +1,39 @@
<?php
/**
* SuperbWallpapersBridge
* Returns the latests wallpapers from http://www.superbwallpapers.com
*
* @name Superb Wallpapers Bridge
* @homepage http://www.superbwallpapers.com/
* @description Returns the latests wallpapers from SuperbWallpapers
* @maintainer nel50n
* @update 2015-04-08
* @use1(c="category",m="max number of wallpapers",r="resolution (1920x1200, 1680x1050, ...)")
*/
class SuperbWallpapersBridge extends BridgeAbstract {
private $category;
private $resolution;
public function loadMetadatas() {
$this->maintainer = "nel50n";
$this->name = "Superb Wallpapers Bridge";
$this->uri = "http://www.superbwallpapers.com/";
$this->description = "Returns the latests wallpapers from SuperbWallpapers";
$this->update = "2015-04-08";
$this->parameters[] =
'[
{
"name" : "Category",
"identifier" : "c"
},
{
"name" : "Max number of wallpapers",
"identifier" : "m",
"type" : "number"
},
{
"name" : "resolution",
"identifier" : "r",
"exampleValue" : "1920x1200, 1680x1050, ..."
}
]';
}
public function collectData(array $param){
$html = '';
$baseUri = 'http://www.superbwallpapers.com';

View file

@ -1,17 +1,24 @@
<?php
/**
* T411Bridge
* Returns 5 newest torrents with specified search criteria
*
* @name T411
* @homepage https://t411.in/
* @description Returns the 5 newest torrents with specified search terms <br /> Use url part after '?' mark when using their search engine
* @maintainer ORelio
* @update 2015-10-22
* @use1(search="search criteria")
*/
class T411Bridge extends BridgeAbstract {
public function loadMetadatas() {
$this->maintainer = "ORelio";
$this->name = "T411";
$this->uri = "https://t411.in/";
$this->description = "Returns the 5 newest torrents with specified search terms <br /> Use url part after '?' mark when using their search engine";
$this->update = "2015-10-22";
$this->parameters[] =
'[
{
"name" : "Search criteria",
"identifier" : "search"
}
]';
}
public function collectData(array $param) {
//Utility function for extracting CDATA fields

View file

@ -1,18 +1,24 @@
<?php
/**
* RssBridgeTagBoard
* Search TagBoard for most recent pages regarding a specific topic.
* Returns the most recent links in results, sorting by date (most recent first).
* 2014-09-10
*
* @name TagBoard
* @homepage http://www.TagBoard.com
* @description Returns most recent results from TagBoard.
* @maintainer Pitchoule
* @use1(u="keyword")
*/
class TagBoardBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "Pitchoule";
$this->name = "TagBoard";
$this->uri = "http://www.TagBoard.com";
$this->description = "Returns most recent results from TagBoard.";
$this->update = "2014-09-10";
$this->parameters[] =
'[
{
"name" : "keyword",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
$this->request = $param['u'];

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeTbib
* Returns images from given page
* 2014-05-25
*
* @name Tbib
* @homepage http://tbib.org/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class TbibBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Tbib";
$this->uri = "http://tbib.org/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,14 +1,16 @@
<?php
/**
*
* @name The Coding Love
* @homepage http://thecodinglove.com/
* @description The Coding Love
* @update 04/02/2015
* initial maintainer: superbaillot.net
*/
class TheCodingLoveBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "superbaillot.net";
$this->name = "The Coding Love";
$this->uri = "http://thecodinglove.com/";
$this->description = "The Coding Love";
$this->update = "04/02/2015";
}
public function collectData(array $param){
$html = file_get_html('http://thecodinglove.com/') or $this->returnError('Could not request The Coding Love.', 404);

View file

@ -1,18 +1,22 @@
<?php
/**
*
* @name The Oatmeal
* @homepage http://theoatmeal.com/
* @description Un petit site de dessins assez rigolos
* @update 2015-07-03
* @maintainer Riduidel
.
*/
require_once 'bridges/RssExpander.php';
define("THE_OATMEAL", "http://theoatmeal.com/");
define("THE_OATMEAL_RSS", "http://feeds.feedburner.com/oatmealfeed");
class TheOatmealBridge extends RssExpander{
public function loadMetadatas() {
$this->maintainer = "Riduidel";
$this->name = "The Oatmeal";
$this->uri = "http://theoatmeal.com/";
$this->description = "Un petit site de dessins assez rigolos";
$this->update = "2015-07-03";
}
public function collectData(array $param){
$param['url'] = THE_OATMEAL_RSS;
parent::collectData($param);

View file

@ -1,19 +1,24 @@
<?php
/**
* RssBridgeThePirateBay
* Returns results for the keywords. You can put several list of keywords by separating them with a semicolon (e.g. "one show;another show")
* 2014-05-25
*
* @name The Pirate Bay
* @homepage https://thepiratebay.vg/
* @description Returns results for the keywords. You can put several list of keywords by separating them with a semicolon (e.g. "one show;another show")
* @maintainer mitsukarenai
* @update 2014-05-26
* @use1(q="first list;second list;...")
*/
class ThePirateBayBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "The Pirate Bay";
$this->uri = "https://thepiratebay.vg/";
$this->description = "Returns results for the keywords. You can put several list of keywords by separating them with a semicolon (e.g. \"one show;another show\")";
$this->update = "2014-05-26";
$this->parameters[] =
'[
{
"name" : "keywords, separated by semicolons",
"identifier" : "q",
"exampleValue" : "first list;second list;..."
}
]';
}
public function collectData(array $param){
function parseDateTimestamp($element){

View file

@ -1,14 +1,16 @@
<?php
/**
*
* @name Tuxboard
* @homepage http://www.tuxboard.com/
* @description Tuxboard
* @update 2014-07-08
* initial maintainer: superbaillot.net
*/
class TuxboardBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "superbaillot.net";
$this->name = "Tuxboard";
$this->uri = "http://www.tuxboard.com/";
$this->description = "Tuxboard";
$this->update = "2014-07-08";
}
public function collectData(array $param){
function StripCDATA($string) {

View file

@ -23,6 +23,66 @@ class TwitchApiBridge extends BridgeAbstract{
// for use in the getName function!
private $channel;
public function loadMetadatas() {
$this->maintainer = "logmanoriginal";
$this->name = "Twitch API Bridge";
$this->uri = "http://www.twitch.tv";
$this->description = "Returns the newest broadcasts or highlights by channel name using the Twitch API (v3)";
$this->update = "2015-07-14";
$this->parameters["Get channel without limit"] =
'[
{
"name" : "Channel",
"identifier" : "channel"
},
{
"name" : "Broadcasts",
"identifier" : "broadcasts",
"type" : "list",
"values" : [
{
"name" : "Show broadcasts",
"value" : "true"
},
{
"name" : "Don\'t show broadcasts",
"value" : "false"
}
]
}
]';
$this->parameters["Get channel with limit"] =
'[
{
"name" : "Channel",
"identifier" : "channel"
},
{
"name" : "Limit",
"identifier" : "limit",
"type" : "number"
},
{
"name" : "Broadcasts",
"identifier" : "broadcasts",
"type" : "list",
"values" : [
{
"name" : "Show broadcasts",
"value" : "true"
},
{
"name" : "Don\'t show broadcasts",
"value" : "false"
}
]
}
]';
}
public function collectData(array $param){
/* In accordance with API description:

View file

@ -1,20 +1,35 @@
<?php
/**
* RssBridgeTwitter
* Based on https://github.com/mitsukarenai/twitterbridge-noapi
* 2014-05-25
*
* @name Twitter Bridge
* @homepage http://twitter.com/
* @description Returns user timelines or keyword/hashtag search results (without using their API).
* @maintainer mitsukarenai
* @use1(q="keyword or #hashtag")
* @use2(u="username")
*/
//Based on https://github.com/mitsukarenai/twitterbridge-noapi
class TwitterBridge extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Twitter Bridge";
$this->uri = "http://twitter.com/";
$this->description = "Returns user timelines or keyword/hashtag search results (without using their API).";
$this->update = "2014-05-25";
$this->parameters["By keyword or hashtag"] =
'[
{
"name" : "Keyword or #hashtag",
"identifier" : "q"
}
]';
$this->parameters["By username"] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['q'])) { /* keyword search mode */

View file

@ -1,20 +1,35 @@
<?php
/**
* RssBridgeTwitterClean
* Based on https://github.com/mitsukarenai/twitterbridge-noapi
*
* @name Twitter Bridge Clean
* @homepage http://twitter.com/
* @description Returns user timelines without username in title or search results for keywords/hashtags (without using their API).
* @maintainer vinzv
* @update 2015-03-07
* @use1(q="keyword or #hashtag")
* @use2(u="username")
*/
//Based on https://github.com/mitsukarenai/twitterbridge-noapi
class TwitterBridgeClean extends BridgeAbstract{
private $request;
public function loadMetadatas() {
$this->maintainer = "vinzv";
$this->name = "Twitter Bridge Clean";
$this->uri = "http://twitter.com/";
$this->description = "Returns user timelines without username in title or search results for keywords/hashtags (without using their API).";
$this->update = "2015-03-07";
$this->parameters["By keyword or hashtag"] =
'[
{
"name" : "Keyword or #hashtag",
"identifier" : "q"
}
]';
$this->parameters["By username"] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['q'])) { /* keyword search mode */

View file

@ -1,18 +1,32 @@
<?php
/**
* RssBridgeTwitter
* Based on https://github.com/mitsukarenai/twitterbridge-noapi
* 2014-05-25
*
* @name Twitter Bridge Extended
* @homepage https://twitter.com/
* @description (same as Twitter Bridge, but with avatar, replies and RTs)
* @maintainer mitsukarenai
* @use1(q="keyword or hashtag")
* @use2(u="username")
*/
class TwitterBridgeExtended extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Twitter Bridge Extended";
$this->uri = "https://twitter.com/";
$this->description = "(same as Twitter Bridge, but with avatar, replies and RTs)";
$this->update = "2014-05-25";
$this->parameters["By keyword or hashtag"] =
'[
{
"name" : "Keyword or #hashtag",
"identifier" : "q"
}
]';
$this->parameters["By username"] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['q'])) { /* keyword search mode */

View file

@ -1,19 +1,32 @@
<?php
/**
* RssBridgeTwitter
* Based on https://github.com/mitsukarenai/twitterbridge-noapi
* 2014-12-05
*
* @name Twitter Bridge Tweaked
* @homepage https://twitter.com/
* @description (same as Twitter Bridge Extended, but with cleaned title & content)
* @maintainer kraoc
* @use1(q="keyword or hashtag")
* @use2(u="username")
*/
class TwitterBridgeTweaked extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "kraoc";
$this->name = "Twitter Bridge Tweaked";
$this->uri = "https://twitter.com/";
$this->description = "(same as Twitter Bridge Extended, but with cleaned title & content)";
$this->update = "2014-12-05";
$this->parameters["By keyword or hashtag"] =
'[
{
"name" : "Keyword or #hashtag",
"identifier" : "q"
}
]';
$this->parameters["By username"] =
'[
{
"name" : "username",
"identifier" : "u"
}
]';
}
private function containsTLD($string) {
preg_match(
"/(AC($|\/)|\.AD($|\/)|\.AE($|\/)|\.AERO($|\/)|\.AF($|\/)|\.AG($|\/)|\.AI($|\/)|\.AL($|\/)|\.AM($|\/)|\.AN($|\/)|\.AO($|\/)|\.AQ($|\/)|\.AR($|\/)|\.ARPA($|\/)|\.AS($|\/)|\.ASIA($|\/)|\.AT($|\/)|\.AU($|\/)|\.AW($|\/)|\.AX($|\/)|\.AZ($|\/)|\.BA($|\/)|\.BB($|\/)|\.BD($|\/)|\.BE($|\/)|\.BF($|\/)|\.BG($|\/)|\.BH($|\/)|\.BI($|\/)|\.BIZ($|\/)|\.BJ($|\/)|\.BM($|\/)|\.BN($|\/)|\.BO($|\/)|\.BR($|\/)|\.BS($|\/)|\.BT($|\/)|\.BV($|\/)|\.BW($|\/)|\.BY($|\/)|\.BZ($|\/)|\.CA($|\/)|\.CAT($|\/)|\.CC($|\/)|\.CD($|\/)|\.CF($|\/)|\.CG($|\/)|\.CH($|\/)|\.CI($|\/)|\.CK($|\/)|\.CL($|\/)|\.CM($|\/)|\.CN($|\/)|\.CO($|\/)|\.COM($|\/)|\.COOP($|\/)|\.CR($|\/)|\.CU($|\/)|\.CV($|\/)|\.CX($|\/)|\.CY($|\/)|\.CZ($|\/)|\.DE($|\/)|\.DJ($|\/)|\.DK($|\/)|\.DM($|\/)|\.DO($|\/)|\.DZ($|\/)|\.EC($|\/)|\.EDU($|\/)|\.EE($|\/)|\.EG($|\/)|\.ER($|\/)|\.ES($|\/)|\.ET($|\/)|\.EU($|\/)|\.FI($|\/)|\.FJ($|\/)|\.FK($|\/)|\.FM($|\/)|\.FO($|\/)|\.FR($|\/)|\.GA($|\/)|\.GB($|\/)|\.GD($|\/)|\.GE($|\/)|\.GF($|\/)|\.GG($|\/)|\.GH($|\/)|\.GI($|\/)|\.GL($|\/)|\.GM($|\/)|\.GN($|\/)|\.GOV($|\/)|\.GP($|\/)|\.GQ($|\/)|\.GR($|\/)|\.GS($|\/)|\.GT($|\/)|\.GU($|\/)|\.GW($|\/)|\.GY($|\/)|\.HK($|\/)|\.HM($|\/)|\.HN($|\/)|\.HR($|\/)|\.HT($|\/)|\.HU($|\/)|\.ID($|\/)|\.IE($|\/)|\.IL($|\/)|\.IM($|\/)|\.IN($|\/)|\.INFO($|\/)|\.INT($|\/)|\.IO($|\/)|\.IQ($|\/)|\.IR($|\/)|\.IS($|\/)|\.IT($|\/)|\.JE($|\/)|\.JM($|\/)|\.JO($|\/)|\.JOBS($|\/)|\.JP($|\/)|\.KE($|\/)|\.KG($|\/)|\.KH($|\/)|\.KI($|\/)|\.KM($|\/)|\.KN($|\/)|\.KP($|\/)|\.KR($|\/)|\.KW($|\/)|\.KY($|\/)|\.KZ($|\/)|\.LA($|\/)|\.LB($|\/)|\.LC($|\/)|\.LI($|\/)|\.LK($|\/)|\.LR($|\/)|\.LS($|\/)|\.LT($|\/)|\.LU($|\/)|\.LV($|\/)|\.LY($|\/)|\.MA($|\/)|\.MC($|\/)|\.MD($|\/)|\.ME($|\/)|\.MG($|\/)|\.MH($|\/)|\.MIL($|\/)|\.MK($|\/)|\.ML($|\/)|\.MM($|\/)|\.MN($|\/)|\.MO($|\/)|\.MOBI($|\/)|\.MP($|\/)|\.MQ($|\/)|\.MR($|\/)|\.MS($|\/)|\.MT($|\/)|\.MU($|\/)|\.MUSEUM($|\/)|\.MV($|\/)|\.MW($|\/)|\.MX($|\/)|\.MY($|\/)|\.MZ($|\/)|\.NA($|\/)|\.NAME($|\/)|\.NC($|\/)|\.NE($|\/)|\.NET($|\/)|\.NF($|\/)|\.NG($|\/)|\.NI($|\/)|\.NL($|\/)|\.NO($|\/)|\.NP($|\/)|\.NR($|\/)|\.NU($|\/)|\.NZ($|\/)|\.OM($|\/)|\.ORG($|\/)|\.PA($|\/)|\.PE($|\/)|\.PF($|\/)|\.PG($|\/)|\.PH($|\/)|\.PK($|\/)|\.PL($|\/)|\.PM($|\/)|\.PN($|\/)|\.PR($|\/)|\.PRO($|\/)|\.PS($|\/)|\.PT($|\/)|\.PW($|\/)|\.PY($|\/)|\.QA($|\/)|\.RE($|\/)|\.RO($|\/)|\.RS($|\/)|\.RU($|\/)|\.RW($|\/)|\.SA($|\/)|\.SB($|\/)|\.SC($|\/)|\.SD($|\/)|\.SE($|\/)|\.SG($|\/)|\.SH($|\/)|\.SI($|\/)|\.SJ($|\/)|\.SK($|\/)|\.SL($|\/)|\.SM($|\/)|\.SN($|\/)|\.SO($|\/)|\.SR($|\/)|\.ST($|\/)|\.SU($|\/)|\.SV($|\/)|\.SY($|\/)|\.SZ($|\/)|\.TC($|\/)|\.TD($|\/)|\.TEL($|\/)|\.TF($|\/)|\.TG($|\/)|\.TH($|\/)|\.TJ($|\/)|\.TK($|\/)|\.TL($|\/)|\.TM($|\/)|\.TN($|\/)|\.TO($|\/)|\.TP($|\/)|\.TR($|\/)|\.TRAVEL($|\/)|\.TT($|\/)|\.TV($|\/)|\.TW($|\/)|\.TZ($|\/)|\.UA($|\/)|\.UG($|\/)|\.UK($|\/)|\.US($|\/)|\.UY($|\/)|\.UZ($|\/)|\.VA($|\/)|\.VC($|\/)|\.VE($|\/)|\.VG($|\/)|\.VI($|\/)|\.VN($|\/)|\.VU($|\/)|\.WF($|\/)|\.WS($|\/)|\.XN--0ZWM56D($|\/)|\.XN--11B5BS3A9AJ6G($|\/)|\.XN--80AKHBYKNJ4F($|\/)|\.XN--9T4B11YI5A($|\/)|\.XN--DEBA0AD($|\/)|\.XN--G6W251D($|\/)|\.XN--HGBK6AJ7F53BBA($|\/)|\.XN--HLCJ6AYA9ESC7A($|\/)|\.XN--JXALPDLP($|\/)|\.XN--KGBECHTV($|\/)|\.XN--ZCKZAH($|\/)|\.YE($|\/)|\.YT($|\/)|\.YU($|\/)|\.ZA($|\/)|\.ZM($|\/)|\.ZW)/i",

View file

@ -1,17 +1,36 @@
<?php
/**
* UnsplashBridge
* Returns the latests photos from http://unsplash.com
*
* @name Unsplash Bridge
* @homepage http://unsplash.com/
* @description Returns the latests photos from Unsplash
* @maintainer nel50n
* @update 2015-03-02
* @use1(m="max number of photos",w="width (1920, 1680, ...)",q="jpeg quality (0..100)")
*/
class UnsplashBridge extends BridgeAbstract {
public function loadMetadatas() {
$this->maintainer = "nel50n";
$this->name = "Unsplash Bridge";
$this->uri = "http://unsplash.com/";
$this->description = "Returns the latests photos from Unsplash";
$this->update = "2015-03-02";
$this->parameters[] =
'[
{
"name" : "Max number of photos",
"identifier" : "m",
"type" : "number"
},
{
"name" : "Width",
"identifier" : "w",
"exampleValue" : "1920, 1680, ..."
},
{
"name" : "JPEG quality",
"identifier" : "q",
"type" : "number"
}
]';
}
public function collectData(array $param){
$html = '';
$baseUri = 'http://unsplash.com';

View file

@ -1,21 +1,44 @@
<?php
/**
* WallpaperStopBridge
* Returns the latests wallpapers from http://www.wallpaperstop.com
*
* @name WallpaperStop Bridge
* @homepage http://www.wallpaperstop.com/
* @description Returns the latests wallpapers from WallpaperStop
* @maintainer nel50n
* @update 2014-11-05
* @use1(c="category",s="subcategory",m="max number of wallpapers",r="resolution (1920x1200, 1680x1050, ...)")
*/
class WallpaperStopBridge extends BridgeAbstract {
private $category;
private $subcategory;
private $resolution;
public function loadMetadatas() {
$this->maintainer = "nel50n";
$this->name = "WallpaperStop Bridge";
$this->uri = "http://www.wallpaperstop.com/";
$this->description = "Returns the latests wallpapers from WallpaperStop";
$this->update = "2014-11-05";
$this->parameters[] =
'[
{
"name" : "Category",
"identifier" : "c"
},
{
"name" : "subcategory",
"identifier" : "s"
},
{
"name" : "Max number of wallpapers",
"identifier" : "m",
"type" : "number"
},
{
"name" : "resolution",
"identifier" : "r",
"exampleValue" : "1920x1200, 1680x1050, ..."
}
]';
}
public function collectData(array $param){
$html = '';
if (!isset($param['c'])) {

View file

@ -1,21 +1,27 @@
<?php
/**
* WhydBridge
* Returns the newest music from user
*
* @name Whyd Bridge
* @homepage http://www.whyd.com/
* @description Returns 10 newest music from user profile
* @maintainer kranack
* @update 2014-07-18
* @use1(u="username/id")
*
*/
class WhydBridge extends BridgeAbstract{
private $request;
public $name;
public function loadMetadatas() {
$this->maintainer = "kranack";
$this->name = "Whyd Bridge";
$this->uri = "http://www.whyd.com/";
$this->description = "Returns 10 newest music from user profile";
$this->update = "2014-07-18";
$this->parameters[] =
'[
{
"name" : "username/id",
"identifier" : "u"
}
]';
}
public function collectData(array $param){
$html = '';
if (isset($param['u']))

View file

@ -1,21 +1,21 @@
<?php
/**
* WikipediaDEBridge
* Retrieve latest highlighted articles from Wikipedia in German.
* 2015-11-04
*
* @name Wikipedia DE "Today's Featured Article..."
* @homepage https://de.wikipedia.org/
* @description Returns the highlighted en.wikipedia.org article.
* @maintainer cnlpete
*/
class WikipediaDEBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "cnlpete";
$this->name = "Wikipedia DE Today's Featured Article...";
$this->uri = "https://de.wikipedia.org/";
$this->description = "Returns the highlighted en.wikipedia.org article.";
$this->update = "2015-11-04";
}
public function collectData(array $param){
$html = '';
$host = 'http://de.wikipedia.org';
// If you want HTTPS access instead, uncomment the following line:
//$host = 'https://en.wikipedia.org';
//$host = 'https://de.wikipedia.org';
$link = '/wiki/Wikipedia:Hauptseite';
$html = file_get_html($host.$link) or $this->returnError('Could not request Wikipedia DE.', 404);

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeWikipediaEN
* Retrieve latest highlighted articles from Wikipedia in English.
* 2014-05-25
*
* @name Wikipedia EN "Today's Featured Article..."
* @homepage https://en.wikipedia.org/
* @description Returns the highlighted en.wikipedia.org article.
* @maintainer gsurrel
*/
class WikipediaENBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "gsurrel";
$this->name = "Wikipedia EN 'Today's Featured Article...'";
$this->uri = "https://en.wikipedia.org/";
$this->description = "Returns the highlighted en.wikipedia.org article.";
$this->update = "2014-05-25";
}
public function collectData(array $param){
$html = '';
$host = 'http://en.wikipedia.org';

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeWikipediaEO
* Retrieve latest highlighted articles from Wikipedia in Esperanto.
* 2014-05-25
*
* @name Wikipedia EO "Artikolo de la semajno"
* @homepage https://eo.wikipedia.org/
* @description Returns the highlighted eo.wikipedia.org article.
* @maintainer gsurrel
*/
class WikipediaEOBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "gsurrel";
$this->name = "Wikipedia EO 'Artikolo de la semajno'";
$this->uri = "https://eo.wikipedia.org/";
$this->description = "Returns the highlighted eo.wikipedia.org article.";
$this->update = "2014-05-25";
}
public function collectData(array $param){
$html = '';
$host = 'http://eo.wikipedia.org';

View file

@ -1,16 +1,16 @@
<?php
/**
* RssBridgeWikipediaFR
* Retrieve latest highlighted articles from Wikipedia in French.
* 2014-05-25
*
* @name Wikipedia FR "Lumière sur..."
* @homepage https://fr.wikipedia.org/
* @description Returns the highlighted fr.wikipedia.org article.
* @maintainer gsurrel
*/
class WikipediaFRBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "gsurrel";
$this->name = "Wikipedia FR 'Lumière sur...'";
$this->uri = "https://fr.wikipedia.org/";
$this->description = "Returns the highlighted fr.wikipedia.org article.";
$this->update = "2014-05-25";
}
public function collectData(array $param){
$html = '';
$host = 'http://fr.wikipedia.org';

View file

@ -1,21 +1,32 @@
<?php
/**
* RssBridgeWordpress
* Returns the 3 newest full posts of a Wordpress blog
*
* @name Wordpress Bridge
* @homepage https://wordpress.com/
* @description Returns the 3 newest full posts of a Wordpress blog
* @maintainer aledeg
* @update 2015-09-05
* @use1(url="blog URL (required)", name="blog name")
*/
class WordPressBridge extends BridgeAbstract {
private $url;
public $name;
public function loadMetadatas() {
$this->maintainer = "aledeg";
$this->name = "Wordpress Bridge";
$this->uri = "https://wordpress.com/";
$this->description = "Returns the 3 newest full posts of a Wordpress blog";
$this->update = "2015-09-05";
$this->parameters[] =
'[
{
"name" : "blog URL",
"required" : "true",
"identifier" : "url"
},
{
"name" : "Blog name",
"identifier" : "name"
}
]';
}
public function collectData(array $param) {
$this->processParams($param);

View file

@ -1,17 +1,65 @@
<?php
/**
*
* @name World of Tanks
* @description News about the tank slaughter game.
* @update 2015-09-12
* @use1(list|lang="Français=>fr;English=>en;Español=>es;Deutsch=>de;Čeština=>cs;Polski=>pl;Türkçe=>tr",text|category="Category id")
*/
define('WORLD_OF_TANKS', 'http://worldoftanks.eu/');
define('NEWS', '/news/');
class WorldOfTanks extends HttpCachingBridgeAbstract{
private $lang = "fr";
public $uri = WORLD_OF_TANKS;
public $name = 'World of tanks news';
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "World of Tanks";
$this->uri = "http://worldoftanks.eu/";
$this->description = "News about the tank slaughter game.";
$this->update = "2015-09-12";
$this->parameters[] =
'[
{
"name" : "ID de la catégorie",
"type" : "number",
"identifier" : "category"
},
{
"name" : "Langue",
"identifier" : "lang",
"type" : "list",
"values" : [
{
"name" : "Français",
"value" : "fr"
},
{
"name" : "English",
"value" : "en"
},
{
"name" : "Español",
"value" : "es"
},
{
"name" : "Deutsch",
"value" : "de"
},
{
"name" : "Čeština",
"value" : "cs"
},
{
"name" : "Polski",
"value" : "pl"
},
{
"name" : "Türkçe",
"value" : "tr"
}
]
}
]';
}
public function collectData(array $param){
if (!empty($param['lang'])) {

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeXbooru
* Returns images from given page
* 2014-05-25
*
* @name Xbooru
* @homepage http://xbooru.com/
* @description Returns images from given page
* @maintainer mitsukarenai
* @use1(p="page",t="tags")
*/
class XbooruBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Xbooru";
$this->uri = "http://xbooru.com/";
$this->description = "Returns images from given page";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 0;$tags='';
if (isset($param['p'])) {

View file

@ -1,17 +1,28 @@
<?php
/**
* RssBridgeYandere
* Returns images from given page and tags
* 2014-05-25
*
* @name Yande.re
* @homepage https://yande.re/
* @description Returns images from given page and tags
* @maintainer mitsukarenai
* @use1(p="page", t="tags")
*/
class YandereBridge extends BridgeAbstract{
public function loadMetadatas() {
$this->maintainer = "mitsukarenai";
$this->name = "Yande.re";
$this->uri = "https://yande.re/";
$this->description = "Returns images from given page and tags";
$this->update = "2014-05-25";
$this->parameters[] =
'[
{
"name" : "page",
"identifier" : "p",
"type" : "number"
},
{
"name" : "tags",
"identifier" : "t"
}
]';
}
public function collectData(array $param){
$page = 1; $tags = '';
if (isset($param['p'])) {

View file

@ -1,14 +1,16 @@
<?php
/**
* @name Zataz
* @homepage http://www.zataz.com/
* @description ZATAZ Magazine - S'informer, c'est déjà se sécuriser
* @maintainer aledeg
* @update 07/02/2015
*/
class ZatazBridge extends BridgeAbstract {
public function loadMetadatas() {
$this->maintainer = "aledeg";
$this->name = "Zataz";
$this->uri = "http://www.zataz.com/";
$this->description = "ZATAZ Magazine - S'informer, c'est déjà se sécuriser";
$this->update = "07/02/2015";
}
public function collectData(array $param) {
$html = file_get_html($this->getURI()) or $this->returnError('Could not request ' . $this->getURI(), 404);

View file

@ -185,7 +185,9 @@ CARD;
foreach($bridgeElement->parameters as $parameterName => $parameter)
{
$card .= '<ol class="list-use">' . PHP_EOL;
$card .= '<h5>'.$parameterName.'</h5>' . PHP_EOL;
if(!is_numeric($parameterName)) {
$card .= '<h5>'.$parameterName.'</h5>' . PHP_EOL;
}
$card .= '<form method="POST" action="?">
<input type="hidden" name="action" value="display" />
<input type="hidden" name="bridge" value="' . $bridgeName . '" />' . PHP_EOL;
@ -194,6 +196,8 @@ CARD;
foreach($parameter as $inputEntry) {
if(!isset($inputEntry['exampleValue'])) $inputEntry['exampleValue'] = "";
$idArg = 'arg-' . $bridgeName . '-' . $parameterName . '-' . $inputEntry['identifier'];
$card .= '<label for="' .$idArg. '">' .$inputEntry['name']. ' : </label>' . PHP_EOL;

View file

@ -17,7 +17,7 @@ abstract class BridgeAbstract implements BridgeInterface{
protected $cache;
protected $items = array();
public $name = "Bridge sans nom";
public $name = "Unnamed bridge";
public $uri = "";
public $description = 'No description provided';
public $maintainer = 'No maintainer';