Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[Sous-MOD] Export fichier (1.1 TEST - D)

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 : 21 Oct 2006 13:40
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
But : Ce Sous-MOD propose des fonctions d'enregistrement de fichiers.

Prérequis :
- [Sous-MOD] Auto-included files (1.0)

Auteur : Darathor (darathor@free.fr)
Version : 1.1 TEST - D (14/10/2006)
Compatibilité phpBB : 2.0.21

Changements :
1.1 (14/10/2006) :
- ajout d'une fonction simplifiant la gestion d'un numéro de version pour les fichier générés (pour éviter les problème de cache lors des mises à jour).
- ajout d'une fonction de supperssion de fichier.
- ajout d'une fonction générant un nouveau template pour un thème différent de celui sélectionné (pour générer des fichiers différents pour chaque thème).
- ajout d'une fonction enregistrant une chaîne de caractères dans un fichier.
- suppression de l'affichage en texte du fichier généré dans le message d'erreur en cas d'échec de l'enregistrement.
- exploitation du Sous-MOD Auto-included files


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.
      $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));
      }
      ob_start();                        // Redirection de la sortie standard dans un buffer.
      eval($this->compiled_code[$handle]);   // Evaluation du code compilé.
      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


Uploader les fichiers suivants :
- includes/functions_all/functions_all_file_export.php
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