From 63eb295b0ce6a05aaa0a77a156549ff3f9f3d577 Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Wed, 17 Oct 2018 19:47:28 +0000
Subject: [PATCH] =?UTF-8?q?Utiliser=20'array=5Fcolumn'=20plut=C3=B4t=20que?=
 =?UTF-8?q?=20'array=5Fmap'=20+=20'reset',=20l=C3=A0=20o=C3=B9=20il=20n?=
 =?UTF-8?q?=E2=80=99y=20a=20pas=20d=E2=80=99ambiguit=C3=A9.=20(C=E2=80=99e?=
 =?UTF-8?q?st=202x=20plus=20rapide).?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc/autoriser.php                   |  4 ++--
 ecrire/inc/filtres_ecrire.php              | 18 +++++++++++-------
 ecrire/inc/filtres_selecteur_generique.php |  6 +++---
 ecrire/inc/genie.php                       |  2 +-
 ecrire/inc/rubriques.php                   |  6 +++---
 5 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index f3af6b14f2..1a869b06ee 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -1103,7 +1103,7 @@ function liste_rubriques_auteur($id_auteur, $raz = false) {
 		)
 		and count($r)
 	) {
-		$r = array_map('reset', $r);
+		$r = array_column($r, 'id_objet');
 
 		// recuperer toute la branche, au format chaine enumeration
 		include_spip('inc/rubriques');
@@ -1730,7 +1730,7 @@ function auteurs_objet($objet, $id_objet, $cond = '') {
 		$where
 	);
 	if (is_array($auteurs)) {
-		return array_map('reset', $auteurs);
+		return array_column($auteurs, 'id_auteur');
 	}
 	return array();
 }
diff --git a/ecrire/inc/filtres_ecrire.php b/ecrire/inc/filtres_ecrire.php
index 12f7fe6678..e201bb71c3 100644
--- a/ecrire/inc/filtres_ecrire.php
+++ b/ecrire/inc/filtres_ecrire.php
@@ -204,7 +204,7 @@ function statuts_articles_visibles($statut_auteur) {
 	static $auth = array();
 	if (!isset($auth[$statut_auteur])) {
 		$auth[$statut_auteur] = array();
-		$statuts = array_map('reset', sql_allfetsel('distinct statut', 'spip_articles'));
+		$statuts = array_column(sql_allfetsel('distinct statut', 'spip_articles'), 'statut');
 		foreach ($statuts as $s) {
 			if (autoriser('voir', 'article', 0, array('statut' => $statut_auteur), array('statut' => $s))) {
 				$auth[$statut_auteur][] = $s;
@@ -316,7 +316,7 @@ function auteurs_lister_statuts($quoi = 'tous', $en_base = true) {
 			$statut = AUTEURS_MIN_REDAC;
 			$statut = explode(',', $statut);
 			if ($en_base) {
-				$check = array_map('reset', sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)));
+				$check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
 				$retire = array_diff($statut, $check);
 				$statut = array_diff($statut, $retire);
 			}
@@ -331,19 +331,23 @@ function auteurs_lister_statuts($quoi = 'tous', $en_base = true) {
 				// prendre aussi les statuts de la table des status qui ne sont pas dans le define
 				$statut = array_diff(array_values($GLOBALS['liste_des_statuts']), $exclus);
 			}
-			$s_complement = array_map('reset',
-				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')));
+			$s_complement = array_column(
+				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $exclus, 'NOT')),
+				'statut'
+			);
 
 			return array_unique(array_merge($statut, $s_complement));
 			break;
 		default:
 		case "tous":
 			$statut = array_values($GLOBALS['liste_des_statuts']);
-			$s_complement = array_map('reset',
-				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')));
+			$s_complement = array_column(
+				sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut, 'NOT')),
+				'statut'
+			);
 			$statut = array_merge($statut, $s_complement);
 			if ($en_base) {
-				$check = array_map('reset', sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)));
+				$check = array_column(sql_allfetsel('DISTINCT statut', 'spip_auteurs', sql_in('statut', $statut)), 'statut');
 				$retire = array_diff($statut, $check);
 				$statut = array_diff($statut, $retire);
 			}
