script d'installation de module qui créer des fichiers

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

  • script d'installation de module qui créer des fichiers

    Bonjour je voudrais créer un script d'installation pour mon module qui créer un dossier et copie toutes les images avec pour destination le dossier images de joomla
    Voici ma sctructure
    assets/images/marker
    et je voudrais faire
    images/marker
    voici la base du script que j'ai trouver
    Code:
    <?php
    // No direct access to this file
    defined('_JEXEC') or die;
     
    /**
     * Script file of HelloWorld module
     */
    class mod_flexigooglemapInstallerScript
    {
    	/**
    	 * Method to install the extension
    	 * $parent is the class calling this method
    	 *
    	 * @return void
    	 */
    	function install($parent) 
    	{
    		$p_installer = $parent->getParent();
    		$path        = $p_installer->getPath('source');
    
    		jimport('joomla.filesystem.folder');
    		$origin = $path . 'assets/marker';
    		$target = JPATH_ROOT . '/images/marker';
    
    		if (!is_dir($target))
    		{
    			if (JFolder::copy($origin, $target))
    			{
    				JFactory::getApplication()->enqueueMessage('Copy icons to: ' . $target, 'message');
    			}
    		}
    		else
    		{
    			JFactory::getApplication()->enqueueMessage('images/marker folder has exists.', 'warning');
    		}
    		echo '<p>The module has been installed</p>';
    	}
     
    	/**
    	 * Method to uninstall the extension
    	 * $parent is the class calling this method
    	 *
    	 * @return void
    	 */
    	function uninstall($parent) 
    	{
    		echo '<p>The module has been uninstalled</p>';
    	}
     
    	/**
    	 * Method to update the extension
    	 * $parent is the class calling this method
    	 *
    	 * @return void
    	 */
    	function update($parent) 
    	{
    		//echo '<p>The module has been updated to version' . $parent->get('manifest')->version) . '</p>';
    	}
     
    	/**
    	 * Method to run before an install/update/uninstall method
    	 * $parent is the class calling this method
    	 * $type is the type of change (install, update or discover_install)
    	 *
    	 * @return void
    	 */
    	function preflight($type, $parent) 
    	{
    		echo '<p>Anything here happens before the installation/update/uninstallation of the module</p>';
    	}
     
    	/**
    	 * Method to run after an install/update/uninstall method
    	 * $parent is the class calling this method
    	 * $type is the type of change (install, update or discover_install)
    	 *
    	 * @return void
    	 */
    	function postflight($type, $parent) 
    	{
    		echo '<p>Anything here happens after the installation/update/uninstallation of the module</p>';
    	}
    }
    par contre cela ne créer pas de dossier ni ne copie les images ....
    je débute si qqun veut bien me filer un coup de main
    Merci
    Société : http://www.com3elles.com
    Bénévole : http://www.flexicontent.org

  • #2
    Re : script d'installation de module qui créer des fichiers

    Bonjour,

    J'ai du mal à comprendre ce que vous souhaitez faire.

    S'il s'agit d'un script d'installation pour votre module avec Joomla, la création de répertoire et la copie des contenus se font par le XML d'installation dans la section <files>. Pourquoi faire simple quand on peut faire compliqué ?

    S'il s'agit d'images liées à votre module, je pense qu'il faut qu'elles soient dans le répertoire de votre module.

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      Re : script d'installation de module qui créer des fichiers

      en fait je sais qu'il y a ce systeme le soucis c'est que dans l'admin de mon module j'utilise un champ image

      qui est bloquer au repertoire images
      et il est super pratique pour les utilisateurs puissent facilement ajouter des images ...
      du comprend donc mon besoin de créer un dossier et de déplacer le contenu dans le bon dossier lors de l'installation...
      Société : http://www.com3elles.com
      Bénévole : http://www.flexicontent.org

      Commentaire


      • #4
        Re : script d'installation de module qui créer des fichiers

        Bonjour,

        Il me semble bien que cette copie devrait être réalisée en postflight et non en tant qu'install.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : script d'installation de module qui créer des fichiers

          salut
          exact, postflight serait pas mal. L'install ne se lance que la première fois que tu installes le module, si tu lances l'install à nouveau et que le module est déjà présent la routine "install" ne sera plus prise en compte. Pour les tests c'est pas ce qu'il y a de plus pratique
          CEd
          Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
          http://www.template-creator.com Outil de création de templates
          Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

          Commentaire


          • #6
            Re : script d'installation de module qui créer des fichiers

            ok je capte l'emplacement en postflight
            par contre je ne comprend comment m'en sortir car j'ai du mal a afficher des informations ...
            dans ce code je voudrais
            prendre le dossier marker qui est dans le dossier assets de mon module et copier le tout (dossier marker) dans le dossier images ...
            je n'y arrive pas il me dis que le dossier source est introuvable
            des idées ?
            Société : http://www.com3elles.com
            Bénévole : http://www.flexicontent.org

            Commentaire


            • #7
              Re : script d'installation de module qui créer des fichiers

              Code PHP:
              JFolder::copy__DIRECTORY__ '/assets/marker'JPATH_ROOT '/images'''TRUE); 
              devrait le faire

              Ref https://docs.joomla.org/How_to_use_t...system_package
              Pas de demande de support par MP.
              S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

              Commentaire


              • #8
                Re : script d'installation de module qui créer des fichiers

                je merdoit un peu .... je pensai utiliser le moved ...
                Code:
                if (JFolder::moved( __DIRECTORY__ . '/assets/marker', JPATH_ROOT . '/images', '', TRUE)){
                		echo '<p>The module has been installed</p>';
                            }  else {
                            echo 'impossible to move marker folder';
                        }
                mais je pense que j'ai un soucis de chemin ... __DIRECTORY__
                des idées
                Société : http://www.com3elles.com
                Bénévole : http://www.flexicontent.org

                Commentaire


                • #9
                  Re : script d'installation de module qui créer des fichiers

                  Fais un echo de __DIRECTORY__ . '/assets/marker' pour vérifier, mais logiquement, ça devrait être bon
                  Pas de demande de support par MP.
                  S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                  Commentaire


                  • #10
                    Re : script d'installation de module qui créer des fichiers

                    j'en suis là ca commence à marcher
                    par contre c'est pas super en cas d'update
                    Code:
                    $pathorigin = JPATH_ROOT.'/modules/mod_flexigooglemap/assets/marker';
                           $pathcopy = JPATH_ROOT.'/images/marker';
                            if (JFolder::move($pathorigin , $pathcopy)){
                    		echo '<p>folder marker '.$pathorigin.' had been moved to '.$pathcopy.' folder</p>';
                                }  else {
                                echo 'impossible to move marker folder';
                            }
                    Société : http://www.com3elles.com
                    Bénévole : http://www.flexicontent.org

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X