Dépôt officiel du core SPIP * Copie possible par svn sur svn://trac.rezo.net/spip * Les svn:externals sont présent dans https://git.spip.net/SPIP/[nom du plugin dist]
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.4 KiB

<?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;
}
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
$fond = _request('exec');
$GLOBALS['delais'] = 0;// pas de cache !
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
// Securite
if (strstr($fond, '/')) {
if (!include_spip('inc/autoriser')
or !autoriser('webmestre')
) {
include_spip('inc/minipres');
echo minipres();
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
exit;
}
} else {
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
$fond = "prive/squelettes/$fond";
}
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
// 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();
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
/**
* 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
Introduction d'un dossier prive/squelettes/ qui contient les squelettes de l'espace prive. Introduction de styliser_par_z_dist surchargable, qui inclus les mecanismes de ZPIP, actifs pour l'espace prive, activable pour l'espace public par un define('_ZPIP'); la fonction echaffaudable est egalement integree, mais pas la fonction d'echaffaudage. Aucun echaffaudage n'est pour l'instant integre dans l'espace prive La structure des blocs pour l'espace prive est : head, barre-nav, hierarchie, navigation, extra, contenu et pied Structure minimaliste des squelettes, avec une implementation par defaut de chaque bloc. Pour le moment, les squelettes head, barre-nav et pied font appel aux fonctions php pour generer le html comme sur les autres pages, mais il va sans dire qu'a terme on inversera le schema (quelques fonctions sont crees pour atteindre le bon morceau de html, et quelques appels sont rationalises en faisant disparaitre les vieux arguments plus utilises) La squelettes de l'espace prive sont detectes par la fonction tester_url_ecrire qui aiguille sur exec=fond pour les squelettes Z et exec=fond_monobloc pour les anciens squelettes temporaires mono-fichier balises par des commentaires. En l'etat, il est possible de creer une page de l'espace prive par un simple squelette contenu/page-xx ou contenu/yyy pour un objet de SPIP (on maintient le distingo entre les deux types de page). Les plugins pourront le faire de meme, a condition de bien mettre dans un sous dossier prive/squelettes/ du plugin On integre le modele typo de petronille (merci tetue) et une page-typo pour commencer
13 years ago
*/
function exec_fond_dist() {
}