From 13368397feee5c7dcfb9eb12355957aa67b07fcc Mon Sep 17 00:00:00 2001
From: Guy Cesaro <guy.cesaro@gmail.com>
Date: Wed, 16 Jan 2013 11:10:38 +0000
Subject: [PATCH] Suite de http://zone.spip.org/trac/spip-zone/changeset/68630
 Eviter de faire un sql_countsel pour le bouton de creation de chaque objet
 enfant

---
 ecrire/inc/autoriser.php | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index 9f401d61ee..089ab12959 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -1085,7 +1085,7 @@ function autoriser_rubriques_menu_dist($faire, $type, $id, $qui, $opt){return tr
  * @return bool          true s'il a le droit, false sinon
 **/
 function autoriser_articlecreer_menu_dist($faire, $type, $id, $qui, $opt){
-	return sql_countsel('spip_rubriques')>0;
+	return verifier_table_non_vide();
 }
 
 /**
@@ -1188,4 +1188,20 @@ function acces_restreint_rubrique($id_rubrique) {
 
 	return (isset($connect_id_rubrique[$id_rubrique]));
 }
+
+
+/**
+ * Verifier qu'il existe au moins un parent
+ * 
+ * Fonction utilisee dans des autorisations des boutons / menus du prive des objets enfants (articles, breves, sites)
+ *
+ * @param string $table  	la table a verifier
+ * @return bool             true si un parent existe
+ */
+function verifier_table_non_vide($table='spip_rubriques') {
+	static $done = array();
+	if (!isset($done[$table]))
+		 $done[$table] = sql_countsel($table)>0;
+	return $done[$table];
+}
 ?>
-- 
GitLab