1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/spip_ynh.git synced 2024-09-03 20:25:59 +02:00
spip_ynh/sources/ecrire/exec/fond_monobloc.php
2015-04-28 17:10:23 +02:00

105 lines
3.1 KiB
PHP

<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* 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. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Un exec generique qui utilise le fond homonyme de l'exec demande
* dans l'url
* Ancien systeme transitoire base sur un squelette unique avec un
* pseudo balisage par commentaires html
* deprecie, ne plus utiliser
*
*/
function exec_fond_monobloc_dist(){
// pas d'autorisation
// c'est au fond de les gerer avec #AUTORISER, et de renvoyer un fond vide le cas echeant
// qui declenchera un minipres acces interdit
$exec = _request('exec');
$fond = trim(recuperer_fond("prive/exec/$exec",$_REQUEST));
if (!$fond) {
include_spip('inc/minipres');
echo minipres();
} else {
$titre = "exec_$exec";
$hierarchie = "";
$navigation = "";
$extra = "";
// recuperer le titre dans le premier hn de la page
if (preg_match(",<h[1-6][^>]*>(.+)</h[1-6]>,Uims",$fond,$match)){
$titre = $match[1];
}
// recuperer la hierarchie (au-dessus du contenu)
if (preg_match(",<!--#hierarchie-->.+<!--/#hierarchie-->,Uims",$fond,$match)){
$hierarchie = $match[0];
$fond = str_replace($hierarchie,"",$fond);
}
// recuperer la navigation (colonne de gauche)
if (preg_match(",<!--#navigation-->.+<!--/#navigation-->,Uims",$fond,$match)){
$navigation = $match[0];
$fond = str_replace($navigation,"",$fond);
}
// recuperer les extras (colonne de droite)
if (preg_match(",<!--#extra-->.+<!--/#extra-->,Uims",$fond,$match)){
$extra = $match[0];
$fond = str_replace($extra,"",$fond);
}
include_spip('inc/presentation'); // alleger les inclusions avec un inc/presentation_mini
$commencer_page = charger_fonction('commencer_page','inc');
echo $commencer_page($titre);
if ($hierarchie){
echo debut_grand_cadre(true);
echo pipeline(
'affiche_hierarchie',
array(
'args' => array(
'exec' => $exec
),
'data' => $hierarchie
)
);
echo fin_grand_cadre(true);
}
echo debut_gauche("exec_$exec",true);
$contexte = array('exec'=>$exec);
if ($objet_exec = trouver_objet_exec($exec)){
$id = $objet_exec['id_table_objet'];
if (_request($id))
$contexte[$id] = _request($id);
}
echo $navigation;
echo pipeline('affiche_gauche',array('args'=>$contexte,'data'=>''));
echo creer_colonne_droite("exec_$exec",true);
echo $extra;
echo pipeline('affiche_droite',array('args'=>$contexte,'data'=>''));
echo debut_droite("exec_$exec",true);
echo $fond;
echo pipeline('affiche_milieu',array('args'=>$contexte,'data'=>''));
echo fin_gauche(),fin_page();
}
}
?>