1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| (...)
$xml = new DOMDocument;
$xml->loadXML($xml_src); // A ce stade, $xml_src est une chaîne de caractères
$xsl = new DOMDocument;
#////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#///// CONTROL SUR EXISTENCE DU FICHIER D'HABILLAGE XSL /////////////////////////////////////////////////////////////////
$xsl_file = 'template/'.$web_id.'/'.$web_template_id.'/xsl/'.$sheet_xsl.'.xsl';
if (is_file(GetRootPath()."/".$xsl_file)) {
$xsl->load($xsl_file);
} else {
$xsl->load('template/'.$default_web_id.'/'.$default_web_template_id.'/xsl/'.$default_xsl.'.xsl');
}
#////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#///// FUSION DES DONNES XML ET DE L'HABILLAGE XSL //////////////////////////////////////////////////////////////////////
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl);
#////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#///// ACTIVATION DE FONCTIONS PHP //////////////////////////////////////////////////////////////////////////////////////
$proc->registerPHPFunctions($registeredPHPFunctions);
#////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#///// RESULTAT HTML ///////////////////////////////////////////////////////////////////////////////////////////////////
$XMLXSL = $proc->transformToXML($xml);
#////////////////////////////////////////////////////////////////////////////////////////////////////////
#///// ACTUALISATION DU CACHE ///////////////////////////////////////////////////////////////////////////
if (
($default_cache_active == true)
and ($_SESSION["user_id"] == 0)
and ((!file_exists($CACHE_FILE_PATH)) OR (abs(@filemtime($CACHE_FILE_PATH) - time()) >= $CACHE_DELAY))
) {
$CACHE_FILE_HANDLER = fopen($CACHE_FILE_PATH, "w");
fwrite($CACHE_FILE_HANDLER, $XMLXSL);
fclose($CACHE_FILE_HANDLER);
}
//echo $XMLXSL;
echo $XMLXSL."\n<!-- COMPILED VERSION ".date("Y-m-d H:i:s")." -->";
(...) |
Partager