API pour le développement de plug-ins

<< Cliquez pour afficher la table des matières >>

Navigation:  For developers >

API pour le développement de plug-ins

Cette API est conçue pour le développement de plug-ins compatibles avec les anciennes et futures versions du script. Si vous utilisez l'API pour récupérer des données dans la base de données, vous pouvez être assuré que le code fonctionnera dans les versions futures. Cela facilite le travail et l'adaptation du code dans les nouvelles versions. En outre, lorsque vous utilisez l'API, vous n'avez pas besoin d'écrire votre propre fonction pour récupérer les données, il n'est pas nécessaire de se connecter et de déclarer des classes pour travailler avec la base de données. Il suffit de se connecter à l'API du fichier, et de commencer à utiliser ses fonctions, tout le reste, il le prend sur lui.

 

Pour utiliser l'API dans un plug-in, vous devez l'inclure:

 

include ('engine/api/api.class.php');

 

Dans ce cas, vous n'avez pas besoin de penser à savoir s'il y a une connexion à la base de données ou non, si les classes nécessaires sont connectées ou non. Ce code peut être utilisé dans les fichiers du script DLE et dans d'autres scripts qui ne sont pas liés à DLE. Il vous permet d'organiser des intégrations standardisées du script DLE avec d'autres scripts. Par exemple, les forums.

.

 

Liste des fonctions de l'API:

 

$dle_api->take_user_by_id( int $id [, string $select_list] );

Récupère un tableau d'informations sur l'utilisateur par son identifiant. Le paramètre optionnel $select_list pointe vers une liste de champs de base de données à obtenir, ou * pour tous. Renvoie un tableau d'informations sur l'utilisateur ou false si l'utilisateur est introuvable.

 

.

$dle_api->take_user_by_name( string $name [, string $select_list]);

Récupère un tableau d'informations sur l'utilisateur par son login. Le paramètre optionnel $select_list pointe vers une liste de champs de base de données à obtenir, ou * pour tous. Renvoie un tableau d'informations sur l'utilisateur ou false si l'utilisateur est introuvable.

 

$dle_api->take_user_by_email( string $email [, string $select_list]);

.

Récupère un tableau d'informations sur l'utilisateur par son e-mail. Le paramètre optionnel $select_list pointe vers une liste de champs de base de données à obtenir, ou * pour tous. Renvoie un tableau d'informations sur l'utilisateur ou false si l'utilisateur est introuvable.

 

$dle_api->take_users_by_group( int $group_id [, string $select_list [, int $limit]]);

.

Récupère un tableau d'informations sur les utilisateurs par le groupe d'utilisateurs. Le paramètre facultatif $select_list pointe vers une liste de champs de base de données à obtenir. Le paramètre facultatif $limit indique la limite du nombre d'utilisateurs de retour. Retourne un tableau d'informations sur l'utilisateur ou false si l'utilisateur est introuvable.

 

$dle_api->take_users_by_ip( string $ip, [, bool $like [, string $select_list [, int $limit]]]);

Recueillir une liste d'utilisateurs par IP, le deuxième paramètre $like indique s'il faut utiliser une correspondance exacte ou inexacte pour la recherche. Le paramètre facultatif $select_list pointe vers une liste de champs de base de données à obtenir. Le paramètre facultatif $limit indique la limite du nombre d'utilisateurs de retour. Retourne un tableau d'informations sur l'utilisateur ou false si l'utilisateur est introuvable.

 

$dle_api->change_user_name( int $user_id, string $new_name);

Changer le login de l'utilisateur. user_id est l'ID de l'utilisateur dont le login doit être remplacé. nouveau_nom est le nom d'utilisateur d'un nouvel utilisateur. Valeurs de retour : true si elle est terminée avec succès, false si le nouveau nom est déjà pris par un autre utilisateur.

.

 

$dle_api->change_user_pass( int $user_id, string $new_pass);

Changer le mot de passe de l'utilisateur. user_id est l'ID de l'utilisateur dont le mot de passe doit être remplacé. new_pass est le mot de passe d'un nouvel utilisateur.

 

$dle_api->change_user_email( int $user_id, string $new_email);

Changer l'e-mail de l'utilisateur. user_id est l'ID de l'utilisateur dont l'e-mail doit être remplacé. new_email est l'e-mail d'un nouvel utilisateur. Valeurs de retour : 1 - terminé avec succès, -1 - cet e-mail est déjà pris, -2 - e-mail incorrect.

 

$dle_api->change_user_group( int $user_id, int $new_group);

.

Changer le groupe de l'utilisateur. user_id est l'ID de l'utilisateur dont le groupe doit être modifié. new_group est l'ID d'un nouveau groupe d'utilisateurs. Valeurs de retour : true si elle est terminée avec succès, false si l'ID d'un groupe inexistant est spécifié.

.

 

$dle_api->external_auth( string $login, string $password);

.

S'identifier à l'aide du login et du mot de passe. Valeurs de retour : true - l'autorisation est réussie, false - le login ou le mot de passe n'est pas correct.

 

$dle_api->external_register( string $login, string $password, string $email, int $group);

Enregistrement de l'utilisateur dans la base de données. Les éléments suivants sont transmis à la fonction : Login, mot de passe, e-mail et un numéro de groupe où l'utilisateur doit être enregistré. Valeurs de retour : 1 - terminé avec succès, -1 - ce login est déjà pris, -2 - cet e-mail est déjà pris, -3 - e-mail incorrect,  -4 - un groupe inexistant est spécifié.

 

