Passed
Push — master ( 74dea7...29a7ff )
by Daimona
02:00
created
src/Task/UpdateList.php 1 patch
Spacing   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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 ) ) {
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 	 * @phan-param array<string,array{sysop:string,checkuser?:string,bureaucrat?:string,override?:string,override-perm?:string,aliases?:list<string>}> $curList
94 94
 	 * @return array[]
95 95
 	 */
96
-	private function computeNewList( array $curList ): array {
96
+	private function computeNewList ( array $curList ): array {
97 97
 		$newList = $curList;
98 98
 
99 99
 		$extra = $this->getExtraAdminGroups( $curList );
@@ -114,21 +114,21 @@  discard block
 block discarded – undo
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
 		}
@@ -143,17 +143,17 @@  discard block
 block discarded – undo
143 143
 	 * @param array $botList
144 144
 	 * @return string[][]
145 145
 	 */
146
-	private function getMissingAdminGroups( array $botList ): array {
147
-		$missing = [];
146
+	private function getMissingAdminGroups ( array $botList ): array {
147
+		$missing = [ ];
148 148
 		foreach ( $this->actualList as $admin => $groups ) {
149
-			$missingGroups = array_diff( $groups, array_keys( $botList[$admin] ?? [] ) );
149
+			$missingGroups = array_diff( $groups, array_keys( $botList[ $admin ] ?? [ ] ) );
150 150
 			foreach ( $missingGroups as $group ) {
151 151
 				$ts = $this->getFlagDate( $admin, $group );
152 152
 				if ( $ts === null ) {
153
-					$this->errors[] = "$group flag date unavailable for $admin";
153
+					$this->errors[ ] = "$group flag date unavailable for $admin";
154 154
 					continue;
155 155
 				}
156
-				$missing[$admin][$group] = $ts;
156
+				$missing[ $admin ][ $group ] = $ts;
157 157
 			}
158 158
 		}
159 159
 		return $missing;
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
 	 * @param string $group
167 167
 	 * @return string|null
168 168
 	 */
169
-	private function getFlagDate( string $admin, string $group ): ?string {
169
+	private function getFlagDate ( string $admin, string $group ): ?string {
170 170
 		$this->getLogger()->info( "Retrieving $group flag date for $admin" );
171 171
 
172 172
 		$wiki = $this->getWiki();
@@ -197,7 +197,7 @@  discard block
 block discarded – undo
197 197
 	 * @param string $group
198 198
 	 * @return string|null
199 199
 	 */
200
-	private function extractTimestamp( Generator $data, string $group ): ?string {
200
+	private function extractTimestamp ( Generator $data, string $group ): ?string {
201 201
 		$ts = null;
202 202
 		foreach ( $data as $entry ) {
203 203
 			if (
@@ -218,14 +218,14 @@  discard block
 block discarded – undo
218 218
 	 * @phan-param array<string,array{sysop:string,checkuser?:string,bureaucrat?:string,override?:string,override-perm?:string,aliases?:list<string>}> $botList
219 219
 	 * @return string[][]
220 220
 	 */
221
-	private function getExtraAdminGroups( array $botList ): array {
222
-		$extra = [];
221
+	private function getExtraAdminGroups ( array $botList ): array {
222
+		$extra = [ ];
223 223
 		foreach ( $botList as $name => $data ) {
224 224
 			$groups = array_diff_key( $data, self::NON_GROUP_KEYS );
225
-			if ( !isset( $this->actualList[$name] ) ) {
226
-				$extra[$name] = $groups;
227
-			} elseif ( count( $groups ) > count( $this->actualList[$name] ) ) {
228
-				$extra[$name] = array_diff_key( $groups, $this->actualList[$name] );
225
+			if ( !isset( $this->actualList[ $name ] ) ) {
226
+				$extra[ $name ] = $groups;
227
+			} elseif ( count( $groups ) > count( $this->actualList[ $name ] ) ) {
228
+				$extra[ $name ] = array_diff_key( $groups, $this->actualList[ $name ] );
229 229
 			}
230 230
 		}
231 231
 		return $extra;
@@ -235,7 +235,7 @@  discard block
 block discarded – undo
235 235
 	 * @param string[] $oldNames
236 236
 	 * @return Generator
237 237
 	 */
238
-	private function getRenameEntries( array $oldNames ): Generator {
238
+	private function getRenameEntries ( array $oldNames ): Generator {
239 239
 		$titles = array_map( static function ( string $x ): string {
240 240
 			return "Utente:$x";
241 241
 		}, $oldNames );
@@ -259,14 +259,14 @@  discard block
 block discarded – undo
259 259
 	 * @param string[] $oldNames
260 260
 	 * @return string[] [ old_name => new_name ]
261 261
 	 */
262
-	private function getRenamedUsers( array $oldNames ): array {
262
+	private function getRenamedUsers ( array $oldNames ): array {
263 263
 		if ( !$oldNames ) {
264
-			return [];
264
+			return [ ];
265 265
 		}
266 266
 		$this->getLogger()->info( 'Checking rename for ' . implode( ', ', $oldNames ) );
267 267
 
268 268
 		$data = $this->getRenameEntries( $oldNames );
269
-		$ret = [];
269
+		$ret = [ ];
270 270
 		foreach ( $data as $entry ) {
271 271
 			// 1 month is arbitrary
272 272
 			if ( strtotime( $entry->timestamp ) > strtotime( '-1 month' ) ) {
@@ -287,13 +287,13 @@  discard block
 block discarded – undo
287 287
 	 * @param string[][] $extra
288 288
 	 * @return array<string,string> Map of renamed users
289 289
 	 */
290
-	private function handleRenames( array &$newList, array $extra ): array {
290
+	private function handleRenames ( array &$newList, array $extra ): array {
291 291
 		$renameMap = $this->getRenamedUsers( array_keys( $extra ) );
292 292
 		foreach ( $renameMap as $oldName => $newName ) {
293 293
 			$this->getLogger()->info( "Found rename $oldName -> $newName" );
294
-			$newList[$newName] = $newList[$oldName];
295
-			$newList[$newName]['aliases'] = array_unique( array_merge( $newList[$newName]['aliases'] ?? [], [ $oldName ] ) );
296
-			unset( $newList[$oldName] );
294
+			$newList[ $newName ] = $newList[ $oldName ];
295
+			$newList[ $newName ][ 'aliases' ] = array_unique( array_merge( $newList[ $newName ][ 'aliases' ] ?? [ ], [ $oldName ] ) );
296
+			unset( $newList[ $oldName ] );
297 297
 		}
298 298
 		return $renameMap;
299 299
 	}
@@ -303,12 +303,12 @@  discard block
 block discarded – undo
303 303
 	 *
304 304
 	 * @param array[] &$newList
305 305
 	 */
306
-	private function removeOverrides( array &$newList ): void {
307
-		$removed = [];
306
+	private function removeOverrides ( array &$newList ): void {
307
+		$removed = [ ];
308 308
 		foreach ( $newList as $user => $data ) {
309 309
 			if ( PageBotList::isOverrideExpired( $data ) ) {
310
-				unset( $newList[$user]['override'] );
311
-				$removed[] = $user;
310
+				unset( $newList[ $user ][ 'override' ] );
311
+				$removed[ ] = $user;
312 312
 			}
313 313
 		}
314 314
 
Please login to merge, or discard this patch.
src/Wiki/Page/PageBotList.php 1 patch
Spacing   +25 added lines, -27 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php declare( strict_types=1 );
1
+<?php declare(strict_types=1);
2 2
 
3 3
 namespace BotRiconferme\Wiki\Page;
4 4
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 	 * @param string $listTitle
19 19
 	 * @param Wiki $wiki
20 20
 	 */
21
-	private function __construct( string $listTitle, Wiki $wiki ) {
21
+	private function __construct ( string $listTitle, Wiki $wiki ) {
22 22
 		parent::__construct( $listTitle, $wiki );
23 23
 	}
24 24
 
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
 	 * @param string $listTitle
30 30
 	 * @return self
31 31
 	 */
32
-	public static function get( Wiki $wiki, string $listTitle ): self {
32
+	public static function get ( Wiki $wiki, string $listTitle ): self {
33 33
 		static $instance = null;
34 34
 		if ( $instance === null ) {
35 35
 			$instance = new self( $listTitle, $wiki );
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	 * @param UserInfo $ui
42 42
 	 * @return int|null
43 43
 	 */
44
-	public function getOverrideTimestamp( UserInfo $ui ): ?int {
44
+	public function getOverrideTimestamp ( UserInfo $ui ): ?int {
45 45
 		$info = $ui->getInfo();
46 46
 		if ( !array_intersect_key( $info, [ 'override-perm' => true, 'override' => true ] ) ) {
47 47
 			return null;
@@ -49,9 +49,9 @@  discard block
 block discarded – undo
49 49
 
50 50
 		// A one-time override takes precedence
51 51
 		if ( array_key_exists( 'override', $info ) ) {
52
-			$date = $info['override'];
52
+			$date = $info[ 'override' ];
53 53
 		} else {
54
-			$date = $info['override-prem'] . '/' . date( 'Y' );
54
+			$date = $info[ 'override-prem' ] . '/' . date( 'Y' );
55 55
 		}
56 56
 		return DateTime::createFromFormat( 'd/m/Y', $date )->getTimestamp();
57 57
 	}
@@ -63,18 +63,18 @@  discard block
 block discarded – undo
63 63
 	 * @return int
64 64
 	 * @suppress PhanPluginComparisonObjectOrdering DateTime objects can be compared (phan issue #2907)
65 65
 	 */
66
-	public function getNextTimestamp( string $user ): int {
66
+	public function getNextTimestamp ( string $user ): int {
67 67
 		$userInfo = $this->getUserInfo( $user )->getInfo();
68 68
 		$now = new DateTime();
69
-		if ( isset( $userInfo['override-perm'] ) ) {
69
+		if ( isset( $userInfo[ 'override-perm' ] ) ) {
70 70
 			$date = DateTime::createFromFormat(
71 71
 				'd/m/Y',
72
-				$userInfo['override-perm'] . '/' . date( 'Y' )
72
+				$userInfo[ 'override-perm' ] . '/' . date( 'Y' )
73 73
 			);
74 74
 		} else {
75 75
 			$date = null;
76
-			if ( isset( $userInfo['override'] ) ) {
77
-				$date = DateTime::createFromFormat( 'd/m/Y', $userInfo['override'] );
76
+			if ( isset( $userInfo[ 'override' ] ) ) {
77
+				$date = DateTime::createFromFormat( 'd/m/Y', $userInfo[ 'override' ] );
78 78
 			}
79 79
 			if ( !$date || $date <= $now ) {
80 80
 				$ts = self::getValidFlagTimestamp( $userInfo );
@@ -95,17 +95,15 @@  discard block
 block discarded – undo
95 95
 	 * @param string[] $groups
96 96
 	 * @return int
97 97
 	 */
98
-	public static function getValidFlagTimestamp( array $groups ): int {
99
-		$checkuser = isset( $groups['checkuser'] ) ?
100
-			DateTime::createFromFormat( 'd/m/Y', $groups['checkuser'] )->getTimestamp() :
101
-			0;
102
-		$bureaucrat = isset( $groups['bureaucrat'] ) ?
103
-			DateTime::createFromFormat( 'd/m/Y', $groups['bureaucrat'] )->getTimestamp() :
104
-			0;
98
+	public static function getValidFlagTimestamp ( array $groups ): int {
99
+		$checkuser = isset( $groups[ 'checkuser' ] ) ?
100
+			DateTime::createFromFormat( 'd/m/Y', $groups[ 'checkuser' ] )->getTimestamp() : 0;
101
+		$bureaucrat = isset( $groups[ 'bureaucrat' ] ) ?
102
+			DateTime::createFromFormat( 'd/m/Y', $groups[ 'bureaucrat' ] )->getTimestamp() : 0;
105 103
 
106 104
 		$timestamp = max( $bureaucrat, $checkuser );
107 105
 		if ( $timestamp === 0 ) {
108
-			$timestamp = DateTime::createFromFormat( 'd/m/Y', $groups['sysop'] )->getTimestamp();
106
+			$timestamp = DateTime::createFromFormat( 'd/m/Y', $groups[ 'sysop' ] )->getTimestamp();
109 107
 		}
110 108
 		return $timestamp;
111 109
 	}
@@ -119,14 +117,14 @@  discard block
 block discarded – undo
119 117
 	 * @param string[] $groups
120 118
 	 * @return bool
121 119
 	 */
122
-	public static function isOverrideExpired( array $groups ): bool {
123
-		if ( !isset( $groups['override'] ) ) {
120
+	public static function isOverrideExpired ( array $groups ): bool {
121
+		if ( !isset( $groups[ 'override' ] ) ) {
124 122
 			return false;
125 123
 		}
126 124
 
127 125
 		$flagTS = self::getValidFlagTimestamp( $groups );
128 126
 		$usualTS = strtotime( date( 'Y' ) . '-' . date( 'm-d', $flagTS ) );
129
-		$overrideTS = DateTime::createFromFormat( 'd/m/Y', $groups['override'] )->getTimestamp();
127
+		$overrideTS = DateTime::createFromFormat( 'd/m/Y', $groups[ 'override' ] )->getTimestamp();
130 128
 		$delay = 60 * 60 * 24 * 3;
131 129
 
132 130
 		return time() > $usualTS + $delay && time() > $overrideTS + $delay;
@@ -137,9 +135,9 @@  discard block
 block discarded – undo
137 135
 	 *
138 136
 	 * @return UserInfo[]
139 137
 	 */
140
-	public function getAdminsList(): array {
138
+	public function getAdminsList (): array {
141 139
 		if ( $this->adminsList === null ) {
142
-			$this->adminsList = [];
140
+			$this->adminsList = [ ];
143 141
 			foreach ( $this->getDecodedContent() as $user => $info ) {
144 142
 				$this->adminsList[ $user ] = new UserInfo( $user, $info );
145 143
 			}
@@ -151,8 +149,8 @@  discard block
 block discarded – undo
151 149
 	 * @param string $user
152 150
 	 * @return UserInfo
153 151
 	 */
154
-	public function getUserInfo( string $user ): UserInfo {
155
-		return $this->getAdminsList()[$user];
152
+	public function getUserInfo ( string $user ): UserInfo {
153
+		return $this->getAdminsList()[ $user ];
156 154
 	}
157 155
 
158 156
 	/**
@@ -161,7 +159,7 @@  discard block
 block discarded – undo
161 159
 	 * @return array[]
162 160
 	 * @phan-return array<string,array{sysop:string,checkuser?:string,bureaucrat?:string,override?:string,override-perm?:string,aliases?:list<string>}>
163 161
 	 */
164
-	public function getDecodedContent(): array {
162
+	public function getDecodedContent (): array {
165 163
 		return json_decode( $this->getContent(), true );
166 164
 	}
167 165
 }
Please login to merge, or discard this patch.
src/Request/RequestFactory.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@  discard block
 block discarded – undo
1
-<?php declare( strict_types=1 );
1
+<?php declare(strict_types=1);
2 2
 
3 3
 namespace BotRiconferme\Request;
4 4
 
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 	 * @param LoggerInterface $logger
21 21
 	 * @param string $domain
22 22
 	 */
23
-	public function __construct( LoggerInterface $logger, string $domain ) {
23
+	public function __construct ( LoggerInterface $logger, string $domain ) {
24 24
 		$this->logger = $logger;
25 25
 		$this->domain = $domain;
26 26
 	}
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 	 * @param callable $cookiesCallback
33 33
 	 * @return RequestBase
34 34
 	 */
35
-	public function createRequest( array $params, array $cookies, callable $cookiesCallback ) {
35
+	public function createRequest ( array $params, array $cookies, callable $cookiesCallback ) {
36 36
 		$ret = extension_loaded( 'curl' )
37 37
 			? new CurlRequest( $this->logger, $params, $this->domain, $cookiesCallback )
38 38
 			: new NativeRequest( $this->logger, $params, $this->domain, $cookiesCallback );
@@ -47,7 +47,7 @@  discard block
 block discarded – undo
47 47
 	 * @phan-param array<int|string|bool> $params
48 48
 	 * @return RequestBase
49 49
 	 */
50
-	public function createStandaloneRequest( array $params ) {
50
+	public function createStandaloneRequest ( array $params ) {
51 51
 		/** @param string[] $newCookies */
52 52
 		$cookiesCallback = function ( array $newCookies ) {
53 53
 			$relevantCookies = array_diff_key( $newCookies, self::STANDALONE_REQUEST_ALLOWED_COOKIES );
Please login to merge, or discard this patch.