mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
FIX undefined index error in CMS
With the CMS 4.12 update functionality was altered to utilise an Extension to obtain the CMS Edit link for a page, rather than having SiteTree do it internally. Unfortunately the default return case for `extend` (see Extensible) is an _empty_ array. This leave code potentially referencing an array offset that doesn't exist ([0]). PHP 8 is less forgiving that it's predecessors on this kind of behaviour. We should check that the responses from extensions exist before trying to reference them.
This commit is contained in:
parent
9907209a07
commit
e20036482b
@ -739,13 +739,15 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi
|
||||
/**
|
||||
* Generates a link to edit this page in the CMS.
|
||||
*
|
||||
* Implemented here to satisfy the CMSPreviewable interface, but data is intended to be loaded via Extension
|
||||
*
|
||||
* @see SilverStripe\Admin\CMSEditLinkExtension
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function CMSEditLink()
|
||||
{
|
||||
// This method has to be implemented here to satisfy the CMSPreviewable interface.
|
||||
// See the actual implementation in CMSEditLinkExtension.
|
||||
return $this->extend('CMSEditLink')[0];
|
||||
return $this->extend('CMSEditLink')[0] ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user