bridges: Add favicon to bridges missing it
Adds favicon to bridges that support it. Some sites prevent downloading favicons, those bridges are left untouched. Affected bridges: - AutoJMBridge - BandcampBridge - BlaguesDeMerdeBridge - BloombergBridge - BundesbankBridge - ChristianDailyReporterBridge - ContainerLinuxReleasesBridge - DailymotionBridge - DiceBridge - DribbbleBridge - EliteDangerousGalnetBridge - ElsevierBridge - FacebookBridge - FB2Bridge - FDroidBridge - FierPandaBridge - GooglePlusPostBridge - JapanExpoBridge - KATBridge - KernelBugTrackerBridge - LegifranceJOBridge - NotAlwaysBridge - NyaaTorrentsBridge - PinterestBridge - RadioMelodieBridge - RainbowSixSiegeBridge - SupInfoBridge - TagBoardBridge - TebeoBridge - TheTVDBBridge - WhydBridge - ZoneTelechargementBridge
This commit is contained in:
parent
1cfe939927
commit
7621784598
32 changed files with 131 additions and 1 deletions
|
@ -19,6 +19,10 @@ class AutoJMBridge extends BridgeAbstract {
|
||||||
);
|
);
|
||||||
const CACHE_TIMEOUT = 3600;
|
const CACHE_TIMEOUT = 3600;
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'assets/images/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
$html = getSimpleHTMLDOM(self::URI . $this->getInput('url'))
|
$html = getSimpleHTMLDOM(self::URI . $this->getInput('url'))
|
||||||
or returnServerError('Could not request AutoJM.');
|
or returnServerError('Could not request AutoJM.');
|
||||||
|
@ -59,4 +63,3 @@ class AutoJMBridge extends BridgeAbstract {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
@ -14,6 +14,10 @@ class BandcampBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://s4.bcbits.com/img/bc_favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM($this->getURI())
|
$html = getSimpleHTMLDOM($this->getURI())
|
||||||
or returnServerError('No results for this query.');
|
or returnServerError('No results for this query.');
|
||||||
|
|
|
@ -7,6 +7,10 @@ class BlaguesDeMerdeBridge extends BridgeAbstract {
|
||||||
const CACHE_TIMEOUT = 7200; // 2h
|
const CACHE_TIMEOUT = 7200; // 2h
|
||||||
const DESCRIPTION = 'Blagues De Merde';
|
const DESCRIPTION = 'Blagues De Merde';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'assets/img/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
|
|
||||||
$html = getSimpleHTMLDOM(self::URI)
|
$html = getSimpleHTMLDOM(self::URI)
|
||||||
|
|
|
@ -31,6 +31,10 @@ class BloombergBridge extends BridgeAbstract
|
||||||
return parent::getName();
|
return parent::getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://assets.bwbx.io/s3/javelin/public/hub/images/favicon-black-63fe5249d3.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData()
|
public function collectData()
|
||||||
{
|
{
|
||||||
switch($this->queriedContext) {
|
switch($this->queriedContext) {
|
||||||
|
|
|
@ -27,6 +27,10 @@ class BundesbankBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'resource/crblob/1890/a7f48ee0ae35348748121770ba3ca009/mL/favicon-ico-data.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function getURI() {
|
public function getURI() {
|
||||||
switch($this->getInput(self::PARAM_LANG)) {
|
switch($this->getInput(self::PARAM_LANG)) {
|
||||||
case self::LANG_EN: return self::URI . 'en/publications/reports/studies';
|
case self::LANG_EN: return self::URI . 'en/publications/reports/studies';
|
||||||
|
|
|
@ -7,6 +7,9 @@ class ChristianDailyReporterBridge extends BridgeAbstract {
|
||||||
const DESCRIPTION = 'The Unofficial Christian Daily Reporter RSS';
|
const DESCRIPTION = 'The Unofficial Christian Daily Reporter RSS';
|
||||||
// const CACHE_TIMEOUT = 86400; // 1 day
|
// const CACHE_TIMEOUT = 86400; // 1 day
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'images/cdrfavicon.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
$uri = 'https://www.christiandailyreporter.com/';
|
$uri = 'https://www.christiandailyreporter.com/';
|
||||||
|
|
|
@ -32,6 +32,10 @@ class ContainerLinuxReleasesBridge extends BridgeAbstract {
|
||||||
return json_decode($json, true);
|
return json_decode($json, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://coreos.com/assets/ico/favicon.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
$data = $this->getReleaseFeed($this->getJsonUri());
|
$data = $this->getReleaseFeed($this->getJsonUri());
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,10 @@ class DailymotionBridge extends BridgeAbstract {
|
||||||
return $metadata;
|
return $metadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://static1-ssl.dmcdn.net/images/neon/favicons/android-icon-36x36.png.vf806ca4ed0deed812';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = '';
|
$html = '';
|
||||||
$limit = 5;
|
$limit = 5;
|
||||||
|
|
|
@ -75,6 +75,10 @@ class DiceBridge extends BridgeAbstract {
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://assets.dice.com/techpro/img/favicons/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
$uri = 'https://www.dice.com/jobs/advancedResult.html';
|
$uri = 'https://www.dice.com/jobs/advancedResult.html';
|
||||||
$uri .= '?for_one=' . urlencode($this->getInput('for_one'));
|
$uri .= '?for_one=' . urlencode($this->getInput('for_one'));
|
||||||
|
|
|
@ -7,6 +7,11 @@ class DribbbleBridge extends BridgeAbstract {
|
||||||
const CACHE_TIMEOUT = 1800;
|
const CACHE_TIMEOUT = 1800;
|
||||||
const DESCRIPTION = 'Returns the newest popular shots from Dribbble.';
|
const DESCRIPTION = 'Returns the newest popular shots from Dribbble.';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://cdn.dribbble.com/assets/
|
||||||
|
favicon-63b2904a073c89b52b19aa08cebc16a154bcf83fee8ecc6439968b1e6db569c7.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM(self::URI . '/shots')
|
$html = getSimpleHTMLDOM(self::URI . '/shots')
|
||||||
or returnServerError('Error while downloading the website content');
|
or returnServerError('Error while downloading the website content');
|
||||||
|
|
|
@ -7,6 +7,11 @@ class EliteDangerousGalnetBridge extends BridgeAbstract {
|
||||||
const CACHE_TIMEOUT = 7200; // 2h
|
const CACHE_TIMEOUT = 7200; // 2h
|
||||||
const DESCRIPTION = 'Returns the latest page of news from Galnet';
|
const DESCRIPTION = 'Returns the latest page of news from Galnet';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://community.elitedangerous.com/sites/
|
||||||
|
EDSITE_COMM/themes/bootstrap/bootstrap_community/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM(self::URI)
|
$html = getSimpleHTMLDOM(self::URI)
|
||||||
or returnServerError('Error while downloading the website content');
|
or returnServerError('Error while downloading the website content');
|
||||||
|
|
|
@ -57,6 +57,10 @@ class ElsevierBridge extends BridgeAbstract {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://cdn.elsevier.io/verona/includes/favicons/favicon-32x32.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$uri = self::URI . $this->getInput('j') . '/recent-articles/';
|
$uri = self::URI . $this->getInput('j') . '/recent-articles/';
|
||||||
$html = getSimpleHTMLDOM($uri)
|
$html = getSimpleHTMLDOM($uri)
|
||||||
|
|
|
@ -15,6 +15,10 @@ class FB2Bridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://static.xx.fbcdn.net/rsrc.php/yo/r/iRmz9lCMBD2.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
|
|
||||||
//Utility function for cleaning a Facebook link
|
//Utility function for cleaning a Facebook link
|
||||||
|
|
|
@ -19,6 +19,10 @@ class FDroidBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'assets/favicon.ico?v=8j6PKzW9Mk';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$url = self::URI;
|
$url = self::URI;
|
||||||
$html = getSimpleHTMLDOM($url)
|
$html = getSimpleHTMLDOM($url)
|
||||||
|
|
|
@ -56,6 +56,10 @@ class FacebookBridge extends BridgeAbstract {
|
||||||
private $authorName = '';
|
private $authorName = '';
|
||||||
private $groupName = '';
|
private $groupName = '';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://static.xx.fbcdn.net/rsrc.php/yo/r/iRmz9lCMBD2.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function getName(){
|
public function getName(){
|
||||||
|
|
||||||
switch($this->queriedContext) {
|
switch($this->queriedContext) {
|
||||||
|
|
|
@ -7,6 +7,10 @@ class FierPandaBridge extends BridgeAbstract {
|
||||||
const CACHE_TIMEOUT = 21600; // 6h
|
const CACHE_TIMEOUT = 21600; // 6h
|
||||||
const DESCRIPTION = 'Returns latest articles from Fier Panda.';
|
const DESCRIPTION = 'Returns latest articles from Fier Panda.';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'wp-content/themes/fier-panda/img/favicon.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
|
|
||||||
$html = getSimpleHTMLDOM(self::URI)
|
$html = getSimpleHTMLDOM(self::URI)
|
||||||
|
|
|
@ -22,6 +22,10 @@ class GooglePlusPostBridge extends BridgeAbstract{
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://ssl.gstatic.com/images/branding/product/ico/google_plus_alldp.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
|
|
||||||
$username = $this->getInput('username');
|
$username = $this->getInput('username');
|
||||||
|
|
|
@ -13,6 +13,10 @@ class JapanExpoBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://s.japan-expo.com/katana/images/JES073/favicons/paris.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
|
|
||||||
function frenchPubDateToTimestamp($date_to_parse) {
|
function frenchPubDateToTimestamp($date_to_parse) {
|
||||||
|
|
|
@ -36,6 +36,11 @@ class KATBridge extends BridgeAbstract {
|
||||||
'name' => 'Only get results from Elite or Verified uploaders ?',
|
'name' => 'Only get results from Elite or Verified uploaders ?',
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://statuskatcrco-631f.kxcdn.com/assets/images/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
function parseDateTimestamp($element){
|
function parseDateTimestamp($element){
|
||||||
$guessedDate = strptime($element, '%d-%m-%Y %H:%M:%S');
|
$guessedDate = strptime($element, '%d-%m-%Y %H:%M:%S');
|
||||||
|
|
|
@ -38,6 +38,10 @@ class KernelBugTrackerBridge extends BridgeAbstract {
|
||||||
private $bugid = '';
|
private $bugid = '';
|
||||||
private $bugdesc = '';
|
private $bugdesc = '';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . '/images/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$limit = $this->getInput('limit');
|
$limit = $this->getInput('limit');
|
||||||
$sorting = $this->getInput('sorting');
|
$sorting = $this->getInput('sorting');
|
||||||
|
|
|
@ -38,6 +38,10 @@ class LegifranceJOBridge extends BridgeAbstract {
|
||||||
return $item;
|
return $item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://www.legifrance.gouv.fr/img/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM(self::URI)
|
$html = getSimpleHTMLDOM(self::URI)
|
||||||
or $this->returnServer('Unable to download ' . self::URI);
|
or $this->returnServer('Unable to download ' . self::URI);
|
||||||
|
|
|
@ -26,6 +26,10 @@ class NotAlwaysBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'favicon_nar.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM($this->getURI())
|
$html = getSimpleHTMLDOM($this->getURI())
|
||||||
or returnServerError('Could not request NotAlways.');
|
or returnServerError('Could not request NotAlways.');
|
||||||
|
|
|
@ -54,6 +54,10 @@ class NyaaTorrentsBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'static/favicon.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
|
|
||||||
// Build Search URL from user-provided parameters
|
// Build Search URL from user-provided parameters
|
||||||
|
|
|
@ -25,6 +25,10 @@ class PinterestBridge extends FeedExpander {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://s.pinimg.com/webapp/style/images/favicon-9f8f9adf.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
switch($this->queriedContext) {
|
switch($this->queriedContext) {
|
||||||
case 'By username and board':
|
case 'By username and board':
|
||||||
|
|
|
@ -5,6 +5,10 @@ class RadioMelodieBridge extends BridgeAbstract {
|
||||||
const DESCRIPTION = 'Retourne les actualités publiées par Radio Melodie';
|
const DESCRIPTION = 'Retourne les actualités publiées par Radio Melodie';
|
||||||
const MAINTAINER = 'sysadminstory';
|
const MAINTAINER = 'sysadminstory';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'img/favicon.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM(self::URI . 'actu')
|
$html = getSimpleHTMLDOM(self::URI . 'actu')
|
||||||
or returnServerError('Could not request Radio Melodie.');
|
or returnServerError('Could not request Radio Melodie.');
|
||||||
|
|
|
@ -7,6 +7,10 @@ class RainbowSixSiegeBridge extends BridgeAbstract {
|
||||||
const CACHE_TIMEOUT = 7200; // 2h
|
const CACHE_TIMEOUT = 7200; // 2h
|
||||||
const DESCRIPTION = 'Latest articles from the Rainbow Six Siege blog';
|
const DESCRIPTION = 'Latest articles from the Rainbow Six Siege blog';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://ubistatic19-a.akamaihd.net/resource/en-us/game/rainbow6/siege-v3/r6s-favicon_316592.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$dlUrl = 'https://prod-tridionservice.ubisoft.com/live/v1/News/Latest?templateId=tcm%3A152-7677';
|
$dlUrl = 'https://prod-tridionservice.ubisoft.com/live/v1/News/Latest?templateId=tcm%3A152-7677';
|
||||||
$dlUrl .= '8-32&pageIndex=0&pageSize=10&language=en-US&detailPageId=tcm%3A152-194572-64';
|
$dlUrl .= '8-32&pageIndex=0&pageSize=10&language=en-US&detailPageId=tcm%3A152-194572-64';
|
||||||
|
|
|
@ -13,6 +13,10 @@ class SupInfoBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . '/favicon.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData() {
|
public function collectData() {
|
||||||
|
|
||||||
if(empty($this->getInput('tag'))) {
|
if(empty($this->getInput('tag'))) {
|
||||||
|
|
|
@ -14,6 +14,10 @@ class TagBoardBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://static.tagboard.com/public/favicon-32x32.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$link = 'https://post-cache.tagboard.com/search/' . $this->getInput('u');
|
$link = 'https://post-cache.tagboard.com/search/' . $this->getInput('u');
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,10 @@ class TebeoBridge extends FeedExpander {
|
||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'images/header_logo.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$url = self::URI . '/le-replay/' . $this->getInput('cat');
|
$url = self::URI . '/le-replay/' . $this->getInput('cat');
|
||||||
$html = getSimpleHTMLDOM($url)
|
$html = getSimpleHTMLDOM($url)
|
||||||
|
|
|
@ -158,6 +158,10 @@ class TheTVDBBridge extends BridgeAbstract {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'application/themes/thetvdb/images/logo.png';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$serie_id = $this->getInput('serie_id');
|
$serie_id = $this->getInput('serie_id');
|
||||||
$nbepisode = $this->getInput('nb_episode');
|
$nbepisode = $this->getInput('nb_episode');
|
||||||
|
|
|
@ -16,6 +16,11 @@ class WhydBridge extends BridgeAbstract {
|
||||||
|
|
||||||
private $userName = '';
|
private $userName = '';
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return self::URI . 'assets/favicons/
|
||||||
|
32-6b62a9f14d5e1a9213090d8f00f286bba3a6022381a76390d1d0926493b12593.png?v=6';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = '';
|
$html = '';
|
||||||
if(strlen(preg_replace('/[^0-9a-f]/', '', $this->getInput('u'))) == 24) {
|
if(strlen(preg_replace('/[^0-9a-f]/', '', $this->getInput('u'))) == 24) {
|
||||||
|
|
|
@ -16,6 +16,10 @@ class ZoneTelechargementBridge extends BridgeAbstract {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
public function getIcon() {
|
||||||
|
return 'https://ww7.zone-telechargement1.org/templates/Default/images/favicon.ico';
|
||||||
|
}
|
||||||
|
|
||||||
public function collectData(){
|
public function collectData(){
|
||||||
$html = getSimpleHTMLDOM(self::URI . $this->getInput('url'))
|
$html = getSimpleHTMLDOM(self::URI . $this->getInput('url'))
|
||||||
or returnServerError('Could not request Zone Telechargement.');
|
or returnServerError('Could not request Zone Telechargement.');
|
||||||
|
|
Loading…
Reference in a new issue