LeftAndMainSubsites
class LeftAndMainSubsites extends LeftAndMainExtension implements TemplateGlobalProvider (View source)
Decorator designed to add subsites support to LeftAndMain
Properties
protected | T | $owner | The object this extension is applied to. |
from Extension |
Methods
Called when this extension is added to a particular class
Temporarily modify the owner. The original owner is ensured to be restored
Clear the current owner, and restore extension to the state prior to the last setOwner()
Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().
Invoke extension point. This will prefer explicit extend
prefixed
methods.
Called by SSViewer to get a list of global variables to expose to the template, the static method to call on this class to get the value for those variables, and the class to use for casting the returned value for use in a template
Generates a list of subsites with the data needed to produce a dropdown site switcher
Find all subsites accessible for current user on this controller.
Generates a list of subsites with the data needed to produce a dropdown site switcher
Helper for testing if the subsite should be adjusted.
Prevent accessing disallowed resources. This happens after onBeforeInit has executed, so all redirections should've already taken place.
Redirect the user to something accessible if the current section/subsite is forbidden.
Details
__construct()
No description
static
add_to_class(string $class, string $extensionClass, mixed $args = null)
Called when this extension is added to a particular class
setOwner(object $owner)
Set the owner of this extension.
mixed
withOwner(mixed $owner, callable $callback, array $args = [])
Temporarily modify the owner. The original owner is ensured to be restored
clearOwner()
Clear the current owner, and restore extension to the state prior to the last setOwner()
T
getOwner()
Returns the owner of this extension.
static string
get_classname_without_arguments(string $extensionStr)
Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().
mixed
invokeExtension(object $owner, string $method, array ...$arguments)
Invoke extension point. This will prefer explicit extend
prefixed
methods.
init()
No description
accessedCMS()
No description
augmentNewSiteTreeItem($item)
No description
static array
get_template_global_variables()
Called by SSViewer to get a list of global variables to expose to the template, the static method to call on this class to get the value for those variables, and the class to use for casting the returned value for use in a template
If the method to call is not included for a particular template variable, a method named the same as the template variable will be called
If the casting class is not specified for a particular template variable, ViewableData::$default_cast is used
The first letter of the template variable is case-insensitive. However the method name is always case sensitive.
static SS_List
SubsiteSwitchList()
Generates a list of subsites with the data needed to produce a dropdown site switcher
getCMSTreeTitle()
Set the title of the CMS tree
updatePageOptions($fields)
No description
Subsite>
sectionSites(bool $includeMainSite = true, string $mainSiteTitle = 'Main site', null $member = null)
Find all subsites accessible for current user on this controller.
Subsites()
No description
Subsite>
ListSubsites()
deprecated
deprecated
Generates a list of subsites with the data needed to produce a dropdown site switcher
alternateMenuDisplayCheck($controllerName)
No description
CanAddSubsites()
No description
bool
shouldChangeSubsite(string $adminClass, int $recordSubsiteID, int $currentSubsiteID)
Helper for testing if the subsite should be adjusted.
canAccess(Member $member = null)
Check if the current controller is accessible for this user on this subsite.
alternateAccessCheck(Member $member = null)
Prevent accessing disallowed resources. This happens after onBeforeInit has executed, so all redirections should've already taken place.
onBeforeInit()
Redirect the user to something accessible if the current section/subsite is forbidden.
This is done via onBeforeInit as it needs to be done before the LeftAndMain::init has a chance to forbids access via alternateAccessCheck.
If we need to change the subsite we force the redirection to /admin/ so the frontend is fully re-synchronised with the internal session. This is better than risking some panels showing data from another subsite.
onAfterSave($record)
No description
copytosubsite(array $data, Form $form)
No description