SeminarCatalog \ Exception \ PublicException
No message SeminarCatalog\Exception\PublicException thrown with message "" Stacktrace: #3 SeminarCatalog\Exception\PublicException in /srv/www/bgphoenics2.invorbereitung.de/ilias/Core/Catalog/Classes/Controller/CatalogController.php:881 #2 SeminarCatalog\Core\Catalog\Controller\CatalogController:seminarDetailsAction in /srv/www/bgphoenics2.invorbereitung.de/ilias/classes/Controller/BaseController.php:255 #1 SeminarCatalog\Controller\BaseController:handleCmd in /srv/www/bgphoenics2.invorbereitung.de/ilias/classes/SeminarCatalogKernel.php:91 #0 SeminarCatalogKernel:handleRequest in /srv/www/bgphoenics2.invorbereitung.de/ilias/index.php:23
Stack frames (4)
3
SeminarCatalog\Exception\PublicException
/Core/Catalog/Classes/Controller/CatalogController.php:881
2
SeminarCatalog\Core\Catalog\Controller\CatalogController seminarDetailsAction
/classes/Controller/BaseController.php:255
1
SeminarCatalog\Controller\BaseController handleCmd
/classes/SeminarCatalogKernel.php:91
0
SeminarCatalogKernel handleRequest
/index.php:23
/srv/www/bgphoenics2.invorbereitung.de/ilias/Core/Catalog/Classes/Controller/CatalogController.php
            $seminar = $this->seminarRepository->findOneById((int)$entryId);
        }
        if (is_string($seminarTitle) && strlen($seminarTitle)) {
            $seminar = $this->seminarRepository->findOneByTitle($seminarTitle);
        }
        if ($seminar == null) {
            return new \SeminarCatalog\Rest\Utility\RedirectControllerResult('/');
        }
        if ($seminar->getType() == \SeminarCatalog\Core\Seminar\Model\Seminar::TYPE_EXTERNAL) {
            //return $this->redirect('catalog');
        }
        $this->setPageTitle($seminar->getTitle());
 
        $template = $this->twig->load('SeminarDetails.twig');
 
        $HeadHtmlService = ObjectManager::get(HeadHtmlService::class);
        $HeadHtmlService->addMetaTag('keywords', $seminar->getTags());
 
        if (!$seminar->isVisible(-1, true)) {
            throw new \SeminarCatalog\Exception\PublicException;
        }
 
        $relatedBundles = ObjectManager::get(BundleRepository::class)->getRelatedBundlesBySeminar($seminar);
 
 
 
        return $template->render(
            array(
                'seminar' => $seminar,
                'currentEvent' => $this->eventRepository->findOneById($eventId),
                'currentUser' => $this->currentUser,
                'filter' => $_SESSION[FilterService::$filterMap[self::class]] ?? null,
                'relatedBundles' => $relatedBundles,
 
            )
        );
    }
 
    /**
     * @access isAnybody
Arguments
  1. ""
    
/srv/www/bgphoenics2.invorbereitung.de/ilias/classes/Controller/BaseController.php
                    $this,
                    'handleParameters',
                    $_GET
                );
 
                $this->handleParameters(...$params);
            }
 
            if (method_exists($this, 'initializeAction')) {
                $params = ClassService::convertGetValuesToMethodParameterValues(
                    $this,
                    'initializeAction',
                    $_GET
                );
                $this->initializeAction(...$params);
            }
 
            $cmd = $cmd . 'Action';
            $params = ClassService::convertGetValuesToMethodParameterValues($this, $cmd, $_GET);
            $html = $this->$cmd(...$params);
 
            global $tpl;
 
            if ($tpl) {
                if ($this->getPageTitle() != '') {
                    $tpl->setTitle($this->getPageTitle());
                } else {
                    // This is a bad idea because it will break the page title in the repository
                    $tpl->setTitle(LanguageService::translate('default_page_header'));
                }
 
                if ($this->getPageIcon() != '') {
                    $tpl->setTitleIcon($this->getPageIcon());
                }
            }
 
            return $html;
        }
 
        throw new AuthenticationException(get_class($this), $cmd);
Arguments
  1. "55"
    
  2. null
    
  3. null
    
/srv/www/bgphoenics2.invorbereitung.de/ilias/classes/SeminarCatalogKernel.php
 
            $router = ObjectManager::get(\SeminarCatalog\Core\Routing\Service\CoreRouter::class);
 
            try {
                if ($request->getRequestUri()) {
                    if (strpos($request->getRequestUri(), '/index.php?') === 0) {
                        throw new ResourceNotFoundException('URLs starting with /index.php? are not allowed');
                    }
                }
                $match  = $router->match($request);
                $router->resolveMatch($match);
                $controller = $match[$configurationService->getControllerGetParameterName()];
                $request->query->add($match);
 
                $controller = UtilityService::prepareClassNameFromUrl($controller);
                $controller = self::checkAccessAndGetControllerInstance(
                    $controller,
                    $configurationService
                );
                $response = $controller->handleCmd($request);
 
            } catch(NoConfigurationException|ResourceNotFoundException $e) {
                // Fallback to legacy Routing
                $controller = $request->get($configurationService->getControllerGetParameterName());
                if ($controller == "") {
                    throw new \Exception("No route found");
                }
 
 
                $controller = UtilityService::prepareClassNameFromUrl($controller);
                $controller = self::checkAccessAndGetControllerInstance(
                    $controller,
                    $configurationService
                );
                $response = $controller->handleCmd();
            }
 
            return $this->handleControllerResponse($response, $request, $controller);
        } catch(\Throwable $e) {
 
Arguments
  1. Symfony\Component\HttpFoundation\Request {#543
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#533}
      +request: Symfony\Component\HttpFoundation\InputBag {#531}
      +query: Symfony\Component\HttpFoundation\InputBag {#532}
      +server: Symfony\Component\HttpFoundation\ServerBag {#536}
      +files: Symfony\Component\HttpFoundation\FileBag {#535}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#534}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#537}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "//kursangebot/kurs/55.html"
      #requestUri: "//kursangebot/kurs/55.html"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      -isIisRewrite: false
      basePath: ""
      format: "html"
    }
    
/srv/www/bgphoenics2.invorbereitung.de/ilias/index.php
use SeminarCatalog\Rest\Utility\ControllerResultInterface;
use Symfony\Component\HttpFoundation\Request;
 
 
require_once __DIR__ . '/classes/SeminarCatalogKernel.php';
 
error_reporting(error_reporting() & ~E_NOTICE);
ini_set('display_errors', 1);
apcu_clear_cache();
 
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
 
define("standalone2",true);
define("DEVMODE",true);
 
$kernel = new \SeminarCatalogKernel();
$kernel->boot();
$response = $kernel->handleRequest(ObjectManager::get(Request::class));
 
if ($response instanceof \Symfony\Component\HttpFoundation\Response || $response instanceof ControllerResultInterface) {
    $response->send();
} else {
    if (is_string($response)) {
        echo $response;
    } else {
        throw new \Exception('Invalid response type given. Only Response|String is valid.');
    }
}
 
// http://localhost:32768/?scontroller=SeminarCatalog__Core__Catalog__Controller__CatalogController&saction=catalog
 
Arguments
  1. Symfony\Component\HttpFoundation\Request {#543
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {#533}
      +request: Symfony\Component\HttpFoundation\InputBag {#531}
      +query: Symfony\Component\HttpFoundation\InputBag {#532}
      +server: Symfony\Component\HttpFoundation\ServerBag {#536}
      +files: Symfony\Component\HttpFoundation\FileBag {#535}
      +cookies: Symfony\Component\HttpFoundation\InputBag {#534}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {#537}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "//kursangebot/kurs/55.html"
      #requestUri: "//kursangebot/kurs/55.html"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: null
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      -isSafeContentPreferred: null
      -isIisRewrite: false
      basePath: ""
      format: "html"
    }
    

Environment & details:

Key Value
args
"/kursangebot/kurs/55.html"
_route
"seminar_details_catalog"
saction
"seminarDetails"
scontroller
"SeminarCatalog__Core__Catalog__Controller__CatalogController"
lang
"de"
entryId
"55"
request
Symfony\Component\HttpFoundation\Request {#543
  +attributes: Symfony\Component\HttpFoundation\ParameterBag {#533}
  +request: Symfony\Component\HttpFoundation\InputBag {#531}
  +query: Symfony\Component\HttpFoundation\InputBag {#532}
  +server: Symfony\Component\HttpFoundation\ServerBag {#536}
  +files: Symfony\Component\HttpFoundation\FileBag {#535}
  +cookies: Symfony\Component\HttpFoundation\InputBag {#534}
  +headers: Symfony\Component\HttpFoundation\HeaderBag {#537}
  #content: null
  #languages: null
  #charsets: null
  #encodings: null
  #acceptableContentTypes: null
  #pathInfo: "//kursangebot/kurs/55.html"
  #requestUri: "//kursangebot/kurs/55.html"
  #baseUrl: ""
  #basePath: null
  #method: "GET"
  #format: null
  #session: null
  #locale: null
  #defaultLocale: "en"
  -preferredFormat: null
  -isHostValid: true
  -isForwardedValid: true
  -isSafeContentPreferred: null
  -isIisRewrite: false
  basePath: ""
  format: "html"
}
empty
empty
empty
empty
Key Value
PHP_MAX_INPUT_TIME
"600"
PHP_UPLOAD_MAX_FILESIZE
"512M"
PHP_START_SERVERS
"10"
LANGUAGE
"en_US:en"
HOSTNAME
"php8.2-fpm"
PHP_POOL_NAME
"www_8.2"
PHP_MAX_FILE_UPLOADS
"20"
PHP_INI_DIR
"/usr/local/etc/php"
PHP_OPCACHE_MEMORY_CONSUMPTION
"256M"
PHP_SESSION_GC_MAX_LIFETIME
"3600"
HOME
"/var/www"
PHP_LDFLAGS
"-Wl,-O1 -pie"
PHP_OPCACHE_INTERNED_STRINGS_BUFFER
"32"
PHP_CFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_VERSION
"8.2.28"
PHP_MAX_INPUT_VARS
"4000"
GPG_KEYS
"39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC"
PHP_OPCACHE_JIT
"1255"
PHP_USER
"www-data"
PHP_GROUP
"www-data"
PHP_CPPFLAGS
"-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
PHP_ASC_URL
"https://www.php.net/distributions/php-8.2.28.tar.xz.asc"
PHP_POST_MAX_SIZE
"512M"
OPENSSL_CONF
"/etc/ssl/openssl.cnf"
PHP_URL
"https://www.php.net/distributions/php-8.2.28.tar.xz"
PHP_MAX_EXECUTION_TIME
"600"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
PHP_MAX_CHILDREN
"20"
PHP_MEMORY_LIMIT
"512M"
PHP_SESSION_SAVE_PATH
"/tmp"
LANG
"en_US.UTF-8"
PHP_OPCACHE_HUGE_CODE_PAGES
"0"
PHP_SESSION_CACHE_EXPIRE
"180"
PHP_OPCACHE_MAX_ACCELERATED_FILES
"32000"
PHP_OPCACE_JIT_BUFFER_SIZE
"32M"
PHP_APP_NAME
"www_8.2"
PHP_LISTEN_PORT
"9000"
PHP_MIN_SPARE_SERVERS
"10"
PHP_MAX_REQUESTS
"5000"
PHPIZE_DEPS
"autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
LC_ALL
"en_US.UTF-8"
PWD
"/var/www/html"
PHP_SOAP_WSDL_CACHE_DIR
"/tmp/"
PHP_SHA256
"af8c9153153a7f489153b7a74f2f29a5ee36f5cb2c6c6929c98411a577e89c91"
PHP_MAX_SPARE_SERVERS
"10"
TZ
"Europe/Berlin"
LDAPTLS_REQCERT
"hard"
PHP_PROCESS_MODELL
"ondemand"
USER
"www-data"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_CONNECTION
"close"
HTTP_HTTPS
"on"
HTTP_X_SSL
"on"
HTTP_X_FORWARDED_PORT
"443"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_X_FORWARDED_HOST
"bgphoenics2.invorbereitung.de"
HTTP_X_FORWARDED_FOR
"216.73.216.114"
HTTP_X_REAL_IP
"216.73.216.114"
HTTP_X_HOST
"bgphoenics2.invorbereitung.de"
HTTP_HOST
"bgphoenics2.invorbereitung.de"
REDIRECT_STATUS
"200"
SERVER_NAME
"bgphoenics2.invorbereitung.de"
SERVER_PORT
"80"
SERVER_ADDR
"172.25.64.37"
REMOTE_PORT
""
REMOTE_ADDR
"216.73.216.114"
SERVER_SOFTWARE
"nginx/1.26.0"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/srv/www/bgphoenics2.invorbereitung.de/ilias"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"//kursangebot/kurs/55.html"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
"args=/kursangebot/kurs/55.html"
SCRIPT_FILENAME
"/srv/www/bgphoenics2.invorbereitung.de/ilias/index.php"
PATH_INFO
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1756912555.0509
REQUEST_TIME
1756912555
empty
0. Whoops\Handler\PrettyPageHandler