From 59a9ac6c1780415b2b95a6150ba13b82429b1201 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos <1697880+AngelFQC@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:07:31 -0500 Subject: [PATCH 1/3] Resolve the 17 psalm baseline findings and drop the baseline (#8723) --- psalm-baseline.xml | 83 ------------------- psalm.xml | 1 - .../Admin/RoomAvailabilityController.php | 3 +- .../Admin/RoomOccupationController.php | 7 +- .../Denormalizer/Scim/UserDenormalizer.php | 3 + .../DocumentAiAssistedNormalizer.php | 22 ++--- .../GlossaryAiAssistedNormalizer.php | 22 ++--- .../Normalizer/MessageNormalizer.php | 12 +-- .../Normalizer/Scim/UserNormalizer.php | 4 +- .../Normalizer/SessionNormalizer.php | 10 +-- .../Normalizer/SocialPostNormalizer.php | 12 +-- .../Serializer/Normalizer/UserNormalizer.php | 8 +- .../Serializer/ResourceNormalizer.php | 22 ++--- ...PublicationCommentAiAssistedNormalizer.php | 22 ++--- .../UserWebserviceFieldNormalizer.php | 16 ++-- .../LearningPathQuickTestService.php | 6 ++ 16 files changed, 90 insertions(+), 163 deletions(-) delete mode 100644 psalm-baseline.xml diff --git a/psalm-baseline.xml b/psalm-baseline.xml deleted file mode 100644 index 1fd4e841263..00000000000 --- a/psalm-baseline.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $title, - 'nro_questions' => self::QUESTION_COUNT, - 'aiken_format' => $aiken, - 'ai_generated' => '1', - 'ai_provider_used' => $providerName, - 'ai_feature' => 'learning_path_quick_test', - ])]]> - - - - diff --git a/psalm.xml b/psalm.xml index 2ea85c05887..62594eb8548 100644 --- a/psalm.xml +++ b/psalm.xml @@ -8,7 +8,6 @@ xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" findUnusedBaselineEntry="false" findUnusedCode="false" - errorBaseline="psalm-baseline.xml" > diff --git a/src/CoreBundle/Controller/Admin/RoomAvailabilityController.php b/src/CoreBundle/Controller/Admin/RoomAvailabilityController.php index c3ff19604fe..9d931ca017a 100644 --- a/src/CoreBundle/Controller/Admin/RoomAvailabilityController.php +++ b/src/CoreBundle/Controller/Admin/RoomAvailabilityController.php @@ -12,6 +12,7 @@ use Chamilo\CoreBundle\Helpers\AccessUrlHelper; use Chamilo\CourseBundle\Entity\CAttendanceCalendar; use DateTime; +use Doctrine\DBAL\Types\Types; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; @@ -71,7 +72,7 @@ public function availability( .' OR (cal.room IS NULL AND a.room IS NULL AND src.room IS NULL AND IDENTITY(c.room) = :roomId)' ) ->setParameter('roomId', $room['id']) - ->setParameter('end', $end) + ->setParameter('end', $end, Types::DATETIME_MUTABLE) ->getQuery() ->getArrayResult() ; diff --git a/src/CoreBundle/Controller/Admin/RoomOccupationController.php b/src/CoreBundle/Controller/Admin/RoomOccupationController.php index 92f8ffb0334..1c194455951 100644 --- a/src/CoreBundle/Controller/Admin/RoomOccupationController.php +++ b/src/CoreBundle/Controller/Admin/RoomOccupationController.php @@ -12,6 +12,7 @@ use Chamilo\CoreBundle\Helpers\RoomAccessUrlHelper; use Chamilo\CourseBundle\Entity\CAttendanceCalendar; use DateTime; +use Doctrine\DBAL\Types\Types; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; @@ -73,9 +74,9 @@ public function occupation( .' OR (cal.room IS NULL AND a.room IS NULL AND src.room = :room)' .' OR (cal.room IS NULL AND a.room IS NULL AND src.room IS NULL AND c.room = :room)' ) - ->setParameter('room', $room) - ->setParameter('start', $start) - ->setParameter('end', $end) + ->setParameter('room', (int) $room->getId()) + ->setParameter('start', $start, Types::DATETIME_MUTABLE) + ->setParameter('end', $end, Types::DATETIME_MUTABLE) ->orderBy('cal.dateTime', 'ASC') ->getQuery() ->getArrayResult() diff --git a/src/CoreBundle/Serializer/Denormalizer/Scim/UserDenormalizer.php b/src/CoreBundle/Serializer/Denormalizer/Scim/UserDenormalizer.php index 3b5a4f3ba8c..dc921bd0606 100644 --- a/src/CoreBundle/Serializer/Denormalizer/Scim/UserDenormalizer.php +++ b/src/CoreBundle/Serializer/Denormalizer/Scim/UserDenormalizer.php @@ -69,6 +69,9 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a return $user; } + /** + * @psalm-suppress MethodSignatureMismatch + */ public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool { if (isset($context[self::ALREADY_CALLED])) { diff --git a/src/CoreBundle/Serializer/DocumentAiAssistedNormalizer.php b/src/CoreBundle/Serializer/DocumentAiAssistedNormalizer.php index a74a2725521..c9c1a6b80ea 100644 --- a/src/CoreBundle/Serializer/DocumentAiAssistedNormalizer.php +++ b/src/CoreBundle/Serializer/DocumentAiAssistedNormalizer.php @@ -32,29 +32,29 @@ public function supportsNormalization($data, ?string $format = null, array $cont return $data instanceof CDocument; } - public function normalize($object, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null + public function normalize($data, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null { $context[self::ALREADY_CALLED] = true; - $data = $this->normalizer->normalize($object, $format, $context); + $result = $this->normalizer->normalize($data, $format, $context); - if (!\is_array($data) || !$object instanceof CDocument) { - return $data; + if (!\is_array($result) || !$data instanceof CDocument) { + return $result; } - $docId = (int) ($object->getIid() ?? 0); + $docId = (int) ($data->getIid() ?? 0); if ($docId <= 0) { - $data['ai_assisted'] = false; - $data['ai_assisted_raw'] = false; + $result['ai_assisted'] = false; + $result['ai_assisted_raw'] = false; - return $data; + return $result; } $raw = $this->aiDisclosureHelper->isAiAssistedExtraField('document', $docId); - $data['ai_assisted_raw'] = (bool) $raw; - $data['ai_assisted'] = $this->aiDisclosureHelper->isDisclosureEnabled() && $raw; + $result['ai_assisted_raw'] = (bool) $raw; + $result['ai_assisted'] = $this->aiDisclosureHelper->isDisclosureEnabled() && $raw; - return $data; + return $result; } public function getSupportedTypes(?string $format): array diff --git a/src/CoreBundle/Serializer/GlossaryAiAssistedNormalizer.php b/src/CoreBundle/Serializer/GlossaryAiAssistedNormalizer.php index 9a7b0fb4258..56fa9a74fad 100644 --- a/src/CoreBundle/Serializer/GlossaryAiAssistedNormalizer.php +++ b/src/CoreBundle/Serializer/GlossaryAiAssistedNormalizer.php @@ -32,29 +32,29 @@ public function supportsNormalization($data, ?string $format = null, array $cont return $data instanceof CGlossary; } - public function normalize($object, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null + public function normalize($data, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null { $context[self::ALREADY_CALLED] = true; - $data = $this->normalizer->normalize($object, $format, $context); + $result = $this->normalizer->normalize($data, $format, $context); - if (!\is_array($data) || !$object instanceof CGlossary) { - return $data; + if (!\is_array($result) || !$data instanceof CGlossary) { + return $result; } - $iid = (int) ($object->getIid() ?? 0); + $iid = (int) ($data->getIid() ?? 0); if ($iid <= 0) { - $data['ai_assisted_raw'] = false; - $data['ai_assisted'] = false; + $result['ai_assisted_raw'] = false; + $result['ai_assisted'] = false; - return $data; + return $result; } $raw = $this->aiDisclosureHelper->isAiAssistedExtraField('glossary', $iid); - $data['ai_assisted_raw'] = (bool) $raw; - $data['ai_assisted'] = $this->aiDisclosureHelper->isDisclosureEnabled() && (bool) $raw; + $result['ai_assisted_raw'] = (bool) $raw; + $result['ai_assisted'] = $this->aiDisclosureHelper->isDisclosureEnabled() && (bool) $raw; - return $data; + return $result; } public function getSupportedTypes(?string $format): array diff --git a/src/CoreBundle/Serializer/Normalizer/MessageNormalizer.php b/src/CoreBundle/Serializer/Normalizer/MessageNormalizer.php index 4b39c0c4ca6..b7bef810b37 100644 --- a/src/CoreBundle/Serializer/Normalizer/MessageNormalizer.php +++ b/src/CoreBundle/Serializer/Normalizer/MessageNormalizer.php @@ -18,18 +18,18 @@ class MessageNormalizer implements NormalizerInterface, NormalizerAwareInterface private const ALREADY_CALLED = 'MESSAGE_NORMALIZER_ALREADY_CALLED'; - public function normalize($object, ?string $format = null, array $context = []): array + public function normalize($data, ?string $format = null, array $context = []): array { $context[self::ALREADY_CALLED] = true; - /** @var array $data */ - $data = $this->normalizer->normalize($object, $format, $context); + /** @var array $result */ + $result = $this->normalizer->normalize($data, $format, $context); - if (isset($data['content']) && \is_string($data['content'])) { - $data['content'] = Security::remove_XSS($data['content'], STUDENT); + if (isset($result['content']) && \is_string($result['content'])) { + $result['content'] = Security::remove_XSS($result['content'], STUDENT); } - return $data; + return $result; } public function supportsNormalization($data, ?string $format = null, array $context = []): bool diff --git a/src/CoreBundle/Serializer/Normalizer/Scim/UserNormalizer.php b/src/CoreBundle/Serializer/Normalizer/Scim/UserNormalizer.php index ba93a03d3b7..98a822e233b 100644 --- a/src/CoreBundle/Serializer/Normalizer/Scim/UserNormalizer.php +++ b/src/CoreBundle/Serializer/Normalizer/Scim/UserNormalizer.php @@ -27,10 +27,10 @@ public function __construct( private readonly ScimHelper $scimHelper, ) {} - public function normalize(mixed $object, ?string $format = null, array $context = []): array + public function normalize(mixed $data, ?string $format = null, array $context = []): array { /** @var User $user */ - $user = $object; + $user = $data; $uuid = $user->getUuid(); diff --git a/src/CoreBundle/Serializer/Normalizer/SessionNormalizer.php b/src/CoreBundle/Serializer/Normalizer/SessionNormalizer.php index eddd6d9b4db..cdb41a1cfc8 100644 --- a/src/CoreBundle/Serializer/Normalizer/SessionNormalizer.php +++ b/src/CoreBundle/Serializer/Normalizer/SessionNormalizer.php @@ -23,21 +23,21 @@ public function __construct( private const ALREADY_CALLED = 'SESSION_NORMALIZER_ALREADY_CALLED'; - public function normalize($object, ?string $format = null, array $context = []): array + public function normalize($data, ?string $format = null, array $context = []): array { $context[self::ALREADY_CALLED] = true; - \assert($object instanceof Session); + \assert($data instanceof Session); try { - $object->getAccessVisibility(); + $data->getAccessVisibility(); } catch (LogicException) { - $object->setAccessVisibilityByUser( + $data->setAccessVisibilityByUser( $this->userHelper->getCurrent() ); } - return $this->normalizer->normalize($object, $format, $context); + return $this->normalizer->normalize($data, $format, $context); } public function supportsNormalization($data, ?string $format = null, array $context = []): bool diff --git a/src/CoreBundle/Serializer/Normalizer/SocialPostNormalizer.php b/src/CoreBundle/Serializer/Normalizer/SocialPostNormalizer.php index dfb999f7f8c..0de25e68787 100644 --- a/src/CoreBundle/Serializer/Normalizer/SocialPostNormalizer.php +++ b/src/CoreBundle/Serializer/Normalizer/SocialPostNormalizer.php @@ -18,18 +18,18 @@ class SocialPostNormalizer implements NormalizerInterface, NormalizerAwareInterf private const ALREADY_CALLED = 'SOCIAL_POST_NORMALIZER_ALREADY_CALLED'; - public function normalize($object, ?string $format = null, array $context = []): array + public function normalize($data, ?string $format = null, array $context = []): array { $context[self::ALREADY_CALLED] = true; - /** @var array $data */ - $data = $this->normalizer->normalize($object, $format, $context); + /** @var array $result */ + $result = $this->normalizer->normalize($data, $format, $context); - if (isset($data['content']) && \is_string($data['content'])) { - $data['content'] = Security::remove_XSS($data['content'], STUDENT); + if (isset($result['content']) && \is_string($result['content'])) { + $result['content'] = Security::remove_XSS($result['content'], STUDENT); } - return $data; + return $result; } public function supportsNormalization($data, ?string $format = null, array $context = []): bool diff --git a/src/CoreBundle/Serializer/Normalizer/UserNormalizer.php b/src/CoreBundle/Serializer/Normalizer/UserNormalizer.php index 411f8c071e9..ac40063efac 100644 --- a/src/CoreBundle/Serializer/Normalizer/UserNormalizer.php +++ b/src/CoreBundle/Serializer/Normalizer/UserNormalizer.php @@ -22,15 +22,15 @@ public function __construct( private readonly NameConventionHelper $nameConventionHelper, ) {} - public function normalize($object, ?string $format = null, array $context = []): array + public function normalize($data, ?string $format = null, array $context = []): array { $context[self::ALREADY_CALLED] = true; - $data = $this->normalizer->normalize($object, $format, $context); + $result = $this->normalizer->normalize($data, $format, $context); - $data['fullName'] = $this->nameConventionHelper->getPersonName($object); + $result['fullName'] = $this->nameConventionHelper->getPersonName($data); - return $data; + return $result; } public function supportsNormalization($data, ?string $format = null, array $context = []): bool diff --git a/src/CoreBundle/Serializer/ResourceNormalizer.php b/src/CoreBundle/Serializer/ResourceNormalizer.php index 88e03c96eb2..93d53cd80b4 100644 --- a/src/CoreBundle/Serializer/ResourceNormalizer.php +++ b/src/CoreBundle/Serializer/ResourceNormalizer.php @@ -30,7 +30,7 @@ public function __construct( ) {} public function normalize( - $object, + $data, ?string $format = null, array $context = [] ): array|ArrayObject|bool|float|int|string|null { @@ -61,8 +61,8 @@ public function normalize( } } - if ($object->hasResourceNode()) { - $resourceNode = $object->getResourceNode(); + if ($data->hasResourceNode()) { + $resourceNode = $data->getResourceNode(); if ($resourceNode->hasResourceFile()) { $params = [ @@ -83,16 +83,16 @@ public function normalize( // if ($getFile) { // Get all links from resource. - if ($object instanceof AbstractResource) { - $object->setResourceLinkListFromEntity(); - $object->contentUrl = $this->generator->generate('chamilo_core_resource_view', $params); - $object->downloadUrl = $this->generator->generate('chamilo_core_resource_download', $params); + if ($data instanceof AbstractResource) { + $data->setResourceLinkListFromEntity(); + $data->contentUrl = $this->generator->generate('chamilo_core_resource_view', $params); + $data->downloadUrl = $this->generator->generate('chamilo_core_resource_download', $params); } // } // Get illustration of a resource, instead of looking for the node children to get the illustration. - if ($object instanceof ResourceIllustrationInterface) { - $object->illustrationUrl = $this->illustrationRepository->getIllustrationUrl($object); + if ($data instanceof ResourceIllustrationInterface) { + $data->illustrationUrl = $this->illustrationRepository->getIllustrationUrl($data); } // This gets the file contents, usually use to get HTML/Text data to be edited. @@ -100,13 +100,13 @@ public function normalize( && $resourceNode->hasResourceFile() && $resourceNode->hasEditableTextContent() ) { - $object->contentFile = $this->resourceNodeRepository->getResourceNodeFileContent( + $data->contentFile = $this->resourceNodeRepository->getResourceNodeFileContent( $resourceNode ); } } - return $this->normalizer->normalize($object, $format, $context); + return $this->normalizer->normalize($data, $format, $context); } public function supportsNormalization($data, ?string $format = null, array $context = []): bool diff --git a/src/CoreBundle/Serializer/StudentPublicationCommentAiAssistedNormalizer.php b/src/CoreBundle/Serializer/StudentPublicationCommentAiAssistedNormalizer.php index 24fbb65c2f0..ba9e5fa8f6d 100644 --- a/src/CoreBundle/Serializer/StudentPublicationCommentAiAssistedNormalizer.php +++ b/src/CoreBundle/Serializer/StudentPublicationCommentAiAssistedNormalizer.php @@ -33,30 +33,30 @@ public function supportsNormalization($data, ?string $format = null, array $cont return $data instanceof CStudentPublicationComment; } - public function normalize($object, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null + public function normalize($data, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null { $context[self::ALREADY_CALLED] = true; - $data = $this->normalizer->normalize($object, $format, $context); + $result = $this->normalizer->normalize($data, $format, $context); - if (!\is_array($data) || !$object instanceof CStudentPublicationComment) { - return $data; + if (!\is_array($result) || !$data instanceof CStudentPublicationComment) { + return $result; } - $iid = (int) ($object->getIid() ?? 0); + $iid = (int) ($data->getIid() ?? 0); if ($iid <= 0) { - $data['ai_assisted_raw'] = false; - $data['ai_assisted'] = false; + $result['ai_assisted_raw'] = false; + $result['ai_assisted'] = false; - return $data; + return $result; } $raw = $this->aiDisclosureHelper->isAiAssistedExtraField(self::HANDLER, $iid); - $data['ai_assisted_raw'] = (bool) $raw; - $data['ai_assisted'] = $this->aiDisclosureHelper->isDisclosureEnabled() && (bool) $raw; + $result['ai_assisted_raw'] = (bool) $raw; + $result['ai_assisted'] = $this->aiDisclosureHelper->isDisclosureEnabled() && (bool) $raw; - return $data; + return $result; } public function getSupportedTypes(?string $format): array diff --git a/src/CoreBundle/Serializer/UserWebserviceFieldNormalizer.php b/src/CoreBundle/Serializer/UserWebserviceFieldNormalizer.php index e293503962a..1a4a020ef14 100644 --- a/src/CoreBundle/Serializer/UserWebserviceFieldNormalizer.php +++ b/src/CoreBundle/Serializer/UserWebserviceFieldNormalizer.php @@ -37,29 +37,29 @@ public function __construct( private readonly Connection $connection ) {} - public function normalize(mixed $object, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null + public function normalize(mixed $data, ?string $format = null, array $context = []): array|ArrayObject|bool|float|int|string|null { $context[self::ALREADY_CALLED] = true; - $data = $this->normalizer->normalize($object, $format, $context); + $result = $this->normalizer->normalize($data, $format, $context); - if (!$object instanceof User || !\is_array($data)) { - return $data; + if (!$data instanceof User || !\is_array($result)) { + return $result; } $fieldName = trim((string) $this->settingsManager->getSetting('webservice.webservice_return_user_field')); if ('' === $fieldName || 'false' === strtolower($fieldName)) { - return $data; + return $result; } - $value = $this->resolveUserWebserviceField($object, $fieldName); + $value = $this->resolveUserWebserviceField($data, $fieldName); if (null !== $value && '' !== $value) { - $data['webserviceUserId'] = $value; + $result['webserviceUserId'] = $value; } - return $data; + return $result; } public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool diff --git a/src/CoreBundle/Service/LearningPath/LearningPathQuickTestService.php b/src/CoreBundle/Service/LearningPath/LearningPathQuickTestService.php index f8c0ec4317f..2c378f3f78f 100644 --- a/src/CoreBundle/Service/LearningPath/LearningPathQuickTestService.php +++ b/src/CoreBundle/Service/LearningPath/LearningPathQuickTestService.php @@ -324,6 +324,9 @@ private function normalizeDocumentText(string $html): string return mb_substr($text, 0, self::MAX_CONTENT_LENGTH); } + /** + * @psalm-suppress UndefinedFunction + */ private function tryNormalizeAiken(string $generated): ?string { $this->loadAikenImporter(); @@ -437,6 +440,9 @@ private function normalizeAikenSyntax(string $generated): string return trim(implode("\n", $normalizedLines)); } + /** + * @psalm-suppress UndefinedFunction + */ private function importAiken(string $aiken, string $title, string $providerName): int { $this->loadAikenImporter(); From c1cf933e3c90efcce35406a2ed297c1fbb61d51b Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos <1697880+AngelFQC@users.noreply.github.com> Date: Mon, 20 Jul 2026 22:41:28 -0500 Subject: [PATCH 2/3] Bump CI workflows to PHP 8.3 (#8723) --- .github/workflows/behat.yml | 2 +- .github/workflows/format_code.yml | 2 +- .github/workflows/php_analysis.yml | 2 +- .github/workflows/phpunit.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/behat.yml b/.github/workflows/behat.yml index 48f93643c01..2ac04b8757b 100644 --- a/.github/workflows/behat.yml +++ b/.github/workflows/behat.yml @@ -11,7 +11,7 @@ jobs: fail-fast: false matrix: operating-system: [ ubuntu-latest ] - php-versions: [ '8.2', '8.3' ] + php-versions: [ '8.3' ] steps: - name: Checkout uses: actions/checkout@v7 diff --git a/.github/workflows/format_code.yml b/.github/workflows/format_code.yml index 6835b1f4f18..36d065b2024 100644 --- a/.github/workflows/format_code.yml +++ b/.github/workflows/format_code.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-latest] - php-versions: ['8.2'] + php-versions: ['8.3'] steps: - name: Checkout uses: actions/checkout@v7 diff --git a/.github/workflows/php_analysis.yml b/.github/workflows/php_analysis.yml index be577190fef..cd7f8e22217 100644 --- a/.github/workflows/php_analysis.yml +++ b/.github/workflows/php_analysis.yml @@ -11,7 +11,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-latest] - php-versions: ['8.2'] + php-versions: ['8.3'] steps: - name: Checkout uses: actions/checkout@v7 diff --git a/.github/workflows/phpunit.yml b/.github/workflows/phpunit.yml index d4970b01b8e..7bc29fbabf1 100644 --- a/.github/workflows/phpunit.yml +++ b/.github/workflows/phpunit.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: operating-system: [ubuntu-latest] - php-versions: ['8.2'] + php-versions: ['8.3'] steps: - name: Checkout uses: actions/checkout@v7 From fdd9b523076e5e8727bdd515a9e0df8045886176 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos <1697880+AngelFQC@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:11:50 -0500 Subject: [PATCH 3/3] Minor: Format code --- .../Migrations/Schema/V200/Version20210205082253.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CoreBundle/Migrations/Schema/V200/Version20210205082253.php b/src/CoreBundle/Migrations/Schema/V200/Version20210205082253.php index 651a5041d25..293117173c8 100644 --- a/src/CoreBundle/Migrations/Schema/V200/Version20210205082253.php +++ b/src/CoreBundle/Migrations/Schema/V200/Version20210205082253.php @@ -41,7 +41,7 @@ public function up(Schema $schema): void private function migrateUserImages(IllustrationRepository $illustrationRepo, bool $splitDirectories): void { $query = $this->entityManager->createQuery( - 'SELECT u FROM Chamilo\\CoreBundle\\Entity\\User u + 'SELECT u FROM Chamilo\CoreBundle\Entity\User u WHERE u.pictureUri IS NOT NULL AND u.pictureUri <> :empty' )->setParameter('empty', ''); @@ -155,7 +155,7 @@ private function migrateUsergroupResources(): void private function migrateUsergroupImages(IllustrationRepository $illustrationRepo, bool $splitDirectories): void { $query = $this->entityManager->createQuery( - 'SELECT u FROM Chamilo\\CoreBundle\\Entity\\Usergroup u + 'SELECT u FROM Chamilo\CoreBundle\Entity\Usergroup u WHERE u.picture IS NOT NULL AND u.picture <> :empty' )->setParameter('empty', '');