Omeka_File_Ingest_Upload

class Omeka_File_Ingest_Upload

Package: File\Ingest

This class creates a bridge between the ZF File Transfer HTTP adapter and Omeka’s file ingest classes.

property _adapter
property _adapterOptions
property _item
property _options

Set of arbitrary options to use when ingesting files.

property _validators

Set of validators implementing Zend_Validate_Interface.

property mimeType

The current validated file MIME type.

_buildAdapter()

Create a ZF HTTP file transfer adapter.

Returns:void
setOptions(array $options)

In addition to the default options available for Omeka_File_Ingest_AbstractIngest, this understands the following options: - ‘ignoreNoFile’ => boolean False by default. Whether or not to ignore - validation errors that occur when an uploaded file is missing. This - may occur when a file input is left empty on a form.

This option can be overridden by the ‘ignore_invalid_files’ option. Forinstance, if ‘ignoreNoFile’ is set to false but ‘ignore_invalid_files’ isset to true, any exceptions due to missing uploads will be suppressed andignored.

Parameters:
  • $options (array) –
Returns:

void

_getOriginalFilename(array $fileInfo)

The ‘name’ attribute of the $_FILES array will always contain the original name of the file.

Parameters:
  • $fileInfo (array) –
Returns:

string

_transferFile(array $fileInfo, string $originalFilename)

Use the Zend_File_Transfer adapter to upload the file.

Parameters:
  • $fileInfo (array) –
  • $originalFilename (string) –
Returns:

string Path to the file in Omeka.

_parseFileInfo(string|null $fileInfo)

Use the adapter to extract the array of file information.

Parameters:
  • $fileInfo (string|null) – The name of the form input to ingest.
Returns:

array

addValidator(Zend_Validate_Interface $validator)

Use the Zend Framework adapter to handle validation instead of the built-in _validateFile() method.

Parameters:
  • $validator (Zend_Validate_Interface) –
Returns:

void

setItem(Item $item)

Set the item to use as a target when ingesting files.

Parameters:
Returns:

void

factory(string $adapterName, Item $item, array $options = Array)

Factory to retrieve Omeka_File_Ingest_* instances.

Parameters:
  • $adapterName (string) – Ingest adapter.
  • $item (Item) –
  • $options (array) –
Returns:

Omeka_File_Ingest_AbstractIngest

ingest(mixed $fileInfo)

Ingest based on arbitrary file identifier info.

If this is an array that has a ‘metadata’ key, that should be an arrayrepresenting element text metadata to assign to the file. SeeActsAsElementText::addElementTextsByArray() for more details.

Parameters:
  • $fileInfo (mixed) – An arbitrary input (array, string, object, etc.) that corresponds to one or more files to be ingested into Omeka.
Returns:

array Ingested file records.

_ignoreIngestErrors()

Determine whether or not to ignore file ingest errors. Based on ‘ignore_invalid_files’, which is false by default.

Returns:boolean
_logException(Exception $e)

Log any exceptions that are thrown as a result of attempting to ingest invalid files.

These are logged as warnings because they are being ignored by the script,so they don’t actually kill the file ingest process.

Parameters:
  • $e (Exception) –
Returns:

void

_createFile(string $newFilePath, string $oldFilename, array $elementMetadata = Array)

Insert a File record corresponding to an ingested file and its metadata.

Parameters:
  • $newFilePath (string) – Path to the file within Omeka.
  • $oldFilename (string) – The original filename for the file. This will usually be displayed to the end user.
  • $elementMetadata (array) – See ActsAsElementText::addElementTextsByArray() for more information about the format of this array.
Returns:

File

_getDestination(string $fromFilename)

Retrieve the destination path for the file to be transferred.

This will generate an archival filename in order to prevent naming conflicts between ingested files.

This should be used as necessary by Omeka_File_Ingest_AbstractIngestimplementations in order to determine where to transfer any given file.

Parameters:
  • $fromFilename (string) – The filename from which to derive the archival filename.
Returns:

string

_validateFile(string $filePath, array $fileInfo)

Validate a file that has been transferred to Omeka.

Implementations of Omeka_File_Ingest_AbstractIngest should use this to validate the uploaded file based on user-defined security criteria.

Important: $fileInfo may need to contain the following keys in order to work with particular Zend_Validate_File_* validation classes:

  • ‘name’: string filename (for Zend_Validate_File_Extension) If ZF is unable to determine the file extension when validating, it willcheck the ‘name’ attribute instead. Current use cases involve saving thefile to a temporary location before transferring to Omeka. Mosttemporary files do not maintain the original file extension.
  • ‘type’: string MIME type (for Zend_Validate_File_MimeType) If ZFis unable to determine the mime type from the transferred file. Unlessthe server running Omeka has a mime_magic file or has installed theFileInfo extension, this will be necessary.
Parameters:
  • $filePath (string) – Absolute path to the file. The file should be local and readable, which is required by most (if not all) of the Zend_Validate_File_* classes.
  • $fileInfo (array) – Set of file info that describes a given file being ingested.
Returns:

boolean True if valid, otherwise throws an exception.

Project Versions

Previous topic

Omeka_File_Ingest_InvalidException

Next topic

Omeka_File_Ingest_Url

This Page