AirNZ\SimpleSubsites\Model\Subsite
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.
Synopsis
class Subsite
extends DataObject
implements
Resettable
{
- // members
- private static string $table_name = 'Subsite';
- public static $use_session_subsiteid $use_session_subsiteid = false;
- public static boolean $disable_subsite_filter = false;
- public static $force_subsite = NULL;
- public static boolean $write_hostmap = true;
- private static array $_cache_accessible_sites = ;
- private static array $_cache_accessible_sites_ids = ;
- private static array $_cache_subsite_for_domain = ;
- private static array $summary_fields = ;
- private static array $db = ;
- private static array $belongs_many_many = ;
- private static array $defaults = ;
- private static array $searchable_fields = ;
- private static string $default_sort = "\"Title\" ASC";
- // methods
- public static Subsite currentSubsite()
- public static int currentSubsiteID()
- public static void changeSubsite()
- public static int getSubsiteIDForDomain()
- public static DataList get_from_all_subsites()
- public static void disable_subsite_filter()
- public static void reset()
- public static SS_List all_sites()
- public static void all_accessible_sites()
- public static DataList accessible_sites()
- public static Array accessible_sites_ids()
- public static boolean hasMainSitePermission()
- public FieldList getCMSFields()
- public array fieldLabels()
- public ValidationResult validate()
- public string absoluteBaseURL()
- public void getClassName()
- public void activate()
- public boolean canEdit()
- public void canView()
- public DataList getMembersByPermission()
Hierarchy
Extends
- SilverStripe\ORM\DataObject
Implements
- SilverStripe\Core\Resettable
Tasks
Line | Task |
---|---|
+ | Remove flag once the Subsite CMS works without session state, similarly to the Translatable module. |
112+ | Pass $request object from controller so we don't have to rely on $_GET |
390+ | Allow permission inheritance through group hierarchy. |
563+ | getClassName is redundant, already stored as a database field? |
Members
private
-
$_cache_accessible_sites
Memory cache of accessible sites - $_cache_accessible_sites_ids
- $_cache_subsite_for_domain
—
array
Memory cache of subsite id for domains - $belongs_many_many — array
- $db — array
- $default_sort — string
- $defaults — array
- $searchable_fields — array
- $summary_fields
- $table_name
public
- $disable_subsite_filter — boolean
-
$force_subsite
Allows you to force a specific subsite ID, or comma separated list of IDs. - $use_session_subsiteid — AirNZ\SimpleSubsites\Model\$use_session_subsiteid
- $write_hostmap — boolean
Methods
public
- absoluteBaseURL() — Get the absolute URL for this subsite
- accessible_sites() — Return the subsites that the current user can access by given permission.
- accessible_sites_ids() — Return the subsites that the current user can access by given permission.
- activate() — Make this subsite the current one
- all_accessible_sites()
- all_sites() — Return all subsites, regardless of permissions (augmented with main site).
- canEdit()
- canView()
- changeSubsite() — Switch to another subsite through storing the subsite identifier in the current PHP session.
- currentSubsite() — Gets the subsite currently set in the session.
- currentSubsiteID() — This function gets the current subsite ID from the session. It used in the backend so Ajax requests use the correct subsite. The frontend handles subsites differently. It calls getSubsiteIDForDomain directly from ModelAsController::getNestedController.
- disable_subsite_filter() — Disable the sub-site filtering; queries will select from all subsites
- fieldLabels()
- getCMSFields() — Show the configuration fields for each subsite
- getClassName()
- getMembersByPermission()
- getSubsiteIDForDomain() — Get a matching subsite for the given host, or for the current HTTP_HOST.
- get_from_all_subsites()
- hasMainSitePermission() — Checks if a member can be granted certain permissions, regardless of the subsite context.
- reset() — Flush caches on database reset
- validate()