diff --git a/ecrire/inc/filtres_selecteur_generique.php b/ecrire/inc/filtres_selecteur_generique.php
index d560606c3f..32e8d8854c 100644
--- a/ecrire/inc/filtres_selecteur_generique.php
+++ b/ecrire/inc/filtres_selecteur_generique.php
@@ -208,15 +208,15 @@ function test_enfants_rubrique($id_rubrique, $types = array()) {
 		// recuperer tous les freres et soeurs de la rubrique visee
 		$id_parent = sql_getfetsel('id_parent', 'spip_rubriques', 'id_rubrique=' . intval($id_rubrique));
 		$fratrie = sql_allfetsel('id_rubrique', 'spip_rubriques', 'id_parent=' . intval($id_parent));
-		$fratrie = array_map('reset', $fratrie);
+		$fratrie = array_column($fratrie, 'id_rubrique');
 		$has = sql_allfetsel('DISTINCT id_parent', 'spip_rubriques', sql_in('id_parent', $fratrie));
-		$has = array_map('reset', $has);
+		$has = array_column($has, 'id_parent');
 		$fratrie = array_diff($fratrie, $has);
 
 		while (count($fratrie) and is_array($types) and count($types)) {
 			$type = array_shift($types);
 			$h = sql_allfetsel('DISTINCT id_rubrique', table_objet_sql($type), sql_in('id_rubrique', $fratrie));
-			$h = array_map('reset', $h);
+			$h = array_column($h, 'id_rubrique');
 			$has = array_merge($has, $h);
 			$fratrie = array_diff($fratrie, $h);
 		}
diff --git a/ecrire/inc/genie.php b/ecrire/inc/genie.php
index 833fb786dc..023c7c18d8 100644
--- a/ecrire/inc/genie.php
+++ b/ecrire/inc/genie.php
@@ -154,7 +154,7 @@ function genie_queue_watch_dist() {
 	$deja_la = true;
 	$taches = taches_generales();
 	$programmees = sql_allfetsel('fonction', 'spip_jobs', sql_in('fonction', array_keys($taches)));
-	$programmees = array_map('reset', $programmees);
+	$programmees = array_column($programmees, 'fonction');
 	foreach ($taches as $tache => $periode) {
 		if (!in_array($tache, $programmees)) {
 			queue_genie_replan_job($tache, $periode, time() - round(rand(1, $periode)), 0);
diff --git a/ecrire/inc/rubriques.php b/ecrire/inc/rubriques.php
index 4c13229cba..dc5e750246 100644
--- a/ecrire/inc/rubriques.php
+++ b/ecrire/inc/rubriques.php
@@ -382,7 +382,7 @@ function propager_les_secteurs() {
 				"spip_rubriques",
 				"profondeur=" . intval($prof + 1) . " AND id_parent NOT IN (" . sql_get_select("zzz.id_rubrique",
 					"spip_rubriques AS zzz", "zzz.profondeur=" . intval($prof)) . ")", '', '', '0,100')) {
-			$rows = array_map('reset', $rows);
+			$rows = array_column($rows, 'id');
 			sql_updateq("spip_rubriques", array('profondeur' => $prof + 2), sql_in("id_rubrique", $rows));
 		}
 
@@ -663,7 +663,7 @@ function inc_calcul_branche_in_dist($id) {
 			'spip_rubriques',
 			sql_in('id_parent', $r) . " AND " . sql_in('id_rubrique', $r, 'NOT')
 		)) {
-		$r = join(',', array_map('reset', $filles));
+		$r = join(',', array_column($filles, 'id_rubrique'));
 		$branche .= ',' . $r;
 	}
 
@@ -718,7 +718,7 @@ function inc_calcul_hierarchie_in_dist($id, $tout = true) {
 			'spip_rubriques',
 			sql_in('id_rubrique', $ids_nouveaux_parents) . " AND " . sql_in('id_parent', $hier, 'NOT')
 		)) {
-		$ids_nouveaux_parents = join(',', array_map('reset', $parents));
+		$ids_nouveaux_parents = join(',', array_column($parents, 'id_parent'));
 		$hier = $ids_nouveaux_parents . (strlen($hier) ? ',' . $hier : '');
 	}
 
-- 
GitLab