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 )