Générer un fichier XML pour un module

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Générer un fichier XML pour un module

    Bonjour,
    je souhaite implémenter une application Flash de visite virtuelle dans un module.
    Cette appli dispose d'un fichier de configuration XML dans lequel on indique le chemin des images à afficher.
    Le module que j'ai codé récupère un identifiant du spot à visiter (récupéré par la méthode $_GET dans l'url) et regarde dans la base de données quels chemin d'images correspondent à cet identifiant.
    A ce moment là, je souhaite créer OU remplacer le fichier config.xml en indiquant dans les balises les chemins d'images récupérés dans la base de données, afin que chaque spot ait ses propres images.
    Pour le créer j'ai fait ceci :

    Code:
    if(isset($_GET['idvis'])) //identifiant du spot que l'on souhaite visité, passé en URL
    		{
    			 $id_visite = $_GET['idvis'];
    			 
    			 $database =& JFactory::getDBO();
    			 $query = "SELECT nom, imageLeft,imageFront,imageRight,imageTop,imageBottom,imageBack". "\n FROM dig_visites "."WHERE dig_visites.id ='".$id_visite."' ";
    			 $database->setQuery( $query ); // execution de la requête
    			 $rows = $database->loadObjectList(); // récupération des objets
    			 
    			 $count = count($rows);
    			 if($count > 0)
    			 { 
    foreach($rows as $row)
    			{
    				$xml = '<?xml version="1.0"?>\r\n';   
    				$xml .= '<panorama>\r\n';   
    				$xml .= '<projection type="cubique" showStats="false"/>\r\n';  
    				$xml .= ' <imageCubique front="'.$row->imageFront .'" left="'.$row->imageLeft .'" back="'.$row->imageBack .'" right="'.$row->imageRight .'" top="'.$row->imageTop .'" bottom="'.$row->imageBottom .'" />\r\n';
    				$xml .= '<camera cameraSpeed="100" angleMax="148" angleMin="36" defaultFOV="45" zoomStep="10" brakingTime="500"/>\r\n';
    				$xml .= '</panorama>';   
    					
    				$config = 'config.xml';
    					
    				if(file_exists($config)) //si le fichier config existe déja on l'efface
    				{
    				               $file = fopen($config,'r+');
    					 ftruncate($config,0);
    					 fclose($file);
    					 
    				}
    
    				$file = fopen($config,'w'); //dans tous les cas on écrit le xml dedans
    				fwrite($file,$xml);
                                                            fclose($file);
    
    //Du code HTML pour intégrer un object flash
    //...
    Au début je voulais simplement utiliser un file_put_contents(config.xml,$xml) mais ça ne marchait pas, je suis donc parti sur du code un peu plus long (on vérifie si le fichier config.xml existe, si c'est le cas on le vide avec ftruncate et on le ferme, ensuite, on écrit le xml dedans).
    Le problème c'est que la génération du fichier ne semble pas marcher non plus, j'ai testé rapidement cela en dehors de joomla et ça marchait plutôt bien, mais ici le fichier n'est pas crée.
    J'ai vérifié les autorisations du répertoire de mon module et j'ai tous les droits pour tous les utilisateurs, PHP ne devrait donc pas être bloqué à ce niveau là.
    J'ai activé le mode debug (affichage des erreurs/avertissements), mais rien de probant de ce côté là non plus.

    J'aimerai savoir si il y a quelque chose à configurer du côté de Joomla ou si cela vient d'autre chose ? Car c'est réellement embêtant de ne pas pouvoir générer ce fichier !

    En vous remerciant d'avance pour votre réponse,

    Magicorange
    Dernière édition par Magicorange à 07/06/2012, 10h25

  • #2
    Re : Générer un fichier XML pour un module

    Bon, en fait c'était une erreur toute bête, j'en parle ici si jamais quelqu'un a un problème similaire :
    Le chemin du fichier config.xml était incorrect, le fichier a bien été généré, mais à la racine du site !
    Pour le générer dans le répertoire du module il suffit d'écrire $config = '/modules/mod_monmodule/config.xml' et non 'config.xml' !

    Merci quand même.

    Commentaire


    • #3
      Re : Générer un fichier XML pour un module

      Je viens de lire ton premier post ... pour rien.

      Peux-tu passer ton post en Réglé afin que d'autres que moi ne perdent pas du temps à lire pour essayer de t'apporter une aide devenue inutile ?

      Merci.
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X