Bridge titles more accurate (and YoutubeBridge secured)

This commit is contained in:
ArthurHoaro 2013-08-15 13:58:58 +02:00
parent 8d73dd6cd7
commit bea563dab9
4 changed files with 30 additions and 10 deletions

View file

@ -15,11 +15,14 @@
*/
class GoogleSearchBridge extends BridgeAbstract{
private $request;
public function collectData(array $param){
$html = '';
if (isset($param['q'])) { /* keyword search mode */
$html = file_get_html('http://www.google.com/search?q=' . urlencode($param['q']) . '&num=100&complete=0&tbs=qdr:y,sbd:1') or $this->returnError('No results for this query.', 404);
$this->request = $param['q'];
$html = file_get_html('http://www.google.com/search?q=' . urlencode($this->request) . '&num=100&complete=0&tbs=qdr:y,sbd:1') or $this->returnError('No results for this query.', 404);
}
else{
$this->returnError('You must specify a keyword (?q=...).', 400);
@ -43,7 +46,7 @@ class GoogleSearchBridge extends BridgeAbstract{
}
public function getName(){
return 'Google search';
return (!empty($this->request) ? $this->request .' - ' : '') .'Google search';
}
public function getURI(){

View file

@ -7,11 +7,14 @@
* @use1(u="username")
*/
class IdenticaBridge extends BridgeAbstract{
private $request;
public function collectData(array $param){
$html = '';
if (isset($param['u'])) { /* user timeline mode */
$html = file_get_html('https://identi.ca/'.urlencode($param['u'])) or $this->returnError('Requested username can\'t be found.', 404);
$this->request = $param['u'];
$html = file_get_html('https://identi.ca/'.urlencode($this->request)) or $this->returnError('Requested username can\'t be found.', 404);
}
else {
$this->returnError('You must specify an Identica username (?u=...).', 400);
@ -28,7 +31,7 @@ class IdenticaBridge extends BridgeAbstract{
}
public function getName(){
return 'Identica Bridge';
return (!empty($this->request) ? $this->request .' - ' : '') .'Identica Bridge';
}
public function getURI(){

View file

@ -9,14 +9,18 @@
* @use2(u="username")
*/
class TwitterBridge extends BridgeAbstract{
private $request;
public function collectData(array $param){
$html = '';
if (isset($param['q'])) { /* keyword search mode */
$html = file_get_html('http://twitter.com/search/realtime?q='.urlencode($param['q']).'+include:retweets&src=typd') or $this->returnError('No results for this query.', 404);
$this->request = $param['q'];
$html = file_get_html('http://twitter.com/search/realtime?q='.urlencode($this->request).'+include:retweets&src=typd') or $this->returnError('No results for this query.', 404);
}
elseif (isset($param['u'])) { /* user timeline mode */
$html = file_get_html('http://twitter.com/'.urlencode($param['u'])) or $this->returnError('Requested username can\'t be found.', 404);
$this->request = $param['u'];
$html = file_get_html('http://twitter.com/'.urlencode($this->request)) or $this->returnError('Requested username can\'t be found.', 404);
}
else {
$this->returnError('You must specify a keyword (?q=...) or a Twitter username (?u=...).', 400);
@ -37,7 +41,7 @@ class TwitterBridge extends BridgeAbstract{
}
public function getName(){
return 'Twitter Bridge';
return (!empty($this->request) ? $this->request .' - ' : '') .'Twitter Bridge';
}
public function getURI(){

View file

@ -8,9 +8,19 @@
* @use1(u="username")
*/
class YoutubeBridge extends BridgeAbstract{
private $request;
public function collectData(array $param){
$html = file_get_html('https://www.youtube.com/user/'.urlencode($param['u']).'/videos') or $this->returnError('Could not request Youtube.', 404);
$html = '';
if (isset($param['u'])) { /* user timeline mode */
$this->request = $param['u'];
$html = file_get_html('https://www.youtube.com/user/'.urlencode($this->request).'/videos') or $this->returnError('Could not request Youtube.', 404);
}
else {
$this->returnError('You must specify a Youtbe username (?u=...).', 400);
}
foreach($html->find('li.channels-content-item') as $element) {
$item = new \Item();
@ -23,7 +33,7 @@ class YoutubeBridge extends BridgeAbstract{
}
public function getName(){
return 'Youtube Bridge';
return (!empty($this->request) ? $this->request .' - ' : '') .'Youtube Bridge';
}
public function getURI(){