class Page extends Collection implements CategoryMemberInterface, 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

$error from  ConcreteObject
int|null deprecated $cID

The collection ID.

from  Collection
protected Version|null $vObj

The collection version object.

from  Collection
protected string|null $cHandle

The collection handle.

from  Collection
protected string|null $cDateAdded

The date/time when the collection has been created.

from  Collection
protected string|null $cDateModified

The date/time when the collection was last modified.

from  Collection
protected array $attributes from  Collection
Tree|null deprecated $siteTree
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).

$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.

private string|null $customAliasName

The custom name of the alias page.

private string|null $aliasHandle

The handle of the alias page

protected bool|null $hasCustomSummaryTemplateCollection

Whether this page has a custom summary template collection assigned to it. If null/false, then we just use any that are found to fit the criteria.

Methods

loadError($error)

No description

isError()

No description

getError()

No description

setPropertiesFromArray($arr)

No description

static 
camelcase($file)

No description

static 
uncamelcase($string)

No description

__destruct()

Destruct the class instance.

static Collection
getByID(int $cID, string|int|false $version = 'RECENT')

  • Get a page given its ID.

static Collection|null
getByHandle(string $handle)

Get a Collection by handle (provided that it's not a Page handle).

static int
reindexPendingPages()

(Re)Index all the collections that are marked as to be (re)indexed.

static Collection
createCollection(array $data)

Create a new Collection instance.

int|null
getCollectionID()

Get the collection ID.

string|null
getCollectionHandle()

Get the page handle.

string|null
getCollectionDateLastModified()

Get the date/time when the collection was last modified.

string|null
getCollectionDateAdded()

Get the date/time when the collection has been created.

int
getVersionID()

Get the ID of the currently loaded version.

Version|null
getVersionObject()

Get the currently loaded version object.

addCollection(array $data)

Create a new Collection instance, using the same theme as this instance (if it's a Page instance).

loadVersionObject(string|int $cvID = 'ACTIVE')

Load a specific collection version (you can retrieve it with the getVersionObject() method).

$this|Page
getVersionToModify()

Get the Collection instance to be modified (this instance if it's a new or master Collection, a clone otherwise).

string
getNextVersionComments()

Get the automatic comment for the next collection version.

bool|null
reindex(IndexedSearch|false $index = false, bool $actuallyDoReindex = true)

(Re)Index the contents of this collection (or mark the collection as to be reindexed if $actuallyDoReindex is falsy and the concrete.page.search.always_reindex configuration key is falsy).

setAttribute(string|CollectionKey $ak, AbstractValue|mixed $value)

Set the attribute value for the currently loaded collection version.

mixed|null
getAttribute(string|CollectionKey $akHandle, string|false $displayMode = false)

Return the value of the attribute with the handle $akHandle of the currently loaded version (if it's loaded).

PageValue|null
getAttributeValueObject(string|CollectionKey $akHandle, bool $createIfNotExists = false)

Return the attribute value object with the handle $akHandle of the currently loaded version (if it's loaded).

clearCollectionAttributes(int[] $retainAKIDs = [])

Delete the values of the attributes associated to the currently loaded collection version.

clearAttribute(string|CollectionKey $ak)

Delete the value of a specific attribute key associated to the currently loaded collection version.

getSetCollectionAttributes()

Get the list of attribute keys for which the currently loaded collection version has values.

Area|null
getArea(string $arHandle)

Get an existing area associated to this collection.

bool
hasAliasedContent()

Does this collection contain blocks that are aliased in other pages?

getAreaCustomStyle(Area $area, bool $force = false)

Get the custom style of an area in the currently loaded collection version.

setCustomStyleSet(Area $area, StyleSet $set)

Set the custom style of an area in the currently loaded collection version.

resetAreaCustomStyle(Area $area)

Delete all the custom styles of an area of the currently loaded collection version.

string|null
outputCustomStyleHeaderItems(bool $return = false)

Retrieve all custom style rules that should be inserted into the header on a page, whether they are defined in areas or blocks.

null|false
relateVersionEdits(Collection $oc)

Associate the edits of another collection to this collection.

int|false
getPageTypeID()

Get the Collection Type ID.

refreshCache()

Empty the collection-related cache.

Block[]
getGlobalBlocks()

Get the blocks contained in the all the global areas.

Block[]
getBlocks(string|false $arHandle = false)

List the blocks in the currently loaded collection version (or in a specific area within it).

array
getBlockIDs(string|false $arHandle = false)

List the block IDs and the associated area handles in the currently loaded collection version (or in a specific area within it).

addBlock(BlockType $bt, string|Area $a, array $data)

Add a new block to a specific area of the page.

int
getCollectionAreaDisplayOrder(string $arHandle, bool $ignoreVersions = false)

Get the next value of the display order (to be used when adding new blocks to an area).

rescanDisplayOrder(string $arHandle)

Fix the display order properties for all the blocks within the collection/area.

markModified()

Update the last edit date/time.

delete()

Delete this page and all its child pages.

duplicateCollection()

Create a clone of this collection, and all its versions, contents and attributes.

cloneVersion(string|null $versionComments, bool $createEmpty = false)

Clone the currently loaded version and returns a Page instance containing the new version.

PageValue|null
getAttributeValue(string|CollectionKey $ak) deprecated

No description

mixed|null
getCollectionAttributeValue(string|CollectionKey $akHandle) deprecated

No description

getCollectionTypeID() deprecated

No description

assignPermissions($userOrGroup, $permissions = [], $accessType = Key::ACCESS_TYPE_INCLUDE, $cascadeToChildren = true)

No description

__construct()

Initialize collection until we populate it.

static Page
getByPath(string $path, string $version = 'RECENT', TreeInterface $tree = null)

Get a page given its path.

getExporter()

No description

string
getSummaryCategoryHandle()

No description

getSummaryIdentifier()

No description

getJSONObject()

Return a representation of the Page object as something easily serializable.

getPageController()

Get the page controller.

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

No description

forceCheckIn()

Forces the page to be checked in if its checked out.

static 
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.

setPermissionsToOverride()

No description

removePermissions(Group|Group[]|User|UserInfo|User $userOrGroup, string[] $permissions = [])

Remove specific permission keys for a specific access entity (user, group, group combination).

static Page
getDraftsParentPage(Site $site = null)

Get the drafts parent page for a specific site.

static Page[]
getDrafts(Site $site)

Get the list of draft pages in a specific site.

bool
isPageDraft()

Is this a draft page?

setController(PageController|null $controller)

Set the page controller.

getController() deprecated

No description

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.

array
getSummaryTemplates()

No description

bool
hasCustomSummaryTemplates()

No description

array
int
addCollectionAlias(mixed $c)

Make an alias to a page.

void
updateCollectionAlias(array $data)

Update the alias details.

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.

static int
queueForDeletionSort(array $a, array $b)

Sort a list of pages, so that the order is correct for the deletion.

static int
queueForDuplicationSort(array $a, array $b)

Sort a list of pages, so that the order is correct for the duplication.

export(SimpleXMLElement $pageNode) 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.

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.

getPagePaths()

Get all the page paths of this page.

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

getSite()

No description

Tree|null
getSiteTreeObject()

No description

static 
getCollectionPathFromID(mixed $cID)

Returns the path for a page from its cID.

int|null
getCollectionUserID()

Get the uID of the page author (if any).

string|null
getCollectionTypeName() deprecated

No description

string|null
getPageTypeName()

Get the display name of the page type (if available).

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

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.

getCollectionThemeObject()

Get the collection's theme object.

string
getCollectionName()

Get the page name.

string|null
getCustomAliasName()

Get the custom name of the alias page.

string|null
getAliasHandle()

Get the handle of the alias page

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

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.

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.

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.

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, mixed $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.

updateGroupsSubCollection(int|string $cParentIDString) deprecated

No description

getPageRelations()

Get the relations of this page.

move(mixed $nc)

Move this page under a new parent page.

duplicateAll(null|mixed $nc = null, bool $preserveUserID = false, Site $site = null)

Duplicate this page and all its child pages and return the new Page created.

duplicate(null|mixed $nc = null, bool $preserveUserID = false, TreeInterface $site = null)

Duplicate this page and return the new Page created.

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

No description

static int|null
getHomePageID(Page|int $page = null)

Get the ID of the home page.

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.

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.

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.

static Page
addHomePage(TreeInterface $siteTree = null)

Add the home page to the system. Typically used only by the installation program.

add(mixed $pt, array $data, mixed $template = false)

Add a new page, child of this page.

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.

populatePage(mixed $cInfo, string $where, string|int $cvID)

Read the data from the database.

_getNumChildren(int $cID, bool $oneLevelOnly = 0, string $sortColumn = 'cDisplayOrder asc')

Populate the childrenCIDArray property (called by the getCollectionChildrenArray() method).

_duplicateAll(mixed $cParent, mixed $cNewParent, bool $preserveUserID = false, Site $site = null)

Duplicate all the child pages of a specific page which has already have been duplicated.

string
computeCanonicalPagePath()

Get the canonical path string of this page .

_associateMasterCollectionBlocks(int $newCID, mixed $masterCID, bool $cAcquireComposerOutputControls)

Duplicate the master collection blocks/permissions to a newly created page.

_associateMasterCollectionAttributes(int $newCID, mixed $masterCID)

Duplicate the master collection attributes to a newly created page.

acquireAreaStylesFromDefaults(Template $template)

Copy the area styles from a page template.

static string[]

Details

loadError($error)

No description

Parameters

$error

isError()

No description

getError()

No description

setPropertiesFromArray($arr)

No description

Parameters

$arr

static camelcase($file)

No description

Parameters

$file

static uncamelcase($string)

No description

Parameters

$string

__destruct()

Destruct the class instance.

static Collection getByID(int $cID, string|int|false $version = 'RECENT')

  • Get a page given its ID.

Parameters

int $cID

The collection ID

string|int|false $version

the collection version ('RECENT' for the most recent version, 'ACTIVE' for the currently published version, 'SCHEDULED' for the currently scheduled version, a falsy value to not load the collection version, or an integer to retrieve a specific version ID)

Return Value

Collection

If the collection is not found, you'll get an empty Collection instance

static Collection|null getByHandle(string $handle)

Get a Collection by handle (provided that it's not a Page handle).

If there's there's no collection with the specified handle, a new Collection will be created.

Parameters

string $handle

the collection handle

Return Value

Collection|null

return NULL if $handle is the handle of an existing page

static int reindexPendingPages()

(Re)Index all the collections that are marked as to be (re)indexed.

Return Value

int

returns the number of reindexed pages

static Collection createCollection(array $data)

Create a new Collection instance.

Parameters

array $data

{

@var int|null $cID The ID of the collection to create (if unspecified or NULL: database autoincrement value)
@var string $handle The collection handle (default: NULL)
@var string $name The collection name (default: empty string)
@var string $cDescription The collection description (default: NULL)
@var string $cDatePublic The collection publish date/time in format 'YYYY-MM-DD hh:mm:ss' (default: now)
@var bool $cvIsApproved Is the collection version approved (default: true)
@var bool $cvIsNew Is the collection to be considered "new"? (default: true if $cvIsApproved is false, false if $cvIsApproved is true)
@var int|null $pThemeID The collection theme ID (default: NULL)
@var int|null $pTemplateID The collection template ID (default: NULL)
@var int|null $uID The ID of the collection author (default: NULL)

}

Return Value

Collection

int|null getCollectionID()

Get the collection ID.

Return Value

int|null

string|null getCollectionHandle()

Get the page handle.

Return Value

string|null

string|null getCollectionDateLastModified()

Get the date/time when the collection was last modified.

Return Value

string|null

Examples

2017-12-31 23:59:59

string|null getCollectionDateAdded()

Get the date/time when the collection has been created.

Return Value

string|null

Examples

2017-12-31 23:59:59

int getVersionID()

Get the ID of the currently loaded version.

Return Value

int

Version|null getVersionObject()

Get the currently loaded version object.

Return Value

Version|null

Collection addCollection(array $data)

Create a new Collection instance, using the same theme as this instance (if it's a Page instance).

Parameters

array $data

{

@var int|null $cID The ID of the collection to create (if unspecified or NULL: database autoincrement value)
@var string $handle The collection handle (default: NULL)
@var string $name The collection name (default: empty string)
@var string $cDescription The collection description (default: NULL)
@var string $cDatePublic The collection publish date/time in format 'YYYY-MM-DD hh:mm:ss' (default: now)
@var bool $cvIsApproved Is the collection version approved (default: true)
@var bool $cvIsNew Is the collection to be considered "new"? (default: true if $cvIsApproved is false, false if $cvIsApproved is true)
@var int|null $pTemplateID The collection template ID (default: NULL)
@var int|null $uID The ID of the collection author (default: NULL)

}

Return Value

Collection

loadVersionObject(string|int $cvID = 'ACTIVE')

Load a specific collection version (you can retrieve it with the getVersionObject() method).

Parameters

string|int $cvID

the collection version ('RECENT' for the most recent version, 'ACTIVE' for the currently published version, 'SCHEDULED' for the currently scheduled version, or an integer to retrieve a specific version ID)

$this|Page getVersionToModify()

Get the Collection instance to be modified (this instance if it's a new or master Collection, a clone otherwise).

Return Value

$this|Page

string getNextVersionComments()

Get the automatic comment for the next collection version.

Return Value

string

Example: 'Version 2'

bool|null reindex(IndexedSearch|false $index = false, bool $actuallyDoReindex = true)

(Re)Index the contents of this collection (or mark the collection as to be reindexed if $actuallyDoReindex is falsy and the concrete.page.search.always_reindex configuration key is falsy).

Parameters

IndexedSearch|false $index

the IndexedSearch instance that indexes the collection content (if falsy: we'll create a new instance of it)

bool $actuallyDoReindex

Set to true to always reindex the collection immediately (otherwise we'll look at the concrete.page.search.always_reindex configuration key)

Return Value

bool|null

Return false if the collection can't be indexed, NULL otherwise

PageValue setAttribute(string|CollectionKey $ak, AbstractValue|mixed $value)

Set the attribute value for the currently loaded collection version.

Parameters

string|CollectionKey $ak

the attribute key (or its handle)

AbstractValue|mixed $value

an attribute value object, or the data needed by the attribute controller to create the attribute value object

Return Value

PageValue

mixed|null getAttribute(string|CollectionKey $akHandle, string|false $displayMode = false)

Return the value of the attribute with the handle $akHandle of the currently loaded version (if it's loaded).

Parameters

string|CollectionKey $akHandle

the attribute key (or its handle)

string|false $displayMode

makes The format of the attribute value

Return Value

mixed|null

Examples

When you need the raw attribute value or object, use this:
<code>
$c = Page::getCurrentPage();
$attributeValue = $c->getAttribute('attribute_handle');
</code>
If you need the formatted output supported by some attribute, use this:
<code>
$c = Page::getCurrentPage();
$attributeValue = $c->getAttribute('attribute_handle', 'display');
</code>
An attribute type like "date" will then return the date in the correct format just like other attributes will show you a nicely formatted output and not just a simple value or object.

PageValue|null getAttributeValueObject(string|CollectionKey $akHandle, bool $createIfNotExists = false)

Return the attribute value object with the handle $akHandle of the currently loaded version (if it's loaded).

Parameters

string|CollectionKey $akHandle

the attribute key (or its handle)

bool $createIfNotExists

Return Value

PageValue|null

clearCollectionAttributes(int[] $retainAKIDs = [])

Delete the values of the attributes associated to the currently loaded collection version.

Parameters

int[] $retainAKIDs

a list of attribute key IDs to keep (their values won't be deleted)

clearAttribute(string|CollectionKey $ak)

Delete the value of a specific attribute key associated to the currently loaded collection version.

Parameters

string|CollectionKey $ak

the attribute key (or its handle)

PageKey[] getSetCollectionAttributes()

Get the list of attribute keys for which the currently loaded collection version has values.

Return Value

PageKey[]

Area|null getArea(string $arHandle)

Get an existing area associated to this collection.

Parameters

string $arHandle

the handle of the area

Return Value

Area|null

bool hasAliasedContent()

Does this collection contain blocks that are aliased in other pages?

Return Value

bool

CustomStyle|null getAreaCustomStyle(Area $area, bool $force = false)

Get the custom style of an area in the currently loaded collection version.

Parameters

Area $area

the area for which you want the custom styles

bool $force

Set to true to retrieve a CustomStyle even if the area does not define any custom style

Return Value

CustomStyle|null

return NULL if the area does not have any custom style and $force is false, a CustomStyle instance otherwise

setCustomStyleSet(Area $area, StyleSet $set)

Set the custom style of an area in the currently loaded collection version.

Parameters

Area $area
StyleSet $set

resetAreaCustomStyle(Area $area)

Delete all the custom styles of an area of the currently loaded collection version.

Parameters

Area $area

string|null outputCustomStyleHeaderItems(bool $return = false)

Retrieve all custom style rules that should be inserted into the header on a page, whether they are defined in areas or blocks.

Parameters

bool $return

set to true to return the HTML that defines the styles, false to add it to the current View instance

Return Value

string|null

null|false relateVersionEdits(Collection $oc)

Associate the edits of another collection to this collection.

Parameters

Collection $oc

the collection that has been modified

Return Value

null|false

return false if the other collection is already associated to this collection, NULL otherwise

Examples

If a global area is modified inside this collection, you need to call $page->relateVersionEdits($globalArea)

int|false getPageTypeID()

Get the Collection Type ID.

Return Value

int|false

refreshCache()

Empty the collection-related cache.

Block[] getGlobalBlocks()

Get the blocks contained in the all the global areas.

Return Value

Block[]

Block[] getBlocks(string|false $arHandle = false)

List the blocks in the currently loaded collection version (or in a specific area within it).

Parameters

string|false $arHandle

The handle if the area (or falsy to get all the blocks in the collection)

Return Value

Block[]

array getBlockIDs(string|false $arHandle = false)

List the block IDs and the associated area handles in the currently loaded collection version (or in a specific area within it).

Parameters

string|false $arHandle

The handle if the area (or falsy to get all the blocks in the collection version)

Return Value

array

Return a list of arrays, each one is a dictionary like ['bID' => , 'arHandle' => ]

Block addBlock(BlockType $bt, string|Area $a, array $data)

Add a new block to a specific area of the page.

Parameters

BlockType $bt

the type of block to be added

string|Area $a

the area instance (or its handle) to which the block should be added to

array $data

The data of the block. This data depends on the specific block type. Common values are: 'uID' to specify the ID of the author (if not specified: we'll use the current user), 'bName' to specify the block name.

Return Value

Block

int getCollectionAreaDisplayOrder(string $arHandle, bool $ignoreVersions = false)

Get the next value of the display order (to be used when adding new blocks to an area).

Parameters

string $arHandle

The handle of the area

bool $ignoreVersions

Set to true to ignore the collection version

Return Value

int

rescanDisplayOrder(string $arHandle)

Fix the display order properties for all the blocks within the collection/area.

Parameters

string $arHandle

the handle of the area to be processed

markModified()

Update the last edit date/time.

delete()

Delete this page and all its child pages.

Collection duplicateCollection()

Create a clone of this collection, and all its versions, contents and attributes.

Return Value

Collection

Page cloneVersion(string|null $versionComments, bool $createEmpty = false)

Clone the currently loaded version and returns a Page instance containing the new version.

Parameters

string|null $versionComments

the comments to be associated to the new Version

bool $createEmpty

set to true to create a Version without any blocks/area styles, false to clone them too

Return Value

Page

PageValue|null getAttributeValue(string|CollectionKey $ak) deprecated

deprecated Use of getAttributeValueObject()

No description

Parameters

string|CollectionKey $ak

Return Value

PageValue|null

mixed|null getCollectionAttributeValue(string|CollectionKey $akHandle) deprecated

deprecated use the getAttribute() method

No description

Parameters

string|CollectionKey $akHandle

Return Value

mixed|null

getCollectionTypeID() deprecated

deprecated use the getPageTypeID() method

No description

assignPermissions($userOrGroup, $permissions = [], $accessType = Key::ACCESS_TYPE_INCLUDE, $cascadeToChildren = true)

No description

Parameters

$userOrGroup
$permissions
$accessType
$cascadeToChildren

__construct()

Initialize collection until we populate it.

static Page getByPath(string $path, string $version = 'RECENT', TreeInterface $tree = null)

Get a page given its path.

Parameters

string $path

the page path (example: /path/to/page)

string $version

the page version ('RECENT' for the most recent version, 'ACTIVE' for the currently published version, 'SCHEDULED' for the currently scheduled version, or an integer to retrieve a specific version ID)

TreeInterface $tree

Return Value

Page

CategoryInterface getObjectAttributeCategory()

ItemInterface getExporter()

No description

getPermissionResponseClassName()

getPermissionAssignmentClassName()

getPermissionObjectKeyCategoryHandle()

string getSummaryCategoryHandle()

No description

Return Value

string

See also

\Concrete\Core\Summary\Template\Category\CategoryMemberInterface::getSummaryCategoryHandle()

getSummaryIdentifier()

No description

stdClass getJSONObject()

Return a representation of the Page object as something easily serializable.

Return Value

stdClass

PageController getPageController()

Get the page controller.

Return Value

PageController

getPermissionObjectIdentifier()

bool isEditMode()

Is the page in edit mode?

Return Value

bool

int getPackageID()

Get the package ID for a page (page thats added by a package) (returns 0 if its not in a package).

Return Value

int

string|null getPackageHandle()

Get the handle the the package that added this page.

Return Value

string|null

false isArrangeMode() deprecated

deprecated There's no more an "Arrange Mode"

No description

Return Value

false

forceCheckIn()

Forces the page to be checked in if its checked out.

static private forceCheckInForAllPages()

No description

bool isAdminArea()

Is this a dashboard page?

Return Value

bool

static Page getFromRequest(Request $request)

Uses a Request object to determine which page to load. Queries by path and then by cID.

Parameters

Request $request

Return Value

Page

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.

Parameters

int $area_id

The ID of the area where the block resides after the arrangment

int $moved_block_id

The ID of the moved block

int[] $block_order

The IDs of all the blocks in the area, ordered by their display order

bool|null isCheckedOut()

Is the page checked out?

Return Value

bool|null

returns NULL if the page does not exist, a boolean otherwise

string getCollectionCheckedOutUserName()

Gets the user that is editing the current page.

Return Value

string

bool isCheckedOutByMe()

Checks if the page is checked out by the current user.

Return Value

bool

bool isGeneratedCollection()

Checks if the page is a single page.

Generated collections are collections without templates, that have special cFilename attributes .

Return Value

bool

setPermissionsToOverride()

setChildPermissionsToOverride()

removePermissions(Group|Group[]|User|UserInfo|User $userOrGroup, string[] $permissions = [])

Remove specific permission keys for a specific access entity (user, group, group combination).

Parameters

Group|Group[]|User|UserInfo|User $userOrGroup

A list of groups for a group combination, or a group or a user

string[] $permissions

the handles of page permission keys to be removed

static Page getDraftsParentPage(Site $site = null)

Get the drafts parent page for a specific site.

Parameters

Site $site

If not specified, we'll use the default site

Return Value

Page

static Page[] getDrafts(Site $site)

Get the list of draft pages in a specific site.

Parameters

Site $site

Return Value

Page[]

bool isPageDraft()

Is this a draft page?

Return Value

bool

setController(PageController|null $controller)

Set the page controller.

Parameters

PageController|null $controller

PageController getController() deprecated

deprecated use the getPageController() method

No description

Return Value

PageController

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.

Parameters

SimpleXMLElement $px

array getSummaryTemplates()

No description

Return Value

array

protected CustomPageTemplateCollection getCustomPageSummaryTemplateCollection()

No description

bool hasCustomSummaryTemplates()

No description

Return Value

bool

array getCustomSelectedSummaryTemplates()

No description

Return Value

array

int addCollectionAlias(mixed $c)

Make an alias to a page.

Parameters

mixed $c

Return Value

int

The ID of the new collection

void updateCollectionAlias(array $data)

Update the alias details.

Parameters

array $data

Supported keys:

  • string ```customAliasName``` empty string to use the name of the aliased page
  • string ```aliasHandle``` the URL slug of the alias

Return Value

void

updateCollectionAliasExternal(string $cName, string $cLink, bool $newWindow = 0)

Update the name, link, and to open in a new window for an external link.

Parameters

string $cName
string $cLink
bool $newWindow

int addCollectionAliasExternal(string $cName, string $cLink, bool $newWindow = 0)

Add a new external link as a child of this page.

Parameters

string $cName
string $cLink
bool $newWindow

Return Value

int

The ID of the new collection

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.

Return Value

bool

string getCollectionIcon()

Gets the icon for a page (also fires the on_page_get_icon event).

Return Value

string

The path to the icon

int|null removeThisAlias()

Remove an external link/alias.

Return Value

int|null

cID of the original page if the page was an alias

array populateRecursivePages(array $pages, array $pageRow, int $cParentID, int $level, bool $includeThisPage = true)

Create an array containing data about child pages.

Parameters

array $pages

the previously loaded data

array $pageRow

The data of current parent page (it must contain cID and optionally cDisplayOrder)

int $cParentID

The parent page ID

int $level

The current depth level

bool $includeThisPage

Should $pageRow itself be added to the resulting array?

Return Value

array

Every array item contains the following keys: {

@var int $cID @var int $cDisplayOrder @var int $cParentID @var int $level @var int $total }

static int queueForDeletionSort(array $a, array $b)

Sort a list of pages, so that the order is correct for the deletion.

Parameters

array $a
array $b

Return Value

int

static int queueForDuplicationSort(array $a, array $b)

Sort a list of pages, so that the order is correct for the duplication.

Parameters

array $a
array $b

Return Value

int

export(SimpleXMLElement $pageNode) deprecated

deprecated use the \Concrete\Core\Page\Exporter class

No description

Parameters

SimpleXMLElement $pageNode

See also

Page::getExporter

int|null getCollectionCheckedOutUserID()

Get the uID for a page that is checked out (if any).

Return Value

int|null

string getCollectionPath()

Get the path of this page.

Return Value

string

PagePath|null getCollectionPathObject()

Returns the PagePath object for the current page.

Return Value

PagePath|null

PagePath addAdditionalPagePath(string $cPath, bool $commit = true)

Add a non-canonical page path to the current page.

Parameters

string $cPath
bool $commit

Should the new PagePath instance be persisted?

Return Value

PagePath

setCanonicalPagePath(string $cPath, bool $isAutoGenerated = false)

Set the canonical page path for a page.

Parameters

string $cPath
bool $isAutoGenerated

is the page path generated from URL slugs?

PagePath[] getPagePaths()

Get all the page paths of this page.

Return Value

PagePath[]

PagePath[] getAdditionalPagePaths()

Get all the non-canonical page paths of this page.

Return Value

PagePath[]

clearPagePaths()

Clears all page paths for a page.

Returns full url for the current page.

Parameters

bool $appendBaseURL

UNUSED

Return Value

string

int|null getSiteTreeID()

No description

Return Value

int|null

See also

TreeInterface::getSiteTreeID

Site getSite()

No description

Return Value

Site

See also

SiteAggregateInterface::getSite

Tree|null getSiteTreeObject()

No description

Return Value

Tree|null

See also

TreeInterface::getSiteTreeObject

static getCollectionPathFromID(mixed $cID)

Returns the path for a page from its cID.

Parameters

mixed $cID

int|null getCollectionUserID()

Get the uID of the page author (if any).

Return Value

int|null

string|null getCollectionTypeName() deprecated

deprecated use the getPageTypeName() method

No description

Return Value

string|null

string|null getPageTypeName()

Get the display name of the page type (if available).

Return Value

string|null

Type|null getPageTypeObject()

Get the page type object.

Return Value

Type|null

int getPageTemplateID()

Get the Page Template ID.

Return Value

int

Template|null getPageTemplateObject()

Get the Page Template Object (if available).

Return Value

Template|null

string|false getPageTemplateHandle()

Get the handle of the Page Template (if available).

Return Value

string|false

string|false getPageTypeHandle()

Get the handle of the Page Type (if available).

Return Value

string|false

string|false getCollectionTypeHandle() deprecated

deprecated use the getPageTypeHandle() method

No description

Return Value

string|false

int|null getCollectionThemeID()

Get the theme ID for the collection (if available).

Return Value

int|null

bool isBlockAliasedFromMasterCollection(Block $b)

Check if a block is an alias from a page default.

Parameters

Block $b

Return Value

bool

Theme getCollectionThemeObject()

Get the collection's theme object.

Return Value

Theme

string getCollectionName()

Get the page name.

Return Value

string

string|null getCustomAliasName()

Get the custom name of the alias page.

Return Value

string|null

NULL if the page is not an alias, empty string if we should use the name of the aliased page, the custom alias name otherwise.

string|null getAliasHandle()

Get the handle of the alias page

Return Value

string|null

NULL if the page is not an alias, the alias handle otherwise

int getCollectionPointerID()

Get the collection ID for the aliased page (returns 0 unless used on an actual alias).

Return Value

int

Get the link for the aliased page.

Return Value

string|null

bool|int|null openCollectionPointerExternalLinkInNewWindow()

Should the alias link to be opened in a new window?

Return Value

bool|int|null

bool isAliasPage()

Since: concrete5 8.5.0a2

Is this page an alias page of another page?

Return Value

bool
Since: concrete5 8.5.0a2

Is this page an alias page or an external link?

Return Value

bool

bool isAlias() deprecated

deprecated This method has been replaced with isAliasPageOrExternalLink() in concrete5 8.5.0a2 (same syntax and same result)

No description

Return Value

bool

Is this page an external link?

Return Value

bool

int getCollectionPointerOriginalID()

Get the original cID of a page (if it's a page alias).

Return Value

int

string getCollectionFilename()

Get the file name of a page (single pages).

Return Value

string

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).

Return Value

string

Examples

2009-01-01 00:00:00

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).

Return Value

DateTime|null

string getCollectionDescription()

Get the description of a page.

Return Value

string

int|null getCollectionParentID()

Ges the cID of the parent page.

Return Value

int|null

static int|null getCollectionParentIDFromChildID(int $cID)

Get the parent cID of a page given its cID.

Parameters

int $cID

Return Value

int|null

int[] getCollectionParentIDs()

Get an array containint this cParentID and aliased parentIDs.

Return Value

int[]

bool|int|null isMasterCollection()

Is this page a page default?

Return Value

bool|int|null

bool|int|null overrideTemplatePermissions()

Are template permissions overriden?

Return Value

bool|int|null

int|null getCollectionDisplayOrder()

Get the position of the page in the sitemap, relative to its parent page.

Return Value

int|null

setTheme(Theme $pl)

Set the theme of this page.

Parameters

Theme $pl

setPageType(Type $type = null)

Set the theme for a page using the page object.

Parameters

Type $type

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.

Return Value

int|null

string|null getCollectionInheritance()

Where permissions should be inherited from? 'PARENT' or 'TEMPLATE' or 'OVERRIDE'.

Return Value

string|null

int|null getParentPermissionsCollectionID()

Get the ID of the page from which the parent page page inherits permissions from.

Return Value

int|null

Page getPermissionsCollectionObject()

Get the page from which this page inherits permissions from.

Return Value

Page

int getMasterCollectionID()

Get the master page of this page, given its page template and page type.

Return Value

int

returns 0 if not found

int|null getOriginalCollectionID()

Get the ID of the original collection.

Return Value

int|null

int|null getNumChildren()

Get the number of child pages.

Return Value

int|null

int getNumChildrenDirect()

Get the number of child pages (direct children only).

Return Value

int

Page|false getFirstChild(string $sortColumn = 'cDisplayOrder asc')

Get the first child of the current page, or null if there is no child.

Parameters

string $sortColumn

the ORDER BY clause

Return Value

Page|false

int[] getCollectionChildrenArray(bool $oneLevelOnly = 0)

Get the list of child page IDs, sorted by their display order.

Parameters

bool $oneLevelOnly

set to true to return only the direct children, false for all the child pages

Return Value

int[]

Page[] getCollectionChildren()

Get the immediate children of the this page.

Return Value

Page[]

bool canMoveCopyTo(Collection $cobj)

Check if a collection is this page itself or one of its sub-pages.

Parameters

Collection $cobj

Return Value

bool

updateCollectionName(string $name)

Update the collection name.

Parameters

string $name

bool hasPageThemeCustomizations()

Does this page have theme customizations?

Return Value

bool

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.

Parameters

Theme $pt
ValueList $valueList
Preset|null|false $selectedPreset
CustomCssRecord $customCssRecord

Return Value

CustomStyle

string getPageWrapperClass()

Get the CSS class to be used to wrap the whole page contents.

Return Value

string

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.

Parameters

array $data

Recognized keys are {

@var string $cHandle
@var string $cName
@var string $cDescription
@var string $cDatePublic
@var int $ptID
@var int $pTemplateID
@var int $uID
@var string $$cFilename
@var int $cCacheFullPageContent -1: use the default settings; 0: no; 1: yes
@var int $cCacheFullPageContentLifetimeCustom
@var string $cCacheFullPageContentOverrideLifetime

}

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?

Parameters

bool|int $cOverrideTemplatePermissions

updatePermissionsCollectionID(int|string $cParentIDString, mixed $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).

Parameters

int|string $cParentIDString

A comma-separeted list of parent page IDs

mixed $npID

acquireAreaPermissions(int $permissionsCollectionID)

Acquire the area permissions, copying them from the inherited ones.

Parameters

int $permissionsCollectionID

the ID of the collection from which the page previously inherited permissions from

acquirePagePermissions(int $permissionsCollectionID)

Acquire the page permissions, copying them from the inherited ones.

Parameters

int $permissionsCollectionID

the ID of the collection from which the page previously inherited permissions from

updateGroupsSubCollection(int|string $cParentIDString) deprecated

deprecated is this function still useful? There's no reference to it in the core

No description

Parameters

int|string $cParentIDString

SiblingRelation[] getPageRelations()

Get the relations of this page.

Return Value

SiblingRelation[]

move(mixed $nc)

Move this page under a new parent page.

Parameters

mixed $nc

Page duplicateAll(null|mixed $nc = null, bool $preserveUserID = false, Site $site = null)

Duplicate this page and all its child pages and return the new Page created.

Parameters

null|mixed $nc
bool $preserveUserID

Set to true to preserve the original page author IDs

Site $site

the destination site (used if $toParentPage is NULL)

Return Value

Page

Page duplicate(null|mixed $nc = null, bool $preserveUserID = false, TreeInterface $site = null)

Duplicate this page and return the new Page created.

Parameters

null|mixed $nc
bool $preserveUserID

Set to true to preserve the original page author IDs

TreeInterface $site

the destination site (used if $toParentPage is NULL)

Return Value

Page

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?

Return Value

bool

int|null getSiteHomePageID()

Get the ID of the homepage for the site tree this page belongs to.

Return Value

int|null

Returns NULL if there's no default locale

bool isLocaleHomePage() deprecated

deprecated use the isHomePage() method

No description

Return Value

bool

static int|null getHomePageID(Page|int $page = null)

Get the ID of the home page.

Parameters

Page|int $page

the page (or its ID) for which you want the home (if not specified, we'll use the default locale site tree)

Return Value

int|null

returns NULL if $page is null (or it doesn't have a SiteTree associated) and if there's no default locale

PagePath getAutoGeneratedPagePathObject()

Get a new PagePath object with the computed canonical page path.

Return Value

PagePath

int getNextSubPageDisplayOrder()

Get the next available display order of child pages.

Return Value

int

string generatePagePath()

Get the URL-slug-based path to the current page (including any suffixes) in a string format. Does so in real time.

Return Value

string

rescanCollectionPath()

Recalculate the canonical page path for the current page and its sub-pages, based on its current version, URL slug, etc.

updateDisplayOrder(int $displayOrder, int|null $cID = 0)

Set a new display order for this page (or for another page given its ID).

Parameters

int $displayOrder
int|null $cID

The page ID to set the display order for (if empty, we'll use this page)

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.

Parameters

Page $c
string $position

'before' or 'after'

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?

Return Value

bool

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?

Return Value

bool

setPageIndexScore(float $score)

Set the page index score (used by a PageList for instance).

Parameters

float $score

float getPageIndexScore()

Get the page index score (as set by a PageList for instance).

Return Value

float

string getPageIndexContent()

Get the indexed content of this page.

Return Value

string

static Page addHomePage(TreeInterface $siteTree = null)

Add the home page to the system. Typically used only by the installation program.

Parameters

TreeInterface $siteTree

Return Value

Page

Page add(mixed $pt, array $data, mixed $template = false)

Add a new page, child of this page.

Parameters

mixed $pt
array $data

Supported keys: {

@var int|null $uID The ID of the page author (if unspecified or NULL: current user)
@var int|null $pkgID the ID of the package that creates this page
@var string $cName The page name
@var string $name (used if cName is not specified)
@var int|null $cID The ID of the page to create (if unspecified or NULL: database autoincrement value)
@var int|bool $cIsActive Is the page to be considered as active?
@var int|bool $cIsDraft Is the page to be considered as draft?
@var string $cHandle The page handle
@var string $cDescription The page description (default: NULL)
@var string $cDatePublic The page publish date/time in format 'YYYY-MM-DD hh:mm:ss' (default: now)
@var bool $cvIsApproved Is the page version approved (default: true)
@var bool $cvIsNew Is the page to be considered "new"? (default: true if $cvIsApproved is false, false if $cvIsApproved is true)
@var bool $cAcquireComposerOutputControls

}

mixed $template

Return Value

Page

CustomStyle|null getCustomStyleObject()

Get the custom style for the currently loaded page version (if any).

Return Value

CustomStyle|null

int|null getCollectionFullPageCaching()

Get the full-page cache flag (-1: use global setting; 0: no; 1: yes - NULL if page is not loaded).

Return Value

int|null

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).

Return Value

string|null

int|null getCollectionFullPageCachingLifetimeCustomValue()

Get the full-page cache custom lifetime in minutes (to be used if getCollectionFullPageCachingLifetime() is 'custom').

Return Value

int|null

returns NULL if page is not loaded

int getCollectionFullPageCachingLifetimeValue()

Get the actual full-page cache lifespan (in seconds).

Return Value

int

static Page addStatic(array $data, TreeInterface $parent = null)

Create a new page.

Parameters

array $data

The data to be used to create the page. See Collection::createCollection() for the supported keys, plus 'pkgID' and 'filename'.

TreeInterface $parent

the parent page (or the site) that will contain the new page

Return Value

Page

See also

Collection::createCollection

static Page|null getCurrentPage()

Get the currently requested page.

Return Value

Page|null

int getPageDraftTargetParentPageID()

Get the ID of the draft parent page ID.

Return Value

int

setPageDraftTargetParentPageID(int $cParentID)

Set the ID of the draft parent page ID.

Parameters

int $cParentID

protected populatePage(mixed $cInfo, string $where, string|int $cvID)

Read the data from the database.

Parameters

mixed $cInfo

The argument of the $where condition

string $where

The SQL 'WHERE' part

string|int $cvID

protected _getNumChildren(int $cID, bool $oneLevelOnly = 0, string $sortColumn = 'cDisplayOrder asc')

Populate the childrenCIDArray property (called by the getCollectionChildrenArray() method).

Parameters

int $cID
bool $oneLevelOnly
string $sortColumn

protected _duplicateAll(mixed $cParent, mixed $cNewParent, bool $preserveUserID = false, Site $site = null)

Duplicate all the child pages of a specific page which has already have been duplicated.

Parameters

mixed $cParent
mixed $cNewParent
bool $preserveUserID

Set to true to preserve the original page author IDs

Site $site

the destination site

protected string computeCanonicalPagePath()

Get the canonical path string of this page .

This happens before any uniqueness checks get run.

Return Value

string

protected _associateMasterCollectionBlocks(int $newCID, mixed $masterCID, bool $cAcquireComposerOutputControls)

Duplicate the master collection blocks/permissions to a newly created page.

Parameters

int $newCID

the ID of the newly created page

mixed $masterCID
bool $cAcquireComposerOutputControls

protected _associateMasterCollectionAttributes(int $newCID, mixed $masterCID)

Duplicate the master collection attributes to a newly created page.

Parameters

int $newCID

the ID of the newly created page

mixed $masterCID

protected acquireAreaStylesFromDefaults(Template $template)

Copy the area styles from a page template.

Parameters

Template $template

static private string[] translatePermissionsXMLToKeys(SimpleXMLElement $node)

No description

Parameters

SimpleXMLElement $node

Return Value

string[]