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

Reply
 
Thread Tools Display Modes
  #1  
Old 07-20-2012, 07:23 AM
Popa Andrei's Avatar
Popa Andrei Popa Andrei is offline
 
Join Date: May 2008
Location: Romania/Petrosani
Posts: 367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default RSS reader to display more the 1 forum RSS feed

PHP Code:
<?php
// ######################################################
// ## configuration
// ##
// ## $rss_file= 'http://www.vbulletin.com/forum/external.php?type=rss';
// ## Adjust this variable to point to your RSS feed
 
$rss_file 'link here';
    
// ## configuration end
// ######################################################
// ## Do not touch code below!
    
$max_items 5;
$item_count 0;    
$is_item false;
$tag '';
$title '';
$description '';
$link '';


echo 
'<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<style type="text/css">
A:link {text-decoration: none; color: #FB7800; font-weight:bold;}
A:visited {text-decoration: none; color: #FB7800; font-weight:bold;}
A:active {text-decoration: none; color: #FB7800; font-weight:bold;}
A:hover {text-decoration: underline; color: red; font-weight:bold;}
</style>
</head>
<body>'
;
  
function 
character_data($parser$data)
{
    global 
$is_item$tag$title$description$link $date;
    if (
$is_item)
    {
        switch (
$tag)
        {
            case 
"TITLE":
            
$title .= $data;
            break;
            case 
"DESCRIPTION":
            
$description .= $data;
    
            break;
            case 
"LINK":
            
$link .= $data;
            break;
            
            case 
"PUBDATE":
            
$date .= $data;
            break;
        }
    }
}
    
function 
begin_element($parser$name)
{
    global 
$is_item$tag;
    if (
$is_item)
    {
        
$tag $name;
    }
    else if (
$name == "ITEM")
    {
        
$is_item true;
    }
}
    
function 
end_element($parser$name)
{
    global 
$is_item$title$description$link$rss_output$date;
    if (
$name == "ITEM")
    {
        global 
$item_count$max_items;
        
$item_count++;
        if (
$item_count <= $max_items)
        {
        
$rss_output .= "<table width='530' style='margin-left:auto; margin-right:auto; padding-bottom:10px;'>
                            <tr>
                                <td style='padding-left:15px;' align='left'><p><a href='"
.trim($link)."' target=\"_blank\">".htmlspecialchars(trim($title))."</a></p></td>
                            </tr>
                            <tr>
                            <td><p style='color:#95BEDA;'>Posted "
.$date."</p></td>
                            </tr>
                            <tr>
                                <td><p style='color:#70CCA0'>" 
htmlspecialchars(trim($description)) . "</p></td>
                            </tr>
                        </table>"
;
        
$title "";
        
$description "";
        
$link "";
        
$date "";
        
$is_item false;
        }
    }
}
    
    
$parser xml_parser_create();
    
xml_set_element_handler($parser"begin_element""end_element");
xml_set_character_data_handler($parser"character_data");
$fp fopen($rss_file,"r");
    
while (
$data fread($fp4096))
{
    
xml_parse($parser$datafeof($fp));        
}
    
fclose($fp);
xml_parser_free($parser);

echo 
'</body>
</html>'
;
?>

i want to make it like

PHP Code:
$rss_file 'link here';
[
COLOR="Red"]$rss_file2 'link  2 here';[/COLOR

Can someone help me,i have no ideea about php scripting.
Thank you.
Reply With Quote
  #2  
Old 07-20-2012, 08:06 AM
Simon Lloyd's Avatar
Simon Lloyd Simon Lloyd is offline
 
Join Date: Aug 2008
Location: Manchester
Posts: 3,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I haven't changed my core files, what i have done is add an rss link in each forums description like this
HTML Code:
http://www.mysite.com/forum/external.php?type=rss2&forumids=40
Reply With Quote
  #3  
Old 07-20-2012, 08:13 AM
Popa Andrei's Avatar
Popa Andrei Popa Andrei is offline
 
Join Date: May 2008
Location: Romania/Petrosani
Posts: 367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

well that wont be ussefull since i want to disaply data separate on the custom HTML page i have.
Reply With Quote
  #4  
Old 07-20-2012, 11:36 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try this:

PHP Code:
<?php
// ######################################################
// ## configuration
// ##
// ## $rss_file= 'http://www.vbulletin.com/forum/external.php?type=rss';
// ## Adjust this variable to point to your RSS feed
 
$rss_files[] = array(
                      array(
url => 'link 1 here'max => 5),
                      array(
url => 'link 2 here'max => 10),
                   );
    
// ## configuration end
// ######################################################
// ## Do not touch code below!
    
echo '<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<style type="text/css">
A:link {text-decoration: none; color: #FB7800; font-weight:bold;}
A:visited {text-decoration: none; color: #FB7800; font-weight:bold;}
A:active {text-decoration: none; color: #FB7800; font-weight:bold;}
A:hover {text-decoration: underline; color: red; font-weight:bold;}
</style>
</head>
<body>'
;
  
function 
character_data($parser$data)
{
    global 
$is_item$tag$title$description$link $date;
    if (
$is_item)
    {
        switch (
$tag)
        {
            case 
"TITLE":
            
$title .= $data;
            break;
            case 
"DESCRIPTION":
            
$description .= $data;
    
            break;
            case 
"LINK":
            
$link .= $data;
            break;
            
            case 
"PUBDATE":
            
$date .= $data;
            break;
        }
    }
}
    
function 
begin_element($parser$name)
{
    global 
$is_item$tag;
    if (
$is_item)
    {
        
$tag $name;
    }
    else if (
$name == "ITEM")
    {
        
$is_item true;
    }
}
    
function 
end_element($parser$name)
{
    global 
$is_item$title$description$link$rss_output$date;
    if (
$name == "ITEM")
    {
        global 
$item_count$max_items;
        
$item_count++;
        if (
$item_count <= $max_items)
        {
        
$rss_output .= "<table width='530' style='margin-left:auto; margin-right:auto; padding-bottom:10px;'>
                            <tr>
                                <td style='padding-left:15px;' align='left'><p><a href='"
.trim($link)."' target=\"_blank\">".htmlspecialchars(trim($title))."</a></p></td>
                            </tr>
                            <tr>
                            <td><p style='color:#95BEDA;'>Posted "
.$date."</p></td>
                            </tr>
                            <tr>
                                <td><p style='color:#70CCA0'>" 
htmlspecialchars(trim($description)) . "</p></td>
                            </tr>
                        </table>"
;
        
$title "";
        
$description "";
        
$link "";
        
$date "";
        
$is_item false;
        }
    }
}
    

foreach (
$rss_files AS $feed)
{
    
$max_items $feed['max'];
    
$item_count 0;    
    
$is_item false;
    
$tag '';
    
$title '';
    
$description '';
    
$link '';

    
$parser xml_parser_create();
    
    
xml_set_element_handler($parser"begin_element""end_element");
    
xml_set_character_data_handler($parser"character_data");
    
$fp fopen($feed['url'],"r");
    
    while (
$data fread($fp4096))
    {
        
xml_parse($parser$datafeof($fp));        
    }
    
    
fclose($fp);
    
xml_parser_free($parser);

    
// You might want to echo some html here if you want to separate the feeds.
    // ex. echo '<br />';
}
echo 
'</body>
</html>'
;
?>
Reply With Quote
Благодарность от:
Popa Andrei
  #5  
Old 07-21-2012, 03:18 AM
Popa Andrei's Avatar
Popa Andrei Popa Andrei is offline
 
Join Date: May 2008
Location: Romania/Petrosani
Posts: 367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

tryed it but now it doesent display any data.
BTW this is how it output`s the feed
PHP Code:
include_once ('rss.php');
echo 
$rss_output
Reply With Quote
  #6  
Old 07-21-2012, 09:59 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oh, sorry. Near the top, "$rss_files[] = array( " should be:

Code:
$rss_files = array(

The script you originally posted outputs some code using "echo" - if you're using this in a vb page then it looks like you'd probably just want to remove those parts.
Reply With Quote
  #7  
Old 07-21-2012, 01:17 PM
Popa Andrei's Avatar
Popa Andrei Popa Andrei is offline
 
Join Date: May 2008
Location: Romania/Petrosani
Posts: 367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is my current file

PHP Code:
<?php 
// ###################################################### 
// ## configuration 
// ## 
// ## $rss_file= 'http://www.vbulletin.com/forum/external.php?type=rss'; 
// ## Adjust this variable to point to your RSS feed 

$rss_files[] = array( 
                      
url => 'http://forum.elitegamers.co/external.php?type=RSS2&forumids=18'max => 5
                      
url => 'http://forum.elitegamers.co/external.php?type=RSS2&forumids=48'max => 5
                   
); 
     
// ## configuration end 
// ###################################################### 
// ## Do not touch code below! 
     
echo '<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title></title> 
<style type="text/css"> 
A:link {text-decoration: none; color: #FB7800; font-weight:bold;} 
A:visited {text-decoration: none; color: #FB7800; font-weight:bold;} 
A:active {text-decoration: none; color: #FB7800; font-weight:bold;} 
A:hover {text-decoration: underline; color: red; font-weight:bold;} 
</style> 
</head> 
<body>'

   
function 
character_data($parser$data

    global 
$is_item$tag$title$description$link $date
    if (
$is_item
    { 
        switch (
$tag
        { 
            case 
"TITLE"
            
$title .= $data
            break; 
            case 
"DESCRIPTION"
            
$description .= $data
     
            break; 
            case 
"LINK"
            
$link .= $data
            break; 
             
            case 
"PUBDATE"
            
$date .= $data
            break; 
        } 
    } 

     
function 
begin_element($parser$name

    global 
$is_item$tag
    if (
$is_item
    { 
        
$tag $name
    } 
    else if (
$name == "ITEM"
    { 
        
$is_item true
    } 

     
function 
end_element($parser$name

    global 
$is_item$title$description$link$rss_output$date
    if (
$name == "ITEM"
    { 
        global 
$item_count$max_items
        
$item_count++; 
        if (
$item_count <= $max_items
        { 
        
$rss_output .= "<table width='530' style='margin-left:auto; margin-right:auto; padding-bottom:10px;'> 
                            <tr> 
                                <td style='padding-left:15px;' align='left'><p><a href='"
.trim($link)."' target=\"_blank\">".htmlspecialchars(trim($title))."</a></p></td> 
                            </tr> 
                            <tr> 
                            <td><p style='color:#95BEDA;'>Posted "
.$date."</p></td> 
                            </tr> 
                            <tr> 
                                <td><p style='color:#70CCA0'>" 
htmlspecialchars(trim($description)) . "</p></td> 
                            </tr> 
                        </table>"

        
$title ""
        
$description ""
        
$link ""
        
$date ""
        
$is_item false
        } 
    } 

     

foreach (
$rss_files AS $feed

    
$max_items $feed['max']; 
    
$item_count 0;     
    
$is_item false
    
$tag ''
    
$title ''
    
$description ''
    
$link ''

    
$parser xml_parser_create(); 
     
    
xml_set_element_handler($parser"begin_element""end_element"); 
    
xml_set_character_data_handler($parser"character_data"); 
    
$fp fopen($feed['url'],"r"); 
     
    while (
$data fread($fp4096)) 
    { 
        
xml_parse($parser$datafeof($fp));         
    } 
     
    
fclose($fp); 
    
xml_parser_free($parser); 

    
// You might want to echo some html here if you want to separate the feeds.
    // ex. echo '<br />'; 

echo 
'</body> 
</html>'

?>
And here the data is displayed http://cabal.elitegamers.co

As you may se in the page only the second rrs feed is loaded.
And i would like to display them separated like
PHP Code:
echo $rss_output
echo 
$rss_output2

Thank you for your intereset in helping me untill now.I much appreciate it.
Reply With Quote
  #8  
Old 07-22-2012, 09:34 PM
Popa Andrei's Avatar
Popa Andrei Popa Andrei is offline
 
Join Date: May 2008
Location: Romania/Petrosani
Posts: 367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

bump
Reply With Quote
  #9  
Old 07-23-2012, 01:45 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The config part at the top should be:

Code:
$rss_files = array( 
                      array('url' => 'http://forum.elitegamers.co/external.php?type=RSS2&forumids=18', 'max' => 5), 
                      array('url' => 'http://forum.elitegamers.co/external.php?type=RSS2&forumids=48', 'max' => 5)
                   );

If you really want a separate variables for each feed it will require more changes, but you shouldn't really need that because if you want them separated in some way, you can add some html inside the loop.
Reply With Quote
  #10  
Old 07-23-2012, 10:31 PM
Popa Andrei's Avatar
Popa Andrei Popa Andrei is offline
 
Join Date: May 2008
Location: Romania/Petrosani
Posts: 367
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well that worked.Thank you very much.
Now can you tell me how to separate them in the loop?
Thank you again.
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 11:53 AM.


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.05506 seconds
  • Memory Usage 2,377KB
  • Queries Executed 13 (?)
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
  • (2)bbcode_code
  • (1)bbcode_html
  • (6)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (1)post_thanks_box_bit
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete