function rss_news_feed($o = '') { $template = file_get_contents($o['template_file']); $array_news = get_rss_news($o['feed_url']); $news1 = $array_news['RSS']['0']['CHANNEL']['0']['ITEM']; // echo '<pre>'; // print_r($news1); // echo '</pre>'; if (count($news1) == "0") { $errors .= '<center><span style="font-size:14px; color:#000000; font-weight:bold;">No Current News Posts</span></center>'; } else { $news_counter == 0; $replace_keys = array('##DATE##', '##DAY##', '##MONTH##', '##YEAR##', '##TITLE##', '##DESCRIPTION##', '##URL##', '##MORE_LINK##'); foreach ($news1 as $news) { $date = $news['PUBDATE']['0']['VALUE']; //$date = date("F jS, Y", strtotime($date)); $title = $news['TITLE']['0']['VALUE']; $category = $news['CATEGORY']['0']['VALUE']; $details_url = $news['LINK']['0']['VALUE']; $news_blurb = $news['DESCRIPTION']['0']['VALUE']; if ($news_counter == $o['number_of_news_items']) { continue; } $target = $o['open_links_in_new_tab'] == true ? ' target="_blank" ' : ''; if ($o['read_more_link'] !== false && $o['read_more_link'] != '') { $news_more_link = '<a class="news-more-info-link" ' . $target . ' href="' . $details_url . '">' . $o['read_more_link'] . '</a>'; } else { $news_more_link = ''; } if ($o['title_as_link'] === true) { $news_title = '<a class="news-title-link" ' . $target . ' href="' . $details_url . '">' . $title . '</a>'; } else { $news_title = $news['title']; } $news_blurb = iconv("utf-8", "iso-8859-1//translit", $news_blurb); if ($o['strip_tags'] == true) { $news_blurb = strip_tags($news_blurb, $o['strip_tags_exceptions']); } if ($o['desc_text_limit'] !== false) { if ($o['desc_text_hard_break'] === false) { $news_blurb = strlen($news_blurb) > $o['desc_text_limit'] ? substr($news_blurb, 0, strpos($news_blurb, ' ', $o['desc_text_limit'])) . '... ' : $news_blurb; } else { $news_blurb = strlen($news_blurb) > $o['desc_text_limit'] ? substr($news_blurb, 0, $o['desc_text_limit']) . '... ' : $news_blurb; } } $replace_values = array(date($o['format_full_date'], strtotime($date)), date($o['format_day'], strtotime($date)), date($o['format_month'], strtotime($date)), date($o['format_year'], strtotime($date)), $title, $news_blurb, $details_url, $news_more_link); echo str_replace($replace_keys, $replace_values, $template); ++$news_counter; } } }
<?php require_once "crawlers.php"; require_once "db_handler.php"; require_once "twitter_handler.php"; require_once "languageDetect.php"; foreach (define_source() as $source) { switch ($source->{'Type'}) { case 'News-RSS': $newsResult = get_rss_news($source->{'Provider'}, $source->{'Url'}); break; case 'Video-Youtube': $newsResult = get_youtube_update($source->{'Provider'}, $source->{'Url'}); break; case 'Event-Update': $newsResult = get_event_update($source->{'Provider'}, $source->{'Url'}); break; default: # code... break; } echo "[" . date('Y-m-d H:i:s') . "] " . count($newsResult->{'News'}) . " items crawled from " . $newsResult->{'Provider'} . " since " . date('Y-m-d H:i:s', $newsResult->{'PubDate'}) . "\n"; if (!empty($newsResult->{'News'})) { $ret = db_query("Twitter_News", array("Hash", "Status"), "Provider = '" . $newsResult->{'Provider'} . "' AND Type = '" . $newsResult->{'Type'} . "' AND PubDate >= FROM_UNIXTIME(" . $newsResult->{'PubDate'} . ")"); //var_dump($ret->{'Query'}); //Status = N: do not publish; P: published; Y: reviewed, should publish; if (!$ret->{'Status'}) { foreach ($ret->{'Results'} as $item) { $idx = $item->{'Hash'}; $NewsHash["{$idx}"] = $item->{'Status'}; }