Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-07-2006, 07:38 PM
DrewM DrewM is offline
 
Join Date: Oct 2005
Posts: 564
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default creating a rss feed form site.... help!

Well I'm trying to make a xml/ rss2 feed for my users it works but it just displays text this is my code:
PHP Code:
<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NOSHUTDOWNFUNC'1);
define('SKIP_SESSIONCREATE'1);
define('DIE_QUIETLY'1);
define('THIS_SCRIPT''external');

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array();

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
chdir('/home/rdsx667/public_html/forum/'); 
require_once(
'./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$threads $db->query_read("select * from " TABLE_PREFIX "site_news ");


    
header('Content-Type: text/xml');
    
header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
    
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
header('Pragma: public');

    echo 
'<?xml version="1.0" encoding="' $stylevar['charset'] . '"?>' "\r\n\r\n";

    
# Each specs shared code is entered in full (duplicated) to make it easier to read
            
echo "<rss version=\"2.0\">\r\n";
            echo 
"<channel>\r\n";
            echo 
"\t
<title>RSS Feeds From Sim 2 World</title>
\r\n"
;
            echo 
"\t<link>" $vbulletin->options['homeurl'] . "</link>\r\n";
            echo 
"\t<description><![CDATA[" htmlspecialchars_uni($vbulletin->options['description']) . "]]></description>\r\n";
            echo 
"\t<language>$stylevar[languagecode]</language>\r\n";
            echo 
"\t<pubDate>" gmdate('D, d M Y H:i:s'TIMENOW) . " GMT</pubDate>\r\n";
            echo 
"\t<generator>Sim 2 World</generator>\r\n";
            echo 
"\t<ttl>60</ttl>\r\n";
//    }

    
$i 0;

    
// list returned threads
                
while ($thread $db->fetch_array($threads)) { 
                echo 
"\r\n\t<item>\r\n";
                echo 
"\t\t<title>$thread[newstitle]</title>\r\n";
                echo 
"\t\t<link>" $vbulletin->options['homeurl'] . "?news_id=$thread[newsid]</link>\r\n";
                echo 
"\t\t<pubDate>" $thread['date'] . " </pubDate>\r\n";
                echo 
"\t\t<description><![CDATA["$thread['newsartcle'] ."]]></description>\r\n";

                
# this bit is obtuse
                
echo "\t\t<author><![CDATA[(" $thread['newsauthor'] . ")]]></author>\r\n";
                echo 
"\t\t<guid isPermaLink=\"false\">" $vbulletin->options['homeurl'] . "?news_id=$thread[newsid]</guid>\r\n";
                echo 
"\t</item>\r\n";




            echo 
"</channel>\r\n";
            echo 
"</rss>";
            }

?>
Reply With Quote
  #2  
Old 04-08-2006, 02:00 AM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Without really looking over the code yet.



Cut the tabs bit. You need to code it flush to the left. xml will indent itself when read in a reader, but it can't process those tabs.


You have

PHP Code:
           echo "</channel>\r\n";
            echo 
"</rss>"
In the loop. It needs to be outside the loop.

Try this.

PHP Code:
<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('SESSION_BYPASS'1);
define('LOCATION_BYPASS'1);
define('DIE_QUIETLY'1);
define('THIS_SCRIPT''external');

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array();

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
define('DIR'dirname(dirname(__FILE__))); //how many dirname calls depends on location of file.
chdir(DIR);
require_once 
DIR '/global.php';

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$threads $db->query_read("select * from " TABLE_PREFIX "site_news ");

header('Content-Type: text/xml');
header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');

$output '<?xml version="1.0" encoding="' $stylevar['charset'] . '"?>' "\r\n";

# Each specs shared code is entered in full (duplicated) to make it easier to read
$output .= "<rss version=\"2.0\">\r\n";
$output .= "<channel>\r\n";
$output .= "<title>RSS Feeds From Sim 2 World</title>\r\n";
$output .= "<link>" $vbulletin->options['homeurl'] . "</link>\r\n";
$output .= "<description><![CDATA[" htmlspecialchars_uni($vbulletin->options['description']) . "]]></description>\r\n";
$output .= "<language>$stylevar[languagecode]</language>\r\n";
$output .= "<pubDate>" gmdate('D, d M Y H:i:s'TIMENOW) . " GMT</pubDate>\r\n";
$output .= "<generator>Sim 2 World</generator>\r\n";
$output .= "<ttl>60</ttl>\r\n";
// list returned threads
while ($thread $db->fetch_array($threads))
{
    
$output .= "<item>\r\n";
    
$output .= "<title>$thread[newstitle]</title>\r\n";
    
$output .= "<link>" $vbulletin->options['homeurl'] . "?news_id=$thread[newsid]</link>\r\n";
    
$output .= "<pubDate>" $thread['date'] . " </pubDate>\r\n";
    
$output .= "<description><![CDATA["$thread['newsartcle'] ."]]></description>\r\n";
    
# this bit is obtuse
    
$output .= "<author><![CDATA[(" $thread['newsauthor'] . ")]]></author>\r\n";
    
$output .= "<guid isPermaLink=\"false\">" $vbulletin->options['homeurl'] . "?news_id=$thread[newsid]</guid>\r\n";
    
$output .= "</item>\r\n";
}
$output .= "</channel>\r\n";
$output .= "</rss>";
echo 
$output;
?>
Reply With Quote
  #3  
Old 04-08-2006, 09:59 AM
DrewM DrewM is offline
 
Join Date: Oct 2005
Posts: 564
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the help, I always thought you would put it in the loop but sure!

When I open it I get this error:
Quote:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


--------------------------------------------------------------------------------

Whitespace is not allowed at this location. Error processing resource 'http://www.sim2world.com/news_rss.php'. Line 30, Po...

<title>Maxis lost & found</title>
-------------------^
Reply With Quote
  #4  
Old 04-08-2006, 12:57 PM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Put the title in CDATA tags.

Try this. Untested

You can't have a & in there. It has to be encoded or in cdata.

PHP Code:
<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('SESSION_BYPASS'1);
define('LOCATION_BYPASS'1);
define('DIE_QUIETLY'1);
define('THIS_SCRIPT''external');

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array();

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
define('DIR'dirname(dirname(__FILE__))); //how many dirname calls depends on location of file.
chdir(DIR);
require_once 
DIR '/global.php';

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

$threads $db->query_read("select * from " TABLE_PREFIX "site_news ");

header('Content-Type: text/xml');
header('Expires: ' gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
$output '<?xml version="1.0" encoding="' $stylevar['charset'] . '"?>' "\r\n";
$output .= "<rss version=\"2.0\">\r\n";
$output .= "<channel>\r\n";
$output .= "<title>RSS Feeds From Sim 2 World</title>\r\n";
$output .= "<link>" $vbulletin->options['homeurl'] . "</link>\r\n";
$output .= "<description><![CDATA[" htmlspecialchars_uni($vbulletin->options['description']) . "]]></description>\r\n";
$output .= "<language>" $stylevar['languagecode'] . "</language>\r\n";
$output .= "<pubDate>" gmdate('D, d M Y H:i:s'TIMENOW) . " GMT</pubDate>\r\n";
$output .= "<generator>Sim 2 World</generator>\r\n";
$output .= "<ttl>60</ttl>\r\n";
while (
$thread $db->fetch_array($threads))
{
    
$output .= "<item>\r\n";
    
$output .= "<title><![CDATA["$thread['newstitle'] . "]]></title>\r\n";
    
$output .= "<link>" $vbulletin->options['homeurl'] . "?news_id=" $thread['newsid'] . "</link>\r\n";
    
$output .= "<pubDate>" $thread['date'] . " </pubDate>\r\n";
    
$output .= "<description><![CDATA["$thread['newsartcle'] ."]]></description>\r\n";
    
$output .= "<author><![CDATA[(" $thread['newsauthor'] . ")]]></author>\r\n";
    
$output .= "<guid isPermaLink=\"false\">" $vbulletin->options['homeurl'] . "?news_id=" $thread['newsid'] . "</guid>\r\n";
    
$output .= "</item>\r\n";
}
$output .= "</channel>\r\n";
$output .= "</rss>";
echo 
$output;


?>
Reply With Quote
  #5  
Old 04-09-2006, 05:02 PM
DrewM DrewM is offline
 
Join Date: Oct 2005
Posts: 564
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks

I now get this error:
Quote:
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.


--------------------------------------------------------------------------------

End tag 'description' does not match the start tag 'title'. Error processing resource 'http://www.sim2world.com/news_rss.ph...

2 Vaction Pack</a>]]></description>
-----------------------^
fixed it there needed to be a ">"
Reply With Quote
  #6  
Old 04-09-2006, 08:35 PM
Code Monkey's Avatar
Code Monkey Code Monkey is offline
 
Join Date: May 2004
Posts: 1,080
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Like I said, untested. So is it working now?
Reply With Quote
  #7  
Old 04-10-2006, 09:03 AM
DrewM DrewM is offline
 
Join Date: Oct 2005
Posts: 564
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yea It works no proplems.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:53 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04227 seconds
  • Memory Usage 2,302KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (4)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete