1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

[TUTO][1.7.*] Bloquer les boutons de vote lorsque l'on ne peut pas voter :D

Discussion dans 'Vos Tutoriels' créé par guedesite, 30 Septembre 2018.

MineStrator, Votre hébergeur de serveur minecraft
  1. guedesite

    guedesite 1er classe

    61
    12
    8
    ¤ Patch | Vote | Bloquer les boutons lorsque le joueur ne peux pas voter ¤

    Tous d'abord créez un fichier en .php que nous allons nommé votetemps.php et copiez / collez ce code dedans

    Code:
    <?php
    $id = $liensVotes['id'];
    
    if(!ExisteJoueur($_Joueur_['pseudo'], $id, $bddConnection))
        CreerJoueur($_Joueur_['pseudo'], $id, $bddConnection);
    
    $donnees = RecupJoueur($_Joueur_['pseudo'], $id, $bddConnection);
    $lectureVotes = LectureVote($id, $bddConnection);
    
    $donnees = RecupJoueur($_Joueur_['pseudo'], $id, $bddConnection);
    $lectureVotes = LectureVote($id, $bddConnection);
    
        if(!Vote($_Joueur_['pseudo'], $id, $bddConnection, $donnees, $lectureVotes['temps']))
        {
            echo '<button type="submit" style="cursor: not-allowed;width: 150px; margin: 10px;" class="btn btn-primary bouton-vote" name="site" value="'.$liensVotes['id'].'"  disabled>';
            echo GetTempsRestant($donnees['date_dernier'], $lectureVotes['temps'], $donnees);
            echo '</button>';
        }
        else
        {
            echo '<button type="submit" style="margin:10px;" class="btn btn-primary bouton-vote" name="site" value="'.$liensVotes['id'].'" onclick="window.open(\''.$liensVotes['lien'].'\',\'Fiche\',\'toolbar=no,status=no,width=1350 ,height=900,scrollbars=yes,location=no,resize=yes,menubar=yes\')" >';
            echo $liensVotes['titre'];
            echo '</button>';
        }
    
    ?>
    c'est le bouton qui va être appellé à chaque boucle,
    placez ce fichiez dans le dossier pages de votre thème ( ex: theme/default/pages/votetemps.php )
    ouvrez ensuite le fichier vote qui se trouve dans le dossier pages de votre theme ( ex: theme/default/pages/voter.php )

    rendez-vous à la boucle générant les boutons ( ici ligne 70 avec le thème NeoCraft Delta )
    [​IMG]

    et remplacer l'encadrer par ce-là :

    Code:
    include('theme/'.$_Serveur_['General']['theme'].'/pages/votetemps.php');
    qui appelle le fichier que l'on avait créé juste avant ce qui donne :

    [​IMG]

    ensuite placez à la fin de votre page ce-si :

    Code:
    <?php
    function RecupJoueur($pseudo, $id, $bddConnection)
        {
            $line = $bddConnection->prepare('SELECT * FROM cmw_votes WHERE pseudo = :pseudo AND site = :site');
            $line->execute(array(
                'pseudo' => $pseudo,
                'site' => $id    ));
            $donnees = $line->fetch(PDO::FETCH_ASSOC);    
            return $donnees;
        }
        
        function Vote($pseudo, $id, $bddConnection, $donnees, $temps)
        {
            if($donnees['date_dernier'] + $temps < time())
            {
                return true;
            }
            else 
                return false;
        }
        
        function ExisteJoueur($pseudo, $id, $bddConnection)
        {
            $line = $bddConnection->prepare('SELECT * FROM cmw_votes WHERE pseudo = :pseudo AND site = :site');
            $line->execute(array(
                'pseudo' => $pseudo,
                'site' => $id    ));
                
            $donnees = $line->fetch(PDO::FETCH_ASSOC);
            
            if(empty($donnees['pseudo']))
                return false;
            else
                return true;
        }
        
        function CreerJoueur($pseudo, $id, $bddConnection)
        {
            $req = $bddConnection->prepare('INSERT INTO cmw_votes(pseudo, site) VALUES(:pseudo, :site)');
            $req->execute(array(
                'pseudo' => $pseudo,
                'site' => $id
                ));
        }
        
    function GetTempsRestant($temps, $tempsTotal, $donnees)
        {
            $tempsEcoule = time() - $temps;
            $tempsRestant = $tempsTotal - $tempsEcoule;
            $tempsH = 0;
            $tempsM = 0;
            while($tempsRestant >= 3600)
            {
                $tempsH = $tempsH + 1;
                $tempsRestant = $tempsRestant - 3600;
            }
            while($tempsRestant >= 60)
            {
                $tempsM = $tempsM + 1;
                $tempsRestant = $tempsRestant - 60;
            }
            if($tempsM <= 9)
            {
                return $tempsH. 'H0' .$tempsM;
            }
            else
            {
                return $tempsH. 'H' .$tempsM;
            }
        }
    
        function LectureVote($id, $bddConnection)
        {
            $req = $bddConnection->prepare('SELECT * FROM cmw_votes_config WHERE id = :id');
            $req->execute(array('id' => $id));
            return $req->fetch(PDO::FETCH_ASSOC);
        }
    ?>
    

    tous à la suite
    [​IMG]

    et voila ! les boutons seront bloqué et inscriveront les temps restant !
    [​IMG]
    Merci de vous Connecter/S'inscrire pour voir les liens.
    guedesite#0799​
     
    • J'aime J'aime x 2
  2. DevilishDante

    DevilishDante Soldat

    27
    1
    3
    Tuto super bien expliqué marche au poil ,merci ;););););)
    [​IMG]
     
  3. guedesite

    guedesite 1er classe

    61
    12
    8
    Oui bas hein ! xD j'ai juste adapté le tuto que j'ai fait il y a 6 - 8 mois de la 1.6 pour la 1.7
     
    • Fun Fun x 1
  4. DevilishDante

    DevilishDante Soldat

    27
    1
    3
    n'empêche que c'est bien utile XD
     

Partager cette page

Chargement...