X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FProtectionForm.php;h=cac302558aaf8a240bbc96a210e8ec6a948e198d;hb=bd756e66843bd1f346ebfed21d11996fde92ba62;hp=807cdc2f710d8a1a2aa8f5da3b91bc25b43f3a37;hpb=32377424b9492bca276d6f8036ed297bef726ed3;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/ProtectionForm.php b/includes/ProtectionForm.php index 807cdc2f71..cac302558a 100644 --- a/includes/ProtectionForm.php +++ b/includes/ProtectionForm.php @@ -57,11 +57,11 @@ class ProtectionForm { /** Map of action to the expiry time of the existing protection */ var $mExistingExpiry = array(); - function __construct( Article $article ) { + function __construct( Page $article ) { global $wgUser; // Set instance variables. $this->mArticle = $article; - $this->mTitle = $article->mTitle; + $this->mTitle = $article->getTitle(); $this->mApplicableTypes = $this->mTitle->getRestrictionTypes(); // Check if the form should be disabled. @@ -89,7 +89,7 @@ class ProtectionForm { $this->mCascade = $wgRequest->getBool( 'mwProtect-cascade', $this->mCascade ); foreach( $this->mApplicableTypes as $action ) { - // Fixme: this form currently requires individual selections, + // @todo FIXME: This form currently requires individual selections, // but the db allows multiples separated by commas. // Pull the actual restriction from the DB @@ -133,7 +133,7 @@ class ProtectionForm { // Prevent users from setting levels that they cannot later unset if( $val == 'sysop' ) { // Special case, rewrite sysop to either protect and editprotected - if( !$wgUser->isAllowed('protect') && !$wgUser->isAllowed('editprotected') ) + if( !$wgUser->isAllowedAny( 'protect', 'editprotected' ) ) continue; } else { if( !$wgUser->isAllowed($val) ) @@ -147,7 +147,9 @@ class ProtectionForm { /** * Get the expiry time for a given action, by combining the relevant inputs. * - * @return 14-char timestamp or "infinity", or false if the input was invalid + * @param $action string + * + * @return string 14-char timestamp or "infinity", or false if the input was invalid */ function getExpiry( $action ) { if ( $this->mExpirySelection[$action] == 'existing' ) { @@ -158,7 +160,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 ); @@ -166,7 +168,7 @@ class ProtectionForm { return false; } - // Fixme: non-qualified absolute times are not in users specified timezone + // @todo FIXME: Non-qualified absolute times are not in users specified timezone // and there isn't notice about it in the ui $time = wfTimestamp( TS_MW, $unix ); } @@ -232,10 +234,11 @@ class ProtectionForm { if( wfReadOnly() ) { $wgOut->readOnlyPage(); } elseif( $this->mPermErrors ) { - $wgOut->addWikiText( $wgOut->formatPermissionsErrorMessage( $this->mPermErrors ) ); + $wgOut->showPermissionsErrorPage( $this->mPermErrors ); } } else { - $wgOut->addWikiMsg( 'protect-text', $this->mTitle->getPrefixedText() ); + $wgOut->addWikiMsg( 'protect-text', + wfEscapeWikiText( $this->mTitle->getPrefixedText() ) ); } $wgOut->addHTML( $this->buildForm() ); @@ -316,10 +319,10 @@ class ProtectionForm { return false; } - if( $wgRequest->getCheck( 'mwProtectWatch' ) && $wgUser->isLoggedIn() ) { - $this->mArticle->doWatch(); - } elseif( $this->mTitle->userIsWatching() ) { - $this->mArticle->doUnwatch(); + if ( $wgRequest->getCheck( 'mwProtectWatch' ) && $wgUser->isLoggedIn() ) { + WatchAction::doWatch( $this->mTitle, $wgUser ); + } elseif ( $this->mTitle->userIsWatching() ) { + WatchAction::doUnwatch( $this->mTitle, $wgUser ); } return $ok; } @@ -341,7 +344,7 @@ class ProtectionForm { $out .= Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->mTitle->getLocalUrl( 'action=protect' ), 'id' => 'mw-Protect-Form', 'onsubmit' => 'ProtectionForm.enableUnchainedInputs(true)' ) ); - $out .= Xml::hidden( 'wpEditToken',$wgUser->editToken() ); + $out .= Html::hidden( 'wpEditToken',$wgUser->editToken() ); } $out .= Xml::openElement( 'fieldset' ) . @@ -351,13 +354,10 @@ class ProtectionForm { foreach( $this->mRestrictions as $action => $selected ) { /* Not all languages have V_x <-> N_x relation */ - $msg = wfMsg( 'restriction-' . $action ); - if( wfEmptyMsg( 'restriction-' . $action, $msg ) ) { - $msg = $action; - } + $msg = wfMessage( 'restriction-' . $action ); $out .= "