Installation automatique d'un plugin CB lors de l'installation d'un composant

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

  • [RÉGLÉ] Installation automatique d'un plugin CB lors de l'installation d'un composant

    Bonjour

    Quelqu'un saurait-il me dire s'il est possible d'installer automatiquement un plugin pour CB lors de l'installation d'un composant ?

    En plus long : lors de l'installation d'un composant Joomla, il est possible de faire appel à JInstaller afin d'installer en même temps des modules et plugins Joomla. J'aimerais faire de même avec CB et je me demande s'il suffit de copier mon plugin CB dans le dossier adéquat de CB ou si CB met à disposition une API pour le faire.

    Merci pour vos lumières...
    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)​

  • #2
    Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

    Salut Cavo,
    Bon ça mord pas dur ! encore une question qui tue !
    Tu as regardé dans l'installer de JCE, car il me semble qu'il fait ça pour le MediaBox ?
    @ +,
    Developper of JBreeding Manager: http://www.jbreeding.fr/
    J-cook Referral : Service Générateur d'Extensions pour Joomla

    Commentaire


    • #3
      Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

      Bonjour

      Non cela ne mords pas beaucoup mais ce n'est pas très grave car Jisse m'a soufflé comment le faire et je vais, demain, tenter de le faire. (je n'étais pas derrière mon pc aujourd'hui)

      En gros : copier les fichiers dans le répertoire plugins de CB et exécuter un INSERT INTO dans la table des plugins de CB afin que ce dernier connaisse le plugin ajouté.

      Je tente cela demain et je poste ici un feedback.

      Merci en tout cas pour ta suggestion.
      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


      • #4
        Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

        Envoyé par cavo789 Voir le message
        Bonjour

        Non cela ne mords pas beaucoup mais ce n'est pas très grave car Jisse m'a soufflé comment le faire et je vais, demain, tenter de le faire. (je n'étais pas derrière mon pc aujourd'hui)

        En gros : copier les fichiers dans le répertoire plugins de CB et exécuter un INSERT INTO dans la table des plugins de CB afin que ce dernier connaisse le plugin ajouté.

        Je tente cela demain et je poste ici un feedback.

        Merci en tout cas pour ta suggestion.
        Le petit détail à vérifier avant de lancer la copie et le SQL, la présence réelle de CB

        et en SQL tester si ce n'est pas un UPDATE qu'il faut et pas un INSERT, pour éviter les surprises.
        Dernière édition par jisse03 à 08/03/2012, 17h47
        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 : Installation automatique d'un plugin CB lors de l'installation d'un composant

          Envoyé par jisse03 Voir le message
          Le petit détail à vérifier avant de lancer la copie et le SQL, la présence réelle de CB

          et en SQL tester si ce n'est pas un UPDATE qu'il faut et pas un INSERT, pour éviter les surprises.
          La voix de la sagesse

          Pour la présence de CB, fastoche, vérifier si le dossier CB existe. Pour l'INSERT, yep, fallait y penser. Merci Môssieur.
          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


          • #6
            Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

            Bonjour

            Comme me l'avais suggéré Jisse, la technique suivante fonctionne :

            Dans l'installateur de votre package (généralement un fichier install.php qui est exécute par JInstaller), il suffit de copier le dossier /votre_package/plugins/votre_plugin dans le dossier /components/com_comprofiler/plugin/user de Joomla.

            Un JFolder::copy suffit pour cela.

            Ensuite, il faut exécuter une instruction SQL de ce type :

            INSERT INTO #__comprofiler_plugin (`name`, `element`, `type`, `folder`, `published`, `ordering`) VALUES ('AllEvents','cb_allevents','user','plug_allevents ',1,99)
            où vous adaptez les valeurs.

            * name : friendly name de votre plugin
            * element : Nom du plugin. Il s'agit du nom du fichier sans l'extension ".php"
            * type : type du plugin. A priori "user"
            * folder : Dossier de votre plugin. ("votre_plugin" dans l'exemple "/votre_package/plugins/votre_plugin")
            * published : 1 pour que votre plugin CB soit immédiatement publié à l'installation de votre package
            * ordering : ordre de traitement du plugin par CB.

            Reste à vérifier :
            1. que CB soit installé
            2. que le dossier /components/com_comprofiler/plugin/user existe bel et bien
            3. que votre plugin n'est pas déjà installé (dans ce cas utiliser $overwrite=true lors de la copie de vos fichiers)
            4. que votre plugin n'est pas déjà dans la table de CB (auquel cas il ne faut pas faire un INSERT INTO mais un UPDATE).

            Special thanks to Jisse
            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


            • #7
              Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

              Bonjour,

              J'aimerai apporter quelques précisions.

              Toute cette procédure fonctionne très bien pour un plugin CB simple. Mais dès que l'XML du plugin contient des tabs et/ou des fields, cela se complique.

              Dans cette procédure il ne fait que copier des fichiers, SANS rien effectuer de l'install.

              Il faut tout comme pour les modules joomla, installer les plugin CB et non simplement les copier.

              Pour cela il faut utiliser une instance de l'installer CB (comme celle de joomla) :
              Code PHP:
                          global $_CB_framework;
                          require_once(
              JPATH_ADMINISTRATOR '/components/com_comprofiler/plugin.foundation.php');
                          require_once(
              JPATH_ADMINISTRATOR '/components/com_comprofiler/plugin.class.php');
                          require_once(
              JPATH_ADMINISTRATOR '/components/com_comprofiler/comprofiler.class.php');
                          require_once(
              JPATH_ADMINISTRATOR '/components/com_comprofiler/library/cb/cb.installer.php');
               
                          
              $cbInstaller = new cbInstallerPlugin();
                          
              $cbInstaller->install($folderTemp.'/plug_name/') ; 
              Sans oublier ce put#°# de sal#°#rie de / final (on remarque que j'ai passé 3h à enfin comprendre qu'il manquait ?) !

              Merci de m'avoir mis sur la voie.

              Cédric
              Développement: Extensions joomla www.myjoom.com

              Commentaire


              • #8
                Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

                Bonjour Cédric,

                Sympa de partager ton résultat.

                Mon plugin CB contient jusqu'à trois tabs et la procédure que j'ai décrite plus haut fonctionne dans mon cas. Cela ne semble pas fonctionner chez toi; je ne sais pas pourquoi.

                Mais je vais certainement abandonner ma "simple" copie car tu as mille fois raison : il est bien meilleur de passer par l'installateur.

                Merci pour ton code !
                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


                • #9
                  Re : Installation automatique d'un plugin CB lors de l'installation d'un composant

                  Peut-être que les tabs sont créés lors de la sauvegarde des paramètres. En tout cas les champs ne le sont pas.
                  Développement: Extensions joomla www.myjoom.com

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X