90 lines
3.1 KiB
PHP
90 lines
3.1 KiB
PHP
<?php
|
|
class AnantaBridge extends BridgeAbstract {
|
|
|
|
const MAINTAINER = 'Akamaru';
|
|
const NAME = 'Ananta Game News';
|
|
const URI = 'https://www.anantagame.com/news/';
|
|
const CACHE_TIMEOUT = 21600; // 21600 = 6h
|
|
const DESCRIPTION = 'Get the latest news from Ananta Game';
|
|
|
|
public function getIcon(){
|
|
return 'https://www.anantagame.com/images/20241204/1733327984739_d3f0254e11.jpg';
|
|
}
|
|
|
|
public function collectData() {
|
|
// Retrieve webpage
|
|
$pageUrl = self::URI;
|
|
$html = getSimpleHTMLDOM($pageUrl)
|
|
or returnServerError('Could not request webpage: ' . $pageUrl);
|
|
|
|
// Process articles
|
|
foreach($html->find('.news-item') as $element) {
|
|
|
|
if(count($this->items) >= 10) {
|
|
break;
|
|
}
|
|
|
|
$item = array();
|
|
|
|
// Get article URI (link)
|
|
$item['uri'] = $element->href;
|
|
|
|
// Get article title
|
|
$title_element = $element->find('.news-title', 0);
|
|
if ($title_element) {
|
|
$item['title'] = trim(strip_tags($title_element->innertext));
|
|
}
|
|
|
|
// Get article description/content
|
|
$desc_element = $element->find('.news-desc', 0);
|
|
if ($desc_element) {
|
|
$article_content = trim(strip_tags($desc_element->innertext));
|
|
} else {
|
|
$article_content = '';
|
|
}
|
|
|
|
// Get article date
|
|
$date_element = $element->find('.news-date', 0);
|
|
if ($date_element) {
|
|
$article_date = trim(strip_tags($date_element->innertext));
|
|
$item['timestamp'] = strtotime($article_date);
|
|
}
|
|
|
|
// Get article category
|
|
$tag_element = $element->find('.js-news-tag', 0);
|
|
if ($tag_element) {
|
|
$article_category = trim(strip_tags($tag_element->innertext));
|
|
$item['categories'] = array($article_category);
|
|
}
|
|
|
|
// Get article image
|
|
$img_element = $element->find('.news-item-right img', 0);
|
|
if ($img_element) {
|
|
$article_thumbnail = $img_element->src;
|
|
$item['enclosures'] = array($article_thumbnail);
|
|
}
|
|
|
|
// Build content with image and text
|
|
$content = '';
|
|
if (isset($article_thumbnail)) {
|
|
$content .= '<img src="' . $article_thumbnail . '" alt="' . htmlspecialchars($item['title']) . '">';
|
|
}
|
|
if ($article_content) {
|
|
$content .= '<p>' . $article_content . '</p>';
|
|
}
|
|
if (isset($article_category)) {
|
|
$content .= '<p><b>Category:</b> ' . $article_category . '</p>';
|
|
}
|
|
if (isset($article_date)) {
|
|
$content .= '<p><b>Date:</b> ' . $article_date . '</p>';
|
|
}
|
|
|
|
$item['content'] = $content;
|
|
|
|
// Generate unique ID
|
|
$item['uid'] = $item['uri'];
|
|
|
|
$this->items[] = $item;
|
|
}
|
|
}
|
|
}
|