Aidez-nous SVP à modifier le Fichier main.js d'un autre simulateur pour l'adapter à notre Application USSD PHP

Eléphant du PHP | 137 Messages

09 août 2020, 23:47

Bonjour.

Je travaille avec l'Application USSD dont le lien Github est le suivant: https://github.com/egimaben/ussdmenu-s ... aster/ussd dont l'URL qui renvoie (appelle) les données à afficher à l'écran est: https://github.com/egimaben/ussdmenu-se ... ceiver.php.

A présent, nous essayons d'utiliser le Simulateur USSD vu ici: https://github.com/yvesniyo/ussd-simula ... erver-code et qui utilise comme méthodes d'affichage (de simulation des écrans ou données USSD) "CON" et "END" qui ne sont pas incluses dans nous notre Application USSD. Donc notre Application USSD n'utilise pas tout simplement "CON" et "END" par défaut du simulateur USSD que nous cherchons à utiliser (adapter) à notre Application USSD.

LE PROBLEME est que le JAVACRIPT (AJAX) qui fonctionnait normalement avec ses méthodes de base "CON" et "END" (passées en condition et supprimées après par nous puisque nous ne l'utilisons pas notre notre Application USSD basée sur PHP), NE REPOND PLUS DU TOUT QUAND, nous essayons de modifier la ligne Fichier "main.js" du SIMULATEUR USSD (https://github.com/yvesniyo/ussd-simula ... js/main.js) que nous cherchons à adapter à notre Application USSD en remplaçant de la ligne 104 à 126 qui vérifie les méthodes "CON" et "END" que notre Application USSD n'utilise pas:

Code : Tout sélectionner

if(output.indexOf("CON")!==-1){ // server still receiving commands output=output.replace(/CON/g,"") output=output.replace(/\n/g,"<br />") resultInputsVis(1); setOutput(output) showResult(); }else if(output.indexOf("END")!==-1){ // server doesn't still needs the commands from user output=output.replace(/END/g,"") output=output.replace(/\n/g,"<br />") resultInputsVis(0); setOutput(output) showResult(); var outEle=selector(".result") var button=document.createElement("button") button.innerHTML="OK"; button.classList.add("endSession"); button.addEventListener("click",()=>{ button.remove(); onlyKeyBoardMode() }) outEle.appendChild(button) }

PAR:

Code : Tout sélectionner

// AJAX Code To Submit Form. $.ajax({ type: "POST", data: url, cache: false, success: function(result){ output=output.replace(/\n/g,"<br />") // Sachant que les fonctions JS "setOutput" et "showResult" qui sont appelées ci-dessous sont décrites de la Ligne 175 à 180 setOutput(output) showResult(); }, });

Comment donc MODIFIER ce simulateur USSD (https://github.com/yvesniyo/ussd-simula ... erver-code) notamment son fichier "main.js" (https://github.com/yvesniyo/ussd-simula ... js/main.js) qui traite l'affichage des données de sorte à ce qu'il prenne en compte l'affichage de notre Application PHP USSD (https://github.com/egimaben/ussdmenu-se ... aster/ussd) ???

Merci de nous aider car c'est fait plus de 24 Heures que c'est un casse-tête pour nous.

Eléphant du PHP | 137 Messages

12 août 2020, 22:27

Bonjour.

Je travaille avec l'Application USSD dont le lien Github est le suivant: https://github.com/egimaben/ussdmenu-server-utils/tree/master/ussd dont l'URL qui renvoie (appelle) les données à afficher à l'écran est: https://github.com/egimaben/ussdmenu-server-utils/blob/master/ussd/receiver.php.

Cependant, je souhaiterais utiliser le Simulateur USSD disponible sur ce lien: https://github.com/yvesniyo/ussd-simulator-with-server-code pour simuler le comportement l'Application USSD. Pour ce fait, il m'a fallut dans un premier temps supprimer les conditions [c]if(output.indexOf("CON")!==-1)[/c] de la ligne 103 et [c]else if(output.indexOf("END")!==-1)[/c] de la ligne 111 du Code JavaScript qui traite l'affichage du Simulateur USSD.

Tout marche très bien jusqu'ici car le Menu d'Accueil de l'Application USSD s'affiche très bien. Mais le problème est que le Simulateur ne reconnait pas la Navigation d'un Child (sous-menu) c'est-à-dire que si l'utilisateur sélectionne un chiffre "4" par exemple, pour accéder au sous-titre correspondant à sa sélection "4", il est COMPLETEMENT IMPOSSIBLE de naviguer vers le Menu correspondant au "4" sélectionné.

Quand je parcours le Code JS qui traite l'affichage des Menus via la variable [c]url[/c] à la ligne 99 du lien https://github.com/yvesniyo/ussd-simulator-with-server-code/blob/master/assets/js/main.js, je remarque que c'est le Paramètre [c]code[/c] (code="+ussdData.code) située sur la ligne 99 qui stocke le Short Code USSD (*454# par exemple) MAIS ne fonctionne qu'une seul fois ce qui fait que même quand on appelle après un autre message (le chiffre "4" par exemple) pour accéder à son sous-menu, il est quasiment impossible d'y accéder.

Comment donc, modifier mon URL notamment le paramètre stockant le Short Code et les indices de message (chiffres: 1, 2, 3, ...) correspondant au sous-menu de sorte à réussir à naviguer d'un Menu vers un autre facilement ???

Merci de m'aider s'il vous plaît.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

13 août 2020, 10:26

@chegmarco, le multipostage est interdit sur PHPfrance, j'ai fusionné les 2 topics.

Si tu n'as pas eu de réponse c'est que ta demande requières un effort trop important pour des bénévoles et/ou qu'elle n'est pas claire.
En l’occurrence, tu demandes de l'aide sur 2 librairies que personne ne connait.

Donc 3 possibilités :
- soit tu attends qu'un bénévole comprenne ta demande et ait le temps de se plonger dans le codes de ces librairies.
- soit tu contactes les auteurs de ces librairies pour avoir un coup de main de leur part
- soit tu prends un freelance que tu rémunères pour qu'il passe le temps nécessaire pour adapter ces librairies à ton besoin
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 881 Messages

15 août 2020, 02:50

Puis-je ajouter: le nom du forum est "Entraide PHP" ... c'est orienté PHP ... t'auras plus de chance sur un forum orienté JS
De plus, c'est de l'entraide, ce n'est pas de la main d'oeuvre à bon marché. Il faut que tu essaies de comprendre ton code et nous l'explique; j'endosse donc ce que répondis @arthur : pose une question simple à laquelle t'auras une réponse simple. Ce n'est pas aux bénévoles à faire l'analyse à ta place.
Soyez artisans de paix