Passed
Push — master ( aecdf6...dbd8ef )
by Daimona
19:47 queued 17:09
created
src/Task/Task.php 1 patch
Spacing   +5 added lines, -5 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
 
@@ -15,13 +15,13 @@  discard block
 block discarded – undo
15 15
 	 *
16 16
 	 * @return string[]
17 17
 	 */
18
-	abstract protected function getSubtasksMap() : array;
18
+	abstract protected function getSubtasksMap () : array;
19 19
 
20 20
 	/**
21 21
 	 * @param string $subtask Defined in self::SUBTASKS_MAP
22 22
 	 * @return TaskResult
23 23
 	 */
24
-	protected function runSubtask( string $subtask ) : TaskResult {
24
+	protected function runSubtask ( string $subtask ) : TaskResult {
25 25
 		$map = $this->getSubtasksMap();
26 26
 		if ( !isset( $map[ $subtask ] ) ) {
27 27
 			throw new InvalidArgumentException( "'$subtask' is not a valid task." );
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
 	/**
35 35
 	 * @inheritDoc
36 36
 	 */
37
-	final public function getOperationName(): string {
37
+	final public function getOperationName (): string {
38 38
 		return 'task';
39 39
 	}
40 40
 
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
 	 * @param string $class
45 45
 	 * @return Subtask
46 46
 	 */
47
-	private function getSubtaskInstance( string $class ) : Subtask {
47
+	private function getSubtaskInstance ( string $class ) : Subtask {
48 48
 		return new $class(
49 49
 			$this->getLogger(),
50 50
 			$this->getWikiGroup(),
Please login to merge, or discard this patch.
src/Bot.php 1 patch
Spacing   +12 added lines, -13 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;
4 4
 
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
 	/**
35 35
 	 * @param CLI $cli
36 36
 	 */
37
-	public function __construct( CLI $cli ) {
37
+	public function __construct ( CLI $cli ) {
38 38
 		$this->cli = $cli;
39 39
 		$this->initialize();
40 40
 	}
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
 	/**
43 43
 	 * Initialize all members.
44 44
 	 */
45
-	private function initialize() : void {
45
+	private function initialize () : void {
46 46
 		$simpleLogger = new SimpleLogger();
47 47
 		$this->createWikiGroup( $simpleLogger );
48 48
 		$this->messageProvider = new MessageProvider(
@@ -56,14 +56,14 @@  discard block
 block discarded – undo
56 56
 	/**
57 57
 	 * Main entry point
58 58
 	 */
59
-	public function run() : void {
59
+	public function run () : void {
60 60
 		$taskOpt = $this->cli->getTaskOpt();
61 61
 		$type = current( array_keys( $taskOpt ) );
62 62
 		try {
63 63
 			if ( $type === 'tasks' ) {
64
-				$this->runInternal( TaskManager::MODE_TASK, explode( ',', $taskOpt['tasks'] ) );
64
+				$this->runInternal( TaskManager::MODE_TASK, explode( ',', $taskOpt[ 'tasks' ] ) );
65 65
 			} elseif ( $type === 'subtasks' ) {
66
-				$this->runInternal( TaskManager::MODE_SUBTASK, explode( ',', $taskOpt['subtasks'] ) );
66
+				$this->runInternal( TaskManager::MODE_SUBTASK, explode( ',', $taskOpt[ 'subtasks' ] ) );
67 67
 			} else {
68 68
 				$this->runInternal();
69 69
 			}
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
 	/**
78 78
 	 * @param LoggerInterface $baseLogger
79 79
 	 */
80
-	private function createWikiGroup( LoggerInterface $baseLogger ) : void {
80
+	private function createWikiGroup ( LoggerInterface $baseLogger ) : void {
81 81
 		// FIXME Hardcoded
82 82
 		$url = $this->cli->getURL() ?? 'https://it.wikipedia.org/w/api.php';
83 83
 		$localUserIdentifier = '@itwiki';
@@ -115,7 +115,7 @@  discard block
 block discarded – undo
115 115
 	 *
116 116
 	 * @param IFlushingAwareLogger $baseLogger
117 117
 	 */
118
-	private function createMainLogger( IFlushingAwareLogger $baseLogger ) : void {
118
+	private function createMainLogger ( IFlushingAwareLogger $baseLogger ) : void {
119 119
 		$mainWiki = $this->wikiGroup->getMainWiki();
120 120
 		$mp = $this->messageProvider;
121 121
 		$errTitle = $this->cli->getOpt( 'error-title' );
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
 	/**
143 143
 	 * Create the Config
144 144
 	 */
145
-	private function initConfig() : void {
145
+	private function initConfig () : void {
146 146
 		$wiki = $this->wikiGroup->getMainWiki();
147 147
 		try {
148 148
 			$confValues = json_decode( $wiki->getPageContent( $this->cli->getSetOpt( 'config-title' ) ), true );
@@ -159,9 +159,9 @@  discard block
 block discarded – undo
159 159
 	 * @param string $mode
160 160
 	 * @param string[] $taskNames
161 161
 	 */
162
-	private function runInternal(
162
+	private function runInternal (
163 163
 		string $mode = TaskManager::MODE_COMPLETE,
164
-		array $taskNames = []
164
+		array $taskNames = [ ]
165 165
 	) : void {
166 166
 		$activity = $mode === TaskManager::MODE_COMPLETE
167 167
 			? 'full process'
@@ -181,8 +181,7 @@  discard block
 block discarded – undo
181 181
 		$base = "Execution of $activity";
182 182
 		if ( $res->isOK() ) {
183 183
 			$msg = $res->getStatus() === TaskResult::STATUS_NOTHING ?
184
-				': nothing to do' :
185
-				' completed successfully';
184
+				': nothing to do' : ' completed successfully';
186 185
 			$this->mainLogger->info( $base . $msg );
187 186
 		} else {
188 187
 			$this->mainLogger->error( "$base failed.\n$res" );
Please login to merge, or discard this patch.
src/CLI.php 1 patch
Spacing   +18 added lines, -18 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;
4 4
 
@@ -66,14 +66,14 @@  discard block
 block discarded – undo
66 66
 	/**
67 67
 	 * @return bool
68 68
 	 */
69
-	public static function isCLI() : bool {
69
+	public static function isCLI () : bool {
70 70
 		return PHP_SAPI === 'cli';
71 71
 	}
72 72
 
73 73
 	/**
74 74
 	 * Populate options and check for required ones
75 75
 	 */
76
-	public function __construct() {
76
+	public function __construct () {
77 77
 		/** @var string[] $opts */
78 78
 		$opts = getopt( self::SHORT_OPTS, self::LONG_OPTS );
79 79
 		$this->checkRequiredOpts( $opts );
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
 	/**
86 86
 	 * @param string[] $opts
87 87
 	 */
88
-	private function checkRequiredOpts( array $opts ) : void {
88
+	private function checkRequiredOpts ( array $opts ) : void {
89 89
 		$missingOpts = array_diff( self::REQUIRED_OPTS, array_keys( $opts ) );
90 90
 		if ( $missingOpts ) {
91 91
 			$this->fatal( 'Required options missing: ' . implode( ', ', $missingOpts ) );
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
 	/**
108 108
 	 * @param string[] $opts
109 109
 	 */
110
-	private function checkConflictingOpts( array $opts ) : void {
110
+	private function checkConflictingOpts ( array $opts ) : void {
111 111
 		$this->checkNotBothSet( $opts, 'password', 'use-password-file' );
112 112
 		if ( array_key_exists( 'use-password-file', $opts ) && !file_exists( self::PASSWORD_FILE ) ) {
113 113
 			$this->fatal( 'Please create the password file (' . self::PASSWORD_FILE . ')' );
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
 	 * @param string $first
129 129
 	 * @param string $second
130 130
 	 */
131
-	private function checkNotBothSet( array $opts, string $first, string $second ) : void {
131
+	private function checkNotBothSet ( array $opts, string $first, string $second ) : void {
132 132
 		if ( array_key_exists( $first, $opts ) && array_key_exists( $second, $opts ) ) {
133 133
 			$this->fatal( "Can only use one of '$first' and '$second'" );
134 134
 		}
@@ -137,23 +137,23 @@  discard block
 block discarded – undo
137 137
 	/**
138 138
 	 * @param string[] &$opts
139 139
 	 */
140
-	private function canonicalize( array &$opts ) : void {
140
+	private function canonicalize ( array &$opts ) : void {
141 141
 		if ( array_key_exists( 'use-password-file', $opts ) ) {
142 142
 			$pw = trim( file_get_contents( self::PASSWORD_FILE ) );
143
-			$opts['password'] = $pw;
144
-			unset( $opts['use-password-file'] );
143
+			$opts[ 'password' ] = $pw;
144
+			unset( $opts[ 'use-password-file' ] );
145 145
 		}
146 146
 		if ( array_key_exists( 'use-private-password-file', $opts ) ) {
147 147
 			$pw = trim( file_get_contents( self::PRIVATE_PASSWORD_FILE ) );
148
-			$opts['private-password'] = $pw;
149
-			unset( $opts['use-private-password-file'] );
148
+			$opts[ 'private-password' ] = $pw;
149
+			unset( $opts[ 'use-private-password-file' ] );
150 150
 		}
151 151
 	}
152 152
 
153 153
 	/**
154 154
 	 * @param string $msg
155 155
 	 */
156
-	private function fatal( string $msg ) : void {
156
+	private function fatal ( string $msg ) : void {
157 157
 		exit( $msg . "\n" );
158 158
 	}
159 159
 
@@ -162,8 +162,8 @@  discard block
 block discarded – undo
162 162
 	 * @param string $opt
163 163
 	 * @return string
164 164
 	 */
165
-	public function getSetOpt( string $opt ) : string {
166
-		return $this->opts[$opt];
165
+	public function getSetOpt ( string $opt ) : string {
166
+		return $this->opts[ $opt ];
167 167
 	}
168 168
 
169 169
 	/**
@@ -171,14 +171,14 @@  discard block
 block discarded – undo
171 171
 	 * @param string|null $default
172 172
 	 * @return string|null
173 173
 	 */
174
-	public function getOpt( string $opt, string $default = null ) : ?string {
175
-		return $this->opts[$opt] ?? $default;
174
+	public function getOpt ( string $opt, string $default = null ) : ?string {
175
+		return $this->opts[ $opt ] ?? $default;
176 176
 	}
177 177
 
178 178
 	/**
179 179
 	 * @return string[] Either [ 'tasks' => name1,... ] or [ 'subtasks' => name1,... ]
180 180
 	 */
181
-	public function getTaskOpt() : array {
181
+	public function getTaskOpt () : array {
182 182
 		return array_intersect_key(
183 183
 			$this->opts,
184 184
 			[ 'tasks' => true, 'subtasks' => true ]
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
 	/**
189 189
 	 * @return string|null
190 190
 	 */
191
-	public function getURL() : ?string {
191
+	public function getURL () : ?string {
192 192
 		return $this->getOpt( 'force-url' );
193 193
 	}
194 194
 }
Please login to merge, or discard this patch.
src/Wiki/User.php 1 patch
Spacing   +13 added lines, -13 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;
4 4
 
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
 	 * @param UserInfo $ui
24 24
 	 * @param Wiki $wiki
25 25
 	 */
26
-	public function __construct( UserInfo $ui, Wiki $wiki ) {
26
+	public function __construct ( UserInfo $ui, Wiki $wiki ) {
27 27
 		$this->wiki = $wiki;
28 28
 		$this->name = $ui->getName();
29 29
 		$this->ui = $ui;
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
 	/**
33 33
 	 * @return string
34 34
 	 */
35
-	public function getName() : string {
35
+	public function getName () : string {
36 36
 		return $this->name;
37 37
 	}
38 38
 
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	 *
42 42
 	 * @return string[]
43 43
 	 */
44
-	public function getGroups() : array {
44
+	public function getGroups () : array {
45 45
 		return $this->ui->extractGroups();
46 46
 	}
47 47
 
@@ -50,7 +50,7 @@  discard block
 block discarded – undo
50 50
 	 *
51 51
 	 * @return string[] [ group => date ]
52 52
 	 */
53
-	public function getGroupsWithDates() : array {
53
+	public function getGroupsWithDates () : array {
54 54
 		return $this->ui->extractGroupsWithDates();
55 55
 	}
56 56
 
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
 	 * @param string $groupName
61 61
 	 * @return bool
62 62
 	 */
63
-	public function inGroup( string $groupName ) : bool {
63
+	public function inGroup ( string $groupName ) : bool {
64 64
 		return in_array( $groupName, $this->getGroups(), true );
65 65
 	}
66 66
 
@@ -69,9 +69,9 @@  discard block
 block discarded – undo
69 69
 	 *
70 70
 	 * @inheritDoc
71 71
 	 */
72
-	public function getRegex( string $delimiter = '/' ) : string {
72
+	public function getRegex ( string $delimiter = '/' ) : string {
73 73
 		$bits = $this->getAliases();
74
-		$bits[] = $this->name;
74
+		$bits[ ] = $this->name;
75 75
 		$regexify = static function ( string $el ) use ( $delimiter ) : string {
76 76
 			return str_replace( ' ', '[ _]', preg_quote( $el, $delimiter ) );
77 77
 		};
@@ -83,14 +83,14 @@  discard block
 block discarded – undo
83 83
 	 *
84 84
 	 * @return string[]
85 85
 	 */
86
-	public function getAliases() : array {
86
+	public function getAliases () : array {
87 87
 		return $this->ui->getAliases();
88 88
 	}
89 89
 
90 90
 	/**
91 91
 	 * @return Page
92 92
 	 */
93
-	public function getTalkPage() : Page {
93
+	public function getTalkPage () : Page {
94 94
 		return new Page( "User talk:{$this->name}", $this->wiki );
95 95
 	}
96 96
 
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
 	 * Get the default base page, e.g. WP:A/Riconferma annuale/XXX
99 99
 	 * @return Page
100 100
 	 */
101
-	public function getBasePage() : Page {
101
+	public function getBasePage () : Page {
102 102
 		$prefix = Config::getInstance()->get( 'main-page-title' );
103 103
 		return new Page( "$prefix/$this", $this->wiki );
104 104
 	}
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 	 * @throws MissingPageException
111 111
 	 * @return Page
112 112
 	 */
113
-	public function getExistingBasePage() : Page {
113
+	public function getExistingBasePage () : Page {
114 114
 		$basePage = $this->getBasePage();
115 115
 		if ( !$basePage->exists() ) {
116 116
 			$basePage = null;
@@ -134,7 +134,7 @@  discard block
 block discarded – undo
134 134
 	/**
135 135
 	 * @return string
136 136
 	 */
137
-	public function __toString() : string {
137
+	public function __toString () : string {
138 138
 		return $this->name;
139 139
 	}
140 140
 }
Please login to merge, or discard this patch.
src/Wiki/UserInfo.php 1 patch
Spacing   +8 added lines, -8 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;
4 4
 
@@ -21,7 +21,7 @@  discard block
 block discarded – undo
21 21
 	 * @param array $info
22 22
 	 * @phan-param array<string,string|string[]> $info
23 23
 	 */
24
-	public function __construct( string $name, array $info ) {
24
+	public function __construct ( string $name, array $info ) {
25 25
 		$this->name = $name;
26 26
 		$this->info = $info;
27 27
 	}
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
 	/**
30 30
 	 * @return string
31 31
 	 */
32
-	public function getName() : string {
32
+	public function getName () : string {
33 33
 		return $this->name;
34 34
 	}
35 35
 
@@ -37,28 +37,28 @@  discard block
 block discarded – undo
37 37
 	 * @return array
38 38
 	 * @phan-return array<string,string|string[]>
39 39
 	 */
40
-	public function getInfo() : array {
40
+	public function getInfo () : array {
41 41
 		return $this->info;
42 42
 	}
43 43
 
44 44
 	/**
45 45
 	 * @return string[]
46 46
 	 */
47
-	public function extractGroups() : array {
47
+	public function extractGroups () : array {
48 48
 		return array_keys( $this->extractGroupsWithDates() );
49 49
 	}
50 50
 
51 51
 	/**
52 52
 	 * @return string[]
53 53
 	 */
54
-	public function extractGroupsWithDates() : array {
54
+	public function extractGroupsWithDates () : array {
55 55
 		return array_intersect_key( $this->getInfo(), array_fill_keys( self::GROUP_KEYS, 1 ) );
56 56
 	}
57 57
 
58 58
 	/**
59 59
 	 * @return string[]
60 60
 	 */
61
-	public function getAliases() : array {
62
-		return $this->getInfo()['aliases'] ?? [];
61
+	public function getAliases () : array {
62
+		return $this->getInfo()[ 'aliases' ] ?? [ ];
63 63
 	}
64 64
 }
Please login to merge, or discard this patch.
src/Wiki/LoginInfo.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\Wiki;
4 4
 
@@ -15,7 +15,7 @@  discard block
 block discarded – undo
15 15
 	 * @param string $username
16 16
 	 * @param string $password
17 17
 	 */
18
-	public function __construct( string $username, string $password ) {
18
+	public function __construct ( string $username, string $password ) {
19 19
 		$this->username = $username;
20 20
 		$this->password = $password;
21 21
 	}
@@ -23,14 +23,14 @@  discard block
 block discarded – undo
23 23
 	/**
24 24
 	 * @return string
25 25
 	 */
26
-	public function getUsername() : string {
26
+	public function getUsername () : string {
27 27
 		return $this->username;
28 28
 	}
29 29
 
30 30
 	/**
31 31
 	 * @return string
32 32
 	 */
33
-	public function getPassword() : string {
33
+	public function getPassword () : string {
34 34
 		return $this->password;
35 35
 	}
36 36
 }
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
 
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 	 * @param string $listTitle
21 21
 	 * @param Wiki $wiki
22 22
 	 */
23
-	private function __construct( string $listTitle, Wiki $wiki ) {
23
+	private function __construct ( string $listTitle, Wiki $wiki ) {
24 24
 		parent::__construct( $listTitle, $wiki );
25 25
 	}
26 26
 
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
 	 * @param string $listTitle
32 32
 	 * @return self
33 33
 	 */
34
-	public static function get( Wiki $wiki, string $listTitle ) : self {
34
+	public static function get ( Wiki $wiki, string $listTitle ) : self {
35 35
 		static $instance = null;
36 36
 		if ( $instance === null ) {
37 37
 			$instance = new self( $listTitle, $wiki );
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 	 * @param UserInfo $ui
44 44
 	 * @return int|null
45 45
 	 */
46
-	public function getOverrideTimestamp( UserInfo $ui ) : ?int {
46
+	public function getOverrideTimestamp ( UserInfo $ui ) : ?int {
47 47
 		$info = $ui->getInfo();
48 48
 		if ( !array_intersect_key( $info, [ 'override-perm' => true, 'override' => true ] ) ) {
49 49
 			return null;
@@ -51,9 +51,9 @@  discard block
 block discarded – undo
51 51
 
52 52
 		// A one-time override takes precedence
53 53
 		if ( array_key_exists( 'override', $info ) ) {
54
-			$date = $info['override'];
54
+			$date = $info[ 'override' ];
55 55
 		} else {
56
-			$date = $info['override-prem'] . '/' . date( 'Y' );
56
+			$date = $info[ 'override-prem' ] . '/' . date( 'Y' );
57 57
 		}
58 58
 		return DateTime::createFromFormat( 'd/m/Y', $date )->getTimestamp();
59 59
 	}
@@ -65,18 +65,18 @@  discard block
 block discarded – undo
65 65
 	 * @return int
66 66
 	 * @suppress PhanPluginComparisonObjectOrdering DateTime objects can be compared (phan issue #2907)
67 67
 	 */
68
-	public function getNextTimestamp( string $user ) : int {
68
+	public function getNextTimestamp ( string $user ) : int {
69 69
 		$userInfo = $this->getUserInfo( $user )->getInfo();
70 70
 		$now = new DateTime();
71
-		if ( isset( $userInfo['override-perm'] ) ) {
71
+		if ( isset( $userInfo[ 'override-perm' ] ) ) {
72 72
 			$date = DateTime::createFromFormat(
73 73
 				'd/m/Y',
74
-				$userInfo['override-perm'] . '/' . date( 'Y' )
74
+				$userInfo[ 'override-perm' ] . '/' . date( 'Y' )
75 75
 			);
76 76
 		} else {
77 77
 			$date = null;
78
-			if ( isset( $userInfo['override'] ) ) {
79
-				$date = DateTime::createFromFormat( 'd/m/Y', $userInfo['override'] );
78
+			if ( isset( $userInfo[ 'override' ] ) ) {
79
+				$date = DateTime::createFromFormat( 'd/m/Y', $userInfo[ 'override' ] );
80 80
 			}
81 81
 			if ( !$date || $date <= $now ) {
82 82
 				$ts = self::getValidFlagTimestamp( $userInfo );
@@ -96,17 +96,15 @@  discard block
 block discarded – undo
96 96
 	 * @param string[] $groups
97 97
 	 * @return int
98 98
 	 */
99
-	public static function getValidFlagTimestamp( array $groups ): int {
100
-		$checkuser = isset( $groups['checkuser'] ) ?
101
-			DateTime::createFromFormat( 'd/m/Y', $groups['checkuser'] )->getTimestamp() :
102
-			0;
103
-		$bureaucrat = isset( $groups['bureaucrat'] ) ?
104
-			DateTime::createFromFormat( 'd/m/Y', $groups['bureaucrat'] )->getTimestamp() :
105
-			0;
99
+	public static function getValidFlagTimestamp ( array $groups ): int {
100
+		$checkuser = isset( $groups[ 'checkuser' ] ) ?
101
+			DateTime::createFromFormat( 'd/m/Y', $groups[ 'checkuser' ] )->getTimestamp() : 0;
102
+		$bureaucrat = isset( $groups[ 'bureaucrat' ] ) ?
103
+			DateTime::createFromFormat( 'd/m/Y', $groups[ 'bureaucrat' ] )->getTimestamp() : 0;
106 104
 
107 105
 		$timestamp = max( $bureaucrat, $checkuser );
108 106
 		if ( $timestamp === 0 ) {
109
-			$timestamp = DateTime::createFromFormat( 'd/m/Y', $groups['sysop'] )->getTimestamp();
107
+			$timestamp = DateTime::createFromFormat( 'd/m/Y', $groups[ 'sysop' ] )->getTimestamp();
110 108
 		}
111 109
 		return $timestamp;
112 110
 	}
@@ -120,14 +118,14 @@  discard block
 block discarded – undo
120 118
 	 * @param string[] $groups
121 119
 	 * @return bool
122 120
 	 */
123
-	public static function isOverrideExpired( array $groups ) : bool {
124
-		if ( !isset( $groups['override'] ) ) {
121
+	public static function isOverrideExpired ( array $groups ) : bool {
122
+		if ( !isset( $groups[ 'override' ] ) ) {
125 123
 			return false;
126 124
 		}
127 125
 
128 126
 		$flagTS = self::getValidFlagTimestamp( $groups );
129 127
 		$usualTS = strtotime( date( 'Y' ) . '-' . date( 'm-d', $flagTS ) );
130
-		$overrideTS = DateTime::createFromFormat( 'd/m/Y', $groups['override'] )->getTimestamp();
128
+		$overrideTS = DateTime::createFromFormat( 'd/m/Y', $groups[ 'override' ] )->getTimestamp();
131 129
 		$delay = 60 * 60 * 24 * 3;
132 130
 
133 131
 		return time() > $usualTS + $delay && time() > $overrideTS + $delay;
@@ -138,9 +136,9 @@  discard block
 block discarded – undo
138 136
 	 *
139 137
 	 * @return UserInfo[]
140 138
 	 */
141
-	public function getAdminsList() : array {
139
+	public function getAdminsList () : array {
142 140
 		if ( $this->adminsList === null ) {
143
-			$this->adminsList = [];
141
+			$this->adminsList = [ ];
144 142
 			foreach ( $this->getDecodedContent() as $user => $info ) {
145 143
 				$this->adminsList[ $user ] = new UserInfo( $user, $info );
146 144
 			}
@@ -152,8 +150,8 @@  discard block
 block discarded – undo
152 150
 	 * @param string $user
153 151
 	 * @return UserInfo
154 152
 	 */
155
-	public function getUserInfo( string $user ) : UserInfo {
156
-		return $this->getAdminsList()[$user];
153
+	public function getUserInfo ( string $user ) : UserInfo {
154
+		return $this->getAdminsList()[ $user ];
157 155
 	}
158 156
 
159 157
 	/**
@@ -161,7 +159,7 @@  discard block
 block discarded – undo
161 159
 	 *
162 160
 	 * @return 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/Wiki/Page/PageRiconferma.php 1 patch
Spacing   +21 added lines, -21 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
 
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
 	/** @var int|null */
17 17
 	private $opposeSection;
18 18
 	/** @var int[] Counts of votes for each section */
19
-	private $sectionCounts = [];
19
+	private $sectionCounts = [ ];
20 20
 
21 21
 	// Possible outcomes of a vote
22 22
 	public const OUTCOME_OK = 0;
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 	 * because they can vary depending on whether the page is a vote, which is relatively
36 36
 	 * expensive to know since it requires parsing the content of the page.
37 37
 	 */
38
-	private function defineSections() : void {
38
+	private function defineSections () : void {
39 39
 		$this->supportSection = $this->isVote() ? 3 : 0;
40 40
 		$this->opposeSection = $this->isVote() ? 4 : 3;
41 41
 	}
@@ -45,8 +45,8 @@  discard block
 block discarded – undo
45 45
 	 *
46 46
 	 * @return string
47 47
 	 */
48
-	public function getUserName() : string {
49
-		return explode( '/', $this->title )[2];
48
+	public function getUserName () : string {
49
+		return explode( '/', $this->title )[ 2 ];
50 50
 	}
51 51
 
52 52
 	/**
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
 	 *
55 55
 	 * @return int
56 56
 	 */
57
-	public function getNum() : int {
57
+	public function getNum () : int {
58 58
 		$bits = explode( '/', $this->getTitle() );
59 59
 		return (int)end( $bits );
60 60
 	}
@@ -64,8 +64,8 @@  discard block
 block discarded – undo
64 64
 	 *
65 65
 	 * @return string
66 66
 	 */
67
-	public function getUserNum() : string {
68
-		return explode( '/', $this->getTitle(), 3 )[2];
67
+	public function getUserNum () : string {
68
+		return explode( '/', $this->getTitle(), 3 )[ 2 ];
69 69
 	}
70 70
 
71 71
 	/**
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
 	 *
74 74
 	 * @return int
75 75
 	 */
76
-	public function getOpposingCount() : int {
76
+	public function getOpposingCount () : int {
77 77
 		$this->defineSections();
78 78
 		return $this->getCountForSection( $this->opposeSection );
79 79
 	}
@@ -84,7 +84,7 @@  discard block
 block discarded – undo
84 84
 	 * @return int
85 85
 	 * @throws BadMethodCallException
86 86
 	 */
87
-	public function getSupportCount() : int {
87
+	public function getSupportCount () : int {
88 88
 		if ( !$this->isVote() ) {
89 89
 			throw new BadMethodCallException( 'Cannot get support for a non-vote page.' );
90 90
 		}
@@ -98,13 +98,13 @@  discard block
 block discarded – undo
98 98
 	 * @param int $secNum
99 99
 	 * @return int
100 100
 	 */
101
-	protected function getCountForSection( int $secNum ) : int {
101
+	protected function getCountForSection ( int $secNum ) : int {
102 102
 		if ( !isset( $this->sectionCounts[ $secNum ] ) ) {
103 103
 			$content = $this->wiki->getPageContent( $this->title, $secNum );
104 104
 			// Let's hope that this is good enough...
105
-			$this->sectionCounts[$secNum] = preg_match_all( "/^# *(?![# *:]|\.\.\.$)/m", $content );
105
+			$this->sectionCounts[ $secNum ] = preg_match_all( "/^# *(?![# *:]|\.\.\.$)/m", $content );
106 106
 		}
107
-		return $this->sectionCounts[$secNum];
107
+		return $this->sectionCounts[ $secNum ];
108 108
 	}
109 109
 
110 110
 	/**
@@ -112,9 +112,9 @@  discard block
 block discarded – undo
112 112
 	 *
113 113
 	 * @return int
114 114
 	 */
115
-	protected function getQuorum() : int {
115
+	protected function getQuorum () : int {
116 116
 		$reg = "!soddisfare il \[\[[^|\]]+\|quorum]] di '''(\d+) voti'''!";
117
-		return (int)$this->getMatch( $reg )[1];
117
+		return (int)$this->getMatch( $reg )[ 1 ];
118 118
 	}
119 119
 
120 120
 	/**
@@ -122,7 +122,7 @@  discard block
 block discarded – undo
122 122
 	 *
123 123
 	 * @return bool
124 124
 	 */
125
-	public function hasOpposition() : bool {
125
+	public function hasOpposition () : bool {
126 126
 		return $this->getOpposingCount() >= self::REQUIRED_OPPOSE;
127 127
 	}
128 128
 
@@ -131,7 +131,7 @@  discard block
 block discarded – undo
131 131
 	 *
132 132
 	 * @return int One of the OUTCOME_* constants
133 133
 	 */
134
-	public function getOutcome() : int {
134
+	public function getOutcome () : int {
135 135
 		if ( !$this->isVote() ) {
136 136
 			return self::OUTCOME_OK;
137 137
 		}
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
 	 * @throws BadMethodCallException
155 155
 	 * @throws LogicException
156 156
 	 */
157
-	public function getOutcomeText() : string {
157
+	public function getOutcomeText () : string {
158 158
 		if ( !$this->isVote() ) {
159 159
 			throw new BadMethodCallException( 'No need for an outcome text.' );
160 160
 		}
@@ -188,7 +188,7 @@  discard block
 block discarded – undo
188 188
 	 *
189 189
 	 * @return bool
190 190
 	 */
191
-	public function isVote() : bool {
191
+	public function isVote () : bool {
192 192
 		$sectionReg = '/<!-- SEZIONE DA UTILIZZARE PER/';
193 193
 		return !$this->matches( $sectionReg );
194 194
 	}
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 	 *
199 199
 	 * @return int
200 200
 	 */
201
-	public function getCreationTimestamp() : int {
201
+	public function getCreationTimestamp () : int {
202 202
 		return $this->wiki->getPageCreationTS( $this->title );
203 203
 	}
204 204
 
@@ -207,7 +207,7 @@  discard block
 block discarded – undo
207 207
 	 *
208 208
 	 * @return int
209 209
 	 */
210
-	public function getEndTimestamp() : int {
210
+	public function getEndTimestamp () : int {
211 211
 		if ( $this->isVote() ) {
212 212
 			$reg = "!La votazione ha inizio il.+ alle ore ([\d:]+) e ha termine il (.+) alla stessa ora!";
213 213
 			[ , $hours, $day ] = $this->getMatch( $reg );
Please login to merge, or discard this patch.
src/Wiki/Page/Page.php 1 patch
Spacing   +17 added lines, -17 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
 
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 	 * @param string $title
23 23
 	 * @param Wiki $wiki For the site where the page lives
24 24
 	 */
25
-	public function __construct( string $title, Wiki $wiki ) {
25
+	public function __construct ( string $title, Wiki $wiki ) {
26 26
 		$this->wiki = $wiki;
27 27
 		$this->title = $title;
28 28
 	}
@@ -30,7 +30,7 @@  discard block
 block discarded – undo
30 30
 	/**
31 31
 	 * @return string
32 32
 	 */
33
-	public function getTitle() : string {
33
+	public function getTitle () : string {
34 34
 		return $this->title;
35 35
 	}
36 36
 
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
 	 * @param int|null $section A section number to retrieve the content of that section
41 41
 	 * @return string
42 42
 	 */
43
-	public function getContent( int $section = null ) : string {
43
+	public function getContent ( int $section = null ) : string {
44 44
 		if ( $this->content === null ) {
45 45
 			$this->content = $this->wiki->getPageContent( $this->title, $section );
46 46
 		}
@@ -54,18 +54,18 @@  discard block
 block discarded – undo
54 54
 	 * @phan-param array<int|string|bool> $params
55 55
 	 * @throws LogicException
56 56
 	 */
57
-	public function edit( array $params ) : void {
57
+	public function edit ( array $params ) : void {
58 58
 		$params = [
59 59
 			'title' => $this->getTitle()
60 60
 		] + $params;
61 61
 
62 62
 		$this->wiki->editPage( $params );
63
-		if ( isset( $params['text'] ) ) {
64
-			$this->content = $params['text'];
65
-		} elseif ( isset( $params['appendtext'] ) ) {
66
-			$this->content .= $params['appendtext'];
67
-		} elseif ( isset( $params['prependtext'] ) ) {
68
-			$this->content = $params['prependtext'] . $this->content;
63
+		if ( isset( $params[ 'text' ] ) ) {
64
+			$this->content = $params[ 'text' ];
65
+		} elseif ( isset( $params[ 'appendtext' ] ) ) {
66
+			$this->content .= $params[ 'appendtext' ];
67
+		} elseif ( isset( $params[ 'prependtext' ] ) ) {
68
+			$this->content = $params[ 'prependtext' ] . $this->content;
69 69
 		} else {
70 70
 			throw new LogicException(
71 71
 				'Unrecognized text param for edit. Params: ' . var_export( $params, true )
@@ -78,7 +78,7 @@  discard block
 block discarded – undo
78 78
 	 *
79 79
 	 * @return bool
80 80
 	 */
81
-	public function exists() : bool {
81
+	public function exists () : bool {
82 82
 		$pages = $this->wiki->getRequestFactory()->newFromParams( [
83 83
 			'action' => 'query',
84 84
 			'titles' => $this->getTitle()
@@ -92,7 +92,7 @@  discard block
 block discarded – undo
92 92
 	 * @param string $regex
93 93
 	 * @return bool
94 94
 	 */
95
-	public function matches( string $regex ) : bool {
95
+	public function matches ( string $regex ) : bool {
96 96
 		return (bool)preg_match( $regex, $this->getContent() );
97 97
 	}
98 98
 
@@ -104,8 +104,8 @@  discard block
 block discarded – undo
104 104
 	 * @return string[]
105 105
 	 * @throws MissingMatchException
106 106
 	 */
107
-	public function getMatch( string $regex ) : array {
108
-		$ret = [];
107
+	public function getMatch ( string $regex ) : array {
108
+		$ret = [ ];
109 109
 		if ( preg_match( $regex, $this->getContent(), $ret ) === 0 ) {
110 110
 			throw new MissingMatchException( "The content of $this does not match the given regex $regex" );
111 111
 		}
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
 	 *
118 118
 	 * @inheritDoc
119 119
 	 */
120
-	public function getRegex( string $delimiter = '/' ) : string {
120
+	public function getRegex ( string $delimiter = '/' ) : string {
121 121
 		return str_replace( ' ', '[ _]', preg_quote( $this->title, $delimiter ) );
122 122
 	}
123 123
 
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
 	 *
127 127
 	 * @return string
128 128
 	 */
129
-	public function __toString() : string {
129
+	public function __toString () : string {
130 130
 		return $this->getTitle();
131 131
 	}
132 132
 }
Please login to merge, or discard this patch.