MarcoAurelio has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/391554 )
Change subject: [WIP/DNM] Convert BatchUserRights to use extension registration ...................................................................... [WIP/DNM] Convert BatchUserRights to use extension registration Bug: T174879 Change-Id: I22f6b5e09701f2892ec8a5c6add44978fe5366df --- A .phpcs.xml M BatchUserRights.php M BatchUserRights_body.php M composer.json A extension.json 5 files changed, 88 insertions(+), 45 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BatchUserRights refs/changes/54/391554/1 diff --git a/.phpcs.xml b/.phpcs.xml new file mode 100644 index 0000000..957fab0 --- /dev/null +++ b/.phpcs.xml @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<ruleset> + <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki"> + <exclude name="MediaWiki.Commenting.FunctionComment.MissingParamComment" /> + <exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" /> + <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" /> + </rule> + <rule ref="MediaWiki.NamingConventions.ValidGlobalName"> + <properties> + <property name="ignoreList" type="array" value="$wmfRealm" /> + </properties> + </rule> + <file>.</file> + <arg name="extensions" value="php,php5,inc" /> + <arg name="encoding" value="UTF-8" /> +</ruleset> diff --git a/BatchUserRights.php b/BatchUserRights.php index 2779a92..fa53888 100644 --- a/BatchUserRights.php +++ b/BatchUserRights.php @@ -9,30 +9,18 @@ * @author Sean Colombo * @link http://www.mediawiki.org/wiki/Extension:BatchUserRights Documentation */ -if ( !defined( 'MEDIAWIKI' ) ) { - die(); + +if ( function_exists( 'wfLoadExtension' ) ) { + wfLoadExtension( 'BatchUserRights' ); + // Keep i18n globals so mergeMessageFileList.php doesn't break + $wgMessagesDirs['BatchUserRights'] = __DIR__ . '/i18n'; + $wgExtensionMessagesFiles['BatchUserRightsAlias'] = __DIR__ . '/BatchUserRights.alias.php'; + wfWarn( + 'Deprecated PHP entry point used for the BatchUserRights extension. ' . + 'Please use wfLoadExtension instead, ' . + 'see https://www.mediawiki.org/wiki/Extension_registration for more details.' + ); + return; +} else { + die( 'This version of the BatchUserRights extension requires MediaWiki 1.25+' ); } - -// Extension credits that will show up on Special:Version -$wgExtensionCredits['specialpage'][] = array( - 'path' => __FILE__, - 'name' => 'BatchUserRights', - 'version' => '1.2.0', - 'author' => '[http://www.seancolombo.com Sean Colombo]', - 'descriptionmsg' => 'batchuserrights-desc', - 'url' => 'https://www.mediawiki.org/wiki/Extension:BatchUserRights', -); - -set_time_limit( 0 ); -// New user right, required to access Special:BatchUserRights -$wgAvailableRights[] = 'batchuserrights'; -$wgGroupPermissions['bureaucrat']['batchuserrights'] = true; - -// User groups which can be added through Special:BatchUserRights -$wgBatchUserRightsGrantableGroups = array(); - -// Set up the new special page -$wgMessagesDirs['BatchUserRights'] = __DIR__ . '/i18n'; -$wgExtensionMessagesFiles['BatchUserRightsAliases'] = __DIR__ . '/BatchUserRights.alias.php'; -$wgAutoloadClasses['SpecialBatchUserRights'] = __DIR__ . '/BatchUserRights_body.php'; -$wgSpecialPages['BatchUserRights'] = 'SpecialBatchUserRights'; diff --git a/BatchUserRights_body.php b/BatchUserRights_body.php index ae403e2..08b5efd 100644 --- a/BatchUserRights_body.php +++ b/BatchUserRights_body.php @@ -62,7 +62,7 @@ $reason = $request->getVal( 'user-reason' ); $tok = $request->getVal( 'wpEditToken' ); if ( $user->matchEditToken( $tok ) ) { - $addgroup = array(); + $addgroup = []; foreach ( $wgBatchUserRightsGrantableGroups as $group ) { // This batch form is only for adding user groups, we don't remove any. if ( $request->getCheck( "wpGroup-$group" ) ) { @@ -88,7 +88,7 @@ // Loop through each target user and apply the update. foreach ( $usernames as $username ) { $username = trim( $username ); - if( $username !== '' ) { + if ( $username !== '' ) { $out->addHTML( $this->msg( 'batchuserrights-single-progress-update', count( $addgroup ), @@ -132,7 +132,7 @@ // Validate input set... $changeable = $this->changeableGroups(); - $addable = array_merge( $changeable['add'], $this->isself ? $changeable['add-self'] : array() ); + $addable = array_merge( $changeable['add'], $this->isself ? $changeable['add-self'] : [] ); $addgroup = array_unique( array_intersect( (array)$addgroup, $addable ) @@ -155,9 +155,9 @@ wfDebug( 'oldGroups: ' . print_r( $oldGroups, true ) ); wfDebug( 'newGroups: ' . print_r( $newGroups, true ) ); if ( $user instanceof User ) { - $removegroup = array(); + $removegroup = []; // hmmm - Hooks::run( 'UserRights', array( &$user, $addgroup, $removegroup ) ); + Hooks::run( 'UserRights', [ &$user, $addgroup, $removegroup ] ); } if ( $newGroups != $oldGroups ) { @@ -173,10 +173,10 @@ $logEntry->setPerformer( $this->getUser() ); $logEntry->setTarget( $user->getUserPage() ); $logEntry->setComment( $reason ); - $logEntry->setParameters( array( + $logEntry->setParameters( [ '4::oldgroups' => $oldGroups, '5::newgroups' => $newGroups, - ) ); + ] ); $logid = $logEntry->insert(); $logEntry->publish( $logid ); } @@ -250,13 +250,13 @@ */ protected function showEditUserGroupsForm() { $this->getOutput()->addHTML( - Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getPageTitle()->getLocalURL(), 'name' => 'editGroup', 'id' => 'mw-userrights-form2' ) ) . + Xml::openElement( 'form', [ 'method' => 'post', 'action' => $this->getPageTitle()->getLocalURL(), 'name' => 'editGroup', 'id' => 'mw-userrights-form2' ] ) . Html::hidden( 'wpEditToken', $this->getUser()->getEditToken() ) . Xml::openElement( 'fieldset' ) . - Xml::element( 'legend', array(), $this->msg( 'userrights-editusergroup' )->text() ) . + Xml::element( 'legend', [], $this->msg( 'userrights-editusergroup' )->text() ) . $this->msg( 'batchuserrights-intro' )->parseAsBlock() . Xml::tags( 'p', null, $this->groupCheckboxes() ) . - Xml::openElement( 'table', array( 'border' => '0', 'id' => 'mw-userrights-table-outer' ) ) . + Xml::openElement( 'table', [ 'border' => '0', 'id' => 'mw-userrights-table-outer' ] ) . '<tr> <td class="mw-label">' . Xml::label( $this->msg( 'batchuserrights-names' )->text(), 'wpUsernames' ) . @@ -270,13 +270,13 @@ Xml::label( $this->msg( 'userrights-reason' )->text(), 'wpReason' ) . '</td> <td class="mw-input">' . - Xml::input( 'user-reason', 60, false, array( 'id' => 'wpReason', 'maxlength' => 255 ) ) . + Xml::input( 'user-reason', 60, false, [ 'id' => 'wpReason', 'maxlength' => 255 ] ) . '</td> </tr> <tr> <td></td> <td class="mw-submit">' . - Xml::submitButton( $this->msg( 'saveusergroups' )->text(), array( 'name' => 'saveusergroups', 'accesskey' => 's' ) ) . + Xml::submitButton( $this->msg( 'saveusergroups' )->text(), [ 'name' => 'saveusergroups', 'accesskey' => 's' ] ) . '</td> </tr>' . Xml::closeElement( 'table' ) . "\n" . @@ -310,17 +310,17 @@ /* Wikia change begin - @author: Marooned */ /* Because of "return all" in changeableGroups() hook UserrightsChangeableGroups is not invoked - this hook is to fill this gap */ - Hooks::run( 'UserRights::groupCheckboxes', array( $group, &$disabled, &$irreversible ) ); + Hooks::run( 'UserRights::groupCheckboxes', [ $group, &$disabled, &$irreversible ] ); /* Wikia change end */ - $attr = $disabled ? array( 'disabled' => 'disabled' ) : array(); + $attr = $disabled ? [ 'disabled' => 'disabled' ] : []; $attr['title'] = $group; $text = $irreversible ? $this->msg( 'userrights-irreversible-marker', User::getGroupMember( $group ) )->escaped() : User::getGroupMember( $group ); $checkbox = Xml::checkLabel( $text, "wpGroup-$group", "wpGroup-$group", $set, $attr ); - $checkbox = $disabled ? Xml::tags( 'span', array( 'class' => 'mw-userrights-disabled' ), $checkbox ) : $checkbox; + $checkbox = $disabled ? Xml::tags( 'span', [ 'class' => 'mw-userrights-disabled' ], $checkbox ) : $checkbox; if ( $disabled ) { $unsettable_col .= "$checkbox<br />\n"; @@ -330,7 +330,7 @@ } if ( $column ) { - $ret .= Xml::openElement( 'table', array( 'border' => '0', 'class' => 'mw-userrights-groups' ) ) . + $ret .= Xml::openElement( 'table', [ 'border' => '0', 'class' => 'mw-userrights-groups' ] ) . '<tr> '; if ( $settable_col !== '' ) { diff --git a/composer.json b/composer.json index 392434c..bce6c76 100644 --- a/composer.json +++ b/composer.json @@ -2,15 +2,18 @@ "require-dev": { "jakub-onderka/php-parallel-lint": "0.9.2", "jakub-onderka/php-console-highlighter": "0.3.2", + "mediawiki/mediawiki-codesniffer": "14.1.0", "mediawiki/minus-x": "0.2.0" }, "scripts": { + "fix": [ + "phpcbf", + "minus-x fix ." + ], "test": [ "parallel-lint . --exclude vendor --exclude node_modules", + "phpcs -p -s", "minus-x check ." - ], - "fix": [ - "minus-x fix ." ] } } diff --git a/extension.json b/extension.json new file mode 100644 index 0000000..d960f7b --- /dev/null +++ b/extension.json @@ -0,0 +1,36 @@ +{ + "name": "BatchUserRights", + "version": "1.2.0", + "author": "[http://www.seancolombo.com Sean Colombo]", + "url": "https://www.mediawiki.org/wiki/Extension:BatchUserRights", + "descriptionmsg": "batchuserrights-desc", + "type": "specialpage", + "AvailableRights": [ + "batchuserrights" + ], + "GroupPermissions": { + "bureaucrat": { + "batchuserrights": true + } + }, + "SpecialPages": { + "BatchUserRights": "SpecialBatchUserRights" + }, + "MessagesDirs": { + "BatchUserRights": [ + "i18n" + ] + }, + "ExtensionMessagesFiles": { + "BatchUserRightsAliases": "BatchUserRights.alias.php" + }, + "AutoloadClasses": { + "SpecialBatchUserRights": "BatchUserRights_body.php" + }, + "config": { + "BatchUserRightsGrantableGroups": { + "value": [] + } + }, + "manifest_version": 2 +} -- To view, visit https://gerrit.wikimedia.org/r/391554 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I22f6b5e09701f2892ec8a5c6add44978fe5366df Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/BatchUserRights Gerrit-Branch: master Gerrit-Owner: MarcoAurelio <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
