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