Skip to content

Latest commit

 

History

History
109 lines (76 loc) · 4.35 KB

configuration.rst

File metadata and controls

109 lines (76 loc) · 4.35 KB

Configuration

Protected field names

As this plugin is a Behavior, there are some field names you can not use because they are used by the internal CakePHP system. Please do not use these field names:

  • priority

Behavior configuration options

This is a list of all the available configuration options which can be passed in under each field in your behavior configuration.

  • pathProcessor: Returns a ProcessorInterface class name.
    • Default: (string) Josegonzalez\Upload\File\Path\DefaultProcessor
  • writer: Returns a WriterInterface class name.
    • Default: (string) Josegonzalez\Upload\File\Writer\DefaultWriter
  • transformer: Returns a TransformerInterface class name. Can also be a PHP callable.
    • Default: (string) Josegonzalez\Upload\File\Transformer\DefaultTransformer
  • path: A path relative to the filesystem.root.
    • Default: (string) 'webroot{DS}files{DS}{model}{DS}{field}{DS}'
    • Tokens:
      • {DS}: Replaced by a DIRECTORY_SEPARATOR
      • {model}: Replaced by the Table-alias() method.
      • {table}: Replaced by the Table->table() method.
      • {field}: Replaced by the name of the field which will store the upload filename.
      • {field-value:(w+)}: Replaced by value contained in the current entity in the specified field. As an example, if your path has {field-value:unique_id} and the entity being saved has a value of 4b3403665fea6 for the field unique_id, then {field-value:unique_id} will be replaced with 4b3403665fea6. This replacement can be used multiple times for one or more fields. If the value is not a string or zero-length, a LogicException will be thrown.
      • {primaryKey}: Replaced by the entity primary key, when available. If used on a new record being created, a LogicException will be thrown.
      • {year}: Replaced by date('Y')
      • {month}: Replaced by date('m')
      • {day}: Replaced by date('d')
      • {time}: Replaced by time()
      • {microtime}: Replaced by microtime()
  • fields: An array of fields to use when uploading files
    • Options:
      • fields.dir: (default dir) Field to use for storing the directory
      • fields.type: (default type) Field to use for storing the filetype
      • fields.size: (default size) Field to use for storing the filesize
      • fields.ext: (default ext) Field to use for storing the file extension
  • filesystem: An array of configuration info for configuring the writer

    If using the DefaultWriter, the following options are available:

    • Options:
      • filesystem.root: (default ROOT . DS) Directory where files should be written to by default
      • filesystem.adapter: (default Local Flysystem Adapter) A Flysystem-compatible adapter. Can also be a callable that returns an adapter.
      • filesystem.visibility: (default 'public') Sets the related file permissions. Should either be 'public' or 'private'.
  • nameCallback: A callable that can be used by the default pathProcessor to rename a file. Only handles original file naming.
    • Default: NULL
    • Available arguments:
      • Table $table: The table of the current entity
      • Entity $entity: The entity you want to add/edit
      • array $data: The upload data
      • string $field: The field for which data will be added/edited
      • array $settings: UploadBehavior settings for the current field
    • Return: (string) the new name for the file
  • keepFilesOnDelete: Keep all files when deleting a record.
    • Default: (boolean) true
  • deleteCallback: A callable that can be used to delete different versions of the file.
    • Default: NULL
    • Available arguments:
      • string $path: Basepath of the file you want to delete
      • Entity $entity: The entity you want to delete
      • string $field: The field for which data will be removed
      • array $settings: UploadBehavior settings for the current field
    • Return: (array) the files you want to be deleted
  • restoreValueOnFailure: Restores original value of the current field when uploaded file has error
    • Defaults: (boolean) true