/** * Updates Feeds */ public static function UpdateFeeds() { global $objSettings, $objSiteDescription; $default_lang = Languages::GetDefaultLang(); $current_rss_ids = $objSettings->GetParameter('rss_last_ids'); $rss_ids = ''; self::SetType($objSettings->GetParameter('rss_feed_type')); self::SetChannel(APPHP_BASE . 'feeds/rss.xml', $objSiteDescription->GetParameter('header_text'), $objSiteDescription->GetParameter('tag_description'), 'en-us', '(c) copyright', $objSettings->GetParameter('admin_email'), $objSiteDescription->GetParameter('tag_description')); self::SetImage(APPHP_BASE . 'images/icons/logo.png'); $all_news = News::GetAllNews('previous', $default_lang); for ($i = 0; $i < $all_news[1] && $i < 10; $i++) { $rss_ids .= ($i > 0 ? '-' : '') . $all_news[0][$i]['id']; } // check if there difference between RSS IDs, so we have to update RSS file if ($current_rss_ids != $rss_ids) { for ($i = 0; $i < $all_news[1] && $i < 10; $i++) { $rss_text = RSSFeed::CleanTextRss(strip_tags($all_news[0][$i]['body_text'])); if (strlen($rss_text) > 512) { $rss_text = substr_by_word($rss_text, 512) . '...'; } #$rss_text = htmlentities($post_text, ENT_COMPAT, 'UTF-8'); self::SetItem(APPHP_BASE . 'index.php?page=news&nid=' . $all_news[0][$i]['id'], $all_news[0][$i]['header_text'], $rss_text, $all_news[0][$i]['date_created']); } $objSettings->UpdateFields(array('rss_last_ids' => $rss_ids)); } return self::SaveFeed(); }