From 5accfa08f52a31da74715c38a1d7a12793fa33c7 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 15 Dec 2005 16:02:50 +0000 Subject: [PATCH] - Patch #41133 by DriesK: as of PHP 5.1.0, strtotime() returns FALSE on failure instead of -1. Changed code to be compatible with all versions. --- includes/bootstrap.inc | 2 +- modules/aggregator.module | 10 +++++----- modules/aggregator/aggregator.module | 10 +++++----- modules/comment.module | 3 ++- modules/comment/comment.module | 3 ++- modules/node.module | 4 ++-- modules/node/node.module | 4 ++-- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc index 34398c72781..28681452a34 100644 --- a/includes/bootstrap.inc +++ b/includes/bootstrap.inc @@ -599,7 +599,7 @@ function drupal_page_header() { // Check http headers: $modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $date : NULL; - if (!empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) && ($timestamp = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) != -1) { + if (!empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) && ($timestamp = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])) > 0) { $modified_since = $cache->created <= $timestamp; } else { diff --git a/modules/aggregator.module b/modules/aggregator.module index 8ac5ca70513..8c1007ae6c5 100644 --- a/modules/aggregator.module +++ b/modules/aggregator.module @@ -484,7 +484,7 @@ function aggregator_parse_w3cdtf($date_str) { return $epoch; } else { - return -1; + return FALSE; } } @@ -580,10 +580,10 @@ function aggregator_parse_feed(&$data, $feed) { else if ($item['MODIFIED']) $date = $item['MODIFIED']; // Atom XML else $date = 'now'; - $timestamp = strtotime($date); // strtotime() returns -1 on failure - if ($timestamp < 0) { - $timestamp = aggregator_parse_w3cdtf($date); // also returns -1 on failure - if ($timestamp < 0) { + $timestamp = strtotime($date); // As of PHP 5.1.0, strtotime returns FALSE on failure instead of -1. + if ($timestamp <= 0) { + $timestamp = aggregator_parse_w3cdtf($date); // Returns FALSE on failure + if (!$timestamp) { $timestamp = time(); // better than nothing } } diff --git a/modules/aggregator/aggregator.module b/modules/aggregator/aggregator.module index 8ac5ca70513..8c1007ae6c5 100644 --- a/modules/aggregator/aggregator.module +++ b/modules/aggregator/aggregator.module @@ -484,7 +484,7 @@ function aggregator_parse_w3cdtf($date_str) { return $epoch; } else { - return -1; + return FALSE; } } @@ -580,10 +580,10 @@ function aggregator_parse_feed(&$data, $feed) { else if ($item['MODIFIED']) $date = $item['MODIFIED']; // Atom XML else $date = 'now'; - $timestamp = strtotime($date); // strtotime() returns -1 on failure - if ($timestamp < 0) { - $timestamp = aggregator_parse_w3cdtf($date); // also returns -1 on failure - if ($timestamp < 0) { + $timestamp = strtotime($date); // As of PHP 5.1.0, strtotime returns FALSE on failure instead of -1. + if ($timestamp <= 0) { + $timestamp = aggregator_parse_w3cdtf($date); // Returns FALSE on failure + if (!$timestamp) { $timestamp = time(); // better than nothing } } diff --git a/modules/comment.module b/modules/comment.module index c4dac7d36df..b4a5cdbd40b 100644 --- a/modules/comment.module +++ b/modules/comment.module @@ -517,7 +517,8 @@ function comment_validate(&$edit) { } else { $date = isset($edit['date']) ? $edit['date'] : 'now'; - if (strtotime($date) != -1) { + // As of PHP 5.1.0, strtotime returns FALSE upon failure instead of -1. + if (strtotime($date) > 0) { $edit['timestamp'] = strtotime($date); } else { diff --git a/modules/comment/comment.module b/modules/comment/comment.module index c4dac7d36df..b4a5cdbd40b 100644 --- a/modules/comment/comment.module +++ b/modules/comment/comment.module @@ -517,7 +517,8 @@ function comment_validate(&$edit) { } else { $date = isset($edit['date']) ? $edit['date'] : 'now'; - if (strtotime($date) != -1) { + // As of PHP 5.1.0, strtotime returns FALSE upon failure instead of -1. + if (strtotime($date) > 0) { $edit['timestamp'] = strtotime($date); } else { diff --git a/modules/node.module b/modules/node.module index 4da1629f0ee..37317c52223 100644 --- a/modules/node.module +++ b/modules/node.module @@ -1544,8 +1544,8 @@ function node_validate($node) { form_set_error('name', t('The username %name does not exist.', array ('%name' => theme('placeholder', $node->name)))); } - // Validate the "authored on" field. - if (strtotime($node->date) == -1) { + // Validate the "authored on" field. As of PHP 5.1.O, strtotime returns FALSE instead of -1 upon failure. + if (strtotime($node->date) <= 0) { form_set_error('date', t('You have to specify a valid date.')); } } diff --git a/modules/node/node.module b/modules/node/node.module index 4da1629f0ee..37317c52223 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -1544,8 +1544,8 @@ function node_validate($node) { form_set_error('name', t('The username %name does not exist.', array ('%name' => theme('placeholder', $node->name)))); } - // Validate the "authored on" field. - if (strtotime($node->date) == -1) { + // Validate the "authored on" field. As of PHP 5.1.O, strtotime returns FALSE instead of -1 upon failure. + if (strtotime($node->date) <= 0) { form_set_error('date', t('You have to specify a valid date.')); } }