diff --git a/src/CoreBundle/Entity/AbstractResource.php b/src/CoreBundle/Entity/AbstractResource.php index fa4ef2aba9..7deb24791a 100644 --- a/src/CoreBundle/Entity/AbstractResource.php +++ b/src/CoreBundle/Entity/AbstractResource.php @@ -306,7 +306,7 @@ abstract class AbstractResource return null !== $this->parentResourceNode && 0 !== $this->parentResourceNode; } - public function setParentResourceNode($resourceNode): self + public function setParentResourceNode(?int $resourceNode): self { $this->parentResourceNode = $resourceNode; @@ -328,7 +328,7 @@ abstract class AbstractResource return $this->uploadFile; } - public function setUploadFile($file): self + public function setUploadFile(?UploadedFile $file): self { $this->uploadFile = $file; diff --git a/src/CoreBundle/Entity/Listener/CourseListener.php b/src/CoreBundle/Entity/Listener/CourseListener.php index 923e5ba2f7..b528de89b8 100644 --- a/src/CoreBundle/Entity/Listener/CourseListener.php +++ b/src/CoreBundle/Entity/Listener/CourseListener.php @@ -84,11 +84,9 @@ class CourseListener } /** - * @param CourseRepository $repo - * * @throws Exception */ - protected function checkLimit($repo, Course $course, AccessUrl $url): void + protected function checkLimit(CourseRepository $repo, Course $course, AccessUrl $url): void { $limit = $url->getLimitCourses(); diff --git a/src/CoreBundle/Entity/Listener/ResourceListener.php b/src/CoreBundle/Entity/Listener/ResourceListener.php index 09c15a74f8..2f64f537d7 100644 --- a/src/CoreBundle/Entity/Listener/ResourceListener.php +++ b/src/CoreBundle/Entity/Listener/ResourceListener.php @@ -123,7 +123,7 @@ class ResourceListener ]); if (null === $resourceType) { - throw new InvalidArgumentException("ResourceType: {$name} not found"); + throw new InvalidArgumentException(sprintf('ResourceType: %s not found', $name)); } $resourceNode diff --git a/src/CoreBundle/Entity/Listener/ResourceNodeListener.php b/src/CoreBundle/Entity/Listener/ResourceNodeListener.php index f150b26f10..89f55f2185 100644 --- a/src/CoreBundle/Entity/Listener/ResourceNodeListener.php +++ b/src/CoreBundle/Entity/Listener/ResourceNodeListener.php @@ -55,7 +55,7 @@ class ResourceNodeListener if ($resourceNode->hasResourceFile() && $resourceNode->hasEditableTextContent()) { $fileName = $this->resourceNodeRepository->getFilename($resourceNode->getResourceFile()); - error_log("fileName: {$fileName}"); + error_log(sprintf('fileName: %s', $fileName)); if ($fileName) { error_log('updated'); $content = $resourceNode->getContent(); diff --git a/src/CoreBundle/Entity/Listener/SessionListener.php b/src/CoreBundle/Entity/Listener/SessionListener.php index 82b2b9a80c..0920d293a5 100644 --- a/src/CoreBundle/Entity/Listener/SessionListener.php +++ b/src/CoreBundle/Entity/Listener/SessionListener.php @@ -56,11 +56,9 @@ class SessionListener } /** - * @param SessionRepository $repo - * * @throws Exception */ - protected function checkLimit($repo, AccessUrl $url): void + protected function checkLimit(SessionRepository $repo, AccessUrl $url): void { $limit = $url->getLimitSessions(); diff --git a/src/CoreBundle/EventListener/CourseListener.php b/src/CoreBundle/EventListener/CourseListener.php index 5404e34c60..e818e91e0f 100644 --- a/src/CoreBundle/EventListener/CourseListener.php +++ b/src/CoreBundle/EventListener/CourseListener.php @@ -328,13 +328,7 @@ class CourseListener //$request->setLocale($request->getPreferredLanguage()); } - /** - * @param null|Course $course - * @param int $sessionId - * @param int $groupId - * @param string $origin - */ - private function generateCourseUrl($course, $sessionId, $groupId, $origin): string + private function generateCourseUrl(?Course $course, int $sessionId, int $groupId, string $origin): string { if (null !== $course) { $cidReqURL = '&cid='.$course->getId(); diff --git a/src/CoreBundle/EventListener/HTTPExceptionListener.php b/src/CoreBundle/EventListener/HTTPExceptionListener.php index bcb00bf3cd..22b329260a 100644 --- a/src/CoreBundle/EventListener/HTTPExceptionListener.php +++ b/src/CoreBundle/EventListener/HTTPExceptionListener.php @@ -25,6 +25,7 @@ final class HTTPExceptionListener 'error' => $exception->getMessage(), ]); $response->setStatusCode($exception->getStatusCode()); + $event->setResponse($response); } } diff --git a/src/CoreBundle/EventListener/LoginSuccessHandler.php b/src/CoreBundle/EventListener/LoginSuccessHandler.php index 8a1815815f..13b539d44a 100644 --- a/src/CoreBundle/EventListener/LoginSuccessHandler.php +++ b/src/CoreBundle/EventListener/LoginSuccessHandler.php @@ -37,9 +37,8 @@ class LoginSuccessHandler public function onSecurityInteractiveLogin(InteractiveLoginEvent $event) { $request = $event->getRequest(); - $user = $event->getAuthenticationToken()->getUser(); /** @var User $user */ - //$user = $token->getUser(); + $user = $event->getAuthenticationToken()->getUser(); $userId = $user->getId(); $session = $request->getSession(); diff --git a/src/CoreBundle/EventListener/LogoutListener.php b/src/CoreBundle/EventListener/LogoutListener.php index 53b0650efa..bc53c4d078 100644 --- a/src/CoreBundle/EventListener/LogoutListener.php +++ b/src/CoreBundle/EventListener/LogoutListener.php @@ -83,7 +83,7 @@ class LogoutListener } $online_table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ONLINE); - $sql = 'DELETE FROM '.$online_table." WHERE login_user_id = {$userId}"; + $sql = "DELETE FROM $online_table WHERE login_user_id = $userId"; $connection->executeQuery($sql); } diff --git a/src/CoreBundle/EventSubscriber/LocaleSubscriber.php b/src/CoreBundle/EventSubscriber/LocaleSubscriber.php index 98d8f6ca8a..b16a71c584 100644 --- a/src/CoreBundle/EventSubscriber/LocaleSubscriber.php +++ b/src/CoreBundle/EventSubscriber/LocaleSubscriber.php @@ -108,7 +108,7 @@ class LocaleSubscriber implements EventSubscriberInterface $locale = ''; foreach ($priorityList as $setting) { - $priority = $this->settingsManager->getSetting("language.{$setting}"); + $priority = $this->settingsManager->getSetting(sprintf('language.%s', $setting)); if (!empty($priority) && isset($localeList[$priority])) { $locale = $localeList[$priority]; diff --git a/src/CoreBundle/Form/BranchType.php b/src/CoreBundle/Form/BranchType.php index 42c2fc8596..2cd4efa211 100644 --- a/src/CoreBundle/Form/BranchType.php +++ b/src/CoreBundle/Form/BranchType.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Form; +use Chamilo\CoreBundle\Entity\BranchSync; use DateTime; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\EmailType; @@ -84,7 +85,7 @@ class BranchType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\BranchSync', + 'data_class' => BranchSync::class, ] ); } diff --git a/src/CoreBundle/Form/DataTransformer/ResourceToIdentifierTransformer.php b/src/CoreBundle/Form/DataTransformer/ResourceToIdentifierTransformer.php index b48a3c46ad..db0c7cbde2 100644 --- a/src/CoreBundle/Form/DataTransformer/ResourceToIdentifierTransformer.php +++ b/src/CoreBundle/Form/DataTransformer/ResourceToIdentifierTransformer.php @@ -16,7 +16,7 @@ final class ResourceToIdentifierTransformer implements DataTransformerInterface private string $identifier; - public function __construct($repository, ?string $identifier = null) + public function __construct(ObjectRepository $repository, ?string $identifier = null) { $this->repository = $repository; $this->identifier = $identifier ?? 'id'; diff --git a/src/CoreBundle/Form/JuryMembersType.php b/src/CoreBundle/Form/JuryMembersType.php index 483a784f7d..876fbdea64 100644 --- a/src/CoreBundle/Form/JuryMembersType.php +++ b/src/CoreBundle/Form/JuryMembersType.php @@ -29,7 +29,7 @@ class JuryMembersType extends AbstractType return $er->createQueryBuilder('u') ->where('u.role LIKE :role') ->setParameter(':role', 'ROLE_JURY%') - ->orderBy('u.name', 'DESC') + ->orderBy('u.name', \Doctrine\Common\Collections\Criteria::DESC) ; }, ] diff --git a/src/CoreBundle/Form/JuryType.php b/src/CoreBundle/Form/JuryType.php index 602cbfea43..cf8fd932f6 100644 --- a/src/CoreBundle/Form/JuryType.php +++ b/src/CoreBundle/Form/JuryType.php @@ -45,7 +45,7 @@ class JuryType extends AbstractType return $er->createQueryBuilder('u') //->where('u.role LIKE :role') //->setParameter(':role', 'ROLE_JURY%') - ->orderBy('u.branchName', 'DESC') + ->orderBy('u.branchName', \Doctrine\Common\Collections\Criteria::DESC) ; }, ] diff --git a/src/CoreBundle/Form/ProfileFosUserType.php b/src/CoreBundle/Form/ProfileFosUserType.php index 2564a37194..8ceeef6648 100644 --- a/src/CoreBundle/Form/ProfileFosUserType.php +++ b/src/CoreBundle/Form/ProfileFosUserType.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Form; +use Chamilo\CoreBundle\Entity\User; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -29,7 +30,7 @@ class ProfileFosUserType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\User', + 'data_class' => User::class, ] ); } diff --git a/src/CoreBundle/Form/ProfileType.php b/src/CoreBundle/Form/ProfileType.php index f1085f054b..aa6114fe91 100644 --- a/src/CoreBundle/Form/ProfileType.php +++ b/src/CoreBundle/Form/ProfileType.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Form; +use Chamilo\CoreBundle\Entity\User; use Chamilo\CoreBundle\Form\Type\IllustrationType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\BirthdayType; @@ -163,7 +164,7 @@ class ProfileType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\User', + 'data_class' => User::class, ] ); } diff --git a/src/CoreBundle/Form/SessionTreeType.php b/src/CoreBundle/Form/SessionTreeType.php index b6ddc25d32..ccecb7c2fb 100644 --- a/src/CoreBundle/Form/SessionTreeType.php +++ b/src/CoreBundle/Form/SessionTreeType.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Form; +use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\EntityRepository; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; @@ -33,7 +34,7 @@ class SessionTreeType extends AbstractType 'property' => 'name', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('u') - ->orderBy('u.name', 'DESC') + ->orderBy('u.name', Criteria::DESC) ; }, ] @@ -47,7 +48,7 @@ class SessionTreeType extends AbstractType 'property' => 'name', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('u') - ->orderBy('u.name', 'DESC') + ->orderBy('u.name', Criteria::DESC) ; }, ] @@ -61,7 +62,7 @@ class SessionTreeType extends AbstractType 'property' => 'name', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('u') - ->orderBy('u.name', 'DESC') + ->orderBy('u.name', Criteria::DESC) ; }, ] @@ -75,7 +76,7 @@ class SessionTreeType extends AbstractType 'property' => 'name', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('u') - ->orderBy('u.name', 'DESC') + ->orderBy('u.name', Criteria::DESC) ; }, ] @@ -89,7 +90,7 @@ class SessionTreeType extends AbstractType 'property' => 'title', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('u') - ->orderBy('u.title', 'DESC') + ->orderBy('u.title', Criteria::DESC) ; }, ] diff --git a/src/CoreBundle/Form/SessionType.php b/src/CoreBundle/Form/SessionType.php index 04c2c0e68f..9613891ec3 100644 --- a/src/CoreBundle/Form/SessionType.php +++ b/src/CoreBundle/Form/SessionType.php @@ -72,7 +72,7 @@ class SessionType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\Session', + 'data_class' => Session::class, ] ); } diff --git a/src/CoreBundle/Form/Type/CourseType.php b/src/CoreBundle/Form/Type/CourseType.php index 1666280784..4dda910729 100644 --- a/src/CoreBundle/Form/Type/CourseType.php +++ b/src/CoreBundle/Form/Type/CourseType.php @@ -84,7 +84,7 @@ class CourseType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\Course', + 'data_class' => Course::class, ] ); } diff --git a/src/CoreBundle/Form/Type/ResourceLinkType.php b/src/CoreBundle/Form/Type/ResourceLinkType.php index 5a4bd713d6..bfc50d705e 100644 --- a/src/CoreBundle/Form/Type/ResourceLinkType.php +++ b/src/CoreBundle/Form/Type/ResourceLinkType.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Form\Type; +use Chamilo\CoreBundle\Entity\ResourceLink; use Chamilo\CoreBundle\Entity\ToolResourceRight; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; @@ -73,7 +74,7 @@ class ResourceLinkType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\ResourceLink', + 'data_class' => ResourceLink::class, ] ); } diff --git a/src/CoreBundle/Form/Type/ResourceNodeType.php b/src/CoreBundle/Form/Type/ResourceNodeType.php index e863c3c1ba..cccff96bce 100644 --- a/src/CoreBundle/Form/Type/ResourceNodeType.php +++ b/src/CoreBundle/Form/Type/ResourceNodeType.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Form\Type; +use Chamilo\CoreBundle\Entity\ResourceNode; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; @@ -30,7 +31,7 @@ class ResourceNodeType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\ResourceNode', + 'data_class' => ResourceNode::class, ] ); } diff --git a/src/CoreBundle/Form/Type/ResourceRightType.php b/src/CoreBundle/Form/Type/ResourceRightType.php index 3f0a64d1c6..08c156090b 100644 --- a/src/CoreBundle/Form/Type/ResourceRightType.php +++ b/src/CoreBundle/Form/Type/ResourceRightType.php @@ -37,7 +37,7 @@ class ResourceRightType extends AbstractType { $resolver->setDefaults( [ - 'data_class' => 'Chamilo\CoreBundle\Entity\ResourceRight', + 'data_class' => ResourceRight::class, ] ); } diff --git a/src/CoreBundle/Framework/Container.php b/src/CoreBundle/Framework/Container.php index a2f221d484..4b1c46574c 100644 --- a/src/CoreBundle/Framework/Container.php +++ b/src/CoreBundle/Framework/Container.php @@ -86,18 +86,12 @@ class Container public static Environment $twig; public static string $legacyTemplate = '@ChamiloCore/Layout/layout_one_col.html.twig'; - /** - * @param ContainerInterface $container - */ - public static function setContainer($container): void + public static function setContainer(ContainerInterface $container): void { self::$container = $container; } - /** - * @param string $parameter - */ - public static function getParameter($parameter) + public static function getParameter(string $parameter) { if (self::$container->hasParameter($parameter)) { return self::$container->getParameter($parameter); @@ -176,10 +170,7 @@ class Container return self::$container->get('request_stack')->getCurrentRequest(); } - /** - * @param Request $request - */ - public static function setRequest($request): void + public static function setRequest(Request $request): void { self::$request = $request; } @@ -485,10 +476,9 @@ class Container } /** - * @param string $message - * @param string $type error|success|warning|danger + * @param string $type error|success|warning|danger */ - public static function addFlash($message, $type = 'success'): void + public static function addFlash(string $message, string $type = 'success'): void { $session = self::getSession(); $session->getFlashBag()->add($type, $message); diff --git a/src/CoreBundle/Framework/Exporter.php b/src/CoreBundle/Framework/Exporter.php index 584f164cc8..67348f3be6 100644 --- a/src/CoreBundle/Framework/Exporter.php +++ b/src/CoreBundle/Framework/Exporter.php @@ -18,14 +18,11 @@ use Symfony\Component\HttpFoundation\StreamedResponse; class Exporter { /** - * @param string $format - * @param string $filename - * * @throws RuntimeException * * @return StreamedResponse */ - public function getResponse($format, $filename, SourceIteratorInterface $source) + public function getResponse(string $format, string $filename, SourceIteratorInterface $source) { switch ($format) { case 'xls': diff --git a/src/CoreBundle/Repository/ExtraFieldRelTagRepository.php b/src/CoreBundle/Repository/ExtraFieldRelTagRepository.php index c0cf7aa2a4..33882bd141 100644 --- a/src/CoreBundle/Repository/ExtraFieldRelTagRepository.php +++ b/src/CoreBundle/Repository/ExtraFieldRelTagRepository.php @@ -32,7 +32,7 @@ class ExtraFieldRelTagRepository extends ServiceEntityRepository * * @return array */ - public function getTags(ExtraField $extraField, $itemId) + public function getTags(ExtraField $extraField, int $itemId) { $queryBuilder = $this->createQueryBuilder('ft'); diff --git a/src/CoreBundle/Repository/ExtraFieldValuesRepository.php b/src/CoreBundle/Repository/ExtraFieldValuesRepository.php index 2d62874f59..c45736b1a8 100644 --- a/src/CoreBundle/Repository/ExtraFieldValuesRepository.php +++ b/src/CoreBundle/Repository/ExtraFieldValuesRepository.php @@ -31,7 +31,7 @@ class ExtraFieldValuesRepository extends ServiceEntityRepository * * @return array */ - public function getVisibleValues($extraFieldType, $itemId) + public function getVisibleValues(int $extraFieldType, int $itemId) { $queryBuilder = $this->createQueryBuilder('fv'); diff --git a/src/CoreBundle/Repository/LegalRepository.php b/src/CoreBundle/Repository/LegalRepository.php index d860468068..47dc54e9f8 100644 --- a/src/CoreBundle/Repository/LegalRepository.php +++ b/src/CoreBundle/Repository/LegalRepository.php @@ -48,7 +48,7 @@ class LegalRepository extends ServiceEntityRepository * * @return array The terms for those type and language */ - public function findOneByTypeAndLanguage($typeId, $languageId) + public function findOneByTypeAndLanguage(int $typeId, int $languageId) { $qb = $this->createQueryBuilder('l'); $qb->select('l.content') diff --git a/src/CoreBundle/Repository/Node/AccessUrlRepository.php b/src/CoreBundle/Repository/Node/AccessUrlRepository.php index 9670ea251e..0be6b6a73e 100644 --- a/src/CoreBundle/Repository/Node/AccessUrlRepository.php +++ b/src/CoreBundle/Repository/Node/AccessUrlRepository.php @@ -25,6 +25,7 @@ class AccessUrlRepository extends ResourceRepository { $qb = $this->createQueryBuilder('a'); $qb->select('MIN (a.id)'); + $q = $qb->getQuery(); return (int) $q->execute(); diff --git a/src/CoreBundle/Repository/Node/CourseRepository.php b/src/CoreBundle/Repository/Node/CourseRepository.php index d73f92130a..77a61897ec 100644 --- a/src/CoreBundle/Repository/Node/CourseRepository.php +++ b/src/CoreBundle/Repository/Node/CourseRepository.php @@ -96,9 +96,9 @@ class CourseRepository extends ResourceRepository ); if (api_is_western_name_order()) { - $queryBuilder->orderBy('user.firstname', 'ASC'); + $queryBuilder->orderBy('user.firstname', Criteria::ASC); } else { - $queryBuilder->orderBy('user.lastname', 'ASC'); + $queryBuilder->orderBy('user.lastname', Criteria::ASC); } $wherePart = $queryBuilder->expr()->andx(); diff --git a/src/CoreBundle/Repository/Node/IllustrationRepository.php b/src/CoreBundle/Repository/Node/IllustrationRepository.php index 074a5cbf23..cf4e81559a 100644 --- a/src/CoreBundle/Repository/Node/IllustrationRepository.php +++ b/src/CoreBundle/Repository/Node/IllustrationRepository.php @@ -68,10 +68,8 @@ final class IllustrationRepository extends ResourceRepository implements GridInt /** * @param ResourceInterface|User|UserInterface $resource - * @param User $user - * @param string $crop */ - public function addIllustration($resource, $user, UploadedFile $uploadFile = null, $crop = ''): ?ResourceFile + public function addIllustration(User $resource, User $user, UploadedFile $uploadFile = null, string $crop = ''): ?ResourceFile { if (null === $uploadFile) { return null; diff --git a/src/CoreBundle/Repository/Node/UserRepository.php b/src/CoreBundle/Repository/Node/UserRepository.php index 74ef7a1140..d127a09afa 100644 --- a/src/CoreBundle/Repository/Node/UserRepository.php +++ b/src/CoreBundle/Repository/Node/UserRepository.php @@ -280,7 +280,7 @@ class UserRepository extends ResourceRepository implements UserLoaderInterface, ; } - $qb->orderBy('course.title', 'DESC'); + $qb->orderBy('course.title', Criteria::DESC); $query = $qb->getQuery(); @@ -660,6 +660,7 @@ class UserRepository extends ResourceRepository implements UserLoaderInterface, $user->setPassword($substitutionTerms['password']); $user->setSalt($substitutionTerms['salt']); + $noDataLabel = $substitutionTerms['empty']; // Dummy content @@ -1444,7 +1445,7 @@ class UserRepository extends ResourceRepository implements UserLoaderInterface, $qb->expr()->eq('l.loginUserId', $user->getId()) ) ->setMaxResults(1) - ->orderBy('l.loginDate', 'DESC') + ->orderBy('l.loginDate', \Doctrine\Common\Collections\Criteria::DESC) ->getQuery() ->getOneOrNullResult() ; @@ -1454,7 +1455,7 @@ class UserRepository extends ResourceRepository implements UserLoaderInterface, { $qb = $this->getOrCreateQueryBuilder($qb, 'u'); - $qb->orderBy('u.firstname', 'ASC'); + $qb->orderBy('u.firstname', \Doctrine\Common\Collections\Criteria::ASC); $qb->where('u.firstname LIKE :keyword OR u.lastname LIKE :keyword '); $qb->setParameter('keyword', "%{$keyword}%", Types::STRING); diff --git a/src/CoreBundle/Repository/ResourceFactory.php b/src/CoreBundle/Repository/ResourceFactory.php index 62e00bd6ef..2c7800f917 100644 --- a/src/CoreBundle/Repository/ResourceFactory.php +++ b/src/CoreBundle/Repository/ResourceFactory.php @@ -24,14 +24,14 @@ class ResourceFactory $resourceTypeList = $tool->getResourceTypes(); if (!isset($resourceTypeList[$type])) { - throw new InvalidArgumentException("Resource type doesn't exist: {$type}"); + throw new InvalidArgumentException(sprintf('Resource type doesn\'t exist: %s', $type)); } $typeConfig = $resourceTypeList[$type]; $repo = $typeConfig['repository']; if (!class_exists($repo)) { - throw new InvalidArgumentException("Check that this classes exists: {$repo}"); + throw new InvalidArgumentException(sprintf('Check that this classes exists: %s', $repo)); } return $repo; diff --git a/src/CoreBundle/Repository/ResourceNodeRepository.php b/src/CoreBundle/Repository/ResourceNodeRepository.php index a042010b10..e19a0b37f7 100644 --- a/src/CoreBundle/Repository/ResourceNodeRepository.php +++ b/src/CoreBundle/Repository/ResourceNodeRepository.php @@ -72,7 +72,7 @@ class ResourceNodeRepository extends MaterializedPathRepository } return ''; - } catch (Throwable $exception) { + } catch (Throwable $throwable) { throw new FileNotFoundException($resourceNode->getTitle()); } } diff --git a/src/CoreBundle/Repository/ResourceRepository.php b/src/CoreBundle/Repository/ResourceRepository.php index 3f13b3c788..fbd471dbe7 100644 --- a/src/CoreBundle/Repository/ResourceRepository.php +++ b/src/CoreBundle/Repository/ResourceRepository.php @@ -174,7 +174,7 @@ abstract class ResourceRepository extends ServiceEntityRepository $class = str_replace('\\Repository\\', '\\Entity\\', $class); $class = str_replace('Repository', '', $class); if (!class_exists($class)) { - throw new Exception("Repo: {$class} not found "); + throw new Exception(sprintf('Repo: %s not found ', $class)); } return $class; @@ -631,7 +631,7 @@ abstract class ResourceRepository extends ServiceEntityRepository $resourceNode = $resource->getResourceNode(); return $this->resourceNodeRepository->getResourceNodeFileContent($resourceNode); - } catch (Throwable $exception) { + } catch (Throwable $throwable) { throw new FileNotFoundException($resource->getResourceName()); } } @@ -689,11 +689,9 @@ abstract class ResourceRepository extends ServiceEntityRepository } /** - * @param string $content - * * @return bool */ - public function updateResourceFileContent(AbstractResource $resource, $content) + public function updateResourceFileContent(AbstractResource $resource, string $content) { error_log('updateResourceFileContent'); diff --git a/src/CoreBundle/Repository/SequenceRepository.php b/src/CoreBundle/Repository/SequenceRepository.php index 5eeea63c19..c8aa0c395b 100644 --- a/src/CoreBundle/Repository/SequenceRepository.php +++ b/src/CoreBundle/Repository/SequenceRepository.php @@ -74,17 +74,14 @@ class SequenceRepository extends ServiceEntityRepository break; } - if ($repo) { + if (null !== $repo) { $resource = $repo->find($itemId); } return $resource; } - /** - * @param int $id - */ - public function removeSequence($id): void + public function removeSequence(int $id): void { $sequence = $this->find($id); $em = $this->getEntityManager(); @@ -98,11 +95,9 @@ class SequenceRepository extends ServiceEntityRepository } /** - * @param string $type - * * @return array */ - public function findAllToSelect($type) + public function findAllToSelect(string $type) { $qb = $this->createQueryBuilder('r'); $qb diff --git a/src/CoreBundle/Repository/SequenceResourceRepository.php b/src/CoreBundle/Repository/SequenceResourceRepository.php index 8cdaa6116c..ece7039199 100644 --- a/src/CoreBundle/Repository/SequenceResourceRepository.php +++ b/src/CoreBundle/Repository/SequenceResourceRepository.php @@ -27,11 +27,8 @@ class SequenceResourceRepository extends ServiceEntityRepository /** * Find the SequenceResource based in the resourceId and type. - * - * @param int $resourceId - * @param int $type */ - public function findRequirementForResource($resourceId, $type): ?SequenceResource + public function findRequirementForResource(int $resourceId, int $type): ?SequenceResource { return $this->findOneBy([ 'resourceId' => $resourceId, @@ -42,12 +39,9 @@ class SequenceResourceRepository extends ServiceEntityRepository /** * @todo implement for all types only work for sessions * - * @param int $resourceId - * @param int $type - * * @return array */ - public function getRequirementAndDependencies($resourceId, $type) + public function getRequirementAndDependencies(int $resourceId, int $type) { $sequence = $this->findRequirementForResource($resourceId, $type); $result = [ @@ -81,11 +75,8 @@ class SequenceResourceRepository extends ServiceEntityRepository /** * Deletes a node and check in all the dependencies if the node exists in * order to deleted. - * - * @param int $resourceId - * @param int $type */ - public function deleteSequenceResource($resourceId, $type): void + public function deleteSequenceResource(int $resourceId, int $type): void { $sequence = $this->findRequirementForResource($resourceId, $type); if ($sequence && $sequence->hasGraph()) { @@ -121,7 +112,7 @@ class SequenceResourceRepository extends ServiceEntityRepository * * @return array */ - public function getRequirements($resourceId, $type) + public function getRequirements(int $resourceId, int $type) { $sequencesResource = $this->findBy([ 'resourceId' => $resourceId, @@ -182,7 +173,7 @@ class SequenceResourceRepository extends ServiceEntityRepository * * @return array */ - public function getRequirementsAndDependenciesWithinSequences($resourceId, $type) + public function getRequirementsAndDependenciesWithinSequences(int $resourceId, int $type) { $sequencesResource = $this->findBy([ 'resourceId' => $resourceId, @@ -221,11 +212,10 @@ class SequenceResourceRepository extends ServiceEntityRepository * * @param array $sequences The sequences * @param int $type The type of sequence resource - * @param int $userId * * @return array */ - public function checkRequirementsForUser(array $sequences, $type, $userId) + public function checkRequirementsForUser(array $sequences, int $type, int $userId) { $sequenceList = []; $em = $this->getEntityManager(); @@ -392,11 +382,10 @@ class SequenceResourceRepository extends ServiceEntityRepository * Get sessions from vertices. * * @param Vertices $verticesEdges The vertices - * @param int $type * * @return array */ - protected function findVerticesEdges(Vertices $verticesEdges, $type) + protected function findVerticesEdges(Vertices $verticesEdges, int $type) { $sessionVertices = []; $em = $this->getEntityManager(); diff --git a/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php b/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php index cc393ee841..89c14d0ad2 100644 --- a/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php +++ b/src/CoreBundle/Security/Authorization/Voter/ResourceNodeVoter.php @@ -14,7 +14,7 @@ use Chamilo\CoreBundle\Entity\Session; use Chamilo\CourseBundle\Entity\CGroup; use Laminas\Permissions\Acl\Acl; use Laminas\Permissions\Acl\Resource\GenericResource; -use Laminas\Permissions\Acl\Role\GenericRole as Role; +use Laminas\Permissions\Acl\Role\GenericRole; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Security\Acl\Permission\MaskBuilder; use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken; @@ -30,7 +30,6 @@ class ResourceNodeVoter extends Voter public const EDIT = 'EDIT'; public const DELETE = 'DELETE'; public const EXPORT = 'EXPORT'; - public const ROLE_CURRENT_COURSE_TEACHER = 'ROLE_CURRENT_COURSE_TEACHER'; public const ROLE_CURRENT_COURSE_STUDENT = 'ROLE_CURRENT_COURSE_STUDENT'; public const ROLE_CURRENT_COURSE_GROUP_TEACHER = 'ROLE_CURRENT_COURSE_GROUP_TEACHER'; @@ -358,26 +357,27 @@ class ResourceNodeVoter extends Voter // Asked mask $mask = new MaskBuilder(); $mask->add($attribute); + $askedMask = (string) $mask->get(); // Creating roles // @todo move this in a service - $anon = new Role('IS_AUTHENTICATED_ANONYMOUSLY'); - $userRole = new Role('ROLE_USER'); - $student = new Role('ROLE_STUDENT'); - $teacher = new Role('ROLE_TEACHER'); + $anon = new GenericRole('IS_AUTHENTICATED_ANONYMOUSLY'); + $userRole = new GenericRole('ROLE_USER'); + $student = new GenericRole('ROLE_STUDENT'); + $teacher = new GenericRole('ROLE_TEACHER'); - $currentStudent = new Role(self::ROLE_CURRENT_COURSE_STUDENT); - $currentTeacher = new Role(self::ROLE_CURRENT_COURSE_TEACHER); + $currentStudent = new GenericRole(self::ROLE_CURRENT_COURSE_STUDENT); + $currentTeacher = new GenericRole(self::ROLE_CURRENT_COURSE_TEACHER); - $currentStudentGroup = new Role(self::ROLE_CURRENT_COURSE_GROUP_STUDENT); - $currentTeacherGroup = new Role(self::ROLE_CURRENT_COURSE_GROUP_TEACHER); + $currentStudentGroup = new GenericRole(self::ROLE_CURRENT_COURSE_GROUP_STUDENT); + $currentTeacherGroup = new GenericRole(self::ROLE_CURRENT_COURSE_GROUP_TEACHER); - $currentStudentSession = new Role(self::ROLE_CURRENT_COURSE_SESSION_STUDENT); - $currentTeacherSession = new Role(self::ROLE_CURRENT_COURSE_SESSION_TEACHER); + $currentStudentSession = new GenericRole(self::ROLE_CURRENT_COURSE_SESSION_STUDENT); + $currentTeacherSession = new GenericRole(self::ROLE_CURRENT_COURSE_SESSION_TEACHER); - $superAdmin = new Role('ROLE_SUPER_ADMIN'); - $admin = new Role('ROLE_ADMIN'); + $superAdmin = new GenericRole('ROLE_SUPER_ADMIN'); + $admin = new GenericRole('ROLE_ADMIN'); // Setting Simple ACL. $acl = new Acl(); diff --git a/src/CoreBundle/Security/Authorization/Voter/SessionVoter.php b/src/CoreBundle/Security/Authorization/Voter/SessionVoter.php index 752358bd68..c1247dfc04 100644 --- a/src/CoreBundle/Security/Authorization/Voter/SessionVoter.php +++ b/src/CoreBundle/Security/Authorization/Voter/SessionVoter.php @@ -45,7 +45,7 @@ class SessionVoter extends Voter $this->settingsManager = $settingsManager; } - public function supports(string $attribute, $subject): bool + protected function supports(string $attribute, $subject): bool { $options = [ self::VIEW, @@ -194,10 +194,7 @@ class SessionVoter extends Voter return $totalDuration > $currentTime; } - /** - * @param bool $checkSession - */ - private function canEditSession(User $user, Session $session, $checkSession = true): bool + private function canEditSession(User $user, Session $session, bool $checkSession = true): bool { if (!$this->allowToManageSessions()) { return false; diff --git a/src/CoreBundle/Tool/AbstractTool.php b/src/CoreBundle/Tool/AbstractTool.php index f06ac557fe..5e821e7e7a 100644 --- a/src/CoreBundle/Tool/AbstractTool.php +++ b/src/CoreBundle/Tool/AbstractTool.php @@ -15,10 +15,7 @@ abstract class AbstractTool implements ToolInterface protected string $link; protected string $image; protected string $admin; - /** - * @var null|array|SchemaInterface - */ - protected $settings; + protected ?SchemaInterface $settings = null; protected ?array $resourceTypes; /** @@ -31,14 +28,7 @@ abstract class AbstractTool implements ToolInterface */ protected string $scope; - /** - * @param string $name - * @param string $category - * @param string $link - * @param SchemaInterface $settings - * @param array $resourceTypes - */ - public function __construct($name, $category, $link, $settings = null, $resourceTypes = []) + public function __construct(string $name, string $category, string $link, SchemaInterface $settings = null, array $resourceTypes = []) { $this->name = $name; $this->category = $category; diff --git a/src/CoreBundle/Traits/ControllerTrait.php b/src/CoreBundle/Traits/ControllerTrait.php index 9a0fe74276..828c88642d 100644 --- a/src/CoreBundle/Traits/ControllerTrait.php +++ b/src/CoreBundle/Traits/ControllerTrait.php @@ -89,15 +89,7 @@ trait ControllerTrait return $this->container->get('request_stack')->getCurrentRequest(); } - /*public function getBreadCrumb(): BreadcrumbBlockService - { - return $this->container->get('breadcrumb'); - }*/ - - /** - * @param string $message - */ - public function abort($message = ''): void + public function abort(string $message = ''): void { throw new NotFoundHttpException($message); } @@ -105,11 +97,10 @@ trait ControllerTrait /** * Translator shortcut. * - * @param string $variable * * @return string */ - public function trans($variable) + public function trans(string $variable) { /** @var TranslatorInterface $translator */ $translator = $this->container->get('translator'); diff --git a/src/CoreBundle/Traits/CourseControllerTrait.php b/src/CoreBundle/Traits/CourseControllerTrait.php index e92d780f54..c9c2026ef5 100644 --- a/src/CoreBundle/Traits/CourseControllerTrait.php +++ b/src/CoreBundle/Traits/CourseControllerTrait.php @@ -159,6 +159,6 @@ trait CourseControllerTrait public function getSessionId(): int { - return $this->session ? $this->getSession()->getId() : 0; + return $this->session !== null ? $this->getSession()->getId() : 0; } } diff --git a/src/CoreBundle/Traits/ResourceControllerTrait.php b/src/CoreBundle/Traits/ResourceControllerTrait.php index 83ca429ff0..3bea2b4cf9 100644 --- a/src/CoreBundle/Traits/ResourceControllerTrait.php +++ b/src/CoreBundle/Traits/ResourceControllerTrait.php @@ -50,13 +50,13 @@ trait ResourceControllerTrait public function denyAccessUnlessValidResource(ResourceInterface $resource = null): void { if (null === $resource) { - throw new EntityNotFoundException($this->trans('Resource doesn\'t exists.')); + throw new EntityNotFoundException($this->trans("Resource doesn't exists.")); } $resourceNode = $resource->getResourceNode(); if (null === $resourceNode) { - throw new EntityNotFoundException($this->trans('Resource doesn\'t have a node.')); + throw new EntityNotFoundException($this->trans("Resource doesn't have a node.")); } } diff --git a/src/CoreBundle/Traits/SessionTrait.php b/src/CoreBundle/Traits/SessionTrait.php index 1477087f2e..8641b54a46 100644 --- a/src/CoreBundle/Traits/SessionTrait.php +++ b/src/CoreBundle/Traits/SessionTrait.php @@ -10,7 +10,7 @@ use Chamilo\CoreBundle\Entity\Session; trait SessionTrait { - protected ?Session $session; + protected ?Session $session = null; /** * @return Session diff --git a/src/CourseBundle/Repository/CDocumentRepository.php b/src/CourseBundle/Repository/CDocumentRepository.php index e9973faa45..542609219c 100644 --- a/src/CourseBundle/Repository/CDocumentRepository.php +++ b/src/CourseBundle/Repository/CDocumentRepository.php @@ -100,11 +100,9 @@ final class CDocumentRepository extends ResourceRepository implements GridInterf } /** - * @param int $userId - * * @return array */ - public function getAllDocumentsByAuthor($userId) + public function getAllDocumentsByAuthor(int $userId) { $repo = $this->repository; diff --git a/src/CourseBundle/Repository/CExerciseCategoryRepository.php b/src/CourseBundle/Repository/CExerciseCategoryRepository.php index 7563f56eb5..b7f31b3890 100644 --- a/src/CourseBundle/Repository/CExerciseCategoryRepository.php +++ b/src/CourseBundle/Repository/CExerciseCategoryRepository.php @@ -18,11 +18,9 @@ final class CExerciseCategoryRepository extends ResourceRepository } /** - * @param int $courseId - * * @return array */ - public function getCategories($courseId) + public function getCategories(int $courseId) { $query = $this->createQueryBuilder('e'); $query->where('e.course = :cId'); diff --git a/src/CourseBundle/Repository/CForumPostRepository.php b/src/CourseBundle/Repository/CForumPostRepository.php index 1393079820..410aa81744 100644 --- a/src/CourseBundle/Repository/CForumPostRepository.php +++ b/src/CourseBundle/Repository/CForumPostRepository.php @@ -22,19 +22,14 @@ class CForumPostRepository extends ResourceRepository parent::__construct($registry, CForumPost::class); } - /** - * @param bool $onlyVisible - * @param bool $isAllowedToEdit - * @param string $orderDirection - */ public function findAllInCourseByThread( - $onlyVisible, - $isAllowedToEdit, + bool $onlyVisible, + bool $isAllowedToEdit, CForumThread $thread, Course $course, User $currentUser = null, CGroup $group = null, - $orderDirection = 'ASC' + string $orderDirection = 'ASC' ): array { $conditionVisibility = $onlyVisible ? 'p.visible = 1' : 'p.visible != 2'; $conditionModerated = ''; diff --git a/src/CourseBundle/Repository/CNotebookRepository.php b/src/CourseBundle/Repository/CNotebookRepository.php index 8bd23ed33a..8a2d0b496c 100644 --- a/src/CourseBundle/Repository/CNotebookRepository.php +++ b/src/CourseBundle/Repository/CNotebookRepository.php @@ -23,17 +23,14 @@ class CNotebookRepository extends ResourceRepository /** * Get the user notebooks in a course. * - * @param string $orderField - * @param string $orderDirection - * * @return array */ public function findByUser( User $user, Course $course, Session $session = null, - $orderField = 'creation_date', - $orderDirection = 'DESC' + string $orderField = 'creation_date', + string $orderDirection = 'DESC' ) { switch ($orderField) { case 'creation_date': diff --git a/src/CourseBundle/Repository/CToolRepository.php b/src/CourseBundle/Repository/CToolRepository.php index 4aa94acf9a..f7b874b759 100644 --- a/src/CourseBundle/Repository/CToolRepository.php +++ b/src/CourseBundle/Repository/CToolRepository.php @@ -51,7 +51,7 @@ final class CToolRepository extends ResourceRepository $isAdmin = $checker->isGranted('ROLE_ADMIN') || $checker->isGranted('ROLE_CURRENT_COURSE_TEACHER'); - if (false === $isAdmin) { + if (!$isAdmin) { $qb ->andWhere('links.visibility = :visibility') ->setParameter('visibility', ResourceLink::VISIBILITY_PUBLISHED) diff --git a/src/CourseBundle/Settings/SettingsCourseManager.php b/src/CourseBundle/Settings/SettingsCourseManager.php index 58d014d9eb..285ae0b61a 100644 --- a/src/CourseBundle/Settings/SettingsCourseManager.php +++ b/src/CourseBundle/Settings/SettingsCourseManager.php @@ -52,7 +52,7 @@ class SettingsCourseManager extends SettingsManager // Remove unknown settings' parameters (e.g. From a previous version of the settings schema) if ($ignoreUnknown) { - foreach ($parameters as $name => $value) { + foreach (array_keys($parameters) as $name) { if (!$settingsBuilder->isDefined($name)) { unset($parameters[$name]); }