From 08d85b105623eee03a16f1ac46a412bfa57c4392 Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 23 Dec 2007 21:31:53 +0000
Subject: [PATCH] vertebrer ?page=table:toto est reserve aux adultes (membres
 de _ID_WEBMESTRES)

---
 ecrire/inc/autoriser.php    |  3 ++-
 ecrire/public/styliser.php  | 31 ++++++++++++++-----------------
 ecrire/public/vertebrer.php |  6 ++++--
 3 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/ecrire/inc/autoriser.php b/ecrire/inc/autoriser.php
index 4897bc63c7..ee7e8824a9 100644
--- a/ecrire/inc/autoriser.php
+++ b/ecrire/inc/autoriser.php
@@ -24,7 +24,8 @@ define('_ADMINS_RESTREINTS', true);
 define('_STATUT_AUTEUR_CREATION', '1comite');
 // statuts associables a des rubriques (separes par des virgules)
 define('_STATUT_AUTEUR_RUBRIQUE', _ADMINS_RESTREINTS ? '0minirezo' : '');
-
+// id du ou des webmestres, '1:5:90' a regler dans mes_options
+define ('_ID_WEBMESTRES', '1');
 
 // surcharge possible de autoriser(), sinon autoriser_dist()
 if (!function_exists('autoriser')) {
diff --git a/ecrire/public/styliser.php b/ecrire/public/styliser.php
index 5a0bb18003..6a03dfc9ec 100644
--- a/ecrire/public/styliser.php
+++ b/ecrire/public/styliser.php
@@ -25,31 +25,28 @@ function public_styliser_dist($fond, $id_rubrique, $lang='', $connect='', $ext='
 	if (!$base = find_in_path("$fond.$ext")) {
 		// Si pas de squelette regarder si c'est une table
 		$trouver_table = charger_fonction('trouver_table', 'base');
-		include_spip('inc/autoriser');
-		if (autoriser('sauvegarder')
-		AND preg_match('/^table:(.*)$/', $fond, $r)
-		AND $table = $trouver_table($r[1], $connect)) {
+		if (preg_match('/^table:(.*)$/', $fond, $r)
+		AND $table = $trouver_table($r[1], $connect)
+		AND include_spip('inc/autoriser')
+		AND autoriser('webmestre')
+		) {
 				$fond = $r[1];
-				$base = _DIR_TMP . $fond . ".$ext";
+				$base = _DIR_TMP . 'table_'.$fond . ".$ext";
 				if (!file_exists($base)
 				OR  $GLOBALS['var_mode']) {
 					$vertebrer = charger_fonction('vertebrer', 'public');
-					$f = fopen($base, 'w');
-					fwrite($f, $vertebrer($table));
-					fclose($f);
+					ecrire_fichier($base, $vertebrer($table));
 				}
 		} else { // on est gentil, mais la ...
-		include_spip('public/debug');
-		erreur_squelette(_T('info_erreur_squelette2',
-				    array('fichier'=>"'$fond'")),
-				 $GLOBALS['dossier_squelettes']);
-		$f = find_in_path(".$ext"); // on ne renvoie rien ici, c'est le resultat vide qui provoquere un 404 si necessaire
-		return array(substr($f, 0, -strlen(".$ext")),
-			     $ext,
-			     $ext,
-			     $f);
+			include_spip('public/debug');
+			erreur_squelette(_T('info_erreur_squelette2',
+				array('fichier'=>"'$fond'")),
+				$GLOBALS['dossier_squelettes']);
+			$f = find_in_path(".$ext"); // on ne renvoie rien ici, c'est le resultat vide qui provoquere un 404 si necessaire
+			return array(substr($f, 0, -strlen(".$ext")), $ext, $ext, $f);
 		}
 	}
+
 	// supprimer le ".html" pour pouvoir affiner par id_rubrique ou par langue
 	$squelette = substr($base, 0, - strlen(".$ext"));
 
diff --git a/ecrire/public/vertebrer.php b/ecrire/public/vertebrer.php
index b402375dfc..deaffa4d08 100755
--- a/ecrire/public/vertebrer.php
+++ b/ecrire/public/vertebrer.php
@@ -148,7 +148,7 @@ function public_vertebrer_dist($desc)
 <div id='contenu'>
 <h1 style='text-align:center'>$titre</h1><br />
 <B1>
-<p class='pagination'>#ANCRE_PAGINATION#PAGINATION</p>
+[<p class='pagination'>(#PAGINATION)</p>]
 <table class='spip' border='1' width='90%'>
 	<tr>
 		<th><:info_numero_abbreviation:></th>$sort
@@ -169,6 +169,8 @@ function public_vertebrer_dist($desc)
 </B1>\n<h2 style='text-align:center'><:texte_vide:></h2>
 <//B1></div>
 <INCLURE{fond=inc-pied}{skel='$skel'}>
-</div></body></html>";
+</div>
+</body>
+</html>";
 }
 ?>
-- 
GitLab