/** * Создаёт базовую rss со всеми настройками * @static * @param bool $ignoreCache * @return rss */ public static function make($ignoreCache = false) { $rss = new self(); $rss->getSettings(); if ($rss->settings['onLine'] == 0) { return false; } // проверяем кэш $cachedRss = $rss->getCache(); if (!empty($cachedRss) && !$ignoreCache) { $rss->xml = $cachedRss; $rss->cached = true; return $rss; } $rss->rssDoc = new \DOMDocument(); $rss->rssDoc->formatOutput = true; $rss->rssDoc->encoding = 'utf-8'; $rss->rss = $rss->rssDoc->appendChild($rss->rssDoc->createElement('rss')); $rss->rss->setAttribute('version', '2.0'); $rss->channel = $rss->rss->appendChild($rss->rssDoc->createElement('channel')); $rss->channel->appendChild($rss->rssDoc->createElement('title', $rss->settings['title'])); $rss->channel->appendChild($rss->rssDoc->createElement('link', $rss->settings['link'])); $rss->channel->appendChild($rss->rssDoc->createElement('language', Envi\Setup::getLocale())); if (!empty($rss->settings['description'])) { $rss->channel->appendChild($rss->rssDoc->createElement('description', $rss->settings['description'])); } $rss->channel->appendChild($rss->rssDoc->createElement('ttl', $rss->settings['ttl'])); if (!empty($rss->settings['copyright'])) { $copyRight = 'Copyright ' . date('Y') . ', ' . $rss->settings['copyright']; $rss->channel->appendChild($rss->rssDoc->createElement('copyright', $copyRight)); } $pubDate = date('r'); $rss->channel->appendChild($rss->rssDoc->createElement('pubDate', $pubDate)); $rss->rssImage(); return $rss; }