Follow-ups to r84258
authorHappy-melon <happy-melon@users.mediawiki.org>
Fri, 18 Mar 2011 22:28:39 +0000 (22:28 +0000)
committerHappy-melon <happy-melon@users.mediawiki.org>
Fri, 18 Mar 2011 22:28:39 +0000 (22:28 +0000)
includes/Article.php
includes/Block.php
includes/OutputPage.php
includes/ProtectionForm.php
includes/api/ApiBlock.php
includes/api/ApiProtect.php
includes/specials/SpecialBlock.php
includes/specials/SpecialBlockList.php
includes/specials/SpecialProtectedpages.php

index 9b99327..5fc675f 100644 (file)
@@ -2615,7 +2615,7 @@ class Article {
                                $protect_description = '';
                                foreach ( $limit as $action => $restrictions ) {
                                        if ( !isset( $expiry[$action] ) )
-                                               $expiry[$action] = Block::infinity();
+                                               $expiry[$action] = $dbw->getInfinity();
 
                                        $encodedExpiry[$action] = $dbw->encodeExpiry( $expiry[$action] );
                                        if ( $restrictions != '' ) {
index 8314c6f..62ede18 100644 (file)
@@ -781,11 +781,7 @@ class Block {
         * @deprecated since 1.18; use $dbw->encodeExpiry() instead
         */
        public static function encodeExpiry( $expiry, $db ) {
-               if ( $expiry == '' || $expiry == Block::infinity() ) {
-                       return Block::infinity();
-               } else {
-                       return $db->timestamp( $expiry );
-               }
+               return $db->encodeExpiry( $expiry );
        }
 
        /**
@@ -859,7 +855,7 @@ class Block {
        /**
         * Get a value to insert into expiry field of the database when infinite expiry
         * is desired
-        *
+        * @deprecated since 1.18, call $dbr->getInfinity() directly
         * @return String
         */
        public static function infinity() {
@@ -887,7 +883,7 @@ class Block {
                }
 
                $expiry = $wgContLang->formatExpiry( $encoded_expiry, TS_MW );
-               if ( $expiry == self::infinity() ) {
+               if ( $expiry == wfGetDB( DB_SLAVE )->getInfinity() ) {
                        $expirystr = $msg['infiniteblock'];
                } else {
                        global $wgLang;
index 4471d77..07700bb 100644 (file)
@@ -1909,15 +1909,7 @@ class OutputPage {
 
                $blockid = $wgUser->mBlock->mId;
 
-               $blockExpiry = $wgUser->mBlock->mExpiry;
-               if ( $blockExpiry == Block::infinity() ) {
-                       $blockExpiry = wfMessage( 'infiniteblock' );
-               } else {
-                       $blockExpiry = $wgLang->timeanddate(
-                               wfTimestamp( TS_MW, $blockExpiry ),
-                               true
-                       );
-               }
+               $blockExpiry = $wgLang->formatExpiry( $wgUser->mBlock->mExpiry );
 
                if ( $wgUser->mBlock->mAuto ) {
                        $msg = 'autoblockedtext';
index 31c5019..86aca3e 100644 (file)
@@ -158,7 +158,7 @@ class ProtectionForm {
                        $value = $this->mExpirySelection[$action];
                }
                if ( $value == 'infinite' || $value == 'indefinite' || $value == 'infinity' ) {
-                       $time = Block::infinity();
+                       $time = wfGetDB( DB_SLAVE )->getInfinity();
                } else {
                        $unix = strtotime( $value );
 
index ede2e13..634367d 100644 (file)
@@ -104,7 +104,7 @@ class ApiBlock extends ApiBase {
 
                $block = Block::newFromTargetAndType( $target, $type );
                if( $block instanceof Block ){
-                       $res['expiry'] = $block->mExpiry == Block::infinity()
+                       $res['expiry'] = $block->mExpiry == wfGetDB( DB_SLAVE )->getInfinity()
                                ? 'infinite'
                                : wfTimestamp( TS_ISO_8601, $block->mExpiry );
                } else {
index 615db56..34c56d7 100644 (file)
@@ -63,6 +63,7 @@ class ApiProtect extends ApiBase {
                }
 
                $restrictionTypes = $titleObj->getRestrictionTypes();
+               $dbr = wfGetDB( DB_SLAVE );
 
                $protections = array();
                $expiryarray = array();
@@ -86,7 +87,7 @@ class ApiProtect extends ApiBase {
                        }
 
                        if ( in_array( $expiry[$i], array( 'infinite', 'indefinite', 'never' ) ) ) {
-                               $expiryarray[$p[0]] = Block::infinity();
+                               $expiryarray[$p[0]] = $dbr->getInfinity();
                        } else {
                                $exp = strtotime( $expiry[$i] );
                                if ( $exp < 0 || !$exp ) {
@@ -100,7 +101,7 @@ class ApiProtect extends ApiBase {
                                $expiryarray[$p[0]] = $exp;
                        }
                        $resultProtections[] = array( $p[0] => $protections[$p[0]],
-                                       'expiry' => ( $expiryarray[$p[0]] == Block::infinity() ?
+                                       'expiry' => ( $expiryarray[$p[0]] == $dbr->getInfinity() ?
                                                                'infinite' :
                                                                wfTimestamp( TS_ISO_8601, $expiryarray[$p[0]] ) ) );
                }
index 71dd1af..9f47b44 100644 (file)
@@ -120,7 +120,7 @@ class SpecialBlock extends SpecialPage {
                                'validation-callback' => array( __CLASS__, 'validateTargetField' ),
                        ),
                        'Expiry' => array(
-                               'type' => self::getSuggestedDurations() === array() ? 'text' : 'selectorother',
+                               'type' => !count( self::getSuggestedDurations() ) ? 'text' : 'selectorother',
                                'label-message' => 'ipbexpiry',
                                'required' => true,
                                'tabindex' => '2',
@@ -668,8 +668,12 @@ class SpecialBlock extends SpecialPage {
         * @return String: timestamp or "infinity" string for the DB implementation
         */
        public static function parseExpiryInput( $expiry ) {
+               static $infinity;
+               if( $infinity == null ){
+                       $infinity = wfGetDB( DB_READ )->getInfinity();
+               }
                if ( $expiry == 'infinite' || $expiry == 'indefinite' ) {
-                       $expiry = Block::infinity();
+                       $expiry = $infinity;
                } else {
                        $expiry = strtotime( $expiry );
                        if ( $expiry < 0 || $expiry === false ) {
index b3aecd3..281d7e1 100644 (file)
@@ -301,9 +301,7 @@ class BlockListPager extends TablePager {
                                break;
 
                        case 'ipb_expiry':
-                               $formatted = $value == Block::infinity()
-                                       ? $msg['infiniteblock']
-                                       : $wgLang->timeanddate( $value );
+                               $formatted = $wgLang->formatExpiry( $value );
                                if( $wgUser->isAllowed( 'block' ) ){
                                        if( $row->ipb_auto ){
                                                $links[] = $sk->linkKnown(
index 4bb6714..5039dfd 100644 (file)
@@ -80,11 +80,11 @@ class SpecialProtectedpages extends SpecialPage {
 
                wfProfileIn( __METHOD__ );
 
-               static $skin = null, $dbr = null;
+               static $skin = null, $infinity = null;
 
                if( is_null( $skin ) ){
                        $skin = $wgUser->getSkin();
-                       $dbr = wfGetDB( DB_READ );
+                       $infinity = wfGetDB( DB_READ )->getInfinity();
                }
 
                $title = Title::makeTitleSafe( $row->page_namespace, $row->page_title );
@@ -103,7 +103,7 @@ class SpecialProtectedpages extends SpecialPage {
                $stxt = '';
 
                $expiry = $wgLang->formatExpiry( $row->pr_expiry, TS_MW );
-               if( $expiry != $dbr->getInfinity() ) {
+               if( $expiry != $infinity ) {
 
                        $expiry_description = wfMsg(
                                'protect-expiring',