Jump to content
×
×
  • Create New...

[PHP] Module Starpass Custom


Sorrow
 Share

Recommended Posts

Je vous partage un petit script assez utile pour starpass.N'ayant pas fait de CMS depuis plus de 6-7 mois, Starpass a mis a jour son module entre temps, je me suis aperçus que celui-ci générer des numéro et des keywork aléatoirement, et donc il n'était "plus" possible de simplement mettre le numéro de téléphone ou le SMS a envoyer en brute puis inclure un un champ pour y inscrire le code obtenue.Prenons pour commencer l'URL permettant d'inclure le module sur sa page : (ID au hasard)http://script.starpass.fr/script.php?idd=62532En regardant le code source, on peut se rendre compte que c'est du JS, rien de bien compliquer jusque là.En analysant un peut, on peut trouver une variable au nom de "jsonTariffDataDoc62532" (Hum je JSON, j'aime sa !) Bref... vous obtenez une variable JSON compléte de tout les numéro, keyword, tarifs et autres....

{  "PAYS":  {    "audiotel":    {      "audiotelPhone":"NUMERO DE TELEPHONE",      "sContactBookPhone":"",      "audiotelFixedCostDetail":"",      "audiotelVariableCostDetail":"PRIX"    },    "sms":    {      "smsKeyword":"TEXT A ENVOYER",      "smsKeywordImage":"",      "smsPhoneNumber":"NUMERO SMS",      "sContactBookPhone":"",      "smsCostDetail":"PRIX"    }  }}

Je n'est inclus que Audiotel et SMS, car pour le moment mon script de gère que cela (pas encore fait le reste).Donc, le but est de récupérer le JSON, et ce débarrasser de tout le reste.En comptant les lignes, la variable est à la ligne 10.

$starpass = @file("http://script.starpass.fr/script.php?idd=62532"); // on récupère le fichierecho $starpass[10]; // on affiche la 10ème ligne.

Ensuite on s'en fou un peut de "var jsonblablalbla....", on veut juste le JSON nous !En comptant le nombre de caractère jusqu’à la première incollable ( { ) on obtient 29 caractères, puis en partant de la fin, le points virgule (; ) plus l'espace juste après sa fait 2 caractère.Utilisons la fonction PHP substr afin d'obtenir simplement le JSON.

$starpass = file("http://script.starpass.fr/script.php?idd=76933");echo substr(substr($starpass[10], 29, -2); // on supprimer les 29 premier et 2 dernier caractères

Youpi ! On obtient ce que l'on voulait !Mais ce n'est pas fini !!Maintenant on doit pouvoir exploiter le JSON. Là, PHP va encore bien nous aider grâce a la fonction json_decode.

$starpass = file("http://script.starpass.fr/script.php?idd=76933");$parse = substr(substr($starpass[10], 29, -2);$json = json_decode($parse, true); // "true" permet d'utiliser la variable en tableau

Maintenant, pour récupérer le numéro de téléphone pour la France par exemple :

echo $json['fr']['audiotel']['audiotelPhone'];

Pour pouvoir exploiter le tout, suffit de créer un tableau avec tout les codes des pays, puis créer une boucle :

$countrys = array('fr','fd','de','at','be','bg','ca','hr','dk','es','ee','fi','gr','hu','ie','it','lv','lt','lu','me','no','nl','pt','ro','uk','sk','se','ch');for($i=0;$i<=count($countrys)-1;$i++){  echo 'Appelez le '.$json[$countrys[$i]]['audiotel']['audiotelPhone'].'. Prix: '.$json[$countrys[$i]]['audiotel']['audiotelFixedCostDetail'].$json[$countrys[$i]]['audiotel']['audiotelVariableCostDetail'];  echo '
'; // j'ai séparer les echo pour bien que vous voyer le code  echo 'Envoyez: '.$json[$countrys[$i]]['sms']['smsKeyword'].' au '.$json[$countrys[$i]]['sms']['smsPhoneNumber'].'. Prix: '.$json[$countrys[$i]]['sms']['smsCostDetail'];}

Bien sure, là, le code n'est pas terminer, certains pays ne possède pas de numéro Audiotel ou SMS, il faut donc créer une condition comme celle-ci :

if($json[$countrys[$i]]['audiotel'] != null)if($json[$countrys[$i]]['sms'] != null)

Je vous laisse a vos codes, bye :)

Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

ça consomme trop. Je le répète encore, UTILISEZ DES CACHES !

 

Consomme de quoi ? Quand tu affiche le module entier sa revient au même, sa consomme chez Starpass, on s'en fou.

De plus, le keyword sms est aléatoire...

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.