forked from blallo/rss-bridge
fix issue #64
This commit is contained in:
parent
b6602fc8e3
commit
d4de199501
1 changed files with 31 additions and 64 deletions
|
@ -4,78 +4,45 @@
|
||||||
* @name Tuxboard
|
* @name Tuxboard
|
||||||
* @homepage http://www.tuxboard.com/
|
* @homepage http://www.tuxboard.com/
|
||||||
* @description Tuxboard
|
* @description Tuxboard
|
||||||
* @update 15/01/2014
|
* @update 2014-07-08
|
||||||
* initial maintainer: superbaillot.net
|
* initial maintainer: superbaillot.net
|
||||||
*/
|
*/
|
||||||
class TuxboardBridge extends BridgeAbstract{
|
class TuxboardBridge extends BridgeAbstract{
|
||||||
|
|
||||||
public function collectData(array $param){
|
public function collectData(array $param){
|
||||||
$html = file_get_html('http://www.tuxboard.com') or $this->returnError('Could not request Tuxboard.', 404);
|
|
||||||
|
|
||||||
foreach($html->find('div.posts') as $element) {
|
function StripCDATA($string) {
|
||||||
$a = $element->find("h2 a", 0);
|
$string = str_replace('<![CDATA[', '', $string);
|
||||||
$category = $element->find("div#category", 0);
|
$string = str_replace(']]>', '', $string);
|
||||||
$catTxt = $category->innertext;
|
return $string;
|
||||||
$posFinDate = strpos(" -", $catTxt);
|
|
||||||
$list = explode(" ", trim(substr($catTxt, $posFinDate)));
|
|
||||||
$jour = $list[0];
|
|
||||||
$mois = 1;
|
|
||||||
$annee = $list[2];
|
|
||||||
|
|
||||||
switch (strtolower($list[1]))
|
|
||||||
{
|
|
||||||
case "janvier" :
|
|
||||||
$mois = 1;
|
|
||||||
break;
|
|
||||||
case "février" :
|
|
||||||
case "fevrier" :
|
|
||||||
$mois = 2;
|
|
||||||
break;
|
|
||||||
case "mars" :
|
|
||||||
$mois = 3;
|
|
||||||
break;
|
|
||||||
case "avril" :
|
|
||||||
$mois = 4;
|
|
||||||
break;
|
|
||||||
case "mai" :
|
|
||||||
$mois = 5;
|
|
||||||
break;
|
|
||||||
case "juin" :
|
|
||||||
$mois = 6;
|
|
||||||
break;
|
|
||||||
case "juillet" :
|
|
||||||
$mois = 7;
|
|
||||||
break;
|
|
||||||
case "aout" :
|
|
||||||
case "août" :
|
|
||||||
$mois = 8;
|
|
||||||
break;
|
|
||||||
case "septembre" :
|
|
||||||
$mois = 9;
|
|
||||||
break;
|
|
||||||
case "octobre" :
|
|
||||||
$mois = 10;
|
|
||||||
break;
|
|
||||||
case "novembre" :
|
|
||||||
$mois = 11;
|
|
||||||
break;
|
|
||||||
case "decembre" :
|
|
||||||
case "décembre" :
|
|
||||||
$mois = 12;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$item = new Item();
|
function ExtractContent($url) {
|
||||||
|
$html2 = file_get_html($url);
|
||||||
|
$text = $html2->find('article#page', 0)->innertext;
|
||||||
|
$text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
|
||||||
|
return $text;
|
||||||
|
}
|
||||||
|
|
||||||
$item->uri = $a->href;
|
$html = file_get_html('http://www.tuxboard.com/feed/atom/') or $this->returnError('Could not request Tuxboard.', 404);
|
||||||
$item->title = $a->innertext;
|
$limit = 0;
|
||||||
$item->content = trim($element->find("div.clear", 0)->innertext);
|
|
||||||
$item->timestamp = mktime(0, 0, 0, $mois, $jour, $annee);
|
|
||||||
|
|
||||||
|
foreach($html->find('entry') as $element) {
|
||||||
|
if($limit < 10) {
|
||||||
|
$item = new \Item();
|
||||||
|
$item->title = StripCDATA($element->find('title', 0)->innertext);
|
||||||
|
$item->uri = $element->find('link', 0)->href;
|
||||||
|
$item->timestamp = strtotime($element->find('published', 0)->plaintext);
|
||||||
|
$item->content = ExtractContent($item->uri);
|
||||||
$this->items[] = $item;
|
$this->items[] = $item;
|
||||||
|
$limit++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function getName(){
|
public function getName(){
|
||||||
return 'Tuxboard';
|
return 'Tuxboard';
|
||||||
}
|
}
|
||||||
|
@ -89,7 +56,7 @@ class TuxboardBridge extends BridgeAbstract{
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getCacheDuration(){
|
public function getCacheDuration(){
|
||||||
return 14600; // 4 hours
|
return 3600; // 1 hour
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in a new issue