[ Index ]
 

Code source de Dolibarr 2.0.1

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/htdocs/includes/magpierss/ -> rss_utils.inc (source)

   1  <?php
   2  /*
   3   * Project:     MagpieRSS: a simple RSS integration tool
   4   * File:        rss_utils.inc, utility methods for working with RSS
   5   * Author:      Kellan Elliott-McCrea <kellan@protest.net>
   6   * Version:     0.51
   7   * License:     GPL
   8   *
   9   * The lastest version of MagpieRSS can be obtained from:
  10   * http://magpierss.sourceforge.net
  11   *
  12   * For questions, help, comments, discussion, etc., please join the
  13   * Magpie mailing list:
  14   * magpierss-general@lists.sourceforge.net
  15   */
  16  
  17  
  18  /*======================================================================*\
  19      Function: parse_w3cdtf
  20      Purpose:  parse a W3CDTF date into unix epoch
  21  
  22      NOTE: http://www.w3.org/TR/NOTE-datetime
  23  \*======================================================================*/
  24  
  25  function 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      }
  65  }
  66  
  67  ?>


Généré le : Mon Nov 26 12:29:37 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics