mediawiki/skins/DeskMessMirrored: main (log #1184594)

sourcepatches

This run took 10 seconds.

From 56db2fdc9dc2b04414293467ea2c83e9a4d2df33 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 18 Mar 2024 05:34:13 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 43.0.0

Change-Id: Iee158bcb0901e7143639896fd7df7fc657559a25
---
 composer.json                         |   7 +-
 includes/DeskMessMirroredTemplate.php | 140 +++++++++++++-------------
 2 files changed, 76 insertions(+), 71 deletions(-)

diff --git a/composer.json b/composer.json
index e6d08a3..39dcc78 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "41.0.0",
+		"mediawiki/mediawiki-codesniffer": "43.0.0",
 		"mediawiki/mediawiki-phan-config": "0.14.0",
 		"mediawiki/minus-x": "1.1.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
@@ -18,5 +18,10 @@
 		],
 		"phan": "phan -d . --long-progress-bar",
 		"phpcs": "phpcs -sp --cache"
+	},
+	"config": {
+		"allow-plugins": {
+			"dealerdirect/phpcodesniffer-composer-installer": true
+		}
 	}
 }
diff --git a/includes/DeskMessMirroredTemplate.php b/includes/DeskMessMirroredTemplate.php
index ca22fee..8b98fac 100644
--- a/includes/DeskMessMirroredTemplate.php
+++ b/includes/DeskMessMirroredTemplate.php
@@ -49,67 +49,67 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 						60 * 60 * 3 // 3 hours
 					);
 
-					if ( is_array( $menuNodes ) && isset( $menuNodes[0] ) ) {
-						$counter = 0;
-						foreach ( $menuNodes[0]['children'] as $level0 ) {
-							$hasChildren = isset( $menuNodes[$level0]['children'] );
+				if ( is_array( $menuNodes ) && isset( $menuNodes[0] ) ) {
+					$counter = 0;
+					foreach ( $menuNodes[0]['children'] as $level0 ) {
+						$hasChildren = isset( $menuNodes[$level0]['children'] );
 					?>
 					<li class="page_item<?php echo ( $hasChildren ? ' page_item_has_children' : '' ) ?>">
 						<a class="nav<?php echo $counter ?>_link" href="<?php echo htmlspecialchars( $menuNodes[$level0]['href'], ENT_QUOTES ) ?>">
-							<?php
-								// @note The suppression might be incorrect, (though I doubt it), but regardless of
-								// its presence or absence, phan still complains; so pick your poison,
-								// I guess.
-								// @phan-suppress-next-line SecurityCheck-DoubleEscaped
-								echo htmlspecialchars( $menuNodes[$level0]['text'], ENT_QUOTES )
-							?>
+						<?php
+							// @note The suppression might be incorrect, (though I doubt it), but regardless of
+							// its presence or absence, phan still complains; so pick your poison,
+							// I guess.
+							// @phan-suppress-next-line SecurityCheck-DoubleEscaped
+							echo htmlspecialchars( $menuNodes[$level0]['text'], ENT_QUOTES )
+						?>
 						</a>
 						<?php if ( $hasChildren ) { ?>
 						<ul class="children">
 <?php
-							foreach ( $menuNodes[$level0]['children'] as $level1 ) {
+foreach ( $menuNodes[$level0]['children'] as $level1 ) {
 ?>
 							<li class="page_item">
 								<a href="<?php echo htmlspecialchars( $menuNodes[$level1]['href'], ENT_QUOTES ) ?>">
-									<?php
-										// @note The suppression might be incorrect, (though I doubt it), but regardless of
-										// its presence or absence, phan still complains; so pick your poison,
-										// I guess.
-										// @phan-suppress-next-line SecurityCheck-DoubleEscaped
-										echo htmlspecialchars( $menuNodes[$level1]['text'], ENT_QUOTES )
-									?>
+		<?php
+			// @note The suppression might be incorrect, (though I doubt it), but regardless of
+			// its presence or absence, phan still complains; so pick your poison,
+			// I guess.
+			// @phan-suppress-next-line SecurityCheck-DoubleEscaped
+			echo htmlspecialchars( $menuNodes[$level1]['text'], ENT_QUOTES )
+		?>
 								</a>
 <?php
-								if ( isset( $menuNodes[$level1]['children'] ) ) {
-									echo '<ul class="children">';
-									foreach ( $menuNodes[$level1]['children'] as $level2 ) {
+if ( isset( $menuNodes[$level1]['children'] ) ) {
+							echo '<ul class="children">';
+	foreach ( $menuNodes[$level1]['children'] as $level2 ) {
 ?>
 									<li class="page_item">
 										<a href="<?php echo htmlspecialchars( $menuNodes[$level2]['href'], ENT_QUOTES ) ?>">
-											<?php
-												// @note The suppression might be incorrect, (though I doubt it), but regardless of
-												// its presence or absence, phan still complains; so pick your poison,
-												// I guess.
-												// @phan-suppress-next-line SecurityCheck-DoubleEscaped
-												echo htmlspecialchars( $menuNodes[$level2]['text'], ENT_QUOTES )
-											?>
+<?php
+// @note The suppression might be incorrect, (though I doubt it), but regardless of
+// its presence or absence, phan still complains; so pick your poison,
+// I guess.
+// @phan-suppress-next-line SecurityCheck-DoubleEscaped
+echo htmlspecialchars( $menuNodes[$level2]['text'], ENT_QUOTES )
+?>
 										</a>
 									</li>
 <?php
-									}
-									echo '</ul>';
-									$counter++;
-								}
+	}
+							echo '</ul>';
+							$counter++;
+}
 ?>
 							</li>
 <?php
-							}
+}
 							echo '</ul>';
 							$counter++;
 						} // hasChildren
 						echo '</li>';
-						} // top-level foreach
-					} // is_array( $menuNodes )
+					} // top-level foreach
+				} // is_array( $menuNodes )
 ?>
 				</ul>
 			</div>
@@ -173,9 +173,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 								<h2 class="widgettitle"><?php $this->msg( 'personaltools' ) ?></h2>
 								<ul>
 								<?php
-									foreach ( $this->getPersonalTools() as $key => $item ) {
-										echo $this->makeListItem( $key, $item );
-									}
+								foreach ( $this->getPersonalTools() as $key => $item ) {
+									echo $this->makeListItem( $key, $item );
+								}
 								?>
 								</ul>
 							</li>
@@ -201,11 +201,11 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 				?><span id="dmm-theme-version" class="noprint"><?php
 				$validFooterIcons = $this->get( 'footericons' );
 				unset( $validFooterIcons['copyright'] );
-				foreach ( $validFooterIcons as $blockName => $footerIcons ) {
-					foreach ( $footerIcons as $icon ) {
-						echo $this->getSkin()->makeFooterIcon( $icon, 'withoutImage' );
-					}
-				}
+foreach ( $validFooterIcons as $blockName => $footerIcons ) {
+	foreach ( $footerIcons as $icon ) {
+		echo $this->getSkin()->makeFooterIcon( $icon, 'withoutImage' );
+	}
+}
 				?></span>
 			</p>
 		</div><!-- #bottom-container -->
@@ -289,9 +289,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 ?>
 								<div id="p-cactions" class="noprint">
 <?php
-		foreach ( $this->data['content_actions'] as $key => $tab ) {
-			echo $this->makeListItem( $key, $tab );
-		}
+foreach ( $this->data['content_actions'] as $key => $tab ) {
+	echo $this->makeListItem( $key, $tab );
+}
 		echo '</div>';
 	}
 
@@ -304,9 +304,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 								<h2 class="widgettitle"><?php $this->msg( 'toolbox' ) ?></h2>
 								<ul>
 <?php
-		foreach ( $this->data['sidebar']['TOOLBOX'] as $key => $tbitem ) {
-			echo $this->makeListItem( $key, $tbitem );
-		}
+foreach ( $this->data['sidebar']['TOOLBOX'] as $key => $tbitem ) {
+	echo $this->makeListItem( $key, $tbitem );
+}
 		// Avoid PHP 7.1 warning of passing $this by reference
 		$template = $this;
 		MediaWikiServices::getInstance()->getHookContainer()->run( 'SkinTemplateToolboxEnd', [ &$template, true ] );
