Deux nouveaux composants

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

  • [News] Deux nouveaux composants

    Bonjour à tous.

    Je suis nouveau dans la communauté des développeurs Joomla, alors si ma démarche n'est pas la bonne, je vous prie de m'excuser.

    Après avoir conçu plusieurs sites en Joomla, je me suis lancé dans la création de composants, et mes deux premiers viennent de sortir.

    Ils sont tous les deux compatibles Joomla 2.5 (et je pense sans le garantir, Joomla 1.7)

    Ils sont tous les deux en version 0.1beta, mais fonctionnels.

    Le premier, Ticket Center, est un formulaire de contact avancé basé sur le système de tickets, ce qui permet aux administrateurs, de mieux répondre aux demandes de leurs membres.
    Il est disponible ici : http://extensions.joomla.fr/afficher...-ticket-center

    Le second, My HTML Emailer, est un composant doublé d'un hack qui permet de formater les emails envoyés par le système, afin de les rendre plus agréables à lire aux membres/visiteurs.
    Il est disponible ici : http://extensions.joomla.fr/index.ph...&Itemid=100111

    Je viens vers vous pour avoir votre avis sur ces composants, si vous avez des idées pour les améliorer, ou pour toute autre remarque.
    Merci d'avance à ceux qui prendront le temps de répondre.

  • #2
    Re : Deux nouveaux composants

    Je vois un gros problème dans MyHTMLEmailer : c'est le remplacement de fichiers du core de Joomla, qui fait qu'à chaque nouvelle version il y a un risque d'écrasement des fichiers remplacés.
    Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
    Confucius

    Commentaire


    • #3
      Re : Deux nouveaux composants

      Bonjour Lesoutier

      Merci pour ton retour

      Actuellement, je pense proposer une mise à jour à chaque nouvelle version de Joomla (si besoin), mais je te l'accorde, c'est loin d'être l'idéal.

      Peut-être faudrait-il passer par un plugin au lieu d'un hack ? si c'est le cas, je n'ai pour l'instant aucune piste concernant sa réalisation. Tu as une idée ?

      Commentaire


      • #4
        Re : Deux nouveaux composants

        Non, pas vraiment, je vais y réfléchir. Sans garantie ...
        Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
        Confucius

        Commentaire


        • #5
          Re : Deux nouveaux composants

          salut

          Bravo pour ton partage. J'avoue ne pas avoir testé (manque de temps) mais j'apprécie le partage de ton travail

          Envoyé par JPean.net Voir le message
          Actuellement, je pense proposer une mise à jour à chaque nouvelle version de Joomla (si besoin), mais je te l'accorde, c'est loin d'être l'idéal.
          Arrrrgh. Mauvaise, très mauvaise, très très mauvaise idée. Ne fait pas cela! Si tu devrais faire cela, ton composant est déjà mort.

          D'autres ont fait un truc du genre, p.ex. GMAccess sous Joomla 1.5 : à chaque mise-à-jour, l'auteur devait faire une mise-à-jour de son composant et, surtout !, les utilisateurs ne devait pas mettre à jour Joomla avant que l'auteur de GMAccess le fasse et c'est vraiment un très gros handicap. Ne fait pas ça.
          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 : Deux nouveaux composants

            La solution que j'ai trouvée pour l'instant pour que le template de tous les emails soient modifiés est la suivante, je pense que le soucis vient de là car elle m'oblige à modifier le core :

            (en rouge, mes ajouts)
            fichier \libraries\joomla\mail\mail.php :
            class JMail extends PHPMailer
            {
            ...
            public function setBody($content) {
            /*
            * Filter the Body
            * TODO: Check for XSS
            */

            $path = JPATH_ROOT.'/libraries/joomla/mail/';
            $before = file_get_contents($path.'mail_header.php');
            $after = file_get_contents($path.'mail_footer.php');

            $this->Body = JMailHelper::cleanText($content);

            //Formatage des retours à la ligne
            $this->Body = str_replace("\n", "<br />\n", $this->Body);
            //Formatage des urls
            $this->Body = preg_replace('((http:\/\/|https:\/\/)(www.)?(([a-zA-Z0-9-]){2,}\.){1,4}([a-zA-Z]){2,6}(\/([a-zA-Z-_\/\.0-9#:?=&;,]*)?)?)', '<a href="$0">$0</a>', $this->Body);

            $this->Body = $before . $this->Body . $after;

            return $this;
            }

            ...
            }


            Si quelqu'un a une idée
            Dernière édition par JPean.net à 06/02/2013, 13h09

            Commentaire


            • #7
              Re : Deux nouveaux composants

              Je n'ai jamais cherché aussi, non, je n'ai pas d'idée. Il faudrait voir s'il n'y aurait pas un évènement du type onBeforeSendMail() qui serait généré par Joomla. Il me semble que ce serait la seule bonne solution, de capturer un tel évènement et de modifier le contenu de l'email... si toutefois un tel évènement existe.
              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


              • #8
                Re : Deux nouveaux composants

                Je ne sais même pas si c'est possible mais as-tu essayé en étendant la class JMail via un plugin système?
                Christophe
                http://www.webcrea.fr

                Commentaire


                • #9
                  Re : Deux nouveaux composants

                  Envoyé par webcrea Voir le message
                  Je ne sais même pas si c'est possible mais as-tu essayé en étendant la class JMail via un plugin système?
                  le soucis serait de préciser alors au système d'utiliser ma nouvelle classe et non la classe JMail

                  Je viens de faire une petite recherche :

                  Pour le mail de confirmation d'inscription :
                  com_user appelle JFactory::getMailer
                  JFactory::getMailer appelle JFactory::createMailer
                  JFactory::createMailer appelle directement le fichier que j'ai modifié pour créer un objet JMail

                  Il n'y a pas de "variable" concernant la méthode d'envoi malheureusement.

                  il y a bien mail, sendmail et smtp, mais il y a un switch/case qui spécifie les trois, donc il faudrait là aussi modifier le core ce qui serait alors pire car je devrais faire attention à ce que deux fichiers ne soient pas modifiés au lieu d'un seul.

                  Commentaire


                  • #10
                    Re : Deux nouveaux composants

                    Envoyé par JPean.net Voir le message
                    le soucis serait de préciser alors au système d'utiliser ma nouvelle classe et non la classe JMail
                    Je ne suis pas une brute en php mais le principe de l'extends n'est il pas justement d'utiliser tes fonctions à chaque appel de la classe étendue au lieu de celle définies?
                    Christophe
                    http://www.webcrea.fr

                    Commentaire


                    • #11
                      Re : Deux nouveaux composants

                      Envoyé par webcrea Voir le message
                      Je ne suis pas une brute en php mais le principe de l'extends n'est il pas justement d'utiliser tes fonctions à chaque appel de la classe étendue au lieu de celle définies?
                      Le truc, c'est que joomla appelle directement la classe mère (JMail), donc la classe fille (MyJMail) ne serait jamais appelée

                      (ou alors il y a quelque chose qui m'échappe, ce qui est très possible )

                      Commentaire

                      Annonce

                      Réduire
                      Aucune annonce pour le moment.

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X