The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Labyrinth::Media - Media File Management for Labyrinth

DESCRIPTION

This module collates many media and image file handling functionality used within Labyrinth.

It should be noted that internally images and media files are stored in the same, although images also record dimensions. When retrieving the required files, it is recommend you call the appropriate method to ensure you are getting the correct format of data for the file format. For example, GetImage and GetMedia, both return file information, but GetImage adds deminsion data.

Also note that Images and Photos differ in the directory structure storage, so saving and copying need to reference different functions. See below for a more detailed explanation.

PUBLIC INTERFACE FUNCTIONS

Stock Control Functions

CGIFile

When uploading a file via a web form, this function will save the file to the local filesystem.

Stock Control Functions

The stock list relates to the directory paths where uploaded files should be saved on the local filesystem.

StockName

Return the name for the given stock id.

StockPath

Return the path for the given stock id.

StockType

Return the stock id for the given stock code.

StockSelect

Returns an XHTML snippet for a dropdown selection box of stock entries.

PathMove

Image Functions

GetImage($imageid)

Retrieves the image data for a given imageid.

SaveImageFile(%hash)

Saves an uploaded image file into the specified directory structure. If not save directory is specified, the draft folder is used. The hash can contain the following:

  param     - the CGI parameter used to reference the upload file
  width     - maximum saved width (default = 120px)
  height    - maximum saved height (default = 120px)
  imageid   - if overwriting already existing file
  stock     - file category (used to define the save directory)
MirrorImageFile($source,$stock [,$xmax,$ymax] )

Mirrors a file from a URL to the local file system. If a max width and height are given, will resize the image.

GetImageSize($link,$size,$width,$height,$maxwidth,$maxheight)

For a given file, returns the true width and height that will be rendered within the browser, given the current and default settings.

ResizeDimensions($dimensions,$file,$maxwidth,$maxheight)

Given the current dimensions, file and intended max height and width, will return the width and height values to use in a image tag to scale the dimensions to the require box size.

GetGravatar

Returns a Gravatar link.

Image Functions

CopyPhotoFile()

Copy an existing stored image, both on the filesystem and in the database.

SavePhotoFile()

Save a photo uploaded via a web form to the local filesystem and to the photo gallery database table.

Media Functions

GetMedia($imageid)

Retrieves the media data for a given imageid.

SaveMediaFile(%hash)

Saves an uploaded media file into the specified directory structure. If no save directory is specified, the draft folder is used. The hash can contain the following:

  param     - the CGI parameter used to reference the upload file
  imageid   - if overwriting already existing file
  stock     - file category (used to define the save directory)
SaveFile(%hash)

Saves an uploaded media file into the specified directory structure. If no save directory is specified, the draft folder is used. The hash can contain the following:

  param     - the CGI parameter used to reference the upload file
  stock     - file category (used to define the save directory)

Note that this upload function assumes that the file is to be stored in the appropriate directory with a link being return. No imageid or further reference is held within the database.

DeleteFile(%hash)

Deletes a previously uploaded media file from disk. No attempt is made to check whether file is used within the database, other checks should be used prior to calling this function if this is required. The hash can contain the following:

  file      - file to be deleted

ADMIN INTERFACE FUNCTIONS

ImageCheck

Used by Images::Delete to verify whether a particular module uses a particular image referenced in the database.

LOCAL INTERNAL FUNCTIONS

SaveImage

Writes image data to the database.

UnZipFile

Un wraps an archive file and stores it in an appropriate directory. For a single file archive, the path to the file is returned. For collecions of files, an 'index.html' is searched for and the path to it returned if found. In all other instances the either the path to the first HTML file or first other file is returned.

SEE ALSO

  Labyrinth

AUTHOR

Barbie, <barbie@missbarbell.co.uk> for Miss Barbell Productions, http://www.missbarbell.co.uk/

COPYRIGHT & LICENSE

  Copyright (C) 2002-2015 Barbie for Miss Barbell Productions
  All Rights Reserved.

  This module is free software; you can redistribute it and/or
  modify it under the Artistic License 2.0.