FilesystemPublisher
class FilesystemPublisher extends DataExtension (View source)
Properties
protected | SS_Object | $owner | The object this extension is applied to. |
from Extension |
protected | DataObject | $ownerBaseClass | The base class that this extension was applied to; $this->owner must be one of these |
from Extension |
public | $class | from Extension | ||
protected | URLArrayObject | $urlArrayObject | ||
public static | $dependencies | |||
protected | string | $destFolder | ||
protected | string | $fileExtension |
Methods
Called when this extension is added to a particular class
Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().
Update the database schema as required by this extension.
Define extra database fields
This function is used to provide modifications to the form in the CMS by the extension. By default, no changes are made. DataObject->getCMSFields().
This function is used to provide modifications to the form used for front end forms. DataObject->getFrontEndFields()
This is used to provide modifications to the form actions used in the CMS. DataObject->getCMSActions().
this function is used to provide modifications to the summary fields in CMS by the extension By default, the summaryField() of its owner will merge more fields defined in the extension's $extra_fields['summary_fields']
this function is used to provide modifications to the fields labels in CMS by the extension By default, the fieldLabels() of its owner will merge more fields defined in the extension's $extra_fields['field_labels']
Transforms relative or absolute URLs to their static path equivalent.
Uses Director::test() to perform in-memory HTTP requests on the passed-in URLs.
Generate the templated content for a PHP script that can serve up the given piece of content with the given age and expiry.
Generate the templated content for a PHP script that can serve up a 301 redirect to the given destination.
Return an array of all the existing static cache files, as a map of URL => file. Only returns cache files that will actually map to a URL, based on urlsToPaths.
Details
__construct($destFolder = 'cache', $fileExtension = null)
No description
static
add_to_class(string $class, string $extensionClass, mixed $args = null)
Called when this extension is added to a particular class
setOwner(SS_Object $owner, string $ownerBaseClass = null)
Set the owner of this extension.
clearOwner()
No description
SS_Object
getOwner()
Returns the owner of this extension.
static string
get_classname_without_arguments(string $extensionStr)
Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().
static
get_extra_config($class, $extension, $args)
No description
static
unload_extra_statics($class, $extension)
No description
validate(ValidationResult $validationResult)
Hook for extension-specific validation.
augmentSQL(SQLQuery $query)
Edit the given query object to support queries for this extension
augmentDatabase()
Update the database schema as required by this extension.
When duplicating a table's structure, remember to duplicate the create options as well. See Versioned->augmentDatabase for an example.
augmentWrite(array $manipulation)
Augment a write-record request.
onBeforeWrite()
No description
onAfterWrite()
No description
onBeforeDelete()
No description
onAfterDelete()
No description
requireDefaultRecords()
No description
populateDefaults()
No description
can($member)
No description
canEdit($member)
No description
canDelete($member)
No description
canCreate($member)
No description
array
extraStatics($class = null, $extension = null)
Define extra database fields
Return a map where the keys are db, has_one, etc, and the values are additional fields/relations to be defined.
updateCMSFields(FieldList $fields)
This function is used to provide modifications to the form in the CMS by the extension. By default, no changes are made. DataObject->getCMSFields().
Please consider using updateFormFields() to globally add formfields to the record. The method updateCMSFields() should just be used to add or modify tabs, or fields which are specific to the CMS-context.
Caution: Use FieldList->addFieldToTab() to add fields.
updateFrontEndFields(FieldList $fields)
This function is used to provide modifications to the form used for front end forms. DataObject->getFrontEndFields()
Caution: Use FieldList->push() to add fields.
updateCMSActions(FieldList $actions)
This is used to provide modifications to the form actions used in the CMS. DataObject->getCMSActions().
updateSummaryFields(array $fields)
this function is used to provide modifications to the summary fields in CMS by the extension By default, the summaryField() of its owner will merge more fields defined in the extension's $extra_fields['summary_fields']
updateFieldLabels(array $labels)
this function is used to provide modifications to the fields labels in CMS by the extension By default, the fieldLabels() of its owner will merge more fields defined in the extension's $extra_fields['field_labels']
setUrlArrayObject($o)
No description
getUrlArrayObject()
No description
static
set_static_base_url($url)
deprecated
deprecated
Set a different base URL for the static copy of the site.
This can be useful if you are running the CMS on a different domain from the website.
array
urlsToPaths(array $urls)
Transforms relative or absolute URLs to their static path equivalent.
This needs to be the same logic that's used to look up these paths through framework/static-main.php. Does not include the $destFolder prefix.
URL filtering will have already taken place for direct SiteTree links via SiteTree->generateURLSegment()). For all other links (e.g. custom controller actions), we assume that they're pre-sanitized to suit the filesystem needs, as its impossible to sanitize them without risking to break the underlying naming assumptions in URL routing (e.g. controller method names).
Examples (without $domain_based_caching):
- http://mysite.com/mywebroot/ => /index.html (assuming your webroot is in a subfolder)
- http://mysite.com/about-us => /about-us.html
- http://mysite.com/parent/child => /parent/child.html
Examples (with $domain_based_caching):
- http://mysite.com/mywebroot/ => /mysite.com/index.html (assuming your webroot is in a subfolder)
- http://mysite.com/about-us => /mysite.com/about-us.html
- http://myothersite.com/about-us => /myothersite.com/about-us.html
- http://subdomain.mysite.com/parent/child => /subdomain.mysite.com/parent/child.html
array
publishPages(array $urls)
Uses Director::test() to perform in-memory HTTP requests on the passed-in URLs.
protected string
generatePHPCacheFile(string $content, string $age, string $lastModified, string $contentType)
Generate the templated content for a PHP script that can serve up the given piece of content with the given age and expiry.
protected string
generatePHPCacheRedirection(string $destination)
Generate the templated content for a PHP script that can serve up a 301 redirect to the given destination.
string
getDestDir()
No description
array
getExistingStaticCacheFiles()
Return an array of all the existing static cache files, as a map of URL => file. Only returns cache files that will actually map to a URL, based on urlsToPaths.
array
getMetadata(string $url)
No description