Ce tutoriel va vous apprendre à créer une page dans l'administration de phpBB2 et à la rajouter dans son menu.
Dans phpBB, le contenu du Panneau de Contrôle de l'Administrateur (ACP) est généré dynamiquement chaque fois qu'il est visité. Le dossier admin/ est parcouru et sont récupérés tous les fichiers commençant par admin_. Ces fichiers sont ensuite inclus dans le script qui crée le menu. Pour apparaître dans le menu (et prévenir les erreurs), les premières lignes du script doivent être les suivantes :
<?php define('IN_PHPBB', 1); if( !empty($setmodules) ) { $filename = basename(__FILE__); $module['Section_Name']['Menu_Text'] = $filename; return; }
Où Section_Name
est le nom de l'entrée dans le pack de langue qui sera utilisé dans la légende de la section où la page sera affichée. Menu_Text
est encore une fois l'entrée du pack de langue qui sera utilisé comme lien vers la page.
Ces valeurs doivent être définies comme entrées dans le pack de langue, dans le fichier lang_admin.php
comme suit. Si aucune entrée du pack de langue ne correspond, alors le texte demandé sera affiché, mais en principe une entrée dans le pack de langue devrais être utilisée pour pouvoir traduire facilement votre MOD dans d'autres langages.
<?php $lang['Section_Name'] = 'Your Section Name Here'; $lang['Menu_Text'] = 'Your Menu Item Text Here';
Si votre page doit être employée pour plusieurs actions différentes et que vous souhaitez pouvoir avoir de multiples entrés dans le menu, vous pouvez faire ceci en ajoutant des lignes supplémentaires à $module comme montré ci-dessous.(Notez que le nom de section pour chaque entrée n'a pas besoin d'être identique)
<?php define('IN_PHPBB', 1); if( !empty($setmodules) ) { $filename = basename(__FILE__); $module['Section_Name']['Menu_Text1'] = $filename . "?mode=user"; $module['Section_Name']['Menu_Text2'] = $filename . "?mode=group"; return; }
En suivant ce code qui détermine la position de la page dans le menu, vous devrez inclure les éléments suivants au minimum pour vous assurer que tous les fichiers communs de l'administration sont inclus et prêts à être utilisés dans la partie principale de la page. Ces entrées assurent que seuls les administrateurs seront capables d'accéder à la page et que toutes les variables par défaut seront déclarées.
<?php // // Load default header // $no_page_header = TRUE; $phpbb_root_path = './../'; require($phpbb_root_path . 'extension.inc'); require('./pagestart.' . $phpEx);
En suivant ceci, vous pouvez coder la page comme si vous codiez n'importe quelle page dans phpBB, avec toutes les variables par défaut disponibles pour l'utilisation. Un point final à noter, vous devrez vous assurer que les URL générées par votre page (ou qui lui sont envoyées) sont passées à travers la fonction append_sid() comme mesure de sécurité. Dans le cas contraire, votre script pourrais ne pas se comporter comme vous l'attendiez.
Source: www.phpbb.com