Advertisement
Naruhiko315

Prendre des informations Essentials - [Naruhiko315]

Jul 28th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.78 KB | None | 0 0
  1. <?php
  2.  
  3. // -------------------------------------
  4. // -------------------------------------
  5. // ------ DEBUT DE LA CLASS A INCLURE
  6. // -------------------------------------
  7. // -------------------------------------
  8.  
  9. /**
  10. * Permet de récupérer des informations dans le fichier d'Essentials
  11. * Class Essentials
  12. */
  13.  
  14. class Essentials{
  15.  
  16.     /**
  17.     * @var string Fichier avec les informations à récupérer
  18.     */
  19.     private $fichier;
  20.  
  21.     /**
  22.     * Permet de configurer les paramètres pour récupérer le bon fichier
  23.     * @param string $pseudo Pseudo du joueur
  24.     * @param string $serveur Nom du serveur
  25.     */
  26.     public function __construct($pseudo, $serveur = 'pvp'){
  27.         $fichier = '/home/' . $serveur . '/plugins/Essentials/userdata/' . strtolower($pseudo) . '.yml';
  28.         if (file_exists($fichier)) {
  29.             $this->fichier = file($fichier);
  30.         } else {
  31.             $this->fichier = [];
  32.         }
  33.     }
  34.  
  35.     /**
  36.     * Affiche l'argent du joueur
  37.     * @return string $value Retourne la réponse
  38.     */
  39.     public function money(){
  40.         // Boucle pour pouvoir récupérer les informations
  41.         foreach($this->fichier as $key => $value) {
  42.  
  43.             // La chaîne contient le mot
  44.             if (stripos($value, 'money:') !== FALSE) {
  45.                 // Enleve 8 caractères au début
  46.                 $value = substr($value, 8);
  47.  
  48.                 // Enleve 2 caractères à la fin (dont le caractère pour sauter une ligne)
  49.                 $max_caractere = strlen($value);
  50.                 $value = substr($value, 0, $max_caractere-2);
  51.  
  52.                 // Retourne le résultat
  53.                 return $value;
  54.             }
  55.         }
  56.     }
  57.  
  58.     /**
  59.     * Affiche la dernière connexion du joueur
  60.     * @return string $value Retourne la réponse
  61.     */
  62.     public function login(){
  63.         // Boucle pour pouvoir récupérer les informations
  64.         foreach($this->fichier as $key => $value) {
  65.  
  66.             // La chaîne contient le mot
  67.             if (stripos($value, 'login:') !== FALSE) {
  68.                 // Enleve 8 caractères au début
  69.                 $value = substr($value, 8);
  70.  
  71.                 // Enleve 4 caractères en fin de nombre pour le timestamp soit correct en PHP et le caractère pour sauter une ligne)
  72.                 $max_caractere = strlen($value);
  73.                 $value = substr($value, 0, $max_caractere - 4);
  74.  
  75.                 // Retourne le résultat
  76.                 return $value;
  77.             }
  78.         }
  79.     }
  80.  
  81.     /**
  82.     * Affiche la dernière déconnexion du joueur
  83.     * @return string $value Retourne la réponse
  84.     */
  85.     public function logout(){
  86.  
  87.         // Boucle pour pouvoir récupérer les informations
  88.         foreach($this->fichier as $key => $value) {
  89.  
  90.             // La chaîne contient le mot
  91.             if (stripos($value, 'logout:') !== FALSE) {
  92.                 // Enleve 10 caractères au début
  93.                 $value = substr($value, 10);
  94.  
  95.                 // Enleve 4 caractères en fin de nombre pour le timestamp soit correct en PHP et le caractère pour sauter une ligne)
  96.                 $max_caractere = strlen($value);
  97.                 $value = substr($value, 0, $max_caractere - 4);
  98.  
  99.                 // Retourne le résultat
  100.                 return $value;
  101.             }
  102.         }
  103.     }
  104.  
  105.     /**
  106.     * Affiche la dernière adresse IP du joueur
  107.     * @return string $value Retourne la réponse
  108.     */
  109.     public function ipAddress(){
  110.         // Boucle pour pouvoir récupérer les informations
  111.         foreach($this->fichier as $key => $value) {
  112.  
  113.             // La chaîne contient le mot
  114.             if (stripos($value, 'ipAddress:') !== FALSE) {
  115.                 // Enleve 11 caractères au début
  116.                 $value = substr($value, 11);
  117.  
  118.                 // Enleve 1 caractères à la fin (le caractère pour sauter une ligne)
  119.                 $max_caractere = strlen($value);
  120.                 $value = substr($value, 0, $max_caractere-1);
  121.  
  122.                 // Retourne le résultat
  123.                 return $value;
  124.             }
  125.         }
  126.     }
  127.  
  128.     /**
  129.     * Affiche la raison du bannissement au joueur s'il est banni
  130.     * @return string $value Retourne la réponse
  131.     */
  132.     public function ban(){
  133.         // Boucle pour pouvoir récupérer les informations
  134.         foreach($this->fichier as $key => $value) {
  135.  
  136.             // La chaîne contient le mot
  137.             if (stripos($value, 'ban:') !== FALSE) {
  138.  
  139.                 // Défini un nouveau tableau
  140.                 $tab['ban'] = [];
  141.             }
  142.  
  143.             // Si le tableau existe
  144.             if (isset($tab['ban'])) {
  145.  
  146.                 // La chaîne contient le mot "reason: '" (banni définitivement)
  147.                 if (stripos($value, "reason: '") !== FALSE) {
  148.                     // Enleve 2 caractères au début
  149.                     $value = substr($value, 19);
  150.  
  151.                     // Enleve 2 caractères à la fin (dont le caractère pour sauter une ligne)
  152.                     $max_caractere = strlen($value);
  153.                     $value = substr($value, 0, $max_caractere - 2);
  154.  
  155.                     // Retourne le résultat
  156.                     return $value;
  157.                 }
  158.  
  159.             }
  160.  
  161.             // La chaîne contient le mot "reason: ) (banni temporairement)
  162.             if (stripos($value, 'reason:') !== FALSE) {
  163.                 // Enleve 2 caractères au début
  164.                 $value = substr($value, 10);
  165.  
  166.                 // Enleve 1 caractères à la fin (le caractère pour sauter une ligne)
  167.                 $max_caractere = strlen($value);
  168.                 $value = substr($value, 0, $max_caractere - 1);
  169.  
  170.                 // Retourne le résultat
  171.                 return $value;
  172.             }
  173.         }
  174.     }
  175.  
  176.     /**
  177.     * Affiche le temps qu'il reste au joueur s'il est banni
  178.     * @return string $value Retourne la réponse
  179.     */
  180.     public function timeout(){
  181.         // Boucle pour pouvoir récupérer les informations
  182.         foreach($this->fichier as $key => $value) {
  183.  
  184.             // La chaîne contient le mot
  185.             if (stripos($value, 'ban:') !== FALSE) {
  186.  
  187.                 // Défini un nouveau tableau
  188.                 $tab['ban'] = [];
  189.             }
  190.  
  191.             // Si le tableau existe
  192.             if (isset($tab['ban'])) {
  193.  
  194.                 // La chaîne contient le mot
  195.                 if (stripos($value, 'timeout:') !== FALSE) {
  196.                     // Enleve 2 caractères au début
  197.                     $value = substr($value, 11);
  198.  
  199.                     if ($value !== '0') {
  200.                         // Enleve 3 caractères en fin de nombre pour le timestamp soit correct en PHP
  201.                         $max_caractere = strlen($value);
  202.                         $value = substr($value, 0, $max_caractere - 3);
  203.                     }
  204.  
  205.                     // Défini la variable dans le nouveau tableau
  206.                     return $value;
  207.                 }
  208.             }
  209.         }
  210.     }
  211.  
  212. }
  213. // -------------------------------------
  214. // -------------------------------------
  215. // ------ FIN DE LA CLASS A INCLURE
  216. // -------------------------------------
  217. // -------------------------------------
  218.  
  219. // Défini le joueur
  220. $minecraft = new Essentials('Naruhiko315');
  221.  
  222. // Execute les diffèrentes methodes
  223. echo 'IP: ' , $minecraft->ipAddress() , '<br>';
  224. echo 'Dernière connexion: ' , $minecraft->login() , '<br>';
  225. echo 'Dernière déconnexion: ' , $minecraft->logout() , '<br>';
  226. echo 'Argent: ' , $minecraft->money() , '<br>';
  227. echo 'Temps du bannissement: ' , $minecraft->timeout() , '<br>';
  228. echo 'Raison du bannissement: ' , $minecraft->ban(), '<br>';
  229.  
  230. /*
  231. * Après, évidemment, il faudra faire quelques modifications
  232.     * - 0 dans Timeout = banni définitivement
  233.     * - Aucune informations = membre pas encore connecté
  234.     * - Formater la date
  235.     * - ... etc ...
  236. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement