forked from blallo/rss-bridge
Merge branch 'ImproveCore' of https://github.com/logmanoriginal/rss-bridge
This commit is contained in:
commit
6d1e8af982
39 changed files with 372 additions and 117 deletions
|
@ -44,11 +44,11 @@ class AllocineFRBridge extends BridgeAbstract {
|
|||
|
||||
public function getName(){
|
||||
if(!is_null($this->getInput('category'))){
|
||||
return self::NAME . ' : '
|
||||
.array_search(
|
||||
$this->getInput('category'),
|
||||
self::PARAMETERS[$this->queriedContext]['category']['values']
|
||||
);
|
||||
return self::NAME . ' : '
|
||||
.array_search(
|
||||
$this->getInput('category'),
|
||||
self::PARAMETERS[$this->queriedContext]['category']['values']
|
||||
);
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
|
|
|
@ -51,8 +51,11 @@ class AmazonBridge extends BridgeAbstract {
|
|||
));
|
||||
|
||||
public function getName(){
|
||||
if(!is_null($this->getInput('tld')) && !is_null($this->getInput('q'))){
|
||||
return 'Amazon.'.$this->getInput('tld').': '.$this->getInput('q');
|
||||
}
|
||||
|
||||
return 'Amazon.'.$this->getInput('tld').': '.$this->getInput('q');
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
public function collectData() {
|
||||
|
|
|
@ -57,10 +57,18 @@ class AskfmBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return self::NAME . ' : ' . $this->getInput('u');
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return self::NAME . ' : ' . $this->getInput('u');
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . urlencode($this->getInput('u')) . '/answers/more?page=0';
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return self::URI . urlencode($this->getInput('u')) . '/answers/more?page=0';
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,10 +46,18 @@ class BandcampBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . 'tag/' . urlencode($this->getInput('tag')) . '?sort_field=date';
|
||||
if(!is_null($this->getInput('tag'))){
|
||||
return self::URI . 'tag/' . urlencode($this->getInput('tag')) . '?sort_field=date';
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('tag') . ' - Bandcamp Tag';
|
||||
if(!is_null($this->getInput('tag'))){
|
||||
return $this->getInput('tag') . ' - Bandcamp Tag';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,10 +28,18 @@ class BooruprojectBridge extends GelbooruBridge {
|
|||
const PIDBYPAGE = 20;
|
||||
|
||||
public function getURI(){
|
||||
return 'http://' . $this->getInput('i') . '.booru.org/';
|
||||
if(!is_null($this->getInput('i'))){
|
||||
return 'http://' . $this->getInput('i') . '.booru.org/';
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return static::NAME . ' ' . $this->getInput('i');
|
||||
if(!is_null($this->getInput('i'))){
|
||||
return static::NAME . ' ' . $this->getInput('i');
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -83,7 +83,11 @@ topic found in some section URLs, else all topics are selected.';
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
$topic = $this->getInput('topic');
|
||||
return 'CNET News Bridge' . (empty($topic) ? '' : ' - ' . $topic);
|
||||
if(!is_null($this->getInput('topic'))){
|
||||
$topic = $this->getInput('topic');
|
||||
return 'CNET News Bridge' . (empty($topic) ? '' : ' - ' . $topic);
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,7 +50,11 @@ class CpasbienBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('q') . ' : ' . self::NAME;
|
||||
if(!is_null($this->getInput('q'))){
|
||||
return $this->getInput('q') . ' : ' . self::NAME;
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
private function getCachedDate($url){
|
||||
|
|
|
@ -116,6 +116,7 @@ class DailymotionBridge extends BridgeAbstract {
|
|||
$uri .= '/' . $this->getInput('pa');
|
||||
}
|
||||
break;
|
||||
default: return parent::getURI();
|
||||
}
|
||||
return $uri;
|
||||
}
|
||||
|
|
|
@ -257,6 +257,11 @@ EOD;
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return isset($this->extraInfos['name']) ? $this->extraInfos['name'] : $this->authorName . ' - Facebook Bridge';
|
||||
if(!empty($this->authorName)){
|
||||
return isset($this->extraInfos['name']) ? $this->extraInfos['name'] : $this->authorName
|
||||
. ' - Facebook Bridge';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,11 @@ class FourchanBridge extends BridgeAbstract {
|
|||
));
|
||||
|
||||
public function getURI(){
|
||||
return static::URI . $this->getInput('c') . '/thread/' . $this->getInput('t');
|
||||
if(!is_null($this->getInput('c')) && !is_null($this->getInput('t'))){
|
||||
return static::URI . $this->getInput('c') . '/thread/' . $this->getInput('t');
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
|
|
@ -47,18 +47,23 @@ class GithubIssueBridge extends BridgeAbstract {
|
|||
case 'Issue comments':
|
||||
$name = static::NAME . ' ' . $name . ' #' . $this->getInput('i');
|
||||
break;
|
||||
default: return parent::getName();
|
||||
}
|
||||
return $name;
|
||||
}
|
||||
|
||||
public function getURI(){
|
||||
$uri = static::URI . $this->getInput('u') . '/' . $this->getInput('p') . '/issues';
|
||||
if($this->queriedContext === 'Issue comments'){
|
||||
$uri .= '/' . $this->getInput('i');
|
||||
} elseif($this->getInput('c')){
|
||||
$uri .= '?q=is%3Aissue+sort%3Aupdated-desc';
|
||||
if(!is_null($this->getInput('u')) && !is_null($this->getInput('p'))){
|
||||
$uri = static::URI . $this->getInput('u') . '/' . $this->getInput('p') . '/issues';
|
||||
if($this->queriedContext === 'Issue comments'){
|
||||
$uri .= '/' . $this->getInput('i');
|
||||
} elseif($this->getInput('c')){
|
||||
$uri .= '?q=is%3Aissue+sort%3Aupdated-desc';
|
||||
}
|
||||
return $uri;
|
||||
}
|
||||
return $uri;
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
protected function extractIssueComment($issueNbr, $title, $comment){
|
||||
|
|
|
@ -42,10 +42,18 @@ class GoComicsBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . urlencode($this->getInput('comicname'));
|
||||
if(!is_null($this->getInput('comicname'))){
|
||||
return self::URI . urlencode($this->getInput('comicname'));
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('comicname') . ' - GoComics';
|
||||
if(!is_null($this->getInput('comicname'))){
|
||||
return $this->getInput('comicname') . ' - GoComics';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -97,6 +97,6 @@ class GooglePlusPostBridge extends BridgeAbstract{
|
|||
}
|
||||
|
||||
public function getURI(){
|
||||
return $this->_url ?: self::URI;
|
||||
return $this->_url ?: parent::getURI();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,6 +55,10 @@ class GoogleSearchBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('q') . ' - Google search';
|
||||
if(!is_null($this->getInput('q'))){
|
||||
return $this->getInput('q') . ' - Google search';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,10 +70,14 @@ class HDWallpapersBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return 'HDWallpapers - '
|
||||
. str_replace(['__', '_'], [' & ', ' '], $this->getInput('c'))
|
||||
. ' ['
|
||||
. $this->getInput('r')
|
||||
. ']';
|
||||
if(!is_null($this->getInput('c')) && !is_null($this->getInput('r'))){
|
||||
return 'HDWallpapers - '
|
||||
. str_replace(['__', '_'], [' & ', ' '], $this->getInput('c'))
|
||||
. ' ['
|
||||
. $this->getInput('r')
|
||||
. ']';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,10 +35,18 @@ class IdenticaBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('u') . ' - Identica Bridge';
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return $this->getInput('u') . ' - Identica Bridge';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . urlencode($this->getInput('u'));
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return self::URI . urlencode($this->getInput('u'));
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,10 +53,18 @@ class InstagramBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('u') . ' - Instagram Bridge';
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return $this->getInput('u') . ' - Instagram Bridge';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . urlencode($this->getInput('u'));
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return self::URI . urlencode($this->getInput('u'));
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ class KununuBridge extends BridgeAbstract {
|
|||
return ($this->companyName ?: $company) . ' - ' . self::NAME;
|
||||
}
|
||||
|
||||
return paren::getName();
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
|
|
@ -16,7 +16,11 @@ class MixCloudBridge extends BridgeAbstract {
|
|||
));
|
||||
|
||||
public function getName(){
|
||||
return 'MixCloud - ' . $this->getInput('u');
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return 'MixCloud - ' . $this->getInput('u');
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
|
|
@ -17,7 +17,11 @@ class NovelUpdatesBridge extends BridgeAbstract {
|
|||
private $seriesTitle = '';
|
||||
|
||||
public function getURI(){
|
||||
return static::URI . '/series/' . $this->getInput('n') . '/';
|
||||
if(!is_null($this->getInput('n'))){
|
||||
return static::URI . '/series/' . $this->getInput('n') . '/';
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
@ -56,6 +60,10 @@ class NovelUpdatesBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
if(!empty($this->seriesTitle)){
|
||||
return $this->seriesTitle . ' - ' . static::NAME;
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,11 @@ class OpenClassroomsBridge extends BridgeAbstract {
|
|||
));
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . '/courses?categories=' . $this->getInput('u') . '&title=&sort=updatedAt+desc';
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return self::URI . '/courses?categories=' . $this->getInput('u') . '&title=&sort=updatedAt+desc';
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
|
|
@ -84,15 +84,19 @@ class ParuVenduImmoBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
$request = '';
|
||||
$minarea = $this->getInput('minarea');
|
||||
if(!empty($minarea)){
|
||||
$request .= ' ' . $minarea . ' m2';
|
||||
if(!is_null($this->getInput('minarea'))){
|
||||
$request = '';
|
||||
$minarea = $this->getInput('minarea');
|
||||
if(!empty($minarea)){
|
||||
$request .= ' ' . $minarea . ' m2';
|
||||
}
|
||||
$location = $this->getInput('lo');
|
||||
if(!empty($location)){
|
||||
$request .= ' In: ' . $location;
|
||||
}
|
||||
return 'Paru Vendu Immobilier' . $request;
|
||||
}
|
||||
$location = $this->getInput('lo');
|
||||
if(!empty($location)){
|
||||
$request .= ' In: ' . $location;
|
||||
}
|
||||
return 'Paru Vendu Immobilier' . $request;
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,24 +70,32 @@ class PickyWallpapersBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getURI(){
|
||||
$subcategory = $this->getInput('s');
|
||||
$link = self::URI
|
||||
. $this->getInput('r')
|
||||
. '/'
|
||||
. $this->getInput('c')
|
||||
. '/'
|
||||
. $subcategory;
|
||||
if(!is_null($this->getInput('s')) && !is_null($this->getInput('r')) && !is_null($this->getInput('c'))){
|
||||
$subcategory = $this->getInput('s');
|
||||
$link = self::URI
|
||||
. $this->getInput('r')
|
||||
. '/'
|
||||
. $this->getInput('c')
|
||||
. '/'
|
||||
. $subcategory;
|
||||
|
||||
return $link;
|
||||
return $link;
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
$subcategory = $this->getInput('s');
|
||||
return 'PickyWallpapers - '
|
||||
. $this->getInput('c')
|
||||
. ($subcategory ? ' > ' . $subcategory : '')
|
||||
. ' ['
|
||||
. $this->getInput('r')
|
||||
. ']';
|
||||
if(!is_null($this->getInput('s'))){
|
||||
$subcategory = $this->getInput('s');
|
||||
return 'PickyWallpapers - '
|
||||
. $this->getInput('c')
|
||||
. ($subcategory ? ' > ' . $subcategory : '')
|
||||
. ' ['
|
||||
. $this->getInput('r')
|
||||
. ']';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -49,10 +49,18 @@ class RTBFBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getURI(){
|
||||
return self::URI . 'detail?id=' . $this->getInput('c');
|
||||
if(!is_null($this->getInput('c'))){
|
||||
return self::URI . 'detail?id=' . $this->getInput('c');
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('c') .' - RTBF Bridge';
|
||||
if(!is_null($this->getInput('c'))){
|
||||
return $this->getInput('c') .' - RTBF Bridge';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,6 +55,10 @@ class SoundCloudBridge extends BridgeAbstract {
|
|||
|
||||
}
|
||||
public function getName(){
|
||||
return self::NAME . ' - ' . $this->getInput('u');
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return self::NAME . ' - ' . $this->getInput('u');
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,6 +61,10 @@ class SuperbWallpapersBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return self::NAME . '- ' . $this->getInput('c') . ' [' . $this->getInput('r') . ']';
|
||||
if(!is_null($this->getInput('c')) && !is_null($this->getInput('r'))){
|
||||
return self::NAME . '- ' . $this->getInput('c') . ' [' . $this->getInput('r') . ']';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,6 +40,10 @@ class TagBoardBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
return 'tagboard - ' . $this->getInput('u');
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return 'tagboard - ' . $this->getInput('u');
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,7 +81,11 @@ class Torrent9Bridge extends BridgeAbstract {
|
|||
|
||||
|
||||
public function getName(){
|
||||
return $this->getInput('q') . ' : ' . self::NAME;
|
||||
if(!is_null($this->getInput('q'))){
|
||||
return $this->getInput('q') . ' : ' . self::NAME;
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
|
||||
private function getCachedDate($url){
|
||||
|
|
|
@ -46,6 +46,7 @@ class TwitterBridge extends BridgeAbstract {
|
|||
$specific = '@';
|
||||
$param = 'u';
|
||||
break;
|
||||
default: return parent::getName();
|
||||
}
|
||||
return 'Twitter ' . $specific . $this->getInput($param);
|
||||
}
|
||||
|
@ -61,6 +62,7 @@ class TwitterBridge extends BridgeAbstract {
|
|||
return self::URI
|
||||
. urlencode($this->getInput('u'))
|
||||
. ($this->getInput('norep') ? '' : '/with_replies');
|
||||
default: return parent::getURI();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,11 @@ class VkBridge extends BridgeAbstract {
|
|||
);
|
||||
|
||||
public function getURI(){
|
||||
return static::URI . urlencode($this->getInput('u'));
|
||||
if(!is_null($this->getInput('u'))){
|
||||
return static::URI . urlencode($this->getInput('u'));
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
|
|
@ -92,12 +92,16 @@ class WallpaperStopBridge extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getName(){
|
||||
$subcategory = $this->getInput('s');
|
||||
return 'WallpaperStop - '
|
||||
. $this->getInput('c')
|
||||
. (!empty($subcategory) ? ' > ' . $subcategory : '')
|
||||
. ' ['
|
||||
. $this->getInput('r')
|
||||
. ']';
|
||||
if(!is_null($this->getInput('s')) && !is_null($this->getInput('c')) && !is_null($this->getInput('r'))){
|
||||
$subcategory = $this->getInput('s');
|
||||
return 'WallpaperStop - '
|
||||
. $this->getInput('c')
|
||||
. (!empty($subcategory) ? ' > ' . $subcategory : '')
|
||||
. ' ['
|
||||
. $this->getInput('r')
|
||||
. ']';
|
||||
}
|
||||
|
||||
return parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ class WebfailBridge extends BridgeAbstract {
|
|||
|
||||
public function getURI(){
|
||||
if(is_null($this->getInput('language')))
|
||||
return self::URI;
|
||||
return parent::getURI();
|
||||
|
||||
// e.g.: https://en.webfail.com
|
||||
return 'https://' . $this->getInput('language') . '.webfail.com';
|
||||
|
|
|
@ -43,9 +43,13 @@ class WikipediaBridge extends BridgeAbstract {
|
|||
));
|
||||
|
||||
public function getURI(){
|
||||
return 'https://'
|
||||
. strtolower($this->getInput('language'))
|
||||
. '.wikipedia.org';
|
||||
if(!is_null($this->getInput('language'))){
|
||||
return 'https://'
|
||||
. strtolower($this->getInput('language'))
|
||||
. '.wikipedia.org';
|
||||
}
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
|
@ -56,9 +60,7 @@ class WikipediaBridge extends BridgeAbstract {
|
|||
case 'dyk':
|
||||
$subject = WIKIPEDIA_SUBJECT_DYK;
|
||||
break;
|
||||
default:
|
||||
$subject = WIKIPEDIA_SUBJECT_TFA;
|
||||
break;
|
||||
default: return parent::getName();
|
||||
}
|
||||
|
||||
switch($subject){
|
||||
|
|
|
@ -56,7 +56,7 @@ class WordPressBridge extends FeedExpander {
|
|||
public function getURI(){
|
||||
$url = $this->getInput('url');
|
||||
if(empty($url)){
|
||||
$url = static::URI;
|
||||
$url = parent::getURI();
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
|
|
@ -28,17 +28,21 @@ class WorldOfTanksBridge extends BridgeAbstract {
|
|||
|
||||
private $title = '';
|
||||
|
||||
function getURI(){
|
||||
$lang = $this->getInput('lang');
|
||||
$uri = self::URI . $lang . '/news/';
|
||||
if(!empty($this->getInput('category'))) {
|
||||
$uri .= 'pc-browser/' . $this->getInput('category') . '/';
|
||||
public function getURI(){
|
||||
if(!is_null($this->getInput('lang'))){
|
||||
$lang = $this->getInput('lang');
|
||||
$uri = self::URI . $lang . '/news/';
|
||||
if(!empty($this->getInput('category'))) {
|
||||
$uri .= 'pc-browser/' . $this->getInput('category') . '/';
|
||||
}
|
||||
return $uri;
|
||||
}
|
||||
return $uri;
|
||||
|
||||
return parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->title ?: self::NAME;
|
||||
return $this->title ?: parent::getName();
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
|
|
|
@ -20,7 +20,10 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
* @return mixed
|
||||
*/
|
||||
public function getCachable(){
|
||||
return array("items" => $this->getItems(), "extraInfos" => $this->getExtraInfos());
|
||||
return array(
|
||||
'items' => $this->getItems(),
|
||||
'extraInfos' => $this->getExtraInfos()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -31,7 +34,13 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
return $this->items;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the input values for a given context. Existing values are
|
||||
* overwritten.
|
||||
*
|
||||
* @param array $inputs Associative array of inputs
|
||||
* @param string $context The context name
|
||||
*/
|
||||
protected function setInputs(array $inputs, $queriedContext){
|
||||
// Import and assign all inputs to their context
|
||||
foreach($inputs as $name => $value){
|
||||
|
@ -89,7 +98,7 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
foreach(static::PARAMETERS['global'] as $name => $properties){
|
||||
if(isset($inputs[$name])){
|
||||
$value = $inputs[$name];
|
||||
} elseif (isset($properties['value'])){
|
||||
} elseif(isset($properties['value'])){
|
||||
$value = $properties['value'];
|
||||
} else {
|
||||
continue;
|
||||
|
@ -106,10 +115,20 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the context matching the provided inputs
|
||||
*
|
||||
* @param array $inputs Associative array of inputs
|
||||
* @return mixed Returns the context name or null if no match was found
|
||||
*/
|
||||
protected function getQueriedContext(array $inputs){
|
||||
$queriedContexts = array();
|
||||
|
||||
// Detect matching context
|
||||
foreach(static::PARAMETERS as $context => $set){
|
||||
$queriedContexts[$context] = null;
|
||||
|
||||
// Check if all parameters of the context are satisfied
|
||||
foreach($set as $id => $properties){
|
||||
if(isset($inputs[$id]) && !empty($inputs[$id])){
|
||||
$queriedContexts[$context] = true;
|
||||
|
@ -119,8 +138,10 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Abort if one of the globally required parameters is not satisfied
|
||||
if(array_key_exists('global', static::PARAMETERS)
|
||||
&& $queriedContexts['global'] === false){
|
||||
return null;
|
||||
|
@ -128,14 +149,15 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
unset($queriedContexts['global']);
|
||||
|
||||
switch(array_sum($queriedContexts)){
|
||||
case 0:
|
||||
case 0: // Found no match, is there a context without parameters?
|
||||
foreach($queriedContexts as $context => $queried){
|
||||
if (is_null($queried)){
|
||||
if(is_null($queried)){
|
||||
return $context;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
case 1: return array_search(true, $queriedContexts);
|
||||
case 1: // Found unique match
|
||||
return array_search(true, $queriedContexts);
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
@ -193,23 +215,44 @@ abstract class BridgeAbstract implements BridgeInterface {
|
|||
}
|
||||
}
|
||||
|
||||
function getInput($input){
|
||||
/**
|
||||
* Returns the value for the provided input
|
||||
*
|
||||
* @param string $input The input name
|
||||
* @return mixed Returns the input value or null if the input is not defined
|
||||
*/
|
||||
protected function getInput($input){
|
||||
if(!isset($this->inputs[$this->queriedContext][$input]['value'])){
|
||||
return null;
|
||||
}
|
||||
return $this->inputs[$this->queriedContext][$input]['value'];
|
||||
}
|
||||
|
||||
public function getDescription(){
|
||||
return static::DESCRIPTION;
|
||||
}
|
||||
|
||||
public function getMaintainer(){
|
||||
return static::MAINTAINER;
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return static::NAME;
|
||||
}
|
||||
|
||||
public function getParameters(){
|
||||
return static::PARAMETERS;
|
||||
}
|
||||
|
||||
public function getURI(){
|
||||
return static::URI;
|
||||
}
|
||||
|
||||
public function getExtraInfos(){
|
||||
return array("name" => $this->getName(), "uri" => $this->getURI());
|
||||
return array(
|
||||
'name' => $this->getName(),
|
||||
'uri' => $this->getURI()
|
||||
);
|
||||
}
|
||||
|
||||
public function setCache(\CacheInterface $cache){
|
||||
|
|
|
@ -1,6 +1,71 @@
|
|||
<?php
|
||||
interface BridgeInterface {
|
||||
|
||||
/**
|
||||
* Collects data from the site
|
||||
*/
|
||||
public function collectData();
|
||||
|
||||
/**
|
||||
* Returns an array of cachable elements
|
||||
*
|
||||
* @return array Associative array of cachable elements
|
||||
*/
|
||||
public function getCachable();
|
||||
|
||||
/**
|
||||
* Returns the description
|
||||
*
|
||||
* @return string Description
|
||||
*/
|
||||
public function getDescription();
|
||||
|
||||
/**
|
||||
* Return an array of extra information
|
||||
*
|
||||
* @return array Associative array of extra information
|
||||
*/
|
||||
public function getExtraInfos();
|
||||
|
||||
/**
|
||||
* Returns an array of collected items
|
||||
*
|
||||
* @return array Associative array of items
|
||||
*/
|
||||
public function getItems();
|
||||
|
||||
/**
|
||||
* Returns the bridge maintainer
|
||||
*
|
||||
* @return string Bridge maintainer
|
||||
*/
|
||||
public function getMaintainer();
|
||||
|
||||
/**
|
||||
* Returns the bridge name
|
||||
*
|
||||
* @return string Bridge name
|
||||
*/
|
||||
public function getName();
|
||||
|
||||
/**
|
||||
* Returns the bridge parameters
|
||||
*
|
||||
* @return array Bridge parameters
|
||||
*/
|
||||
public function getParameters();
|
||||
|
||||
/**
|
||||
* Returns the bridge URI
|
||||
*
|
||||
* @return string Bridge URI
|
||||
*/
|
||||
public function getURI();
|
||||
|
||||
/**
|
||||
* Sets the cache instance
|
||||
*
|
||||
* @param object CacheInterface The cache instance
|
||||
*/
|
||||
public function setCache(\CacheInterface $cache);
|
||||
}
|
||||
|
|
|
@ -190,10 +190,10 @@ abstract class FeedExpander extends BridgeAbstract {
|
|||
}
|
||||
|
||||
public function getURI(){
|
||||
return $this->uri;
|
||||
return $this->uri ?: parent::getURI();
|
||||
}
|
||||
|
||||
public function getName(){
|
||||
return $this->name;
|
||||
return $this->name ?: parent::getName();
|
||||
}
|
||||
}
|
||||
|
|
25
lib/html.php
25
lib/html.php
|
@ -15,22 +15,21 @@ function displayBridgeCard($bridgeName, $formats, $isActive = true){
|
|||
return $buttons;
|
||||
};
|
||||
|
||||
$getFormHeader = function($bridge){
|
||||
$getFormHeader = function($bridgeName){
|
||||
return <<<EOD
|
||||
<form method="GET" action="?">
|
||||
<input type="hidden" name="action" value="display" />
|
||||
<input type="hidden" name="bridge" value="{$bridge}" />
|
||||
<input type="hidden" name="bridge" value="{$bridgeName}" />
|
||||
EOD;
|
||||
};
|
||||
|
||||
$bridgeElement = Bridge::create($bridgeName);
|
||||
$bridgeClass = $bridgeName . 'Bridge';
|
||||
$bridge = Bridge::create($bridgeName);
|
||||
|
||||
if($bridgeElement == false)
|
||||
if($bridge == false)
|
||||
return "";
|
||||
|
||||
$name = '<a href="' . $bridgeClass::URI . '">' . $bridgeClass::NAME . '</a>';
|
||||
$description = $bridgeClass::DESCRIPTION;
|
||||
$name = '<a href="' . $bridge->getURI() . '">' . $bridge->getName() . '</a>';
|
||||
$description = $bridge->getDescription();
|
||||
|
||||
$card = <<<CARD
|
||||
<section id="bridge-{$bridgeName}" data-ref="{$bridgeName}">
|
||||
|
@ -43,7 +42,7 @@ EOD;
|
|||
CARD;
|
||||
|
||||
// If we don't have any parameter for the bridge, we print a generic form to load it.
|
||||
if(count($bridgeClass::PARAMETERS) == 0){
|
||||
if(count($bridge->getParameters()) == 0){
|
||||
|
||||
$card .= $getFormHeader($bridgeName);
|
||||
|
||||
|
@ -77,13 +76,13 @@ CARD;
|
|||
$card .= '</form>' . PHP_EOL;
|
||||
}
|
||||
|
||||
$hasGlobalParameter = array_key_exists('global', $bridgeClass::PARAMETERS);
|
||||
$hasGlobalParameter = array_key_exists('global', $bridge->getParameters());
|
||||
|
||||
if($hasGlobalParameter){
|
||||
$globalParameters = $bridgeClass::PARAMETERS['global'];
|
||||
$globalParameters = $bridge->getParameters()['global'];
|
||||
}
|
||||
|
||||
foreach($bridgeClass::PARAMETERS as $parameterName => $parameter){
|
||||
foreach($bridge->getParameters() as $parameterName => $parameter){
|
||||
if(!is_numeric($parameterName) && $parameterName == 'global')
|
||||
continue;
|
||||
|
||||
|
@ -251,7 +250,7 @@ CARD;
|
|||
}
|
||||
|
||||
$card .= '<label class="showless" for="showmore-' . $bridgeName . '">Show less</label>';
|
||||
$card .= '<p class="maintainer">' . $bridgeClass::MAINTAINER . '</p>';
|
||||
$card .= '<p class="maintainer">' . $bridge->getMaintainer() . '</p>';
|
||||
$card .= '</section>';
|
||||
|
||||
return $card;
|
||||
|
@ -288,5 +287,3 @@ function defaultImageSrcTo($content, $server){
|
|||
}
|
||||
return $content;
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue