New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix accessing an undefined variable #2806
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
m-vo
force-pushed
the
bugfix/breadcrumb-not-defined
branch
3 times, most recently
from
February 25, 2021 18:15
247cecb
to
e5b62be
Compare
fritzmg
previously approved these changes
Feb 25, 2021
m-vo
force-pushed
the
bugfix/breadcrumb-not-defined
branch
from
February 25, 2021 18:16
e5b62be
to
36dcf5e
Compare
bytehead
approved these changes
Feb 25, 2021
aschempp
approved these changes
Mar 3, 2021
Thank you @m-vo. |
leofeyer
changed the title
fix accessing undefined variable
Fix accessing an undefined variable
Mar 3, 2021
fritzmg
pushed a commit
to fritzmg/contao
that referenced
this pull request
Mar 4, 2021
Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #... | Docs PR or issue | contao/docs#... Sigh, another one for PHP8. Fixes ``` Warning: Undefined array key "breadcrumb" ``` after clicking on the articles selection in the page tree because the `sorting` array does not contain `breadcrumb`. Commits ------- 36dcf5e fix accessing undefined variable
leofeyer
pushed a commit
that referenced
this pull request
Mar 4, 2021
Description ----------- Fixes #2787 ([thread](https://community.contao.org/de/showthread.php?80310-Internal-Server-Error-beim-Dr%C3%BCcken-auf-quot-Auswahl-%C3%A4ndern-quot-bei-der-Weiterleitungsseite&p=540163&viewfull=1#post540163)): ``` TypeError: preg_replace(): Argument #3 ($subject) must be of type array|string, null given at vendor/contao/core-bundle/src/EventListener/DataContainer/ContentCompositionListener.php:107 at preg_replace() (vendor/contao/core-bundle/src/EventListener/DataContainer/ContentCompositionListener.php:107) at Contao\CoreBundle\EventListener\DataContainer\ContentCompositionListener->renderPageArticlesOperation() (vendor/contao/core-bundle/src/Resources/contao/classes/DataContainer.php:804) at Contao\DataContainer->generateButtons() (vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:4028) at Contao\DC_Table->generateTree() (vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:3628) at Contao\DC_Table->treeView() (vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:353) at Contao\DC_Table->showAll() (vendor/contao/core-bundle/src/Resources/contao/classes/Backend.php:644) at Contao\Backend->getBackendModule() (vendor/contao/core-bundle/src/Resources/contao/controllers/BackendMain.php:167) at Contao\BackendMain->run() (vendor/contao/core-bundle/src/Controller/BackendController.php:48) at Contao\CoreBundle\Controller\BackendController->mainAction() (vendor/symfony/http-kernel/HttpKernel.php:158) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor/symfony/http-kernel/HttpKernel.php:80) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor/symfony/http-kernel/Kernel.php:201) at Symfony\Component\HttpKernel\Kernel->handle() (web/index.php:31) ``` Since `$icon` can specifically be null. Not sure why it would be though in this specific instance, but apparently it can happen. Commits ------- 1f5fa9d check if icon is null d3f8425 return empty string if href and icon are missing a6d128a Merge branch '4.11' into fix-content-composition-listener-if-icon-is-null 7fc3159 Update core-bundle/src/EventListener/DataContainer/ContentCompositionListener.php Co-authored-by: Leo Feyer <github@contao.org> 69243b6 Correctly merge image size _defaults (see #2783) Description ----------- | Q | A | -----------------| --- | Fixed issues | - | Docs PR or issue | - Currently defining `formats` under the image size `_defaults` is broken. This is because the processed config values of the individual size definitions already contain an empty `formats` array which then wins in `array_merge`. This PR fixes this problem by giving the values under `_defaults` precedence over empty arrays. Unfortunately this case was missing from the tests and went unnoticed (added now)… Commits ------- b7b7b60 merge _defaults with precedence over empty arrays 990be33 add reference af36ec2 Merge branch '4.11' into bugfix/image-size-defaults-empty-arrays aafb762 Suggest using the contao-setup binary with @php prefix (see #2796) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2776 | Docs PR or issue | - related contao/managed-edition#57 Commits ------- b1bd185 suggest using the prefixed contao-setup binary 9cfd8c6 fix accessing undefined variable (see #2806) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #... | Docs PR or issue | contao/docs#... Sigh, another one for PHP8. Fixes ``` Warning: Undefined array key "breadcrumb" ``` after clicking on the articles selection in the page tree because the `sorting` array does not contain `breadcrumb`. Commits ------- 36dcf5e fix accessing undefined variable fdbc6b8 Correctly sort pages if the URL suffix is empty (see #2784) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2775 Apparently, `substr('foo', 0, -0)` is empty 🙈 Commits ------- 502a0e0 Correctly sort pages on empty URL suffix aa5fe3b Merge branch '4.11' into bugfix/folderurl f16cbfc Fix accessing Model\Collection instead of Model in ModuleFaqPage (see #2788) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2786 | Docs PR or issue | - `$figureBuilder->setMetadata($objFaq->getOverwriteMetadata())` was failing because `$objFaq` is a `Model\Collection` instead of a `Model`. To prevent this rather hard to spot error in the future, I adjusted how we're iterating over the results instead. Commits ------- ff2f8b9 iterate over FaqModels instead of operating on Model\Collection c2934f0 Merge branch '4.11' into bugfix/module-faq-model-collection 51107f0 Handle another illegal array access in the tl_page DCA (see #2794) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes - | Docs PR or issue | - This fixes `Warning: Undefined array key "root"` coming from `DCTable` line 3669. This also hardens `tl_page#pastePage()` that will receive an incomplete `$row` by the call in line 3678 and would otherwise produce `Warning: Undefined array key "pid"`. https://github.com/contao/contao/blob/1873bcc9ea728a08ca8755f6e7251d999d7b316b/core-bundle/src/Resources/contao/drivers/DC_Table.php#L3669-L3690 Commits ------- 7e5b39f handle illegal array access 5ff8b5f simplify expression Co-authored-by: Leo Feyer <github@contao.org> aaa71e1 Fix the logout handler in Symfony 5 (see #2818) Description ----------- This PR fixes the following error in Contao **4.11.0**: ``` TypeError: Argument 2 passed to Contao\CoreBundle\Security\Logout\LogoutHandler::logout() must be an instance of Symfony\Component\HttpFoundation\Response, null given, called in vendor\symfony\security-bundle\Security\LegacyLogoutHandlerListener.php on line 42 at vendor\contao\contao\core-bundle\src\Security\Logout\LogoutHandler.php:50 at Contao\CoreBundle\Security\Logout\LogoutHandler->logout() (vendor\symfony\security-bundle\Security\LegacyLogoutHandlerListener.php:42) at Symfony\Bundle\SecurityBundle\Security\LegacyLogoutHandlerListener->onLogout() (vendor\symfony\event-dispatcher\EventDispatcher.php:270) at Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (vendor\symfony\event-dispatcher\EventDispatcher.php:230) at Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (vendor\symfony\event-dispatcher\EventDispatcher.php:59) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (vendor\symfony\security-http\Firewall\LogoutListener.php:122) at Symfony\Component\Security\Http\Firewall\LogoutListener->authenticate() (vendor\symfony\security-bundle\Debug\WrappedLazyListener.php:49) at Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate() (vendor\symfony\security-http\Firewall\AbstractListener.php:26) at Symfony\Component\Security\Http\Firewall\AbstractListener->__invoke() (vendor\symfony\security-bundle\Debug\TraceableFirewallListener.php:62) at Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners() (vendor\symfony\security-http\Firewall.php:86) at Symfony\Component\Security\Http\Firewall->onKernelRequest() (vendor\symfony\event-dispatcher\Debug\WrappedListener.php:117) at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke() (vendor\symfony\event-dispatcher\EventDispatcher.php:230) at Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (vendor\symfony\event-dispatcher\EventDispatcher.php:59) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (vendor\symfony\event-dispatcher\Debug\TraceableEventDispatcher.php:151) at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch() (vendor\symfony\http-kernel\HttpKernel.php:133) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor\symfony\http-kernel\HttpKernel.php:79) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor\symfony\http-kernel\Kernel.php:195) at Symfony\Component\HttpKernel\Kernel->handle() (web\index.php:31) at require('web\\index.php') (web\app.php:4) ``` **Reproduction**: 1. Create a login form, login page and member. 2. Create a logout page. 3. Log into the front end. 4. Use the link in the menu for the logout. Apparently the `LogoutEvent` might not contain a `Response` object any more. Commits ------- aa5b2e8 fix argument error in Symfony 5 bd06335 Merge branch '4.11' into fix-logout-handler e1f1e8d Fix an illegal array access in DC_Table when expanding the tree (see #2805) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2797 | Docs PR or issue | - I split the PR in two commits: * one that *only* formats the code so that there is any chance of reviewing this: a1a16fe * one that applies the fixes: 9bcedb7 (If you want to, I can collapse the whole thing into a oneline-mega-expression again in a third one…) Commits ------- a1a16fe format call 9bcedb7 fix illegal array access 2f22b2f collapse expression 01a9a39 Allow passing an array of IDs to User::isMemberOf() (see #2834) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #2753 | Docs PR or issue | - To fix #2753 (do not show protected pages in the sitemap if there is no front end user or the user groups do not match), I have adjusted the `User::isMemberOf()` method to also accept an array of group IDs. This allows us to greatly simplify other checks as well: ### Current ```php $blnFeUserLoggedIn = System::getContainer()->get('contao.security.token_checker')->hasFrontendUser(); while ($objCalendar->next()) { if ($objCalendar->protected) { if (!$blnFeUserLoggedIn || !\is_array($this->User->groups)) { continue; } $groups = StringUtil::deserialize($objCalendar->groups); if (empty($groups) || !\is_array($groups) || \count(array_intersect($groups, $this->User->groups)) < 1) { continue; } } // … } ``` ### New ```php $user = null; if (System::getContainer()->get('contao.security.token_checker')->hasFrontendUser()) { $user = FrontendUser::getInstance(); } while ($objCalendar->next()) { if ($objCalendar->protected && (!$user || !$user->isMemberOf(StringUtil::deserialize($objCalendar->groups)))) { continue; } // … } ``` Commits ------- 9a924c3 Allow passing an array of IDs to User::isMemberOf() c5c39ae add some unit tests 2db757c Merge branch '4.11' into fix-content-composition-listener-if-icon-is-null
AlexejKossmann
pushed a commit
to AlexejKossmann/contao
that referenced
this pull request
Apr 6, 2021
Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #... | Docs PR or issue | contao/docs#... Sigh, another one for PHP8. Fixes ``` Warning: Undefined array key "breadcrumb" ``` after clicking on the articles selection in the page tree because the `sorting` array does not contain `breadcrumb`. Commits ------- 36dcf5e fix accessing undefined variable
AlexejKossmann
pushed a commit
to AlexejKossmann/contao
that referenced
this pull request
Apr 6, 2021
) Description ----------- Fixes contao#2787 ([thread](https://community.contao.org/de/showthread.php?80310-Internal-Server-Error-beim-Dr%C3%BCcken-auf-quot-Auswahl-%C3%A4ndern-quot-bei-der-Weiterleitungsseite&p=540163&viewfull=1#post540163)): ``` TypeError: preg_replace(): Argument contao#3 ($subject) must be of type array|string, null given at vendor/contao/core-bundle/src/EventListener/DataContainer/ContentCompositionListener.php:107 at preg_replace() (vendor/contao/core-bundle/src/EventListener/DataContainer/ContentCompositionListener.php:107) at Contao\CoreBundle\EventListener\DataContainer\ContentCompositionListener->renderPageArticlesOperation() (vendor/contao/core-bundle/src/Resources/contao/classes/DataContainer.php:804) at Contao\DataContainer->generateButtons() (vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:4028) at Contao\DC_Table->generateTree() (vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:3628) at Contao\DC_Table->treeView() (vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php:353) at Contao\DC_Table->showAll() (vendor/contao/core-bundle/src/Resources/contao/classes/Backend.php:644) at Contao\Backend->getBackendModule() (vendor/contao/core-bundle/src/Resources/contao/controllers/BackendMain.php:167) at Contao\BackendMain->run() (vendor/contao/core-bundle/src/Controller/BackendController.php:48) at Contao\CoreBundle\Controller\BackendController->mainAction() (vendor/symfony/http-kernel/HttpKernel.php:158) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor/symfony/http-kernel/HttpKernel.php:80) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor/symfony/http-kernel/Kernel.php:201) at Symfony\Component\HttpKernel\Kernel->handle() (web/index.php:31) ``` Since `$icon` can specifically be null. Not sure why it would be though in this specific instance, but apparently it can happen. Commits ------- 1f5fa9d check if icon is null d3f8425 return empty string if href and icon are missing a6d128a Merge branch '4.11' into fix-content-composition-listener-if-icon-is-null 7fc3159 Update core-bundle/src/EventListener/DataContainer/ContentCompositionListener.php Co-authored-by: Leo Feyer <github@contao.org> 69243b6 Correctly merge image size _defaults (see contao#2783) Description ----------- | Q | A | -----------------| --- | Fixed issues | - | Docs PR or issue | - Currently defining `formats` under the image size `_defaults` is broken. This is because the processed config values of the individual size definitions already contain an empty `formats` array which then wins in `array_merge`. This PR fixes this problem by giving the values under `_defaults` precedence over empty arrays. Unfortunately this case was missing from the tests and went unnoticed (added now)… Commits ------- b7b7b60 merge _defaults with precedence over empty arrays 990be33 add reference af36ec2 Merge branch '4.11' into bugfix/image-size-defaults-empty-arrays aafb762 Suggest using the contao-setup binary with @php prefix (see contao#2796) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2776 | Docs PR or issue | - related contao/managed-edition#57 Commits ------- b1bd185 suggest using the prefixed contao-setup binary 9cfd8c6 fix accessing undefined variable (see contao#2806) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes #... | Docs PR or issue | contao/docs#... Sigh, another one for PHP8. Fixes ``` Warning: Undefined array key "breadcrumb" ``` after clicking on the articles selection in the page tree because the `sorting` array does not contain `breadcrumb`. Commits ------- 36dcf5e fix accessing undefined variable fdbc6b8 Correctly sort pages if the URL suffix is empty (see contao#2784) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2775 Apparently, `substr('foo', 0, -0)` is empty 🙈 Commits ------- 502a0e0 Correctly sort pages on empty URL suffix aa5fe3b Merge branch '4.11' into bugfix/folderurl f16cbfc Fix accessing Model\Collection instead of Model in ModuleFaqPage (see contao#2788) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2786 | Docs PR or issue | - `$figureBuilder->setMetadata($objFaq->getOverwriteMetadata())` was failing because `$objFaq` is a `Model\Collection` instead of a `Model`. To prevent this rather hard to spot error in the future, I adjusted how we're iterating over the results instead. Commits ------- ff2f8b9 iterate over FaqModels instead of operating on Model\Collection c2934f0 Merge branch '4.11' into bugfix/module-faq-model-collection 51107f0 Handle another illegal array access in the tl_page DCA (see contao#2794) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes - | Docs PR or issue | - This fixes `Warning: Undefined array key "root"` coming from `DCTable` line 3669. This also hardens `tl_page#pastePage()` that will receive an incomplete `$row` by the call in line 3678 and would otherwise produce `Warning: Undefined array key "pid"`. https://github.com/contao/contao/blob/1873bcc9ea728a08ca8755f6e7251d999d7b316b/core-bundle/src/Resources/contao/drivers/DC_Table.php#L3669-L3690 Commits ------- 7e5b39f handle illegal array access 5ff8b5f simplify expression Co-authored-by: Leo Feyer <github@contao.org> aaa71e1 Fix the logout handler in Symfony 5 (see contao#2818) Description ----------- This PR fixes the following error in Contao **4.11.0**: ``` TypeError: Argument 2 passed to Contao\CoreBundle\Security\Logout\LogoutHandler::logout() must be an instance of Symfony\Component\HttpFoundation\Response, null given, called in vendor\symfony\security-bundle\Security\LegacyLogoutHandlerListener.php on line 42 at vendor\contao\contao\core-bundle\src\Security\Logout\LogoutHandler.php:50 at Contao\CoreBundle\Security\Logout\LogoutHandler->logout() (vendor\symfony\security-bundle\Security\LegacyLogoutHandlerListener.php:42) at Symfony\Bundle\SecurityBundle\Security\LegacyLogoutHandlerListener->onLogout() (vendor\symfony\event-dispatcher\EventDispatcher.php:270) at Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (vendor\symfony\event-dispatcher\EventDispatcher.php:230) at Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (vendor\symfony\event-dispatcher\EventDispatcher.php:59) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (vendor\symfony\security-http\Firewall\LogoutListener.php:122) at Symfony\Component\Security\Http\Firewall\LogoutListener->authenticate() (vendor\symfony\security-bundle\Debug\WrappedLazyListener.php:49) at Symfony\Bundle\SecurityBundle\Debug\WrappedLazyListener->authenticate() (vendor\symfony\security-http\Firewall\AbstractListener.php:26) at Symfony\Component\Security\Http\Firewall\AbstractListener->__invoke() (vendor\symfony\security-bundle\Debug\TraceableFirewallListener.php:62) at Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener->callListeners() (vendor\symfony\security-http\Firewall.php:86) at Symfony\Component\Security\Http\Firewall->onKernelRequest() (vendor\symfony\event-dispatcher\Debug\WrappedListener.php:117) at Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke() (vendor\symfony\event-dispatcher\EventDispatcher.php:230) at Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (vendor\symfony\event-dispatcher\EventDispatcher.php:59) at Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (vendor\symfony\event-dispatcher\Debug\TraceableEventDispatcher.php:151) at Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch() (vendor\symfony\http-kernel\HttpKernel.php:133) at Symfony\Component\HttpKernel\HttpKernel->handleRaw() (vendor\symfony\http-kernel\HttpKernel.php:79) at Symfony\Component\HttpKernel\HttpKernel->handle() (vendor\symfony\http-kernel\Kernel.php:195) at Symfony\Component\HttpKernel\Kernel->handle() (web\index.php:31) at require('web\\index.php') (web\app.php:4) ``` **Reproduction**: 1. Create a login form, login page and member. 2. Create a logout page. 3. Log into the front end. 4. Use the link in the menu for the logout. Apparently the `LogoutEvent` might not contain a `Response` object any more. Commits ------- aa5b2e8 fix argument error in Symfony 5 bd06335 Merge branch '4.11' into fix-logout-handler e1f1e8d Fix an illegal array access in DC_Table when expanding the tree (see contao#2805) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2797 | Docs PR or issue | - I split the PR in two commits: * one that *only* formats the code so that there is any chance of reviewing this: contao@a1a16fe * one that applies the fixes: contao@9bcedb7 (If you want to, I can collapse the whole thing into a oneline-mega-expression again in a third one…) Commits ------- a1a16fe format call 9bcedb7 fix illegal array access 2f22b2f collapse expression 01a9a39 Allow passing an array of IDs to User::isMemberOf() (see contao#2834) Description ----------- | Q | A | -----------------| --- | Fixed issues | Fixes contao#2753 | Docs PR or issue | - To fix contao#2753 (do not show protected pages in the sitemap if there is no front end user or the user groups do not match), I have adjusted the `User::isMemberOf()` method to also accept an array of group IDs. This allows us to greatly simplify other checks as well: ### Current ```php $blnFeUserLoggedIn = System::getContainer()->get('contao.security.token_checker')->hasFrontendUser(); while ($objCalendar->next()) { if ($objCalendar->protected) { if (!$blnFeUserLoggedIn || !\is_array($this->User->groups)) { continue; } $groups = StringUtil::deserialize($objCalendar->groups); if (empty($groups) || !\is_array($groups) || \count(array_intersect($groups, $this->User->groups)) < 1) { continue; } } // … } ``` ### New ```php $user = null; if (System::getContainer()->get('contao.security.token_checker')->hasFrontendUser()) { $user = FrontendUser::getInstance(); } while ($objCalendar->next()) { if ($objCalendar->protected && (!$user || !$user->isMemberOf(StringUtil::deserialize($objCalendar->groups)))) { continue; } // … } ``` Commits ------- 9a924c3 Allow passing an array of IDs to User::isMemberOf() c5c39ae add some unit tests 2db757c Merge branch '4.11' into fix-content-composition-listener-if-icon-is-null
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sigh, another one for PHP8.
Fixes
after clicking on the articles selection in the page tree because the
sorting
array does not containbreadcrumb
.