mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2025-08-11 11:04:36 +02:00
bridges: Fix coding styles
This commit is a squash of all commits that fix coding styles for the new coding style policy. [ABCTabsBridge] Fix coding style [AcrimedBridge] Fix coding style [AllocineFRBridge] Fix coding style [AnimeUltimeBridge] Fix coding style [Arte7Bridge] Fix coding style [AskfmBridge] Fix coding style [BandcampBridge] Fix coding style [BastaBridge] Fix coding style [BlaguesDeMerdeBridge] Fix coding style [BooruprojectBridge] Fix coding style [CADBridge] Fix coding style [CNETBridge] Fix coding style [CastorusBridge] Fix coding style [CollegeDeFranceBridge] Fix coding style [CommonDreamsBridge] Fix coding style [CopieDoubleBridge] Fix coding style [CourrierInternationalBridge] Fix coding style [CpasbienBridge] Fix coding style [CryptomeBridge] Fix coding style [DailymotionBridge] Fix coding style [DanbooruBridge] Fix coding style [DansTonChatBridge] Fix coding style [DauphineLibereBridge] Fix coding style [DeveloppezDotComBridge] Fix coding style [DemoBridge] Fix coding style [DilbertBridge] Fix coding style [DuckDuckGoBridge] Fix coding style [DollbooruBridge] Fix coding style [EliteDangerousGalnetBridge] Fix coding style [ElsevierBridge] Fix coding style [EstCeQuonMetEnProdBridge] Fix coding style [EZTVBridge] Fix coding style [FacebookBridge] Fix coding style [FeedExpanderExampleBridge] Fix coding style [FB2Bridge] Fix coding style [FierPandaBridge] Fix coding style [FlickrBridge] Fix coding style [FootitoBridge] Fix coding style [FourchanBridge] Fix coding style [FuturaSciencesBridge] Fix coding style [GBAtempBridge] Fix coding style [GelbooruBridge] Fix coding style [GiphyBridge] Fix coding style [GithubIssueBridge] Fix coding style [GizmodoBridge] Fix coding style [GoComicsBridge] Fix coding style [GooglePlusPostBridge] Fix coding style [GoogleSearchBridge] Fix coding style [HDWallpapersBridge] Fix coding style [HentaiHavenBridge] Fix coding style [IdenticaBridge] Fix coding style [InstagramBridge] Fix coding style [IsoHuntBridge] Fix coding style [JapanExpoBridge] Fix coding style [KonachanBridge] Fix coding style [KoreusBridge] Fix coding style [KununuBridge] Fix coding style [LeBonCoinBridge] Fix coding style [LegifranceJOBBridge] Fix coding style [LeMondeInformatiqueBridge] Fix coding style [LesJoiesDuCodeBridge] Fix coding style [LichessBridge] Fix coding style [LinkedInCompanyBridge] Fix coding style [LolibooruBridge] Fix coding style [LWNprevBridge] Fix coding style [MangareaderBridge] Fix coding style [MilbooruBridge] Fix coding style [MixCloudBridge] Fix coding style [MoebooruBridge] Fix coding style [MondeDiploBridge] Fix coding style [MsnMondeBridge] Fix coding style [MspabooruBridge] Fix coding style [NasaApodBridge] Fix coding style [NeuviemeArtBridge] Fix coding style [NextgovBridge] Fix coding style [NextInpactBridge] Fix coding style [NiceMatinBridge] Fix coding style [NovelUpdatesBridge] Fix coding style [OpenClassroomsBridge] Fix coding style [ParuVenduImmoBridge] Fix coding style [PickyWallpapersBridge] Fix coding style [PinterestBridge] Fix coding style [PlanetLibreBridge] Fix coding style [ReadComicsBridge] Fix coding style [Releases3DSBridge] Fix coding style [ReporterreBridge] Fix coding style [RTBFBridge] Fix coding style [Rue89Bridge] Fix coding style [Rule34Bridge] Fix coding style [Rule34pahealBridge] Fix coding style [SafebooruBridge] Fix coding style [SakugabooruBridge] Fix coding style [ScmbBridge] Fix coding style [ScoopItBridge] Fix coding style [SensCritiqueBridge] Fix coding style [SexactuBridge] Fix coding style [ShanaprojectBridge] Fix coding style [Shimmie2Bridge] Fix coding style [SoundcloudBridge] Fix coding style [StripeAPIChangeLogBridge] Fix coding style [SuperbWallpapersBridge] Fix coding style [T411Bridge] Fix coding style [TagBoardBridge] Fix coding style [TbibBridge] Fix coding style [TheCodingLoveBridge] Fix coding style [TheHackerNewsBridge] Fix coding style [ThePirateBayBridge] Fix coding style [TheTVDBBridge] Fix coding style [Torrent9Bridge] Fix coding style [TwitterBridge] Fix coding style [UnsplashBridge] Fix coding style [ViadeoCompanyBridge] Fix coding style [VineBridge] Fix coding style [VkBridge] Fix coding style [WallpaperStopBridge] Fix coding style [WebfailBridge] Fix coding style [WeLiveSecurityBridge] Fix coding style [WhydBridge] Fix coding style [WikipediaBridge] Fix coding style [WordPressBridge] Fix coding style [WorldOfTanksBridge] Fix coding style [XbooruBridge] Fix coding style [YandereBridge] Fix coding style [YoutubeBridge] Fix coding style [ZDNetBridge] Fix coding style
This commit is contained in:
@@ -1,64 +1,68 @@
|
||||
<?php
|
||||
class TwitterBridge extends BridgeAbstract{
|
||||
const NAME='Twitter Bridge';
|
||||
const URI='https://twitter.com/';
|
||||
const CACHE_TIMEOUT = 300; // 5min
|
||||
const DESCRIPTION='returns tweets';
|
||||
class TwitterBridge extends BridgeAbstract {
|
||||
const NAME = 'Twitter Bridge';
|
||||
const URI = 'https://twitter.com/';
|
||||
const CACHE_TIMEOUT = 300; // 5min
|
||||
const DESCRIPTION = 'returns tweets';
|
||||
const MAINTAINER = 'pmaziere';
|
||||
const PARAMETERS=array(
|
||||
'global'=>array(
|
||||
'nopic'=>array(
|
||||
'name'=>'Hide profile pictures',
|
||||
'type'=>'checkbox',
|
||||
'title'=>'Activate to hide profile pictures in content'
|
||||
)
|
||||
),
|
||||
'By keyword or hashtag' => array(
|
||||
'q'=>array(
|
||||
'name'=>'Keyword or #hashtag',
|
||||
'required'=>true,
|
||||
'exampleValue'=>'rss-bridge, #rss-bridge',
|
||||
'title'=>'Insert a keyword or hashtag'
|
||||
)
|
||||
),
|
||||
'By username' => array(
|
||||
'u'=>array(
|
||||
'name'=>'username',
|
||||
'required'=>true,
|
||||
'exampleValue'=>'sebsauvage',
|
||||
'title'=>'Insert a user name'
|
||||
),
|
||||
'norep'=>array(
|
||||
'name'=>'Without replies',
|
||||
'type'=>'checkbox',
|
||||
'title'=>'Only return initial tweets'
|
||||
)
|
||||
)
|
||||
);
|
||||
const PARAMETERS = array(
|
||||
'global' => array(
|
||||
'nopic' => array(
|
||||
'name' => 'Hide profile pictures',
|
||||
'type' => 'checkbox',
|
||||
'title' => 'Activate to hide profile pictures in content'
|
||||
)
|
||||
),
|
||||
'By keyword or hashtag' => array(
|
||||
'q' => array(
|
||||
'name' => 'Keyword or #hashtag',
|
||||
'required' => true,
|
||||
'exampleValue' => 'rss-bridge, #rss-bridge',
|
||||
'title' => 'Insert a keyword or hashtag'
|
||||
)
|
||||
),
|
||||
'By username' => array(
|
||||
'u' => array(
|
||||
'name' => 'username',
|
||||
'required' => true,
|
||||
'exampleValue' => 'sebsauvage',
|
||||
'title' => 'Insert a user name'
|
||||
),
|
||||
'norep' => array(
|
||||
'name' => 'Without replies',
|
||||
'type' => 'checkbox',
|
||||
'title' => 'Only return initial tweets'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
public function getName(){
|
||||
switch($this->queriedContext){
|
||||
case 'By keyword or hashtag':
|
||||
$specific='search ';
|
||||
$param='q';
|
||||
break;
|
||||
case 'By username':
|
||||
$specific='@';
|
||||
$param='u';
|
||||
break;
|
||||
}
|
||||
return 'Twitter '.$specific.$this->getInput($param);
|
||||
}
|
||||
public function getName(){
|
||||
switch($this->queriedContext){
|
||||
case 'By keyword or hashtag':
|
||||
$specific = 'search ';
|
||||
$param = 'q';
|
||||
break;
|
||||
case 'By username':
|
||||
$specific = '@';
|
||||
$param = 'u';
|
||||
break;
|
||||
}
|
||||
return 'Twitter ' . $specific . $this->getInput($param);
|
||||
}
|
||||
|
||||
public function getURI(){
|
||||
switch($this->queriedContext){
|
||||
case 'By keyword or hashtag':
|
||||
return self::URI.'search?q='.urlencode($this->getInput('q')).'&f=tweets';
|
||||
case 'By username':
|
||||
return self::URI.urlencode($this->getInput('u')).
|
||||
($this->getInput('norep')?'':'/with_replies');
|
||||
}
|
||||
}
|
||||
public function getURI(){
|
||||
switch($this->queriedContext){
|
||||
case 'By keyword or hashtag':
|
||||
return self::URI
|
||||
. 'search?q='
|
||||
. urlencode($this->getInput('q'))
|
||||
. '&f=tweets';
|
||||
case 'By username':
|
||||
return self::URI
|
||||
. urlencode($this->getInput('u'))
|
||||
. ($this->getInput('norep') ? '' : '/with_replies');
|
||||
}
|
||||
}
|
||||
|
||||
public function collectData(){
|
||||
$html = '';
|
||||
@@ -75,7 +79,7 @@ class TwitterBridge extends BridgeAbstract{
|
||||
|
||||
$hidePictures = $this->getInput('nopic');
|
||||
|
||||
foreach($html->find('div.js-stream-tweet') as $tweet) {
|
||||
foreach($html->find('div.js-stream-tweet') as $tweet){
|
||||
$item = array();
|
||||
// extract username and sanitize
|
||||
$item['username'] = $tweet->getAttribute('data-screen-name');
|
||||
@@ -88,15 +92,21 @@ class TwitterBridge extends BridgeAbstract{
|
||||
// get TweetID
|
||||
$item['id'] = $tweet->getAttribute('data-tweet-id');
|
||||
// get tweet link
|
||||
$item['uri'] = self::URI.$tweet->find('a.js-permalink', 0)->getAttribute('href');
|
||||
$item['uri'] = self::URI . $tweet->find('a.js-permalink', 0)->getAttribute('href');
|
||||
// extract tweet timestamp
|
||||
$item['timestamp'] = $tweet->find('span.js-short-timestamp', 0)->getAttribute('data-time');
|
||||
// generate the title
|
||||
$item['title'] = strip_tags(html_entity_decode($tweet->find('p.js-tweet-text', 0)->innertext,ENT_QUOTES,'UTF-8'));
|
||||
$item['title'] = strip_tags(
|
||||
html_entity_decode(
|
||||
$tweet->find('p.js-tweet-text', 0)->innertext,
|
||||
ENT_QUOTES,
|
||||
'UTF-8'
|
||||
)
|
||||
);
|
||||
|
||||
// processing content links
|
||||
foreach($tweet->find('a') as $link) {
|
||||
if($link->hasAttribute('data-expanded-url') ) {
|
||||
foreach($tweet->find('a') as $link){
|
||||
if($link->hasAttribute('data-expanded-url')){
|
||||
$link->href = $link->getAttribute('data-expanded-url');
|
||||
}
|
||||
$link->removeAttribute('data-expanded-url');
|
||||
@@ -113,13 +123,23 @@ class TwitterBridge extends BridgeAbstract{
|
||||
}
|
||||
|
||||
// get tweet text
|
||||
$cleanedTweet = str_replace('href="/', 'href="'.self::URI, $tweet->find('p.js-tweet-text', 0)->innertext);
|
||||
$cleanedTweet = str_replace(
|
||||
'href="/',
|
||||
'href="' . self::URI,
|
||||
$tweet->find('p.js-tweet-text', 0)->innertext
|
||||
);
|
||||
|
||||
// Add picture to content
|
||||
$picture_html = '';
|
||||
if(!$hidePictures){
|
||||
$picture_html = <<<EOD
|
||||
<a href="https://twitter.com/{$item['username']}"><img style="align: top; width:75 px; border: 1px solid black;" alt="{$item['username']}" src="{$item['avatar']}" title="{$item['fullname']}" /></a>
|
||||
<a href="https://twitter.com/{$item['username']}">
|
||||
<img
|
||||
style="align: top; width:75 px; border: 1px solid black;"
|
||||
alt="{$item['username']}"
|
||||
src="{$item['avatar']}"
|
||||
title="{$item['fullname']}" />
|
||||
</a>
|
||||
EOD;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user