From 499bec4a62fe2f70248fc7e2259e92ce63d83127 Mon Sep 17 00:00:00 2001 From: Angel Fernando Quiroz Campos Date: Mon, 7 Mar 2022 11:48:30 -0500 Subject: [PATCH] Fix phpstam issues --- .../AbstractFeedbackSocialPostController.php | 11 ++++---- .../Controller/Api/BaseResourceFileAction.php | 3 +- .../Controller/CourseController.php | 28 +++++++++++++------ src/CoreBundle/Controller/NewsController.php | 2 ++ .../DataFixtures/AccessUserUrlFixtures.php | 1 - .../EventListener/LogoutListener.php | 2 -- .../Authorization/Voter/SocialPostVoter.php | 2 +- .../Repository/ORM/TreeRepositoryTrait.php | 6 ++-- 8 files changed, 32 insertions(+), 23 deletions(-) diff --git a/src/CoreBundle/Controller/Api/AbstractFeedbackSocialPostController.php b/src/CoreBundle/Controller/Api/AbstractFeedbackSocialPostController.php index 163db25e5c..2c276b4a02 100644 --- a/src/CoreBundle/Controller/Api/AbstractFeedbackSocialPostController.php +++ b/src/CoreBundle/Controller/Api/AbstractFeedbackSocialPostController.php @@ -20,15 +20,11 @@ use Symfony\Component\Security\Core\User\UserInterface; #[AsController] abstract class AbstractFeedbackSocialPostController extends AbstractController { - protected User|UserInterface $currentUser; - public function __construct( protected Security $security, protected EntityManager $entityManager, protected SettingsManager $settingsManager ) { - $this->currentUser = $this->security->getUser(); - if ('true' !== $this->settingsManager->getSetting('social.allow_social_tool')) { throw new AccessDeniedException(); } @@ -36,18 +32,21 @@ abstract class AbstractFeedbackSocialPostController extends AbstractController protected function getFeedbackForCurrentUser(SocialPost $socialPost): SocialPostFeedback { + /** @var User $user */ + $user = $this->security->getUser(); + $feedback = $this->entityManager ->getRepository(SocialPostFeedback::class) ->findOneBy( [ - 'user' => $this->currentUser, + 'user' => $user, 'socialPost' => $socialPost, ] ) ; if (null === $feedback) { - $feedback = (new SocialPostFeedback())->setUser($this->currentUser); + $feedback = (new SocialPostFeedback())->setUser($user); $socialPost->addFeedback($feedback); } diff --git a/src/CoreBundle/Controller/Api/BaseResourceFileAction.php b/src/CoreBundle/Controller/Api/BaseResourceFileAction.php index 18e2f85452..6c9bcca02c 100644 --- a/src/CoreBundle/Controller/Api/BaseResourceFileAction.php +++ b/src/CoreBundle/Controller/Api/BaseResourceFileAction.php @@ -18,6 +18,7 @@ use Chamilo\CoreBundle\Security\Authorization\Voter\ResourceNodeVoter; use Chamilo\CourseBundle\Entity\CGroup; use DateTime; use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityManagerInterface; use Exception; use InvalidArgumentException; use Symfony\Component\HttpFoundation\File\UploadedFile; @@ -26,7 +27,7 @@ use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; class BaseResourceFileAction { - public static function setLinks(AbstractResource $resource, EntityManager $em): void + public static function setLinks(AbstractResource $resource, EntityManagerInterface $em): void { $resourceNode = $resource->getResourceNode(); $links = $resource->getResourceLinkArray(); diff --git a/src/CoreBundle/Controller/CourseController.php b/src/CoreBundle/Controller/CourseController.php index 73bc296ba5..9407376af8 100644 --- a/src/CoreBundle/Controller/CourseController.php +++ b/src/CoreBundle/Controller/CourseController.php @@ -9,6 +9,7 @@ namespace Chamilo\CoreBundle\Controller; use Chamilo\CoreBundle\Entity\Course; use Chamilo\CoreBundle\Entity\ExtraField; use Chamilo\CoreBundle\Entity\Tag; +use Chamilo\CoreBundle\Entity\User; use Chamilo\CoreBundle\Framework\Container; use Chamilo\CoreBundle\Repository\LanguageRepository; use Chamilo\CoreBundle\Repository\LegalRepository; @@ -27,11 +28,11 @@ use Chamilo\CourseBundle\Settings\SettingsFormFactory; use CourseManager; use Database; use Display; +use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityRepository; use Event; use Exercise; use ExtraFieldValue; -use Fhaculty\Graph\Graph; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Entity; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; @@ -39,7 +40,6 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Validator\Exception\ValidatorException; -use UnserializeApi; use UserManager; /** @@ -51,6 +51,7 @@ class CourseController extends ToolBaseController #[Route('/{cid}/checkLegal.json', name: 'chamilo_core_course_check_legal_json')] public function checkTermsAndConditionJson(Request $request, LegalRepository $legalTermsRepo, LanguageRepository $languageRepository): Response { + /** @var User $user */ $user = $this->getUser(); $course = $this->getCourse(); $responseData = [ @@ -153,6 +154,7 @@ class CourseController extends ToolBaseController $session = $request->getSession(); $userId = 0; + /** @var ?User $user */ $user = $this->getUser(); if (null !== $user) { $userId = $user->getId(); @@ -407,11 +409,15 @@ class CourseController extends ToolBaseController } #[Route('/{id}/about', name: 'chamilo_core_course_about')] - public function about(Course $course, IllustrationRepository $illustrationRepository, CCourseDescriptionRepository $courseDescriptionRepository): Response - { + public function about( + Course $course, + IllustrationRepository $illustrationRepository, + CCourseDescriptionRepository $courseDescriptionRepository, + EntityManagerInterface $em + ): Response { $courseId = $course->getId(); - $userId = $this->getUser()->getId(); - $em = $this->getDoctrine()->getManager(); + /** @var ?User $user */ + $user = $this->getUser(); /** @var EntityRepository $fieldsRepo */ $fieldsRepo = $em->getRepository(ExtraField::class); @@ -498,7 +504,11 @@ class CourseController extends ToolBaseController 'custom' => array_reverse($courseCustom), ]; - $subscriptionUser = CourseManager::is_user_subscribed_in_course($userId, $course->getCode()); + $subscriptionUser = false; + + if ($user) { + $subscriptionUser = CourseManager::is_user_subscribed_in_course($user->getId(), $course->getCode()); + } /*$allowSubscribe = false; if ($course->getSubscribe() || api_is_platform_admin()) { @@ -601,7 +611,7 @@ class CourseController extends ToolBaseController LIMIT 1"; $result = Database::query($sql); if (Database::num_rows($result) > 0) { - $lp_data = Database::fetch_array($result, 'ASSOC'); + $lp_data = Database::fetch_array($result); if (!empty($lp_data['iid'])) { if ($allowAutoLaunchForCourseAdmins) { $showAutoLaunchLpWarning = true; @@ -686,7 +696,7 @@ class CourseController extends ToolBaseController LIMIT 1"; $result = Database::query($sql); if (Database::num_rows($result) > 0) { - $row = Database::fetch_array($result, 'ASSOC'); + $row = Database::fetch_array($result); $exerciseId = $row['iid']; $url = api_get_path(WEB_CODE_PATH). 'exercise/overview.php?exerciseId='.$exerciseId.'&'.api_get_cidreq(); diff --git a/src/CoreBundle/Controller/NewsController.php b/src/CoreBundle/Controller/NewsController.php index 6d493dbdcf..eafc7dc50d 100644 --- a/src/CoreBundle/Controller/NewsController.php +++ b/src/CoreBundle/Controller/NewsController.php @@ -6,6 +6,7 @@ declare(strict_types=1); namespace Chamilo\CoreBundle\Controller; +use Chamilo\CoreBundle\Entity\User; use Chamilo\CoreBundle\Repository\SysAnnouncementRepository; use Chamilo\CoreBundle\Traits\ControllerTrait; use Symfony\Component\HttpFoundation\JsonResponse; @@ -23,6 +24,7 @@ class NewsController extends BaseController #[Route('/list', name: 'news_index', methods: ['GET'])] public function indexAction(SysAnnouncementRepository $sysAnnouncementRepository): Response { + /** @var User $user */ $user = $this->getUser(); $list = []; diff --git a/src/CoreBundle/DataFixtures/AccessUserUrlFixtures.php b/src/CoreBundle/DataFixtures/AccessUserUrlFixtures.php index c0f73e03cc..42b1e1777b 100644 --- a/src/CoreBundle/DataFixtures/AccessUserUrlFixtures.php +++ b/src/CoreBundle/DataFixtures/AccessUserUrlFixtures.php @@ -34,7 +34,6 @@ class AccessUserUrlFixtures extends Fixture implements ContainerAwareInterface // Login as admin $token = new UsernamePasswordToken( $admin, - $admin->getPassword(), 'public', $admin->getRoles() ); diff --git a/src/CoreBundle/EventListener/LogoutListener.php b/src/CoreBundle/EventListener/LogoutListener.php index c854b0e466..7f09de903c 100644 --- a/src/CoreBundle/EventListener/LogoutListener.php +++ b/src/CoreBundle/EventListener/LogoutListener.php @@ -8,7 +8,6 @@ namespace Chamilo\CoreBundle\EventListener; use Chamilo\CoreBundle\Entity\User; use Database; -use Doctrine\DBAL\Cache\ArrayStatement; use Doctrine\ORM\EntityManagerInterface; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -71,7 +70,6 @@ class LogoutListener LIMIT 0,1"; $loginId = null; $connection = $this->em->getConnection(); - /** @var ArrayStatement $result */ $result = $connection->executeQuery($sql); if ($result->rowCount() > 0) { $row = $result->fetchAssociative(); diff --git a/src/CoreBundle/Security/Authorization/Voter/SocialPostVoter.php b/src/CoreBundle/Security/Authorization/Voter/SocialPostVoter.php index 78f062e1fb..a05aad45f8 100644 --- a/src/CoreBundle/Security/Authorization/Voter/SocialPostVoter.php +++ b/src/CoreBundle/Security/Authorization/Voter/SocialPostVoter.php @@ -51,7 +51,7 @@ class SocialPostVoter extends Voter return false; } - /** @var User $currentUser */ + /** @var ?User $currentUser */ $currentUser = $token->getUser(); if (null === $currentUser) { diff --git a/src/CoreBundle/Traits/Repository/ORM/TreeRepositoryTrait.php b/src/CoreBundle/Traits/Repository/ORM/TreeRepositoryTrait.php index 27e0bd5499..39b9f6115d 100644 --- a/src/CoreBundle/Traits/Repository/ORM/TreeRepositoryTrait.php +++ b/src/CoreBundle/Traits/Repository/ORM/TreeRepositoryTrait.php @@ -2,7 +2,7 @@ namespace Chamilo\CoreBundle\Traits\Repository\ORM; -use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Mapping\ClassMetadata; use Gedmo\Tool\Wrapper\EntityWrapper; use Gedmo\Tree\RepositoryUtils; @@ -27,7 +27,7 @@ trait TreeRepositoryTrait protected $repoUtils = null; /** - * @return EntityManager + * @return EntityManagerInterface */ abstract protected function getEntityManager(); @@ -55,7 +55,7 @@ trait TreeRepositoryTrait * } * */ - public function initializeTreeRepository(EntityManager $em, ClassMetadata $class) + public function initializeTreeRepository(EntityManagerInterface $em, ClassMetadata $class) { $treeListener = null; foreach ($em->getEventManager()->getListeners() as $listeners) {