@@ -320,9 +320,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 								<h2 class="widget-title"<?php $this->html( 'userlangattributes' ) ?>><?php $this->msg( 'otherlanguages' ) ?></h2>
 								<ul>
 <?php
-			foreach ( $this->data['language_urls'] as $key => $langLink ) {
-				echo $this->makeListItem( $key, $langLink );
-			} // foreach
+foreach ( $this->data['language_urls'] as $key => $langLink ) {
+	echo $this->makeListItem( $key, $langLink );
+} // foreach
 			echo '</ul>';
 		} // if
 	} // languageBox()
@@ -342,27 +342,27 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 ?>
 		<h2 class="widget-title"><?php echo htmlspecialchars( $msg->exists() ? $msg->text() : $bar ); ?></h2>
 <?php
-		if ( is_array( $cont ) ) {
-			echo '<ul>';
-			foreach ( $cont as $key => $val ) {
-				echo $this->makeListItem( $key, $val );
-			}
-			echo '</ul>';
-		} else {
-			// allow raw HTML block to be defined by extensions (such as NewsBox)
-			echo $cont;
-		}
+if ( is_array( $cont ) ) {
+	echo '<ul>';
+	foreach ( $cont as $key => $val ) {
+		echo $this->makeListItem( $key, $val );
+	}
+	echo '</ul>';
+} else {
+	// allow raw HTML block to be defined by extensions (such as NewsBox)
+	echo $cont;
+}
 		echo '</li>';
 
 		// Need this nonsense to support NewsBox in MW 1.39+ using the new hooks (urgh)
 		$content = $this->getSkin()->getAfterPortlet( $bar );
-		if ( $content !== '' ) {
-			echo Html::rawElement(
-				'div',
-				[ 'class' => [ 'after-portlet', 'after-portlet-' . $bar ] ],
-				$content
-			);
-		}
+if ( $content !== '' ) {
+	echo Html::rawElement(
+		'div',
+		[ 'class' => [ 'after-portlet', 'after-portlet-' . $bar ] ],
+		$content
+	);
+}
 	} // customBox()
 
 }
-- 
2.39.2

$ date
--- stdout ---
Mon Mar 18 05:34:05 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-skins-DeskMessMirrored.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
de93d90455c59c1f65748f113946635ec12a6b46 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 453,
      "optional": 0,
      "peer": 10,
      "peerOptional": 0,
      "total": 453
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 36 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.1.2)
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.3)
  - Locking doctrine/deprecations (1.1.3)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v41.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking phan/phan (5.4.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.3.0)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.26.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (2.0.0)
  - Locking sabre/event (5.1.4)
  - Locking squizlabs/php_codesniffer (3.7.2)
  - Locking symfony/console (v5.4.36)
  - Locking symfony/deprecation-contracts (v3.4.0)
  - Locking symfony/polyfill-ctype (v1.29.0)
  - Locking symfony/polyfill-intl-grapheme (v1.29.0)
  - Locking symfony/polyfill-intl-normalizer (v1.29.0)
  - Locking symfony/polyfill-mbstring (v1.29.0)
  - Locking symfony/polyfill-php73 (v1.29.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking symfony/service-contracts (v3.4.1)
  - Locking symfony/string (v6.4.4)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 36 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing composer/pcre (3.1.2): Extracting archive
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
  - Installing symfony/string (v6.4.4): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.4.1): Extracting archive
  - Installing symfony/polyfill-php73 (v1.29.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.4.0): Extracting archive
  - Installing symfony/console (v5.4.36): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.26.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (2.0.0): Extracting archive
  - Installing composer/xdebug-handler (3.0.3): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive
  0/36 [>---------------------------]   0%
 19/36 [==============>-------------]  52%
 35/36 [===========================>]  97%
 36/36 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 41.0.0 -> 43.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 3 installs, 3 updates, 0 removals
  - Upgrading composer/semver (3.3.2 => 3.4.0)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v43.0.0)
  - Locking phpcsstandards/phpcsextra (1.1.2)
  - Locking phpcsstandards/phpcsutils (1.0.9)
  - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.8.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 3 installs, 3 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Upgrading squizlabs/php_codesniffer (3.7.2 => 3.8.1): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive
  - Upgrading composer/semver (3.3.2 => 3.4.0): Extracting archive
  - Upgrading mediawiki/mediawiki-codesniffer (v41.0.0 => v43.0.0): Extracting archive
 0/4 [>---------------------------]   0%
 4/4 [============================] 100%
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
{'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment'}
Tests fail!
$ vendor/bin/phpcbf
--- stdout ---

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/src/repo/includes/DeskMessMirroredTemplate.php       29     10
----------------------------------------------------------------------
A TOTAL OF 29 ERRORS WERE FIXED IN 1 FILE
----------------------------------------------------------------------

