GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.

Last update: Aug 9, 2022

GLPI Logo

GLPI CI Github All Releases Twitter Follow

About GLPI

GLPI stands for Gestionnaire Libre de Parc Informatique is a Free Asset and IT Management Software package, that provides ITIL Service Desk features, licenses tracking and software auditing.

GLPI features:

  • Inventory of computers, peripherals, network printers and any associated components through an interface, with inventory tools such as: FusionInventory or OCS Inventory
  • Data Center Infrastructure Management (DCIM)
  • Item lifecycle management
  • Licenses management (ITIL compliant)
  • Management of warranty and financial information (purchase order, warranty and extension, damping)
  • Management of contracts, contacts, documents related to inventory items
  • Incidents, requests, problems and changes management
  • Knowledge base and Frequently-Asked Questions (FAQ)
  • Asset reservation

Moreover, GLPI supports many plugins that provide additional features.

Demonstration

Check GLPI features by asking a free personnal demonstration on glpi-network.cloud

License

license

It is distributed under the GNU GENERAL PUBLIC LICENSE Version 2 - please consult the file called COPYING for more details.

Some screenshots

Tickets Timeline

Tickets Timeline

DCIM drag&drop

DCIM drag&drop

Components

Components

Prerequisites

  • A web server (Apache, Nginx, IIS, etc.)

  • MariaDB >= 10.0 or MySQL >= 5.6

  • PHP 7.2 or higher

  • Mandatory PHP extensions:

    • ctype
    • curl
    • gd (picture generation)
    • iconv
    • intl
    • json
    • mbstring
    • mysqli
    • session
    • simplexml
    • zlib
  • Recommended PHP extensions (to enable optional features)

    • exif (security enhancement on images validation)
    • imap (mail collector and users authentication)
    • ldap (users authentication)
    • openssl (encrypted communication)
    • sodium (performances enhancement on sensitive data encryption/decryption)
    • zip and bz2 (installation of zip and bz2 packages from marketplace)
  • Supported browsers:

    • Edge
    • Firefox (including 2 latests ESR version)
    • Chrome

Please, consider using browsers on editor's supported version

Download

See :

Documentation

Here is a pdf version. We are working on a markdown version

Additional resources

Support

GLPI is a living software. Improvements are continuously made, new functionalities are being developed, and issues are being fixed.

To ease support and development, we need your help when encountering issues. There is a GLPI version typical lifecycle:

  • A new major version (9.3) is released.
  • Minor versions (9.3.x), fixing bugs or issues, are published after several weeks. Please consider updating to the latest realeased minor version if you encounter some bugs or performance issues.
  • Several months after major version realesed, a new major version (9.4) is released Previous major versions become unsupported, please update to the new major version. Obviously, we provide support for the migration tools too!

GitHub

