Skip to main content

GLPI Plugin programmieren

Einleitung

In dieser und weiter Anleitung werden wir ein Plugin fürfür GLPI schreiben. Das Plugin wird dann in der Plugin ÜbersichtÜbersicht angezeigt. Weitere Funktionen fügenfügen wir in anderen Anleitungen hinzu.

Mithilfe von Plugins könnenkönnen wir unsere Anwendung anpassen und weitere FunktionalitätenFunktionalitäten hinzufügenhinzufügen, damit die Software unseren Anforderungen gerecht wird. 

setup.php & hook.php

In dieser Anleitung werden wir die setup.php und die hook.php einrichten. Diese beiden Dateien sind eine der wichtigsten. Anhand dieser Dateien werden die Plugins identifiziert und installiert als auch späterspäter wieder deinstalliert. 

Zuerst wechseln wir in das plugin Verzeichnis unseres GLPI-Servers. Dort erstellen wir einen Ordner mit dem Namen unseres Plugins. Wir nennen unser Plugin debitors

Mit dem Plugin soll es Möglichmöglich seinsein, Debitoren hinzuzufügenhinzuzufügen und diese späterspäter mit bestimmten Daten zu verknüpfen.verknüpfen.

In dem Verzeichnis erstellen wir eine Datei mit dem Namen setup.php. Dort fügenfügen wir folgendes Code GerüstGerüst ein.

<?php
    // Definiere Variablen mit Plugin Informationen
    define("PLUGIN_NAME", "Debitoren");
    define("VERSION_NUMBER", "1.0.0");
    

    // Erstelle Initialisierungsfunktion des Plugins
    function plugin_init_Debitors()
    {
        global $PLUGIN_HOOKS;
        $PLUGIN_HOOKS['csrf_compliant']['Debitors'] = true;
    }

    // Definiere Plugin Informationen
    function plugin_version_debitors()
    {
        return array(
            "name"  =>  PLUGIN_NAME,
            "version" => VERSION_NUMBER,
            "author"=>  "DEIN NAME",
            "license" => "LIZENZ",
            "homepage" => "DEINE WEBSITE",
            "minGlpiVersion" => "VERSIONS ANFORDERUNG"
        );
    }
    
    //Überprüfe ob Anforderungen für das Plugin erfüllt sind
    function plugin_debitors_check_prerequisites()
    {
        if(version_compare(GLPI_VERSION, '10', 'eq') || version_compare(GLPI_VERSION, '10', 'gt'))
        {
            return true;
        } else {
            echo "Das Plugin benötigt die Version 10.0.0 | Installiert ist Version: " . GLPI_VERSION;
            return false;
        }
    }

    //Überprüfe ob die Konfiguration übereinstimmt
    function plugin_debitors_check_config()
    {
        return true;
    }
?>

In der Datei brauchen wir nur noch den Namen, und die anderen Informationen ändern.ändern. Diese Informationen werden dann im Plugin MenüMenü angezeigt. Im weiterenWeiteren könnenkönnen wir in der check_prerequisites Funktion die Anforderungen an das System ÜberprüfenÜberprüfen, ob das Plugin überhauptüberhaupt installiert werden darf. 

Als letzten Schritt fürfür dieses Kapitel,Kapitel erstellen wir eine Datei mit dem Namen hook.php. In diese Datei fügenfügen wir folgenden Inhalt ein:

<?php
    function plugin_debitors_install()
    {
        return true;
    }

    function plugin_debitors_uninstall()
    {
        return true;
    }

In diesen Funktionen könnenkönnen wir sämtlichensämtlichen Code hineinschreibenhineinschreiben, der ausgeführtausgeführt wirdwird, wenn wir das Plugin installieren oder deinstallieren. 

Wenn wir jetzt das Plugin MenüMenü aufrufen, könnenkönnen wir unser Plugin sehen und installieren.