Problème de disparition d'extensions (Joaktree et Yoorecipes) : que faire ?

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

  • #46
    Re : Problème de disparition d'extension : que faire ?

    Merci Cédric !
    C'est pourquoi j'ai dit précédemment que je me posais la question de la manière de ne plus appeler ces fonctions en statique.
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #47
      Re : Problème de disparition d'extension : que faire ?

      J'ai vu le bouquin de Marc (garstud) mais il date de presque trois ans et je ne sais pas s'il me serait utile ici.
      sans vouloir être médisant je ne suis pas certain... je ne l'ai pas lu mais je n'avais pas l'impression qu'il traite de ce genre de sujet
      il y a openclassroom qui a des tutos php, et sinon le meilleur livre que j'ai lu sur PHP/Joomla c'était pour la 1.5 "mastering joomla extensions"
      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


      • #48
        Re : Problème de disparition d'extension : que faire ?

        Pour l'instant, comme je l'ai déjà dit, ce que je n'ai pas réussi à trouver c'est comment remplacer certaines fonctions devenues obsolètes dans PHP, car dans le cas présent, ça me semble plus un problème de PHP que de MVC Joomla!
        Actuellement, ce que j'aimerais trouver, c'est pourquoi certaines méthodes sont appelées en statique et comment éviter qu'elles le soient ainsi, donc remonter à l'origine des appels pour les modifier et faire en sorte que ce ne soient pas des appels statiques.
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #49
          Re : Problème de disparition d'extension : que faire ?

          par exemple

          $this->loc_id = TableJoaktree_locations::checkLocation($this->location);
          devrait être remplacé par
          $table = new TableJoaktree_locations();
          $this->loc_id = $table->checkLocation($this->location);
          à tester
          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


          • #50
            Re : Problème de disparition d'extension : que faire ?

            On avance, mais toujours dans cette fonction d'import, si le message d'erreur fatale précédent a disparu, j'ai d'autres messages...
            Warning: Missing argument 1 for TableJoaktree_locations::__construct(), called in /home/www/developpement/joaktree/administrator/components/com_joaktree/tables/joaktree_person_events.php on line 90 and defined in /home/www/developpement/joaktree/administrator/components/com_joaktree/tables/joaktree_locations.php on line 63

            Notice: Undefined variable: db in /home/www/developpement/joaktree/administrator/components/com_joaktree/tables/joaktree_locations.php on line 65

            Fatal error: Call to a member function getTableColumns() on null in /home/www/developpement/joaktree/libraries/joomla/table/table.php on line 241
            Bref, c'est la cascade, on n'est pas sorti de l'auberge !
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #51
              Re : Problème de disparition d'extension : que faire ?

              c'est ma faute, je fais ça un peu à l'arrache hein
              essaie ça
              $table = JTable::getInstance('Joaktree_locations', 'Table', array())
              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


              • #52
                Re : Problème de disparition d'extension : que faire ?

                C'est beaucoup mieux ! Merci Cédric !
                Mais après import des individus et familles, j'ai un nouveau message d'erreur et ceci affiché :
                Deprecated: Non-static method jt_names::setPatronyms() should not be called statically, assuming $this from incompatible context in /home/www/developpement/joaktree/administrator/components/com_joaktree/helpers/jt_gedcomfile2.php on line 675
                En tout cas, ta modification de code, malgré l'erreur, semble avoir bien importé la totalité des données du Gedcom exemple.
                Je pense repartir de zéro pour tester ta solution à tous les niveaux d'erreurs, car je ne suis pas sûr que passer cette nouvelle méthode en static résoudra le problème sans en provoquer un autre.

                En attendant, je cherche par exemple à faire le même type de modification pour la dernière ligne ici (provenant de "helpers/person.php), afin de ne pas appeler getMenus en static dans helper.php :
                Code PHP:
                    private function getMenus() {
                        static 
                $_menuTreeId     = array();
                        
                        
                // retrieve the menu item ids - if not done yet
                        
                if ( count($_menuTreeId) == ) {
                            
                $_menuTreeId JoaktreeHelper::getMenus('joaktree'); 
                sachant que la définition dans helper.php est
                class JoaktreeHelper {
                et pour la fonction toujours dans helper.php
                public function getMenus($view) {
                Dernière édition par RobertG à 16/12/2016, 12h42
                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                Commentaire


                • #53
                  Re : Problème de disparition d'extension : que faire ?

                  JoaktreeHelper est bien statique, donc ta function devient
                  public static function getMenus($view)
                  dans helper.php
                  tout simplement
                  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


                  • #54
                    Re : Problème de disparition d'extension : que faire ?

                    en gros passe toutes les fonctions de helper.php (admin et site) en static
                    ça c'est un point. Pour le reste tu ne devrais plus trop à faire cela, car les autres classes meme du dossier helper ne semblent pas être statiques
                    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


                    • #55
                      Re : Problème de disparition d'extension : que faire ?

                      Non, c'est ce que je veux éviter, ce passage en static, car pour getMenus par exemple, je retrouve ensuite une erreur sur un fichier core de Joomla!, et il faut absolument éviter ça.
                      Deprecated: Non-static method JApplicationCms::getMenu() should not be called statically, assuming $this from incompatible context in /home/www/developpement/joaktree/libraries/cms/application/site.php on line 272
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #56
                        Re : Problème de disparition d'extension : que faire ?

                        ça n'a rien à voir, un problème après l'autre
                        dans la fonction getMenuId
                        remplace
                        $menu = &JSite::getMenu();
                        par
                        $app = JFactory::getApplication();
                        $menu = $app->getMenu();
                        c'est qu'ici l'appel à getMenu de Joomla! est obsolète
                        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


                        • #57
                          Re : Problème de disparition d'extension : que faire ?

                          fait comme je te dis, dans les deux fichiers helper.php tu passes les fonctions en 'static' et aucune autre pour l'instant
                          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


                          • #58
                            Re : Problème de disparition d'extension : que faire ?

                            Excellent, Cédric !
                            Disparition de tous ces strict standard ou deprecated avec ton code.
                            Reste à corriger ce qui reste d'erreurs ailleurs.
                            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                            Commentaire


                            • #59
                              Re : Problème de disparition d'extension : que faire ?

                              ben voilà ça avance après tu pourras mettre à dispo ta version du composant pour les autres utilisateurs
                              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


                              • #60
                                Re : Problème de disparition d'extension : que faire ?

                                Si j'arrive au bout, ce sera à envisager (au moins pour les participants à cette discussion déjà utilisateurs de Joaktree), mais compte tenu de mes connaissances actuelles en PHP et développement MVC pour Joomla!, j'ai un peu peur de laisser passer des failles de sécurité, comme pour getAccess que j'avais forcé à "true" pour voir, et qu'il faudra aussi que je corrige.

                                Hélas, pour l'instant, je plante toujours sur "$this" dans helper.php (côté site pour le moment) à ce niveau, dans la fonction getAccess
                                Code PHP:
                                // personId found, check whether person is accessible
                                                        
                                $person $this->getPerson(); 
                                La "function getPerson()" est présente dans cinq fichiers, en private ou public et avec du code différent selon les cas (sauf descendants et ancestors qui ont le même), mais pas dans helper.php
                                Dernière édition par RobertG à 16/12/2016, 14h50
                                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                                Commentaire

                                Annonce

                                Réduire
                                Aucune annonce pour le moment.

                                Partenaire de l'association

                                Réduire

                                Hébergeur Web PlanetHoster
                                Travaille ...
                                X