BaseAssetSourceType

Type
Abstract Class
Namespace
Craft
Inherits
Craft\BaseAssetSourceType » Craft\BaseSavableComponentType » Craft\BaseComponentType » Craft\BaseApplicationComponent » CApplicationComponent » CComponent
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

Public Properties

PropertyDescription
$behaviorsarray – The behaviors that should be attached to this component.
$modelCraft\BaseModel

Protected Properties

$componentType

Signature

protected string $componentType = 'AssetSourceType'

$isSourceLocal

Signature

protected boolean $isSourceLocal = false

Public Methods

MethodDescription
__call()Calls the named method which is not a class method.
__get()Returns a property value, an event handler list or a behavior based on its name.
__isset()Checks if a property value is null.
__set()Sets value of a component property.
__unset()Sets a component property to be null.
asa()Returns the named behavior object.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
attachEventHandler()Attaches an event handler to an event.
canGetProperty()Determines whether a property can be read.
canSetProperty()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()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
detachEventHandler()Detaches an existing event handler.
disableBehavior()Disables an attached behavior.
disableBehaviors()Disables all behaviors attached to this component.
enableBehavior()Enables an attached behavior.
enableBehaviors()Enables all behaviors attached to this component.
evaluateExpression()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()Returns the list of attached event handlers for an event.
getHasUrls()Return whether the source has URLs.
getImageSourcePath()Get the image source path.
getIsInitialized()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()Determines whether an event is defined.
hasEventHandler()Checks whether the named event has attached handlers.
hasProperty()Determines whether a property is defined.
init()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()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

Arguments

Returns

mixed

Signature

public mixed copyTransform ( Craft\AssetFileModel $file, $targetFolderPath, Craft\AssetTransformIndexModel $source, Craft\AssetTransformIndexModel $target )

createFolder()

Create a folder.

View source

Arguments

  • $parentFolder (Craft\AssetFolderModel) – The assetFolderModel representing the folder to create.
  • $folderName (string) – 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

Arguments

Returns

Craft\AssetOperationResponseModel

Signature

public Craft\AssetOperationResponseModel deleteFile ( Craft\AssetFileModel $file )

deleteFolder()

Delete a folder.

View source

Arguments

Returns

Craft\AssetOperationResponseModel

Signature

public Craft\AssetOperationResponseModel deleteFolder ( Craft\AssetFolderModel $folder )

deleteTransform()

Delete a generated transform for a file.

View source

Arguments

Returns

null

Signature

public null deleteTransform ( Craft\AssetFileModel $file, Craft\AssetTransformIndexModel $index )

fileExists()

Return true if a physical file exists.

View source

Arguments

  • $parentPath (string) – Parent path
  • $filename (string) – The name of the file.

Returns

boolean

Signature

public abstract boolean fileExists ( $parentPath, $filename )

finalizeTransfer()

Finalize a file transfer between sources for the provided file.

View source

Arguments

  • $file (Craft\AssetFileModel) – The assetFileModel representing the file we're finalizing the transfer for.

Returns

null

Signature

public null finalizeTransfer ( Craft\AssetFileModel $file )

folderExists()

Return true if a physical folder exists.

View source

Arguments

  • $parentPath (string) – Parent path
  • $folderName (string) – The name of the folder to check if it exists.

Returns

boolean

Signature

public abstract boolean folderExists ( $parentPath, $folderName )

getBaseUrl()

Return the source's base URL.

View source

Returns

string

Signature

public abstract string getBaseUrl ( )

getHasUrls()

Return whether the source has URLs.

View source

Returns

boolean

Signature

public boolean getHasUrls ( )

getImageSourcePath()

Get the image source path.

View source

Arguments

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

Arguments

Returns

mixed

Signature

public abstract mixed getLocalCopy ( Craft\AssetFileModel $file )

getPeriodList()

Gets a period list.

View source

Returns

array

Signature

public array getPeriodList ( )

getSourceErrors()

Returns true if this is a valid source. Used for type-specific validations.

View source

Returns

array

Signature

public array getSourceErrors ( )

insertFileByPath()

Insert a file into a folder by it's local path.

View source

Arguments

  • $localFilePath (string) – The local file path of the file to insert.
  • $folder (Craft\AssetFolderModel) – The assetFolderModel where the file should be uploaded to.
  • $filename (string) – The name of the file to insert.
  • $preventConflicts (boolean) – 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()

Return true if the source is a remote source.

View source

Returns

boolean

Signature

public boolean isRemote ( )

isSourceLocal()

Returns whether this is a local source or not.

View source

Returns

boolean

Signature

public boolean isSourceLocal ( )

mergeFile()

Merge a file.

View source

Arguments

Returns

Craft\AssetOperationResponseModel

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

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) – The file name of the file to move.
  • $conflictResolution (string) – The action to perform during the file move.

Returns

boolean, 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

Arguments

  • $folder (Craft\AssetFolderModel) – The assetFolderModel representing the existing folder.
  • $newParentFolder (Craft\AssetFolderModel) – The assetFolderModel representing the new parent folder.
  • $overwriteTarget (boolean) – If true, will overwrite folder, if needed.

Returns

Craft\AssetOperationResponseModel

Signature

public Craft\AssetOperationResponseModel moveFolder ( Craft\AssetFolderModel $folder, Craft\AssetFolderModel $newParentFolder, $overwriteTarget = false )

processIndex()

Process an indexing session.

View source

Arguments

  • $sessionId (string) – The unique session id to keep track of this indexing operation.
  • $offset (integer) – 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

Arguments

Returns

mixed

