From 7208c33c082156d5bc25aa96a263e900bce7abd4 Mon Sep 17 00:00:00 2001
From: Cerdic <cedric@yterium.com>
Date: Wed, 4 Aug 2021 17:54:49 +0200
Subject: [PATCH] Utilisons _IS_CLI pour differencier la sortie lors de
 l'install/maj des plugin ou du core

---
 ecrire/base/upgrade.php |  4 ++--
 ecrire/inc/plugin.php   | 29 +++++++++++++++++++----------
 2 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/ecrire/base/upgrade.php b/ecrire/base/upgrade.php
index 02c4c40394..d5908bc17c 100644
--- a/ecrire/base/upgrade.php
+++ b/ecrire/base/upgrade.php
@@ -390,7 +390,7 @@ function maj_while($installee, $cible, $maj, $meta = '', $table = 'meta', $redir
 			if ($meta) {
 				ecrire_meta($meta, $installee = $v, 'oui', $table);
 			}
-			echo '<br />';
+			echo (_IS_CLI ? "\n" : '<br />');
 		}
 		if (time() >= _TIME_OUT) {
 			relance_maj($meta, $table, $redirect);
@@ -449,7 +449,7 @@ function serie_alter($serie, $q = array(), $meta = '', $table = 'meta', $redirec
 				if (strncmp($f, 'sql_', 4) == 0) {
 					ecrire_meta($meta2, $i + 1, 'non', $table);
 				}
-				echo " <span title='$i'>.</span>";
+				echo (_IS_CLI ? "." : " <span title='$i'>.</span>");
 				call_user_func_array($f, $r);
 				// si temps imparti depasse, on relance sans ecrire en meta
 				// car on est peut etre sorti sur timeout si c'est une fonction longue
diff --git a/ecrire/inc/plugin.php b/ecrire/inc/plugin.php
index df43983d1b..7469925f79 100644
--- a/ecrire/inc/plugin.php
+++ b/ecrire/inc/plugin.php
@@ -1395,16 +1395,25 @@ function plugin_installes_meta() {
 				}
 				if (is_array($infos)) {
 					list($ok, $trace) = $infos['install_test'];
-					include_spip('inc/filtres_boites');
-					echo "<div class='install-plugins svp_retour'>"
-						. boite_ouvrir(_T('plugin_titre_installation', array('plugin' => typo($infos['nom']))),
-							($ok ? 'success' : 'error'))
-						. $trace
-						. "<div class='result'>"
-						. ($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T("plugin_info_upgrade_ok") : _T("plugin_info_install_ok")) : _T("avis_operation_echec"))
-						. "</div>"
-						. boite_fermer()
-						. "</div>";
+					$titre = _T('plugin_titre_installation', array('plugin' => typo($infos['nom'])));
+					$result = ($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T("plugin_info_upgrade_ok") : _T("plugin_info_install_ok")) : _T("avis_operation_echec"));
+					if (_IS_CLI) {
+						include_spip('inc/filtres');
+						$trace = ltrim(textebrut($trace) . "\n" . $result);
+						$trace = "    " . str_replace("\n", "\n    ", $trace);
+						echo "\n" . ($ok ? 'OK  ' : '/!\ ') . textebrut($titre) . "\n",
+						  $trace,
+						  "\n";
+					}
+					else {
+						include_spip('inc/filtres_boites');
+						echo "<div class='install-plugins svp_retour'>"
+							. boite_ouvrir($titre, ($ok ? 'success' : 'error'))
+							. $trace
+							. "<div class='result'>$result</div>"
+							. boite_fermer()
+							. "</div>";
+					}
 				}
 			}
 		}
-- 
GitLab