Skip to content

Commit

Permalink
- namespacing all classes
Browse files Browse the repository at this point in the history
- moving all phpunit tests into tests/php
- moving all extensions from _config.php into config.yml and removing obsolete _config.php
- moving GridFieldSubsiteDetailForm_ItemRequest into own file
  • Loading branch information
Tim Kung committed Apr 23, 2017
1 parent e201462 commit ee02828
Show file tree
Hide file tree
Showing 39 changed files with 443 additions and 285 deletions.
42 changes: 0 additions & 42 deletions _config.php

This file was deleted.

3 changes: 2 additions & 1 deletion _config/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ After:
---
AssetAdmin:
treats_subsite_0_as_global: true

SilverStripe\Control\Director:
rules:
SubsiteXHRController: SubsiteXHRController
SubsiteXHRController: SilverStripe\Subsites\SubsiteXHRController
65 changes: 65 additions & 0 deletions _config/extensions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
Name: subsiteextensions
After:
- 'framework/*'
---
SilverStripe\CMS\Model\SiteTree:
extensions:
- SilverStripe\Subsites\Extensions\SiteTreeSubsites

SilverStripe\CMS\Controllers\ContentController:
extensions:
- SilverStripe\Subsites\Extensions\ControllerSubsites

SilverStripe\CMS\Controllers\CMSPageAddController:
extensions:
- SilverStripe\Subsites\Extensions\CMSPageAddControllerExtension

SilverStripe\Admin\LeftAndMain:
extensions:
- SilverStripe\Subsites\Extensions\LeftAndMainSubsites
- SilverStripe\Subsites\Extensions\ControllerSubsites

SilverStripe\Security\Group:
extensions:
- SilverStripe\Subsites\Extensions\GroupSubsites

SilverStripe\Assets\File:
extensions:
- SilverStripe\Subsites\Extensions\FileSubsites

SilverStripe\CMS\Model\ErrorPage:
extensions:
- SilverStripe\Subsites\Extensions\ErrorPageSubsite

SilverStripe\SiteConfig\SiteConfig:
extensions:
- SilverStripe\Subsites\Extensions\SiteConfigSubsites

SilverStripe\Reports\Report:
extensions:
- SilverStripe\Subsites\SubsiteReportWrapper

SilverStripe\AssetAdmin\Controller\AssetAdmin:
extensions:
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension

SilverStripe\Admin\SecurityAdmin:
extensions:
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension

SilverStripe\CMS\Controllers\CMSMain:
extensions:
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension

SilverStripe\CMS\Controllers\CMSPagesController:
extensions:
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension

SilverStripe\Subsites\SubsiteAdmin:
extensions:
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension

SilverStripe\CMS\Controllers\CMSPageSettingsController:
extensions:
- SilverStripe\Subsites\Extensions\SubsiteMenuExtension
12 changes: 8 additions & 4 deletions code/SubsiteAdmin.php
Original file line number Diff line number Diff line change
@@ -1,22 +1,26 @@
<?php

use SilverStripe\Forms\GridField\GridFieldDetailForm;
namespace SilverStripe\Subsites;

use SilverStripe\Admin\ModelAdmin;
use SilverStripe\Forms\GridField\GridFieldDetailForm;
use SilverStripe\Subsites\Forms\GridFieldSubsiteDetailForm;

/**
* Admin interface to manage and create {@link Subsite} instances.
*
*
* @package subsites
*/
class SubsiteAdmin extends ModelAdmin
{
private static $managed_models = array('Subsite');

private static $url_segment = 'subsites';

private static $menu_title = "Subsites";

private static $menu_icon = "subsites/images/subsites.png";

public $showImportForm=false;

private static $tree_class = 'Subsite';
Expand Down
34 changes: 22 additions & 12 deletions code/SubsiteReportWrapper.php
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
<?php

use SilverStripe\Forms\TreeMultiselectField;
namespace SilverStripe\Subsites;

use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\TreeMultiselectField;
use SilverStripe\Reports\ReportWrapper;
use SilverStripe\Subsites\Model\Subsite;

/**
* Creates a subsite-aware version of another report.
* Pass another report (or its classname) into the constructor.
*/
class SubsiteReportWrapper extends ReportWrapper
{
///////////////////////////////////////////////////////////////////////////////////////////
// Filtering

/**
* @return FieldList
*/
public function parameterFields()
{
$subsites = Subsite::accessible_sites('CMS_ACCESS_CMSMain', true);
$options = $subsites->toDropdownMap('ID', 'Title');

$subsiteField = new TreeMultiselectField(
'Subsites',
_t('SubsiteReportWrapper.ReportDropdown', 'Sites'),
Expand All @@ -29,7 +33,7 @@ public function parameterFields()
if (sizeof($options) <= 1) {
$subsiteField = $subsiteField->performReadonlyTransformation();
}

$fields = parent::parameterFields();
if ($fields) {
$fields->insertBefore($subsiteField, $fields->First()->Name());
Expand All @@ -39,35 +43,41 @@ public function parameterFields()
return $fields;
}

///////////////////////////////////////////////////////////////////////////////////////////
// Columns

/**
* @return array
*/
public function columns()
{
$columns = parent::columns();
$columns['Subsite.Title'] = "Subsite";
return $columns;
}

///////////////////////////////////////////////////////////////////////////////////////////
// Querying

/**
* @param arary $params
* @return void
*/
public function beforeQuery($params)
{
// The user has select a few specific sites
if (!empty($params['Subsites'])) {
Subsite::$force_subsite = $params['Subsites'];

// Default: restrict to all accessible sites
} else {
$subsites = Subsite::accessible_sites('CMS_ACCESS_CMSMain');
$options = $subsites->toDropdownMap('ID', 'Title');
Subsite::$force_subsite = join(',', array_keys($options));
}
}

/**
* @return void
*/
public function afterQuery()
{
// Manually manage the subsite filtering
Subsite::$force_subsite = null;
}

}
5 changes: 4 additions & 1 deletion code/SubsiteXHRController.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<?php

use SilverStripe\Security\Permission;
namespace SilverStripe\Subsites;

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

/**
* Section-agnostic PJAX controller.
Expand Down
22 changes: 15 additions & 7 deletions code/SubsitesVirtualPage.php
Original file line number Diff line number Diff line change
@@ -1,19 +1,24 @@
<?php

use SilverStripe\ORM\DataObject;
use SilverStripe\ORM\ArrayList;
use SilverStripe\View\ArrayData;
use SilverStripe\Forms\DropdownField;
namespace SilverStripe\Subsites;

use SilverStripe\CMS\Model\SiteTree;
use SilverStripe\CMS\Model\VirtualPage;
use SilverStripe\Control\Controller;
use SilverStripe\Control\Session;
use SilverStripe\Forms\DropdownField;
use SilverStripe\Forms\LabelField;
use SilverStripe\Forms\TextField;
use SilverStripe\Forms\TextareaField;
use SilverStripe\Control\Session;
use SilverStripe\CMS\Model\VirtualPage;
use SilverStripe\Forms\TextField;
use SilverStripe\ORM\ArrayList;
use SilverStripe\ORM\DataObject;
use SilverStripe\Subsites\Forms\SubsitesTreeDropdownField;
use SilverStripe\Subsites\Model\Subsite;
use SilverStripe\View\ArrayData;

class SubsitesVirtualPage extends VirtualPage
{

private static $description = 'Displays the content of a page on another subsite';

private static $db = array(
Expand All @@ -23,6 +28,8 @@ class SubsitesVirtualPage extends VirtualPage
'CustomExtraMeta' => 'HTMLText'
);

private static $table_name = "SubsitesVirtualPage";

public function getCMSFields()
{
$fields = parent::getCMSFields();
Expand Down Expand Up @@ -183,6 +190,7 @@ public function onBeforeWrite()
$this->ExtraMeta = $this->ContentSource()->ExtraMeta ? $this->ContentSource()->ExtraMeta : $this->ExtraMeta;
}
}

}

//class SubsitesVirtualPage_Controller extends VirtualPage_Controller
Expand Down
6 changes: 5 additions & 1 deletion code/extensions/CMSPageAddControllerExtension.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
<?php

use SilverStripe\Forms\HiddenField;
namespace SilverStripe\Subsites\Extensions;

use SilverStripe\Core\Extension;
use SilverStripe\Forms\HiddenField;
use SilverStripe\Subsites\Model\Subsite;

class CMSPageAddControllerExtension extends Extension
{
public function updatePageOptions(&$fields)
Expand Down
10 changes: 8 additions & 2 deletions code/extensions/ControllerSubsites.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
<?php

use SilverStripe\View\SSViewer;
namespace SilverStripe\Subsites\Extensions;

use SilverStripe\Core\Extension;
use SilverStripe\View\SSViewer;
use SilverStripe\Subsites\Model\Subsite;

/**
* @package subsites
*/
class ControllerSubsites extends Extension
{

public function controllerAugmentInit()
{
if ($subsite = Subsite::currentSubsite()) {
Expand All @@ -15,11 +20,12 @@ public function controllerAugmentInit()
}
}
}

public function CurrentSubsite()
{
if ($subsite = Subsite::currentSubsite()) {
return $subsite;
}
}

}
Loading

0 comments on commit ee02828

Please sign in to comment.