32,7 → 32,7 |
// pris connaissance de la licence CeCILL, et que vous en avez accepté les |
// termes. |
// ---- |
// CVS : $Id: pap_rendu.inc.php,v 1.34 2006-12-12 13:56:33 jp_milcent Exp $ |
// CVS : $Id: pap_rendu.inc.php,v 1.35 2006-12-12 17:15:57 jp_milcent Exp $ |
/** |
* Rendu : programme traitant l'url demandée et retournant la page compressé au navigateur. |
* |
48,7 → 48,7 |
*@author Alexandre GRANIER <alexandre@tela-botanica.org> |
*@author Laurent COUDOUNEAU <laurent.coudouneau@ema.fr> |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.34 $ $Date: 2006-12-12 13:56:33 $ |
*@version $Revision: 1.35 $ $Date: 2006-12-12 17:15:57 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
309,7 → 309,8 |
// Gestion des inclusions des fichiers d'applettes présentes dans le squelette |
// TODO : Supprimer des fichiers du coeur de Papyrus, précédent ce fichier, la variable : $_GEN_commun['info_applette'] |
$GLOBALS['_PAPYRUS_']['info_applette'] = array(); |
Pap_Rendu::parserBaliseApplette($GLOBALS['_PAPYRUS_']['general']['contenu_squelette']); |
$PapRendu = new Pap_Rendu(); |
$PapRendu->parserBaliseApplette($GLOBALS['_PAPYRUS_']['general']['contenu_squelette']); |
|
// +------------------------------------------------------------------------------------------------------+ |
// Gestion de l'intégration de l'application liée au menu |
419,52 → 420,18 |
$GLOBALS['_PAPYRUS_']['rendu']['SCRIPTS'] = GEN_afficherScript(); |
|
// +------------------------------------------------------------------------------------------------------+ |
// Remplacement des balises des applettes de Papyrus et des Clients dans le squelette avant les appli |
$PapRendu->remplacerBaliseApplette(); |
|
// +------------------------------------------------------------------------------------------------------+ |
// Gestion des inclusions des fichiers d'applettes présentes dans le contenu généré par l'application |
if (!isset($GLOBALS['_PAPYRUS_']['applette']['analyse']) || $GLOBALS['_PAPYRUS_']['applette']['analyse'] == true) { |
// Puisque l'application autorise l'analyse, nous l'effectuons: |
Pap_Rendu::parserBaliseApplette($GLOBALS['_PAPYRUS_']['general']['contenu_application']); |
$PapRendu->parserBaliseApplette($GLOBALS['_PAPYRUS_']['general']['contenu_application'], true); |
} |
//echo '<pre>'.print_r($GLOBALS['_PAPYRUS_']['info_applette'], true).'</pre>'; |
|
// +------------------------------------------------------------------------------------------------------+ |
// Remplacement des balises des applettes de Papyrus et des Clients |
foreach ($GLOBALS['_PAPYRUS_']['info_applette'] as $applette_id => $applette_val) { |
// Si on trouve au moins une balise, on lance la boucle pour les remplacer |
if (!isset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'])) { |
echo 'oc:'.$applette_id; |
} |
for ($j = 0; $j < count($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises']); $j++) { |
// TODO : supprimer cette particularité et utiliser la variable $GLOBALS['_PAPYRUS_']['info_applette'] |
// Nous comptabilisons le nombre d'utilisation des applettes dans un squelette pour l'applette Menu: |
if (!isset($GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']])) { |
$GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']] = 1; |
} else { |
$GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']]++; |
} |
// Nous vérifions que le nom de la fonction principale de l'applette existe. |
if (function_exists($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'])) { |
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = |
call_user_func( $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'], |
$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j], |
$GLOBALS['_GEN_commun']); |
} else { |
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = |
'<!-- '."\n". |
$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0].' : '. |
'fonction de l\'applette "'.$applette_id.'" introuvable! '."\n". |
'Fonction : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction']."\n". |
' -->'; |
} |
// Remplacement des balises d'applette de Papyrus dans le squelette |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = |
preg_replace( '/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0].'/', |
$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'], |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']); |
} |
} |
|
// +------------------------------------------------------------------------------------------------------+ |
// Remplacement des balises Papyrus dans le squelette |
// Remplacement des balises Papyrus dans le squelette, le contenu généré par l'appli est remplacé. |
foreach ($GLOBALS['_PAPYRUS_']['rendu'] as $GLOBALS['_PAPYRUS_']['tmp']['cle'] => $GLOBALS['_PAPYRUS_']['tmp']['val']) { |
$GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = |
str_replace( '<!-- '.$_GEN_commun['balise_prefixe'].$GLOBALS['_PAPYRUS_']['tmp']['cle'].' -->', |
473,6 → 440,12 |
} |
|
// +------------------------------------------------------------------------------------------------------+ |
// Remplacement des balises des applettes de Papyrus et des Clients dans le contenu de l'application si nécessaire |
if ($PapRendu->getBoolBaliseAppli()) { |
$PapRendu->remplacerBaliseApplette(); |
} |
|
// +------------------------------------------------------------------------------------------------------+ |
// Remplacement des actions Papyrus dans le squelette |
// Création d'un objet Text_Papyrus : |
$papyrus =& new Text_Papyrus(); |
488,6 → 461,9 |
/* +--Fin du code ---------------------------------------------------------------------------------------+ |
* |
* $Log: not supported by cvs2svn $ |
* Revision 1.34 2006/12/12 13:56:33 jp_milcent |
* Modification de l'ordre de remplacement des balises pour permettre aux apllettes d'intéragir sur le contenu de l'application. |
* |
* Revision 1.33 2006/12/08 15:59:17 jp_milcent |
* Suppression de code inutile. |
* |