Projet

Général

Profil

Actions

Plugin » Historique » Révision 8

« Précédent | Révision 8/21 (diff) | Suivant »
Anonyme, 23/06/2009 12:20


''Ce module est en plein développement (page de travail)'' {{{
$niveau_arbo = "2";
// Initialisations files (Attention au chemin des fichiers en fonction de l'arborescence)
include("../../lib/initialisationsPropel.inc.php");
include("../../lib/initialisations.inc.php");
include("../plugins.class.php");

= '''Coder son propre plugin pour Gepi''' =
[[BR]]
[[BR]]
- Chaque plugin sera stocké dans un répertoire qui porte son nom qui sera installé dans le répertoire plugins de Gepi. Le nom du répertoire ne devra comporter aucun point ni accent et les espaces seront remplacés par un tiret bas "_".[[BR]]
- Chaque plugin sera composé au minimum d'une page index.php et d'un fichier plugin.xml qui sera utilisé pour son installation.[[BR]]
- La gestion des droits sera contrôlée en interne par une méthode verifDroits() qui testera la table `plugin_autorisations` pour éviter l'écrasement des droits à chaque mise à jour.
- Il faudra regarder sur la gestion des sessions (la classe est dans /lib) pour permettre de ne pas tester la table `droits`
[[BR]]
[[BR]]
Contenu des fichiers des plugins
[[BR]]
- Pour conserver un minimum de sécurité et une struture commune aux plugins, chaque fichier devra commencer par les vérifications d'usage : session, droits des utilisateurs et si le plugin est ouvert.[[BR]]
- Quelque chose comme cela sera proposé : [[BR]]

// Resume session
$resultat_session = $session_gepi->security_check();
if ($resultat_session == 'c') {
header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes");
die();
} else if ($resultat_session == '0') {
header("Location: ../logout.php?auto=1");
die();
}

// Il faut adapter cette ligne au statut des utilisateurs qui auront accès à cette page, par défaut des utilisateurs professionnels
$utilisateur = UtilisateurProfessionnelPeer::retrieveByLogin($_SESSION["login"]);
$user_auth = new gepiPlugIn("nom_plugin");
$user_auth->verifDroits();
}}}
BR
Struture du fichier xml
BR
<gepinstall type="plugin">
<nom>nom_du_plugin</nom>BR
<creationDate>mois Année</creationDate>BR
<auteur>Jean de la Courte</auteur>BR
<licence>GNU/GPL</licence>BR
<auteurCourriel></auteurCourriel>BR
<auteurSite>BR">www.jdlc.fr&lt;/auteurSite&gt;[[BR</a>
<version>1.0</version>BR
<versiongepi>1.5.2</versiongepi>BR
<description>Test de plugin</description>BR
BR
<installation>BR
<requetes>BR
<requete>BR
CREATE TABLE IF NOT EXISTS `test_plugin` ( `id` int(11)
NOT NULL auto_increment, `name` varchar(100) NOT NULL
default '', PRIMARY KEY (`id`) )
TYPE=MyISAM;
</requete>BR
</requetes>BR
</installation>BR
<desinstallation>BR
<requetes>BR
<requete>DROP TABLE `test_plugin`;</requete>BR
</requetes>BR
</desinstallation>BR
BR
<administration>BR
<fichier>BR
<nomfichier autorisation="A-P-C-S-sec-E-R-autre">index.php</nomfichier>BR
<nomfichier autorisation="A-S">fonctions_plugin.php</nomfichier>BR
<nomfichier autorisation="P-C-autre">testeur_user.php</nomfichier>BR
</fichier>BR
<menu>BR
<item autorisation="A" titre="Lister" description="Accéder au plugin TEST_PLUGIN">index.php</item>BR
<item autorisation="P-C-autre" titre="Lister" description="Afficher la liste des utilisateurs testeurs">testeur_user.php</item>BR
</menu>BR
</administration>BR
BR
</gepinstall>BR

Mis à jour par il y a presque 15 ans · 8 révisions