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;}?>