Fr Plugin083to084¶
divers¶
GLPI utilise désormais l'extension mysqli. Aucune fonction mysql_* ne doit donc être appelée directement. Dans tous les cas il est préférable de passer par les méthodes de $DB.
Changement des appels de constantes¶
CSV_OUTPUT => Search::CSV_OUTPUT
FIRSTNAME_BEFORE => User::FIRSTNAME_BEFORE
GLOBAL_SEARCH => Search:GLOBAL_SEARCH
GLOBAL_SEARCH_ DISPLAY_COUNT => Search::GLOBAL_DISPLAY_COUNT
HELPDESK_ALL_HARDWARE => Ticket::HELPDESK_ALL_HARDWARE
HELPDESK_MY_HARDWARE => Ticket::HELPDESK_MY_HARDWARE
HTML_OUTPUT => Search:: HTML_OUTPUT
PDF_OUTPUT_LANDSCAPE => Search:: PDF_OUTPUT_LANDSCAPE
PDF_OUTPUT_PORTRAIT => Search:: PDF_OUTPUT_PORTRAIT
REALNAME_BEFORE => User::REALNAME_BEFORE
SYLK_OUTPUT => Search::SYLK_OUTPUT
Ticket::REQUESTER => CommonITILActor::REQUESTER
Ticket::OBSERVER => CommonITILActor::OBSERVER
Ticket::ASSIGN => CommonITILActor::ASSIGN
Changement des statuts¶
Les constantes sont définies dans CommonITILObject, mais il est préférable d'utiliser les fonctions définies dans l'objet
(getNewStatutArray(), getSolvedStatut()...)
new => INCOMING
assign => ASSIGNED
plan => PLANNED
waiting => WAITING
solved => SOLVED
closed => CLOSED
accepted => ACCEPTED
observe => OBSERVED
GLPI_ROOT¶
Il n'est plus nécessaire de définir la constante GLPI_ROOT dans chaque page, c'est désormais définis dans includes.php
Donc au lieu de
define('GLPI_ROOT', '../../..'); include (GLPI_ROOT . "/inc/includes.php");
Il suffit de faire :
include ('../../../inc/includes.php');
Hook supprimés¶
- headings
- headings_action
Voir Migration 0.80 vers 0.83 (Définition des onglets)
Tables supprimées¶
- glpi_entitydatas => champs repris dans la table glpi_entities
Fonctions supprimées¶
- Toutes les fonctions utiles de la class Entitydata ont été reprises dans la class Entity
- ShowNotesForm (class Entity)
- Dropdown::dropdownTypes($name, $value='', $types=array(), $used=array()) => Dropdown::showItemTypes($name, $types=array(), $options=array())
Fonctions ajoutées¶
- CommonDBTM::initForm($ID, $options) : permet la chargement de l'item, le controle des droits, et éventuellement la récupération des données sauvegardées (échec de l'ajout précedent). A utiliser en début du showForm()
- $DB->escape($str) doit être impérativement utilisé à la place des fonctions mysql_escape_string ou mysql_real_escape_string
Fonctions modifiées¶
- La fonction showFormHelpdesk de la class Ticket n'est plus une fonction statique
- changement de prototype de getName / getNameID et getLink. Ajout getNameField / getCompleteNameField / getPreAdditionalInfosForName / getPostAdditionalInfosForName
- Fonctions obligatoirement statiques : getIndexName(), canCreate(), canView()
- Dropdown::show('Class1',..) peut remplacé par Class1::dropdown
Enregistrement d'un événement géré par le plugin sur un objet du coeur¶
Enregistrement¶
$changes = array(0, "old value", "new value"); Log::history($items_id, $itemtype, $changes, $pluginitemtype, $action);
$itemtype + items_id => référence de l'objet concerné
$changes => changements
$pluginitemtype => le nom de la classe qui gère l'affichage (qui implémente la méthode getHistoryEntry)
$action => numéro de l'action, doit être >= Log::HISTORY_PLUGIN
Affichage¶
La méthode qui gère l'affichage doit implémenter la méthode getHistoryEntry, qui reçoit en entrée les données de la table glpi_logs et doit fournir la libellé du changement.
static function getHistoryEntry($data);
Example : https://forge.indepnet.net/projects/example/repository/revisions/192