HEX
Server: LiteSpeed
System: Linux d8 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: wbwebdes (3015)
PHP: 8.1.31
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/wbwebdes/domains/helpdesk.wb-webdesign.com/public_html/src/Controller/BaseController.php
<?php

namespace App\Controller;

use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpKernel\KernelInterface;
use Webkul\UVDesk\CoreFrameworkBundle\Entity\Website;
use Webkul\UVDesk\CoreFrameworkBundle\Entity\SupportRole;
use Webkul\UVDesk\CoreFrameworkBundle\Entity\UserInstance;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class BaseController extends AbstractController
{
    /**
     * Forward request to other controllers based on application state.
     *
     * @Route("/", name="base_route")
     */
    public function base(EntityManagerInterface $entityManager, KernelInterface $kernel)
    {
        try {
            // For a quick check we'll just see if support roles have been defined.
            $ownerSupportRole = $entityManager->getRepository(SupportRole::class)->findOneByCode('ROLE_SUPER_ADMIN');
            $administratorSupportRole = $entityManager->getRepository(SupportRole::class)->findOneByCode('ROLE_ADMIN');

            if (
                ! empty($ownerSupportRole) 
                || ! empty($administratorSupportRole)
            ) {
                $userInstanceRepository = $entityManager->getRepository(UserInstance::class);
                
                // If support roles are present, we'll check if any users exists with the administrator role.
                $owners = $userInstanceRepository->findBySupportRole($ownerSupportRole);
                $administrators = $userInstanceRepository->findBySupportRole($administratorSupportRole);

                if (
                    ! empty($owners) 
                    || ! empty($administrators)
                ) {
                    $availableBundles = array_keys($kernel->getBundles());
                    $websiteRepository = $entityManager->getRepository(Website::class);

                    // Redirect user to front panel
                    if (in_array('UVDeskSupportCenterBundle', $availableBundles)) {
                        $supportCenterWebsite = $websiteRepository->findOneByCode('knowledgebase');

                        if (! empty($supportCenterWebsite)) {
                            return $this->redirectToRoute('helpdesk_knowledgebase', [], 301);
                        }
                    }

                    // Redirect user to back panel
                    $helpdeskWebsite = $websiteRepository->findOneByCode('helpdesk');

                    if (! empty($helpdeskWebsite)) {
                        return $this->redirectToRoute('helpdesk_member_handle_login');
                    }
                }
            }
        } catch (\Exception $e) {
            // ...
        }
        
        return $this->forward(ConfigureHelpdesk::class . "::load");
    }
}