Cet article explique comment ajouter des modules dans les panneaux de contrôle administrateur, modérateur et utilisateur.
Si vous n'ajoutez pas une page entière, sautez cette partie. Le module dans phpBB est une simple page que l'on rajoute au panneau de contrôle. Nous allons créer cette page.
Le nom du fichier est habituellement le nom de la catégorie du module (ex: acp), suivi d'un underscore ("_") puis du nom du module puis l'extension. Exemple: acp_foobar.php
. Le fichier est placé dans includes/{MODULECLASS}
, {MODULECLASS}
serait acp, mcp ou ucp
Le fichier a l'en-tête habituelle:
<?php /** * * @package {PACKAGENAME} * @version $Id: $ * @copyright (c) 2008 {COPYRIGHT_HOLDER} * @license http://opensource.org/licenses/gpl-license.php GNU General Public License */ /** * @ignore */ if (!defined('IN_PHPBB')) { exit; }
{PACKAGENAME}: Au choix acp, mcp ou ucp.
{COPYRIGHT_HOLDER}: Vous.
et ensuite la classe:
<?php /** * @package {PACKAGENAME} */ class {CLASSNAME} { var $u_action; var $tpl_path; var $page_title; function main($id, $mode) { } }
{CLASSNAME}: Le même que le nom du fichier, sans l'extension, par exemple acp_foobar
.
Propriétés :
$u_action
: Chemin vers le module actuel, y compris l'identifiant de session. Cette propriété est initialisée automatiquement. Exemple: ./index.php?i=foobar&sid={SESSION_ID}&mode=bar
$tpl_path
: Nom du fichier de template, sans extension, doit être initialisée par le module. Exemple: acp_foobar
$page_title
: Titre de la page, initialisée dans le module.
$module_path
: Dossier où sont contenus les fichiers du module. Initialisée automatiquement. Exemple: ./includes/acp
Si vous ajoutez un fichier complet, vous aurez besoin de créer votre propre fichier d'informations. Si vous modifiez un module existant, vous aurez besoin d'éditer le fichier existant. Le fichier d'informations devra être placé dans le dossier includes/{MODULECLASS}/info
, et avoir le même nom de fichier que le fichier de module. Exemple: includes/acp/info/acp_foobar.php
.
L'en-tête du fichier est la même que le fichier de module. La classe devrais ressembler à ceci:
<?php /** * @package {PACKAGENAME} */ class mcp_foobar_info { function module() { return array( 'filename' => 'mcp_foobar', // Le nom du fichier du module 'title' => 'MCP_FOOBAR', // La chaine du packe de langue qui correspond au titre 'version' => '1.0.0', // La version du module 'modes' => array( // This is where you add the mode(s) 'foo' => array('title' => 'MCP_FOOBAR_FOO', 'auth' => 'acl_m_foo', 'cat' => array('MCP_FOOBAR')), // Le mode est 'foo', le titre est $user->lang['MCP_FOOBAR_FOO'], la permission nécessaire est 'acl_m_foo'; la chaine du pack de langue est MCP_FOOBAR 'bar' => array('title' => 'MCP_FOOBAR_BAR', 'auth' => 'acl_m_bar,$id', 'cat' => array('MCP_FOOBAR')), // La permission nécessaire est 'acl_m_bar' sur le forum avec l'identifiant courant ($id) ), ); } function install() { } function uninstall() { } }
Exemple du PCA
Allez dans le PCA -> Système -> Gestion des modules -> Panneau de contrôle de l'Administrateur .
Cela vous amène aux la catégories (les plus hautes) du PCA. Pour ajouter un nouvelle catégorie de niveau supérieur, tapez le nom de la catégorie ou la chaine du pack de langue dans le champ au bas de la page et cliquez sur "Créer".
Dans les options de votre catégorie, assurez vous de sélectionner "Type: Catégorie", "Parent: Aucun" (ou la catégorie parente que vous voulez), "Module activé: Oui"
La nouvelle catégorie ne s'affichera pas jusqu'à ce qu'il ai des modules actifs à l'intérieur.
Allez dans le PCA -> Système -> Gestion des modules -> Panneau de Contrôle de l'Utilisateur
Cela vous donne les catégories du PCU. Cliquez sur la catégorie où vous voulez ajouter le module. A présent, tapez dans la zone de saisie le nom ou la chaîne dans le pack de langue.
Sélectionnez:
Type de module : Module
Module activé : Oui
Module affiché : Oui
Maintenant, sélectionnez un module dans le menu déroulant. Ce menu déroulant liste tous les modules contenus dans le dossier /includes/ucp/info/
.
Validez, et c'est terminé !
Source: phpbbmoders