rss-bridge/bridges/KhinsiderBridge.php

42 lines
1.4 KiB
PHP
Raw Normal View History

2021-12-20 10:36:44 +03:00
<?php
class KhinsiderBridge extends BridgeAbstract
{
const MAINTAINER = 'Chouchenos';
const NAME = 'Khinsider';
const URI = 'https://downloads.khinsider.com/';
const CACHE_TIMEOUT = 14400; // 4 h
const DESCRIPTION = 'Fetch daily game OST from Khinsider';
2021-12-20 10:36:44 +03:00
public function collectData()
{
$html = getSimpleHTMLDOM(self::URI);
2021-12-20 10:36:44 +03:00
$dates = $html->find('.latestSoundtrackHeading');
$tables = $html->find('.albumList');
// $dates is empty
foreach ($dates as $i => $date) {
$item = [];
$item['uri'] = self::URI;
$item['timestamp'] = DateTime::createFromFormat('F jS, Y', $date->plaintext)->setTime(1, 1)->format('U');
$item['title'] = sprintf('OST for %s', $date->plaintext);
$item['author'] = 'Khinsider';
$trs = $tables[$i]->find('tr');
$content = '<ul>';
foreach ($trs as $tr) {
$td = $tr->find('td', 1);
if (null !== $td) {
$link = $td->find('a', 0);
$content .= sprintf('<li><a href="%s">%s</a></li>', $link->href, $link->plaintext);
}
}
$content .= '</ul>';
$item['content'] = $content;
$item['uid'] = $item['timestamp'];
$item['categories'] = ['Video games', 'Music', 'OST', 'download'];
2021-12-20 10:36:44 +03:00
$this->items[] = $item;
}
}
2021-12-20 10:36:44 +03:00
}