Passed
Push — master ( 732591...229bc5 )
by Dispositif
03:49
created
src/Application/WikiBotConfig.php 1 patch
Spacing   +10 added lines, -11 removed lines patch added patch discarded remove patch
@@ -31,7 +31,7 @@  discard block
 block discarded – undo
31 31
 class WikiBotConfig
32 32
 {
33 33
     public const VERSION = '2.1';
34
-    public const WATCHPAGE_FILENAME = __DIR__ . '/resources/watch_pages.json';
34
+    public const WATCHPAGE_FILENAME = __DIR__.'/resources/watch_pages.json';
35 35
     public const EXIT_ON_CHECK_WATCHPAGE = false;
36 36
     // do not stop if they play with {stop} on bot talk page
37 37
     public const BLACKLIST_EDITOR = ['OrlodrimBot'];
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
      * @var DateTimeImmutable
57 57
      */
58 58
     protected $lastCheckStopDate;
59
-    protected SMSInterface|null $SMSClient;
59
+    protected SMSInterface | null $SMSClient;
60 60
     protected $mediawikiFactory;
61 61
     protected ?string $gitCommitHash = null;
62 62
 
@@ -90,9 +90,8 @@  discard block
 block discarded – undo
90 90
     {
91 91
         $text = WikiTextUtil::removeHTMLcomments($text);
92 92
         $botName = $botName ?: self::getBotName();
93
-        $denyReg = (empty($botName)) ? '' :
94
-            '|\{\{bots ?\| ?(optout|deny)\=[^\}]*' . preg_quote($botName, '#') . '[^\}]*\}\}';
95
-        return preg_match('#({{nobots}}|{{bots ?\| ?(optout|deny) ?= ?all ?}}' . $denyReg . ')#i', $text) > 0;
93
+        $denyReg = (empty($botName)) ? '' : '|\{\{bots ?\| ?(optout|deny)\=[^\}]*'.preg_quote($botName, '#').'[^\}]*\}\}';
94
+        return preg_match('#({{nobots}}|{{bots ?\| ?(optout|deny) ?= ?all ?}}'.$denyReg.')#i', $text) > 0;
96 95
     }
97 96
 
98 97
     /**
@@ -127,12 +126,12 @@  discard block
 block discarded – undo
127 126
         if ($this->gitCommitHash) {
128 127
             return $this->gitCommitHash;
129 128
         }
130
-        $path = __DIR__ . '/../../.git/';
129
+        $path = __DIR__.'/../../.git/';
131 130
         if (!file_exists($path)) {
132 131
             return null;
133 132
         }
134
-        $head = trim(substr(file_get_contents($path . 'HEAD'), 4));
135
-        $hash = trim(file_get_contents(sprintf($path . $head)));
133
+        $head = trim(substr(file_get_contents($path.'HEAD'), 4));
134
+        $hash = trim(file_get_contents(sprintf($path.$head)));
136 135
         $this->gitCommitHash = $hash; // cached
137 136
 
138 137
         return $hash;
@@ -190,7 +189,7 @@  discard block
 block discarded – undo
190 189
 
191 190
     protected function getBotTalkPageTitle(): string
192 191
     {
193
-        return self::TALK_PAGE_PREFIX . $this::getBotName();
192
+        return self::TALK_PAGE_PREFIX.$this::getBotName();
194 193
     }
195 194
 
196 195
     protected function sendSMSandFunnyTalk(string $lastEditor, ?bool $botTalk): void
@@ -290,8 +289,8 @@  discard block
 block discarded – undo
290 289
      */
291 290
     public function minutesSinceLastEdit(string $title): int
292 291
     {
293
-        $time = $this->getTimestamp($title);  // 2011-09-02T16:31:13Z
292
+        $time = $this->getTimestamp($title); // 2011-09-02T16:31:13Z
294 293
 
295
-        return (int)round((time() - strtotime($time)) / 60);
294
+        return (int) round((time() - strtotime($time)) / 60);
296 295
     }
297 296
 }
