You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2005-11-10 09:49:58

fo_brice
Member
From: Strasbourg
Registered: 2005-11-09
Posts: 4

Ecriture de Plugin

Bonjour,

Je suis en train de travailler sur des solutions pour la gestion de parc informatique de l'université où je travaille.
J'avais découvert OCS NG ( que l'on utilise depuis peu),  et pas plus tard qu'hier le plugin qui faisait la liaison en GLPI ( dont j'avais déjà entendu parlé ) et OCS.
Sans plus attendre, j'ai projeté d'adopter les 2 et de me concenter sur GLPI pour créer un espace de travail pour les techniciens.

Cependant, je souhaite écrire un plugin pour la gestion des achats ( qui est assez particulière dans notre organisation ). J'ai vu que pour intégrer les menus et toutes la variable d'environnement, il fallait lancer la fonction commonHeader().
Seulement voila: la fonction renvoi à la fois la partie située entre <head></head> et une partie de <body>, ce qui empeche d'integrer de nouveaux styles ou des fichiers javascript.
J'ai donc repris cette fonction et l'ai divisée en 2 fonctions: l'une ( commonHeader2()  pour le <head> sans le fermer pour que l'on puisse le compléter ( le script qui l'utilise devra le fermer ) et une fonction commonMenu() que l'on lance après le <body> qui est chargée de générer le menu standart de GLPI. Pour ne pas trop altérer le code de GLPI je les ai intégrées dans un fichier fonctions-plugins.php et j'ai fait un include dans fonctions.php.

Je voulais savoir s'il existait une solution pour écrire des plugins autrement. Sinon, ne pourrait-on pas ajouter des fonctions spécifiques à l'écriture de plugins?

Merci d'avance.
Bonne journée.

Offline

#2 2005-11-16 16:40:32

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Ecriture de Plugin

Vous pouvez tres bien ajouter du javascript en dehors du <head>.
Il faut juste qu'il soit defini avant de l'utiliser.


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#3 2005-11-16 20:18:26

JMD
GLPI - Lead
Registered: 2004-09-13
Posts: 9,180
Website

Re: Ecriture de Plugin

Sinon, ne pourrait-on pas ajouter des fonctions spécifiques à l'écriture de plugins?

Pourquoi pas mais quoi ?


JMD / Jean-Mathieu Doléans - Glpi-project.org - Association Indepnet
Apportez votre pierre au  projet GLPI   : Soutenir

Offline

#4 2005-11-17 13:35:59

fo_brice
Member
From: Strasbourg
Registered: 2005-11-09
Posts: 4

Re: Ecriture de Plugin

Bonjour,
        Tout d'abord, merci pour vos réponses et vos développements.

        MOYO> Je sais que je suis assez "strict" sur le code HTML  mais il me semble qu'on ne peut pas intégrer ( d'après la norme ) de javascript hors du <head>. Et mon autre problème était que j'avais une feuille de style à ajouter en plus de la feuille de style de votre application.
       JMD> Pour que le plugin soit intégré au mieux, pourquoi ne pas prévoir une fonction pour l'entête, une pour le menu standart ( comme je l'ai décris plus haut ), et des fonctions pour séléctionner un objet précis ( comme une machine ), un genre d'interface qui dispenserais de faire des requetes SQL. Je sais que ça ajouterais un certain nombre de fonctions, je vais voir ce que je peux faire et je vous tiens au courant.

Merci encore et bonne journée.

Offline

#5 2006-09-24 21:49:29

luxigo
Member
Registered: 2006-09-24
Posts: 3

Re: Ecriture de Plugin

J'ai le même problème:

J'écris une application web dynamique qui n'est pas spécifiquement un plugin pour GLPI mais que je veux également pouvoir intégrer à GLPI.

Je dois pouvoir définir des variables et des fonctions globales dans le <HEAD> pour que cela fonctionne sans problèmes de scope

Pour cela il faudrait pouvoir inclure du code HTML dans le <HEAD> d'une manière ou d'une autre.

Merci d'avance smile

Last edited by luxigo (2006-09-24 22:41:40)

Offline

#6 2006-09-25 04:16:04

luxigo
Member
Registered: 2006-09-24
Posts: 3

Re: Ecriture de Plugin

--- glpi/common/functions_display.php.orig      2006-09-25 03:57:48.855962968 +0200
+++ t   2006-09-25 04:01:55.563457728 +0200
@@ -108,6 +108,9 @@
        // Start the page
        echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
        echo "\n<html><head><title>GLPI - ".$title."</title>";
+       if (func_num_args()==3) {
+               include(func_get_arg(2));
+       }
         echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8 \" >";
        // Send extra expires header if configured
        if ($cfg_glpi["sendexpire"]) {

Offline

#7 2006-09-25 04:58:35

luxigo
Member
Registered: 2006-09-24
Posts: 3

Re: Ecriture de Plugin

ou mieux:

$ext = pathinfo(func_get_arg(2), PATHINFO_EXTENSION);
if (strtolower($ext) == 'php') {
  include(func_get_arg(2));
} else {
  readfile(func_get_arg(2));
}

Offline

Board footer

Powered by FluxBB