$dle_api->send_pm_to_user ( int $user_id, string $subject, string $text, string $from);

Envoyer un message personnel à un utilisateur. $user_id - ID du destinataire. $subject - sujet du message. $text - text du message. $from - login de l'expéditeur. Valeurs de retour : 1 - terminé avec succès, -1 - le destinataire n'est pas trouvé, 0 - erreur de base de données.

.

 

$dle_api->load_table ( string $table [, string $fields [, string $where [, bool $multirow [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]]]);

.

 

Recevoir des informations d'une table de base de données.

$table -  nom de la table

$fields - champs nécessaires séparés par une virgule, ou * pour tous

$where - condition d'échantillonnage

$multirow - prendre une ligne ou plus

$start -  valeur initiale de l'échantillon

$limit - nombre d'entrées pour l'échantillon, 0 - tout sélectionner

$sort - champ, qui est utilisé pour le tri

$sort_order - ordre de tri

 

Retourne un tableau de données, ou false si rien n'est trouvé dans la base de données sur les critères spécifiés.

 

$dle_api->save_to_cache ( string $fname, mixed $vars);

Ecriture de données dans un fichier de cache. $fname indique le nom du fichier de cache sans son extension. $vars - données à écrire dans le cache.

 

$dle_api->load_from_cache ( string $fname,   ;[, int $timeout [, string $type]]);

Lecture des données d'un fichier cache. $fname indique le nom du fichier de cache sans son extension. Paramètre facultatif $timeout indique le nombre de secondes pendant lesquelles les informations du cache sont considérées comme pertinentes. Si le fichier de cache est périmé, alors la fonction renvoie false. Paramètre facultatif $type indique le type de données à stocker dans le cache. S'il n'est pas 'text' - alors on considère qu'un tableau est stocké et qu'un tableau de données est retourné.

.

 

$dle_api->clean_cache (   ;[string $name] );

Suppression du cache. Paramètre facultatif $name indique un nom de fichier spécifique sans l'extension que vous voulez supprimer.

.

 

$dle_api->get_cached_files();

Récupère un tableau qui contient les noms des fichiers de cache.

 

$dle_api->edit_config ( mixed $key,   ;[, string $new_value]);

Modification et enregistrement des paramètres du script.

 

Paramètre $key peut être la chaîne ou le tableau

  ;   ;   ;   ;   ;   ;   ; string : Le nom du paramètre

  ;   ;   ;   ;   ;   ;   ; array : Tableau associatif de paramètres

 

.

$new_value - valeur du paramètre. Non utilisé si $key est le tableau.

 

$dle_api->take_news ( string $cat,   ;[, string $fields [, int $start [, int $limit [, string $sort [, string $sort_order]]]]]);

 

.

Avoir des nouvelles

$cat  - catégories de nouvelles séparées par des virgules

$fields - liste des champs de nouvelles reçues, ou * pour tout

$start  - valeur initiale de l'échantillon

$limit - nombre d'articles pour l'échantillon, 0 - tout sélectionner

.

$sort - champ, qui est utilisé pour le tri

$sort_order - ordre de tri

 

Retourne un tableau associatif à 2 dimensions avec les nouvelles

 

$dle_api->checkGroup ( int $group );

Vérifie si ce groupe existe ou non. Valeurs de retour : true si le groupe existe, false si le groupe n'existe pas.

 

$dle_api->install_admin_module ( string $name, string $title, string $descr, string $icon [, string $perm] );

.

 

.

Installation d'un plug-in tiers dans le panneau d'administration du script.

$nom -  A savoir, c'est un .php fichier de engine/inc/ dossier, mais sans l'extension de fichier.

$title - Le titre de votre plug-in.

.

$descr - La description de votre plug-in.

$icon -Contenu le nom de l'icône de votre module sans son chemin. L'icône doit être située dans engine/skins/images/ (c'est obligatoire). La taille recommandée de l'icône est de 70 par 70 pixels.

.

$perm - Contient des informations sur les groupes où ce plug-in est autorisé.  Ce champ peut prendre les valeurs suivantes : all ou ID des groupes séparés par des virgules. Par exemple : 1,2,3. Si tous les valeur est spécifiée, alors le plug-in sera affiché pour tous les utilisateurs qui ont un accès au panneau d'administration.

 

$dle_api->uninstall_admin_module ( string $name );

Suppression du plug-in tiers depuis le panneau d'administration.

.

 

$name - nom du module à supprimer.

 

$dle_api->change_admin_module_perms ( string $name, string $perm );

Modification des groupes d'utilisateurs autorisés à voir un plug-in tiers dans le panneau d'administration.

 

.

$name - Le titre de votre plug-in.

$perm - Contient des informations sur les groupes où ce plug-in est autorisé.  Ce champ peut prendre les valeurs suivantes : all ou ID des groupes séparés par des virgules. Par exemple : 1,2,3. Si tous les valeur est spécifiée, alors le plug-in sera affiché pour tous les utilisateurs qui ont un accès au panneau d'administration.

 

 

Le développement de l'API complète vient de commencer et actuellement l'API a un ensemble limité de fonctions. Nous demandons donc à tous ceux qui sont intéressés par le développement de cette API de visiter un fil de discussion spécialement créé dans le forum et de laisser vos commentaires sur les nouvelles fonctionnalités que vous aimeriez voir dans les nouvelles versions. Vous pouvez nous aider à créer une API complète qui couvre tous les aspects de l'interaction avec le script.

.

 

.