1
0
Files
Bridges/AnantaBridge.php
2025-04-25 18:41:50 +02:00

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;
}
}
}