Passed
Push — master ( 86fe81...69b6a3 )
by Dispositif
02:31
created
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 : not a valid URL : ' . $this->url,
84
+            $this->log->warning('Skip : 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->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;
@@ -157,7 +157,7 @@  discard block
 block discarded – undo
157 157
     protected function isSiteBlackListed(): bool
158 158
     {
159 159
         if ($this->skipSiteBlacklisted && in_array($this->registrableDomain, $this->skip_domain)) {
160
-            $this->log->notice("Skip web site " . $this->registrableDomain);
160
+            $this->log->notice("Skip web site ".$this->registrableDomain);
161 161
             return true;
162 162
         }
163 163
         return false;
@@ -175,7 +175,7 @@  discard block
 block discarded – undo
175 175
         $this->config[$domain] = is_array($this->config[$domain]) ? $this->config[$domain] : [];
176 176
 
177 177
         if ($this->config[$domain] === 'deactivated' || isset($this->config[$domain]['deactivated'])) {
178
-            $this->log->info("Domain " . $domain . " disabled\n");
178
+            $this->log->info("Domain ".$domain." disabled\n");
179 179
 
180 180
             return false;
181 181
         }
@@ -186,9 +186,9 @@  discard block
 block discarded – undo
186 186
     protected function logDebugConfigWebDomain(string $domain): void
187 187
     {
188 188
         if (!isset($this->config[$domain])) {
189
-            $this->log->debug("Domain " . $domain . " non configuré");
189
+            $this->log->debug("Domain ".$domain." non configuré");
190 190
         } else {
191
-            $this->log->debug("Domain " . $domain . " configuré");
191
+            $this->log->debug("Domain ".$domain." configuré");
192 192
         }
193 193
     }
194 194
 
@@ -214,7 +214,7 @@  discard block
 block discarded – undo
214 214
         if ($pageData === []
215 215
             || (empty($pageData['JSON-LD']) && empty($pageData['meta']))
216 216
         ) {
217
-            $this->log->notice('No metadata : ' . $url);
217
+            $this->log->notice('No metadata : '.$url);
218 218
 
219 219
             return true;
220 220
         }
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
     protected function emptyMapData(array $mapData, string $url): bool
230 230
     {
231 231
         if ($mapData === [] || empty($mapData['url']) || empty($mapData['titre'])) {
232
-            $this->log->info('Mapping incomplet : ' . $url);
232
+            $this->log->info('Mapping incomplet : '.$url);
233 233
 
234 234
             return true;
235 235
         }
@@ -282,7 +282,7 @@  discard block
 block discarded – undo
282 282
 
283 283
         $template = WikiTemplateFactory::create($templateName);
284 284
         $template->userSeparator = " |";
285
-        $this->summary->memo['count ' . $templateName] = 1 + ($this->summary->memo['count ' . $templateName] ?? 0);
285
+        $this->summary->memo['count '.$templateName] = 1 + ($this->summary->memo['count '.$templateName] ?? 0);
286 286
 
287 287
         return $template;
288 288
     }
@@ -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
 }
Please login to merge, or discard this patch.
src/Domain/ExternLink/ExternHttpErrorLogic.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class ExternHttpErrorLogic
20 20
 {
21
-    final public const LOG_REQUEST_ERROR = __DIR__ . '/../../Application/resources/external_request_error.log';
21
+    final public const LOG_REQUEST_ERROR = __DIR__.'/../../Application/resources/external_request_error.log';
22 22
     protected const LOOSE = true;
23 23
 
24 24
     public function __construct(
@@ -40,12 +40,12 @@  discard block
 block discarded – undo
40 40
             return $url;
41 41
         }
42 42
         if (preg_match('#400 Bad Request#i', $errorMessage)) {
43
-            $this->log->warning('400 Bad Request : ' . $url, ['stats' => 'externHttpErrorLogic.400']);
43
+            $this->log->warning('400 Bad Request : '.$url, ['stats' => 'externHttpErrorLogic.400']);
44 44
 
45 45
             return $url;
46 46
         }
47 47
         if (preg_match('#(403 Forbidden|403 Access Forbidden)#i', $errorMessage)) {
48
-            $this->log->warning('403 Forbidden : ' . $url, ['stats' => 'externHttpErrorLogic.403']);
48
+            $this->log->warning('403 Forbidden : '.$url, ['stats' => 'externHttpErrorLogic.403']);
49 49
             // TODO return blankLienWeb without consulté le=...
50 50
 
51 51
             return $url;
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
             return $url;
60 60
         }
61 61
         if (preg_match('#401 (Unauthorized|Authorization Required)#i', $errorMessage)) {
62
-            $this->log->notice('401 Unauthorized : skip ' . $url, ['stats' => 'externHttpErrorLogic.401']);
62
+            $this->log->notice('401 Unauthorized : skip '.$url, ['stats' => 'externHttpErrorLogic.401']);
63 63
 
64 64
             return $url;
65 65
         }
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
         // "cURL error 28: Connection timed out after 20005 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
113 113
         //"cURL error 28: Connection timed out after 20005 milliseconds (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
114 114
         $this->log->notice(
115
-            'erreur non gérée sur extractWebData: "' . $errorMessage . "\" URL: " . $url,
115
+            'erreur non gérée sur extractWebData: "'.$errorMessage."\" URL: ".$url,
116 116
             ['stats' => 'externHttpErrorLogic.defaultSkip']
117 117
         );
118 118
         //file_put_contents(self::LOG_REQUEST_ERROR, $this->domain."\n", FILE_APPEND);
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
@@ -56,7 +56,7 @@
 block discarded – undo
56 56
                 if ($webarchiveDTO->getArchiver() === '[[Internet Archive]]') {
57 57
                     $this->log->notice('
Please login to merge, or discard this patch.
src/Infrastructure/Monitor/Stats.php 1 patch
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class Stats
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;
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
     {
52 52
         $tag = $this->formatTag($tag);
53 53
         try {
54
-            return $this->db->exec('INSERT OR REPLACE INTO tagnum (tag,num) VALUES("' . $tag . '", ' . $num . ')');
54
+            return $this->db->exec('INSERT OR REPLACE INTO tagnum (tag,num) VALUES("'.$tag.'", '.$num.')');
55 55
         } catch (Exception $e) {
56 56
             return false;
57 57
         }
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
         $tag = $this->formatTag($tag);
63 63
         try {
64 64
             return $this->db->exec(
65
-                'INSERT INTO tagnum (tag) VALUES("' . $tag . '") ON CONFLICT(tag) DO UPDATE SET num=num-1'
65
+                'INSERT INTO tagnum (tag) VALUES("'.$tag.'") ON CONFLICT(tag) DO UPDATE SET num=num-1'
66 66
             );
67 67
         } catch (Exception $e) {
68 68
             return false;
@@ -87,17 +87,17 @@  discard block
 block discarded – undo
87 87
     {
88 88
         try {
89 89
             $this->db->exec('CREATE TABLE if not exists tagnum_monthly (
90
-                tag VARCHAR(' . self::MAX_TAG_LENGTH . ') NOT NULL PRIMARY KEY,
90
+                tag VARCHAR(' . self::MAX_TAG_LENGTH.') NOT NULL PRIMARY KEY,
91 91
                 num int(11) NOT NULL DEFAULT 1
92 92
             )');
93 93
 
94 94
             $this->db->exec('CREATE TABLE if not exists tagnum_daily (
95
-                tag VARCHAR(' . self::MAX_TAG_LENGTH . ') NOT NULL PRIMARY KEY,
95
+                tag VARCHAR(' . self::MAX_TAG_LENGTH.') NOT NULL PRIMARY KEY,
96 96
                 num int(11) NOT NULL DEFAULT 1
97 97
             )');
98 98
 
99 99
             return $this->db->exec('CREATE TABLE if not exists tagnum (
100
-                tag VARCHAR(' . self::MAX_TAG_LENGTH . ') NOT NULL PRIMARY KEY,
100
+                tag VARCHAR(' . self::MAX_TAG_LENGTH.') NOT NULL PRIMARY KEY,
101 101
                 num int(11) NOT NULL DEFAULT 1
102 102
             )');
103 103
         } catch (Exception $e) {
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
         try {
112 112
             // upsert :)
113 113
             return $this->db->exec(
114
-                'INSERT INTO '.$table.' (tag) VALUES("' . $tag . '") ON CONFLICT(tag) DO UPDATE SET num=num+1'
114
+                'INSERT INTO '.$table.' (tag) VALUES("'.$tag.'") ON CONFLICT(tag) DO UPDATE SET num=num+1'
115 115
             );
116 116
         } catch (Exception $e) {
117 117
             return false;
Please login to merge, or discard this patch.
src/Infrastructure/Monitor/ConsoleLogger.php 1 patch
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
     public bool $debug = false;
25 25
     public bool $colorMode = false;
26 26
 
27
-    public function __construct(public Stats|NullStats $stats = new Stats())
27
+    public function __construct(public Stats | NullStats $stats = new Stats())
28 28
     {
29 29
         try {
30 30
             $this->stats->increment('test.consolelogger');
@@ -35,7 +35,7 @@  discard block
 block discarded – undo
35 35
 
36 36
     public function __call(string $method, array $args): void
37 37
     {
38
-        $this->notice('Call to undefined method ConsoleLogger:' . $method . '()');
38
+        $this->notice('Call to undefined method ConsoleLogger:'.$method.'()');
39 39
     }
40 40
 
41 41
     /**
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
             case 'emergency':
62 62
             case 'alert':
63 63
             case 'critical':
64
-                $this->echoColor("[$level] " . $date . ' : ' . $message . "\n", Color::BG_RED . Color::WHITE);
64
+                $this->echoColor("[$level] ".$date.' : '.$message."\n", Color::BG_RED.Color::WHITE);
65 65
                 if ($context !== []) {
66 66
                     dump($context);
67 67
                 }
@@ -69,20 +69,20 @@  discard block
 block discarded – undo
69 69
                 break;
70 70
             case 'error':
71 71
             case 'warning':
72
-                $this->echoColor("[$level] " . $date . ' : ' . $message . "\n", Color::BG_YELLOW . Color::BLACK);
72
+                $this->echoColor("[$level] ".$date.' : '.$message."\n", Color::BG_YELLOW.Color::BLACK);
73 73
                 if ($context !== []) {
74 74
                     dump($context);
75 75
                 }
76 76
                 break;
77 77
             case 'notice':
78
-                $this->echoColor("[$level] " . $message . "\n");
78
+                $this->echoColor("[$level] ".$message."\n");
79 79
                 if ($context !== []) {
80 80
                     dump($context);
81 81
                 }
82 82
                 break;
83 83
             case 'info':
84 84
                 if ($this->verbose || $this->debug) {
85
-                    $this->echoColor("[$level] " . $message . "\n", Color::GRAY);
85
+                    $this->echoColor("[$level] ".$message."\n", Color::GRAY);
86 86
                     if ($context !== []) {
87 87
                         dump($context);
88 88
                     }
@@ -90,14 +90,14 @@  discard block
 block discarded – undo
90 90
                 break;
91 91
             case 'debug':
92 92
                 if ($this->debug) {
93
-                    $this->echoColor("[$level] " . $message . "\n", Color::GRAY);
93
+                    $this->echoColor("[$level] ".$message."\n", Color::GRAY);
94 94
                     if ($context !== []) {
95 95
                         dump($context);
96 96
                     }
97 97
                 }
98 98
                 break;
99 99
             case 'echo':
100
-                $this->echoColor($message . "\n");
100
+                $this->echoColor($message."\n");
101 101
                 break;
102 102
         }
103 103
     }
@@ -120,7 +120,7 @@  discard block
 block discarded – undo
120 120
     private function echoColor(string $text, ?string $color = null): void
121 121
     {
122 122
         if ($this->colorMode && !empty($color)) {
123
-            echo $color . $text . Color::NORMAL;
123
+            echo $color.$text.Color::NORMAL;
124 124
 
125 125
             return;
126 126
         }
@@ -130,8 +130,8 @@  discard block
 block discarded – undo
130 130
     private function logInFile($level, string $message): void
131 131
     {
132 132
         file_put_contents(
133
-            __DIR__ . '/resources/critical.log',
134
-            date('d-m-Y H:i:s') . " : $level : " . $message . PHP_EOL,
133
+            __DIR__.'/resources/critical.log',
134
+            date('d-m-Y H:i:s')." : $level : ".$message.PHP_EOL,
135 135
             FILE_APPEND
136 136
         );
137 137
     }
Please login to merge, or discard this patch.
src/Application/AbstractBotTaskWorker.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@  discard block
 block discarded – undo
32 32
     public const SLEEP_AFTER_EDITION = 60;
33 33
     public const MINUTES_DELAY_AFTER_LAST_HUMAN_EDIT = 15;
34 34
     public const CHECK_EDIT_CONFLICT = true;
35
-    public const ARTICLE_ANALYZED_FILENAME = __DIR__ . '/resources/article_edited.txt';
35
+    public const ARTICLE_ANALYZED_FILENAME = __DIR__.'/resources/article_edited.txt';
36 36
     public const SKIP_LASTEDIT_BY_BOT = true;
37 37
     public const SKIP_NOT_IN_MAIN_WIKISPACE = true;
38 38
     public const SKIP_ADQ = true;
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
         $this->initializePastAnalyzedTitles();
96 96
 
97 97
         // @throw exception on "Invalid CSRF token"
98
-        $this->run();//todo delete that and use (Worker)->run($duration) or process management
98
+        $this->run(); //todo delete that and use (Worker)->run($duration) or process management
99 99
     }
100 100
 
101 101
     protected function setUpInConstructor(): void
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
      */
111 111
     final public function run(): void
112 112
     {
113
-        $this->log->notice('*** New worker ' . $this->defaultTaskname, ['stats' => 'bottaskworker.instance']);
113
+        $this->log->notice('*** New worker '.$this->defaultTaskname, ['stats' => 'bottaskworker.instance']);
114 114
         foreach ($this->getTitles() as $title) {
115 115
             try {
116 116
                 $this->titleProcess($title);
@@ -219,7 +219,7 @@  discard block
 block discarded – undo
219 219
         }
220 220
 
221 221
         $this->log->notice($result ? '>> OK' : '>>  NOCHANGE');
222
-        $this->log->debug("Sleep " . static::SLEEP_AFTER_EDITION);
222
+        $this->log->debug("Sleep ".static::SLEEP_AFTER_EDITION);
223 223
         sleep(static::SLEEP_AFTER_EDITION);
224 224
     }
225 225
 
Please login to merge, or discard this patch.
src/Application/CLI/externRefProcess.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -54,23 +54,23 @@
 block discarded – undo
54 54
     $list = new PageList([trim($argv[1])]);
55 55
 
56 56
     // delete Title from edited.txt
57
-    $file = __DIR__ . '/../resources/article_externRef_edited.txt';
57
+    $file = __DIR__.'/../resources/article_externRef_edited.txt';
58 58
     $text = file_get_contents($file);
59
-    $newText = str_replace(trim($argv[1]) . "\n", '', $text);
59
+    $newText = str_replace(trim($argv[1])."\n", '', $text);
60 60
     if (!empty($text) && $text !== $newText) {
61 61
         @file_put_contents($file, $newText);
62 62
     }
63
-    $botConfig->taskName = '
Please login to merge, or discard this patch.
src/Application/ExternLink/ExternRefWorker.php 1 patch
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -28,7 +28,7 @@  discard block
 block discarded – undo
28 28
     public const SLEEP_AFTER_EDITION = 5; // sec
29 29
     public const MINUTES_DELAY_AFTER_LAST_HUMAN_EDIT = 10; // minutes
30 30
     public const CHECK_EDIT_CONFLICT = true;
31
-    public const ARTICLE_ANALYZED_FILENAME = __DIR__ . '/../resources/article_externRef_edited.txt';
31
+    public const ARTICLE_ANALYZED_FILENAME = __DIR__.'/../resources/article_externRef_edited.txt';
32 32
     public const SKIP_ADQ = false;
33 33
     public const SKIP_LASTEDIT_BY_BOT = false;
34 34
     public const CITATION_NUMBER_ON_FIRE = 15;
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
             $result = $this->transformer->process($refContent, $this->summary);
78 78
         } catch (Throwable $e) {
79 79
             $this->log->critical(
80
-                'Error patate34 ' . $e->getMessage() . " " . $e->getFile() . ":" . $e->getLine(),
80
+                'Error patate34 '.$e->getMessage()." ".$e->getFile().":".$e->getLine(),
81 81
                 ['stats' => 'externref.exception.patate34']
82 82
             );
83 83
             // TODO : parse $e->message -> variable process, taskName, botflag...
@@ -144,11 +144,11 @@  discard block
 block discarded – undo
144 144
         $suffix = '';
145 145
         if (isset($this->summary->memo['count article'])) {
146 146
             $this->log->stats->increment('externref.count.article');
147
-            $suffix .= ' ' . $this->summary->memo['count article'] . 'x {article}';
147
+            $suffix .= ' '.$this->summary->memo['count article'].'x {article}';
148 148
         }
149 149
         if (isset($this->summary->memo['count lien web'])) {
150 150
             $this->log->stats->increment('externref.count.lienweb');
151
-            $suffix .= ' ' . $this->summary->memo['count lien web'] . 'x {lien web}';
151
+            $suffix .= ' '.$this->summary->memo['count lien web'].'x {lien web}';
152 152
         }
153 153
         if (isset($this->summary->memo['presse'])) {
154 154
             $this->log->stats->increment('externref.count.presse');
@@ -162,20 +162,20 @@  discard block
 block discarded – undo
162 162
             $this->log->stats->increment('externref.count.lienbrisé');
163 163
             $suffix .= ' ⚠️️️lien brisé'; //⚠️
Please login to merge, or discard this patch.