From 0542994ee655e5d42095ca809b34c4e642b05b08 Mon Sep 17 00:00:00 2001
From: RealET <real3t@gmail.com>
Date: Thu, 25 May 2023 09:38:47 +0200
Subject: [PATCH] =?UTF-8?q?fix=20:=20g=C3=A9rer=20le=20cas=20o=C3=B9=20la?=
 =?UTF-8?q?=20rubrique=20n'existe=20pas?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 base/soyezcreateurs.php | 36 ++++++++++++++++++++----------------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/base/soyezcreateurs.php b/base/soyezcreateurs.php
index 4e8652c8..105690c2 100644
--- a/base/soyezcreateurs.php
+++ b/base/soyezcreateurs.php
@@ -302,7 +302,8 @@ function id_rubrique($titre) {
 		'spip_rubriques',
 		"titre=$titre"
 	);
-	if (!$result) { return $result;
+	if (!$result) {
+		return $result;
 	}
 	$resultat = $result['id_rubrique'];
 	spip_log("1. (id_rubrique) recherche de l'id_rubrique de $titre = $resultat", _LOG_DEBUG);
@@ -492,21 +493,24 @@ function poubelle_article($id_or_titre_article, $titre_rubrique, $page = '') {
 
 // Fonction pour transformer un article en page unique.
 function sc_convertir_article_en_page($titrearticle, $titrerubrique, $page) {
-	$id_article = id_article($titrearticle, id_rubrique($titrerubrique));
-	if ($id_article) {
-		$set =  [
-			'page' => $page
-		];
-		include_spip('inc/autoriser');
-		include_spip('action/editer_objet');
-		autoriser_exception('modifier', 'article', $id_article);
-		autoriser_exception('instituer', 'article', $id_article);
-		// Nécessaire pour être pris en compte par le pipeline pre_edition du plugin pages uniques
-		set_request('champ_page', $page);
-		objet_modifier('article', $id_article, $set);
-		set_request('champ_page');
-		autoriser_exception('instituer', 'article', $id_article, false);
-		autoriser_exception('modifier', 'article', $id_article, false);
+	$id_rubrique = id_rubrique($titrerubrique);
+	if ($id_rubrique) {
+		$id_article = id_article($titrearticle, $id_rubrique);
+		if ($id_article) {
+			$set =  [
+				'page' => $page
+			];
+			include_spip('inc/autoriser');
+			include_spip('action/editer_objet');
+			autoriser_exception('modifier', 'article', $id_article);
+			autoriser_exception('instituer', 'article', $id_article);
+			// Nécessaire pour être pris en compte par le pipeline pre_edition du plugin pages uniques
+			set_request('champ_page', $page);
+			objet_modifier('article', $id_article, $set);
+			set_request('champ_page');
+			autoriser_exception('instituer', 'article', $id_article, false);
+			autoriser_exception('modifier', 'article', $id_article, false);
+		}
 	}
 }
 
-- 
GitLab