Show
Ignore:
Timestamp:
11/08/05 10:25:54 (7 years ago)
Author:
alexx
Message:

Upgrade Magpierss to version 0.72 because : http://www.frsirt.com/bulletins/2591
Used by robots/fetch_rss.bot.php

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/includes/rss/rss_utils.inc.php

    r1 r52  
    44 * File:        rss_utils.inc, utility methods for working with RSS 
    55 * Author:      Kellan Elliott-McCrea <kellan@protest.net> 
    6  * Version:             0.51 
    7  * License:             GPL 
     6 * Version:     0.51 
     7 * License:     GPL 
    88 * 
    99 * The lastest version of MagpieRSS can be obtained from: 
     
    2020    Purpose:  parse a W3CDTF date into unix epoch 
    2121 
    22         NOTE: http://www.w3.org/TR/NOTE-datetime 
     22    NOTE: http://www.w3.org/TR/NOTE-datetime 
    2323\*======================================================================*/ 
    2424 
    2525function parse_w3cdtf ( $date_str ) { 
    26          
    27         # regex to match wc3dtf 
    28         $pat = "/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(:(\d{2}))?(?:([-+])(\d{2}):?(\d{2})|(Z))?/"; 
    29          
    30         if ( preg_match( $pat, $date_str, $match ) ) { 
    31                 list( $year, $month, $day, $hours, $minutes, $seconds) =  
    32                         array( $match[1], $match[2], $match[3], $match[4], $match[5], $match[6]); 
    33                  
    34                 # calc epoch for current date assuming GMT 
    35                 $epoch = gmmktime( $hours, $minutes, $seconds, $month, $day, $year); 
    36                  
    37                 $offset = 0; 
    38                 if ( $match[10] == 'Z' ) { 
    39                         # zulu time, aka GMT 
    40                 } 
    41                 else { 
    42                         list( $tz_mod, $tz_hour, $tz_min ) = 
    43                                 array( $match[8], $match[9], $match[10]); 
    44                          
    45                         # zero out the variables 
    46                         if ( ! $tz_hour ) { $tz_hour = 0; } 
    47                         if ( ! $tz_min ) { $tz_min = 0; } 
    48                  
    49                         $offset_secs = (($tz_hour*60)+$tz_min)*60; 
    50                          
    51                         # is timezone ahead of GMT?  then subtract offset 
    52                         # 
    53                         if ( $tz_mod == '+' ) { 
    54                                 $offset_secs = $offset_secs * -1; 
    55                         } 
    56                          
    57                         $offset = $offset_secs;  
    58                 } 
    59                 $epoch = $epoch + $offset; 
    60                 return $epoch; 
    61         } 
    62         else { 
    63                 return -1; 
    64         } 
     26     
     27    # regex to match wc3dtf 
     28    $pat = "/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(:(\d{2}))?(?:([-+])(\d{2}):?(\d{2})|(Z))?/"; 
     29     
     30    if ( preg_match( $pat, $date_str, $match ) ) { 
     31        list( $year, $month, $day, $hours, $minutes, $seconds) =  
     32            array( $match[1], $match[2], $match[3], $match[4], $match[5], $match[6]); 
     33         
     34        # calc epoch for current date assuming GMT 
     35        $epoch = gmmktime( $hours, $minutes, $seconds, $month, $day, $year); 
     36         
     37        $offset = 0; 
     38        if ( $match[10] == 'Z' ) { 
     39            # zulu time, aka GMT 
     40        } 
     41        else { 
     42            list( $tz_mod, $tz_hour, $tz_min ) = 
     43                array( $match[8], $match[9], $match[10]); 
     44             
     45            # zero out the variables 
     46            if ( ! $tz_hour ) { $tz_hour = 0; } 
     47            if ( ! $tz_min ) { $tz_min = 0; } 
     48         
     49            $offset_secs = (($tz_hour*60)+$tz_min)*60; 
     50             
     51            # is timezone ahead of GMT?  then subtract offset 
     52            # 
     53            if ( $tz_mod == '+' ) { 
     54                $offset_secs = $offset_secs * -1; 
     55            } 
     56             
     57            $offset = $offset_secs;  
     58        } 
     59        $epoch = $epoch + $offset; 
     60        return $epoch; 
     61    } 
     62    else { 
     63        return -1; 
     64    } 
    6565} 
    6666