SilverStripe\Assets\Shortcodes\FileLinkTracking
Adds tracking of links in any HTMLText fields which reference SiteTree or File items.
Attaching this to any DataObject will a relation which links to File items
referenced in any HTMLText fields, and a boolean to indicate if there are any broken file links. Call
augmentSyncFileLinkTracking to update those fields with any changes to those fields.
Note that since both SiteTree and File are versioned, LinkTracking and FileTracking will
only be enabled for the Stage record.
Synopsis
class FileLinkTracking
extends DataExtension
{
- // members
- protected FileLinkTrackingParser $fileParser;
- private static array $dependencies = ;
- private static array $owns = ;
- private static array $many_many = ;
- private static boolean $show_file_link_tracking = false;
- // methods
- public array ImageTracking()
- public FileLinkTrackingParser getFileParser()
- public $this setFileParser()
- public void onBeforeWrite()
- public void syncLinkTracking()
- public void augmentSyncLinkTracking()
- public void onAfterDelete()
- public array trackLinksInField()
- protected void toggleElementClass()
- public void updateCMSFields()
Hierarchy
Extends
- SilverStripe\ORM\DataExtension
Members
private
- $dependencies
—
array
Inject parser for each page - $many_many
- $owns
- $show_file_link_tracking
—
boolean
Controls visibility of the File Tracking tab
protected
- $fileParser — SilverStripe\Assets\Shortcodes\FileLinkTrackingParser
Methods
protected
- toggleElementClass() — Add the given css class to the DOM element.
public
- ImageTracking()
- augmentSyncLinkTracking() — Find HTMLText fields on {@link owner} to scrape for links that need tracking
- getFileParser() — FileParser for link tracking
- onAfterDelete()
- onBeforeWrite()
- setFileParser()
- syncLinkTracking() — Public method to call when triggering symlink extension. Can be called externally, or overridden by class implementations.
- trackLinksInField() — Scrape the content of a field to detect anly links to local SiteTree pages or files
- updateCMSFields()