2.3. Exemples de fonctions du SDK

2.3.1. Récupérer le titre d'un sujet

Fonction : string md_get_topic_title( bool $use_current_db, string $current_forum, int $cat, int $topic_id, bool $in_trash, resource $dbhr, resource $dbhw)

La fonction demande un certain nombre de paramètres :

  • $use_current_db : Utilisation de la base de données en cours ou non, fournie via la constante md_one_database

  • $current_forum : base de données du forum en cours, fournie via la variable $md_db_extension

  • $cat : ID de la cat, fourni via la variable $md_cat_id si ce paramètre doit être la catégorie en cours

  • $topic_id : ID du sujet, fourni par $md_topic_id si ce paramètre doit être le sujet en cours

  • $in_trash : Booléen pour savoir si le topic est à la corbeille ou non, pour un sujet non à la corbeille, passez 0 en paramètre

  • $dbhr et $dbhw : Liens vers la ou les connexions aux bases de données, initialisées via $dbhr et $dbhw

echo md_get_topic_title(md_one_database,$md_db_extension,$md_cat_id,$md_topic_id,0,$dbhr,$dbhw);

2.3.2. Récupérer le nombre de membres enregistrés sur le forum donné ou sur tous les forums du serveur.

int md_get_total_registered( resource $dbhr, resource $dbhw, [int $forum_id = NULL])

  • $dbhr et $dbhw : Liaisons à la base de données, fourni via $dbhr et $dbhw

  • $forum_id : ID du forum, fourni via $md_forum_id, paramètre optionnel, si il n'est pas fourni, c'est le nombre total des utilisateurs de tous les forums du serveur qui sera retourné.

echo md_get_total_registered($dbhr,$dbhw,$md_forum_id);

2.3.3. Activer la notification par email

bool md_activate_mail( string $current_forum, bool $use_current_db, int $topic_id, int $cat, int $idu, resource $dbhr, resource $dbhw)

  • $current_forum : nom du forum courant, initialisé par la variable $md_db_extension

  • $use_current_db : Utilisation de la base de données courante, fournie via la constante md_one_database

  • $topic_id : ID du sujet à notifier, si c'est le topic courant, fourni via $md_topic_id

  • $cat : ID de la catégorie où se trouve le sujet à notifier, si c'est la catégorie courante, fourni via $md_cat_id

  • $idu : ID de l'utilisateur qui sera notifié, si utilisateur en cours, fourni via $md_user_id

  • $dbhr et $dbhw : lien de connexion à la connexion mysql en cours, fourni via $dbhr et $dbhw

Retourne true si l'opération s'est bien effectuée, false dans le cas contraire

md_activate_mail($md_db_extension,md_one_database,$md_topic_id,$md_cat_id,$md_user_id,$dbhr,$dbhw);

2.3.4. Créer un nouveau sujet

array md_add_topic( bool $use_current_db, string $current_forum, int $id_forum, int $cat, int $subcat, int $sticky, string $subject, string $content, array $poll, int $MsgIcon, int $user_id, string $pseudo, date $date, bool $signature, array $toread, string $remote, string $current_ip, int $topicParPage, resource $dbhr, resource $dbhw, [bool $stickyallowed = 0], [bool $apriori = 0], [array $expire = array(0,0,0,0,0)])

  • $use_current_db : Demande à la fonction d'utiliser la base de données actuelle ou d'utiliser une base de données précise, peut être fournie via la constante md_one_database.

  • $current_forum : Nom d'extension de la base de données courante du forum, fourni via la variable $md_db_extension // db name of the forum

  • $id_forum : ID du forum où doit être posté le sujet, fourni via la variable $md_forum_id si forum en cours

  • $cat : ID de la catégorie où doit être posté le nouveau sujet, initialisé par la variable $md_cat_id si il s'agit de la catégorie en cours

  • $subcat : ID de la sous-catégorie où doit être posté le sujet, initialisé par la variable $md_subcat_id si il s'agit de la sous-catégorie en cours

  • $sticky : Indique si le forum doit être scotché en tête de la liste des sujets, mettre 1 pour le scotcher

  • $subject : $titre du nouveau sujet, doit être protégé par un md_mysqlw_real_escape_string

  • $content : Contenu du premier message, doit être préalablement protégé par un md_mysqlw_real_escape_string

  • $poll : Vous permet d'insérer un sondage avec le sujet. Il vous faut transmettre un array PHP,

    0 : Titre du sondage

    1-10 : Choix du sondage

    99 : Nombre maximum de votes

  • $MsgIcon : Icône de ton du sujet

  • $user_id : ID de l'utilisateur qui sera enregistré comme créateur du sujet, $md_user_id si il s'agit de l'utilisateur courant.

  • $pseudo : Pseudo de l'utilisateur qui sera marqué comme créateur du sujet, doit être protégé par un md_mysqlw_real_escape_string, peut donc être récupéré par un md_mysqlw_real_escape_string($md_user,$dbhw); si il s'agit de l'utilisateur courant.

  • $date : Date de création du sujet au format YYYY-MM-JJ HH:mm:ss

  • $signature : Active ou non la signature de l'utilisateur

  • $toread : Tableau de 5 clés maximum pouvant contenir les ID de sujets relatifs au sujet à créer.

  • $remote : IP derrière le proxy si c'est un proxy transparent, initialisé par la variable $md_user_proxy_ip si il s'agit de l'utilisateur courant.

  • $current_ip : IP de l'user, initialisée par la variable $md_user_ip si il s'agit de l'utilisateur courant

  • $topicParPage : Nombre de sujets par page sur la liste des sujets par défaut, initialisé via la variable $md_topic_per_page.

  • $dbhr et $dbhw : Liens vers les connexions à la base de données

