Skip to content

Commit

Permalink
FIX Run SS standard PHP linter, separate SiteTree test mock classes
Browse files Browse the repository at this point in the history
  • Loading branch information
robbieaverill committed Aug 29, 2017
1 parent 9fdc1d6 commit 8d8ee14
Show file tree
Hide file tree
Showing 29 changed files with 323 additions and 301 deletions.
2 changes: 0 additions & 2 deletions code/admin/SubsiteAdmin.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@

namespace SilverStripe\Subsites\Admin;


use SilverStripe\Admin\ModelAdmin;
use SilverStripe\Subsites\Forms\GridFieldSubsiteDetailForm;
use SilverStripe\Subsites\Model\Subsite;


/**
* Admin interface to manage and create {@link Subsite} instances.
*
Expand Down
3 changes: 0 additions & 3 deletions code/controller/SubsiteXHRController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,10 @@

namespace SilverStripe\Subsites\Controller;


use SilverStripe\Admin\LeftAndMain;
use SilverStripe\Security\Permission;
use SilverStripe\Subsites\Model\Subsite;


/**
* Section-agnostic PJAX controller.
*/
Expand Down Expand Up @@ -69,5 +67,4 @@ public function SubsiteList()
{
return $this->renderWith('Includes/SubsiteList');
}

}
1 change: 1 addition & 0 deletions code/extensions/ControllerSubsites.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use SilverStripe\Core\Extension;
use SilverStripe\Subsites\Model\Subsite;
use SilverStripe\View\SSViewer;

/**
* @package subsites
*/
Expand Down
6 changes: 4 additions & 2 deletions code/extensions/FileSubsites.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,10 @@ public function updateCMSFields(FieldList $fields)
$fields->push(new LiteralField(
'Message',
'<p class="message notice">' .
_t('ASSETADMIN.SUBSITENOTICE',
'Folders and files created in the main site are accessible by all subsites.')
_t(
'ASSETADMIN.SUBSITENOTICE',
'Folders and files created in the main site are accessible by all subsites.'
)
. '</p>'
));
}
Expand Down
40 changes: 26 additions & 14 deletions code/extensions/GroupSubsites.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,8 @@ public function updateCMSFields(FieldList $fields)
// Interface is different if you have the rights to modify subsite group values on
// all subsites
if (isset($subsiteMap[0])) {
$fields->addFieldToTab('Root.Subsites', new OptionsetField('AccessAllSubsites',
$fields->addFieldToTab('Root.Subsites', new OptionsetField(
'AccessAllSubsites',
_t('GroupSubsites.ACCESSRADIOTITLE', 'Give this group access to'),
[
1 => _t('GroupSubsites.ACCESSALL', 'All subsites'),
Expand All @@ -97,18 +98,24 @@ public function updateCMSFields(FieldList $fields)
));

unset($subsiteMap[0]);
$fields->addFieldToTab('Root.Subsites', new CheckboxSetField('Subsites', '',
$subsiteMap));

$fields->addFieldToTab('Root.Subsites', new CheckboxSetField(
'Subsites',
'',
$subsiteMap
));
} else {
if (sizeof($subsiteMap) <= 1) {
$fields->addFieldToTab('Root.Subsites', new ReadonlyField('SubsitesHuman',
$fields->addFieldToTab('Root.Subsites', new ReadonlyField(
'SubsitesHuman',
_t('GroupSubsites.ACCESSRADIOTITLE', 'Give this group access to'),
reset($subsiteMap)));
reset($subsiteMap)
));
} else {
$fields->addFieldToTab('Root.Subsites', new CheckboxSetField('Subsites',
$fields->addFieldToTab('Root.Subsites', new CheckboxSetField(
'Subsites',
_t('GroupSubsites.ACCESSRADIOTITLE', 'Give this group access to'),
$subsiteMap));
$subsiteMap
));
}
}
}
Expand Down Expand Up @@ -147,7 +154,6 @@ public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)

// If you're querying by ID, ignore the sub-site - this is a bit ugly...
if (!$query->filtersOnID()) {

/*if($context = DataObject::context_obj()) $subsiteID = (int)$context->SubsiteID;
else */
Expand All @@ -156,9 +162,13 @@ public function augmentSQL(SQLSelect $query, DataQuery $dataQuery = null)
// Don't filter by Group_Subsites if we've already done that
$hasGroupSubsites = false;
foreach ($query->getFrom() as $item) {
if ((is_array($item) && strpos($item['table'],
'Group_Subsites') !== false) || (!is_array($item) && strpos($item,
'Group_Subsites') !== false)
if ((is_array($item) && strpos(
$item['table'],
'Group_Subsites'
) !== false) || (!is_array($item) && strpos(
$item,
'Group_Subsites'
) !== false)
) {
$hasGroupSubsites = true;
break;
Expand Down Expand Up @@ -220,8 +230,10 @@ public function providePermissions()
'SECURITY_SUBSITE_GROUP' => [
'name' => _t('GroupSubsites.MANAGE_SUBSITES', 'Manage subsites for groups'),
'category' => _t('Permissions.PERMISSIONS_CATEGORY', 'Roles and access permissions'),
'help' => _t('GroupSubsites.MANAGE_SUBSITES_HELP',
'Ability to limit the permissions for a group to one or more subsites.'),
'help' => _t(
'GroupSubsites.MANAGE_SUBSITES_HELP',
'Ability to limit the permissions for a group to one or more subsites.'
),
'sort' => 200
]
];
Expand Down
14 changes: 8 additions & 6 deletions code/extensions/LeftAndMainSubsites.php
Original file line number Diff line number Diff line change
Expand Up @@ -340,15 +340,17 @@ public function augmentNewSiteTreeItem(&$item)
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.'))
);
}
}

/**
* @param array $data
* @param Form $form
*/
/**
* @param array $data
* @param Form $form
*/
public function copytosubsite($data, $form)
{
$page = DataObject::get_by_id('SiteTree', $data['ID']);
Expand Down
21 changes: 14 additions & 7 deletions code/extensions/SiteTreeSubsites.php
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,18 @@ public function updateCMSFields(FieldList $fields)
if ($isDefaultSubsite && $subsitesMap) {
$fields->addFieldToTab(
'Root.Main',
ToggleCompositeField::create('SubsiteOperations',
ToggleCompositeField::create(
'SubsiteOperations',
_t('SiteTreeSubsites.SubsiteOperations', 'Subsite Operations'),
[
new DropdownField('CopyToSubsiteID', _t('SiteTreeSubsites.CopyToSubsite',
'Copy page to subsite'), $subsitesMap),
new CheckboxField('CopyToSubsiteWithChildren',
_t('SiteTreeSubsites.CopyToSubsiteWithChildren', 'Include children pages?')),
new DropdownField('CopyToSubsiteID', _t(
'SiteTreeSubsites.CopyToSubsite',
'Copy page to subsite'
), $subsitesMap),
new CheckboxField(
'CopyToSubsiteWithChildren',
_t('SiteTreeSubsites.CopyToSubsiteWithChildren', 'Include children pages?')
),
$copyAction = new FormAction(
'copytosubsite',
_t('SiteTreeSubsites.CopyAction', 'Copy')
Expand Down Expand Up @@ -393,9 +398,11 @@ public function augmentSyncLinkTracking()

$origDisableSubsiteFilter = Subsite::$disable_subsite_filter;
Subsite::disable_subsite_filter(true);
$candidatePage = DataObject::get_one(SiteTree::class,
$candidatePage = DataObject::get_one(
SiteTree::class,
"\"URLSegment\" = '" . Convert::raw2sql(urldecode($rest)) . "' AND \"SubsiteID\" = " . $subsiteID,
false);
false
);
Subsite::disable_subsite_filter($origDisableSubsiteFilter);

if ($candidatePage) {
Expand Down
2 changes: 0 additions & 2 deletions code/extensions/SubsiteMenuExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

namespace SilverStripe\Subsites\Extensions;


use SilverStripe\Core\Extension;


/*
* Simple extension to show admins in the menu of subsites.
* If an admin area should be available to a subsite, you can attach
Expand Down
8 changes: 5 additions & 3 deletions code/forms/GridFieldSubsiteDetailForm_ItemRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,11 @@ public function ItemEditForm()
$templateArray = $templates->map('ID', 'Title');
}

$templateDropdown = new DropdownField('TemplateID', _t('Subsite.COPYSTRUCTURE', 'Copy structure from:'),
$templateArray);
$templateDropdown = new DropdownField(
'TemplateID',
_t('Subsite.COPYSTRUCTURE', 'Copy structure from:'),
$templateArray
);
$templateDropdown->setEmptyString('(' . _t('Subsite.NOTEMPLATE', 'No template') . ')');
$form->Fields()->addFieldToTab('Root.Configuration', $templateDropdown);
}
Expand All @@ -57,5 +60,4 @@ public function doSave($data, $form)

return parent::doSave($data, $form);
}

}
2 changes: 0 additions & 2 deletions code/forms/SubsitesTreeDropdownField.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@

namespace SilverStripe\Subsites\Forms;


use SilverStripe\Control\Controller;
use SilverStripe\Control\HTTPRequest;
use SilverStripe\Control\Session;
use SilverStripe\Forms\TreeDropdownField;
use SilverStripe\View\Requirements;


/**
* Wraps around a TreedropdownField to add ability for temporary
* switching of subsite sessions.
Expand Down
1 change: 1 addition & 0 deletions code/forms/WildcardDomainField.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
namespace SilverStripe\Subsites\Forms;

use SilverStripe\Forms\TextField;

/**
* A text field that accepts only valid domain names, but allows the wildcard (*) character
*/
Expand Down
65 changes: 41 additions & 24 deletions code/model/Subsite.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
use SilverStripe\Versioned\Versioned;
use UnexpectedValueException;


/**
* A dynamically created subsite. SiteTree objects can now belong to a subsite.
* You can simulate subsite access without setting up virtual hosts by appending ?SubsiteID=<ID> to the request.
Expand Down Expand Up @@ -231,8 +230,10 @@ public static function getSubsiteIDForDomain($host = null, $checkPermissions = t
SubsiteDomain::class,
"'$SQL_host' LIKE replace(\"SubsiteDomain\".\"Domain\",'*','%')",
'"IsPrimary" DESC'
)->innerJoin('Subsite',
'"Subsite"."ID" = "SubsiteDomain"."SubsiteID" AND "Subsite"."IsPublic"=1');
)->innerJoin(
'Subsite',
'"Subsite"."ID" = "SubsiteDomain"."SubsiteID" AND "Subsite"."IsPublic"=1'
);
}

if ($matchingDomains && $matchingDomains->count()) {
Expand Down Expand Up @@ -379,8 +380,8 @@ public static function accessible_sites(
$includeMainSite = true,
$mainSiteTitle = 'Main site',
$member = null
)
{
) {

// Rationalise member arguments
if (!$member) {
$member = Member::currentUser();
Expand Down Expand Up @@ -408,12 +409,18 @@ public static function accessible_sites(
$subsites = DataList::create(Subsite::class)
->where("\"Subsite\".\"Title\" != ''")
->leftJoin('Group_Subsites', '"Group_Subsites"."SubsiteID" = "Subsite"."ID"')
->innerJoin('Group',
'"Group"."ID" = "Group_Subsites"."GroupID" OR "Group"."AccessAllSubsites" = 1')
->innerJoin('Group_Members',
"\"Group_Members\".\"GroupID\"=\"Group\".\"ID\" AND \"Group_Members\".\"MemberID\" = $member->ID")
->innerJoin('Permission',
"\"Group\".\"ID\"=\"Permission\".\"GroupID\" AND \"Permission\".\"Code\" IN ($SQL_codes, 'CMS_ACCESS_LeftAndMain', 'ADMIN')");
->innerJoin(
'Group',
'"Group"."ID" = "Group_Subsites"."GroupID" OR "Group"."AccessAllSubsites" = 1'
)
->innerJoin(
'Group_Members',
"\"Group_Members\".\"GroupID\"=\"Group\".\"ID\" AND \"Group_Members\".\"MemberID\" = $member->ID"
)
->innerJoin(
'Permission',
"\"Group\".\"ID\"=\"Permission\".\"GroupID\" AND \"Permission\".\"Code\" IN ($SQL_codes, 'CMS_ACCESS_LeftAndMain', 'ADMIN')"
);

if (!$subsites) {
$subsites = new ArrayList();
Expand All @@ -423,14 +430,20 @@ public static function accessible_sites(
$rolesSubsites = DataList::create(Subsite::class)
->where("\"Subsite\".\"Title\" != ''")
->leftJoin('Group_Subsites', '"Group_Subsites"."SubsiteID" = "Subsite"."ID"')
->innerJoin('Group',
'"Group"."ID" = "Group_Subsites"."GroupID" OR "Group"."AccessAllSubsites" = 1')
->innerJoin('Group_Members',
"\"Group_Members\".\"GroupID\"=\"Group\".\"ID\" AND \"Group_Members\".\"MemberID\" = $member->ID")
->innerJoin(
'Group',
'"Group"."ID" = "Group_Subsites"."GroupID" OR "Group"."AccessAllSubsites" = 1'
)
->innerJoin(
'Group_Members',
"\"Group_Members\".\"GroupID\"=\"Group\".\"ID\" AND \"Group_Members\".\"MemberID\" = $member->ID"
)
->innerJoin('Group_Roles', '"Group_Roles"."GroupID"="Group"."ID"')
->innerJoin('PermissionRole', '"Group_Roles"."PermissionRoleID"="PermissionRole"."ID"')
->innerJoin('PermissionRoleCode',
"\"PermissionRole\".\"ID\"=\"PermissionRoleCode\".\"RoleID\" AND \"PermissionRoleCode\".\"Code\" IN ($SQL_codes, 'CMS_ACCESS_LeftAndMain', 'ADMIN')");
->innerJoin(
'PermissionRoleCode',
"\"PermissionRole\".\"ID\"=\"PermissionRoleCode\".\"RoleID\" AND \"PermissionRoleCode\".\"Code\" IN ($SQL_codes, 'CMS_ACCESS_LeftAndMain', 'ADMIN')"
);

if (!$subsites && $rolesSubsites) {
return $rolesSubsites;
Expand Down Expand Up @@ -655,8 +668,10 @@ public function getCMSFields()
} else {
$domainTable = new LiteralField(
'Domains',
'<p>' . _t('Subsite.DOMAINSAVEFIRST',
'You can only add domains after saving for the first time') . '</p>'
'<p>' . _t(
'Subsite.DOMAINSAVEFIRST',
'You can only add domains after saving for the first time'
) . '</p>'
);
}

Expand All @@ -674,13 +689,13 @@ public function getCMSFields()
asort($pageTypeMap);

$fields = new FieldList(
$subsiteTabs = new TabSet('Root',
$subsiteTabs = new TabSet(
'Root',
new Tab(
'Configuration',
_t('Subsite.TabTitleConfig', 'Configuration'),
HeaderField::create('ConfigForSubsiteHeaderField', 'Subsite Configuration'),
TextField::create('Title', $this->fieldLabel('Title'), $this->Title),

HeaderField::create(
'DomainsForSubsiteHeaderField',
_t('Subsite.DomainsHeadline', 'Domains for this subsite')
Expand All @@ -690,7 +705,6 @@ public function getCMSFields()
// new TextField('RedirectURL', 'Redirect to URL', $this->RedirectURL),
CheckboxField::create('DefaultSite', $this->fieldLabel('DefaultSite'), $this->DefaultSite),
CheckboxField::create('IsPublic', $this->fieldLabel('IsPublic'), $this->IsPublic),

LiteralField::create(
'PageTypeBlacklistToggle',
sprintf(
Expand All @@ -712,9 +726,12 @@ public function getCMSFields()
// If there are any themes available, add the dropdown
$themes = $this->allowedThemes();
if (!empty($themes)) {
$fields->addFieldToTab('Root.Configuration',
$fields->addFieldToTab(
'Root.Configuration',
DropdownField::create('Theme', $this->fieldLabel('Theme'), $this->allowedThemes(), $this->Theme)
->setEmptyString(_t('Subsite.ThemeFieldEmptyString', '-')), 'PageTypeBlacklistToggle');
->setEmptyString(_t('Subsite.ThemeFieldEmptyString', '-')),
'PageTypeBlacklistToggle'
);
}

$subsiteTabs->addExtraClass('subsite-model');
Expand Down
1 change: 0 additions & 1 deletion code/model/SubsiteDomain.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
use SilverStripe\ORM\DataObject;
use SilverStripe\Subsites\Forms\WildcardDomainField;


/**
* @property string $Domain domain name of this subsite. Can include wildcards. Do not include the URL scheme here
* @property string $Protocol Required protocol (http or https) if only one is supported. 'automatic' implies
Expand Down
Loading

0 comments on commit 8d8ee14

Please sign in to comment.