Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • S sg_cookie_optin
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 17
    • Issues 17
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • TYPO3
  • sg_cookie_optin
  • Issues
  • #24
Closed
Open
Created Oct 25, 2019 by Oliver Krammer@oliver

explode() expects parameter 2 to be string, null given

Eviroment:

  • TYPO3 8.7.28
  • PHP 7.0
  • Multidomain Setup mit mehren root Seiten

Beim Speichern im Backend bekomme ich folgend Fehler:

explode() expects parameter 2 to be string, null given

TypeError thrown in file /var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Database/Query/Restriction/FrontendGroupRestriction.php in line 36.

19 explode(",", NULL)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Database/Query/Restriction/FrontendGroupRestriction.php: 00034: public function __construct(array $frontendGroupIds = null) 00035: { 00036: $this->frontendGroupIds = $frontendGroupIds === null ? explode(',', $GLOBALS['TSFE']->gr_list) : $frontendGroupIds; 00037: } 00038:

18 TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction::__construct()

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Utility/GeneralUtility.php: 03966: } 03967: // Create new instance and call constructor with parameters 03968: $instance = new $finalClassName(...$constructorArguments); 03969: // Register new singleton instance 03970: if ($instance instanceof SingletonInterface) {

17 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction")

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Database/Query/Restriction/AbstractRestrictionContainer.php: 00099: protected function createRestriction($restrictionClass) 00100: { 00101: return GeneralUtility::makeInstance($restrictionClass); 00102: } 00103: }

16 TYPO3\CMS\Core\Database\Query\Restriction\AbstractRestrictionContainer::createRestriction("TYPO3\CMS\Core\Database\Query\Restriction\FrontendGroupRestriction")

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Database/Query/Restriction/FrontendRestrictionContainer.php: 00045: { 00046: foreach ($this->defaultRestrictionTypes as $restrictionType) { 00047: $this->add($this->createRestriction($restrictionType)); 00048: } 00049: }

15 TYPO3\CMS\Core\Database\Query\Restriction\FrontendRestrictionContainer::__construct()

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Utility/GeneralUtility.php: 03966: } 03967: // Create new instance and call constructor with parameters 03968: $instance = new $finalClassName(...$constructorArguments); 03969: // Register new singleton instance 03970: if ($instance instanceof SingletonInterface) {

14 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Core\Database\Query\Restriction\FrontendRestrictionContainer")

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/frontend/Classes/Page/PageRepository.php: 00562: ->getQueryBuilderForTable($table); 00563: $queryBuilder->setRestrictions( 00564: GeneralUtility::makeInstance(FrontendRestrictionContainer::class) 00565: ); 00566: $olrow = $queryBuilder->select('*')

13 TYPO3\CMS\Frontend\Page\PageRepository::getRecordOverlay("tx_sgcookieoptin_domain_model_optin", array, 3)

/var/www/devwebsite/web/typo3conf/ext/sg_cookie_optin/Classes/Hook/GenerateFilesAfterTcaSave.php: 00105: if ($languageUid > 0) { 00106: $pageRepository = GeneralUtility::makeInstance(PageRepository::class); 00107: $translatedRecord = $pageRepository->getRecordOverlay(self::TABLE_NAME, $originalRecord, $languageUid); 00108: } 00109:

12 SGalinski\SgCookieOptin\Hook\GenerateFilesAfterTcaSave::processDatamap_afterAllOperations(TYPO3\CMS\Core\DataHandling\DataHandler)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/DataHandling/DataHandler.php: 01343: foreach ($hookObjectsArr as $hookObj) { 01344: if (method_exists($hookObj, 'processDatamap_afterAllOperations')) { 01345: $hookObj->processDatamap_afterAllOperations($this); 01346: } 01347: }

11 TYPO3\CMS\Core\DataHandling\DataHandler::process_datamap()

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Classes/Controller/EditDocumentController.php: 00558: // Perform the saving operation with DataHandler: 00559: $tce->process_uploads($_FILES); 00560: $tce->process_datamap(); 00561: $tce->process_cmdmap(); 00562: // If pages are being edited, we set an instruction about updating the page tree after this operation.

10 TYPO3\CMS\Backend\Controller\EditDocumentController::processData()

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Classes/Controller/EditDocumentController.php: 02107: // Checks, if a save button has been clicked (or the doSave variable is sent) 02108: if ($this->doProcessData()) { 02109: $this->processData(); 02110: } 02111:

9 TYPO3\CMS\Backend\Controller\EditDocumentController::mainAction(TYPO3\CMS\Core\Http\ServerRequest, TYPO3\CMS\Core\Http\Response) 8 call_user_func_array(array, array)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/RouteDispatcher.php: 00052: $targetIdentifier = $route->getOption('target'); 00053: $target = $this->getCallableFromTarget($targetIdentifier); 00054: return call_user_func_array($target, [$request, $response]); 00055: } 00056:

7 TYPO3\CMS\Backend\Http\RouteDispatcher::dispatch(TYPO3\CMS\Core\Http\ServerRequest, TYPO3\CMS\Core\Http\Response)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/RequestHandler.php: 00137: /** @var RouteDispatcher $dispatcher */ 00138: $dispatcher = GeneralUtility::makeInstance(RouteDispatcher::class); 00139: return $dispatcher->dispatch($request, $response); 00140: } 00141: }

6 TYPO3\CMS\Backend\Http\RequestHandler::dispatch(TYPO3\CMS\Core\Http\ServerRequest)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/RequestHandler.php: 00070: // Check if the router has the available route and dispatch. 00071: try { 00072: return $this->dispatch($request); 00073: } catch (InvalidRequestTokenException $e) { 00074: // When token was invalid redirect to login

5 TYPO3\CMS\Backend\Http\RequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/core/Classes/Core/Bootstrap.php: 00317: 00318: // Execute the command which returns a Response object or NULL 00319: $this->response = $requestHandler->handleRequest($request); 00320: return $this; 00321: }

4 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest)

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Classes/Http/Application.php: 00090: } 00091: 00092: $this->bootstrap->handleRequest($this->request); 00093: 00094: if ($execute !== null) {

3 TYPO3\CMS\Backend\Http\Application::run()

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Resources/Private/Php/backend.php: 00022: $classLoader = require DIR . '/../../../../../../vendor/autoload.php'; 00023: 00024: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run(); 00025: });

2 {closure}()

/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Resources/Private/Php/backend.php: 00023: 00024: (new \TYPO3\CMS\Backend\Http\Application($classLoader))->run(); 00025: });

1 require("/var/www/devwebsite/vendor/typo3/cms/typo3/sysext/backend/Resources/Private/Php/backend.php")

/var/www/devwebsite/vendor/typo3/cms/typo3/index.php: 00001: <?php 00002: 00003: require DIR . '/sysext/backend/Resources/Private/Php/backend.php';

Edited Oct 25, 2019 by Oliver Krammer
Assignee
Assign to
Time tracking