';
$header .= $this->getLicenseInfo();
// End Tools
$header .= '
';
$header = '
'.$header.'
';
return $this->getLastNews().$header;
}
private function getLastNews()
{
$lastNewsCheck = $this->config->get('last_news_check', 0);
if ($lastNewsCheck < time() - 7200) {
$context = stream_context_create(['http' => ['timeout' => 1]]);
$news = @file_get_contents(ACYC_ACYMAILLING_WEBSITE.'acymnews.xml', false, $context);
$this->config->save(
[
'last_news_check' => time(),
'last_news' => base64_encode($news),
],
false
);
} else {
$news = $this->config->get('last_news', '');
if (!empty($news)) $news = base64_decode($news);
}
if (empty($news)) return '';
$news = @simplexml_load_string($news);
if (empty($news->news)) return '';
$currentLanguage = Language::getLanguageTag();
$latestNews = null;
$doNotRemind = json_decode($this->config->get('remindme', '[]'));
foreach ($news->news as $oneNews) {
// If we found a news more recent, it means we found the latest available one
if (!empty($latestNews) && strtotime($latestNews->date) > strtotime($oneNews->date)) break;
// If the news isn't published or that the language isn't correct, leave
$language = strtolower($oneNews->language);
if (empty($oneNews->published) || ($language != strtolower($currentLanguage) && ($language != 'default' || !empty($latestNews)))) {
continue;
}
// If the extension isn't correct, leave
if (!empty($oneNews->extension) && strtolower($oneNews->extension) != 'acychecker') continue;
// If the CMS isn't correct, leave
if (!empty($oneNews->cms) && strtolower($oneNews->cms) != strtolower('wordpress')) continue;
// If the level of the extension isn't correct, leave
if (!empty($oneNews->level) && strtolower($oneNews->level) != strtolower($this->config->get('level'))) continue;
// If the version of the extension isn't correct, leave
if (!empty($oneNews->version)) {
list($version, $operator) = explode('_', $oneNews->version);
if (!version_compare($this->config->get('version'), $version, $operator)) continue;
}
if (in_array($oneNews->name, $doNotRemind)) continue;
$latestNews = $oneNews;
}
if (empty($latestNews)) return '';
$newsDisplay = '