Show
Ignore:
Timestamp:
12/13/06 17:22:00 (16 years ago)
Author:
liq
Message:

liq's feed syndication mod 1.3

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • dev/mods/feed_syndication/feed_fetcher.php

    r150 r152  
    11<?php 
     2        ////// 
     3//////  ////// 
     4//////  liq's feed syndication mod v1.3 
     5//////////// 
     6//////////// 
     7//////////// 
     8//////////// 
     9  
    210 
    3 // liq's feed syndication mod v1.2 
    4  
    5   @set_time_limit(0); 
    6   require_once( "class.kill.php" ); 
    7   require_once( "class.parser.php" ); 
    8   if ( file_exists("../../common/class.comments.php") ) // for the Eve-Dev Comment Class 
     11@set_time_limit(0); 
     12require_once( "common/class.kill.php" ); 
     13require_once( "common/class.parser.php" ); 
     14if ( file_exists("../../common/class.comments.php") ) // for the Eve-Dev Comment Class 
    915        require_once( "class.comments.php" ); 
    10   if ( file_exists("../../common/class.comment.php") ) // for the D2 Killboard Comment Class 
     16if ( file_exists("../../common/class.comment.php") ) // for the D2 Killboard Comment Class 
    1117        require_once( "class.comment.php" ); 
    1218 
     
    5359class Fetcher { 
    5460 
    55 function grab($url) { 
    56                 global $x, $fetchurl; 
     61function grab($url, $str) { 
     62                global $x, $uurl; 
    5763                $x=0; 
    58                 $fetchurl = $url; 
     64                $fetchurl = $url.$str; 
     65                $uurl = $url; 
    5966        $xml_parser = xml_parser_create(); 
    6067                xml_set_object ( $xml_parser, $this ); 
    6168                xml_set_element_handler($xml_parser, "startElement", "endElement"); 
    6269                xml_set_character_data_handler ( $xml_parser, 'characterData' ); 
    63                 $fp = @fopen($url,"r"); 
    64                 while ($data = @fread($fp, 4096)) { 
    65                         if (!xml_parse( $xml_parser, $data, feof($fp) ) && !feof($fp) ) 
    66                                 return "<i>Error getting XML data from ".$url."</i><br><br>"; 
     70                $fp = @fopen($fetchurl,"r");  
     71                while ($chunk = @fread($fp, 4096)) { 
     72                        $data .= $chunk; 
    6773                } 
     74                $data = preg_replace('<<!--.*?-->>', '', $data); // remove <!-- Cached --> message, else it will break gzinflate 
     75                 
     76                if (!@gzinflate($data)) { 
     77                        $cprs = "raw HTML stream"; 
     78                } else {  
     79                        $data = gzinflate($data); 
     80                        $cprs = "GZip compressed stream"; 
     81                }        
     82                 
     83                if (!xml_parse( $xml_parser, $data, feof($fp) ) && !feof($fp) ) 
     84                        return "<i>Error getting XML data from ".$url."</i><br><br>";            
     85                         
    6886                @fclose($fp); 
    6987                xml_parser_free($xml_parser); 
     88                 
    7089                if ($x) 
    71                         $html = "<div class=block-header2>".$x." kills added from feed: ".$url."</div>"; 
     90                        $html .= "<div class=block-header2>".$x." kills added from feed: ".$url." <i>(".$cprs.")</i></div>"; 
    7291                else 
    73                         $html = "<div class=block-header2>No kills added from feed: ".$url."</div>"; 
     92                        $html .= "<div class=block-header2>No kills added from feed: ".$url." <i>(".$cprs.")</i></div>"; 
     93                //echo "url:".$url." --- "; 
     94                //echo " strg:".$str; 
     95                 
    7496return $html; 
    7597} 
     
    84106 
    85107function endElement($parser, $name) { 
    86         global $insideitem, $tag, $title, $description, $link, $html, $x, $fetchurl; 
     108        global $insideitem, $tag, $title, $description, $link, $html, $x, $uurl; 
    87109 
    88110        if ($name == "ITEM") { 
     
    105127                                if (class_exists('Comments') && getConfig('fetch_comment')) { // for the Eve-Dev Comment Class 
    106128                                        $comments = new Comments($killid); 
    107                         $comments->addComment("liq's feed syndication", getConfig('fetch_comment')." (mail fetched from: ".$fetchurl.")"); 
     129                        $comments->addComment("liq's feed syndication", getConfig('fetch_comment')." mail fetched from: ".$uurl.")"); 
    108130                                } 
    109131                                if (class_exists('Comment') && getConfig('fetch_comment')) { // for the D2 Killboard Comment Class 
    110132                                        $comment = new Comment($killid); 
    111                         $comment->postComment(getConfig('fetch_comment')." \n\n <i>(mail fetched from:\n ".$fetchurl.")</i>", "liquidism"); 
     133                        $comment->postComment(getConfig('fetch_comment')." \n\n\n <i>mail fetched from:\n ".$uurl."</i>", "liquidism"); 
    112134                                } 
    113135                                $x++;