Signature

public abstract mixed putImageTransform ( Craft\AssetFileModel $file, Craft\AssetTransformIndexModel $index, $sourceImage )

renameFolder()

Rename a folder.

View source

Arguments

  • $folder (Craft\AssetFolderModel) – The assetFolderModel representing the name of the folder to rename.
  • $newName (string) – 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

Arguments

  • $oldFile (Craft\AssetFileModel) – The assetFileModel representing the original file.
  • $replaceWith (Craft\AssetFileModel) – The assetFileModel representing the new file.
  • $filenameToUse (string) – The filename to use for the replaced file. If left empty, will use the name of the new file.

Returns

null

Signature

public null replaceFile ( Craft\AssetFileModel $oldFile, Craft\AssetFileModel $replaceWith, $filenameToUse = "" )

startIndex()

Starts an indexing session.

View source

Arguments

  • $sessionId (string) – The unique session id to keep track of this indexing operation.

Returns

array

Signature

public abstract array startIndex ( $sessionId )

transferFileIntoSource()

Transfer a file into the source.

View source

Arguments

  • $localCopy (string) – 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) – The action to perform during the transfer.

Returns

Craft\AssetOperationResponseModel

Signature

public Craft\AssetOperationResponseModel transferFileIntoSource ( $localCopy, Craft\AssetFolderModel $folder, Craft\AssetFileModel $file, $conflictResolution )

uploadFile()

Upload a file.

View source

Arguments

Returns

Craft\AssetOperationResponseModel

Throws

Signature

public Craft\AssetOperationResponseModel uploadFile ( Craft\AssetFolderModel $folder )

Protected Methods

MethodDescription
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

Arguments

Returns

mixed

Signature

protected abstract mixed canMoveFileFrom ( Craft\BaseAssetSourceType $originalSource )

copySourceFile()

Copy a physical file inside the source.

View source

Arguments

  • $sourceUri (string) – Source subpath
  • $targetUri (string) – Target subpath

Returns

boolean

Signature

protected abstract boolean copySourceFile ( $sourceUri, $targetUri )

createSourceFolder()

Creates a physical folder, returns true on success.

View source

Arguments

  • $parentFolder (Craft\AssetFolderModel) – The assetFolderModel that has the parent folder of the folder to create.
  • $folderName (string) – The name of the folder to create.

Returns

boolean

Signature

protected abstract boolean createSourceFolder ( Craft\AssetFolderModel $parentFolder, $folderName )

deleteGeneratedThumbnails()

Delete all the generated images for this file.

View source

Arguments

  • $file (Craft\AssetFileModel) – The assetFileModel representing the file to delete any generated thumbnails for.

Returns

null

Signature

protected null deleteGeneratedThumbnails ( Craft\AssetFileModel $file )

deleteSourceFile()

Delete just the file inside of a source for an Assets File.

View source

Arguments

  • $subpath (string) – The subpath of the file to delete within the source

Signature

protected abstract void deleteSourceFile ( $subpath )

deleteSourceFolder()

Delete the source folder.

View source

Arguments

  • $parentFolder (Craft\AssetFolderModel) – The assetFolderModel that has the parent of the folder to be deleted
  • $folderName (string) – The name of the folder to be deleted.

Returns

boolean

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

Arguments

  • $fullPath (string) – The path to ensure the folder exists at.

Returns

integer

Signature

protected integer ensureFolderByFullPath ( $fullPath )

extractExpiryInformation()

Extract period amount and type from a saved Expires value.

View source

Arguments

  • $value (string) – The value to extract the expiry information from.

Returns

array

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

Arguments

  • $folderList (array) – The full folder list to check if there are any missing from the source.

Returns

array

Signature

protected array getMissingFolders ( array $folderList )

getNameReplacementInFolder()

Get a name replacement for a filename already taken in a folder.

View source

Arguments

  • $folder (Craft\AssetFolderModel) – The assetFolderModel that has the file to get a name replacement for.
  • $fileName (string) – 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

Arguments

  • $folderName (string) – The file that caused of all trouble
  • $folderId (integer) – The folder where the conflict took place.

Returns

object

Signature

protected object getUserFolderPromptOptions ( $folderName, $folderId )

getUserPromptOptions()

Return a result object for prompting the user about filename conflicts.

View source

Arguments

  • $fileName (string) – The file that is the cause of all the trouble.

Returns

object

Signature

protected object getUserPromptOptions ( $fileName )

indexFile()

Indexes a file.

View source

Arguments

  • $uriPath (string) – The URI path fo the file to index.

Returns

Craft\AssetFileModel, boolean, null

Signature

protected Craft\AssetFileModel, boolean, null indexFile ( $uriPath )

insertFileInFolder()

Insert a file from path in folder.

View source

Arguments

  • $folder (Craft\AssetFolderModel) – The assetFolderModel that the file will be inserted into.
  • $filePath (string) – The filePath of the file to insert.
  • $fileName (string) – 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

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) – The name of the file to move.
  • $overwrite (boolean) – If true, will overwrite target destination, if necessary.

Returns

Craft\AssetOperationResponseModel

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

Arguments

  • $filePath (string) – The file to purge.

Returns

null

Signature

protected null purgeCachedSourceFile ( $filePath )

renameSourceFolder()

Rename a source folder.

View source

Arguments

  • $folder (Craft\AssetFolderModel) – The assetFolderModel that has the folder to be renamed.
  • $newName (string) – The new name of the folder.

Returns

boolean

Signature

protected abstract boolean renameSourceFolder ( Craft\AssetFolderModel $folder, $newName )