86 lines
2.4 KiB
PHP
86 lines
2.4 KiB
PHP
|
<?php
|
||
|
|
||
|
/***************************************************************************\
|
||
|
* SPIP, Systeme de publication pour l'internet *
|
||
|
* *
|
||
|
* Copyright (c) 2001-2019 *
|
||
|
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
|
||
|
* *
|
||
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
|
||
|
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
|
||
|
\***************************************************************************/
|
||
|
|
||
|
/**
|
||
|
* Gestion d'affichage des pages privées en squelette
|
||
|
*
|
||
|
* Chargé depuis ecrire/index.php lorsqu'une page demandée est présente
|
||
|
* en tant que squelettes dans `prive/squelettes/contenu` ou que le
|
||
|
* squelette peut être échaffaudé
|
||
|
*
|
||
|
* @package SPIP\Core\Exec
|
||
|
*/
|
||
|
|
||
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
$fond = _request('exec');
|
||
|
$GLOBALS['delais'] = 0;// pas de cache !
|
||
|
// Securite
|
||
|
if (strstr($fond, '/')) {
|
||
|
if (!include_spip('inc/autoriser')
|
||
|
or !autoriser('webmestre')
|
||
|
) {
|
||
|
include_spip('inc/minipres');
|
||
|
echo minipres();
|
||
|
exit;
|
||
|
}
|
||
|
} else {
|
||
|
$fond = "prive/squelettes/$fond";
|
||
|
}
|
||
|
|
||
|
// quelques inclusions et ini prealables
|
||
|
include_spip('inc/commencer_page');
|
||
|
|
||
|
/**
|
||
|
* Fonction appelée en cas d'arrêt de php sur une erreur
|
||
|
*
|
||
|
* @todo supprimer cette fonction vide ?
|
||
|
**/
|
||
|
function shutdown_error() {
|
||
|
// si on arrive ici avec un tampon non ferme : erreur fatale
|
||
|
/* if (ob_get_level()){
|
||
|
// envoyer tous les tampons
|
||
|
while (ob_get_level())
|
||
|
ob_end_flush();
|
||
|
|
||
|
var_dump(error_get_last());
|
||
|
#echo "<hr />"."Erreur fatale (memoire ?)<hr />";
|
||
|
@flush();
|
||
|
}*/
|
||
|
}
|
||
|
|
||
|
register_shutdown_function('shutdown_error');
|
||
|
|
||
|
|
||
|
// on retient l'envoi de html pour pouvoir tout jeter et generer une 403
|
||
|
// si on tombe sur un filtre sinon_interdire_acces
|
||
|
// il faudrait etre capable de flusher cela des que le contenu principal est genere
|
||
|
// car c'est lui qui peut faire des appels a ce filtre
|
||
|
ob_start();
|
||
|
# comme on est dans un exec, l'auth a deja ete testee
|
||
|
# on peut appeler directement public.php
|
||
|
include "public.php";
|
||
|
// flushons si cela ne l'a pas encore ete
|
||
|
ob_end_flush();
|
||
|
|
||
|
/**
|
||
|
* Un exec générique qui branche sur un squelette Z pour écrire
|
||
|
*
|
||
|
* La fonction ne fait rien, c'est l'inclusion du fichier qui déclenche le traitement
|
||
|
*/
|
||
|
function exec_fond_dist() {
|
||
|
|
||
|
}
|