Table des matières

Nomenclature des fichiers des plugins

Structure générale d'un plugin

ROOT :

Note :

Chaque fichier *.php, *.js ou *.css doit comporter en entête, le bloc de la licence choisie pour distributer le plugin. Si aucune licence n'est présente, la propriété intellectuelle s’applique de la manière la plus restrictive et ne permet pas le réemploi/modification du code sans l’autorisation expresse de l’auteur.

Nomenclature des fichiers contenu dans le répertoire inc/

Lorsque vous créez une classe, veillez à ce qu'elle soit le plus explicite possible. Par exemple, un plugin dont le nom est « monSuperPlugin » utilise sa propre classe afin de définir un objet qui lui est propre. Le nom du fichier sera alors :

Si votre classe étend des fonctions internes à Dotclear, on l'appellera une librairie. Par exemple, vous avez besoin de créer des listes dans l'administration du plugin « monSuperPlugin ». Le nom de la classe sera « monSuperPluginList » et le nom du fichier sera alors :

Pour charger ces classes, vous pouvez utiliser l'auto-chargement des classes de PHP, en plaçant ce code dans le fichier _prepend.php :

global $__autoload;
$__autoload['monSuperPlugin'] = dirname(__FILE__).'/inc/class.mon.super.plugin.php';

Vous pouvez aussi utiliser l'inclusion de fichiers :

require_once(dirname(__FILE__).'/inc/class.mon.super.plugin.php');

Protection des fichiers

Pour éviter que les fichiers PHP soient exécutés en dehors de Dotclear, on peut ajouter une vérification au début des fichiers.

Pour les fichiers lus seulement côté administration :

On ajoute le code suivant :

if (!defined('DC_CONTEXT_ADMIN')) {return;}

Pour les autres fichiers :

On ajoute :

if (!defined('DC_RC_PATH')) {return;}