Les paramètres suivants sont optionnels, si vous appelez la fonction sans les préciser, leur valeur par défaut sera utilisée.

  • $stickyallowed : 0 par défaut, mettre à 1 pour autoriser la création de sujet scotché en tête de liste des sujets.

  • $apriori : 0 par défaut, mettre à 1 si vous désirez créer un topic modéré a priori, c'est à dire qui ne s'affichera pas directement sur le forum mais seulement si il est validé dans l'interface de modération a priori

  • $expire : Array PHP, par défaut (0,0,0,0,0). Vous permet de préciser une date d'expiration pour un éventuel sondage

Cette fonction vous retournera un tableau PHP contenant 2 valeurs, l'ID du sujet nouvellement créé et l'ID du premier message de ce sujet.

2.3.5. Ajouter une réponse dans un sujet

int md_add_post( bool $use_current_db, string $current_forum, int $idsite, int $cat, int $topic_id, int $MsgIcon, string $safe_content, string $safe_pseudo, int $id, bool $signature, string $remote, string $current_ip, bool $apriori, resource $dbhr, resource $dbhw, [ $subcat = 0])

  • $use_current_db : Utilisation de la base de données courante, fournie via la constante md_one_database

  • $current_forum : Nom du forum courant, fourni via la variable $md_db_extension

  • $idsite : ID du forum courant, initialisé par la variable $md_forum_id

  • $cat : ID de la catégorie où se trouve le sujet. Initialisé par la variable md_cat_id si il s'agit de la catégorie courante

  • $topic_id : ID du sujet où la réponse doit être ajoutée, Initialisé par la variable md_topic_id si la réponse doit être ajoutée dans le sujet courant.

  • MsgIcon : Icône d'humeur de la réponse.

  • $safe_content : Contenu de la réponse, doit être vérifié par un md_mysqlw_real_escape_string avant d'appeler la fonction sous peine d'être victime d'une faille d'Injection MySQL.

  • $safe_pseudo : Pseudo du posteur de la réponse, doit être vérifié par un md_mysqlw_real_escape_string avant d'appeler la fonction sous peine d'être victime d'une faille d'Injection MySQL.

  • $id : ID de l'utilisateur posteur de la réponse, initialisé via la variable $md_user_id si il s'agit de l'utilisateur courant.

  • $signature : active ou non la signature à la fin du message

  • $remote : IP derrière le proxy si c'est un proxy transparent, initialisé par la variable $md_user_proxy_ip si il s'agit de l'utilisateur courant.

  • $current_ip : IP de l'user, initialisé par la variable $md_user_ip si il s'agit de l'utilisateur courant

  • $apriori : Defini si le message doit s'afficher directement sur le forum ou si il doit d'abord être validé par l'interface de modération a priori.

  • $dbhr et $dbhw : liens vers la ou les connexions à la base de données.

  • $subcat : Sous-catégorie du sujet où doit être rajouté le message, utile si vous souhaitez tenir les informations comme le dernier posteur d'une sous-catégorie précise notamment au cas où vous auriez une catégorie "alias" de sous-catégorie.

La fonction retourne l'ID du message ajouté.