diff --git a/src/CoreBundle/Controller/ChatController.php b/src/CoreBundle/Controller/ChatController.php index ac87b61ede..3634207145 100644 --- a/src/CoreBundle/Controller/ChatController.php +++ b/src/CoreBundle/Controller/ChatController.php @@ -10,7 +10,6 @@ use Chamilo\CoreBundle\Traits\CourseControllerTrait; use Chamilo\CoreBundle\Traits\ResourceControllerTrait; use Chamilo\CourseBundle\Controller\CourseControllerInterface; use Chamilo\CourseBundle\Repository\CChatConversationRepository; -use Event; use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; @@ -30,14 +29,14 @@ class ChatController extends AbstractResourceController implements CourseControl */ public function indexAction(Request $request): Response { - Event::event_access_tool(TOOL_CHAT); + \Event::event_access_tool(TOOL_CHAT); $logInfo = [ 'tool' => TOOL_CHAT, 'action' => 'start', 'action_details' => 'start-chat', ]; - Event::registerLog($logInfo); + \Event::registerLog($logInfo); return $this->render( '@ChamiloCore/Chat/chat.html.twig', @@ -85,7 +84,7 @@ class ChatController extends AbstractResourceController implements CourseControl 'action' => 'exit', 'action_details' => 'exit-chat', ]; - Event::registerLog($logInfo); + \Event::registerLog($logInfo); break; case 'track': diff --git a/src/CoreBundle/Controller/CourseHomeController.php b/src/CoreBundle/Controller/CourseHomeController.php index 742cd1345b..6541a94081 100644 --- a/src/CoreBundle/Controller/CourseHomeController.php +++ b/src/CoreBundle/Controller/CourseHomeController.php @@ -17,7 +17,6 @@ use Chamilo\CourseBundle\Repository\CToolRepository; use CourseManager; use Database; use Display; -use Event; use ExtraFieldValue; use Fhaculty\Graph\Graph; use Security; @@ -105,7 +104,7 @@ class CourseHomeController extends ToolBaseController 'tool' => 'course-main', 'action' => $action, ]; - Event::registerLog($logInfo); + \Event::registerLog($logInfo); /* Introduction section (editable by course admins) */ /*$introduction = Display::return_introduction_section( @@ -286,9 +285,6 @@ class CourseHomeController extends ToolBaseController ); } - /** - * @return array - */ private function autoLaunch() { /* Auto launch code */ @@ -342,7 +338,8 @@ class CourseHomeController extends ToolBaseController $session_key = 'lp_autolaunch_'.$session_id.'_'.api_get_course_int_id().'_'.api_get_user_id(); if (!isset($_SESSION[$session_key])) { // Redirecting to the LP - $url = api_get_path(WEB_CODE_PATH).'lp/lp_controller.php?'.api_get_cidreq().'&action=view&lp_id='.$lp_data['iid']; + $url = api_get_path(WEB_CODE_PATH). + 'lp/lp_controller.php?'.api_get_cidreq().'&action=view&lp_id='.$lp_data['iid']; $_SESSION[$session_key] = true; header("Location: $url"); @@ -355,14 +352,18 @@ class CourseHomeController extends ToolBaseController } if ($showAutoLaunchLpWarning) { - $autoLaunchWarning = get_lang('The learning path auto-launch setting is ON. When learners enter this course, they will be automatically redirected to the learning path marked as auto-launch.'); + $autoLaunchWarning = get_lang( + 'The learning path auto-launch setting is ON. When learners enter this course, they will be automatically redirected to the learning path marked as auto-launch.' + ); } - $forumAutoLaunch = api_get_course_setting('enable_forum_auto_launch'); - if (1 == $forumAutoLaunch) { + $forumAutoLaunch = (int) api_get_course_setting('enable_forum_auto_launch'); + if (1 === $forumAutoLaunch) { if ($allowAutoLaunchForCourseAdmins) { if (empty($autoLaunchWarning)) { - $autoLaunchWarning = get_lang('The forum\'s auto-launch setting is on. Students will be redirected to the forum tool when entering this course.'); + $autoLaunchWarning = get_lang( + 'The forum\'s auto-launch setting is on. Students will be redirected to the forum tool when entering this course.' + ); } } else { $url = api_get_path(WEB_CODE_PATH).'forum/index.php?'.api_get_cidreq(); @@ -373,7 +374,7 @@ class CourseHomeController extends ToolBaseController if (api_get_configuration_value('allow_exercise_auto_launch')) { $exerciseAutoLaunch = (int) api_get_course_setting('enable_exercise_auto_launch'); - if (2 == $exerciseAutoLaunch) { + if (2 === $exerciseAutoLaunch) { if ($allowAutoLaunchForCourseAdmins) { if (empty($autoLaunchWarning)) { $autoLaunchWarning = get_lang( @@ -386,7 +387,7 @@ class CourseHomeController extends ToolBaseController header("Location: $url"); exit; } - } elseif (1 == $exerciseAutoLaunch) { + } elseif (1 === $exerciseAutoLaunch) { if ($allowAutoLaunchForCourseAdmins) { if (empty($autoLaunchWarning)) { $autoLaunchWarning = get_lang( @@ -400,8 +401,8 @@ class CourseHomeController extends ToolBaseController if (!empty($session_id)) { $condition = api_get_session_condition($session_id); $sql = "SELECT iid FROM $table - WHERE c_id = $course_id AND autolaunch = 1 $condition - LIMIT 1"; + WHERE c_id = $course_id AND autolaunch = 1 $condition + LIMIT 1"; $result = Database::query($sql); // If we found nothing in the session we just called the session_id = 0 autolaunch if (0 == Database::num_rows($result)) { @@ -410,8 +411,8 @@ class CourseHomeController extends ToolBaseController } $sql = "SELECT iid FROM $table - WHERE c_id = $course_id AND autolaunch = 1 $condition - LIMIT 1"; + WHERE c_id = $course_id AND autolaunch = 1 $condition + LIMIT 1"; $result = Database::query($sql); if (Database::num_rows($result) > 0) { $row = Database::fetch_array($result, 'ASSOC'); @@ -425,11 +426,13 @@ class CourseHomeController extends ToolBaseController } } - $documentAutoLaunch = api_get_course_setting('enable_document_auto_launch'); - if (1 == $documentAutoLaunch) { + $documentAutoLaunch = (int) api_get_course_setting('enable_document_auto_launch'); + if (1 === $documentAutoLaunch) { if ($allowAutoLaunchForCourseAdmins) { if (empty($autoLaunchWarning)) { - $autoLaunchWarning = get_lang('The document auto-launch feature configuration is enabled. Learners will be automatically redirected to document tool.'); + $autoLaunchWarning = get_lang( + 'The document auto-launch feature configuration is enabled. Learners will be automatically redirected to document tool.' + ); } } else { // Redirecting to the document diff --git a/src/CoreBundle/Controller/ResourceController.php b/src/CoreBundle/Controller/ResourceController.php index be7498b45b..5674d99040 100644 --- a/src/CoreBundle/Controller/ResourceController.php +++ b/src/CoreBundle/Controller/ResourceController.php @@ -18,7 +18,6 @@ use Chamilo\CoreBundle\Traits\ResourceControllerTrait; use Chamilo\CourseBundle\Controller\CourseControllerInterface; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Criteria; -use Doctrine\ORM\QueryBuilder; use FOS\CKEditorBundle\Form\Type\CKEditorType; use Symfony\Component\Filesystem\Exception\FileNotFoundException; use Symfony\Component\HttpFoundation\File\UploadedFile; @@ -89,14 +88,14 @@ class ResourceController extends AbstractResourceController implements CourseCon * * If node has children show it */ - public function listAction(Request $request): Response + public function listAction(Request $request) { - $tool = $request->get('tool'); + /*$tool = $request->get('tool'); $type = $request->get('type'); $resourceNodeId = $request->get('id'); $repository = $this->getRepositoryFromRequest($request); - $settings = $repository->getResourceSettings(); + $settings = $repository->getResourceSettings();*/ /*$grid = $this->getGrid($request, $repository, $grid, $resourceNodeId, 'chamilo_core_resource_list'); $parentResourceNode = $this->getParentResourceNode($request); @@ -184,7 +183,7 @@ class ResourceController extends AbstractResourceController implements CourseCon $data[] = $size; } - $groups = $course->getGroups(); + /*$groups = $course->getGroups(); foreach ($groups as $group) { $labels[] = $course->getTitle().' - '.$group->getName(); $size = $repository->getResourceNodeRepository()->getSize( @@ -195,7 +194,7 @@ class ResourceController extends AbstractResourceController implements CourseCon $group ); $data[] = $size; - } + }*/ $used = array_sum($data); $labels[] = $this->trans('Free'); @@ -392,7 +391,6 @@ class ResourceController extends AbstractResourceController implements CourseCon $this->trans('Unauthorised access to resource') ); - /** @var ResourceLink $link */ if ($this->hasCourse()) { $link = $resource->getFirstResourceLinkFromCourseSession($this->getCourse(), $this->getSession()); } else { @@ -552,7 +550,6 @@ class ResourceController extends AbstractResourceController implements CourseCon public function linkAction(Request $request, RouterInterface $router): Response { $id = $request->get('id'); - $em = $this->getDoctrine(); /** @var ResourceNode $resourceNode */ $resourceNode = $this->getResourceNodeRepository()->find($id); @@ -611,10 +608,9 @@ class ResourceController extends AbstractResourceController implements CourseCon ->andWhere(Criteria::expr()->eq('resourceType', $type)) // only download same type ; - /** @var ArrayCollection|ResourceNode[] $children */ - /** @var QueryBuilder $children */ $qb = $resourceNodeRepo->getChildrenQueryBuilder($resourceNode); $qb->addCriteria($criteria); + /** @var ArrayCollection|ResourceNode[] $children */ $children = $qb->getQuery()->getResult(); $count = count($children); if (0 === $count) { @@ -804,8 +800,8 @@ class ResourceController extends AbstractResourceController implements CourseCon $course = $this->getDoctrine()->getRepository(Course::class)->find($course); $session = $this->getSession(); - /** @var AbstractResource $newResource */ - $newResource = $repository->setResourceProperties($form, $course, $session, $fileType); + // @var AbstractResource $newResource + /*$newResource = $repository->setResourceProperties($form, $course, $session, $fileType); $file = null; if ('file' === $fileType && $settings->isAllowToSaveEditorToResourceFile()) { @@ -818,10 +814,6 @@ class ResourceController extends AbstractResourceController implements CourseCon $meta = stream_get_meta_data($handle); $file = new UploadedFile($meta['uri'], $fileName, 'text/html', null, true); } - - //$parent = $repository->getResourceNodeRepository()->getResourceByNode($parentNode); - // @todo fix correct parent - $newResource->setParent($parent); $newResource->addCourseLink( $course, $session @@ -830,7 +822,7 @@ class ResourceController extends AbstractResourceController implements CourseCon $em->flush(); $repository->addFile($newResource, $file); - $em->flush(); + $em->flush();*/ // Loops all sharing options /*foreach ($shareList as $share) { @@ -897,6 +889,7 @@ class ResourceController extends AbstractResourceController implements CourseCon ); } + $template = null; switch ($fileType) { case 'folder': $template = $repository->getTemplates()->getFromAction('newFolderAction'); @@ -908,11 +901,15 @@ class ResourceController extends AbstractResourceController implements CourseCon break; } - $routeParams = $this->getResourceParams($request); - $routeParams['form'] = $form->createView(); - $routeParams['parent'] = $resourceNodeParentId; - $routeParams['file_type'] = $fileType; + if ($template) { + $routeParams = $this->getResourceParams($request); + $routeParams['form'] = $form->createView(); + $routeParams['parent'] = $resourceNodeParentId; + $routeParams['file_type'] = $fileType; + + return $this->render($template, $routeParams); + } - return $this->render($template, $routeParams); + throw $this->createAccessDeniedException(); } } diff --git a/src/CoreBundle/Controller/ResourceUploadController.php b/src/CoreBundle/Controller/ResourceUploadController.php index cc13c51c20..a63e1b7488 100644 --- a/src/CoreBundle/Controller/ResourceUploadController.php +++ b/src/CoreBundle/Controller/ResourceUploadController.php @@ -82,8 +82,8 @@ class ResourceUploadController extends BlueimpController $this->validate($file, $request, $response); $this->dispatchPreUploadEvent($file, $response, $request); - - $resource = $repo->saveUpload($file, $course, $session); + $resource = $repo->saveUpload($file); + //$resource = $repo->saveUpload($file, $course, $session); // @todo fix correct $parent $resource->setParent($parent); diff --git a/src/CoreBundle/Controller/SessionController.php b/src/CoreBundle/Controller/SessionController.php index 88f17266d4..56d7404dc0 100644 --- a/src/CoreBundle/Controller/SessionController.php +++ b/src/CoreBundle/Controller/SessionController.php @@ -11,6 +11,7 @@ use Chamilo\CoreBundle\Entity\Session; use Chamilo\CoreBundle\Entity\SessionRelCourse; use Chamilo\CoreBundle\Entity\User; use Chamilo\CoreBundle\Framework\Container; +use Chamilo\CoreBundle\Repository\ExtraFieldRelTagRepository; use Chamilo\CoreBundle\Repository\Node\IllustrationRepository; use Chamilo\CoreBundle\Repository\Node\UserRepository; use Chamilo\CoreBundle\Repository\SequenceRepository; @@ -49,7 +50,7 @@ class SessionController extends AbstractController /** @var EntityRepository $fieldsRepo */ $fieldsRepo = $em->getRepository(ExtraField::class); - /** @var EntityRepository $fieldTagsRepo */ + /** @var ExtraFieldRelTagRepository $fieldTagsRepo */ $fieldTagsRepo = $em->getRepository(ExtraFieldRelTag::class); /** @var SequenceRepository $sequenceResourceRepo */ @@ -179,7 +180,7 @@ class SessionController extends AbstractController true ); - $sessionRequirements = $sequenceResourceRepo->getRequirements( + /*$sessionRequirements = $sequenceResourceRepo->getRequirements( $session->getId(), SequenceResource::SESSION_TYPE ); @@ -191,7 +192,7 @@ class SessionController extends AbstractController break; } - } + }*/ $plugin = \BuyCoursesPlugin::create(); $checker = $plugin->isEnabled(); @@ -212,7 +213,7 @@ class SessionController extends AbstractController $coursesInThisSession = \SessionManager::get_course_list_by_session_id($sessionId); $coursesCount = count($coursesInThisSession); - $redirectToSession = 1 == $coursesCount && $redirectToSession + $redirectToSession = 1 === $coursesCount && $redirectToSession ? ($redirectToSession.'&cr='.array_values($coursesInThisSession)[0]['directory']) : $redirectToSession; @@ -224,8 +225,8 @@ class SessionController extends AbstractController 'courses' => $courses, 'essence' => $essence, 'session_extra_fields' => $sessionValues->getAllValuesForAnItem($session->getId(), null, true), - 'has_requirements' => $hasRequirements, - 'sequences' => $sessionRequirements, + //'has_requirements' => $hasRequirements, + //'sequences' => $sessionRequirements, 'is_premium' => $sessionIsPremium, 'show_tutor' => 'true' === api_get_setting('show_session_coach') ? true : false, 'page_url' => api_get_path(WEB_PATH)."sessions/{$session->getId()}/about/", @@ -234,13 +235,13 @@ class SessionController extends AbstractController $session->getId(), api_get_user_id() ), - 'subscribe_button' => \CoursesAndSessionsCatalog::getRegisteredInSessionButton( + /*'subscribe_button' => \CoursesAndSessionsCatalog::getRegisteredInSessionButton( $session->getId(), $session->getName(), $hasRequirements, true, true - ), + ),*/ 'user_session_time' => SessionManager::getDayLeftInSession( ['id' => $session->getId(), 'duration' => $session->getDuration()], api_get_user_id() diff --git a/src/CoreBundle/Entity/AbstractResource.php b/src/CoreBundle/Entity/AbstractResource.php index fcd16a6ff0..58bd7f8e8a 100644 --- a/src/CoreBundle/Entity/AbstractResource.php +++ b/src/CoreBundle/Entity/AbstractResource.php @@ -10,6 +10,7 @@ use Chamilo\CoreBundle\Security\Authorization\Voter\ResourceNodeVoter; use Chamilo\CourseBundle\Entity\CGroup; use Doctrine\Common\Collections\Criteria; use Doctrine\ORM\Mapping as ORM; +use Symfony\Component\Form\FormInterface; use Symfony\Component\Serializer\Annotation\Groups; use Symfony\Component\Validator\Constraints as Assert; @@ -94,6 +95,8 @@ abstract class AbstractResource abstract public function setResourceName(string $name); + //abstract public function setResourceProperties(FormInterface $form, $course, $session, $fileType); + public function getResourceLinkEntityList() { return $this->resourceLinkEntityList; diff --git a/src/CoreBundle/Entity/Course.php b/src/CoreBundle/Entity/Course.php index 081c2da7ad..be60426d4f 100644 --- a/src/CoreBundle/Entity/Course.php +++ b/src/CoreBundle/Entity/Course.php @@ -565,7 +565,7 @@ class Course extends AbstractResource implements ResourceInterface, ResourceWith return $this->getTeachers()->matching($criteria)->count() > 0; } - public function hasGroup(CGroup $group): bool + public function hasGroup(CGroup $group) { /*$criteria = Criteria::create()->where( Criteria::expr()->eq('groups', $group) diff --git a/src/CoreBundle/Entity/ResourceNode.php b/src/CoreBundle/Entity/ResourceNode.php index 63737f9de6..c9ef712a97 100644 --- a/src/CoreBundle/Entity/ResourceNode.php +++ b/src/CoreBundle/Entity/ResourceNode.php @@ -390,7 +390,7 @@ class ResourceNode */ //var_dump($this->getTitle(), $path); $pathForDisplay = preg_replace( - '/-\d+'.self::PATH_SEPARATOR.'/', + '/-\d+\\'.self::PATH_SEPARATOR.'/', '/', $path ); diff --git a/src/CoreBundle/Repository/ResourceRepository.php b/src/CoreBundle/Repository/ResourceRepository.php index 86130f7019..90329d00e9 100644 --- a/src/CoreBundle/Repository/ResourceRepository.php +++ b/src/CoreBundle/Repository/ResourceRepository.php @@ -40,28 +40,15 @@ use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; */ abstract class ResourceRepository extends ServiceEntityRepository { - /** - * @var EntityRepository - */ + /** @var EntityRepository */ protected $repository; - /** - * @var FilesystemInterface - */ + /** @var FilesystemInterface */ protected $fs; - /** - * @var EntityManager - */ + /** @var EntityManager */ protected $entityManager; - /** - * The entity class FQN. - * - * @var string - */ - protected $className; - /** @var RouterInterface */ protected $router; @@ -76,6 +63,14 @@ abstract class ResourceRepository extends ServiceEntityRepository /** @var ToolChain */ protected $toolChain; + + /** + * The entity class FQN. + * + * @var string + */ + protected $className; + protected $settings; protected $templates; protected $resourceType; @@ -926,6 +921,16 @@ abstract class ResourceRepository extends ServiceEntityRepository return true; } + public function saveUpload(UploadedFile $file) + { + throw new \Exception('Implement saveUpload'); + } + + public function getResourceFormType() + { + throw new \Exception('Implement getResourceFormType'); + } + private function setLinkVisibility(AbstractResource $resource, int $visibility, bool $recursive = true): bool { $resourceNode = $resource->getResourceNode(); @@ -979,14 +984,4 @@ abstract class ResourceRepository extends ServiceEntityRepository return true; } - - public function saveUpload(UploadedFile $file) - { - throw new \Exception('Implement saveUpload'); - } - - public function getResourceFormType() - { - throw new \Exception('Implement getResourceFormType'); - } } diff --git a/src/CoreBundle/Repository/ResourceWithLinkInterface.php b/src/CoreBundle/Repository/ResourceWithLinkInterface.php index b53652caaa..8f47f7014d 100644 --- a/src/CoreBundle/Repository/ResourceWithLinkInterface.php +++ b/src/CoreBundle/Repository/ResourceWithLinkInterface.php @@ -13,5 +13,5 @@ use Symfony\Component\Routing\RouterInterface; */ interface ResourceWithLinkInterface { - public function getLink(ResourceInterface $resource, RouterInterface $router): string; + public function getLink(ResourceInterface $resource, RouterInterface $router, $extraParams = []): string; } diff --git a/src/CoreBundle/Settings/SettingsResolver.php b/src/CoreBundle/Settings/SettingsResolver.php index 4dfcb9ac12..4cb5eb34b3 100644 --- a/src/CoreBundle/Settings/SettingsResolver.php +++ b/src/CoreBundle/Settings/SettingsResolver.php @@ -4,14 +4,28 @@ namespace Chamilo\CoreBundle\Settings; -//use Doctrine\ORM\NonUniqueResultException; +use Doctrine\ORM\NonUniqueResultException; use Sylius\Bundle\SettingsBundle\Resolver\SettingsResolverInterface; +use Sylius\Bundle\SettingsBundle\Resource\RepositoryInterface; class SettingsResolver implements SettingsResolverInterface { + /** + * @var RepositoryInterface + */ + private $settingsRepository; + + /** + * @param RepositoryInterface $settingsRepository + */ + public function __construct(RepositoryInterface $settingsRepository) + { + $this->settingsRepository = $settingsRepository; + } + public function resolve($schemaAlias, $namespace = null) { - /*try { + try { $criteria = []; if (null !== $namespace) { $criteria['category'] = $namespace; @@ -19,7 +33,11 @@ class SettingsResolver implements SettingsResolverInterface return $this->settingsRepository->findBy($criteria); } catch (NonUniqueResultException $e) { - throw new \LogicException(sprintf('Multiple schemas found for "%s". You should probably define a custom settings resolver for this schema.', $schemaAlias)); - }*/ + $message = sprintf( + 'Multiple schemas found for "%s". You should probably define a custom settings resolver for this schema.', + $schemaAlias + ); + throw new \LogicException($message); + } } } diff --git a/src/CoreBundle/Twig/SettingsHelper.php b/src/CoreBundle/Twig/SettingsHelper.php index 06d69d6c8a..b422489b60 100644 --- a/src/CoreBundle/Twig/SettingsHelper.php +++ b/src/CoreBundle/Twig/SettingsHelper.php @@ -5,6 +5,7 @@ namespace Chamilo\CoreBundle\Twig; use Sylius\Bundle\SettingsBundle\Manager\SettingsManagerInterface; +use Sylius\Bundle\SettingsBundle\Model\Settings; use Sylius\Bundle\SettingsBundle\Templating\Helper\SettingsHelperInterface; use Symfony\Component\Templating\Helper\Helper; @@ -31,7 +32,7 @@ class SettingsHelper extends Helper implements SettingsHelperInterface /** * @param string $schemaAlias Example: admin, agenda, etc * - * @return \Sylius\Bundle\SettingsBundle\Model\Settings + * @return Settings */ public function getSettings($schemaAlias) { diff --git a/src/CourseBundle/Repository/CThematicAdvanceRepository.php b/src/CourseBundle/Repository/CThematicAdvanceRepository.php index 06d483cba6..fb55372935 100644 --- a/src/CourseBundle/Repository/CThematicAdvanceRepository.php +++ b/src/CourseBundle/Repository/CThematicAdvanceRepository.php @@ -9,12 +9,39 @@ use Chamilo\CoreBundle\ToolChain; use Chamilo\CourseBundle\Entity\CThematicAdvance; use Cocur\Slugify\SlugifyInterface; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityRepository; use Doctrine\Persistence\ManagerRegistry; +use League\Flysystem\FilesystemInterface; use Symfony\Component\Routing\RouterInterface; use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; final class CThematicAdvanceRepository extends ServiceEntityRepository { + /** @var EntityRepository */ + protected $repository; + + /** @var FilesystemInterface */ + protected $fs; + + /** @var EntityManager */ + protected $entityManager; + + /** @var RouterInterface */ + protected $router; + + /** @var ResourceNodeRepository */ + protected $resourceNodeRepository; + + /** @var AuthorizationCheckerInterface */ + protected $authorizationChecker; + + /** @var SlugifyInterface */ + protected $slugify; + + /** @var ToolChain */ + protected $toolChain; + public function __construct(ManagerRegistry $registry) { parent::__construct($registry, CThematicAdvance::class); diff --git a/src/CourseBundle/Repository/CThematicPlanRepository.php b/src/CourseBundle/Repository/CThematicPlanRepository.php index 2f71dfa553..6902d96fee 100644 --- a/src/CourseBundle/Repository/CThematicPlanRepository.php +++ b/src/CourseBundle/Repository/CThematicPlanRepository.php @@ -14,13 +14,40 @@ use Chamilo\CourseBundle\Entity\CGroup; use Chamilo\CourseBundle\Entity\CThematicPlan; use Cocur\Slugify\SlugifyInterface; use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\ORM\EntityManager; +use Doctrine\ORM\EntityRepository; use Doctrine\ORM\QueryBuilder; use Doctrine\Persistence\ManagerRegistry; +use League\Flysystem\FilesystemInterface; use Symfony\Component\Routing\RouterInterface; use Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface; final class CThematicPlanRepository extends ServiceEntityRepository { + /** @var EntityRepository */ + protected $repository; + + /** @var FilesystemInterface */ + protected $fs; + + /** @var EntityManager */ + protected $entityManager; + + /** @var RouterInterface */ + protected $router; + + /** @var ResourceNodeRepository */ + protected $resourceNodeRepository; + + /** @var AuthorizationCheckerInterface */ + protected $authorizationChecker; + + /** @var SlugifyInterface */ + protected $slugify; + + /** @var ToolChain */ + protected $toolChain; + public function __construct(ManagerRegistry $registry) { parent::__construct($registry, CThematicPlan::class);