Please login to merge, or discard this patch.
src/Infrastructure/Monitor/StatsSqlite3.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class StatsSqlite3 implements StatsInterface
20 20
 {
21
-    protected const DEFAULT_FILEPATH = __DIR__ . '/../../../log/stats.db';
21
+    protected const DEFAULT_FILEPATH = __DIR__.'/../../../log/stats.db';
22 22
     protected const MAX_TAG_LENGTH = 100;
23 23
 
24 24
     protected SQLite3 $db;
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
         // `num` default value is 1 so insert is enough to set num=1
76 76
         try {
77 77
             return $this->sqliteExecWriteOrWait(
78
-                'INSERT INTO ' . $table . ' (tag) VALUES("' . $tag . '") ON CONFLICT(tag) DO UPDATE SET num=num+1'
78
+                'INSERT INTO '.$table.' (tag) VALUES("'.$tag.'") ON CONFLICT(tag) DO UPDATE SET num=num+1'
79 79
             );
80 80
         } catch (Exception $e) {
81 81
             return false;
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
         $tag = $this->formatTag($tag);
108 108
         try {
109 109
             return $this->sqliteExecWriteOrWait(
110
-                'INSERT OR REPLACE INTO tagnum (tag,num) VALUES("' . $tag . '", ' . $num . ')'
110
+                'INSERT OR REPLACE INTO tagnum (tag,num) VALUES("'.$tag.'", '.$num.')'
111 111
             );
112 112
         } catch (Exception $e) {
113 113
             return false;
@@ -119,7 +119,7 @@  discard block
 block discarded – undo
119 119
         $tag = $this->formatTag($tag);
120 120
         try {
121 121
             return $this->sqliteExecWriteOrWait(
122
-                'INSERT INTO tagnum (tag) VALUES("' . $tag . '") ON CONFLICT(tag) DO UPDATE SET num=num-1'
122
+                'INSERT INTO tagnum (tag) VALUES("'.$tag.'") ON CONFLICT(tag) DO UPDATE SET num=num-1'
123 123
             );
124 124
         } catch (Exception $e) {
125 125
             return false;
Please login to merge, or discard this patch.
src/Infrastructure/Monitor/ConsoleLogger.php 1 patch
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -20,7 +20,7 @@  discard block
 block discarded – undo
20 20
 {
21 21
     //    use LoggerTrait;
22 22
 
23
-    protected const CRITICAL_LOG_PATH = __DIR__ . '/../../../log/critical.log';
23
+    protected const CRITICAL_LOG_PATH = __DIR__.'/../../../log/critical.log';
24 24
     public bool $verbose = false;
25 25
     public bool $debug = false;
26 26
     public bool $colorMode = false;
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
 
37 37
     public function __call(string $method, array $args): void
38 38
     {
39
-        $this->notice('Call to undefined method ConsoleLogger:' . $method . '()');
39
+        $this->notice('Call to undefined method ConsoleLogger:'.$method.'()');
40 40
     }
41 41
 
42 42
     /**
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
             case 'emergency':
63 63
             case 'alert':
64 64
             case 'critical':
65
-                $this->echoColor("[$level] " . $date . ' : ' . $message . "\n", Color::BG_RED . Color::WHITE);
65
+                $this->echoColor("[$level] ".$date.' : '.$message."\n", Color::BG_RED.Color::WHITE);
66 66
                 if ($context !== []) {
67 67
                     dump($context);
68 68
                 }
@@ -70,20 +70,20 @@  discard block
 block discarded – undo
70 70
                 break;
71 71
             case 'error':
72 72
             case 'warning':
73
-                $this->echoColor("[$level] " . $date . ' : ' . $message . "\n", Color::BG_YELLOW . Color::BLACK);
73
+                $this->echoColor("[$level] ".$date.' : '.$message."\n", Color::BG_YELLOW.Color::BLACK);
74 74
                 if ($context !== []) {
75 75
                     dump($context);
76 76
                 }
77 77
                 break;
78 78
             case 'notice':
79
-                $this->echoColor("[$level] " . $message . "\n");
79
+                $this->echoColor("[$level] ".$message."\n");
80 80
                 if ($context !== []) {
81 81
                     dump($context);
82 82
                 }
83 83
                 break;
84 84
             case 'info':
85 85
                 if ($this->verbose || $this->debug) {
86
-                    $this->echoColor("[$level] " . $message . "\n", Color::GRAY);
86
+                    $this->echoColor("[$level] ".$message."\n", Color::GRAY);
87 87
                     if ($context !== []) {
88 88
                         dump($context);
89 89
                     }
@@ -91,14 +91,14 @@  discard block
 block discarded – undo
91 91
                 break;
92 92
             case 'debug':
93 93
                 if ($this->debug) {
94
-                    $this->echoColor("[$level] " . $message . "\n", Color::GRAY);
94
+                    $this->echoColor("[$level] ".$message."\n", Color::GRAY);
95 95
                     if ($context !== []) {
96 96
                         dump($context);
97 97
                     }
98 98
                 }
99 99
                 break;
100 100
             case 'echo':
101
-                $this->echoColor($message . "\n");
101
+                $this->echoColor($message."\n");
102 102
                 break;
103 103
         }
104 104
     }
@@ -121,7 +121,7 @@  discard block
 block discarded – undo
121 121
     private function echoColor(string $text, ?string $color = null): void
122 122
     {
123 123
         if ($this->colorMode && !empty($color)) {
124
-            echo $color . $text . Color::NORMAL;
124
+            echo $color.$text.Color::NORMAL;
125 125
 
126 126
             return;
127 127
         }
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
     {
133 133
         file_put_contents(
134 134
             self::CRITICAL_LOG_PATH,
135
-            date('d-m-Y H:i:s') . " : $level : " . $message . PHP_EOL,
135
+            date('d-m-Y H:i:s')." : $level : ".$message.PHP_EOL,
136 136
             FILE_APPEND
137 137
         );
138 138
     }
Please login to merge, or discard this patch.
src/Domain/ExternLink/CheckURL.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -49,12 +49,12 @@  discard block
 block discarded – undo
49 49
         $this->url = $url;
50 50
         $this->registrableDomain = null;
51 51
         if (!HttpUtil::isHttpURL($url)) {
52
-            $this->log->debug('Skip : not Http URL : ' . $url, ['stats' => 'externref.skip.notRawURL']);
52
+            $this->log->debug('Skip : not Http URL : '.$url, ['stats' => 'externref.skip.notRawURL']);
53 53
             return false;
54 54
         }
55 55
 
56 56
         if ($this->hasForbiddenFilenameExtension()) {
57
-            $this->log->debug('Skip : ForbiddenFilenameExtension : ' . $url, ['stats' => 'externref.skip.forbiddenFilenameExtension']);
57
+            $this->log->debug('Skip : ForbiddenFilenameExtension : '.$url, ['stats' => 'externref.skip.forbiddenFilenameExtension']);
58 58
             return false;
59 59
         }
60 60
 
@@ -70,7 +70,7 @@  discard block
 block discarded – undo
70 70
      */
71 71
     protected function hasForbiddenFilenameExtension(): bool
72 72
     {
73
-        return (bool)preg_match(
73
+        return (bool) preg_match(
74 74
             '#\.(pdf|jpg|jpeg|gif|png|webp|xls|xlsx|xlr|xml|xlt|txt|csv|js|docx|exe|gz|zip|ini|movie|mp3|mp4|ogg|raw|rss|tar|tgz|wma)$#i',
75 75
             $this->url
76 76
         );
@@ -81,7 +81,7 @@  discard block
 block discarded – undo
81 81
         try {
82 82
             $this->registrableDomain = $this->internetDomainParser->getRegistrableDomainFromURL($this->url);
83 83
         } catch (Exception) {
84
-            $this->log->warning('Skip : registrableDomain not a valid URL : ' . $this->url,
84
+            $this->log->warning('Skip : registrableDomain not a valid URL : '.$this->url,
85 85
                 ['stats' => 'externref.skip.URLAuthorized.exception2']
86 86
             );
87 87
             return null;
Please login to merge, or discard this patch.
src/Domain/ExternLink/ExternRefTransformer.php 1 patch
Spacing   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -35,13 +35,13 @@  discard block
 block discarded – undo
35 35
     use SummaryExternTrait, PublisherLogicTrait;
36 36
 
37 37
     final public const HTTP_REQUEST_LOOP_DELAY = 10;
38
-    final public const SKIP_DOMAIN_FILENAME = __DIR__ . '/../resources/config_skip_domain.txt';
38
+    final public const SKIP_DOMAIN_FILENAME = __DIR__.'/../resources/config_skip_domain.txt';
39 39
     final public const REPLACE_404 = true;
40 40
     final public const REPLACE_410 = true;
41
-    final public const CONFIG_PRESSE = __DIR__ . '/../resources/config_presse.yaml';
42
-    final public const CONFIG_NEWSPAPER_JSON = __DIR__ . '/../resources/data_newspapers.json';
43
-    final public const CONFIG_SCIENTIFIC_JSON = __DIR__ . '/../resources/data_scientific_domain.json';
44
-    final public const CONFIG_SCIENTIFIC_WIKI_JSON = __DIR__ . '/../resources/data_scientific_wiki.json';
41
+    final public const CONFIG_PRESSE = __DIR__.'/../resources/config_presse.yaml';
42
+    final public const CONFIG_NEWSPAPER_JSON = __DIR__.'/../resources/data_newspapers.json';
43
+    final public const CONFIG_SCIENTIFIC_JSON = __DIR__.'/../resources/data_scientific_domain.json';
44
+    final public const CONFIG_SCIENTIFIC_WIKI_JSON = __DIR__.'/../resources/data_scientific_wiki.json';
45 45
 
46 46
     public bool $skipSiteBlacklisted = true;
47 47
     public bool $skipRobotNoIndex = true;
@@ -96,13 +96,13 @@  discard block
 block discarded – undo
96 96
         }
97 97
         $this->registrableDomain = $this->urlChecker->getRegistrableDomain($url); // hack
98 98
         if ($this->isSiteBlackListed()) {
99
-            $this->log->debug('Site blacklisted : ' . $this->registrableDomain, ['stats' => 'externref.skip.blacklisted']);
99
+            $this->log->debug('Site blacklisted : '.$this->registrableDomain, ['stats' => 'externref.skip.blacklisted']);
100 100
             return $url;
101 101
         }
102 102
 
103 103
         if ($this->registrableDomain && !$this->validateConfigWebDomain($this->registrableDomain)) {
104 104
             $this->log->debug(
105
-                'Domain blocked by config : ' . $this->registrableDomain,
105
+                'Domain blocked by config : '.$this->registrableDomain,
106 106
                 ['stats' => 'externref.skip.domainDisabledByConfig']
107 107
             );
108 108
             return $url;
@@ -159,7 +159,7 @@  discard block
 block discarded – undo
159 159
     protected function isSiteBlackListed(): bool
160 160
     {
161 161
         if ($this->registrableDomain && $this->skipSiteBlacklisted && in_array($this->registrableDomain, $this->skip_domain)) {
162
-            $this->log->notice("Skip web site " . $this->registrableDomain);
162
+            $this->log->notice("Skip web site ".$this->registrableDomain);
163 163
             return true;
164 164
         }
165 165
         return false;
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
         $this->config[$domain] = is_array($this->config[$domain]) ? $this->config[$domain] : [];
178 178
 
179 179
         if ($this->config[$domain] === 'deactivated' || isset($this->config[$domain]['deactivated'])) {
180
-            $this->log->info("Domain " . $domain . " disabled\n");
180
+            $this->log->info("Domain ".$domain." disabled\n");
181 181
 
182 182
             return false;
183 183
         }
@@ -188,9 +188,9 @@  discard block
 block discarded – undo
188 188
     protected function logDebugConfigWebDomain(string $domain): void
189 189
     {
190 190
         if (!isset($this->config[$domain])) {
191
-            $this->log->debug("Domain " . $domain . " non configuré");
191
+            $this->log->debug("Domain ".$domain." non configuré");
192 192
         } else {
193
-            $this->log->debug("Domain " . $domain . " configuré");
193
+            $this->log->debug("Domain ".$domain." configuré");
194 194
         }
195 195
     }
196 196
 
@@ -216,7 +216,7 @@  discard block
 block discarded – undo
216 216
         if ($pageData === []
217 217
             || (empty($pageData['JSON-LD']) && empty($pageData['meta']))
218 218
         ) {
219
-            $this->log->notice('No metadata : ' . $url);
219
+            $this->log->notice('No metadata : '.$url);
220 220
 
221 221
             return true;
222 222
         }
@@ -231,7 +231,7 @@  discard block
 block discarded – undo
231 231
     protected function emptyMapData(array $mapData, string $url): bool
232 232
     {
233 233
         if ($mapData === [] || empty($mapData['url']) || empty($mapData['titre'])) {
234
-            $this->log->info('Mapping incomplet : ' . $url);
234
+            $this->log->info('Mapping incomplet : '.$url);
235 235
 
236 236
             return true;
237 237
         }
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
     protected function correctSiteViaWebarchiver(array $mapData): array
323 323
     {
324 324
         if (!empty($this->options['originalRegistrableDomain']) && $mapData['site']) {
325
-            $mapData['site'] = $this->options['originalRegistrableDomain'] . ' via ' . $mapData['site'];
325
+            $mapData['site'] = $this->options['originalRegistrableDomain'].' via '.$mapData['site'];
326 326
         }
327 327
 
328 328
         return $mapData;
@@ -346,7 +346,7 @@  discard block
 block discarded – undo
346 346
         $templateOptimized = $optimizer->getOptiTemplate();
347 347
 
348 348
         $serialized = $templateOptimized->serialize(true);
349
-        $this->log->info('Serialized 444: ' . $serialized . "\n");
349
+        $this->log->info('Serialized 444: '.$serialized."\n");
350 350
         return $serialized;
351 351
     }
352 352
 
@@ -354,7 +354,7 @@  discard block
 block discarded – undo
354 354
     {
355 355
         $template = WikiTemplateFactory::create($templateName);
356 356
         $template->userSeparator = " |";
357
-        $this->summary->memo['count ' . $templateName] = 1 + ($this->summary->memo['count ' . $templateName] ?? 0);
357
+        $this->summary->memo['count '.$templateName] = 1 + ($this->summary->memo['count '.$templateName] ?? 0);
358 358
 
359 359
         return $template;
360 360
     }
Please login to merge, or discard this patch.
src/Infrastructure/WikiBlameAdapter.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -23,7 +23,7 @@  discard block
 block discarded – undo
23 23
 {
24 24
     protected HttpClientInterface $client;
25 25
 
26
-    public function __construct(private readonly LoggerInterface|NullLogger $log = new NullLogger())
26
+    public function __construct(private readonly LoggerInterface | NullLogger $log = new NullLogger())
27 27
     {
28 28
         $this->client = ServiceFactory::getHttpClient();
29 29
     }
@@ -38,16 +38,16 @@  discard block
 block discarded – undo
38 38
     {
39 39
         $url = 'http://wikipedia.ramselehof.de/wikiblame.php?project=wikipedia&article='
40 40
             . str_replace(' ', '+', $article)
41
-            . '&needle=' . urlencode($string)
41
+            . '&needle='.urlencode($string)
42 42
             . '&lang=fr&limit=2000&offjahr=2024&offmon=1&offtag=1&offhour=23&offmin=55'
43 43
             . '&searchmethod=int&order=desc'
44
-            . '&force_wikitags=' . ($hasWikicode ? 'on' : 'off')
44
+            . '&force_wikitags='.($hasWikicode ? 'on' : 'off')
45 45
             . '&user_lang=fr&ignorefirst=0';
46 46
 
47 47
         $response = $this->client->get($url);
48 48
 
49 49
         if ($response->getStatusCode() !== 200) {
50
-            $this->log->warning('WikiBlame: ' . $response->getStatusCode() . ' ' . $response->getReasonPhrase());
50
+            $this->log->warning('WikiBlame: '.$response->getStatusCode().' '.$response->getReasonPhrase());
51 51
             return null;
52 52
         }
53 53
 
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
         }
69 69
 
70 70
         return [
71
-            'versionid' => (int)$matches[1],
71
+            'versionid' => (int) $matches[1],
72 72
             'dateraw' => $matches[2],
73 73
             'datetime' => DateUtil::simpleFrench2object($matches[2]),
74 74
         ];
Please login to merge, or discard this patch.
src/Domain/ExternLink/ExternPage.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -54,7 +54,7 @@  discard block
 block discarded – undo
54 54
     )
55 55
     {
56 56
         if (!HttpUtil::isHttpURL($url)) {
57
-            throw new Exception('string is not an URL ' . $url);
57
+            throw new Exception('string is not an URL '.$url);
58 58
         }
59 59
         $this->url = $url;
60 60
     }
@@ -94,7 +94,7 @@  discard block
 block discarded – undo
94 94
                 '//script[@type="application/ld+json"]'
95 95
             );
96 96
         } catch (Exception $e) {
97
-            $this->log->warning('TagParser->xpathResults NULL ' . $this->url);
97
+            $this->log->warning('TagParser->xpathResults NULL '.$this->url);
98 98
 
99 99
             return [];
100 100
         }
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
     {
177 177
         try {
178 178
             if (!HttpUtil::isHttpURL($this->url)) {
179
-                throw new Exception('string is not an URL ' . $this->url);
179
+                throw new Exception('string is not an URL '.$this->url);
180 180
             }
181 181
             if (!$this->domainParser instanceof InternetDomainParserInterface) {
182 182
                 $this->log->notice('InternetDomainParser is not set');
@@ -187,7 +187,7 @@  discard block
 block discarded – undo
187 187
             return $this->domainParser->getRegistrableDomainFromURL($this->url);
188 188
         } catch (Exception $e) {
189 189
             if ($this->log !== null) {
190
-                $this->log->warning('InternetDomainParser->getRegistrableDomainFromURL NULL ' . $this->url);
190
+                $this->log->warning('InternetDomainParser->getRegistrableDomainFromURL NULL '.$this->url);
191 191
             }
192 192
             throw new Exception('InternetDomainParser->getRegistrableDomainFromURL NULL', $e->getCode(), $e);
193 193
         }
Please login to merge, or discard this patch.
src/Domain/ExternLink/DeadLinkTransformer.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -63,7 +63,7 @@
 block discarded – undo
63 63
                 if ($webarchiveDTO->getArchiver() === '[[Internet Archive]]') {
64 64
                     $this->log->notice('
Please login to merge, or discard this patch.
src/Domain/ExternLink/SummaryExternTrait.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@
 block discarded – undo
32 32
             $this->summary->memo['sites'][] = $this->externalPage->getPrettyDomainName(); // ???
33 33
         }
34 34
         if (isset($mapData['accès url'])) {
35
-            $this->log->debug('accès 
Please login to merge, or discard this patch.