Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // -------------------------------------
- // -------------------------------------
- // ------ DEBUT DE LA CLASS A INCLURE
- // -------------------------------------
- // -------------------------------------
- /**
- * Permet de récupérer des informations dans le fichier d'Essentials
- * Class Essentials
- */
- class Essentials{
- /**
- * @var string Fichier avec les informations à récupérer
- */
- private $fichier;
- /**
- * Permet de configurer les paramètres pour récupérer le bon fichier
- * @param string $pseudo Pseudo du joueur
- * @param string $serveur Nom du serveur
- */
- public function __construct($pseudo, $serveur = 'pvp'){
- $fichier = '/home/' . $serveur . '/plugins/Essentials/userdata/' . strtolower($pseudo) . '.yml';
- if (file_exists($fichier)) {
- $this->fichier = file($fichier);
- } else {
- $this->fichier = [];
- }
- }
- /**
- * Affiche l'argent du joueur
- * @return string $value Retourne la réponse
- */
- public function money(){
- // Boucle pour pouvoir récupérer les informations
- foreach($this->fichier as $key => $value) {
- // La chaîne contient le mot
- if (stripos($value, 'money:') !== FALSE) {
- // Enleve 8 caractères au début
- $value = substr($value, 8);
- // Enleve 2 caractères à la fin (dont le caractère pour sauter une ligne)
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere-2);
- // Retourne le résultat
- return $value;
- }
- }
- }
- /**
- * Affiche la dernière connexion du joueur
- * @return string $value Retourne la réponse
- */
- public function login(){
- // Boucle pour pouvoir récupérer les informations
- foreach($this->fichier as $key => $value) {
- // La chaîne contient le mot
- if (stripos($value, 'login:') !== FALSE) {
- // Enleve 8 caractères au début
- $value = substr($value, 8);
- // Enleve 4 caractères en fin de nombre pour le timestamp soit correct en PHP et le caractère pour sauter une ligne)
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere - 4);
- // Retourne le résultat
- return $value;
- }
- }
- }
- /**
- * Affiche la dernière déconnexion du joueur
- * @return string $value Retourne la réponse
- */
- public function logout(){
- // Boucle pour pouvoir récupérer les informations
- foreach($this->fichier as $key => $value) {
- // La chaîne contient le mot
- if (stripos($value, 'logout:') !== FALSE) {
- // Enleve 10 caractères au début
- $value = substr($value, 10);
- // Enleve 4 caractères en fin de nombre pour le timestamp soit correct en PHP et le caractère pour sauter une ligne)
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere - 4);
- // Retourne le résultat
- return $value;
- }
- }
- }
- /**
- * Affiche la dernière adresse IP du joueur
- * @return string $value Retourne la réponse
- */
- public function ipAddress(){
- // Boucle pour pouvoir récupérer les informations
- foreach($this->fichier as $key => $value) {
- // La chaîne contient le mot
- if (stripos($value, 'ipAddress:') !== FALSE) {
- // Enleve 11 caractères au début
- $value = substr($value, 11);
- // Enleve 1 caractères à la fin (le caractère pour sauter une ligne)
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere-1);
- // Retourne le résultat
- return $value;
- }
- }
- }
- /**
- * Affiche la raison du bannissement au joueur s'il est banni
- * @return string $value Retourne la réponse
- */
- public function ban(){
- // Boucle pour pouvoir récupérer les informations
- foreach($this->fichier as $key => $value) {
- // La chaîne contient le mot
- if (stripos($value, 'ban:') !== FALSE) {
- // Défini un nouveau tableau
- $tab['ban'] = [];
- }
- // Si le tableau existe
- if (isset($tab['ban'])) {
- // La chaîne contient le mot "reason: '" (banni définitivement)
- if (stripos($value, "reason: '") !== FALSE) {
- // Enleve 2 caractères au début
- $value = substr($value, 19);
- // Enleve 2 caractères à la fin (dont le caractère pour sauter une ligne)
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere - 2);
- // Retourne le résultat
- return $value;
- }
- }
- // La chaîne contient le mot "reason: ) (banni temporairement)
- if (stripos($value, 'reason:') !== FALSE) {
- // Enleve 2 caractères au début
- $value = substr($value, 10);
- // Enleve 1 caractères à la fin (le caractère pour sauter une ligne)
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere - 1);
- // Retourne le résultat
- return $value;
- }
- }
- }
- /**
- * Affiche le temps qu'il reste au joueur s'il est banni
- * @return string $value Retourne la réponse
- */
- public function timeout(){
- // Boucle pour pouvoir récupérer les informations
- foreach($this->fichier as $key => $value) {
- // La chaîne contient le mot
- if (stripos($value, 'ban:') !== FALSE) {
- // Défini un nouveau tableau
- $tab['ban'] = [];
- }
- // Si le tableau existe
- if (isset($tab['ban'])) {
- // La chaîne contient le mot
- if (stripos($value, 'timeout:') !== FALSE) {
- // Enleve 2 caractères au début
- $value = substr($value, 11);
- if ($value !== '0') {
- // Enleve 3 caractères en fin de nombre pour le timestamp soit correct en PHP
- $max_caractere = strlen($value);
- $value = substr($value, 0, $max_caractere - 3);
- }
- // Défini la variable dans le nouveau tableau
- return $value;
- }
- }
- }
- }
- }
- // -------------------------------------
- // -------------------------------------
- // ------ FIN DE LA CLASS A INCLURE
- // -------------------------------------
- // -------------------------------------
- // Défini le joueur
- $minecraft = new Essentials('Naruhiko315');
- // Execute les diffèrentes methodes
- echo 'IP: ' , $minecraft->ipAddress() , '<br>';
- echo 'Dernière connexion: ' , $minecraft->login() , '<br>';
- echo 'Dernière déconnexion: ' , $minecraft->logout() , '<br>';
- echo 'Argent: ' , $minecraft->money() , '<br>';
- echo 'Temps du bannissement: ' , $minecraft->timeout() , '<br>';
- echo 'Raison du bannissement: ' , $minecraft->ban(), '<br>';
- /*
- * Après, évidemment, il faudra faire quelques modifications
- * - 0 dans Timeout = banni définitivement
- * - Aucune informations = membre pas encore connecté
- * - Formater la date
- * - ... etc ...
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement