[XENFORO] Faire un registre des membres bannis de la shoutbox (#2)

Walky 🇫🇷

Cryptoboy
Ancien staff
Inscription
18 Octobre 2012
Messages
1 278
Réactions
1 188
Points
23 400
RGCoins
45
You must be registered for see images attach

Hey :D !

Voici la seconde partie du tutoriel qui va vous apprendre à créer un registre des membres bannis de la Shoutbox.

Première partie

Dans cette partie on va commencer à programmer (PHP, POO, SQL).

Rappelons-nous, dans la première partie nous avions créer l'addon.
Commençons cette seconde partie...

Nous allons d'abord créer notre propre dossier dans le FTP, celui-ci devra être créé ici : /public_html/library/
Nommons le : BannedShoutboxMembers

Dans ce dossier, on va ajouter un fichier : Installer.php
Ouvrons le.

Tout d'abord, comme c'est un fichier PHP on va devoir mettre ceci en première ligne :​
PHP:
<?php

Pour ensuite y ajouter notre class :​
PHP:
class BannedShoutboxMembers_Installer
Comme vous l'aurez remarqué, c'est le chemin de notre fichier Installer.php.
Petit rappel : En PHP, les / se traduisent par des _

Maintenant, on va ajouter une fonction qui va nous permettre d'installer une table dans notre BDD (Base De Données) :
PHP:
public static function install()
{
    $db = XenForo_Application::get('db');

    $db->query("
        CREATE TABLE if not exists banned_shoutbox_members (
            ban_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
            banned_user_id INT(10) UNSIGNED NOT NULL,
            ban_user_id INT(10) UNSIGNED NOT NULL,
            ban_date INT(10) UNSIGNED NOT NULL,
            PRIMARY KEY (ban_id)
        )
        COLLATE='utf8_general_ci'
        ENGINE=InnoDB
    ");
}

Explications :​
  • $db = Récupération de la BDD.​
  • $db->query("...") = Exécution de la requête dans la BDD​
  • banned_shoutbox_members = Nom de la table dans la BDD​
  • ban_id = ID du ban, augmente de 1 à chaque nouveau bannissement
  • banned_user_id = ID de l'utilisateur banni
  • ban_user_id = ID de l'utilisateur qui a banni le membre
  • ban_date = Date du bannissement
On va maintenant faire notre fonction de désinstallation, qui va permettre de supprimer la table lors de la suppression de l'addon.
PHP:
public static function uninstall()
{
    $db = XenForo_Application::get('db');

    $db->query("DROP TABLE banned_shoutbox_members");
}

Rien à expliquer là-dessus :p

Sauvegardez votre fichier.

Mais ça ne suffit pas, il va falloir relier ce code à notre addon.
Pour ce faire :

Cliquer sur l'addon dans votre Admin CP et ajoutez ceci dans Installation Code :
BannedShoutboxMembers_Installer::install

et dans Uninstallation Code :
BannedShoutboxMembers_Installer::uninstall

Sauvegardez l'addon.
Maintenant, si vous êtes assez doué avec PHPMyAdmin, vous saurez ajouter le code d'installation directement, ce qui vous éviteras de mettre à jour l'addon pour installer la table dans la BDD.

Sinon, exportez l'addon via le menu déroulant à côté de celui-ci, nous avons donc un fichier XML, et mettez l'addon à jour en cliquant sur le lien dans le même menu.
Bien évidemment, nous allons sélectionner le fichier XML précédemment exporté.

Laissez le processus faire...
Ca y est, nous avons notre table dans la BDD :D

La partie 3 arrive bientôt :D

© Good Topic Premium 2015 - Walky GTP
 
Dernière édition:
Pourquoi sauvegarder le pseudo ? D:
 
Je suis d'accord avec Reptile, stocker le nom d'utilisateur ne sert pas à grand chose, l'user_id est la seule clef utile pour retrouver un utilisateur dans son intégralité.
Oui mais il me semble qu'il y a(vait) une couille avec le pseudo où un truc comme ça avant, enfin j'ai pas testé avec la nouvelle version. Mais si tu insistes :troll:
 
Oui mais il me semble qu'il y a(vait) une ******* avec le pseudo où un truc comme ça avant, enfin j'ai pas testé avec la nouvelle version. Mais si tu insistes :troll:
Tû ne sais pas faire de requête SQL, ce n'est pas grave, tû sais ? :p
 
Erreur JavaScript console :( Je suis le seul à avoir l'erreur j'ai bien l'impression :rofl: Tu pourrais m'aider STP ? :)
Quand je suis arrivé au moment ou il faut retourner sur l'add-on pour mettre les codes d'installation / désinstallation j'ai eu un message d'erreur avec comme texte : The server responded with an error. The error message is in the JavaScript console.
 
Salut,

Screen ta console dans ces cas là ;)

Bonne soirée,
AwH.
 
Erreur JavaScript console :( Je suis le seul à avoir l'erreur j'ai bien l'impression :rofl: Tu pourrais m'aider STP ? :)
Quand je suis arrivé au moment ou il faut retourner sur l'add-on pour mettre les codes d'installation / désinstallation j'ai eu un message d'erreur avec comme texte : The server responded with an error. The error message is in the JavaScript console.
Salut,

Comme @iOSx AwH l'a dit, screen ta console pour que je puisse voir l'erreur que tu as fait et t'aider :)
 
«Le message d'erreur est dans la console javascript», donc oui un screen de la console javascript s'il te plait
 
Retour
Haut