@@ -1,4 +1,4 @@ discard block |
||
| 1 | -<?php declare( strict_types=1 ); |
|
| 1 | +<?php declare(strict_types=1); |
|
| 2 | 2 | |
| 3 | 3 | namespace BotRiconferme\Task; |
| 4 | 4 | |
@@ -22,15 +22,15 @@ discard block |
||
| 22 | 22 | /** |
| 23 | 23 | * @inheritDoc |
| 24 | 24 | */ |
| 25 | - protected function getSubtasksMap(): array { |
|
| 25 | + protected function getSubtasksMap (): array { |
|
| 26 | 26 | // Everything is done here. |
| 27 | - return []; |
|
| 27 | + return [ ]; |
|
| 28 | 28 | } |
| 29 | 29 | |
| 30 | 30 | /** |
| 31 | 31 | * @inheritDoc |
| 32 | 32 | */ |
| 33 | - public function runInternal(): int { |
|
| 33 | + public function runInternal (): int { |
|
| 34 | 34 | $this->actualList = $this->computeActualList(); |
| 35 | 35 | $pageBotList = $this->getBotList(); |
| 36 | 36 | $botList = $pageBotList->getDecodedContent(); |
@@ -55,7 +55,7 @@ discard block |
||
| 55 | 55 | * @return string[][] |
| 56 | 56 | * @phan-return array<string,string[]> |
| 57 | 57 | */ |
| 58 | - private function computeActualList(): array { |
|
| 58 | + private function computeActualList (): array { |
|
| 59 | 59 | $params = [ |
| 60 | 60 | 'action' => 'query', |
| 61 | 61 | 'list' => 'allusers', |
@@ -73,8 +73,8 @@ discard block |
||
| 73 | 73 | * @return string[][] |
| 74 | 74 | * @phan-return array<string,string[]> |
| 75 | 75 | */ |
| 76 | - private function extractAdminsData( Generator $data ): array { |
|
| 77 | - $ret = []; |
|
| 76 | + private function extractAdminsData ( Generator $data ): array { |
|
| 77 | + $ret = [ ]; |
|
| 78 | 78 | $blacklist = $this->getOpt( 'exclude-admins' ); |
| 79 | 79 | foreach ( $data as $user ) { |
| 80 | 80 | if ( in_array( $user->name, $blacklist, true ) ) { |
@@ -94,7 +94,7 @@ discard block |
||
| 94 | 94 | * @phan-param array<string,array{sysop:string,checkuser?:string,bureaucrat?:string,override?:string,override-perm?:string,aliases?:list<string>}> $curList |
| 95 | 95 | * @return array[] |
| 96 | 96 | */ |
| 97 | - private function computeNewList( array $curList ): array { |
|
| 97 | + private function computeNewList ( array $curList ): array { |
|
| 98 | 98 | $newList = $curList; |
| 99 | 99 | |
| 100 | 100 | $extra = $this->getExtraAdminGroups( $curList ); |
@@ -114,21 +114,21 @@ discard block |
||
| 114 | 114 | * @phan-param array<string,array<string,string|string[]>> $newContent |
| 115 | 115 | * @param array $extra |
| 116 | 116 | */ |
| 117 | - private function handleExtraAndMissing( array &$newList, array $extra ): void { |
|
| 117 | + private function handleExtraAndMissing ( array &$newList, array $extra ): void { |
|
| 118 | 118 | $missing = $this->getMissingAdminGroups( $newList ); |
| 119 | 119 | |
| 120 | - $removed = []; |
|
| 120 | + $removed = [ ]; |
|
| 121 | 121 | foreach ( $newList as $user => $data ) { |
| 122 | - if ( isset( $missing[$user] ) ) { |
|
| 123 | - $newList[$user] = array_merge( $data, $missing[$user] ); |
|
| 124 | - unset( $missing[$user] ); |
|
| 125 | - } elseif ( isset( $extra[$user] ) ) { |
|
| 126 | - $newGroups = array_diff_key( $data, $extra[$user] ); |
|
| 122 | + if ( isset( $missing[ $user ] ) ) { |
|
| 123 | + $newList[ $user ] = array_merge( $data, $missing[ $user ] ); |
|
| 124 | + unset( $missing[ $user ] ); |
|
| 125 | + } elseif ( isset( $extra[ $user ] ) ) { |
|
| 126 | + $newGroups = array_diff_key( $data, $extra[ $user ] ); |
|
| 127 | 127 | if ( array_diff_key( $newGroups, self::NON_GROUP_KEYS ) ) { |
| 128 | - $newList[$user] = $newGroups; |
|
| 128 | + $newList[ $user ] = $newGroups; |
|
| 129 | 129 | } else { |
| 130 | - $removed[] = $user; |
|
| 131 | - unset( $newList[$user] ); |
|
| 130 | + $removed[ ] = $user; |
|
| 131 | + unset( $newList[ $user ] ); |
|
| 132 | 132 | } |
| 133 | 133 | } |
| 134 | 134 | } |
@@ -145,17 +145,17 @@ discard block |
||
| 145 | 145 | * @param array $botList |
| 146 | 146 | * @return string[][] |
| 147 | 147 | */ |
| 148 | - private function getMissingAdminGroups( array $botList ): array { |
|
| 149 | - $missing = []; |
|
| 148 | + private function getMissingAdminGroups ( array $botList ): array { |
|
| 149 | + $missing = [ ]; |
|
| 150 | 150 | foreach ( $this->actualList as $admin => $groups ) { |
| 151 | - $missingGroups = array_diff( $groups, array_keys( $botList[$admin] ?? [] ) ); |
|
| 151 | + $missingGroups = array_diff( $groups, array_keys( $botList[ $admin ] ?? [ ] ) ); |
|
| 152 | 152 | foreach ( $missingGroups as $group ) { |
| 153 | 153 | $ts = $this->getFlagDate( $admin, $group ); |
| 154 | 154 | if ( $ts === null ) { |
| 155 | - $this->errors[] = "$group flag date unavailable for $admin"; |
|
| 155 | + $this->errors[ ] = "$group flag date unavailable for $admin"; |
|
| 156 | 156 | continue; |
| 157 | 157 | } |
| 158 | - $missing[$admin][$group] = $ts; |
|
| 158 | + $missing[ $admin ][ $group ] = $ts; |
|
| 159 | 159 | } |
| 160 | 160 | } |
| 161 | 161 | return $missing; |
@@ -168,7 +168,7 @@ discard block |
||
| 168 | 168 | * @param string $group |
| 169 | 169 | * @return string|null |
| 170 | 170 | */ |
| 171 | - private function getFlagDate( string $admin, string $group ): ?string { |
|
| 171 | + private function getFlagDate ( string $admin, string $group ): ?string { |
|
| 172 | 172 | $this->getLogger()->info( "Retrieving $group flag date for $admin" ); |
| 173 | 173 | |
| 174 | 174 | $wiki = $this->getWiki(); |
@@ -199,7 +199,7 @@ discard block |
||
| 199 | 199 | * @param string $group |
| 200 | 200 | * @return string|null |
| 201 | 201 | */ |
| 202 | - private function extractTimestamp( Generator $data, string $group ): ?string { |
|
| 202 | + private function extractTimestamp ( Generator $data, string $group ): ?string { |
|
| 203 | 203 | $ts = null; |
| 204 | 204 | foreach ( $data as $entry ) { |
| 205 | 205 | if ( |
@@ -221,14 +221,14 @@ discard block |
||
| 221 | 221 | * @phan-param array<string,array{sysop:string,checkuser?:string,bureaucrat?:string,override?:string,override-perm?:string,aliases?:list<string>}> $botList |
| 222 | 222 | * @return string[][] |
| 223 | 223 | */ |
| 224 | - private function getExtraAdminGroups( array $botList ): array { |
|
| 225 | - $extra = []; |
|
| 224 | + private function getExtraAdminGroups ( array $botList ): array { |
|
| 225 | + $extra = [ ]; |
|
| 226 | 226 | foreach ( $botList as $name => $data ) { |
| 227 | 227 | $groups = array_diff_key( $data, self::NON_GROUP_KEYS ); |
| 228 | - if ( !isset( $this->actualList[$name] ) ) { |
|
| 229 | - $extra[$name] = $groups; |
|
| 230 | - } elseif ( count( $groups ) > count( $this->actualList[$name] ) ) { |
|
| 231 | - $extra[$name] = array_diff_key( $groups, $this->actualList[$name] ); |
|
| 228 | + if ( !isset( $this->actualList[ $name ] ) ) { |
|
| 229 | + $extra[ $name ] = $groups; |
|
| 230 | + } elseif ( count( $groups ) > count( $this->actualList[ $name ] ) ) { |
|
| 231 | + $extra[ $name ] = array_diff_key( $groups, $this->actualList[ $name ] ); |
|
| 232 | 232 | } |
| 233 | 233 | } |
| 234 | 234 | return $extra; |
@@ -238,7 +238,7 @@ discard block |
||
| 238 | 238 | * @param string[] $oldNames |
| 239 | 239 | * @return Generator |
| 240 | 240 | */ |
| 241 | - private function getRenameEntries( array $oldNames ): Generator { |
|
| 241 | + private function getRenameEntries ( array $oldNames ): Generator { |
|
| 242 | 242 | $titles = array_map( static function ( string $x ): string { |
| 243 | 243 | return "Utente:$x"; |
| 244 | 244 | }, $oldNames ); |
@@ -262,14 +262,14 @@ discard block |
||
| 262 | 262 | * @param string[] $oldNames |
| 263 | 263 | * @return string[] [ old_name => new_name ] |
| 264 | 264 | */ |
| 265 | - private function getRenamedUsers( array $oldNames ): array { |
|
| 265 | + private function getRenamedUsers ( array $oldNames ): array { |
|
| 266 | 266 | if ( !$oldNames ) { |
| 267 | - return []; |
|
| 267 | + return [ ]; |
|
| 268 | 268 | } |
| 269 | 269 | $this->getLogger()->info( 'Checking rename for ' . implode( ', ', $oldNames ) ); |
| 270 | 270 | |
| 271 | 271 | $data = $this->getRenameEntries( $oldNames ); |
| 272 | - $ret = []; |
|
| 272 | + $ret = [ ]; |
|
| 273 | 273 | foreach ( $data as $entry ) { |
| 274 | 274 | // 1 month is arbitrary |
| 275 | 275 | if ( strtotime( $entry->timestamp ) > strtotime( '-1 month' ) ) { |
@@ -290,15 +290,15 @@ discard block |
||
| 290 | 290 | * @param string[][] $extra |
| 291 | 291 | * @return array<string,string> Map of renamed users |
| 292 | 292 | */ |
| 293 | - private function handleRenames( array &$newList, array $extra ): array { |
|
| 293 | + private function handleRenames ( array &$newList, array $extra ): array { |
|
| 294 | 294 | $renameMap = $this->getRenamedUsers( array_keys( $extra ) ); |
| 295 | 295 | foreach ( $renameMap as $oldName => $newName ) { |
| 296 | 296 | $this->getLogger()->info( "Found rename $oldName -> $newName" ); |
| 297 | - $newList[$newName] = $newList[$oldName]; |
|
| 298 | - $newList[$newName]['aliases'] = array_unique( |
|
| 299 | - array_merge( $newList[$newName]['aliases'] ?? [], [ $oldName ] ) |
|
| 297 | + $newList[ $newName ] = $newList[ $oldName ]; |
|
| 298 | + $newList[ $newName ][ 'aliases' ] = array_unique( |
|
| 299 | + array_merge( $newList[ $newName ][ 'aliases' ] ?? [ ], [ $oldName ] ) |
|
| 300 | 300 | ); |
| 301 | - unset( $newList[$oldName] ); |
|
| 301 | + unset( $newList[ $oldName ] ); |
|
| 302 | 302 | } |
| 303 | 303 | return $renameMap; |
| 304 | 304 | } |
@@ -308,12 +308,12 @@ discard block |
||
| 308 | 308 | * |
| 309 | 309 | * @param array[] &$newList |
| 310 | 310 | */ |
| 311 | - private function removeOverrides( array &$newList ): void { |
|
| 312 | - $removed = []; |
|
| 311 | + private function removeOverrides ( array &$newList ): void { |
|
| 312 | + $removed = [ ]; |
|
| 313 | 313 | foreach ( $newList as $user => $data ) { |
| 314 | 314 | if ( PageBotList::isOverrideExpired( $data ) ) { |
| 315 | - unset( $newList[$user]['override'] ); |
|
| 316 | - $removed[] = $user; |
|
| 315 | + unset( $newList[ $user ][ 'override' ] ); |
|
| 316 | + $removed[ ] = $user; |
|
| 317 | 317 | } |
| 318 | 318 | } |
| 319 | 319 | |