'; $header .= $this->getBreadcrumb($breadcrumb); $header .= ''; $header .= '
'; $header .= '
'; $header .= $this->checkVersionArea(); $header .= '
'; $header .= '
'; $header .= $this->getCheckVersionButton(); $header .= $this->getHelpWedButton(); $header .= $this->getDocumentationButton(); $header .= $this->getNotificationCenter(); $header .= '
'; $header .= '
'; $header = '
'.$header.'
'; return $this->getLastNews().$header; } private function getLastNews(): string { $lastNewsCheck = $this->config->get('last_news_check', 0); if ($lastNewsCheck < time() - 7200) { $context = stream_context_create(['http' => ['timeout' => 1]]); $news = @file_get_contents(ACYM_ACYMAILING_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 = acym_getLanguageTag(); $latestNews = null; $doNotRemind = json_decode($this->config->get('remindme', '[]')); foreach ($news->news as $oneNews) { if (!empty($latestNews) && strtotime($latestNews->date) > strtotime($oneNews->date)) break; $language = strtolower($oneNews->language); if (empty($oneNews->published) || ($language != strtolower($currentLanguage) && ($language != 'default' || !empty($latestNews)))) { continue; } if (!empty($oneNews->extension) && strtolower($oneNews->extension) !== 'acymailing') continue; if (!empty($oneNews->cms) && strtolower($oneNews->cms) != strtolower('WordPress')) continue; if (!empty($oneNews->level) && strtolower($oneNews->level) != strtolower($this->config->get('level'))) continue; if (!empty($oneNews->version)) { [$version, $operator] = explode('_', $oneNews->version); if (!version_compare($this->config->get('version'), $version, $operator)) continue; } if (!empty($oneNews->mailermethod)) { $sendMethod = $this->config->get('mailer_method', ''); if ($oneNews->mailermethod !== $sendMethod) continue; } if (in_array($oneNews->name, $doNotRemind)) continue; $latestNews = $oneNews; } if (empty($latestNews)) { return ''; } $newsDisplay = '
'; $newsDisplay .= $latestNews->content; $newsDisplay .= '
'; return $newsDisplay; } private function getBreadcrumb(array $breadcrumb): string { $links = []; foreach ($breadcrumb as $oneLevel => $link) { if (!empty($link)) { $oneLevel = ''.$oneLevel.''; } $links[] = '
  • '.$oneLevel.'
  • '; } if (count($links) > 1) { $links[count($links) - 1] = str_replace('
  • ', '