All pastes #319054 Raw Edit

zircu

public php v1 · immutable
#319054 ·published 2007-01-16 23:53 UTC
rendered paste body
<?php$DEBUG = 0;function if_modified_since($time, $size=0) {    global $DEBUG;    $retval = TRUE;    if (empty($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {        $HTTP_IF_MODIFIED_SINCE =  '';    } else {        $HTTP_IF_MODIFIED_SINCE= $_SERVER['HTTP_IF_MODIFIED_SINCE'];    }    if ($DEBUG) error_log("isMofified: " .$HTTP_IF_MODIFIED_SINCE);    //if ($DEBUG) error_log("_SERVER: " .print_r($_SERVER, 1));    if ( $HTTP_IF_MODIFIED_SINCE ) {        @list($http_date,$http_sizetrue) = split(';', $HTTP_IF_MODIFIED_SINCE);        $hd = $http_date;        if (! is_numeric($http_date) ) {            if ($DEBUG) error_log("ifmod $HTTP_IF_MODIFIED_SINCE -> $http_date and $http_sizetrue");            $hd = strtotime($http_date);        }        if ($DEBUG) error_log("$time <= [$http_date] strtotime(" . strtotime($http_date) . ")");        if ($hd === -1) {            $fdate = hackdate($http_date);            if ($DEBUG) error_log("Date hacked --> $fdate");            $hd = strtotime($fdate);        }        if ($DEBUG) error_log("$time <= $hd");        if ($DEBUG) error_log(date('r', $time) .  '<=' .  date('r',$hd));        if ($time <= $hd) {            if ($DEBUG) error_log("if_modifiedsince: Date Ok.");            if (! $http_sizetrue) {                return false;            }            if ($size) {                if (empty($http_sizetrue) || $size == eregi_replace('length=', '', $http_sizetrue) )  {                    $retval = FALSE;                }            } else {                $retval = FALSE;            }        }    }    return $retval;}function hackdate($date) {#rfc822/1123"Sun, 06 Nov 1994 08:49:37 GMT ";#opera: Mon Jun 30 1:42:04 GMT 2003  $dp = split(' ', $date);  $dt = split(':', $dp[3]);  $date = sprintf("%s, %02d %3s %4d %02d:%02d:%02d %s",      $dp[0], $dp[2], $dp[1], $dp[5], $dt[0], $dt[1], $dt[2], $dp[4]);  return $date;}?>