Projet

Général

Profil

Evolution #1812

Modifications du module plugins

Ajouté par Marc Leygnac il y a presque 14 ans.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Catégorie:
Autre
Version cible:
Début:
13/06/2010
Echéance:
% réalisé:

0%

Temps estimé:
Resolution:

Description

1. mod_plugins/traiterRequetes.class.php (r 4465)

Dans la révision 4465 du fichier traiterRequetes.class.php en ligne 58 la fonction DELETE a été supprimée de la liste. Or cette fonction peut être appelée lors de la désinstallation d'un plugin, par exemple pour supprimer une entrée dans la table setting, entrée qui aurait été créée à l'installation du plugin.

De plus le filtrage des requêtes (verifRequete($requete)) est un peu illusoire, ou alors il faudrait également vérifier toutes les requêtes contenues dans les scripts du plugin, et comme ces requêtes peuvent être générées dynamiquement c'est pratiquement impossible. C'est de la responsabilité de l'administrateur GEPI de s'assurer de l'innocuité des plugins qu'il installe.

2. mod_plugins/index.php (r 4444)

Il serait intéressant qu'à l'installation d'un plugin des initialisations puissent être exécutées (par exemple remplir une table crée par le plugin), et de même à la désinstallation (par exemple pour annuler des modifications apportées aux données GEPI).

On peut imaginer que le développeur puisse coder des scripts initialize.php et terminate.php qui seraient donc contenus dans le dossier du plugin et qui, s'ils existent, seraient exécutés respectivement à l'installation et à la désinstallation.

Pour cela il suffirait d'ajouter
if (is_file($nom_plugin."/initialize.php")) include($nom_plugin."/initialize.php");
après la ligne 89 (if ($testXML->getReponse() === true){)
et
$nom_plugin=$pluginAmodifier->getNom(); if (is_file($nom_plugin."/terminate.php")) include($nom_plugin."/terminate.php");
après la ligne 123 ($traitement_requetes = new ...)

Le traitement des requêtes (lignes 95 et 123 $traitement_requetes...) deviendrait inutile mais serait à conserver pour compatibilité ascendante.

Aucune donnée à afficher

Formats disponibles : Atom PDF