Fix potential "undefined index" notice (#41)

CMSLink might not be set on RedirectorPage for example
This commit is contained in:
wernerkrauss 2018-04-07 00:41:08 +02:00 committed by Jono Menz
parent cd9c2083c8
commit db3c7d8e39
1 changed files with 11 additions and 12 deletions

View File

@ -2,18 +2,18 @@
namespace JonoM\BetterNavigator\Extension; namespace JonoM\BetterNavigator\Extension;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Security\Permission;
use SilverStripe\CMS\Controllers\SilverStripeNavigator; use SilverStripe\CMS\Controllers\SilverStripeNavigator;
use SilverStripe\Control\Director; use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\Security\Member;
use SilverStripe\Security\Security;
use SilverStripe\Security\LogoutForm;
use SilverStripe\Core\Config\Config;
use SilverStripe\Control\Controller; use SilverStripe\Control\Controller;
use SilverStripe\Control\Director;
use SilverStripe\Core\Config\Config;
use SilverStripe\ORM\DataExtension;
use SilverStripe\Security\LogoutForm;
use SilverStripe\Security\Member;
use SilverStripe\Security\Permission;
use SilverStripe\Security\Security;
use SilverStripe\Versioned\Versioned; use SilverStripe\Versioned\Versioned;
use SilverStripe\View\ArrayData; use SilverStripe\View\ArrayData;
use SilverStripe\CMS\Model\SiteTree;
class BetterNavigatorExtension extends DataExtension { class BetterNavigatorExtension extends DataExtension {
@ -51,10 +51,9 @@ class BetterNavigatorExtension extends DataExtension {
} }
} }
// Only show edit link if user has permission to edit this page // Only show edit link if user has permission to edit this page
$editLink = false; $editLink = array_key_exists('CMSLink', $nav)
if ($this->owner->dataRecord->canEdit() && Permission::check('CMS_ACCESS_CMSMain') || $isDev) { && ($isDev || $this->owner->dataRecord->canEdit() && Permission::check('CMS_ACCESS_CMSMain'))
$editLink = $nav['CMSLink']['Link']; ? $nav['CMSLink']['Link'] : false;
}
// Is the logged in member nominated as a developer? // Is the logged in member nominated as a developer?
$member = Member::currentUser(); $member = Member::currentUser();