https://github.com/glpi-project/glpi
Comments
  • 1. [0.90.1] Upload document not working with Internet Explorer 11

    Hi,

    The upload of a document not working with Internet Explorer 11.

    If i configure IE in "IE 9" compatibility mode, the upload working, the document upload succefully. If i let IE in "Edge" compatibility mode the document never upload :

    Upload progress Upload finish

    Same issue with IE in "IE 10" compatibility mode. The upload seems to not working with Internet Explorer version > 9.

    I use Internet Explorer 11 in Windows 7 64 bits.

    Thanks to solve it

    ++

    Reviewed by barbuslex at 2015-12-16 12:58
  • 2. Security die. trying to load an forbidden class name

    Hello

    when I go in a ticket and historical I have this message :

    Security die. trying to load an forbidden class name

    And nothing appears

    The same when I create a new task in the ticket, if I refresh the page the task appears

    Reviewed by satyan01 at 2016-01-28 13:07
  • 3. after update from 90.3 to 9.1 i lost network objects

    hello! anyway, objects still alive: i can find it by http://prntscr.com/c565i1 and so on: http://prntscr.com/c565q0 but in networks directory targetly: http://prntscr.com/c564zy they are don't.

    Reviewed by Zegordo at 2016-08-13 09:43
  • 4. 0.91 lock mechanism

    Lock Mechanism implementation (fixes #54):

    Added a new right: UNLOCK in define.php Changed back modifications on Html::convDate() as it is needed! And added a new $format=null parameter to Html::convDateTime() to allow format of datetime. Deleted a number (4204) that was in javascript block in Html::initEditorSystem() (line 3873) Added case "0.90.1" in cliupdate.php to be able to perform update to 0.91 within console Commented out a new Followup in ticket.class.php (used no where)

    Reviewed by tomolimo at 2016-01-08 07:16
  • 5. Latencies on GLPI

    in my prod 0.85.2 I have sometimes latencies on GLPI, and it is the same thing with 0.91. Have you any idea ?

    latencies at logon - in all module, never at the same time, nothing in logs, nothing on mysql, I have tried many things to improve but without success

    0.85.2 - xamp - apache 2.4.13 - php 5.5 0.91 - apache 2.4.17 - php 7.02

    Reviewed by satyan01 at 2016-02-18 14:42
  • 6. GLPI LDAP Mass Sync doesn't load thumbnails

    Using GLPI 0.91 and GLPI LDAP Mass Sync. The users's thumbnails (users's pictures) are not loaded into GLPI. We must force synchronization to get them.

    Reviewed by tomolimo at 2016-02-11 16:01
  • 7. the GLPI Network registration key can not be saved and retruns a blank Page

    Describe the bug The GLPI Network registration key can not be saved and stored. Clicking over the button "save" in /Home/Setup/Plugins/General/GLPI Network/Registration key, returns a blank page without displaying any error, and the content in the database of the field glpinetwork_registration_key in the table glpi_configs is empty.

    Version: GLPI 9.5.5 and 9.5.6 and 9.5.7 URL: /front/config.form.php?forcetab=GLPINetwork%241

    bug_key_registration

    Reviewed by edupulpillo at 2021-04-17 14:36
  • 8. strange recurrent SQL error

    Hello team, I have a strange bug with GLPI 9.1. Extract from sql-errors.log :

    2016-11-09 08:51:02 [@glpi] *** MySQL query error: SQL: INSERT INTO glpi_ticketfollowups (content,tickets_id,users_id,requesttypes_id,is_private,date,date_creation,date_mod) VALUES ('Bonsoir,\nJe vous réponds pour vous donner la réponse à ma question secrète : xxxx,\nSi je me suis trompé, pourriez vous quand même envoyer l'identifiant sur la boite laposte.net ? \nVous remerciant d'avance,\nCordialement,\nA. François\n\nLe 4 novembre 2016 à 22:22, <[email protected]> a écrit :\n\n \n\n','2602','0','0',0,'2016-11-09 08:51:01','2016-11-09 08:51:01','2016-11-09 08:51:01')

    As you can see, the value of the field "is_private" is not delimited by simple quotes. There is a new line in sql-erros.log every 5 minutes (this is the time-step I choosed for cron) since #4 of november.

    So I have 2 or 3 questions :

    1. why is this request malformed ? It's the only one of this sort in sql-errors.log
    2. why is GLPI still trying to insert this request after several trials ? Isn't there a time-out for such errors ? Today, I have 1033 trials !
    3. I have restarted Apache, and even rebooted the server, thinking of something like a cache. No way, GLPI is still trying to insert this wrong request. Where is it stored ? How can I delete this request ?

    Sincerely, Valéry config_GLPI.txt

    Reviewed by vrocheUP at 2016-11-09 08:04
  • 9. Add kanban view to projects

    | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | -

    Add Kanban view for projects.

    Related: Note on GitHub roadmap UserEcho Request

    • [x] Display card counts per board (Needs to dynamically update when dragging or adding items)
    • [x] Add items from Kanban
    • [x] Show user/team badges on cards
    • [x] Add type, milestone, and progress to card content
    • [x] Global Kanban view
    • [x] Collapsible boards
    • [x] Plugin hooks for adding content to cards before and after the main content (Specifically thinking about the Tags plugin).

    Screenshot from 2019-09-17 04-32-09 Screenshot from 2019-09-17 04-32-35

    Reviewed by cconard96 at 2019-07-30 01:23
  • 10. [9.1RC2][0.90][0.85]Bug with "<" in ticket description

    When creating a ticket ( helpdesk, collector) with description : "le temps de réponse passe de < 1ms à < 200ms" it is ok but when no spaces between < and next caracter then description is truncated : "le temps de réponse passe de <1ms à <200ms" ->bug

    ver 0.85.4 or On line 0.90 DEMO ->bug in 0.83.8 it seems ok

    Reviewed by ladenree76000 at 2015-09-28 07:21
  • 11. [0.90.1] Collecteur Mail : Unknown: Invalid mailbox list

    Nous avons récemment migré en 0.90.1, jusque-là tout vas bien ! Nous utilisons le collecteur mail depuis quelques temps sans difficulté, même après le passage en 0.90.1. Hier intégration du plugin "FormCreator" en version 1.3.3. Depuis ce moment [je pense] le collecteur mail ne fonctionne plus correctement. Dans les logs PHP de GLPI j'ai l'erreur suivante :

    2015-12-22 09:29:06 [[email protected]_DU_SERVEUR] *** PHP Notice(8): Unknown: Invalid mailbox list: your-email Backtrace :

    Coté configuration du collecteur rien a changé, je peux le lancer à la main, il me dit qu'il y'a X e-mails de présent et que la récupération se passe correctement, mais aucun ticket n'est créé. [Nombre de messages : disponibles=3, récupérés=3, refusés=0, erreurs=0, en liste noire=0]

    Coté action automatique, elle fonctionne correctement, la tâche "mailgate" fonctionne correctement.

    Reviewed by SylvainGuibert at 2015-12-22 08:42
  • 12. Collasped sidebar tweaks

    A few minor improvements to the collasped sidebar.

    Before: image

    After: image

    Side by side: image --- image

    The issues that were bugging me with the sidebar were:

    1) Not enough top padding for the logo.

    image

    Now the padding match the padding used for the "non-collapsed" logo: image

    2) The "go to menu" icon didn't match the size of the others icons.

    image

    It was even more noticeable if you swaped the icon for the same as the one below:

    image

    3) Not enough spacing between each menu:

    It felt like the icons were accumulated at the top of the page. They are now spaced a bit more evenly, matching the spacing of the "non-collapsed" menu.

    4) Can't read the active menu:

    I don't think this one was intentional but it definitely needed to be fixed:

    image

    After fix:

    image

    I realize that some of these changes might be subjective, so let me know what you think :)

    | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets |

    Reviewed by AdrienClairembault at 2022-08-12 13:14
  • 13. Import rules (for computers) don't works

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Version

    10.0.2

    Bug description

    I had inventory my ESXi into GLPI. i enabled the option to automatically create VMs from my ESXi but i don't want to import all the VMs of my ESXi. To do so, i created some rules base on the name of my servers that i want to exclude. I created these rules in the computer section below the "computer constrain (name)". I tested my rules successfully and the exclusion is working fine.

    But when i execute my ESXi discovery task, all the VM on my ESXi are created even those i want to exclude :/

    Relevant log output

    No response

    Page URL

    No response

    Steps To reproduce

    1 Create a Computer rules and enable it 2 Add 2 criteria : the type is computer and the name contain VCLS 3 Add 1 action : Link to the inventory is denied 4 Move this rule below the computer constrain rule 5 Import VM from your ESXi through your dedicated task

    Your GLPI setup information

    Informations sur le système, l'installation et la configuration
    GLPI 10.0.2 ( => /var/www/html/glpi)
    Installation mode: TARBALL
    Current language:fr_FR
    
    Server
     
    Operating system: Linux lx9999.saprr.local 4.19.0-21-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
    PHP 8.0.16 apache2handler (Core, FFI, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apache2handler, bz2, calendar, ctype,
    	curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, intl, json, ldap, libxml, mbstring, mysqli, mysqlnd,
    	openssl, pcre, pdo_mysql, posix, readline, session, shmop, sockets, sodium, standard, sysvmsg, sysvsem, sysvshm, tokenizer, xml,
    	xmlreader, xmlwriter, xsl, zip, zlib)
    Setup: max_execution_time="30" memory_limit="128M" post_max_size="8M" safe_mode="" session.save_handler="files"
    	upload_max_filesize="2M" 
    Software: Apache/2.4.38 (Debian) (Apache/2.4.38 (Debian) Server at poc-glpi Port 443
    )
    	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:103.0) Gecko/20100101 Firefox/103.0
    Server Software: MySQL Community Server (GPL)
    	Server Version: 5.7.36
    	Server SQL Mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    	Parameters: [email protected]/glpi
    	Host info: Localhost via UNIX socket
    

    PHP version (8.0.16) is supported. Sessions configuration is OK. Allocated memory is sufficient. mysqli extension is installed. Following extensions are installed: dom, fileinfo, json, simplexml. curl extension is installed. gd extension is installed. intl extension is installed. libxml extension is installed. zlib extension is installed. The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present. Database engine version (5.7.36) is supported. The log file has been created successfully. Write access to /var/www/html/glpi/files/_cache has been validated. Write access to /var/www/html/glpi/config has been validated. Write access to /var/www/html/glpi/files/_cron has been validated. Write access to /var/www/html/glpi/files has been validated. Write access to /var/www/html/glpi/files/_dumps has been validated. Write access to /var/www/html/glpi/files/_graphs has been validated. Write access to /var/www/html/glpi/files/_lock has been validated. Write access to /var/www/html/glpi/files/_pictures has been validated. Write access to /var/www/html/glpi/files/_plugins has been validated. Write access to /var/www/html/glpi/files/_rss has been validated. Write access to /var/www/html/glpi/files/_sessions has been validated. Write access to /var/www/html/glpi/files/_tmp has been validated. Write access to /var/www/html/glpi/files/_uploads has been validated. Web access to the files directory should not be allowed but this cannot be checked automatically on this instance. Make sure access to error log file (/files/_log/php-errors.log) is forbidden; otherwise review .htaccess file and web server configuration. exif extension is installed. ldap extension is installed. openssl extension is installed. zip extension is installed. bz2 extension is installed. Zend OPcache extension is installed. Following extensions are installed: ctype, iconv, mbstring, sodium. Write access to /var/www/html/glpi/marketplace has been validated. Access to timezone database (mysql) is not allowed.

    GLPI constants
     
    GLPI_ROOT: /var/www/html/glpi
    GLPI_CONFIG_DIR: /var/www/html/glpi/config
    GLPI_VAR_DIR: /var/www/html/glpi/files
    GLPI_MARKETPLACE_DIR: /var/www/html/glpi/marketplace
    GLPI_USE_CSRF_CHECK: 1
    GLPI_CSRF_EXPIRES: 7200
    GLPI_CSRF_MAX_TOKENS: 100
    GLPI_USE_IDOR_CHECK: 1
    GLPI_IDOR_EXPIRES: 7200
    GLPI_ALLOW_IFRAME_IN_RICH_TEXT: 
    GLPI_TELEMETRY_URI: https://telemetry.glpi-project.org
    GLPI_INSTALL_MODE: TARBALL
    GLPI_NETWORK_MAIL: [email protected]
    GLPI_NETWORK_SERVICES: https://services.glpi-network.com
    GLPI_MARKETPLACE_ALLOW_OVERRIDE: 1
    GLPI_MARKETPLACE_MANUAL_DOWNLOADS: 1
    GLPI_USER_AGENT_EXTRA_COMMENTS: 
    GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: 1
    GLPI_AJAX_DASHBOARD: 1
    GLPI_CALDAV_IMPORT_STATE: 0
    GLPI_DEMO_MODE: 0
    GLPI_CENTRAL_WARNINGS: 1
    GLPI_DOC_DIR: /var/www/html/glpi/files
    GLPI_CACHE_DIR: /var/www/html/glpi/files/_cache
    GLPI_CRON_DIR: /var/www/html/glpi/files/_cron
    GLPI_DUMP_DIR: /var/www/html/glpi/files/_dumps
    GLPI_GRAPH_DIR: /var/www/html/glpi/files/_graphs
    GLPI_LOCAL_I18N_DIR: /var/www/html/glpi/files/_locales
    GLPI_LOCK_DIR: /var/www/html/glpi/files/_lock
    GLPI_LOG_DIR: /var/www/html/glpi/files/_log
    GLPI_PICTURE_DIR: /var/www/html/glpi/files/_pictures
    GLPI_PLUGIN_DOC_DIR: /var/www/html/glpi/files/_plugins
    GLPI_RSS_DIR: /var/www/html/glpi/files/_rss
    GLPI_SESSION_DIR: /var/www/html/glpi/files/_sessions
    GLPI_TMP_DIR: /var/www/html/glpi/files/_tmp
    GLPI_UPLOAD_DIR: /var/www/html/glpi/files/_uploads
    GLPI_INVENTORY_DIR: /var/www/html/glpi/files/_inventories
    GLPI_NETWORK_REGISTRATION_API_URL: https://services.glpi-network.com/api/registration/
    GLPI_MARKETPLACE_PLUGINS_API_URI: https://services.glpi-network.com/api/glpi-plugins/
    GLPI_I18N_DIR: /var/www/html/glpi/locales
    GLPI_VERSION: 10.0.2
    GLPI_SCHEMA_VERSION: [email protected]
    GLPI_MARKETPLACE_PRERELEASES: 
    GLPI_MIN_PHP: 7.4.0
    GLPI_MAX_PHP: 8.2.0
    GLPI_YEAR: 2022
    
    Libraries
     
    htmlawed/htmlawed version 1.2.6 in (/var/www/html/glpi/vendor/htmlawed/htmlawed)
    phpmailer/phpmailer version 6.6.0 in (/var/www/html/glpi/vendor/phpmailer/phpmailer/src)
    simplepie/simplepie version 1.5.8 in (/var/www/html/glpi/vendor/simplepie/simplepie/library)
    tecnickcom/tcpdf version 6.4.4 in (/var/www/html/glpi/vendor/tecnickcom/tcpdf)
    michelf/php-markdown in (/var/www/html/glpi/vendor/michelf/php-markdown/Michelf)
    true/punycode in (/var/www/html/glpi/vendor/true/punycode/src)
    iamcal/lib_autolink in (/var/www/html/glpi/vendor/iamcal/lib_autolink)
    sabre/dav in (/var/www/html/glpi/vendor/sabre/dav/lib/DAV)
    sabre/http in (/var/www/html/glpi/vendor/sabre/http/lib)
    sabre/uri in (/var/www/html/glpi/vendor/sabre/uri/lib)
    sabre/vobject in (/var/www/html/glpi/vendor/sabre/vobject/lib)
    laminas/laminas-i18n in (/var/www/html/glpi/vendor/laminas/laminas-i18n/src)
    laminas/laminas-servicemanager in (/var/www/html/glpi/vendor/laminas/laminas-servicemanager/src)
    monolog/monolog in (/var/www/html/glpi/vendor/monolog/monolog/src/Monolog)
    sebastian/diff in (/var/www/html/glpi/vendor/sebastian/diff/src)
    donatj/phpuseragentparser in (/var/www/html/glpi/vendor/donatj/phpuseragentparser/src/UserAgent)
    elvanto/litemoji in (/var/www/html/glpi/vendor/elvanto/litemoji/src)
    symfony/console in (/var/www/html/glpi/vendor/symfony/console)
    scssphp/scssphp in (/var/www/html/glpi/vendor/scssphp/scssphp/src)
    laminas/laminas-mail in (/var/www/html/glpi/vendor/laminas/laminas-mail/src/Protocol)
    laminas/laminas-mime in (/var/www/html/glpi/vendor/laminas/laminas-mime/src)
    rlanvin/php-rrule in (/var/www/html/glpi/vendor/rlanvin/php-rrule/src)
    blueimp/jquery-file-upload in (/var/www/html/glpi/vendor/blueimp/jquery-file-upload/server/php)
    ramsey/uuid in (/var/www/html/glpi/vendor/ramsey/uuid/src)
    psr/log in (/var/www/html/glpi/vendor/psr/log/Psr/Log)
    psr/simple-cache in (/var/www/html/glpi/vendor/psr/simple-cache/src)
    psr/cache in (/var/www/html/glpi/vendor/psr/cache/src)
    league/csv in (/var/www/html/glpi/vendor/league/csv/src)
    mexitek/phpcolors in (/var/www/html/glpi/vendor/mexitek/phpcolors/src/Mexitek/PHPColors)
    guzzlehttp/guzzle in (/var/www/html/glpi/vendor/guzzlehttp/guzzle/src)
    guzzlehttp/psr7 in (/var/www/html/glpi/vendor/guzzlehttp/psr7/src)
    glpi-project/inventory_format in (/var/www/html/glpi/vendor/glpi-project/inventory_format/lib/php)
    wapmorgan/unified-archive in (/var/www/html/glpi/vendor/wapmorgan/unified-archive/src)
    paragonie/sodium_compat in (/var/www/html/glpi/vendor/paragonie/sodium_compat/src)
    symfony/cache in (/var/www/html/glpi/vendor/symfony/cache)
    html2text/html2text in (/var/www/html/glpi/vendor/html2text/html2text/src)
    symfony/css-selector in (/var/www/html/glpi/vendor/symfony/css-selector)
    symfony/dom-crawler in (/var/www/html/glpi/vendor/symfony/dom-crawler)
    twig/twig in (/var/www/html/glpi/vendor/twig/twig/src)
    twig/string-extra in (/var/www/html/glpi/vendor/twig/string-extra)
    symfony/polyfill-ctype not found
    symfony/polyfill-iconv not found
    symfony/polyfill-mbstring not found
    symfony/polyfill-php80 not found
    symfony/polyfill-php81 in (/var/www/html/glpi/vendor/symfony/polyfill-php81)
    
    LDAP directories
     
    Server: 'ldaps://sv01351.saprr.local', Port: '636', BaseDN: 'DC=saprr,DC=local', Connection filter:
    		'(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))', RootDN: 'LDAP-APRR', Use
    		TLS: none
    
    SQL replicas
     
    Not active
    
    Notifications
     
    Way of sending emails: PHP
    
    Plugins list
     
    	datainjection        Name: Data Injection                 Version: 2.11.2     State: Enabled                                 
    		Install Method: Marketplace
    	glpiinventory        Name: GLPI Inventory                 Version: 1.0.3      State: Enabled                                 
    		Install Method: Marketplace
    	manufacturersimports Name: Imports fabricants             Version: 3.0.1      State: Enabled                                 
    		Install Method: Marketplace
    	mreporting           Name: Plus de rapports               Version: 1.8.1      State: Enabled                                 
    		Install Method: Marketplace
    

    Anything else?

    No response

    Reviewed by gaubryfr at 2022-08-12 11:54
  • 14. Ticket: fix reopen by requester group

    Here post-only is part of the Pro services group and add a new followup to a pending ticket.

    image -> Ticket is still pending which is incorrect: the ticket must be "reopened" when a requester add a followup.

    The issue comes from needReopen calling isGroup incorrectly (sending an array of groups id instead of a single group id). These changes:

    • Fix the incorrect method parameter sent in needReopen
    • Enforce types in isGroup to prevent future issues
    • Improve unit tests coverage

    | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets |

    Reviewed by AdrienClairembault at 2022-08-12 08:48
  • 15. Single quotation mark (apostrophe) in users email addresses makes them remove and add again on every synchronization with ldap servers

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Version

    9.5.8 and 10.0.2

    Bug description

    We noticed that users with email addresses containting apostrophes get their glpi entries updated on every synchronizations with ldap servers. This can be seen in the users history. I didn't check where it comes from for the moment, but I suppose that the character is not correctly escaped somewhere...

    Relevant log output

    No response

    Page URL

    No response

    Steps To reproduce

    No response

    Your GLPI setup information

    No response

    Anything else?

    No response

    Reviewed by kabassanov at 2022-08-12 08:33
  • 16. Huge list of PHP Warning during glpi inventory and discovery

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Version

    10.0.2

    Bug description

    I opened file php-errors.log and saw a lot of PHP Warnings like this:

    The first message error: [2022-07-13 07:23:38] glpiphplog.WARNING: *** PHP Warning (2): Invalid argument supplied for foreach() in /var/www/html/glpi/src/Inventory/Asset/Printer.php at line 159 Backtrace : src/Inventory/Inventory.php:675 Glpi\Inventory\Asset\Printer->prepare() src/Inventory/Inventory.php:330 Glpi\Inventory\Inventory->processInventoryData() src/Inventory/Request.php:360 Glpi\Inventory\Inventory->doInventory() src/Inventory/Request.php:90 Glpi\Inventory\Request->inventory() src/Agent/Communication/AbstractRequest.php:325 Glpi\Inventory\Request->handleAction() src/Agent/Communication/AbstractRequest.php:237 Glpi\Agent\Communication\AbstractRequest->handleJSONRequest() front/inventory.php:86 Glpi\Agent\Communication\AbstractRequest->handleRequest()

    The last message error: [2022-08-12 08:09:21] glpiphplog.WARNING: *** PHP Warning (2): Invalid argument supplied for foreach() in /var/www/html/glpi/src/Inventory/Asset/Printer.php at line 159 Backtrace : src/Inventory/Inventory.php:675 Glpi\Inventory\Asset\Printer->prepare() src/Inventory/Inventory.php:330 Glpi\Inventory\Inventory->processInventoryData() src/Inventory/Request.php:360 Glpi\Inventory\Inventory->doInventory() src/Inventory/Request.php:90 Glpi\Inventory\Request->inventory() src/Agent/Communication/AbstractRequest.php:325 Glpi\Inventory\Request->handleAction() src/Agent/Communication/AbstractRequest.php:237 Glpi\Agent\Communication\AbstractRequest->handleJSONRequest() front/inventory.php:86 Glpi\Agent\Communication\AbstractRequest->handleRequest()

    I think it's connected with active glpi inventory and snmp discovery.

    Relevant log output

    No response

    Page URL

    No response

    Steps To reproduce

    No response

    Your GLPI setup information

    Информация о системе, установке и конфигурации
    GLPI 10.0.2 (/glpi => /var/www/html/glpi)
    Installation mode: TARBALL
    Current language:ru_RU
    
    Server
     
    Operating system: Linux glpi 5.4.0-120-generic #136-Ubuntu SMP Fri Jun 10 13:40:48 UTC 2022 x86_64
    PHP 7.4.3 apache2handler (Core, FFI, PDO, Phar, Reflection, SPL, SimpleXML, Zend OPcache, apache2handler, apc, apcu, bz2,
    	calendar, ctype, curl, date, dom, exif, fileinfo, filter, ftp, gd, gettext, hash, iconv, imap, intl, json, ldap, libxml,
    	mbstring, mysqli, mysqlnd, openssl, pcre, pdo_mysql, posix, readline, session, shmop, sockets, sodium, standard, sysvmsg,
    	sysvsem, sysvshm, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, zlib)
    Setup: max_execution_time="120" memory_limit="512M" post_max_size="80M" safe_mode="" session.save_handler="files"
    	upload_max_filesize="80M" 
    Software: Apache/2.4.41 (Ubuntu) (Apache/2.4.41 (Ubuntu) Server at glpi10.intranet.delkom40.by Port 80
    )
    	Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
    Server Software: (Ubuntu)
    	Server Version: 8.0.30-0ubuntu0.20.04.2
    	Server SQL Mode: STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
    	Parameters: [email protected]/glpi
    	Host info: Localhost via UNIX socket
    

    PHP version (7.4.3) is supported. Sessions configuration is OK. Allocated memory is sufficient. mysqli extension is installed. Following extensions are installed: dom, fileinfo, json, simplexml. curl extension is installed. gd extension is installed. intl extension is installed. libxml extension is installed. zlib extension is installed. The constant SODIUM_CRYPTO_AEAD_XCHACHA20POLY1305_IETF_NPUBBYTES is present. Database engine version (8.0.30) is supported. The log file has been created successfully. Write access to /var/www/html/glpi/files/_cache has been validated. Write access to /var/www/html/glpi/config has been validated. Write access to /var/www/html/glpi/files/_cron has been validated. Write access to /var/www/html/glpi/files has been validated. Write access to /var/www/html/glpi/files/_dumps has been validated. Write access to /var/www/html/glpi/files/_graphs has been validated. Write access to /var/www/html/glpi/files/_lock has been validated. Write access to /var/www/html/glpi/files/_pictures has been validated. Write access to /var/www/html/glpi/files/_plugins has been validated. Write access to /var/www/html/glpi/files/_rss has been validated. Write access to /var/www/html/glpi/files/_sessions has been validated. Write access to /var/www/html/glpi/files/_tmp has been validated. Write access to /var/www/html/glpi/files/_uploads has been validated. Web access to the files directory should not be allowed Check the .htaccess file and the web server configuration. exif extension is installed. ldap extension is installed. openssl extension is installed. zip extension is installed. bz2 extension is installed. Zend OPcache extension is installed. Following extensions are installed: ctype, iconv, mbstring, sodium. Write access to /var/www/html/glpi/marketplace has been validated. Access to timezone database (mysql) is not allowed.

    GLPI constants
     
    GLPI_ROOT: /var/www/html/glpi
    GLPI_CONFIG_DIR: /var/www/html/glpi/config
    GLPI_VAR_DIR: /var/www/html/glpi/files
    GLPI_MARKETPLACE_DIR: /var/www/html/glpi/marketplace
    GLPI_USE_CSRF_CHECK: 1
    GLPI_CSRF_EXPIRES: 7200
    GLPI_CSRF_MAX_TOKENS: 100
    GLPI_USE_IDOR_CHECK: 1
    GLPI_IDOR_EXPIRES: 7200
    GLPI_ALLOW_IFRAME_IN_RICH_TEXT: 
    GLPI_TELEMETRY_URI: https://telemetry.glpi-project.org
    GLPI_INSTALL_MODE: TARBALL
    GLPI_NETWORK_MAIL: [email protected]
    GLPI_NETWORK_SERVICES: https://services.glpi-network.com
    GLPI_MARKETPLACE_ALLOW_OVERRIDE: 1
    GLPI_MARKETPLACE_MANUAL_DOWNLOADS: 1
    GLPI_USER_AGENT_EXTRA_COMMENTS: 
    GLPI_DISABLE_ONLY_FULL_GROUP_BY_SQL_MODE: 1
    GLPI_AJAX_DASHBOARD: 1
    GLPI_CALDAV_IMPORT_STATE: 0
    GLPI_DEMO_MODE: 0
    GLPI_CENTRAL_WARNINGS: 1
    GLPI_DOC_DIR: /var/www/html/glpi/files
    GLPI_CACHE_DIR: /var/www/html/glpi/files/_cache
    GLPI_CRON_DIR: /var/www/html/glpi/files/_cron
    GLPI_DUMP_DIR: /var/www/html/glpi/files/_dumps
    GLPI_GRAPH_DIR: /var/www/html/glpi/files/_graphs
    GLPI_LOCAL_I18N_DIR: /var/www/html/glpi/files/_locales
    GLPI_LOCK_DIR: /var/www/html/glpi/files/_lock
    GLPI_LOG_DIR: /var/www/html/glpi/files/_log
    GLPI_PICTURE_DIR: /var/www/html/glpi/files/_pictures
    GLPI_PLUGIN_DOC_DIR: /var/www/html/glpi/files/_plugins
    GLPI_RSS_DIR: /var/www/html/glpi/files/_rss
    GLPI_SESSION_DIR: /var/www/html/glpi/files/_sessions
    GLPI_TMP_DIR: /var/www/html/glpi/files/_tmp
    GLPI_UPLOAD_DIR: /var/www/html/glpi/files/_uploads
    GLPI_INVENTORY_DIR: /var/www/html/glpi/files/_inventories
    GLPI_NETWORK_REGISTRATION_API_URL: https://services.glpi-network.com/api/registration/
    GLPI_MARKETPLACE_PLUGINS_API_URI: https://services.glpi-network.com/api/glpi-plugins/
    GLPI_I18N_DIR: /var/www/html/glpi/locales
    GLPI_VERSION: 10.0.2
    GLPI_SCHEMA_VERSION: [email protected]
    GLPI_MARKETPLACE_PRERELEASES: 
    GLPI_MIN_PHP: 7.4.0
    GLPI_MAX_PHP: 8.2.0
    GLPI_YEAR: 2022
    
    Libraries
     
    htmlawed/htmlawed version 1.2.6 in (/var/www/html/glpi/vendor/htmlawed/htmlawed)
    phpmailer/phpmailer version 6.6.0 in (/var/www/html/glpi/vendor/phpmailer/phpmailer/src)
    simplepie/simplepie version 1.5.8 in (/var/www/html/glpi/vendor/simplepie/simplepie/library)
    tecnickcom/tcpdf version 6.4.4 in (/var/www/html/glpi/vendor/tecnickcom/tcpdf)
    michelf/php-markdown in (/var/www/html/glpi/vendor/michelf/php-markdown/Michelf)
    true/punycode in (/var/www/html/glpi/vendor/true/punycode/src)
    iamcal/lib_autolink in (/var/www/html/glpi/vendor/iamcal/lib_autolink)
    sabre/dav in (/var/www/html/glpi/vendor/sabre/dav/lib/DAV)
    sabre/http in (/var/www/html/glpi/vendor/sabre/http/lib)
    sabre/uri in (/var/www/html/glpi/vendor/sabre/uri/lib)
    sabre/vobject in (/var/www/html/glpi/vendor/sabre/vobject/lib)
    laminas/laminas-i18n in (/var/www/html/glpi/vendor/laminas/laminas-i18n/src)
    laminas/laminas-servicemanager in (/var/www/html/glpi/vendor/laminas/laminas-servicemanager/src)
    monolog/monolog in (/var/www/html/glpi/vendor/monolog/monolog/src/Monolog)
    sebastian/diff in (/var/www/html/glpi/vendor/sebastian/diff/src)
    donatj/phpuseragentparser in (/var/www/html/glpi/vendor/donatj/phpuseragentparser/src/UserAgent)
    elvanto/litemoji in (/var/www/html/glpi/vendor/elvanto/litemoji/src)
    symfony/console in (/var/www/html/glpi/vendor/symfony/console)
    scssphp/scssphp in (/var/www/html/glpi/vendor/scssphp/scssphp/src)
    laminas/laminas-mail in (/var/www/html/glpi/vendor/laminas/laminas-mail/src/Protocol)
    laminas/laminas-mime in (/var/www/html/glpi/vendor/laminas/laminas-mime/src)
    rlanvin/php-rrule in (/var/www/html/glpi/vendor/rlanvin/php-rrule/src)
    blueimp/jquery-file-upload in (/var/www/html/glpi/vendor/blueimp/jquery-file-upload/server/php)
    ramsey/uuid in (/var/www/html/glpi/vendor/ramsey/uuid/src)
    psr/log in (/var/www/html/glpi/vendor/psr/log/Psr/Log)
    psr/simple-cache in (/var/www/html/glpi/vendor/psr/simple-cache/src)
    psr/cache in (/var/www/html/glpi/vendor/psr/cache/src)
    league/csv in (/var/www/html/glpi/vendor/league/csv/src)
    mexitek/phpcolors in (/var/www/html/glpi/vendor/mexitek/phpcolors/src/Mexitek/PHPColors)
    guzzlehttp/guzzle in (/var/www/html/glpi/vendor/guzzlehttp/guzzle/src)
    guzzlehttp/psr7 in (/var/www/html/glpi/vendor/guzzlehttp/psr7/src)
    glpi-project/inventory_format in (/var/www/html/glpi/vendor/glpi-project/inventory_format/lib/php)
    wapmorgan/unified-archive in (/var/www/html/glpi/vendor/wapmorgan/unified-archive/src)
    paragonie/sodium_compat in (/var/www/html/glpi/vendor/paragonie/sodium_compat/src)
    symfony/cache in (/var/www/html/glpi/vendor/symfony/cache)
    html2text/html2text in (/var/www/html/glpi/vendor/html2text/html2text/src)
    symfony/css-selector in (/var/www/html/glpi/vendor/symfony/css-selector)
    symfony/dom-crawler in (/var/www/html/glpi/vendor/symfony/dom-crawler)
    twig/twig in (/var/www/html/glpi/vendor/twig/twig/src)
    twig/string-extra in (/var/www/html/glpi/vendor/twig/string-extra)
    symfony/polyfill-ctype not found
    symfony/polyfill-iconv not found
    symfony/polyfill-mbstring not found
    symfony/polyfill-php80 in (/var/www/html/glpi/vendor/symfony/polyfill-php80)
    symfony/polyfill-php81 in (/var/www/html/glpi/vendor/symfony/polyfill-php81)
    phpCas version 1.3.8 in (/usr/share/php/CAS/source)
    
    SQL replicas
     
    Not active
    
    Notifications
     
    Way of sending emails: SMTP ([email protected])
    
    Plugins list
     
    	datainjection        Name: Data injection                 Version: 2.10.0-rc2 State: Installed / not activated               
    		Install Method: Marketplace
    	formcreator          Name: Form Creator                   Version: 2.13.0-alpha.3 State: Not installed                         
    		  Install Method: Marketplace
    	glpiinventory        Name: GLPI Inventory                 Version: 1.0.3      State: Enabled                                 
    		Install Method: Marketplace
    	metademands          Name: Meta-Demands                   Version: 3.0.0-rc2  State: Not installed                           
    		Install Method: Marketplace
    	itilcategorygroups   Name: Группы ITIL Категории     Version: 2.5.0-rc2  State: Installed / not activated       
    		        Install Method: Marketplace
    	fields               Name: Дополнительные поля    Version: 1.13.0-rc2 State: Installed / not activated       
    		        Install Method: Marketplace
    	positions            Name: Картография                   Version: 6.0.0-rc2  State: Not installed                   
    		        Install Method: Marketplace
    	shellcommands        Name: Служебные команды        Version: 4.0.0-rc2  State: Not installed                   
    		        Install Method: Marketplace
    	news                 Name: Уведомления                   Version: 1.10.0-rc2 State: Installed / not activated       
    		        Install Method: Marketplace
    

    Anything else?

    No response

    Reviewed by leruetkins at 2022-08-12 05:30
  • 17. Reservation start date

    Code of Conduct

    • [X] I agree to follow this project's Code of Conduct

    Is there an existing issue for this?

    • [X] I have searched the existing issues

    Version

    10.0.2

    Bug description

    When clicking on a day on the calendar to make a reservation, the "start date" field appears with the previous day.

    In the image below, for example, i clicked to make a reservation on the 18th of August. However, the suggested starting date was the day before, August 17th.

    image

    The bug only happens in the "Month" layout. Does not happen in "Week" or "Day" layouts. The bug happens in any user profile.

    Relevant log output

    No response

    Page URL

    No response

    Steps To reproduce

    No response

    Your GLPI setup information

    No response

    Anything else?

    No response

    Reviewed by lbonetti at 2022-08-11 15:25
