GLPI is a Free Asset and IT Management Software package, Data center management, ITIL Service Desk, licenses tracking and software auditing.
This report summarizes scanner evidence for glpi-project/glpi, a PHP project with 6,545 GitHub stars. SynthScan examined 1,826,983 lines of code across 3678 source files, recording 5353 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 2.9 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 5205 finding(s).
Are imports declared and package/API names verified? 133 finding(s).
Are wrappers, guards, and repeated structures necessary? 5089 finding(s).
Which changes need focused human review? 5353 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5353 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | PluginsRector.php | 47 | function registerPluginAutoloading(array $paths): void | CODE |
| LOW | …rc/Command/GenerateFormForeachIllustrationsCommand.php | 72 | private function demoFormExistsForIllustration(string $illustration): bool | CODE |
| LOW | …rc/Command/GenerateFormForeachIllustrationsCommand.php | 81 | private function createDemoFormForIllustration(string $illustration): void | CODE |
| LOW | …rc/Command/GenerateFormForeachIllustrationsCommand.php | 93 | private function normalizeIllustrationName(string $illustration): string | CODE |
| LOW | tools/src/Command/LicenceHeadersCheckCommand.php | 490 | private function shouldLineBeLocatedBeforeHeader(string $line): bool | CODE |
| LOW | tools/src/Command/CheckDecorativeIconsCommand.php | 413 | private function isSoleContentOfUnnamedControl(string $contents, int $icon_start, int $icon_end): bool | CODE |
| LOW | js/cable.js | 51 | function refreshNetworkPortDropdown(itemtype, items_id, dom_to_update) { | CODE |
| LOW | js/common.js | 164 | function displayOtherSelectOptions(select_object, other_option_name) { | CODE |
| LOW | js/common.js | 1614 | function toggleDisclosablePasswordField(button, item) { | CODE |
| LOW⚡ | js/common.js | 1641 | function showDisclosablePasswordField(item) { | CODE |
| LOW⚡ | js/common.js | 1650 | function hideDisclosablePasswordField(item) { | CODE |
| LOW⚡ | js/common.js | 1658 | function copyDisclosablePasswordFieldToClipboard(item) { | CODE |
| LOW | js/modules/TipTap/CommentHighlightExtension.js | 66 | function getResolvedCommentAnchors(state) { | CODE |
| LOW | js/modules/TipTap/CommentHighlightExtension.js | 76 | function getRefreshedCommentAnchors(state) { | CODE |
| LOW | js/modules/Monaco/MonacoEditor.js | 62 | async function registerNewLangLoaderData() { | CODE |
| LOW | js/src/vue/Debug/Toolbar.vue | 245 | function getTotalServerExecutionTime() { | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 80 | public function testIsAvailableForMailSession(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 91 | public function testIsAvailableForSsoSessionBackedByMail(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 115 | public function testIsAvailableIsFalseForNonMailSession(int $session_authtype): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 126 | public function testIsAvailableIsFalseForSsoSessionOfLocalAccount(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 137 | public function testIsAvailableIsFalseForUnknownUser(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 149 | public function testIsAvailableIsFalseWhenAuthsIdIsMissing(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 163 | public function testIsAvailableIsFalseWhenConnectStringIsEmpty(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 174 | public function testIsAvailableIsFalseWhenMailServerIsMissing(): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 217 | public function testVerifyRejectsUnsafeInput(string $user_input): void | CODE |
| LOW | tests/imap/MailReAuthStrategyTest.php | 227 | public function testVerifyFailsClosedWhenMailServerUnreachable(): void | CODE |
| LOW | tests/imap/MailCollectorAnonymousCreationTest.php | 80 | public function testTicketCreationFromAnonymousSender(bool $use_anonymous_helpdesk): void | CODE |
| LOW | tests/imap/MailCollectorAnonymousCreationTest.php | 196 | public static function closedTicketReplyProvider(): iterable | CODE |
| LOW | tests/imap/MailCollectorAnonymousCreationTest.php | 226 | public function testFollowupCreationFromAnonymousSenderOnOpenTicket( | CODE |
| LOW | tests/imap/MailCollectorAnonymousCreationTest.php | 244 | public function testFollowupCreationFromAnonymousSenderOnClosedTicket( | CODE |
| LOW | tests/imap/MailCollectorAnonymousCreationTest.php | 262 | private function checkAnonymousReplyOutcome( | CODE |
| LOW | tests/imap/MailCollectorTest.php | 396 | public function testIsItilNotificationFromSelf(string $message_id, bool $is_self_itil_notification, ?array $values) | CODE |
| LOW | tests/imap/MailCollectorTest.php | 411 | public function testExtractValuesFromRefHeader(string $message_id, bool $is_self_itil_notification, ?array $values) | CODE |
| LOW | tests/imap/MailCollectorTest.php | 418 | public static function itemReferenceHeaderProvider() | CODE |
| LOW | tests/imap/MailCollectorTest.php | 703 | public function testIsResponseToMessageSentByAnotherGlpi( | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1307 | public function testAddItemFromMessageCatchesInsertFailure(): void | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1324 | public static function mailServerProtocolsProvider() | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1367 | public function testGetMailServerProtocols( | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1396 | public static function mailServerProtocolsHookProvider() | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1546 | public function testGetAdditionnalMailServerProtocols( | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1649 | public function testBlacklistedDocumentNotImportedFromMail() | CODE |
| LOW | tests/imap/MailCollectorTest.php | 1813 | public function testGetHeadersToContainsAllRecipients() | CODE |
| LOW | tests/web/ApiDetectionTest.php | 59 | public function testApiEndpointBypassesCsrfCheck() | CODE |
| LOW | tests/web/ApiDetectionTest.php | 75 | public function testFrontScriptWithApiLikePath() | CODE |
| LOW | tests/web/APIRestTest.php | 490 | public function testSearchWithTableAdditionalField() | CODE |
| LOW | tests/web/APIRestTest.php | 531 | public function testSearchWithBadCriteria() | CODE |
| LOW | tests/web/APIRestTest.php | 1026 | public function testGetItemsDefaultRangeContentRangeHeader() | CODE |
| LOW | tests/web/APIRestTest.php | 1378 | public function testProtectedConfigSettings() | CODE |
| LOW | tests/web/APIRestTest.php | 1441 | public function testProtectedDeviceSimcardFields() | CODE |
| LOW | tests/web/APIRestTest.php | 2002 | public function testInitSessionUserTokenFailIfNotEnabled() | CODE |
| LOW | tests/web/APIRestTest.php | 2024 | public function testInitSessionCredentialsFailIfNotEnabled() | CODE |
| LOW | tests/web/APIRestTest.php | 2041 | public function testInitSessionFallbackToCredentials() | CODE |
| LOW | tests/web/APIRestTest.php | 2081 | public function testUpdateItemWithIdInQueryString() | CODE |
| LOW | tests/web/APIRestTest.php | 2179 | public function testUpdateItemWithNoInput() | CODE |
| LOW | tests/web/APIRestTest.php | 2236 | private function assertComputerNetworkPorts($computer_id, $shouldBeEmpty) | CODE |
| LOW | tests/web/APIRestTest.php | 2323 | public function testGetItemsCommonDBChild() | CODE |
| LOW | tests/web/APIRestTest.php | 2511 | public function testDeprecatedCreateItems(string $provider) | CODE |
| LOW | tests/web/APIRestTest.php | 2545 | public function testDeprecatedUpdateItems(string $provider) | CODE |
| LOW | tests/web/APIRestTest.php | 2587 | public function testDeprecatedDeleteItems(string $provider) | CODE |
| LOW | tests/web/APIRestTest.php | 2620 | public function testDeprecatedListSearchOptions(string $provider) | CODE |
| 5014 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | js/modules/Forms/QuestionDateTime.js | 146 | dateInput.prop('placeholder', inputPlaceholder); | CODE |
| LOW | js/src/vue/FuzzySearch/Modal.vue | 114 | <input type="text" class="form-control" name="fuzzysearch_modal_search_menu" :placeholder="place | CODE |
| LOW | tests/js/vue/Kanban/Kanban.spec.js | 80 | "name":{"placeholder":"Name"}, | CODE |
| LOW | tests/js/vue/Kanban/Kanban.spec.js | 81 | "content":{"placeholder":"Content","type":"textarea"}, | CODE |
| LOW | tests/js/vue/Kanban/Kanban.spec.js | 95 | "name":{"placeholder":"Name"}, | CODE |
| LOW | tests/js/vue/Kanban/Kanban.spec.js | 96 | "content":{"placeholder":"Content","type":"textarea"}, | CODE |
| LOW | tests/js/modules/ObjectLock.spec.js | 106 | name: 'John Doe' | CODE |
| LOW | tests/js/modules/ObjectLock.spec.js | 148 | name: 'John Doe' | CODE |
| LOW | tests/js/modules/ObjectLock.spec.js | 184 | name: 'John Doe' | CODE |
| LOW | tests/js/modules/ObjectLock.spec.js | 214 | name: 'John Doe' | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 54 | {id: 2, text: 'John Doe'}, | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 55 | {id: 3, text: 'Jane Doe'}, | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 63 | text: 'John Doe', | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 68 | text: 'Jane Doe', | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 86 | {id: 2, text: 'John Doe'}, | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 87 | {id: 3, text: 'Jane Doe'}, | CODE |
| LOW⚡ | tests/js/modules/UserMention/UserMention.spec.js | 96 | text: 'John Doe', | CODE |
| LOW | tests/LDAP/AuthLdapTest.php | 333 | 'cn' => 'John Doe', | CODE |
| LOW | tests/e2e/specs/Form/public.spec.ts | 48 | await anonymousPage.getByRole('textbox', { name: 'Name' }).fill('John Doe'); | CODE |
| LOW | tests/e2e/specs/Helpdesk/home_search.spec.ts | 48 | description: string = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', | CODE |
| LOW | tests/e2e/specs/Helpdesk/home_search.spec.ts | 48 | description: string = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', | CODE |
| LOW | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 128 | 'description': 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', | CODE |
| LOW | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 128 | 'description': 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.', | CODE |
| LOW⚡ | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 189 | 'description': 'Lorem ipsum dolor sit amet.', | CODE |
| LOW⚡ | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 189 | 'description': 'Lorem ipsum dolor sit amet.', | CODE |
| LOW⚡ | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 192 | 'description': 'Lorem ipsum dolor sit amet.', | CODE |
| LOW⚡ | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 192 | 'description': 'Lorem ipsum dolor sit amet.', | CODE |
| LOW⚡ | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 195 | 'description': 'Lorem ipsum dolor sit amet.', | CODE |
| LOW⚡ | tests/e2e/specs/Helpdesk/service_catalog.spec.ts | 195 | 'description': 'Lorem ipsum dolor sit amet.', | CODE |
| LOW | tests/functional/AuthTest.php | 218 | ['fake_user', 'fake_user', false, '', false], | CODE |
| LOW | tests/functional/ToolboxTest.php | 126 | 'name' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida, nisi vel scelerisq | CODE |
| LOW | tests/functional/ToolboxTest.php | 126 | 'name' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida, nisi vel scelerisq | CODE |
| LOW | tests/functional/UserEmailTest.php | 100 | 'email' => \bin2hex(\random_bytes(16)) . '@example.org', | CODE |
| LOW | tests/functional/DbUtilsTest.php | 1924 | 'expected' => 'John Doe', | CODE |
| LOW | tests/functional/DbUtilsTest.php | 1946 | 'expected' => 'John Doe', | CODE |
| LOW | tests/functional/NotificationTargetKnowbaseItemTest.php | 73 | 'email' => 'test@test.com', | CODE |
| LOW⚡ | tests/functional/KnowbaseItemTest.php | 2955 | 'answer' => '<h1>Full procedure</h1><p>' . str_repeat('Lorem ipsum dolor sit amet. ', 30) . '</p>', | CODE |
| LOW⚡ | tests/functional/KnowbaseItemTest.php | 2955 | 'answer' => '<h1>Full procedure</h1><p>' . str_repeat('Lorem ipsum dolor sit amet. ', 30) . '</p>', | CODE |
| LOW⚡ | tests/functional/KnowbaseItemTest.php | 2974 | . '<p>' . str_repeat('Lorem ipsum dolor sit amet. ', 30) . '</p>', | CODE |
| LOW⚡ | tests/functional/KnowbaseItemTest.php | 2974 | . '<p>' . str_repeat('Lorem ipsum dolor sit amet. ', 30) . '</p>', | CODE |
| LOW | …/functional/Glpi/Form/EndUserInputNameProviderTest.php | 82 | $form->getQuestions()[array_keys($form->getQuestions())[0]]->getEndUserInputName() => 'John Doe', | CODE |
| LOW | …/functional/Glpi/Form/EndUserInputNameProviderTest.php | 90 | $form->getQuestions()[array_keys($form->getQuestions())[0]]->getID() => 'John Doe', | CODE |
| LOW | …/functional/Glpi/Form/EndUserInputNameProviderTest.php | 120 | $name_question_id => 'John Doe', | CODE |
| LOW | …tional/Glpi/Form/AnswersHandler/AnswersHandlerTest.php | 196 | 'Mandatory Name' => 'John Doe', | CODE |
| LOW | …sts/functional/Glpi/Form/Export/FormSerializerTest.php | 426 | $user = $this->createItem('User', ['name' => 'John Doe']); | CODE |
| LOW⚡ | …nctional/Glpi/Form/Tag/ItemPropertyTagProviderTest.php | 292 | 'email' => 'primary@example.org', | CODE |
| LOW⚡ | …nctional/Glpi/Form/Tag/ItemPropertyTagProviderTest.php | 296 | 'email' => 'secondary@example.org', | CODE |
| LOW | …nctional/Glpi/Form/Tag/ItemPropertyTagProviderTest.php | 307 | 'primary@example.org, secondary@example.org', | CODE |
| LOW⚡ | …ctional/Glpi/Progress/ConsoleProgressIndicatorTest.php | 86 | 'message' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW⚡ | …ctional/Glpi/Progress/ConsoleProgressIndicatorTest.php | 86 | 'message' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW⚡ | …ctional/Glpi/Progress/ConsoleProgressIndicatorTest.php | 87 | 'expected_output' => '> Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW⚡ | …ctional/Glpi/Progress/ConsoleProgressIndicatorTest.php | 87 | 'expected_output' => '> Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW | …nctional/Glpi/Progress/StoredProgressIndicatorTest.php | 91 | $instance->addMessage(MessageType::Notice, 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); | CODE |
| LOW | …nctional/Glpi/Progress/StoredProgressIndicatorTest.php | 91 | $instance->addMessage(MessageType::Notice, 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'); | CODE |
| LOW | …nctional/Glpi/Progress/StoredProgressIndicatorTest.php | 118 | 'message' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW | …nctional/Glpi/Progress/StoredProgressIndicatorTest.php | 118 | 'message' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', | CODE |
| LOW | tests/functional/Glpi/Config/ConfigContainerTest.php | 217 | 'admin_email' => 'admin@example.com', // only excluded when $safer | CODE |
| LOW⚡ | tests/functional/Glpi/Api/HL/OpenAPIGeneratorTest.php | 83 | ['path' => '/Assistance/Ticket', 'placeholder' => 'itemtype'], | CODE |
| LOW⚡ | tests/functional/Glpi/Api/HL/OpenAPIGeneratorTest.php | 84 | ['path' => '/Assistance/Change', 'placeholder' => 'itemtype'], | CODE |
| LOW⚡ | tests/functional/Glpi/Api/HL/OpenAPIGeneratorTest.php | 85 | ['path' => '/Assistance/Problem', 'placeholder' => 'itemtype'], | CODE |
| 71 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | playwright.config.ts | 81 | COMMENT | |
| LOW | tools/make_release.sh | 1 | #!/bin/bash -eu | COMMENT |
| LOW | tools/make_release.sh | 21 | # it under the terms of the GNU General Public License as published by | COMMENT |
| LOW | tools/build_fonts.sh | 1 | #!/bin/bash -eu | COMMENT |
| LOW | tools/build_fonts.sh | 21 | # the Free Software Foundation, either version 3 of the License, or | COMMENT |
| LOW | tools/github-nightly-description.sh | 1 | #!/bin/bash -eu | COMMENT |
| LOW | tools/github-nightly-description.sh | 21 | # it under the terms of the GNU General Public License as published by | COMMENT |
| LOW | tools/build_glpi.sh | 1 | #!/bin/bash -eu | COMMENT |
| LOW | tools/build_glpi.sh | 21 | # it under the terms of the GNU General Public License as published by | COMMENT |
| LOW | install/empty_data.php | 4901 | ##lang.ticket.solution.type## : ##ticket.solution.type## | COMMENT |
| LOW | install/empty_data.php | 4921 | ##ENDIFticket.itemtype## | COMMENT |
| LOW | install/empty_data.php | 4981 | ##lang.contract.name## : ##contract.name## | COMMENT |
| LOW | install/empty_data.php | 5001 | 'subject' => '##ticket.action## ##ticket.title##', | COMMENT |
| LOW | install/empty_data.php | 5021 | 'content_html' => '<div>##lang.ticket.url## : <a href="##ticket.url##"> | COMMENT |
| LOW | install/empty_data.php | 5181 | COMMENT | |
| LOW | install/empty_data.php | 5301 | 'subject' => '##problem.action## ##problem.title##', | COMMENT |
| LOW | install/empty_data.php | 5321 | ##lang.problem.content## : ##problem.content## | COMMENT |
| LOW | install/empty_data.php | 5401 | ##lang.change.solvedate## : ##change.solvedate## | COMMENT |
| LOW | install/empty_data.php | 5421 | ##lang.change.solvedate## : ##change.solvedate## | COMMENT |
| LOW | install/empty_data.php | 5501 | ##lang.project.state## : ##project.state## | COMMENT |
| LOW | install/empty_data.php | 5661 | ##IFuser.password.has_expired=1## | COMMENT |
| LOW | install/empty_data.php | 5761 | ##lang.knowbaseitem.begin_date## : ##knowbaseitem.begin_date## | COMMENT |
| LOW | js/modules/Forms/EditorController.js | 2581 | }); | COMMENT |
| LOW | js/modules/Knowbase/UploadController.js | 101 | COMMENT | |
| LOW | tests/glpi-0.85.5-empty.sql | 3841 | ##lang.reservation.item## : ##reservation.item## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 3861 | ##lang.ticket.authors## : ##IFticket.authors## ##ticket.authors## ##ENDIFticket.authors## ##ELSEticket.authors##--##END | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 3881 | ##lang.ticket.impact## : ##ticket.impact## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 3941 | ##IFcontract.type####lang.contract.type## : ##contract.type####ENDIFcontract.type## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 3961 | ##ticket.authors## ##ENDIFticket.authors## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 3981 | ##ENDIFticket.authors## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 4101 | COMMENT | |
| LOW | tests/glpi-0.85.5-empty.sql | 4141 | ##lang.license.item## : ##license.item## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 4181 | ##lang.problem.solution.description## : ##problem.solution.description## ##ENDIFproblem.storestatus## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 4201 | ##lang.problem.solution.description## : ##problem.solution.description## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 4241 | ##lang.recall.planning.end##: ##recall.planning.end## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 4261 | ##IFchange.assigntogroups## ##lang.change.assigntogroups## : ##change.assigntogroups## ##ENDIFchange.assigntogroups## | COMMENT |
| LOW | tests/glpi-0.85.5-empty.sql | 4321 | ##lang.project.priority## : ##project.priority## | COMMENT |
| LOW | tests/run_tests.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tests/run_tests.sh | 21 | # it under the terms of the GNU General Public License as published by | COMMENT |
| LOW | tests/e2e/specs/dropdown.spec.ts | 61 | // prepare to intercept the ajax call to getDropdownValue | COMMENT |
| LOW | tests/e2e/specs/Helpdesk/home.spec.ts | 201 | // RSS feeds are not tested as they are only displayed if a real feed | COMMENT |
| LOW | tests/functional/KnowbaseItemTest.php | 4121 | $this->assertTrue($hidden_obj->getFromDB($hidden->getID())); | COMMENT |
| LOW | tests/functional/SLMTest.php | 1101 | ], | COMMENT |
| LOW | tests/functional/Glpi/Form/Condition/EngineTest.php | 1081 | ], | COMMENT |
| LOW | .github/workflows/commit-authorship.yml | 1 | name: "Commit authorship gate" | COMMENT |
| LOW | .github/actions/init_build.sh | 1 | #!/bin/bash | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 81 | } | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 101 | // of the widget element on plugin initialization. | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 121 | // The following option limits the number of files uploaded with one | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 141 | // data and set to 'redirect' if this option is empty: | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 161 | // By default, failed (abort or error) file uploads are removed from the | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 201 | // using this option, which accepts an array of objects with name and | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 241 | COMMENT | |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 261 | // progressall: function (e, data) {}, // .on('fileuploadprogressall', func); | COMMENT |
| LOW | lib/blueimp/jquery-file-upload/jquery.fileupload.js | 281 | // Callback before the start of each chunk upload request (before form data initialization): | COMMENT |
| LOW | …/blueimp/jquery-file-upload/jquery.iframe-transport.js | 41 | // options.paramName: the parameter name for the file form data, | COMMENT |
| LOW | src/Lock.php | 281 | // $items_id_2 = 'items_id_asset'; | COMMENT |
| LOW | src/User.php | 6041 | // see https://docs.ldap.com/ldap-sdk/docs/tool-usages/ldapsearch.html | COMMENT |
| LOW | src/CommonITILObject.php | 9861 | // | COMMENT |
| LOW | src/UploadHandler.php | 161 | // 1. Set to 1 to download files via readfile method through PHP | COMMENT |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/make_release.sh | 4 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/make_release.sh | 14 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/make_release.sh | 33 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/build_fonts.sh | 4 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/build_fonts.sh | 13 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_fonts.sh | 32 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/github-nightly-description.sh | 4 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/github-nightly-description.sh | 14 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/github-nightly-description.sh | 33 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/build_glpi.sh | 4 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/build_glpi.sh | 14 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/build_glpi.sh | 33 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/run_tests.sh | 4 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tests/run_tests.sh | 14 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | tests/run_tests.sh | 33 | # --------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/update.php | 131 | // Step 1: Confirmation screen (needed for install wizard flow) | COMMENT |
| LOW | js/impact.js | 3436 | // being placed into a compound, we need to check if it was moved | COMMENT |
| LOW⚡ | js/modules/KnowbaseEditor.js | 710 | // Step 1: Upload to GLPI temp dir | COMMENT |
| LOW⚡ | js/modules/KnowbaseEditor.js | 713 | // Step 2: Create Document via controller | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 119 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 123 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 129 | // Step 4: import | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 150 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 154 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 164 | // Step 3: resolve issues | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 194 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 200 | // Step 4: import | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 221 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 225 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 257 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 266 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/functional/CommonDBTMTest.php | 2725 | // Step 1: create the item and assert successful creation | COMMENT |
| LOW⚡ | tests/functional/CommonDBTMTest.php | 2730 | // Step 2: update the item with new values (including long completename) and check again | COMMENT |
| LOW⚡ | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2040 | // Step 1: Full inventory (software + OS) on computer ARN2032 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2064 | // Step 2: Full inventory (software + OS) on a second computer ARN2045 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2088 | // Step 3: Partial inventory (software + OS) on a third computer ARN3045 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2112 | // Step 4: Full inventory with OS only (no software) on ARN4058 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2125 | // Step 5: Partial inventory with software only (no OS) on ARN4058 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2149 | // Step 6: Full inventory with software and without OS should never happen | COMMENT |
| LOW | src/CommonDBTM.php | 6068 | * The purpose of this function is to try to access the friendly name | COMMENT |
| LOW | src/Glpi/Api/HL/Doc/Schema.php | 299 | // We need to check if the current parent exists in the list of joins. If not, we need to find the c | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install/update.php | 131 | // Step 1: Confirmation screen (needed for install wizard flow) | COMMENT |
| LOW⚡ | js/modules/KnowbaseEditor.js | 710 | // Step 1: Upload to GLPI temp dir | COMMENT |
| LOW⚡ | js/modules/KnowbaseEditor.js | 713 | // Step 2: Create Document via controller | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 119 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 123 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 129 | // Step 4: import | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 150 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 154 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 164 | // Step 3: resolve issues | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 194 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 200 | // Step 4: import | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 221 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 225 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 257 | // Step 1: file selection | COMMENT |
| LOW⚡ | tests/e2e/specs/Form/Serializer/import.spec.ts | 266 | // Step 2: preview | COMMENT |
| LOW⚡ | tests/functional/CommonDBTMTest.php | 2725 | // Step 1: create the item and assert successful creation | COMMENT |
| LOW⚡ | tests/functional/CommonDBTMTest.php | 2730 | // Step 2: update the item with new values (including long completename) and check again | COMMENT |
| LOW⚡ | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2040 | // Step 1: Full inventory (software + OS) on computer ARN2032 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2064 | // Step 2: Full inventory (software + OS) on a second computer ARN2045 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2088 | // Step 3: Partial inventory (software + OS) on a third computer ARN3045 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2112 | // Step 4: Full inventory with OS only (no software) on ARN4058 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2125 | // Step 5: Partial inventory with software only (no OS) on ARN4058 | COMMENT |
| LOW | tests/functional/Glpi/Inventory/Assets/SoftwareTest.php | 2149 | // Step 6: Full inventory with software and without OS should never happen | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/make_release.sh | 18 | # This file is part of GLPI. | COMMENT |
| MEDIUM⚡ | tools/build_fonts.sh | 17 | # This file is part of GLPI. | COMMENT |
| MEDIUM⚡ | tools/github-nightly-description.sh | 18 | # This file is part of GLPI. | COMMENT |
| MEDIUM⚡ | tools/build_glpi.sh | 18 | # This file is part of GLPI. | COMMENT |
| MEDIUM⚡ | tests/run_tests.sh | 18 | # This file is part of GLPI. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | js/common.js | 2052 | $.blueimp.fileupload.prototype.options.add.call(this, e, data); | CODE |
| CRITICAL | …ueimp/jquery-file-upload/jquery.fileupload-validate.js | 30 | $.blueimp.fileupload.prototype.options.processQueue.push({ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | js/modules/Forms/EditorController.js | 399 | * This make sure we don't forget to track changes when needed. | COMMENT |
| LOW | src/ProfileRight.php | 316 | // Don't forget to complete the profile rights ... | COMMENT |