diff --git a/composer.json b/composer.json
index 4f2b5cb..54fed37 100644
--- a/composer.json
+++ b/composer.json
@@ -1,16 +1,26 @@
{
"require": {
- "php": ">=7.4"
+ "php": ">=8.2"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.75",
- "glpi-project/tools": "^0.7.5"
+ "friendsoftwig/twigcs": "^6.1",
+ "glpi-project/tools": "^0.7.5",
+ "php-parallel-lint/php-parallel-lint": "^1.4"
},
"config": {
"optimize-autoloader": true,
"platform": {
- "php": "7.4.0"
+ "php": "8.2.99"
},
- "sort-packages": true
+ "sort-packages": true,
+ "allow-plugins": {
+ "phpstan/extension-installer": true
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Glpi\\Tools\\": "../../tools/src/"
+ }
}
}
diff --git a/composer.lock b/composer.lock
index ff925e8..7757887 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "d8d19ce9a976b90be57e3b72b58a5b7e",
+ "content-hash": "981190cd221bfc071af80a355f4b0b57",
"packages": [],
"packages-dev": [
{
@@ -407,58 +407,59 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.75.0",
+ "version": "v3.84.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "399a128ff2fdaf4281e4e79b755693286cdf325c"
+ "reference": "38dad0767bf2a9b516b976852200ae722fe984ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/399a128ff2fdaf4281e4e79b755693286cdf325c",
- "reference": "399a128ff2fdaf4281e4e79b755693286cdf325c",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/38dad0767bf2a9b516b976852200ae722fe984ca",
+ "reference": "38dad0767bf2a9b516b976852200ae722fe984ca",
"shasum": ""
},
"require": {
"clue/ndjson-react": "^1.0",
"composer/semver": "^3.4",
- "composer/xdebug-handler": "^3.0.3",
+ "composer/xdebug-handler": "^3.0.5",
"ext-filter": "*",
"ext-hash": "*",
"ext-json": "*",
"ext-tokenizer": "*",
"fidry/cpu-core-counter": "^1.2",
"php": "^7.4 || ^8.0",
- "react/child-process": "^0.6.5",
+ "react/child-process": "^0.6.6",
"react/event-loop": "^1.0",
- "react/promise": "^2.0 || ^3.0",
+ "react/promise": "^2.11 || ^3.0",
"react/socket": "^1.0",
"react/stream": "^1.0",
- "sebastian/diff": "^4.0 || ^5.1 || ^6.0 || ^7.0",
- "symfony/console": "^5.4 || ^6.4 || ^7.0",
- "symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0",
- "symfony/filesystem": "^5.4 || ^6.4 || ^7.0",
- "symfony/finder": "^5.4 || ^6.4 || ^7.0",
- "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0",
- "symfony/polyfill-mbstring": "^1.31",
- "symfony/polyfill-php80": "^1.31",
- "symfony/polyfill-php81": "^1.31",
- "symfony/process": "^5.4 || ^6.4 || ^7.2",
- "symfony/stopwatch": "^5.4 || ^6.4 || ^7.0"
+ "sebastian/diff": "^4.0.6 || ^5.1.1 || ^6.0.2 || ^7.0",
+ "symfony/console": "^5.4.45 || ^6.4.13 || ^7.0",
+ "symfony/event-dispatcher": "^5.4.45 || ^6.4.13 || ^7.0",
+ "symfony/filesystem": "^5.4.45 || ^6.4.13 || ^7.0",
+ "symfony/finder": "^5.4.45 || ^6.4.17 || ^7.0",
+ "symfony/options-resolver": "^5.4.45 || ^6.4.16 || ^7.0",
+ "symfony/polyfill-mbstring": "^1.32",
+ "symfony/polyfill-php80": "^1.32",
+ "symfony/polyfill-php81": "^1.32",
+ "symfony/process": "^5.4.47 || ^6.4.20 || ^7.2",
+ "symfony/stopwatch": "^5.4.45 || ^6.4.19 || ^7.0"
},
"require-dev": {
"facile-it/paraunit": "^1.3.1 || ^2.6",
"infection/infection": "^0.29.14",
- "justinrainbow/json-schema": "^5.3 || ^6.2",
- "keradus/cli-executor": "^2.1",
+ "justinrainbow/json-schema": "^5.3 || ^6.4",
+ "keradus/cli-executor": "^2.2",
"mikey179/vfsstream": "^1.6.12",
- "php-coveralls/php-coveralls": "^2.7",
+ "php-coveralls/php-coveralls": "^2.8",
"php-cs-fixer/accessible-object": "^1.1",
"php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6",
"php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6",
- "phpunit/phpunit": "^9.6.22 || ^10.5.45 || ^11.5.12",
- "symfony/var-dumper": "^5.4.48 || ^6.4.18 || ^7.2.3",
- "symfony/yaml": "^5.4.45 || ^6.4.18 || ^7.2.3"
+ "phpunit/phpunit": "^9.6.23 || ^10.5.47 || ^11.5.25",
+ "symfony/polyfill-php84": "^1.32",
+ "symfony/var-dumper": "^5.4.48 || ^6.4.23 || ^7.3.1",
+ "symfony/yaml": "^5.4.45 || ^6.4.23 || ^7.3.1"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@@ -499,7 +500,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.75.0"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.84.0"
},
"funding": [
{
@@ -507,7 +508,62 @@
"type": "github"
}
],
- "time": "2025-03-31T18:40:42+00:00"
+ "time": "2025-07-15T18:21:57+00:00"
+ },
+ {
+ "name": "friendsoftwig/twigcs",
+ "version": "6.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/friendsoftwig/twigcs.git",
+ "reference": "aaa3ba112bf4fcee7b51a00d9b45b13bc2cc23bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/friendsoftwig/twigcs/zipball/aaa3ba112bf4fcee7b51a00d9b45b13bc2cc23bc",
+ "reference": "aaa3ba112bf4fcee7b51a00d9b45b13bc2cc23bc",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-hash": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "php": "~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
+ "symfony/console": "^4.4 || ^5.3 || ^6.0 || ^7.0",
+ "symfony/filesystem": "^4.4 || ^5.3 || ^6.0 || ^7.0",
+ "symfony/finder": "^4.4 || ^5.3 || ^6.0 || ^7.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.6.19",
+ "symfony/phpunit-bridge": "^7.1.4"
+ },
+ "bin": [
+ "bin/twigcs"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "FriendsOfTwig\\Twigcs\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Tristan Maindron",
+ "email": "tmaindron@gmail.com"
+ }
+ ],
+ "description": "Checkstyle automation for Twig",
+ "support": {
+ "issues": "https://github.com/friendsoftwig/twigcs/issues",
+ "source": "https://github.com/friendsoftwig/twigcs/tree/6.5.0"
+ },
+ "time": "2024-11-27T21:59:24+00:00"
},
{
"name": "glpi-project/tools",
@@ -566,23 +622,89 @@
"time": "2025-05-22T07:31:28+00:00"
},
{
- "name": "psr/container",
- "version": "1.1.2",
+ "name": "php-parallel-lint/php-parallel-lint",
+ "version": "v1.4.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ "url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git",
+ "reference": "6db563514f27e19595a19f45a4bf757b6401194e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
- "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6db563514f27e19595a19f45a4bf757b6401194e",
+ "reference": "6db563514f27e19595a19f45a4bf757b6401194e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": ">=5.3.0"
+ },
+ "replace": {
+ "grogy/php-parallel-lint": "*",
+ "jakub-onderka/php-parallel-lint": "*"
+ },
+ "require-dev": {
+ "nette/tester": "^1.3 || ^2.0",
+ "php-parallel-lint/php-console-highlighter": "0.* || ^1.0",
+ "squizlabs/php_codesniffer": "^3.6"
+ },
+ "suggest": {
+ "php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet"
+ },
+ "bin": [
+ "parallel-lint"
+ ],
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "./src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Jakub Onderka",
+ "email": "ahoj@jakubonderka.cz"
+ }
+ ],
+ "description": "This tool checks the syntax of PHP files about 20x faster than serial check.",
+ "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint",
+ "keywords": [
+ "lint",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues",
+ "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.4.0"
+ },
+ "time": "2024-03-27T12:14:49+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
"php": ">=7.4.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Psr\\Container\\": "src/"
@@ -609,9 +731,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/1.1.2"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2021-11-05T16:50:12+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/event-dispatcher",
@@ -665,30 +787,30 @@
},
{
"name": "psr/log",
- "version": "1.1.4",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
+ "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
- "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
+ "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -709,9 +831,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.4"
+ "source": "https://github.com/php-fig/log/tree/3.0.2"
},
- "time": "2021-05-03T11:20:27+00:00"
+ "time": "2024-09-11T13:17:53+00:00"
},
{
"name": "react/cache",
@@ -1241,29 +1363,29 @@
},
{
"name": "sebastian/diff",
- "version": "4.0.6",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1295,7 +1417,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -1303,56 +1426,51 @@
"type": "github"
}
],
- "time": "2024-03-02T06:30:58+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "symfony/console",
- "version": "v5.4.47",
+ "version": "v6.4.23",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed"
+ "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
- "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed",
+ "url": "https://api.github.com/repos/symfony/console/zipball/9056771b8eca08d026cd3280deeec3cfd99c4d93",
+ "reference": "9056771b8eca08d026cd3280deeec3cfd99c4d93",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.9",
- "symfony/polyfill-php80": "^1.16",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/string": "^5.1|^6.0"
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^5.4|^6.0|^7.0"
},
"conflict": {
- "psr/log": ">=3",
- "symfony/dependency-injection": "<4.4",
- "symfony/dotenv": "<5.1",
- "symfony/event-dispatcher": "<4.4",
- "symfony/lock": "<4.4",
- "symfony/process": "<4.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
},
"provide": {
- "psr/log-implementation": "1.0|2.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/log": "^1|^2",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
- "symfony/lock": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0",
- "symfony/var-dumper": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/lock": "^5.4|^6.0|^7.0",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "symfony/stopwatch": "^5.4|^6.0|^7.0",
+ "symfony/var-dumper": "^5.4|^6.0|^7.0"
},
"type": "library",
"autoload": {
@@ -1386,7 +1504,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v5.4.47"
+ "source": "https://github.com/symfony/console/tree/v6.4.23"
},
"funding": [
{
@@ -1402,24 +1520,24 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T11:30:55+00:00"
+ "time": "2025-06-27T19:37:22+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.5.4",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918"
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918",
- "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
+ "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
@@ -1428,7 +1546,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -1453,7 +1571,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.4"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -1469,48 +1587,43 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v5.4.45",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9"
+ "reference": "497f73ac996a598c92409b44ac43b6690c4f666d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9",
- "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d",
+ "reference": "497f73ac996a598c92409b44ac43b6690c4f666d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/event-dispatcher-contracts": "^2|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.2",
+ "symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<4.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/service-contracts": "<2.5"
},
"provide": {
"psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "2.0"
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^4.4|^5.0|^6.0",
- "symfony/dependency-injection": "^4.4|^5.0|^6.0",
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/expression-language": "^4.4|^5.0|^6.0",
- "symfony/http-foundation": "^4.4|^5.0|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/stopwatch": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/stopwatch": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1538,7 +1651,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.45"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0"
},
"funding": [
{
@@ -1554,29 +1667,26 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-04-22T09:11:45+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v2.5.4",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f"
+ "reference": "59eb412e93815df44f05f342958efa9f46b1e586"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f",
- "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586",
+ "reference": "59eb412e93815df44f05f342958efa9f46b1e586",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1",
"psr/event-dispatcher": "^1"
},
- "suggest": {
- "symfony/event-dispatcher-implementation": ""
- },
"type": "library",
"extra": {
"thanks": {
@@ -1584,7 +1694,7 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
@@ -1617,7 +1727,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.4"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -1633,30 +1743,29 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2024-09-25T14:21:43+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v5.4.45",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "57c8294ed37d4a055b77057827c67f9558c95c54"
+ "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54",
- "reference": "57c8294ed37d4a055b77057827c67f9558c95c54",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/b8dce482de9d7c9fe2891155035a7248ab5c7fdb",
+ "reference": "b8dce482de9d7c9fe2891155035a7248ab5c7fdb",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
- "symfony/polyfill-php80": "^1.16"
+ "symfony/polyfill-mbstring": "~1.8"
},
"require-dev": {
- "symfony/process": "^5.4|^6.4"
+ "symfony/process": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1684,7 +1793,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v5.4.45"
+ "source": "https://github.com/symfony/filesystem/tree/v7.3.0"
},
"funding": [
{
@@ -1700,26 +1809,27 @@
"type": "tidelift"
}
],
- "time": "2024-10-22T13:05:35+00:00"
+ "time": "2024-10-25T15:15:23+00:00"
},
{
"name": "symfony/finder",
- "version": "v5.4.45",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "63741784cd7b9967975eec610b256eed3ede022b"
+ "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/63741784cd7b9967975eec610b256eed3ede022b",
- "reference": "63741784cd7b9967975eec610b256eed3ede022b",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d",
+ "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -1747,7 +1857,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.4.45"
+ "source": "https://github.com/symfony/finder/tree/v7.3.0"
},
"funding": [
{
@@ -1763,27 +1873,25 @@
"type": "tidelift"
}
],
- "time": "2024-09-28T13:32:08+00:00"
+ "time": "2024-12-30T19:00:26+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.4.45",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6"
+ "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
- "reference": "74e5b6f0db3e8589e6cfd5efb317a1fc2bb52fb6",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca",
+ "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"type": "library",
"autoload": {
@@ -1816,7 +1924,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.4.45"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.3.0"
},
"funding": [
{
@@ -1832,7 +1940,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-04-04T13:12:05+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -2153,82 +2261,6 @@
],
"time": "2024-12-23T08:48:59+00:00"
},
- {
- "name": "symfony/polyfill-php73",
- "version": "v1.32.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
- "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.32.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-09T11:45:10+00:00"
- },
{
"name": "symfony/polyfill-php80",
"version": "v1.32.0",
@@ -2387,21 +2419,20 @@
},
{
"name": "symfony/process",
- "version": "v5.4.47",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d"
+ "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/5d1662fb32ebc94f17ddb8d635454a776066733d",
- "reference": "5d1662fb32ebc94f17ddb8d635454a776066733d",
+ "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af",
+ "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.2"
},
"type": "library",
"autoload": {
@@ -2429,7 +2460,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v5.4.47"
+ "source": "https://github.com/symfony/process/tree/v7.3.0"
},
"funding": [
{
@@ -2445,33 +2476,30 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T11:36:42+00:00"
+ "time": "2025-04-17T09:11:12+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v2.5.4",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "f37b419f7aea2e9abf10abd261832cace12e3300"
+ "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300",
- "reference": "f37b419f7aea2e9abf10abd261832cace12e3300",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
+ "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.1",
- "symfony/deprecation-contracts": "^2.1|^3"
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
"conflict": {
"ext-psr": "<1.1|>=2"
},
- "suggest": {
- "symfony/service-implementation": ""
- },
"type": "library",
"extra": {
"thanks": {
@@ -2479,13 +2507,16 @@
"name": "symfony/contracts"
},
"branch-alias": {
- "dev-main": "2.5-dev"
+ "dev-main": "3.6-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2512,7 +2543,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v2.5.4"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
},
"funding": [
{
@@ -2528,25 +2559,25 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-04-25T09:37:31+00:00"
},
{
"name": "symfony/stopwatch",
- "version": "v5.4.45",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "fb2c199cf302eb207f8c23e7ee174c1c31a5c004"
+ "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/fb2c199cf302eb207f8c23e7ee174c1c31a5c004",
- "reference": "fb2c199cf302eb207f8c23e7ee174c1c31a5c004",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd",
+ "reference": "5a49289e2b308214c8b9c2fda4ea454d8b8ad7cd",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/service-contracts": "^1|^2|^3"
+ "php": ">=8.2",
+ "symfony/service-contracts": "^2.5|^3"
},
"type": "library",
"autoload": {
@@ -2574,7 +2605,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v5.4.45"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.3.0"
},
"funding": [
{
@@ -2590,38 +2621,39 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:11:13+00:00"
+ "time": "2025-02-24T10:49:57+00:00"
},
{
"name": "symfony/string",
- "version": "v5.4.47",
+ "version": "v7.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "136ca7d72f72b599f2631aca474a4f8e26719799"
+ "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799",
- "reference": "136ca7d72f72b599f2631aca474a4f8e26719799",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125",
+ "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
"symfony/polyfill-intl-grapheme": "~1.0",
"symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "~1.15"
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": ">=3.0"
+ "symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/error-handler": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/translation-contracts": "^1.1|^2",
- "symfony/var-exporter": "^4.4|^5.0|^6.0"
+ "symfony/emoji": "^7.1",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -2660,7 +2692,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v5.4.47"
+ "source": "https://github.com/symfony/string/tree/v7.3.0"
},
"funding": [
{
@@ -2676,31 +2708,30 @@
"type": "tidelift"
}
],
- "time": "2024-11-10T20:33:58+00:00"
+ "time": "2025-04-20T20:19:01+00:00"
},
{
"name": "twig/twig",
- "version": "v3.11.3",
+ "version": "v3.21.1",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e"
+ "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e",
- "reference": "3b06600ff3abefaf8ff55d5c336cd1c4253f8c7e",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/285123877d4dd97dd7c11842ac5fb7e86e60d81d",
+ "reference": "285123877d4dd97dd7c11842ac5fb7e86e60d81d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
+ "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php80": "^1.22",
- "symfony/polyfill-php81": "^1.29"
+ "symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
+ "phpstan/phpstan": "^2.0",
"psr/container": "^1.0|^2.0",
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
@@ -2744,7 +2775,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.11.3"
+ "source": "https://github.com/twigphp/Twig/tree/v3.21.1"
},
"funding": [
{
@@ -2756,20 +2787,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-07T12:34:41+00:00"
+ "time": "2025-05-03T07:21:55+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": {},
+ "stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
- "php": ">=7.4"
+ "php": ">=8.2"
},
- "platform-dev": {},
+ "platform-dev": [],
"platform-overrides": {
- "php": "7.4.0"
+ "php": "8.2.99"
},
"plugin-api-version": "2.6.0"
}
diff --git a/hook.php b/hook.php
index 2484b2e..7f3259a 100644
--- a/hook.php
+++ b/hook.php
@@ -33,9 +33,7 @@
// Purpose of file:
// ----------------------------------------------------------------------
-use GlpiPlugin\Example\Dropdown;
use GlpiPlugin\Example\Example;
-use Dropdown as GlpiDropdown;
function plugin_change_profile_example()
{
@@ -72,7 +70,6 @@ function plugin_example_getAddSearchOptions($itemtype)
$sopt[1001]['linkfield'] = 'plugin_example_dropdowns_id';
$sopt[1001]['name'] = __('Example plugin', 'example');
}
-
return $sopt;
}
@@ -89,7 +86,6 @@ function plugin_example_getAddSearchOptionsNew($itemtype)
'name' => __('Example plugin new', 'example'),
];
}
-
return $options;
}
@@ -201,7 +197,6 @@ function plugin_example_forceGroupBy($type)
// Force add GROUP BY IN REQUEST
return true;
}
-
return false;
}
@@ -250,7 +245,7 @@ function plugin_example_addHaving($link, $nott, $type, $ID, $val, $num)
$ADD = " OR ITEM_$num IS NULL";
}
- return " $LINK ( ITEM_" . $num . $SEARCH . " $ADD ) ";
+ return " $link ( ITEM_" . $num . $SEARCH . " $ADD ) ";
}
return '';
@@ -338,7 +333,6 @@ function plugin_example_MassiveActionsFieldsDisplay($options = [])
return true;
}
}
-
// Need to return false on non display item
return false;
}
@@ -616,7 +610,6 @@ function plugin_example_install()
// To be called for each task the plugin manage
// task in class
CronTask::Register(Example::class, 'Sample', DAY_TIMESTAMP, ['param' => 50]);
-
return true;
}
@@ -710,7 +703,7 @@ function plugin_example_postinit()
*
* @param $datas array
*
- * @return un tableau
+ * @return array
**/
function plugin_retrieve_more_data_from_ldap_example(array $datas)
{
@@ -723,7 +716,7 @@ function plugin_retrieve_more_data_from_ldap_example(array $datas)
*
* @param $fields array
*
- * @return un tableau
+ * @return array
**/
function plugin_retrieve_more_field_from_ldap_example($fields)
{
@@ -744,7 +737,6 @@ function plugin_example_Status($param)
$param['ok'] = false;
}
echo "\n";
-
return $param;
}
@@ -790,12 +782,15 @@ function plugin_example_filter_actors(array $params = []): array
function plugin_example_set_impact_icon(array $params)
{
+ /** @var array $CFG_GLPI */
+ global $CFG_GLPI;
+
$itemtype = $params['itemtype'];
$items_id = $params['items_id'];
$item = getItemForItemtype($itemtype);
if ($item instanceof Computer && $item->getFromDB($items_id)) {
- return Plugin::getWebDir('example', true, false) . '/public/computer_icon.svg';
+ return $CFG_GLPI['root_doc'] . '/plugins/example/public/computer_icon.svg';
}
return null;
diff --git a/setup.php b/setup.php
index 8d71794..553e8d4 100644
--- a/setup.php
+++ b/setup.php
@@ -42,9 +42,9 @@ use GlpiPlugin\Example\Showtabitem;
define('PLUGIN_EXAMPLE_VERSION', '0.0.1');
// Minimal GLPI version, inclusive
-define('PLUGIN_EXAMPLE_MIN_GLPI', '10.0.0');
+define('PLUGIN_EXAMPLE_MIN_GLPI', '11.0.0');
// Maximum GLPI version, exclusive
-define('PLUGIN_EXAMPLE_MAX_GLPI', '10.0.99');
+define('PLUGIN_EXAMPLE_MAX_GLPI', '11.0.99');
/**
* Init hooks of the plugin.
@@ -340,7 +340,6 @@ function plugin_example_check_prerequisites()
if (false) {
return false;
}
-
return true;
}
@@ -360,6 +359,5 @@ function plugin_example_check_config($verbose = false)
if ($verbose) {
echo __('Installed / not configured', 'example');
}
-
return false;
}
diff --git a/src/Child.php b/src/Child.php
index b2960c8..e58a8b4 100644
--- a/src/Child.php
+++ b/src/Child.php
@@ -59,25 +59,25 @@ class Child extends CommonDBChild
// - CommonDBConnexity::HAVE_SAME_RIGHT_ON_ITEM we must have at least update right
// on the item
// * $mustBeAttached: some CommonDBChild can be free, without any parent.
- public static function canCreate()
+ public static function canCreate(): bool
{
return (Session::haveRight('internet', UPDATE)
&& parent::canCreate());
}
- public static function canView()
+ public static function canView(): bool
{
return (Session::haveRight('internet', READ)
&& parent::canView());
}
- public static function canUpdate()
+ public static function canUpdate(): bool
{
return (Session::haveRight('internet', UPDATE)
&& parent::canUpdate());
}
- public static function canDelete()
+ public static function canDelete(): bool
{
return (Session::haveRight('internet', DELETE)
&& parent::canDelete());
diff --git a/src/Computer.php b/src/Computer.php
index 31a4cd5..cae1dab 100644
--- a/src/Computer.php
+++ b/src/Computer.php
@@ -37,12 +37,6 @@ namespace GlpiPlugin\Example;
use CommonDBTM;
-// Class of the defined type
-
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access directly to this file");
-}
-
class Computer extends CommonDBTM
{
public static function showInfo()
diff --git a/src/DeviceCamera.php b/src/DeviceCamera.php
index 83e56a1..c71c7a9 100644
--- a/src/DeviceCamera.php
+++ b/src/DeviceCamera.php
@@ -37,12 +37,6 @@ namespace GlpiPlugin\Example;
use CommonDevice;
-// Class of the defined type
-
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access directly to this file");
-}
-
/// Class DeviceCamera
class DeviceCamera extends CommonDevice
{
diff --git a/src/Document.php b/src/Document.php
index 267b40a..8fe331d 100644
--- a/src/Document.php
+++ b/src/Document.php
@@ -1,30 +1,31 @@
.
---------------------------------------------------------------------------
+/**
+ * -------------------------------------------------------------------------
+ * Example plugin for GLPI
+ * -------------------------------------------------------------------------
+ *
+ * LICENSE
+ *
+ * This file is part of Example.
+ *
+ * Example is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Example is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Example. If not, see .
+ * -------------------------------------------------------------------------
+ * @copyright Copyright (C) 2006-2022 by Example plugin team.
+ * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html
+ * @link https://github.com/pluginsGLPI/example
+ * -------------------------------------------------------------------------
*/
/**
@@ -57,10 +58,9 @@ along with GLPI. If not, see .
namespace GlpiPlugin\Example;
use Document as GlpiDocument;
-
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access this file directly");
-}
+use Exception;
+use Glpi\Exception\Http\NotFoundHttpException;
+use Sabre\DAV\Exception\BadRequest;
class Document extends GlpiDocument
{
diff --git a/src/Example.php b/src/Example.php
index 2d1e90c..f87efc3 100644
--- a/src/Example.php
+++ b/src/Example.php
@@ -38,6 +38,7 @@ namespace GlpiPlugin\Example;
use CommonDBTM;
use CommonGLPI;
use Computer;
+use DBmysql;
use Html;
use Log;
use MassiveAction;
@@ -487,7 +488,7 @@ class Example extends CommonDBTM
parent::processMassiveActionsForOneItemtype($ma, $item, $ids);
}
- public static function generateLinkContents($link, CommonDBTM $item)
+ public static function generateLinkContents($link, CommonDBTM $item, bool $safe_url = true)
{
if (strstr($link, '[EXAMPLE_ID]')) {
$link = str_replace('[EXAMPLE_ID]', $item->getID(), $link);
diff --git a/src/Filters/ComputerModelFilter.php b/src/Filters/ComputerModelFilter.php
index d97b325..1cb4541 100644
--- a/src/Filters/ComputerModelFilter.php
+++ b/src/Filters/ComputerModelFilter.php
@@ -48,6 +48,7 @@ class ComputerModelFilter extends AbstractFilter
public static function canBeApplied(string $table): bool
{
+ /** @var DBmysql $DB */
global $DB;
return $DB->fieldExists($table, ComputerModel::getForeignKeyField());
diff --git a/src/Item_DeviceCamera.php b/src/Item_DeviceCamera.php
index 19ae9fc..25e9311 100644
--- a/src/Item_DeviceCamera.php
+++ b/src/Item_DeviceCamera.php
@@ -40,10 +40,6 @@ namespace GlpiPlugin\Example;
use GlpiPlugin\Example\DeviceCamera;
use Item_Devices;
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access directly to this file");
-}
-
/**
* Relation between item and devices
**/
diff --git a/src/NotificationTargetExample.php b/src/NotificationTargetExample.php
index 0bf18c3..d4bc300 100644
--- a/src/NotificationTargetExample.php
+++ b/src/NotificationTargetExample.php
@@ -32,10 +32,6 @@ namespace GlpiPlugin\Example;
use NotificationTarget;
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access directly to this file");
-}
-
// Class NotificationTarget
class NotificationTargetExample extends NotificationTarget
{
@@ -46,8 +42,6 @@ class NotificationTargetExample extends NotificationTarget
public function addDataForTemplate($event, $options = [])
{
- global $DB, $CFG_GLPI;
-
$this->data['##example.name##'] = __('Example', 'example');
}
}
diff --git a/src/Profile.php b/src/Profile.php
index 17dfa37..0ceeb92 100644
--- a/src/Profile.php
+++ b/src/Profile.php
@@ -34,17 +34,27 @@ use CommonGLPI;
use Html;
use Session;
-final class Profile extends \Profile
+class Profile extends \Profile
{
public function getTabNameForItem(CommonGLPI $item, $withtemplate = 0)
{
- return __('Example plugin');
+ if (
+ $item instanceof \Profile
+ && $item->getField('id')
+ ) {
+ return self::createTabEntry(__('Example plugin'));
+ }
+
+ return '';
}
public static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0)
{
- $profile = new self();
- $profile->showFormExample($item->getID());
+ if ($item instanceof self) {
+ $profile = new self();
+ $profile->showFormExample($item->getID());
+ }
+ return true;
}
public function showFormExample(int $profiles_id): void
diff --git a/src/RuleTest.php b/src/RuleTest.php
index 3690099..ca2dead 100644
--- a/src/RuleTest.php
+++ b/src/RuleTest.php
@@ -37,11 +37,6 @@ namespace GlpiPlugin\Example;
use Rule;
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access directly to this file");
-}
-
-
/**
* Rule class store all informations about a GLPI rule :
* - description
diff --git a/src/RuleTestCollection.php b/src/RuleTestCollection.php
index 8f531ad..031ca5f 100644
--- a/src/RuleTestCollection.php
+++ b/src/RuleTestCollection.php
@@ -37,11 +37,6 @@ namespace GlpiPlugin\Example;
use RuleCollection;
-if (!defined('GLPI_ROOT')) {
- die("Sorry. You can't access directly to this file");
-}
-
-
class RuleTestCollection extends RuleCollection
{
// From RuleCollection