Time: 224ms; Memory: 6MB



--- end ---
$ git checkout .phpcs.xml
--- stderr ---
Updated 1 path from the index
--- stdout ---

--- end ---
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/composer test
--- stderr ---
> parallel-lint . --exclude vendor --exclude node_modules
> minus-x check .
> phpcs -sp --cache
--- stdout ---
PHP 8.2.7 | 10 parallel jobs
...                                                          3/3 (100 %)


Checked 3 files in 0.1 seconds
No syntax error found
MinusX
======
Processing /src/repo...
.............................................................
.........................................
All good!
... 3 / 3 (100%)


Time: 86ms; Memory: 6MB


--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 453,
      "optional": 0,
      "peer": 10,
      "peerOptional": 0,
      "total": 453
    }
  }
}

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating mediawiki/mediawiki-codesniffer to 43.0.0

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpynxt07vq
--- stdout ---
[master 56db2fd] build: Updating mediawiki/mediawiki-codesniffer to 43.0.0
 2 files changed, 76 insertions(+), 71 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 56db2fdc9dc2b04414293467ea2c83e9a4d2df33 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 18 Mar 2024 05:34:13 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 43.0.0

Change-Id: Iee158bcb0901e7143639896fd7df7fc657559a25
---
 composer.json                         |   7 +-
 includes/DeskMessMirroredTemplate.php | 140 +++++++++++++-------------
 2 files changed, 76 insertions(+), 71 deletions(-)

diff --git a/composer.json b/composer.json
index e6d08a3..39dcc78 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "41.0.0",
+		"mediawiki/mediawiki-codesniffer": "43.0.0",
 		"mediawiki/mediawiki-phan-config": "0.14.0",
 		"mediawiki/minus-x": "1.1.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
@@ -18,5 +18,10 @@
 		],
 		"phan": "phan -d . --long-progress-bar",
 		"phpcs": "phpcs -sp --cache"
+	},
+	"config": {
+		"allow-plugins": {
+			"dealerdirect/phpcodesniffer-composer-installer": true
+		}
 	}
 }
diff --git a/includes/DeskMessMirroredTemplate.php b/includes/DeskMessMirroredTemplate.php
index ca22fee..8b98fac 100644
--- a/includes/DeskMessMirroredTemplate.php
+++ b/includes/DeskMessMirroredTemplate.php
@@ -49,67 +49,67 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 						60 * 60 * 3 // 3 hours
 					);
 
-					if ( is_array( $menuNodes ) && isset( $menuNodes[0] ) ) {
-						$counter = 0;
-						foreach ( $menuNodes[0]['children'] as $level0 ) {
-							$hasChildren = isset( $menuNodes[$level0]['children'] );
+				if ( is_array( $menuNodes ) && isset( $menuNodes[0] ) ) {
+					$counter = 0;
+					foreach ( $menuNodes[0]['children'] as $level0 ) {
+						$hasChildren = isset( $menuNodes[$level0]['children'] );
 					?>
 					<li class="page_item<?php echo ( $hasChildren ? ' page_item_has_children' : '' ) ?>">
 						<a class="nav<?php echo $counter ?>_link" href="<?php echo htmlspecialchars( $menuNodes[$level0]['href'], ENT_QUOTES ) ?>">
-							<?php
-								// @note The suppression might be incorrect, (though I doubt it), but regardless of
-								// its presence or absence, phan still complains; so pick your poison,
-								// I guess.
-								// @phan-suppress-next-line SecurityCheck-DoubleEscaped
-								echo htmlspecialchars( $menuNodes[$level0]['text'], ENT_QUOTES )
-							?>
+						<?php
+							// @note The suppression might be incorrect, (though I doubt it), but regardless of
+							// its presence or absence, phan still complains; so pick your poison,
+							// I guess.
+							// @phan-suppress-next-line SecurityCheck-DoubleEscaped
+							echo htmlspecialchars( $menuNodes[$level0]['text'], ENT_QUOTES )
+						?>
 						</a>
 						<?php if ( $hasChildren ) { ?>
 						<ul class="children">
 <?php
-							foreach ( $menuNodes[$level0]['children'] as $level1 ) {
+foreach ( $menuNodes[$level0]['children'] as $level1 ) {
 ?>
 							<li class="page_item">
 								<a href="<?php echo htmlspecialchars( $menuNodes[$level1]['href'], ENT_QUOTES ) ?>">
-									<?php
-										// @note The suppression might be incorrect, (though I doubt it), but regardless of
-										// its presence or absence, phan still complains; so pick your poison,
-										// I guess.
-										// @phan-suppress-next-line SecurityCheck-DoubleEscaped
-										echo htmlspecialchars( $menuNodes[$level1]['text'], ENT_QUOTES )
-									?>
+		<?php
+			// @note The suppression might be incorrect, (though I doubt it), but regardless of
+			// its presence or absence, phan still complains; so pick your poison,
+			// I guess.
+			// @phan-suppress-next-line SecurityCheck-DoubleEscaped
+			echo htmlspecialchars( $menuNodes[$level1]['text'], ENT_QUOTES )
+		?>
 								</a>
 <?php
-								if ( isset( $menuNodes[$level1]['children'] ) ) {
-									echo '<ul class="children">';
-									foreach ( $menuNodes[$level1]['children'] as $level2 ) {
+if ( isset( $menuNodes[$level1]['children'] ) ) {
+							echo '<ul class="children">';
+	foreach ( $menuNodes[$level1]['children'] as $level2 ) {
 ?>
 									<li class="page_item">
 										<a href="<?php echo htmlspecialchars( $menuNodes[$level2]['href'], ENT_QUOTES ) ?>">
-											<?php
-												// @note The suppression might be incorrect, (though I doubt it), but regardless of
-												// its presence or absence, phan still complains; so pick your poison,
-												// I guess.
-												// @phan-suppress-next-line SecurityCheck-DoubleEscaped
-												echo htmlspecialchars( $menuNodes[$level2]['text'], ENT_QUOTES )
-											?>
+<?php
+// @note The suppression might be incorrect, (though I doubt it), but regardless of
+// its presence or absence, phan still complains; so pick your poison,
+// I guess.
+// @phan-suppress-next-line SecurityCheck-DoubleEscaped
+echo htmlspecialchars( $menuNodes[$level2]['text'], ENT_QUOTES )
+?>
 										</a>
 									</li>
 <?php
-									}
-									echo '</ul>';
-									$counter++;
-								}
+	}
+							echo '</ul>';
+							$counter++;
+}
 ?>
 							</li>
 <?php
-							}
+}
 							echo '</ul>';
 							$counter++;
 						} // hasChildren
 						echo '</li>';
-						} // top-level foreach
-					} // is_array( $menuNodes )
+					} // top-level foreach
+				} // is_array( $menuNodes )
 ?>
 				</ul>
 			</div>
@@ -173,9 +173,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 								<h2 class="widgettitle"><?php $this->msg( 'personaltools' ) ?></h2>
 								<ul>
 								<?php
-									foreach ( $this->getPersonalTools() as $key => $item ) {
-										echo $this->makeListItem( $key, $item );
-									}
+								foreach ( $this->getPersonalTools() as $key => $item ) {
+									echo $this->makeListItem( $key, $item );
+								}
 								?>
 								</ul>
 							</li>
