From: Huji Date: Sat, 4 Oct 2008 18:10:15 +0000 (+0000) Subject: (bug 10323) Special:Undelete should have "inverse selection" button X-Git-Tag: 1.31.0-rc.0~44924 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/?a=commitdiff_plain;h=16fcdd9381f97bef9fc468663913baf237effe83;p=lhc%2Fweb%2Fwiklou.git (bug 10323) Special:Undelete should have "inverse selection" button --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index bbfd5e3928..39e513e2b4 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -239,6 +239,7 @@ The following extensions are migrated into MediaWiki 1.14: * (bug 15196) Free external links should be numbered in a localised manner * (bug 15388) Title of Special:PrefixIndex * Links with no title but a curid parameter now use the curid to pick a page +* (bug 10323) Special:Undelete should have "inverse selection" button === API changes in 1.14 === diff --git a/includes/specials/SpecialUndelete.php b/includes/specials/SpecialUndelete.php index 810b007771..5b7ed52ae3 100644 --- a/includes/specials/SpecialUndelete.php +++ b/includes/specials/SpecialUndelete.php @@ -576,7 +576,7 @@ class PageArchive { * @ingroup SpecialPage */ class UndeleteForm { - var $mAction, $mTarget, $mTimestamp, $mRestore, $mTargetObj; + var $mAction, $mTarget, $mTimestamp, $mRestore, $mInvert, $mTargetObj; var $mTargetTimestamp, $mAllowed, $mComment; function UndeleteForm( $request, $par = "" ) { @@ -591,6 +591,7 @@ class UndeleteForm { $posted = $request->wasPosted() && $wgUser->matchEditToken( $request->getVal( 'wpEditToken' ) ); $this->mRestore = $request->getCheck( 'restore' ) && $posted; + $this->mInvert = $request->getCheck( 'invert' ) && $posted; $this->mPreview = $request->getCheck( 'preview' ) && $posted; $this->mDiff = $request->getCheck( 'diff' ); $this->mComment = $request->getText( 'wpComment' ); @@ -611,7 +612,7 @@ class UndeleteForm { } else { $this->mTargetObj = NULL; } - if( $this->mRestore ) { + if( $this->mRestore || $this->mInvert ) { $timestamps = array(); $this->mFileVersions = array(); foreach( $_REQUEST as $key => $val ) { @@ -668,6 +669,9 @@ class UndeleteForm { if( $this->mRestore && $this->mAction == "submit" ) { return $this->undelete(); } + if( $this->mInvert && $this->mAction == "submit" ) { + return $this->showHistory( ); + } return $this->showHistory(); } @@ -909,7 +913,7 @@ class UndeleteForm { $store->stream( $key ); } - private function showHistory() { + private function showHistory( ) { global $wgLang, $wgUser, $wgOut; $sk = $wgUser->getSkin(); @@ -1012,6 +1016,7 @@ class UndeleteForm { " . Xml::submitButton( wfMsg( 'undeletebtn' ), array( 'name' => 'restore', 'id' => 'mw-undelete-submit' ) ) . Xml::element( 'input', array( 'type' => 'reset', 'value' => wfMsg( 'undeletereset' ), 'id' => 'mw-undelete-reset' ) ) . + Xml::submitButton( wfMsg( 'undeleteinvert' ), array( 'name' => 'invert', 'id' => 'mw-undelete-invert' ) ) . " " . $unsuppressBox . @@ -1077,7 +1082,15 @@ class UndeleteForm { $stxt = ''; $ts = wfTimestamp( TS_MW, $row->ar_timestamp ); if( $this->mAllowed ) { - $checkBox = Xml::check( "ts$ts" ); + if( $this->mInvert){ + if( in_array( $ts, $this->mTargetTimestamp ) ) { + $checkBox = Xml::check( "ts$ts"); + } else { + $checkBox = Xml::check( "ts$ts", true ); + } + } else { + $checkBox = Xml::check( "ts$ts" ); + } $titleObj = SpecialPage::getTitleFor( "Undelete" ); $pageLink = $this->getPageLink( $rev, $titleObj, $ts, $sk ); # Last link diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 300c52bf1c..7c81fffa91 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -2403,6 +2403,7 @@ You may have a bad link, or the revision may have been restored or removed from 'undeletebtn' => 'Restore', 'undeletelink' => 'restore', 'undeletereset' => 'Reset', +'undeleteinvert' => 'Invert selection', 'undeletecomment' => 'Comment:', 'undeletedarticle' => 'restored "[[$1]]"', 'undeletedrevisions' => '{{PLURAL:$1|1 revision|$1 revisions}} restored', diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 86c354fd62..60933a8bfd 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -1613,6 +1613,7 @@ $wgMessageStructure = array( 'undeletebtn', 'undeletelink', 'undeletereset', + 'undeleteinvert', 'undeletecomment', 'undeletedarticle', 'undeletedrevisions',