Appel aux classes Joomla! 4

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

  • oorzaak
    a répondu
    Hi RobertG, bonjour,

    Thanks for your help. I've downloaded the extension and installed it on a develop copy of the site that runs on php 7. It seems to work fine, yet I've asked the owner of the site to take a closer look at it before we put it on the live site (I have a web development agency and this is the site of a customer).

    As far as I know we do not use Google maps so that won't be a problem. I heard that Google have been changing their api recently but I'm afraid that I cannot help you to solve any issues.

    And as for Joomla 4, well, we'll see. I think we are lucky to have it running on php 7.


    Kind regards, Frits




    Laisser un commentaire:


  • RobertG
    a répondu
    Hello Frits,
    You actually can download that version here https://www.joomxtensions.com/images...r_20180410.zip
    It works on 3.8 and 3.9, probably also 3.10 versions of Joomla!, and PHP 7.2.
    But It can’t no more geocode locations with Google (it could not with OpenStreetmap for a while), because I think Google changed recently the address for geocoding and transform locations to latitude and longitude. I didn’t find how to solve this problem.
    Joaktree doesn’t work with Joomla! 4 alpha because a JavaScript to import from a GedCom file or export data fails now.
    So actually you can import your GedCom in Joomla! 3 but not geocode the locations and not use maps, and I think Joaktree will never work on Joomla! 4.

    Laisser un commentaire:


  • oorzaak
    a répondu
    Bonjour, hello,

    I'm sorry that I cannot write you in French. I am looking for a solution for the Joaktree extension. I understood that the original developer stopped the development some time ago but that RobertG resumed the development. Is this correct and is it possible to obtain a version of Joaktree that runs on php 7.2 (or 7.1) and Joomla 3.9 (and hopefully J.4 in the future)?

    Kind regard,

    Frits Jongbloets
    (yes, another Joomler called Frits from the Netherlands)

    Laisser un commentaire:


  • starter866
    a répondu
    Bonjour RoberG

    Si j'appelle "index.php?option=com_joaktree&view=jt_import_ gedc om&format=raw&tmpl=component", j'ai cette réponse dont j'imagine (à tort ou à raison) que c'est faute de données qu'elle apparaît :

    0 Call to a member function getError() on null


    Dans la console de firefox:

    TypeError: i.src.match(...) is null
    [En savoir plus]
    core.min.js:1:9337
    Dans celle d'IE:
    SCRIPT5007: SCRIPT5007:
    Unable to get property '0' of undefined or null reference
    core.min.js (1,9335)

    Laisser un commentaire:


  • RobertG
    a répondu
    Après une longue pause, je reviens sur mes tests qui plantent au niveau du JavaScript, et je ne trouve pas de solution.
    Dans le fichier d'import l'appel est correct :
    Code:
    jQuery(document).ready(function(){
        console.log("DOM est ready pour exec du JS (views/jt_import_gedcom/tmpl/default)");
        try {importGedcom();}
        catch (err) {
            console.log('An error occured while importGedcom');
        }
        console.log("traitement terminé (views/jt_import_gedcom/tmpl/default)");
    });
    Dans le JS, j'ai
    Code:
    function importGedcom() {
                console.log('function importGedCom');
    
        $.ajax({
            url: 'index.php?option=com_joaktree&view=jt_import_gedcom&format=raw&tmpl=component',
            type: 'get',
            fail: function(xhr) {
                alert('Error occured for url: ' + url);
            },
            success: function(response) {
                    console.log('data : ' + response);
                    HandleResponseGedcom('import', response);
                    console.log('suite import');                
            }
        });
    }
    Quand je lance l'import, j'ai immédiatement
    DOM est ready pour exec du JS (views/jt_import_gedcom/tmpl/default)
    function importGedCom
    traitement terminé (views/jt_import_gedcom/tmpl/default)
    Donc on passe bien dans la fonction jQuery, mais elle n'intercepte pas d'erreur. Le plantage survient donc dans la partie $.ajax où on ne passe ni dans fail, ni dans success, et je ne trouve pas où se produit l'erreur.

    Si j'appelle "index.php?option=com_joaktree&view=jt_import_ gedc om&format=raw&tmpl=component", j'ai cette réponse dont j'imagine (à tort ou à raison) que c'est faute de données qu'elle apparaît :
    0 Call to a member function getError() on null
    A moins que ce soit le fichier d'import qui ne transmette rien à la fonction JS. Pourtant, il me semble que j'avais testé cette récupération des infos dans le fichier GedCom...

    J'oubliais : j'ai vidé les logs d'accès et d'erreur sur le serveur, puis tenté un nouvel import, mais le serveur n'écrit rien dans ces fichiers à ce moment !
    Dernière édition par RobertG à 18/02/2018, 16h59

    Laisser un commentaire:


  • starter866
    a répondu
    En tentant d'importer un gedcom, la console m'indique
    Code:
    HTTP500: ERREUR DE SERVEUR. Le serveur ne peut pas exécuter la requête, car il a rencontré une condition inattendue. (XHR)GET - administrator/index.php?option=com_joaktree&view=jt_import_gedcom&format=raw&tmpl=component
    et si j'appelle dans le navigateur
    administrator/index.php?option=com_joaktree&view=jt_import_gedco m&format=raw&tmpl=component

    J'obtiens
    Code:
    0 Call to undefined method Joomla\Database\Mysqli\MysqliDriver::query()

    Laisser un commentaire:


  • RobertG
    a répondu
    Merci, mais en fait, quand on ouvre le plugin pour le paramétrer (simplement l'activer), "$userstate " revient null, d'où l'erreur. En gérant cela, plus de warning.
    Il faudra que je voie ensuite à l'usage.
    Et surtout, j'espère que ça me permettra d'avoir un suivi de l'avancement du code.

    Laisser un commentaire:


  • starter866
    a répondu
    http://php.net/manual/en/function.count.php

    Laisser un commentaire:


  • RobertG
    a répondu
    Bon, j'ai mis en pause l'adaptation de Jokatree et essayé de rendre JDump 1.2.22 compatible avec la version 4 et PHP 7.2 (des tas de JRequest à changer).
    Apparemment, plus d'erreur ni sur le plugin n sur le composant, sauf un warning sur ce "count" : "Warning: count(): Parameter must be an array or an object that implements Countable in /home/www/sitestests/test4/plugins/system/dump/dump.php on line 45"
    La ligne en cause est la dernière :
    Code:
        function onAfterRender() {
           $mainframe = JFactory::getApplication(); //$option = JRequest::getCmd('option');
           $option = JFactory::getApplication()->input->get('option');
    
            if($option == 'com_dump'){
                return;
            }
    
            // settings from config.xml
            $dumpConfig = JComponentHelper::getParams( 'com_dump' );
            $autopopup  = $dumpConfig->get( 'autopopup', 1 );
    
            $userstate = $mainframe->getUserState( 'dump.nodes' );
            $cnt_dumps  = count( $userstate );
    Je ne comprends pas pourquoi apparaît ce warning.

    Laisser un commentaire:


  • RobertG
    a répondu
    Merci de ces conseils !
    Le problème est que le code est celui de Niels van Dantzig et qu'il m'est très difficile de suivre le cheminement pour trouver où on est éjecté sans message.
    Avec des points d'arrêt (de simples break ou return), j'ai bien mes messages alert ou console.log dans importGedcom du JS, avec des données vides arrivant dans la fonction JS de traitement HandleResponseGedcom, vides peut-être à cause de ces arrêts, mais dès que je désactive ces points je n'ai plus rien dans la console, comme si quelque chose vidait tout, et je ne sais donc pas si les données parviennent aux fonctions JS.
    Je voulais utiliser JDump, pour avoir peut-être plus d'infos malgré le blocage d'affichage mais il n'est pas encore compatible J! 4 (comme il a été mis à jour il y a un mois environ, j'espérais...) et je n'ai pas regardé ce qui serait à modifier dans son code.

    Pour revenir au code cité par starter866, si je place un arrêt juste après ce code, pour voir ce que renvoie $procObject->status, j'ai bien "new", et l'affichage devrait se faire mais ne se fait pas, ce qui veut dire qu'il y a éjection peu après. Mais où ?

    Laisser un commentaire:


  • electrocity
    a répondu
    Bonsoir,
    Pour les convertions en jQuery, n'utilisé que le $ si vous êtes dans une fonction anonyme, sinon il faut utiliser jQuery
    Tu as un exemple ici http://sametmax.com/la-fonction-anon...ript-function/ pour isoler les valeur et inclure le $.
    Pour l'ajax le $.get est plus simple que le $.ajax mais la structure est différente.
    Mais idéalement, il faudrait ajouter un namespace pour ton composant en javascript. par exemple pour mon composant com_vmbepro, j'utilise un namespace vmbepro, com_virtuemart utilise virtuemart, mais bon cela exige pas mal de modif dans ton code javascript.

    Laisser un commentaire:


  • starter866
    a répondu
    Code:
    appelle la fonction getGedcom dans \administrator\components\com_joaktree\models\jt_i mport_gedcom.php.
    J'ai l'impréssion que c'est cette fonction qui bloque.

    Code:
    public function getGedcom() {
            $canDo    = JoaktreeHelper::getActions();
            $procObject = $this->getProcessObject();
    
            if (($canDo->get('core.create')) && ($canDo->get('core.edit'))) {    
    
                switch ($procObject->status) {
                    case 'new':
                        $procObject->start = strftime('%H:%M:%S');
                        $procObject->msg = JText::sprintf('JTPROCESS_START_MSG', $procObject->id);
    devrait afficher l'heure de debut du traitement et le message de la boite de dialogue

    Cliquez sur l'image pour l'afficher en taille normale

Nom : 1.PNG 
Affichages : 69 
Taille : 98,7 Ko 
ID : 1972090

    Laisser un commentaire:


  • RobertG
    a répondu
    Pour essayer de savoir où ça passe et où ça ne passe plus, j'avais ajouté des "return;" qui me permettaient de faire afficher des infos avec "var_dump", avec le risque de laisser continuer le code sans avoir récupéré les données. Mais en supprimant tous ces points d'arrêt, je n'ai plus du tout de passage dans le JS (aucun "alert" ou "console.log" ne s'affiche) et ça reste sur la page de chargement comme avant que je cherche où ça pouvait coincer

    Laisser un commentaire:


  • starter866
    a répondu
    Je ne te suis plus là.

    Code:
    soit j'ai laissé un "return" quelque part
    Pourquoi ? tu en as supprimé ?

    Laisser un commentaire:


  • RobertG
    a répondu
    Pour l'instant, le JS ne semble plus poser de problème puisque ce cosole.log affiche bien "réponse" dans cette fonction, mais le contenu de "response" est vide" :
    function HandleResponseGedcom(type, response) {

    console.log(response + ' réponse');
    Donc soit c'est vraiment vide, soit j'ai laissé un "return" quelque part... Je suis près de craquer !

    Laisser un commentaire:

Annonce

Réduire
1 sur 2 < >

C'est [Réglé] et on n'en parle plus ?

A quoi ça sert ?
La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
Comment ajouter la mention [Réglé] à votre discussion ?
1 - Aller sur votre discussion et éditer votre premier message :


2 - Cliquer sur la liste déroulante Préfixe.

3 - Choisir le préfixe [Réglé].


4 - Et voilà… votre discussion est désormais identifiée comme réglée.

2 sur 2 < >

Assistance au forum - Outil de publication d'infos de votre site

Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

UTILISER À VOS PROPRES RISQUES :
L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

Problèmes connus :
FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

Installation :

1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

Archive zip : https://github.com/AFUJ/FPA/zipball/master

2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
et remplacer www. votresite .com par votre nom de domaine


Exemples:
Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
Télécharger le script fpa-fr.php dans: /public_html/
Pour executer le script: http://www..com/fpa-fr.php

Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
Télécharger le script fpa-fr.php dans: /public_html/cms/
Pour executer le script: http://www..com/cms/fpa-fr.php

En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
Voir plus
Voir moins

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X