IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Afficher le total des gains coinhive avec l'api coinhive


Sujet :

AJAX

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Afficher le total des gains coinhive avec l'api coinhive
    Bonjour, j'aurais besoin de votre aide et retours sur expérience pour tenter d'aboutir ce script :
    Source d'origine du message : https://forum.joomla.fr/forum/joomla...este-fig%C3%A9

    J'ai récemment découvert coinhive. Ma synthèse, que je vous conseille :
    https://www.visionduweb.eu/wiki/inde...A9_sur_un_site

    Comme indiqué dans la synthèse, on peut afficher le montant total miné avec l'api de coinhive :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php $valeurs = file_get_contents('https://api.coinhive.com/stats/site?secret=PRIVATE_KEY');
    $affiche = json_decode($valeurs, true); $xmrPending = $affiche['xmrPending'];
    echo ('<div id="xmr" align="center" style="color:grey;">Le montant des donations pour Vision du web est de '.$xmrPending.' Monero.</div>'); ?>
    Jusque la, tout va bien, ce script fonctionne.

    Les difficultés commencent avec mon hébergeur. Apparemment, il ne reconnaît pas file_get_contents ce qui m'empêche d'exploiter mon script.
    Je passe donc sur un autre mutualisé pour afficher mon script :
    1- Le script statique : http://green.legtux.org/api-coinhive-affiche.php
    2- Le script dynamique : http://green.legtux.org/api-coinhive-curl-affiche.php

    Sur cet hébergeur, j'arrive à afficher le total généré par coinhive, de façon statique, ou, dynamique avec un refresh toutes les 5 secondes.
    Ci-dessous, le code utilisé en Javascript pour rafraichir l'information, et, le code PHP pour afficher le contenu initial.

    La balise de conteneur est un div ayant pour ID " xmr".
    Les scripts suivant sont donc bien fonctionnels sur l'hébergeur legtux, mais, quand je tente de l'utiliser via curl PHP sur mon site Vision du web, l'affichage reste statique.
    J'ai tenté quelques manipulations, sans succès.
    Il y a bien eu un moment, lorsque j'ai remplacé l'url dans la portion de code suivante
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.open("GET","http://green.legtux.org/api-coinhive-curl-affiche.php",true);
    par ./index.php ou j'ai cru que j'allais arriver à améliorer ce code, mais, non, car, même si alors, l'information enfin se charge de façon dynamique, j'ai une très vilaine boucle qui recharge mon site, et, qui le surcharge, je vois 1 fois mon site, puis, 2 fois l'un sous l'autre, puis 3 fois l'un sous l'autre, un vilain bogue.

    Le script présenté ci-dessous est ma situation actuelle, fonctionnelle sur legtux, et, statique sur Vision du web.

    Je n'ai pas chargé la bibliothèque JQuery sur legtux. J'ai des bibliothèques chargées sur Vision du web.

    Ma question est donc la suivante : Comment rafraichir un div de Joomla pour dynamiser le contenu ?
    Existe t'il un module de type iframe qui permettre la prise en compte immédiate du nécessaire technique pour afficher directement mon contenu de façon dynamique ?

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <script type="text/javascript">
    function timer()
    {
    comp=(setTimeout("go()",5000));
    }
    function getXhr(){
    var xhr = null;
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
    xhr = false;
    }
    return xhr
    }
    function go()
    {
    var xhr = getXhr()
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function()
    {
    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200)
    {
    var html = xhr.responseText;
    document.getElementById('xmr').innerHTML = html;
    }
    }
    xhr.open("GET","http://green.legtux.org/api-coinhive-curl-affiche.php",true);
    xhr.send(null);
    setTimeout('go()',5000);
    }
    window.onload=timer();
    </script>

    Directement suivi par :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    $url = 'http://green.legtux.org/api-coinhive-affiche.php';
    $timeout = 10;
     
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
     
    if (preg_match('`^https://`i', $url))
    {
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    }
     
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
     
    // Récupération du contenu retourné par la requête
    $page_content = curl_exec($ch);
     
    curl_close($ch);
    echo '<div style="text-align:center;">';
    echo $page_content;
    echo '</div>';
    ?>

    Merci de vos conseils pour arriver à rendre cet affichage dynamique, sur Joomla!
    Dernière modification par Invité ; 13/10/2017 à 20h00. Motif: Titre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Afficher le total des montants selon choix de critère de recherche
    Par BRUNO71 dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/04/2016, 21h49
  2. Twitter exige des communications chiffrées avec son API
    Par Stéphane le calme dans le forum Sécurité
    Réponses: 2
    Dernier message: 20/01/2014, 08h35
  3. Réponses: 3
    Dernier message: 15/07/2010, 19h07
  4. Réponses: 0
    Dernier message: 16/06/2010, 11h14
  5. Etablir des diagrammes graphiques avec l'API JUNG
    Par zizoux5 dans le forum Multimédia
    Réponses: 2
    Dernier message: 15/03/2007, 16h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo