Skip to content
Alexandre Delaunay edited this page Nov 19, 2015 · 1 revision

MySQL

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.

Constant changes

old new
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

Status changes

Les constantes sont définies dans CommonITILObject, mais il est préférable d'utiliser les fonctions définies dans l'objet (getNewStatutArray(), getSolvedStatut()...)

old new
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');

Deleted Hook

  • headings
  • headings_action

See 0.80 to 0.83 migration (Tabs definition)

Deleted tables

  • glpi_entitydatas => merged in glpi_entities table

Deleled functions

  • 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

h3. 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

h3. 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