@@ -201,11 +201,11 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 				?><span id="dmm-theme-version" class="noprint"><?php
 				$validFooterIcons = $this->get( 'footericons' );
 				unset( $validFooterIcons['copyright'] );
-				foreach ( $validFooterIcons as $blockName => $footerIcons ) {
-					foreach ( $footerIcons as $icon ) {
-						echo $this->getSkin()->makeFooterIcon( $icon, 'withoutImage' );
-					}
-				}
+foreach ( $validFooterIcons as $blockName => $footerIcons ) {
+	foreach ( $footerIcons as $icon ) {
+		echo $this->getSkin()->makeFooterIcon( $icon, 'withoutImage' );
+	}
+}
 				?></span>
 			</p>
 		</div><!-- #bottom-container -->
@@ -289,9 +289,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 ?>
 								<div id="p-cactions" class="noprint">
 <?php
-		foreach ( $this->data['content_actions'] as $key => $tab ) {
-			echo $this->makeListItem( $key, $tab );
-		}
+foreach ( $this->data['content_actions'] as $key => $tab ) {
+	echo $this->makeListItem( $key, $tab );
+}
 		echo '</div>';
 	}
 
@@ -304,9 +304,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 								<h2 class="widgettitle"><?php $this->msg( 'toolbox' ) ?></h2>
 								<ul>
 <?php
-		foreach ( $this->data['sidebar']['TOOLBOX'] as $key => $tbitem ) {
-			echo $this->makeListItem( $key, $tbitem );
-		}
+foreach ( $this->data['sidebar']['TOOLBOX'] as $key => $tbitem ) {
+	echo $this->makeListItem( $key, $tbitem );
+}
 		// Avoid PHP 7.1 warning of passing $this by reference
 		$template = $this;
 		MediaWikiServices::getInstance()->getHookContainer()->run( 'SkinTemplateToolboxEnd', [ &$template, true ] );
@@ -320,9 +320,9 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 								<h2 class="widget-title"<?php $this->html( 'userlangattributes' ) ?>><?php $this->msg( 'otherlanguages' ) ?></h2>
 								<ul>
 <?php
-			foreach ( $this->data['language_urls'] as $key => $langLink ) {
-				echo $this->makeListItem( $key, $langLink );
-			} // foreach
+foreach ( $this->data['language_urls'] as $key => $langLink ) {
+	echo $this->makeListItem( $key, $langLink );
+} // foreach
 			echo '</ul>';
 		} // if
 	} // languageBox()
@@ -342,27 +342,27 @@ class DeskMessMirroredTemplate extends BaseTemplate {
 ?>
 		<h2 class="widget-title"><?php echo htmlspecialchars( $msg->exists() ? $msg->text() : $bar ); ?></h2>
 <?php
-		if ( is_array( $cont ) ) {
-			echo '<ul>';
-			foreach ( $cont as $key => $val ) {
-				echo $this->makeListItem( $key, $val );
-			}
-			echo '</ul>';
-		} else {
-			// allow raw HTML block to be defined by extensions (such as NewsBox)
-			echo $cont;
-		}
+if ( is_array( $cont ) ) {
+	echo '<ul>';
+	foreach ( $cont as $key => $val ) {
+		echo $this->makeListItem( $key, $val );
+	}
+	echo '</ul>';
+} else {
+	// allow raw HTML block to be defined by extensions (such as NewsBox)
+	echo $cont;
+}
 		echo '</li>';
 
 		// Need this nonsense to support NewsBox in MW 1.39+ using the new hooks (urgh)
 		$content = $this->getSkin()->getAfterPortlet( $bar );
-		if ( $content !== '' ) {
-			echo Html::rawElement(
-				'div',
-				[ 'class' => [ 'after-portlet', 'after-portlet-' . $bar ] ],
-				$content
-			);
-		}
+if ( $content !== '' ) {
+	echo Html::rawElement(
+		'div',
+		[ 'class' => [ 'after-portlet', 'after-portlet-' . $bar ] ],
+		$content
+	);
+}
 	} // customBox()
 
 }
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.