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

Reply
 
Thread Tools Display Modes
  #1  
Old 10-23-2004, 05:02 PM
opus opus is offline
 
Join Date: Feb 2002
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default RSS Feed in Sidebar

i'm trying to include an RSS feed of headlines to my sidebar. is there anyone who can tell me how to pull that off?

this is the code I want to include from my file blogfeed.php. i know that i can't just copy and paste this into the template.

PHP Code:

    
    $feed = 'http://www.trickology.com/xmlsrv/rss2.php?blog=1';

    class RSSParser { 
    
        var $insideitem = false; 
        var $tag = ""; 
        var $title = ""; 
        var $link = ""; 
    
        function startElement($parser, $tagName, $attrs) { 
             if ($this->insideitem) { 
                  $this->tag = $tagName; 
             } elseif ($tagName == "ITEM") { 
                  $this->insideitem = true; 
             } 
        } 
    
        function endElement($parser, $tagName) { 
             if ($tagName == "ITEM") { 
                  printf("<a href='%s' class='headlines'>%s</a><br>", 
                     trim($this->link),htmlspecialchars(trim($this->title))); 
                  $this->title = ""; 
                  $this->description = ""; 
                  $this->link = ""; 
                  $this->insideitem = false; 
             } 
        } 
    
        function characterData($parser, $data) { 
             if ($this->insideitem) { 
                  switch ($this->tag) { 
                        case "TITLE": 
                        $this->title .= $data; 
                        break; 
                        case "LINK": 
                        $this->link .= $data; 
                        break; 
                  } 
             } 
        } 
    } 
    
    $xml_parser = xml_parser_create(); 
    $rss_parser = new RSSParser(); 
    xml_set_object($xml_parser,&$rss_parser); 
    xml_set_element_handler($xml_parser, "startElement", "endElement"); 
    xml_set_character_data_handler($xml_parser, "characterData"); 
    $fp = fopen($feed,"r") 
        or die("Error reading RSS data."); 
    while ($data = fread($fp, 4096)) 
        xml_parse($xml_parser, $data, feof($fp)) 
             or die(sprintf("XML error: %s at line %d",  
                  xml_error_string(xml_get_error_code($xml_parser)),  
                  xml_get_current_line_number($xml_parser))); 
    fclose($fp); 
    xml_parser_free($xml_parser); 
Reply With Quote
  #2  
Old 10-23-2004, 05:06 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm.. A first step would be to marry that code with this hack I wrote

https://vborg.vbsupport.ru/showthread.php?t=70848

That way you'd have a cron job that would output the information periodically into a template. You could then use the PHPINCLUDE_START template to parse that template and then include the template in your header (or wherever) to get it to post.
Reply With Quote
  #3  
Old 10-23-2004, 06:00 PM
opus opus is offline
 
Join Date: Feb 2002
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks that work
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 06:22 PM.


Powered by vBulletin® Version 3.9.0
Copyright ©2000 - 2017, vBulletin Solutions Inc.