Intégration des modules dans le panneau d’administration

DataLife Engine fournit des mécanismes pratiques pour intégrer dans le panneau d’administration les modifications du script que vous avez développées. Ces mécanismes permettent d’intégrer des modules du panneau d’administration sans modifier les fichiers du script et de conserver leur fonctionnement après la mise à jour du script vers une nouvelle version.

Pour intégrer votre module tiers dans le panneau d’administration, vous devez placer le fichier de votre module dans le dossier /engine/inc/. C’est une condition obligatoire. Seuls les fichiers situés dans ce dossier peuvent être intégrés. Par exemple, si le fichier de votre module s’appelle mymod.php et que vous l’avez placé dans le dossier /engine/inc/, vous pourrez ensuite appeler votre module depuis le panneau d’administration à l’adresse https://website.com/admin.php?mod=mymod, où mymod est le nom du module sans l’extension .php. L’intégration se fait automatiquement, sans qu’aucune modification des fichiers du script ne soit nécessaire.

Pour que les utilisateurs n’aient pas à saisir manuellement l’adresse de votre module dans le navigateur et pour qu’il apparaisse dans la liste de toutes les sections du panneau d’administration, une table spéciale est prévue dans la base de données MySQL. Le nom de cette table est PREFIX_admin_sections. Le préfixe peut être lu par votre script d’installation dans le fichier /engine/data/dbconfig.php. Cette table contient les noms de champs suivants :

name - contient le nom de votre module, c’est-à-dire le nom du fichier .php situé dans le dossier /engine/inc/, mais sans l’extension. Par exemple, si votre fichier s’appelle mymod.php, la valeur mymod doit être enregistrée dans ce champ.

title - contient le titre de votre module.

descr - contient la description de votre module.

icon - contient le nom de l’icône de votre module avec son chemin. Les dimensions recommandées des icônes sont de 70 par 70 pixels.

allow_groups - contient les informations sur les groupes auxquels l’affichage de ce module est autorisé. Ce champ peut contenir soit la valeur all, soit une liste d’ID de groupes séparés par des virgules, par exemple 1,2,3. Si la valeur all est indiquée, le module sera affiché à tous les utilisateurs ayant accès au panneau d’administration.

Exemple de requête pour enregistrer les informations sur le module mymod :

INSERT INTO `prefix_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES ('mymod', 'Module de test', 'Description du module de test', 'mymod.png', '1');

Après l’exécution de cette requête, le module sera enregistré dans le panneau d’administration uniquement pour les administrateurs.

Attention : l’indication des groupes dans la base de données n’interdit ni n’empêche l’exécution du module par des utilisateurs appartenant à d’autres groupes. Ce champ détermine uniquement si la section doit être affichée ou non dans la navigation et dans les listes du panneau d’administration. Pour le contrôle des accès, vos modules intégrés doivent eux-mêmes vérifier les groupes et n’autoriser l’exécution qu’aux groupes autorisés.