Page
class Page extends Collection implements ObjectInterface, ObjectInterface, AssignableObjectInterface, TreeInterface, SiteAggregateInterface, ExportableInterface (View source)
The page object in Concrete encapsulates all the functionality used by a typical page and their contents including blocks, page metadata, page permissions.
Traits
Properties
protected PageController|null | $controller | The page controller. |
|
protected int[]|null | $blocksAliasedFromMasterCollection | The list of block IDs that are alias. |
|
protected int|null | $cPointerOriginalID | The original cID of a page (if it's a page alias). |
|
protected int|null | $cPointerOriginalSiteTreeID | The original siteTreeID of a page (if it's a page alias). |
|
protected string|null | $cPointerExternalLink | The link for the aliased page. |
|
protected bool|int|null | $cPointerExternalLinkNewWindow | Should the alias link to be opened in a new window? |
|
protected bool|int|null | $isMasterCollection | Is this page a page default? |
|
protected int|null | $cInheritPermissionsFromCID | The ID of the page from which this page inherits permissions from. |
|
protected bool | $cIsSystemPage | Is this a system page? |
|
protected int|null | $siteTreeID | The site tree ID. |
|
Tree|null deprecated | $siteTree |
Methods
No description
Get a page given its path.
No description
Initialize collection until we populate it.
No description
Read the data from the database.
No description
No description
No description
Return a representation of the Page object as something easily serializable.
Get the page controller.
No description
Is the page in edit mode?
Get the package ID for a page (page thats added by a package) (returns 0 if its not in a package).
Get the handle the the package that added this page.
Forces the page to be checked in if its checked out.
No description
Is this a dashboard page?
Uses a Request object to determine which page to load. Queries by path and then by cID.
Persist the data associated to a block when it has been moved around in the page.
Is the page checked out?
Gets the user that is editing the current page.
Checks if the page is checked out by the current user.
Checks if the page is a single page.
No description
No description
Is this a draft page?
This is the legacy function that is called just by xml. We pass these values in as though they were the old ones.
Make an alias to a page.
Update the name, link, and to open in a new window for an external link.
Add a new external link as a child of this page.
Returns true if a page is a system page. A system page is either a page that is outside the site tree (has a site tree ID of 0) or a page that is in the site tree, but whose parent starts at 0. That means its a root level page. Why do we need this separate boolean then? Because we need to easily be able to filter all pages by whether they're a system page even if we don't necessarily know where their starting page is.
Gets the icon for a page (also fires the on_page_get_icon event).
Remove an external link/alias.
Create an array containing data about child pages.
Sort a list of pages, so that the order is correct for the deletion.
Sort a list of pages, so that the order is correct for the duplication.
Add this page and its subpages to the Delete Page queue.
Add this page and its subpages to the Delete Page Requests queue (or to a custom queue).
Add this page and its subpages to the Copy Page queue.
Get the uID for a page that is checked out (if any).
Get the path of this page.
Returns the PagePath object for the current page.
Add a non-canonical page path to the current page.
Set the canonical page path for a page.
Get all the page paths of this page.
Get all the non-canonical page paths of this page.
Clears all page paths for a page.
Returns full url for the current page.
No description
No description
Returns the path for a page from its cID.
Get the uID of the page author (if any).
Get the page handle.
Get the display name of the page type (if available).
Get the Collection Type ID.
Get the page type object.
Get the Page Template ID.
Get the Page Template Object (if available).
Get the handle of the Page Template (if available).
Get the handle of the Page Type (if available).
Get the theme ID for the collection (if available).
Get the collection's theme object.
Get the page name.
Get the collection ID for the aliased page (returns 0 unless used on an actual alias).
Get the link for the aliased page.
Should the alias link to be opened in a new window?
Is this page an alias page of another page?
Is this page an alias page or an external link?
Is this page an external link?
Get the original cID of a page (if it's a page alias).
Get the file name of a page (single pages).
Get the date/time when the current version was made public (or a falsy value if the current version doesn't have public date).
Get the date/time when the current version was made public (or NULL value if the current version doesn't have public date).
Get the description of a page.
Ges the cID of the parent page.
Get the parent cID of a page given its cID.
Get an array containint this cParentID and aliased parentIDs.
Is this page a page default?
Are template permissions overriden?
Get the position of the page in the sitemap, relative to its parent page.
Set the permissions of sub-collections added beneath this permissions to inherit from the template.
Set the permissions of sub-collections added beneath this permissions to inherit from the parent.
Get the ID of the page from which this page inherits permissions from.
Where permissions should be inherited from? 'PARENT' or 'TEMPLATE' or 'OVERRIDE'.
Get the ID of the page from which the parent page page inherits permissions from.
Get the page from which this page inherits permissions from.
Get the master page of this page, given its page template and page type.
Get the ID of the original collection.
Get the number of child pages.
Get the number of child pages (direct children only).
Get the first child of the current page, or null if there is no child.
Get the list of child page IDs, sorted by their display order.
Get the immediate children of the this page.
Populate the childrenCIDArray property (called by the getCollectionChildrenArray() method).
Update the collection name.
Does this page have theme customizations?
Clears the custom theme styles for this page.
Set the custom style for this page for a specific theme.
Get the CSS class to be used to wrap the whole page contents.
Write the page theme customization CSS files to the cache directory.
Clears the custom theme styles for every page.
Update the data of this page.
Clear all the page permissions.
Set this page permissions to be inherited from its parent page.
Set this page permissions to be inherited from its parent type defaults.
Set this page permissions to be manually specified.
Rescan the page areas ensuring that they are inheriting permissions properly.
Are template permissions overriden?
Set the child pages of a list of parent pages to inherit permissions from the specified page (provided that they previouly had the same inheritance page as this page).
Acquire the area permissions, copying them from the inherited ones.
Acquire the page permissions, copying them from the inherited ones.
No description
Get the relations of this page.
Move this page under a new parent page.
Duplicate this page and all its child pages and return the new Page created.
Duplicate all the child pages of a specific page which has already have been duplicated.
Duplicate this page and return the new Page created.
Delete this page and all its child pages.
Move this page and all its child pages to the trash.
Regenerate the display order of the child pages.
Is this the homepage for the site tree this page belongs to?
Get the ID of the homepage for the site tree this page belongs to.
Get a new PagePath object with the computed canonical page path.
Get the next available display order of child pages.
Get the URL-slug-based path to the current page (including any suffixes) in a string format. Does so in real time.
Recalculate the canonical page path for the current page and its sub-pages, based on its current version, URL slug, etc.
Get the canonical path string of this page .
Set a new display order for this page (or for another page given its ID).
Make this page the first child of its parent.
Make this page the first child of its parent.
Move this page before of after another page.
Recalculate the "is a system page" state.
Is this page in the trash?
Make this page child of nothing, thus moving it to the root level.
Mark this page as non active.
Mark this page as non draft.
Mark this page as active.
Is this page marked as active?
Set the page index score (used by a PageList for instance).
Get the page index score (as set by a PageList for instance).
Get the indexed content of this page.
Duplicate the master collection blocks/permissions to a newly created page.
Duplicate the master collection attributes to a newly created page.
Add the home page to the system. Typically used only by the installation program.
Get the custom style for the currently loaded page version (if any).
Get the full-page cache flag (-1: use global setting; 0: no; 1: yes - NULL if page is not loaded).
Get the full-page cache lifetime criteria ('default': use default lifetime; 'forever': no expiration; 'custom': custom lifetime value - see getCollectionFullPageCachingLifetimeCustomValue(); other: use the default lifetime - NULL if page is not loaded).
Get the full-page cache custom lifetime in minutes (to be used if getCollectionFullPageCachingLifetime() is 'custom').
Get the actual full-page cache lifespan (in seconds).
Get the currently requested page.
Get the ID of the draft parent page ID.
Set the ID of the draft parent page ID.
Details
assignPermissions($userOrGroup, $permissions = [], $accessType = Key::ACCESS_TYPE_INCLUDE, $cascadeToChildren = true)
No description
static Page
getByPath(string $path, string $version = 'RECENT', TreeInterface $tree = null)
Get a page given its path.
CategoryInterface
getObjectAttributeCategory()
No description
static Page
getByID(int $cID, string $version = 'RECENT')
- Get a page given its ID.
__construct()
Initialize collection until we populate it.
ItemInterface
getExporter()
No description
protected
populatePage(mixed $cInfo, string $where, string|int $cvID)
Read the data from the database.
getPermissionResponseClassName()
No description
getPermissionAssignmentClassName()
No description
getPermissionObjectKeyCategoryHandle()
No description
stdClass
getJSONObject()
Return a representation of the Page object as something easily serializable.
PageController
getPageController()
Get the page controller.
getPermissionObjectIdentifier()
No description
bool
isEditMode()
Is the page in edit mode?
int
getPackageID()
Get the package ID for a page (page thats added by a package) (returns 0 if its not in a package).
string|null
getPackageHandle()
Get the handle the the package that added this page.
false
isArrangeMode()
deprecated
deprecated
No description
forceCheckIn()
Forces the page to be checked in if its checked out.
static private
forceCheckInForAllPages()
No description
bool
isAdminArea()
Is this a dashboard page?
static Page
getFromRequest(Request $request)
Uses a Request object to determine which page to load. Queries by path and then by cID.
processArrangement(int $area_id, int $moved_block_id, int[] $block_order)
Persist the data associated to a block when it has been moved around in the page.
bool|null
isCheckedOut()
Is the page checked out?
string
getCollectionCheckedOutUserName()
Gets the user that is editing the current page.
bool
isCheckedOutByMe()
Checks if the page is checked out by the current user.
bool
isGeneratedCollection()
Checks if the page is a single page.
Generated collections are collections without templates, that have special cFilename attributes .
setPermissionsToOverride()
No description
setChildPermissionsToOverride()
No description
removePermissions(Group|Group[]|User|UserInfo|User $userOrGroup, string[] $permissions = [])
Remove specific permission keys for a specific access entity (user, group, group combination).
bool
isPageDraft()
Is this a draft page?
static private string[]
translatePermissionsXMLToKeys(SimpleXMLElement $node)
No description
setController(PageController|null $controller)
Set the page controller.
PageController
getController()
deprecated
deprecated
No description
private
assignPermissionSet(SimpleXMLElement $px)
This is the legacy function that is called just by xml. We pass these values in as though they were the old ones.
int
addCollectionAlias($c)
Make an alias to a page.
updateCollectionAliasExternal(string $cName, string $cLink, bool $newWindow = 0)
Update the name, link, and to open in a new window for an external link.
int
addCollectionAliasExternal(string $cName, string $cLink, bool $newWindow = 0)
Add a new external link as a child of this page.
bool
isSystemPage()
Returns true if a page is a system page. A system page is either a page that is outside the site tree (has a site tree ID of 0) or a page that is in the site tree, but whose parent starts at 0. That means its a root level page. Why do we need this separate boolean then? Because we need to easily be able to filter all pages by whether they're a system page even if we don't necessarily know where their starting page is.
string
getCollectionIcon()
Gets the icon for a page (also fires the on_page_get_icon event).
int|null
removeThisAlias()
Remove an external link/alias.
array
populateRecursivePages(array $pages, array $pageRow, int $cParentID, int $level, bool $includeThisPage = true)
Create an array containing data about child pages.
int
queueForDeletionSort(array $a, array $b)
Sort a list of pages, so that the order is correct for the deletion.
int
queueForDuplicationSort(array $a, array $b)
Sort a list of pages, so that the order is correct for the duplication.
queueForDeletion()
Add this page and its subpages to the Delete Page queue.
queueForDeletionRequest(Queue|null $queue = null, bool $includeThisPage = true)
Add this page and its subpages to the Delete Page Requests queue (or to a custom queue).
queueForDuplication(Page $destination, bool $includeParent = true)
Add this page and its subpages to the Copy Page queue.
export(SimpleXMLElement $pageNode)
deprecated
deprecated
No description
int|null
getCollectionCheckedOutUserID()
Get the uID for a page that is checked out (if any).
string
getCollectionPath()
Get the path of this page.
PagePath|null
getCollectionPathObject()
Returns the PagePath object for the current page.
PagePath
addAdditionalPagePath(string $cPath, bool $commit = true)
Add a non-canonical page path to the current page.
setCanonicalPagePath(string $cPath, bool $isAutoGenerated = false)
Set the canonical page path for a page.
PagePath[]
getPagePaths()
Get all the page paths of this page.
PagePath[]
getAdditionalPagePaths()
Get all the non-canonical page paths of this page.
clearPagePaths()
Clears all page paths for a page.
string
getCollectionLink(bool $appendBaseURL = false)
Returns full url for the current page.
int|null
getSiteTreeID()
No description
Site
getSite()
No description
Tree|null
getSiteTreeObject()
No description
static
getCollectionPathFromID($cID)
Returns the path for a page from its cID.
int|null
getCollectionUserID()
Get the uID of the page author (if any).
string
getCollectionHandle()
Get the page handle.
string|null
getCollectionTypeName()
deprecated
deprecated
No description
string|null
getPageTypeName()
Get the display name of the page type (if available).
getCollectionTypeID()
deprecated
deprecated
No description
int|null
getPageTypeID()
Get the Collection Type ID.
Type|null
getPageTypeObject()
Get the page type object.
int
getPageTemplateID()
Get the Page Template ID.
Template|null
getPageTemplateObject()
Get the Page Template Object (if available).
string|false
getPageTemplateHandle()
Get the handle of the Page Template (if available).
string|false
getPageTypeHandle()
Get the handle of the Page Type (if available).
string|false
getCollectionTypeHandle()
deprecated
deprecated
No description
int|null
getCollectionThemeID()
Get the theme ID for the collection (if available).
bool
isBlockAliasedFromMasterCollection(Block $b)
Check if a block is an alias from a page default.
Theme
getCollectionThemeObject()
Get the collection's theme object.
string
getCollectionName()
Get the page name.
int
getCollectionPointerID()
Get the collection ID for the aliased page (returns 0 unless used on an actual alias).
string|null
getCollectionPointerExternalLink()
Get the link for the aliased page.
bool|int|null
openCollectionPointerExternalLinkInNewWindow()
Should the alias link to be opened in a new window?
bool
isAliasPage()
Is this page an alias page of another page?
bool
isAliasPageOrExternalLink()
Is this page an alias page or an external link?
bool
isAlias()
deprecated
deprecated
No description
bool
isExternalLink()
Is this page an external link?
int
getCollectionPointerOriginalID()
Get the original cID of a page (if it's a page alias).
string
getCollectionFilename()
Get the file name of a page (single pages).
string
getCollectionDatePublic()
Get the date/time when the current version was made public (or a falsy value if the current version doesn't have public date).
DateTime|null
getCollectionDatePublicObject()
Get the date/time when the current version was made public (or NULL value if the current version doesn't have public date).
string
getCollectionDescription()
Get the description of a page.
int|null
getCollectionParentID()
Ges the cID of the parent page.
static int|null
getCollectionParentIDFromChildID(int $cID)
Get the parent cID of a page given its cID.
int[]
getCollectionParentIDs()
Get an array containint this cParentID and aliased parentIDs.
bool|int|null
isMasterCollection()
Is this page a page default?
bool|int|null
overrideTemplatePermissions()
Are template permissions overriden?
int|null
getCollectionDisplayOrder()
Get the position of the page in the sitemap, relative to its parent page.
setTheme(Theme $pl)
Set the theme of this page.
setPageType(Type $type = null)
Set the theme for a page using the page object.
setPermissionsInheritanceToTemplate()
Set the permissions of sub-collections added beneath this permissions to inherit from the template.
setPermissionsInheritanceToOverride()
Set the permissions of sub-collections added beneath this permissions to inherit from the parent.
int|null
getPermissionsCollectionID()
Get the ID of the page from which this page inherits permissions from.
string|null
getCollectionInheritance()
Where permissions should be inherited from? 'PARENT' or 'TEMPLATE' or 'OVERRIDE'.
int|null
getParentPermissionsCollectionID()
Get the ID of the page from which the parent page page inherits permissions from.
Page
getPermissionsCollectionObject()
Get the page from which this page inherits permissions from.
int
getMasterCollectionID()
Get the master page of this page, given its page template and page type.
int|null
getOriginalCollectionID()
Get the ID of the original collection.
int|null
getNumChildren()
Get the number of child pages.
int
getNumChildrenDirect()
Get the number of child pages (direct children only).
Page|false
getFirstChild(string $sortColumn = 'cDisplayOrder asc')
Get the first child of the current page, or null if there is no child.
int[]
getCollectionChildrenArray(bool $oneLevelOnly = 0)
Get the list of child page IDs, sorted by their display order.
Page[]
getCollectionChildren()
Get the immediate children of the this page.
protected
_getNumChildren(int $cID, bool $oneLevelOnly = 0, string $sortColumn = 'cDisplayOrder asc')
Populate the childrenCIDArray property (called by the getCollectionChildrenArray() method).
bool
canMoveCopyTo(Collection $cobj)
Check if a collection is this page itself or one of its sub-pages.
updateCollectionName(string $name)
Update the collection name.
bool
hasPageThemeCustomizations()
Does this page have theme customizations?
resetCustomThemeStyles()
Clears the custom theme styles for this page.
CustomStyle
setCustomStyleObject(Theme $pt, ValueList $valueList, Preset|null|false $selectedPreset = false, CustomCssRecord $customCssRecord = null)
Set the custom style for this page for a specific theme.
string
getPageWrapperClass()
Get the CSS class to be used to wrap the whole page contents.
writePageThemeCustomizations()
Write the page theme customization CSS files to the cache directory.
static
resetAllCustomStyles()
Clears the custom theme styles for every page.
update(array $data)
Update the data of this page.
clearPagePermissions()
Clear all the page permissions.
inheritPermissionsFromParent()
Set this page permissions to be inherited from its parent page.
inheritPermissionsFromDefaults()
Set this page permissions to be inherited from its parent type defaults.
setPermissionsToManualOverride()
Set this page permissions to be manually specified.
rescanAreaPermissions()
Rescan the page areas ensuring that they are inheriting permissions properly.
setOverrideTemplatePermissions(bool|int $cOverrideTemplatePermissions)
Are template permissions overriden?
updatePermissionsCollectionID(int|string $cParentIDString, $npID)
Set the child pages of a list of parent pages to inherit permissions from the specified page (provided that they previouly had the same inheritance page as this page).
acquireAreaPermissions(int $permissionsCollectionID)
Acquire the area permissions, copying them from the inherited ones.
acquirePagePermissions(int $permissionsCollectionID)
Acquire the page permissions, copying them from the inherited ones.
__destruct()
No description
updateGroupsSubCollection(int|string $cParentIDString)
deprecated
deprecated
No description
SiblingRelation[]
getPageRelations()
Get the relations of this page.
move($nc)
Move this page under a new parent page.
Page
duplicateAll($nc = null, bool $preserveUserID = false, Site $site = null)
Duplicate this page and all its child pages and return the new Page created.
protected
_duplicateAll($cParent, $cNewParent, bool $preserveUserID = false, Site $site = null)
Duplicate all the child pages of a specific page which has already have been duplicated.
Page
duplicate($nc = null, bool $preserveUserID = false, TreeInterface $site = null)
Duplicate this page and return the new Page created.
null|false
delete()
Delete this page and all its child pages.
moveToTrash()
Move this page and all its child pages to the trash.
rescanChildrenDisplayOrder()
Regenerate the display order of the child pages.
bool
isHomePage()
Is this the homepage for the site tree this page belongs to?
int|null
getSiteHomePageID()
Get the ID of the homepage for the site tree this page belongs to.
bool
isLocaleHomePage()
deprecated
deprecated
No description
static int|null
getHomePageID(Page|int $page = null)
Get the ID of the home page.
PagePath
getAutoGeneratedPagePathObject()
Get a new PagePath object with the computed canonical page path.
int
getNextSubPageDisplayOrder()
Get the next available display order of child pages.
string
generatePagePath()
Get the URL-slug-based path to the current page (including any suffixes) in a string format. Does so in real time.
rescanCollectionPath()
Recalculate the canonical page path for the current page and its sub-pages, based on its current version, URL slug, etc.
protected string
computeCanonicalPagePath()
Get the canonical path string of this page .
This happens before any uniqueness checks get run.
updateDisplayOrder(int $displayOrder, int|null $cID = 0)
Set a new display order for this page (or for another page given its ID).
movePageDisplayOrderToTop()
Make this page the first child of its parent.
movePageDisplayOrderToBottom()
Make this page the first child of its parent.
movePageDisplayOrderToSibling(Page $c, string $position = 'before')
Move this page before of after another page.
rescanSystemPageStatus()
Recalculate the "is a system page" state.
Looks at the current page. If the site tree ID is 0, sets system page to true. If the site tree is not user, looks at where the page falls in the hierarchy. If it's inside a page at the top level that has 0 as its parent, then it is considered a system page.
bool
isInTrash()
Is this page in the trash?
moveToRoot()
Make this page child of nothing, thus moving it to the root level.
deactivate()
Mark this page as non active.
setPageToDraft()
Mark this page as non draft.
activate()
Mark this page as active.
bool
isActive()
Is this page marked as active?
setPageIndexScore(float $score)
Set the page index score (used by a PageList for instance).
float
getPageIndexScore()
Get the page index score (as set by a PageList for instance).
string
getPageIndexContent()
Get the indexed content of this page.
protected
_associateMasterCollectionBlocks(int $newCID, $masterCID, bool $cAcquireComposerOutputControls)
Duplicate the master collection blocks/permissions to a newly created page.
protected
_associateMasterCollectionAttributes(int $newCID, $masterCID)
Duplicate the master collection attributes to a newly created page.
static Page
addHomePage(TreeInterface $siteTree = null)
Add the home page to the system. Typically used only by the installation program.
Page
add($pt, array $data, $template = false)
Add a new page, child of this page.
protected
acquireAreaStylesFromDefaults(Template $template)
Copy the area styles from a page template.
CustomStyle|null
getCustomStyleObject()
Get the custom style for the currently loaded page version (if any).
int|null
getCollectionFullPageCaching()
Get the full-page cache flag (-1: use global setting; 0: no; 1: yes - NULL if page is not loaded).
string|null
getCollectionFullPageCachingLifetime()
Get the full-page cache lifetime criteria ('default': use default lifetime; 'forever': no expiration; 'custom': custom lifetime value - see getCollectionFullPageCachingLifetimeCustomValue(); other: use the default lifetime - NULL if page is not loaded).
int|null
getCollectionFullPageCachingLifetimeCustomValue()
Get the full-page cache custom lifetime in minutes (to be used if getCollectionFullPageCachingLifetime() is 'custom').
int
getCollectionFullPageCachingLifetimeValue()
Get the actual full-page cache lifespan (in seconds).
static Page
addStatic(array $data, TreeInterface $parent = null)
Create a new page.
static Page|null
getCurrentPage()
Get the currently requested page.
int
getPageDraftTargetParentPageID()
Get the ID of the draft parent page ID.
setPageDraftTargetParentPageID(int $cParentID)
Set the ID of the draft parent page ID.