Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[Sous-MOD] Reorder functions (1.0)

Poster un nouveau sujet Répondre au sujet

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 11 Déc 2005 17:28
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
But : Ce Sous-MOD ajoute une méthode à la classe template qui permet d'enregistrer la page générée dans un fichier plutôt que de l'afficher dans le navigateur.

Auteur : Darathor (darathor@free.fr)
Version : 1.0 (11/12/2005)
Compatibilité phpBB : 2.0.18


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

Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum