mirror of
https://github.com/silverstripe/silverstripe-subsites
synced 2024-10-22 09:05:55 +00:00
fixing code analysis: simplify if statements
This commit is contained in:
parent
9673c881c1
commit
55c7240425
@ -6,9 +6,9 @@ use SilverStripe\Admin\CMSMenu;
|
||||
use SilverStripe\CMS\Model\SiteTree;
|
||||
use SilverStripe\Control\Controller;
|
||||
use SilverStripe\Control\Session;
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\Core\Convert;
|
||||
use SilverStripe\Core\Extension;
|
||||
use SilverStripe\Core\Config\Config;
|
||||
use SilverStripe\Forms\HiddenField;
|
||||
use SilverStripe\ORM\ArrayList;
|
||||
use SilverStripe\ORM\DataObject;
|
||||
@ -27,7 +27,7 @@ use SilverStripe\View\Requirements;
|
||||
class LeftAndMainSubsites extends Extension
|
||||
{
|
||||
|
||||
private static $allowed_actions = array('CopyToSubsite');
|
||||
private static $allowed_actions = ['CopyToSubsite'];
|
||||
|
||||
/**
|
||||
* Normally SubsiteID=0 on a DataObject means it is only accessible from the special "main site".
|
||||
@ -85,7 +85,7 @@ class LeftAndMainSubsites extends Extension
|
||||
|
||||
// Collect permissions - honour the LeftAndMain::required_permission_codes, current model requires
|
||||
// us to check if the user satisfies ALL permissions. Code partly copied from LeftAndMain::canView.
|
||||
$codes = array();
|
||||
$codes = [];
|
||||
$extraCodes = Config::inst()->get($this->owner->class, 'required_permission_codes');
|
||||
if ($extraCodes !== false) {
|
||||
if ($extraCodes) {
|
||||
@ -99,8 +99,8 @@ class LeftAndMainSubsites extends Extension
|
||||
}
|
||||
|
||||
// Find subsites satisfying all permissions for the Member.
|
||||
$codesPerSite = array();
|
||||
$sitesArray = array();
|
||||
$codesPerSite = [];
|
||||
$sitesArray = [];
|
||||
foreach ($codes as $code) {
|
||||
$sites = Subsite::accessible_sites($code, $includeMainSite, $mainSiteTitle, $member);
|
||||
foreach ($sites as $site) {
|
||||
@ -115,7 +115,7 @@ class LeftAndMainSubsites extends Extension
|
||||
// Find sites that satisfy all codes conjuncitvely.
|
||||
$accessibleSites = new ArrayList();
|
||||
foreach ($codesPerSite as $siteID => $siteCodes) {
|
||||
if (count($siteCodes)==count($codes)) {
|
||||
if (count($siteCodes) == count($codes)) {
|
||||
$accessibleSites->push($sitesArray[$siteID]);
|
||||
}
|
||||
}
|
||||
@ -154,11 +154,11 @@ class LeftAndMainSubsites extends Extension
|
||||
foreach ($list as $subsite) {
|
||||
$CurrentState = $subsite->ID == $currentSubsiteID ? 'selected' : '';
|
||||
|
||||
$output->push(new ArrayData(array(
|
||||
$output->push(new ArrayData([
|
||||
'CurrentState' => $CurrentState,
|
||||
'ID' => $subsite->ID,
|
||||
'Title' => Convert::raw2xml($subsite->Title)
|
||||
)));
|
||||
]));
|
||||
}
|
||||
|
||||
return $output;
|
||||
@ -196,10 +196,10 @@ class LeftAndMainSubsites extends Extension
|
||||
*/
|
||||
public function shouldChangeSubsite($adminClass, $recordSubsiteID, $currentSubsiteID)
|
||||
{
|
||||
if (Config::inst()->get($adminClass, 'treats_subsite_0_as_global') && $recordSubsiteID==0) {
|
||||
if (Config::inst()->get($adminClass, 'treats_subsite_0_as_global') && $recordSubsiteID == 0) {
|
||||
return false;
|
||||
}
|
||||
if ($recordSubsiteID!=$currentSubsiteID) {
|
||||
if ($recordSubsiteID != $currentSubsiteID) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -215,8 +215,10 @@ class LeftAndMainSubsites extends Extension
|
||||
if ($member &&
|
||||
(
|
||||
Permission::checkMember($member, 'ADMIN') || // 'Full administrative rights' in SecurityAdmin
|
||||
Permission::checkMember($member, 'CMS_ACCESS_LeftAndMain') // 'Access to all CMS sections' in SecurityAdmin
|
||||
)) {
|
||||
Permission::checkMember($member,
|
||||
'CMS_ACCESS_LeftAndMain') // 'Access to all CMS sections' in SecurityAdmin
|
||||
)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -273,8 +275,11 @@ class LeftAndMainSubsites extends Extension
|
||||
// Automatically redirect the session to appropriate subsite when requesting a record.
|
||||
// This is needed to properly initialise the session in situations where someone opens the CMS via a link.
|
||||
$record = $this->owner->currentPage();
|
||||
if ($record && isset($record->SubsiteID) && is_numeric($record->SubsiteID) && isset($this->owner->urlParams['ID'])) {
|
||||
if ($this->shouldChangeSubsite($this->owner->class, $record->SubsiteID, Subsite::currentSubsiteID())) {
|
||||
if ($record
|
||||
&& isset($record->SubsiteID, $this->owner->urlParams['ID'])
|
||||
&& is_numeric($record->SubsiteID)
|
||||
&& $this->shouldChangeSubsite($this->owner->class, $record->SubsiteID, Subsite::currentSubsiteID())
|
||||
) {
|
||||
// Update current subsite in session
|
||||
Subsite::changeSubsite($record->SubsiteID);
|
||||
|
||||
@ -285,7 +290,6 @@ class LeftAndMainSubsites extends Extension
|
||||
//Redirect to the default CMS section
|
||||
return $this->owner->redirect('admin/');
|
||||
}
|
||||
}
|
||||
|
||||
// SECOND, check if we need to change subsites due to lack of permissions.
|
||||
|
||||
@ -295,7 +299,7 @@ class LeftAndMainSubsites extends Extension
|
||||
// Current section is not accessible, try at least to stick to the same subsite.
|
||||
$menu = CMSMenu::get_menu_items();
|
||||
foreach ($menu as $candidate) {
|
||||
if ($candidate->controller && $candidate->controller!=$this->owner->class) {
|
||||
if ($candidate->controller && $candidate->controller != $this->owner->class) {
|
||||
$accessibleSites = singleton($candidate->controller)->sectionSites(true, 'Main site', $member);
|
||||
if ($accessibleSites->count() && $accessibleSites->find('ID', Subsite::currentSubsiteID())) {
|
||||
// Section is accessible, redirect there.
|
||||
@ -331,7 +335,8 @@ class LeftAndMainSubsites extends Extension
|
||||
public function onAfterSave($record)
|
||||
{
|
||||
if ($record->hasMethod('NormalRelated') && ($record->NormalRelated() || $record->ReverseRelated())) {
|
||||
$this->owner->response->addHeader('X-Status', rawurlencode(_t('LeftAndMainSubsites.Saved', 'Saved, please update related pages.')));
|
||||
$this->owner->response->addHeader('X-Status',
|
||||
rawurlencode(_t('LeftAndMainSubsites.Saved', 'Saved, please update related pages.')));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user