¤ 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 ) 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 : 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 et voila ! les boutons seront bloqué et inscriveront les temps restant ! Merci de vous Connecter/S'inscrire pour voir les liens. guedesite#0799
Tuto super bien expliqué marche au poil ,merci Spoiler: Je me suis permis de refaire la mise en page :p
Merci pour ce tutoriel, est-ce que tu saurais comment envoyer directement la récompense de vote lors du clique sur le bouton de vote (avec votetemps.php) ? Car je n'aime pas le système d'obtention des récompenses actuel où il faut retourner sur le site pour cliquer sur un bouton (Recevoir mes récompenses) pour obtenir ses objets, c'est une perte de temps dans mon cas car je n'utilise pas les votes pour obtenir les jetons
Salut! tu peux tous à fais le faire, il faut que tu touches au fichier controleur/voter.php, dedans tu auras tous ce qu il te faut, si tu t'y retrouve pas, PAF > guedesite#0799, deplus, il est beaucoup plus simple a mettre en place un api de vérification de vote depuis la 1.7 ^^".