From fbf3db96db805ae7bcaaf18f4b11ff95943598c1 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Sat, 3 Mar 2012 11:49:02 +0000 Subject: [PATCH] [DatabaseBase] Made encodeExpiry() recognize 'infinity' and added a decodeExpiry() function --- includes/db/Database.php | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/includes/db/Database.php b/includes/db/Database.php index 5e277f62e6..6efaa0f0dd 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -3443,17 +3443,28 @@ abstract class DatabaseBase implements DatabaseType { } /** - * Encode an expiry time + * Encode an expiry time into the DBMS dependent format * * @param $expiry String: timestamp for expiry, or the 'infinity' string * @return String */ public function encodeExpiry( $expiry ) { - if ( $expiry == '' || $expiry == $this->getInfinity() ) { - return $this->getInfinity(); - } else { - return $this->timestamp( $expiry ); - } + return ( $expiry == '' || $expiry == 'infinity' || $expiry == $this->getInfinity() ) + ? $this->getInfinity() + : $this->timestamp( $expiry ); + } + + /** + * Decode an expiry time into a DBMS independent format + * + * @param $expiry String: DB timestamp field value for expiry + * @param $format integer: TS_* constant, defaults to TS_MW + * @return String + */ + public function decodeExpiry( $expiry, $format = TS_MW ) { + return ( $expiry == '' || $expiry == $this->getInfinity() ) + ? 'infinity' + : wfTimestamp( $format, $expiry ); } /** -- 2.20.1