| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -7,10 +7,15 @@ declare(strict_types=1); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					namespace Chamilo\CoreBundle\Controller\Admin; | 
					 | 
					 | 
					 | 
					namespace Chamilo\CoreBundle\Controller\Admin; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Controller\BaseController; | 
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Controller\BaseController; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Entity\Page; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Entity\PageCategory; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Repository\PageCategoryRepository; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Repository\PageRepository; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Settings\SettingsManager; | 
					 | 
					 | 
					 | 
					use Chamilo\CoreBundle\Settings\SettingsManager; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; | 
					 | 
					 | 
					 | 
					use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use Symfony\Component\HttpFoundation\JsonResponse; | 
					 | 
					 | 
					 | 
					use Symfony\Component\HttpFoundation\JsonResponse; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use Symfony\Component\Routing\Annotation\Route; | 
					 | 
					 | 
					 | 
					use Symfony\Component\Routing\Annotation\Route; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					use Symfony\Component\Serializer\SerializerInterface; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use Symfony\Contracts\Translation\TranslatorInterface; | 
					 | 
					 | 
					 | 
					use Symfony\Contracts\Translation\TranslatorInterface; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#[Security("is_granted('ROLE_ADMIN') or is_granted('ROLE_SESSION_MANAGER')")] | 
					 | 
					 | 
					 | 
					#[Security("is_granted('ROLE_ADMIN') or is_granted('ROLE_SESSION_MANAGER')")] | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -23,7 +28,10 @@ class IndexBlocksController extends BaseController | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public function __construct( | 
					 | 
					 | 
					 | 
					    public function __construct( | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        private readonly TranslatorInterface $translator, | 
					 | 
					 | 
					 | 
					        private readonly TranslatorInterface $translator, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        private readonly SettingsManager $settingsManager | 
					 | 
					 | 
					 | 
					        private readonly SettingsManager $settingsManager, | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        private readonly PageRepository $pageRepository, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        private readonly PageCategoryRepository $pageCategoryRepository, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        private readonly SerializerInterface $serializer | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    ) { | 
					 | 
					 | 
					 | 
					    ) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $this->extAuthSource = [ | 
					 | 
					 | 
					 | 
					        $this->extAuthSource = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'extldap' => [], | 
					 | 
					 | 
					 | 
					            'extldap' => [], | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -38,70 +46,110 @@ class IndexBlocksController extends BaseController | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $json = []; | 
					 | 
					 | 
					 | 
					        $json = []; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $json['users'] = [ | 
					 | 
					 | 
					 | 
					        $json['users'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'id' => 'block-admin-users', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'searchUrl' => $this->generateUrl('legacy_main', ['name' => 'admin/user_list.php']), | 
					 | 
					 | 
					 | 
					            'searchUrl' => $this->generateUrl('legacy_main', ['name' => 'admin/user_list.php']), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'editable' => $this->isAdmin, | 
					 | 
					 | 
					 | 
					            'editable' => $this->isAdmin, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'items' => $this->getItemsUsers(), | 
					 | 
					 | 
					 | 
					            'items' => $this->getItemsUsers(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'extraContent' => $this->getExtraContent('block-admin-users'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ]; | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if ($this->isAdmin) { | 
					 | 
					 | 
					 | 
					        if ($this->isAdmin) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $json['courses'] = [ | 
					 | 
					 | 
					 | 
					            $json['courses'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'id' => 'block-admin-courses', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'searchUrl' => $this->generateUrl('legacy_main', ['name' => 'admin/course_list.php']), | 
					 | 
					 | 
					 | 
					                'searchUrl' => $this->generateUrl('legacy_main', ['name' => 'admin/course_list.php']), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'editable' => true, | 
					 | 
					 | 
					 | 
					                'editable' => true, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'items' => $this->getItemsCourses(), | 
					 | 
					 | 
					 | 
					                'items' => $this->getItemsCourses(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'extraContent' => $this->getExtraContent('block-admin-courses'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]; | 
					 | 
					 | 
					 | 
					            ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $json['platform'] = [ | 
					 | 
					 | 
					 | 
					            $json['platform'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'id' => 'block-admin-platform', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'searchUrl' => $this->generateUrl('chamilo_platform_settings_search'), | 
					 | 
					 | 
					 | 
					                'searchUrl' => $this->generateUrl('chamilo_platform_settings_search'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'editable' => true, | 
					 | 
					 | 
					 | 
					                'editable' => true, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'items' => $this->getItemsPlatform(), | 
					 | 
					 | 
					 | 
					                'items' => $this->getItemsPlatform(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'extraContent' => $this->getExtraContent('block-admin-platform'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]; | 
					 | 
					 | 
					 | 
					            ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            /* Settings */ | 
					 | 
					 | 
					 | 
					            /* Settings */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $json['settings'] = [ | 
					 | 
					 | 
					 | 
					            $json['settings'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'id' => 'block-admin-settings', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'editable' => false, | 
					 | 
					 | 
					 | 
					                'editable' => false, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'items' => $this->getItemsSettings(), | 
					 | 
					 | 
					 | 
					                'items' => $this->getItemsSettings(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'extraContent' => $this->getExtraContent('block-admin-settings'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]; | 
					 | 
					 | 
					 | 
					            ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // Skills | 
					 | 
					 | 
					 | 
					            // Skills | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if ('true' === $this->settingsManager->getSetting('skill.allow_skills_tool')) { | 
					 | 
					 | 
					 | 
					            if ('true' === $this->settingsManager->getSetting('skill.allow_skills_tool')) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                $json['skills'] = [ | 
					 | 
					 | 
					 | 
					                $json['skills'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    'id' => 'block-admin-skills', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    'editable' => false, | 
					 | 
					 | 
					 | 
					                    'editable' => false, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    'items' => $this->getItemsSkills(), | 
					 | 
					 | 
					 | 
					                    'items' => $this->getItemsSkills(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    'extraContent' => $this->getExtraContent('block-admin-skills'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ]; | 
					 | 
					 | 
					 | 
					                ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if ('true' === $this->settingsManager->getSetting('gradebook.gradebook_dependency')) { | 
					 | 
					 | 
					 | 
					            if ('true' === $this->settingsManager->getSetting('gradebook.gradebook_dependency')) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                $json['gradebook'] = [ | 
					 | 
					 | 
					 | 
					                $json['gradebook'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    'id' => 'block-admin-gradebook', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    'editable' => false, | 
					 | 
					 | 
					 | 
					                    'editable' => false, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    'items' => $this->getItemsGradebook(), | 
					 | 
					 | 
					 | 
					                    'items' => $this->getItemsGradebook(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    'extraContent' => $this->getExtraContent('block-admin-gradebook'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ]; | 
					 | 
					 | 
					 | 
					                ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            // Data protection | 
					 | 
					 | 
					 | 
					            // Data protection | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if ('true' !== $this->settingsManager->getSetting('profile.disable_gdpr')) { | 
					 | 
					 | 
					 | 
					            if ('true' !== $this->settingsManager->getSetting('profile.disable_gdpr')) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                $json['data_privacy'] = [ | 
					 | 
					 | 
					 | 
					                $json['data_privacy'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    'id' => 'block-admin-privacy', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    'editable' => false, | 
					 | 
					 | 
					 | 
					                    'editable' => false, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    'items' => $this->getItemsPrivacy(), | 
					 | 
					 | 
					 | 
					                    'items' => $this->getItemsPrivacy(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                    'extraContent' => $this->getExtraContent('block-admin-privacy'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                ]; | 
					 | 
					 | 
					 | 
					                ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            /* Chamilo.org */ | 
					 | 
					 | 
					 | 
					            /* Chamilo.org */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $json['chamilo'] = [ | 
					 | 
					 | 
					 | 
					            $json['chamilo'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'id' => 'block-admin-chamilo', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'editable' => false, | 
					 | 
					 | 
					 | 
					                'editable' => false, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'items' => $this->getItemsChamilo(), | 
					 | 
					 | 
					 | 
					                'items' => $this->getItemsChamilo(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                'extraContent' => $this->getExtraContent('block-admin-chamilo'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]; | 
					 | 
					 | 
					 | 
					            ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /* Sessions */ | 
					 | 
					 | 
					 | 
					        /* Sessions */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $json['sessions'] = [ | 
					 | 
					 | 
					 | 
					        $json['sessions'] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'id' => 'block-admin-sessions', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'searchUrl' => $this->generateUrl('legacy_main', ['name' => 'session/session_list.php']), | 
					 | 
					 | 
					 | 
					            'searchUrl' => $this->generateUrl('legacy_main', ['name' => 'session/session_list.php']), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'editable' => $this->isAdmin, | 
					 | 
					 | 
					 | 
					            'editable' => $this->isAdmin, | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'items' => $this->getItemsSessions(), | 
					 | 
					 | 
					 | 
					            'items' => $this->getItemsSessions(), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'extraContent' => $this->getExtraContent('block-admin-sessions'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ]; | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return $this->json($json); | 
					 | 
					 | 
					 | 
					        return $this->json($json); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    private function getExtraContent(string $title): ?array | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        /** @var Page|null $page */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $page = $this->pageRepository->findOneBy(['title' => $title]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $pageJsonld = $this->serializer->serialize($page, 'jsonld', ['groups' => ['adminblock:read']]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $pageArray = json_decode($pageJsonld, true); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if ($page) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            return $pageArray; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        /** @var PageCategory $category */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $category = $this->pageCategoryRepository->findOneBy(['title' => $title]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $categoryJsonld = $this->serializer->serialize($category, 'jsonld', ['groups' => ['page:read']]); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $categoryArray = json_decode($categoryJsonld, true); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        return [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'category' => $categoryArray['@id'], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    private function getItemsUsers(): array | 
					 | 
					 | 
					 | 
					    private function getItemsUsers(): array | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    { | 
					 | 
					 | 
					 | 
					    { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $items = []; | 
					 | 
					 | 
					 | 
					        $items = []; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -339,7 +387,7 @@ class IndexBlocksController extends BaseController | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ]; | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $items[] = [ | 
					 | 
					 | 
					 | 
					        $items[] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'class' => 'item-global-agenda', | 
					 | 
					 | 
					 | 
					            'class' => 'item-global-agenda', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'url' => '/resources/ccalendarevent?type=global', | 
					 | 
					 | 
					 | 
					            'route' => ['name' => 'CCalendarEventList', 'query' => ['type' => 'global']], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'label' => $this->translator->trans('Global agenda'), | 
					 | 
					 | 
					 | 
					            'label' => $this->translator->trans('Global agenda'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ]; | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -353,7 +401,7 @@ class IndexBlocksController extends BaseController | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $items[] = [ | 
					 | 
					 | 
					 | 
					        $items[] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'class' => 'item-pages-list', | 
					 | 
					 | 
					 | 
					            'class' => 'item-pages-list', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'url' => '/resources/pages', | 
					 | 
					 | 
					 | 
					            'route' => ['name' => 'PageList'], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            'label' => $this->translator->trans('Pages'), | 
					 | 
					 | 
					 | 
					            'label' => $this->translator->trans('Pages'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ]; | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        $items[] = [ | 
					 | 
					 | 
					 | 
					        $items[] = [ | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -414,7 +462,7 @@ class IndexBlocksController extends BaseController | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if ('true' === $this->settingsManager->getSetting('registration.allow_terms_conditions')) { | 
					 | 
					 | 
					 | 
					        if ('true' === $this->settingsManager->getSetting('registration.allow_terms_conditions')) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            $items[] = [ | 
					 | 
					 | 
					 | 
					            $items[] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'class' => 'item-terms-and-conditions', | 
					 | 
					 | 
					 | 
					                'class' => 'item-terms-and-conditions', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'url' => '/resources/terms-conditions', | 
					 | 
					 | 
					 | 
					                'route' => ['name' => 'TermsConditions'], | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                'label' => $this->translator->trans('Terms and Conditions'), | 
					 | 
					 | 
					 | 
					                'label' => $this->translator->trans('Terms and Conditions'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]; | 
					 | 
					 | 
					 | 
					            ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -608,6 +656,12 @@ class IndexBlocksController extends BaseController | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            ]; | 
					 | 
					 | 
					 | 
					            ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        $items[] = [ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'class' => 'item-colors', | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'route' => ['name' => 'AdminConfigurationColors'], | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            'label' => $this->translator->trans('Colors'), | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        ]; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return $items; | 
					 | 
					 | 
					 | 
					        return $items; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |