Outils pour utilisateurs

Outils du site


lumo:creation_complete_du_plugin_dokuwiki

Ceci est une ancienne révision du document !


Création complète du plugin DokuWiki

Structure du Plugin

/lib/plugins/bashexec/
├── action.php          # Gestion des actions et appels
├── syntax.php          # Syntaxe pour l'insertion dans les pages
├── helper.php          # Fonctions utilitaires
├── script.sh           # Votre script bash (optionnel)
└── manifest.ini        # Métadonnées du plugin

1. manifest.ini

code ini

2. helper.php (Fonctions utilitaires)

code php- <code php> <?php /** * Helper class for Bash Exec Plugin */ class helper_plugin_bashexec extends DokuWiki_Plugin { /** * Validation stricte des arguments */ public function validateArgument($arg) { // Autorise uniquement alphanumérique, tirets et underscores if (!preg_match('/^[a-zA-Z0-9_-]{1,50}$/', $arg)) { return false; } return true; } /** * Validation du chemin du script */ public function validateScriptPath($path) { $allowedPaths = array( DOKU_PLUGIN . 'bashexec/scripts/', '/usr/local/bin/' ); foreach ($allowedPaths as $allowed) { if (strpos($path, $allowed) === 0) { return true; } } return false; } /** * Journalisation des exécutions */ public function logExecution($script, $args, $returnCode, $user) { $logFile = DOKU_LOG . '/bashexec.log'; $timestamp = date('Y-m-d H:i:s'); $entry = sprintf( "[%s] User: %s

3. syntax.php (Syntaxe dans les pages wiki)

3. syntax.php (Syntaxe dans les pages wiki)

lumo/creation_complete_du_plugin_dokuwiki.1773311303.txt.gz · Dernière modification : de estro

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki