Fix(CI): phpstan (#109)

This commit is contained in:
Romain B.
2025-10-03 14:57:54 +02:00
committed by GitHub
parent 69426cded6
commit c21b23e716
7 changed files with 38 additions and 21 deletions

View File

@@ -624,12 +624,11 @@ function plugin_example_uninstall()
ProfileRight::deleteProfileRights([Example::$rightname]);
$notif = new Notification();
$options = ['itemtype' => 'Ticket',
$notif->deleteByCriteria([
'itemtype' => 'Ticket',
'event' => 'plugin_example',
'FIELDS' => 'id'];
foreach ($DB->request('glpi_notifications', $options) as $data) {
$notif->delete($data);
}
'FIELDS' => 'id',
]);
// Old version tables
if ($DB->tableExists('glpi_dropdown_plugin_example')) {
$query = 'DROP TABLE `glpi_dropdown_plugin_example`';

View File

@@ -1,6 +1,9 @@
includes:
- ../../vendor/glpi-project/phpstan-glpi/extension.neon
- ../../vendor/phpstan/phpstan-deprecation-rules/rules.neon
- ../../vendor/thecodingmachine/phpstan-safe-rule/phpstan-safe-rule.neon
parameters:
parallel:
maximumNumberOfProcesses: 2
level: 5
paths:
- front
@@ -10,10 +13,12 @@ parameters:
- setup.php
- stat.php
scanDirectories:
- ../../inc
- ../../src
- ../../front
bootstrapFiles:
- ../../stubs/glpi_constants.php
- ../../vendor/autoload.php
- setup.php
treatPhpDocTypesAsCertain: false
ignoreErrors:
- message: "#.*always true#"
- message: "#Unreachable statement#"

View File

@@ -28,6 +28,8 @@
* -------------------------------------------------------------------------
*/
use function Safe\define;
// ----------------------------------------------------------------------
// Original Author of file:
// Purpose of file:

View File

@@ -39,6 +39,8 @@ use GlpiPlugin\Example\Profile;
use GlpiPlugin\Example\RuleTestCollection;
use GlpiPlugin\Example\Showtabitem;
use function Safe\define;
define('PLUGIN_EXAMPLE_VERSION', '0.1.0');
// Minimal GLPI version, inclusive

View File

@@ -57,8 +57,17 @@
namespace GlpiPlugin\Example;
use Glpi\Exception\Http\NotFoundHttpException;
use Glpi\Exception\Http\HttpException;
use Document as GlpiDocument;
use function Safe\filemtime;
use function Safe\filesize;
use function Safe\fopen;
use function Safe\fread;
use function Safe\preg_match;
use function Safe\set_time_limit;
class Document extends GlpiDocument
{
/**
@@ -142,8 +151,7 @@ class Document extends GlpiDocument
// Ensure the file exists
if (!file_exists($streamSource) || !is_file($streamSource)) {
header('HTTP/1.0 404 Not Found');
exit(0);
throw new NotFoundHttpException();
}
// Download range defaults to the full file
@@ -157,8 +165,7 @@ class Document extends GlpiDocument
// Open the file
$fileHandle = @fopen($streamSource, 'rb');
if (!$fileHandle) {
header('HTTP/1.0 500 Internal Server Error');
exit(0);
throw new HttpException(500, 'Internal Server Error');
}
// set range if specified by the client
@@ -174,8 +181,7 @@ class Document extends GlpiDocument
// seek to the begining of the range
$currentPosition = $begin;
if (fseek($fileHandle, $begin, SEEK_SET) < 0) {
header('HTTP/1.0 500 Internal Server Error');
exit(0);
throw new HttpException(500, 'Internal Server Error');
}
// send headers to ensure the client is able to detect a corrupted download
@@ -206,9 +212,8 @@ class Document extends GlpiDocument
// allow a few seconds to send a few KB.
set_time_limit(10);
$content = fread($fileHandle, min(1024 * 16, $end - $currentPosition + 1));
if ($content === false) {
header('HTTP/1.0 500 Internal Server Error', true); // Replace previously sent headers
exit(0);
if (empty($content)) {
throw new HttpException(500, 'Internal Server Error');
} else {
print $content;
}
@@ -217,6 +222,6 @@ class Document extends GlpiDocument
}
// End now to prevent any unwanted bytes
exit(0);
return;
}
}

View File

@@ -49,6 +49,8 @@ use Preference;
use Session;
use Supplier;
use function Safe\strtotime;
// Class of the defined type
class Example extends CommonDBTM
{

View File

@@ -28,6 +28,8 @@
* -------------------------------------------------------------------------
*/
use function Safe\define;
// ----------------------------------------------------------------------
// Original Author of file:
// Purpose of file: