Darathor
Dans "template.php" :
Code :
#
# Trouver
#
/**
* Inserts the uncompiled code for $handle as the
* value of $varname in the root-level. This can be used
* to effectively include a template in the middle of another
* template.
* Note that all desired assignments to the variables in $handle should be done
* BEFORE calling this function.
*/
#
# Ajouter avant
#
// DEBUT MOD Export fichier
/**
* Similaire à pparse mais envoie le résultat dans le fichier $destination plutôt que sur la sortie standard.
*
* @param $handle bloc tpl à exporter dans le fichier.
* @param $destination fichier destination.
* @param $error_message message d'erreur à indiquer au cas où il serait impossible d'enregistrer le fichier (si le message contient un %s, il sera remplacé par le la variable $destination). Si aucun message n'est donnée, un message par défaut sera utilisé.
*/
function pparse_in_file($handle, $destination, $error_message = '')
{
if (!$this->loadfile($handle))
{
die("Template->pparse(): Couldn't load template file for handle $handle");
}
// actually compile the template now.
if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle]))
{
// Actually compile the code now.
$this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]);
}
// Run the compiled code.
ob_start(); // Redirection de la sortie standard dans un buffer.
eval($this->compiled_code[$handle]); // Evaluation du code compilé.
$file = @fopen($destination, 'w'); // Ouverture du fichier destination.
if(!$file) // Si le fichier n'est pas accessible, on envoie un message d'erreur.
{
global $lang;
message_die(GENERAL_ERROR, sprintf($error_message, $destination));
}
fputs($file, ob_get_contents()); // Récupération du contenu du buffer et envoi dans le fichier.
fclose($file); // Fermeture du fichier.
ob_clean(); // Vidage du buffer.
return true;
}
// FIN MOD Export fichier