Phraseanet 4.1 - Digital Asset Management application
 Phraseanet 4.1 - Digital Asset Management application

Phraseanet 4.1 - Digital Asset Management application Main Features : Several GUI : Prod, Admin, Thesaurus, Lightbox ,Report, Metadata Management (inc

Jul 28, 2022
The Asset component manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files.

Asset Component The Asset component manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files. Res

Aug 6, 2022
An asset compression plugin for CakePHP. Provides file concatenation and a flexible filter system for preprocessing and minification.

Asset Compress Asset Compress is CakePHP plugin for helping reduce the number of requests, and optimizing the remaining requests your application make

Jul 20, 2022
Munee: Standalone PHP 5.3 Asset Optimisation & Manipulation

Munee: Standalone PHP 5.3 Asset Optimisation & Manipulation #####On-The-Fly Image Resizing, On-the-fly LESS, SCSS, CoffeeScript Compiling, CSS & JavaS

Jun 18, 2022
Doki Doki Literature Club Plus Asset Decrypter

DDLC Plus Asset Decrypter Doki Doki Literature Club Plus Asset Decrypter Used to decrypt encrypted Streaming Asset Bundle files (*.cy) in DDLC-Plus. H

Aug 2, 2022
A Parser for CSS Files written in PHP. Allows extraction of CSS files into a data structure, manipulation of said structure and output as (optimized) CSS

PHP CSS Parser A Parser for CSS Files written in PHP. Allows extraction of CSS files into a data structure, manipulation of said structure and output

Aug 7, 2022
NotrinosERP is an open source, web-based enterprise management system that written in PHP and MySql.
NotrinosERP is an open source, web-based enterprise management system that written in PHP and MySql.

NotrinosERP is an open source, web-based enterprise management system that written in PHP and MySql. NotrinosERP contains all the required modules for running any small to medium size businesses. It supports multi users, multi currencies, multi languages

Jul 28, 2022
Assets Manager for "Vitewind" Theme, will inject CSS and JS assets for "Vitewind" theme to work properly with viteJS in development and production
Assets Manager for

Vitewind Manager plugin ?? Windi CSS and ⚡️ Vite, for ?? OctoberCMS & ❄️ WinterCMS Introduction This is a helper plugin for ?? Vitewind theme, don't i

May 29, 2022
Put your assets into the pipe and smoke them.

Pipe Put your assets into the pipe and smoke them. Pipe is an asset pipeline in the spirit of Sprockets. It's meant as the practical way for managing

May 5, 2021
Combines. minifies, and serves CSS or Javascript files
Combines. minifies, and serves CSS or Javascript files

Welcome to Minify! Minify is an HTTP server for JS and CSS assets. It compresses and combines files and serves it with appropriate headers, allowing c

Aug 6, 2022
Commenting program developed with Html & Css & Php JavaScript Languages ​​and MySql
Commenting program developed with Html & Css & Php JavaScript Languages ​​and MySql

CommentSystem [BETA] Commenting program developed with Html & Css & Php JavaScript Languages and MySql How does it work ? After you set up your Databa

May 19, 2022
A fast Javascript minifier that removes unnecessary whitespace and comments

js-minify A fast Javascript minifier that removes unnecessary whitespace and comments Installation If you are using Composer, use composer require gar

Jan 20, 2022
Middleware to minify the Html, CSS and Javascript content using wyrihaximus/compress

middlewares/minifier Middleware to minify the Html, CSS and Javascript content using wyrihaximus/compress and the following compressors by default: wy

Jan 3, 2022
LiveZilla - a help desk software that offers a help desk solution for small companies to large businesses
LiveZilla - a help desk software that offers a help desk solution for small companies to large businesses

LiveZilla includes a live chat software with multi-website support, visitor monitoring and a help desk system that allows you to not only integrate emails that you receive from customers but also messages from Twitter and Facebook in your ticket system.

Jul 14, 2022
A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products.
A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products.

A high-performance license server system service for creating and managing products, major versions, and software licenses for the purpose of selling installable software products. Comes with a SDK and command-line tool. Works anywhere that PHP runs.

Aug 8, 2022
Asset Component is a port of Laravel 3 Asset for Orchestra Platform.

Asset Component is a port of Laravel 3 Asset for Orchestra Platform. The component main functionality is to allow asset declaration to be handle dynamically and asset dependencies can be resolve directly from the container. It however is not intended to becoma an asset pipeline package for Laravel, for such purpose we would recommend to use Grunt or Gulp.

Mar 31, 2022
FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)
FreeScout — Free self-hosted help desk & shared mailbox (Zendesk / Help Scout alternative)

Free Self-Hosted Zendesk & Help Scout Alternative FreeScout is the super lightweight free open source help desk and shared inbox written in PHP7+ (Lar

Aug 4, 2022
PHP project for tracking Azure AD App Reg secrets about to expire, and (manually) tracking SSL certificates

CertExpiry Katy Nicholson https://katystech.blog/ Setup instructions etc available at: https://katystech.blog/2021/11/certexpiry/ PHP project for trac

Dec 14, 2021
A free open source IT asset/license management system
A free open source IT asset/license management system

Snipe-IT - Open Source Asset Management System This is a FOSS project for asset management in IT Operations. Knowing who has which laptop, when it was

Aug 10, 2022