Example #1
0
 /**
  * Создаёт базовую 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;
 }