break; } if ($show_index != true) { include IP_ROOT_PATH . ADM . '/page_footer_admin.' . PHP_EXT; exit; } } // Start page proper $template->set_filenames(array('body' => XS_TPL_PATH . 'news_list_body.tpl')); $template->assign_vars(array('S_FORUM_ACTION' => append_sid('admin_xs_news.' . PHP_EXT), 'L_MENU_TITLE' => $lang['n_title'], 'L_MENU_EXPLAIN' => $lang['n_main_title_explain'], 'L_MENU_SETTINGS' => $lang['n_main_title'], 'L_CREATE_NEWS' => $lang['n_create_item'], 'L_EDIT' => $lang['Edit'], 'L_DELETE' => $lang['Delete'], 'XS_PATH' => '../templates/common/xs_mod/')); $sql = "SELECT * FROM " . XS_NEWS_TABLE . "\n\tORDER BY news_date DESC"; $q_news = $db->sql_query($sql); if ($total_news = $db->sql_numrows($q_news)) { $news_rows = $db->sql_fetchrowset($q_news); for ($i = 0; $i < $total_news; $i++) { $news_id = $news_rows[$i]['news_id']; $news_date = create_date($date_format_display, $news_rows[$i]['news_date'], $config['board_timezone']); $news_text = xsm_unprepare_message($news_rows[$i]['news_text']); $news_display = $news_rows[$i]['news_display']; $news_smilies = $news_rows[$i]['news_smilies']; if ($news_smilies) { $news_text = smilies_news($news_text); } $show_item = $news_display ? '[ <span class="text_green">' . $lang['Yes'] . '</span> ]' : '[ <span class="text_red">' . $lang['No'] . '</span> ]'; $template->assign_block_vars('newsitem', array('NEWS_ID' => $block_id, 'NEWS_DATE' => $news_date, 'NEWS_ITEM' => $news_text, 'NEWS_ITEM_DISPLAY' => $show_item, 'U_NEWS_EDIT' => append_sid('admin_xs_news.' . PHP_EXT . '?mode=editnews&id=' . $news_id), 'U_NEWS_DELETE' => append_sid('admin_xs_news.' . PHP_EXT . '?mode=deletenews&id=' . $news_id))); } } elseif ($db->sql_numrows($q_news) == 0) { $template->assign_block_vars('no_news', array('NEWS_DATE' => create_date($date_format_display, time(), $config['board_timezone']), 'NEWS_ITEM' => $lang['xs_no_news'])); } $template->pparse('body'); include IP_ROOT_PATH . ADM . '/page_footer_admin.' . PHP_EXT;
while ($test_row = $db->sql_fetchrow($q_xml)) { $xml_row[] = $test_row; } unset($test_row); if($total_xml = sizeof($xml_row)) { for($i = 0; $i < $total_xml; $i++) { $xml_id = $xml_row[$i]['xml_id']; $xml_title = $xml_row[$i]['xml_title']; $xml_show = $xml_row[$i]['xml_show']; // $xml_feed = "http://news.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss091.xml"; $xml_feed = xsm_unprepare_message($xml_row[$i]['xml_feed']); $xml_is_feed = $xml_row[$i]['xml_is_feed']; $xml_width = $xml_row[$i]['xml_width']; $xml_height = $xml_row[$i]['xml_height']; $xml_font = $xml_row[$i]['xml_font']; $xml_speed = $xml_row[$i]['xml_speed']; $xml_dir = (($xml_row[$i]['xml_direction'] == 0) ? 'left' : 'right'); if($xml_show) { if($xml_is_feed) { $rss_channel = array(); $currently_writing = ''; $main = ''; $item_counter = 0;
switch ($mode) { case 'addxml': case 'editxml': // Show form to create/modify a news ticker if ($mode == 'editxml') { // $newmode determines if we are going to INSERT or UPDATE after posting? $l_title = $lang['n_xml_edit_header']; $newmode = 'modxml'; $buttonvalue = $lang['Update']; $xml_id = intval($_GET['id']); $row = xsm_get_info('ticker', $xml_id); $xml_id = $row['xml_id']; $xml_title = $row['xml_title']; $xml_display_yes = $row['xml_show'] ? 'checked="checked"' : ''; $xml_display_no = !$row['xml_show'] ? 'checked="checked"' : ''; $xml_feed = xsm_unprepare_message($row['xml_feed']); $xml_width = $row['xml_width']; $xml_height = $row['xml_height']; $xml_fontsize = $row['xml_font']; $xml_speed = $row['xml_speed']; $xml_sd_left = !$row['xml_direction'] ? 'checked="checked"' : ''; $xml_sd_right = $row['xml_direction'] ? 'checked="checked"' : ''; $xml_is_feed_yes = $row['xml_is_feed'] ? 'checked="checked"' : ''; $xml_is_feed_no = !$row['xml_is_feed'] ? 'checked="checked"' : ''; } else { $l_title = $lang['n_xml_add_header']; $newmode = 'createxml'; $buttonvalue = $lang['n_xml_create_item']; $xml_title = ''; $xml_display_yes = 'checked="checked"'; $xml_display_no = '';
function cms_block_rss() { global $db, $cache, $config, $template, $lang, $block_id, $cms_config_vars; global $rss_channel, $currently_writing, $main, $item_counter; include_once IP_ROOT_PATH . 'includes/functions_xs_useless.' . PHP_EXT; $xml_id = 'rss_' . $block_id; // $xml_feed = "http://news.bbc.co.uk/rss/newsonline_uk_edition/front_page/rss091.xml"; $xml_feed = xsm_unprepare_message($cms_config_vars['md_rss_feeder'][$block_id]); $xml_title = $cms_config_vars['md_rss_title'][$block_id]; $xml_style = $cms_config_vars['md_rss_style'][$block_id]; $xml_scroll = $cms_config_vars['md_rss_scroll'][$block_id]; $xml_speed = '3'; if ($xml_style) { $xml_dir = 'left'; } else { $xml_dir = 'up'; } if ($xml_scroll) { $xml_marquee_start = '<marquee name="' . $xml_id . '" id="' . $xml_id . '" behavior="scroll" direction="' . $xml_dir . '" scrollamount="' . $xml_speed . '" loop="true" onmouseover="this.stop()" onmouseout="this.start()">'; $xml_marquee_end = '</marquee>'; $xml_marquee_append = ' onmouseover="document.all.' . $xml_id . '.stop();" onmouseout="document.all.' . $xml_id . '.start();"'; } else { $xml_marquee_start = ''; $xml_marquee_end = ''; $xml_marquee_append = ''; } $rss_channel = array(); $currently_writing = ''; $main = ''; $item_counter = 0; $xml_feed_error = false; $xml_error = false; $xml_error_msg = ''; if (empty($xml_feed)) { $xml_feed_error = true; $xml_error_msg = 'No XML Feed URL'; } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, 'startElement', 'endElement'); xml_set_character_data_handler($xml_parser, 'characterData'); if (!$xml_feed_error) { if ($fp = @fopen($xml_feed, 'r')) { while ($xml_buffer = @fread($fp, 4096)) { if (!xml_parse($xml_parser, $xml_buffer, feof($fp))) { $xml_error = true; $xml_error_msg = sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)); } } xml_parser_free($xml_parser); $rss_ticker_content = ''; $item_count = 0; if (isset($rss_channel['items'])) { if (sizeof($rss_channel['items']) > 0) { $item_count = sizeof($rss_channel['items']); for ($j = 0; $j < $item_count; $j++) { $title = htmlspecialchars_clean(ip_utf8_decode(strip_tags($rss_channel['items'][$j]['title']))); $rss_ticker_content .= ' • <a href="' . $rss_channel['items'][$j]['link'] . '" target="_blank" title="' . $title . '"' . $xml_marquee_append . '><b>' . $title . '</b></a>'; if (!$xml_style && !$xml_scroll) { $rss_ticker_content .= '<br />'; } elseif (!$xml_style) { $rss_ticker_content .= '<br /><br />'; } } } else { $item_count = 1; $rss_ticker_content = 'There are no articles in this feed.'; } } $rss_channel_title = empty($rss_channel['title']) ? 'No Source Info Available' : '<a href="' . $rss_channel['link'] . '" target="_blank">' . htmlspecialchars_clean(ip_utf8_decode(strip_tags($rss_channel['title']))) . '</a>'; $xml_title = !empty($xml_title) ? $xml_title : $rss_channel_title; $template->assign_vars(array('RSS_TICKER_ID' => $xml_id, 'RSS_TICKER_FROM' => $xml_title, 'RSS_TICKER_CONTENTS' => $xml_marquee_start . $rss_ticker_content . $xml_marquee_end, 'RSS_TICKER_COLSPAN' => '')); } else { $xml_error = true; $xml_error_msg = 'Unable to open the XML input'; } } if ($xml_error || $xml_feed_error) { $template->assign_block_vars(array('RSS_TICKER_ID' => $xml_id, 'RSS_TICKER_FROM' => $xml_error_msg, 'RSS_TICKER_CONTENTS' => '<b>' . $xml_error_msg . '</b>: ' . $xml_feed, 'RSS_TICKER_COLSPAN' => 'colspan="2"')); } }