BaseAssetSourceType
- Type
- Abstract Class
- Namespace
- Craft
- Inherits
- Craft\BaseAssetSourceType » Craft\BaseSavableComponentType » Craft\BaseComponentType » Craft\BaseApplicationComponent » CApplicationComponent (opens new window) » CComponent (opens new window)
- Implements
- Craft\IComponentType, Craft\ISavableComponentType,
IApplicationComponent - Extended by
- Craft\GoogleCloudAssetSourceType, Craft\LocalAssetSourceType, Craft\RackspaceAssetSourceType, Craft\S3AssetSourceType, Craft\TempAssetSourceType
- Since
- 1.0
- Deprecated in
- This class will be removed in Craft 3.0.
The base class for all asset source types. Any asset source type must extend this class.
See also http://craftcms.com
View source (opens new window)
# Public Properties
| Property | Description |
|---|---|
| $behaviors (opens new window) | array (opens new window) – The behaviors that should be attached to this component. |
| $model | Craft\BaseModel |
# Protected Properties
| Property | Description |
|---|---|
| $componentType | string (opens new window) |
| $isSourceLocal | boolean (opens new window) |
# $componentType
Signature
protected string $componentType = 'AssetSourceType'
# $isSourceLocal
Signature
protected boolean $isSourceLocal = false
# Public Methods
| Method | Description |
|---|---|
| __call() (opens new window) | Calls the named method which is not a class method. |
| __get() (opens new window) | Returns a property value, an event handler list or a behavior based on its name. |
| __isset() (opens new window) | Checks if a property value is null. |
| __set() (opens new window) | Sets value of a component property. |
| __unset() (opens new window) | Sets a component property to be null. |
| asa() (opens new window) | Returns the named behavior object. |
| attachBehavior() (opens new window) | Attaches a behavior to this component. |
| attachBehaviors() (opens new window) | Attaches a list of behaviors to the component. |
| attachEventHandler() (opens new window) | Attaches an event handler to an event. |
| canGetProperty() (opens new window) | Determines whether a property can be read. |
| canSetProperty() (opens new window) | Determines whether a property can be set. |
| copyTransform() | Copy a transform for a file from source location to target location. |
| createFolder() | Create a folder. |
| deleteFile() | Delete a file. |
| deleteFolder() | Delete a folder. |
| deleteTransform() | Delete a generated transform for a file. |
| detachBehavior() (opens new window) | Detaches a behavior from the component. |
| detachBehaviors() (opens new window) | Detaches all behaviors from the component. |
| detachEventHandler() (opens new window) | Detaches an existing event handler. |
| disableBehavior() (opens new window) | Disables an attached behavior. |
| disableBehaviors() (opens new window) | Disables all behaviors attached to this component. |
| enableBehavior() (opens new window) | Enables an attached behavior. |
| enableBehaviors() (opens new window) | Enables all behaviors attached to this component. |
| evaluateExpression() (opens new window) | Evaluates a PHP expression or callback under the context of this component. |
| fileExists() | Return true if a physical file exists. |
| finalizeTransfer() | Finalize a file transfer between sources for the provided file. |
| folderExists() | Return true if a physical folder exists. |
| getBaseUrl() | Return the source's base URL. |
| getClassHandle() | Returns the component’s handle, ideally based on the class name. |
| getEventHandlers() (opens new window) | Returns the list of attached event handlers for an event. |
| getHasUrls() | Return whether the source has URLs. |
| getImageSourcePath() | Get the image source path. |
| getIsInitialized() (opens new window) | Checks if this application component has been initialized. |
| getLocalCopy() | Make a local copy of the file and return the path to it. |
| getName() | Returns the component’s name. |
| getPeriodList() | Gets a period list. |
| getSettings() | Returns the component’s settings model. |
| getSettingsHtml() | Returns the component’s settings HTML. |
| getSourceErrors() | Returns true if this is a valid source. Used for type-specific validations. |
| hasEvent() (opens new window) | Determines whether an event is defined. |
| hasEventHandler() (opens new window) | Checks whether the named event has attached handlers. |
| hasProperty() (opens new window) | Determines whether a property is defined. |
| init() (opens new window) | Initializes the application component. |
| insertFileByPath() | Insert a file into a folder by it's local path. |
| isInitialized() | Checks if this application component has been initialized yet, or not. |
| isRemote() | Return true if the source is a remote source. |
| isSelectable() | Returns whether this component should be shown when the user is creating a component of this type. |
| isSourceLocal() | Returns whether this is a local source or not. |
| mergeFile() | Merge a file. |
| moveFileInsideSource() | Move file from one path to another if it's possible. Return false on failure. |
| moveFolder() | Moves a folder. |
| prepSettings() | Preps the settings before they’re saved to the database. |
| processIndex() | Process an indexing session. |
| putImageTransform() | Put an image transform for the File and Transform Index using the provided path to the source image. |
| raiseEvent() (opens new window) | Raises an event. |
| renameFolder() | Rename a folder. |
| replaceFile() | Replace physical file. |
| setSettings() | Sets the setting values. |
| startIndex() | Starts an indexing session. |
| transferFileIntoSource() | Transfer a file into the source. |
| uploadFile() | Upload a file. |
# copyTransform()
Copy a transform for a file from source location to target location.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The assetFileModel that has the transform to copy.$targetFolderPath(string (opens new window)) – The target folder path.$source(Craft\AssetTransformIndexModel) – The source transform index data.$target(Craft\AssetTransformIndexModel) – The destination transform index data.
Returns
mixed
Signature
public mixed copyTransform ( Craft\AssetFileModel $file, $targetFolderPath, Craft\AssetTransformIndexModel $source, Craft\AssetTransformIndexModel $target )
# createFolder()
Create a folder.
View source (opens new window)
Arguments
$parentFolder(Craft\AssetFolderModel) – The assetFolderModel representing the folder to create.$folderName(string (opens new window)) – The name of the folder to create.
Returns
Craft\AssetOperationResponseModel
Throws
Signature
public Craft\AssetOperationResponseModel createFolder ( Craft\AssetFolderModel $parentFolder, $folderName )
# deleteFile()
Delete a file.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The assetFileModel representing the file to delete.
Returns
Signature
public Craft\AssetOperationResponseModel deleteFile ( Craft\AssetFileModel $file )
# deleteFolder()
Delete a folder.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel representing the folder to be deleted.
Returns
Signature
public Craft\AssetOperationResponseModel deleteFolder ( Craft\AssetFolderModel $folder )
# deleteTransform()
Delete a generated transform for a file.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel)$index(Craft\AssetTransformIndexModel)
Returns
Signature
public null deleteTransform ( Craft\AssetFileModel $file, Craft\AssetTransformIndexModel $index )
# fileExists()
Return true if a physical file exists.
View source (opens new window)
Arguments
$parentPath(string (opens new window)) – Parent path$filename(string (opens new window)) – The name of the file.
Returns
Signature
public abstract boolean fileExists ( $parentPath, $filename )
# finalizeTransfer()
Finalize a file transfer between sources for the provided file.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The assetFileModel representing the file we're finalizing the transfer for.
Returns
Signature
public null finalizeTransfer ( Craft\AssetFileModel $file )
# folderExists()
Return true if a physical folder exists.
View source (opens new window)
Arguments
$parentPath(string (opens new window)) – Parent path$folderName(string (opens new window)) – The name of the folder to check if it exists.
Returns
Signature
public abstract boolean folderExists ( $parentPath, $folderName )
# getBaseUrl()
Signature
public abstract string getBaseUrl ( )
# getHasUrls()
Signature
public boolean getHasUrls ( )
# getImageSourcePath()
Get the image source path.
View source (opens new window)
Arguments
$fileModel(Craft\AssetFileModel) – The assetFileModel for the image source path.
Returns
mixed
Signature
public abstract mixed getImageSourcePath ( Craft\AssetFileModel $fileModel )
# getLocalCopy()
Make a local copy of the file and return the path to it.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The assetFileModel that has the file to make a copy of.
Returns
mixed
Signature
public abstract mixed getLocalCopy ( Craft\AssetFileModel $file )
# getPeriodList()
Signature
public array getPeriodList ( )
# getSourceErrors()
Returns true if this is a valid source. Used for type-specific validations.
View source (opens new window)
Returns
Signature
public array getSourceErrors ( )
# insertFileByPath()
Insert a file into a folder by it's local path.
View source (opens new window)
Arguments
$localFilePath(string (opens new window)) – The local file path of the file to insert.$folder(Craft\AssetFolderModel) – The assetFolderModel where the file should be uploaded to.$filename(string (opens new window)) – The name of the file to insert.$preventConflicts(boolean (opens new window)) – If set to true, will ensure that a conflict is not encountered by checking the file name prior insertion.
Returns
Craft\AssetOperationResponseModel
Throws
Signature
public Craft\AssetOperationResponseModel insertFileByPath ( $localFilePath, Craft\AssetFolderModel $folder, $filename, $preventConflicts = false )
# isRemote()
Signature
public boolean isRemote ( )
# isSourceLocal()
Signature
public boolean isSourceLocal ( )
# mergeFile()
Merge a file.
View source (opens new window)
Arguments
$sourceFile(Craft\AssetFileModel) – The AssetFileModel representing the file being merged.$targetFile(Craft\AssetFileModel) – The AssetFileModel representing the file that is being merged into.
Returns
Signature
public Craft\AssetOperationResponseModel mergeFile ( Craft\AssetFileModel $sourceFile, Craft\AssetFileModel $targetFile )
# moveFileInsideSource()
Move file from one path to another if it's possible. Return false on failure.
View source (opens new window)
Arguments
$originalSource(Craft\BaseAssetSourceType) – The original source of the file being moved.$file(Craft\AssetFileModel) – The assetFileModel representing the file to move.$targetFolder(Craft\AssetFolderModel) – The assetFolderModel representing the target folder.$filename(string (opens new window)) – The file name of the file to move.$conflictResolution(string (opens new window)) – The action to perform during the file move.
Returns
boolean (opens new window), Craft\AssetOperationResponseModel
Signature
public boolean, Craft\AssetOperationResponseModel moveFileInsideSource ( Craft\BaseAssetSourceType $originalSource, Craft\AssetFileModel $file, Craft\AssetFolderModel $targetFolder, $filename, $conflictResolution = null )
# moveFolder()
Moves a folder.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel representing the existing folder.$newParentFolder(Craft\AssetFolderModel) – The assetFolderModel representing the new parent folder.$overwriteTarget(boolean (opens new window)) – If true, will overwrite folder, if needed.
Returns
Signature
public Craft\AssetOperationResponseModel moveFolder ( Craft\AssetFolderModel $folder, Craft\AssetFolderModel $newParentFolder, $overwriteTarget = false )
# processIndex()
Process an indexing session.
View source (opens new window)
Arguments
$sessionId(string (opens new window)) – The unique session id to keep track of this indexing operation.$offset(integer (opens new window)) – The offset of this index.
Returns
mixed
Signature
public abstract mixed processIndex ( $sessionId, $offset )
# putImageTransform()
Put an image transform for the File and Transform Index using the provided path to the source image.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The AssetFileModel that the transform belongs to$index(Craft\AssetTransformIndexModel) – The Transform Index data.$sourceImage(string (opens new window)) – The source image.
Returns
mixed
Signature
public abstract mixed putImageTransform ( Craft\AssetFileModel $file, Craft\AssetTransformIndexModel $index, $sourceImage )
# renameFolder()
Rename a folder.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel representing the name of the folder to rename.$newName(string (opens new window)) – The new name of the folder.
Returns
Craft\AssetOperationResponseModel
Throws
Signature
public Craft\AssetOperationResponseModel renameFolder ( Craft\AssetFolderModel $folder, $newName )
# replaceFile()
Replace physical file.
View source (opens new window)
Arguments
$oldFile(Craft\AssetFileModel) – The assetFileModel representing the original file.$replaceWith(Craft\AssetFileModel) – The assetFileModel representing the new file.$filenameToUse(string (opens new window)) – The filename to use for the replaced file. If left empty, will use the name of the new file.
Returns
Signature
public null replaceFile ( Craft\AssetFileModel $oldFile, Craft\AssetFileModel $replaceWith, $filenameToUse = "" )
# startIndex()
Starts an indexing session.
View source (opens new window)
Arguments
$sessionId(string (opens new window)) – The unique session id to keep track of this indexing operation.
Returns
Signature
public abstract array startIndex ( $sessionId )
# transferFileIntoSource()
Transfer a file into the source.
View source (opens new window)
Arguments
$localCopy(string (opens new window)) – The local copy of the file to transfer.$folder(Craft\AssetFolderModel) – The assetFolderModel that contains the file to transfer.$file(Craft\AssetFileModel) – The assetFileModel that represents the file to transfer.$conflictResolution(string (opens new window)) – The action to perform during the transfer.
Returns
Signature
public Craft\AssetOperationResponseModel transferFileIntoSource ( $localCopy, Craft\AssetFolderModel $folder, Craft\AssetFileModel $file, $conflictResolution )
# uploadFile()
Upload a file.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel where the file should be uploaded to.
Returns
Craft\AssetOperationResponseModel
Throws
Signature
public Craft\AssetOperationResponseModel uploadFile ( Craft\AssetFolderModel $folder )
# Protected Methods
| Method | Description |
|---|---|
| canMoveFileFrom() | Determines if a file can be moved internally from original source. |
| copySourceFile() | Copy a physical file inside the source. |
| createSourceFolder() | Creates a physical folder, returns true on success. |
| defineSettings() | Defines the settings. |
| deleteGeneratedThumbnails() | Delete all the generated images for this file. |
| deleteSourceFile() | Delete just the file inside of a source for an Assets File. |
| deleteSourceFolder() | Delete the source folder. |
| ensureFolderByFullPath() | Ensure a folder entry exists in the DB for the full path and return it's id. |
| extractExpiryInformation() | Extract period amount and type from a saved Expires value. |
| getMissingFolders() | Return a list of missing folders, when comparing the full folder list for this source against the provided list. |
| getNameReplacementInFolder() | Get a name replacement for a filename already taken in a folder. |
| getSettingsModel() | Returns the settings model. |
| getUserFolderPromptOptions() | Return a result array for prompting the user about folder conflicts. |
| getUserPromptOptions() | Return a result object for prompting the user about filename conflicts. |
| indexFile() | Indexes a file. |
| insertFileInFolder() | Insert a file from path in folder. |
| moveSourceFile() | Move a file in source. |
| purgeCachedSourceFile() | Purge a file from the Source's cache. Sources that need this should override this method. |
| renameSourceFolder() | Rename a source folder. |
# canMoveFileFrom()
Determines if a file can be moved internally from original source.
View source (opens new window)
Arguments
$originalSource(Craft\BaseAssetSourceType) – The original source to check if a file can be moved from.
Returns
mixed
Signature
protected abstract mixed canMoveFileFrom ( Craft\BaseAssetSourceType $originalSource )
# copySourceFile()
Copy a physical file inside the source.
View source (opens new window)
Arguments
$sourceUri(string (opens new window)) – Source subpath$targetUri(string (opens new window)) – Target subpath
Returns
Signature
protected abstract boolean copySourceFile ( $sourceUri, $targetUri )
# createSourceFolder()
Creates a physical folder, returns true on success.
View source (opens new window)
Arguments
$parentFolder(Craft\AssetFolderModel) – The assetFolderModel that has the parent folder of the folder to create.$folderName(string (opens new window)) – The name of the folder to create.
Returns
Signature
protected abstract boolean createSourceFolder ( Craft\AssetFolderModel $parentFolder, $folderName )
# deleteGeneratedThumbnails()
Delete all the generated images for this file.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The assetFileModel representing the file to delete any generated thumbnails for.
Returns
Signature
protected null deleteGeneratedThumbnails ( Craft\AssetFileModel $file )
# deleteSourceFile()
Delete just the file inside of a source for an Assets File.
View source (opens new window)
Arguments
$subpath(string (opens new window)) – The subpath of the file to delete within the source
Signature
protected abstract void deleteSourceFile ( $subpath )
# deleteSourceFolder()
Delete the source folder.
View source (opens new window)
Arguments
$parentFolder(Craft\AssetFolderModel) – The assetFolderModel that has the parent of the folder to be deleted$folderName(string (opens new window)) – The name of the folder to be deleted.
Returns
Signature
protected abstract boolean deleteSourceFolder ( Craft\AssetFolderModel $parentFolder, $folderName )
# ensureFolderByFullPath()
Ensure a folder entry exists in the DB for the full path and return it's id.
View source (opens new window)
Arguments
$fullPath(string (opens new window)) – The path to ensure the folder exists at.
Returns
Signature
protected integer ensureFolderByFullPath ( $fullPath )
# extractExpiryInformation()
Extract period amount and type from a saved Expires value.
View source (opens new window)
Arguments
$value(string (opens new window)) – The value to extract the expiry information from.
Returns
Signature
protected array extractExpiryInformation ( $value )
# getMissingFolders()
Return a list of missing folders, when comparing the full folder list for this source against the provided list.
View source (opens new window)
Arguments
$folderList(array (opens new window)) – The full folder list to check if there are any missing from the source.
Returns
Signature
protected array getMissingFolders ( array $folderList )
# getNameReplacementInFolder()
Get a name replacement for a filename already taken in a folder.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel that has the file to get a name replacement for.$fileName(string (opens new window)) – The name of the file to get a replacement name for.
Returns
mixed
Signature
protected abstract mixed getNameReplacementInFolder ( Craft\AssetFolderModel $folder, $fileName )
# getUserFolderPromptOptions()
Return a result array for prompting the user about folder conflicts.
View source (opens new window)
Arguments
$folderName(string (opens new window)) – The file that caused of all trouble$folderId(integer (opens new window)) – The folder where the conflict took place.
Returns
Signature
protected object getUserFolderPromptOptions ( $folderName, $folderId )
# getUserPromptOptions()
Return a result object for prompting the user about filename conflicts.
View source (opens new window)
Arguments
$fileName(string (opens new window)) – The file that is the cause of all the trouble.
Returns
Signature
protected object getUserPromptOptions ( $fileName )
# indexFile()
Indexes a file.
View source (opens new window)
Arguments
$uriPath(string (opens new window)) – The URI path fo the file to index.
Returns
Craft\AssetFileModel, boolean (opens new window), null (opens new window)
Signature
protected Craft\AssetFileModel, boolean, null indexFile ( $uriPath )
# insertFileInFolder()
Insert a file from path in folder.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel that the file will be inserted into.$filePath(string (opens new window)) – The filePath of the file to insert.$fileName(string (opens new window)) – The fileName of the file to insert.
Returns
Craft\AssetOperationResponseModel
Throws
Signature
protected abstract Craft\AssetOperationResponseModel insertFileInFolder ( Craft\AssetFolderModel $folder, $filePath, $fileName )
# moveSourceFile()
Move a file in source.
View source (opens new window)
Arguments
$file(Craft\AssetFileModel) – The assetFileModel of the file to move.$targetFolder(Craft\AssetFolderModel) – The assetFolderModel that is the target destination of the file.$fileName(string (opens new window)) – The name of the file to move.$overwrite(boolean (opens new window)) – If true, will overwrite target destination, if necessary.
Returns
Signature
protected abstract Craft\AssetOperationResponseModel moveSourceFile ( Craft\AssetFileModel $file, Craft\AssetFolderModel $targetFolder, $fileName = '', $overwrite = false )
# purgeCachedSourceFile()
Purge a file from the Source's cache. Sources that need this should override this method.
View source (opens new window)
Arguments
$filePath(string (opens new window)) – The file to purge.
Returns
Signature
protected null purgeCachedSourceFile ( $filePath )
# renameSourceFolder()
Rename a source folder.
View source (opens new window)
Arguments
$folder(Craft\AssetFolderModel) – The assetFolderModel that has the folder to be renamed.$newName(string (opens new window)) – The new name of the folder.
Returns
Signature
protected abstract boolean renameSourceFolder ( Craft\AssetFolderModel $folder, $newName )