LedgerSMB::File(3) Provides routines for managing file attachments.

SYNPSIS

This provides routines for managing file attachments. Subclasses may be used to provide functionality for specific types of file attachments.

PROPERTIES/ACCESSORS

attached_by_id
Entity id of the individual who attached the file.
attached_by
Entity name of individual who attached file
attached_at
Timestamp of attachment point.
content
This stores the binary content of the file.
mime_type_id
ID of the MIME type. Undef if unknown.
mime_type_text
Standard text code of the MIME type
file_name
File name, user specified
description
Description, user specified
id
ID of file. undef if unknown
ref_key
Referential key for the file to attach to.
reference
Reference control code (text string) for attached financial database object.
file_class
ID of the file class.
src_class
ID of class of the original attachment point (for a link)
file_path
Path, relative to $LedgerSMB::tempdir, where file data is stored (for LaTeX use of attached images).
dbobject
Object for db interface.
sizex
X axis dimensions, if Image::Size is installed and file is image (only on files retrieved for invoices).
sizey
Y axis dimensions, if Image::Size is installed and file is image (only on files retrieved for invoices).
x_info
A hash for extended information

Note additionally the $self hashref contains the basic required attributes for DBObject, namely dbh, _roles, and _locale.

METHODS

new
Returns a blessed object
to_hashref
Returns a hashref of properties for the object.
new_dbobject
$file->new_dbobject({base => (LedgerSMB | LedgerSMB::Form), locale => LedgerSMB::Locale});

Creates a new file object. Locale only needs to be specified when using LedgerSMB::Form objects since these are not included.

Returns 0 on success.

Error codes on exit (OR'd):

1: No database handle included 2: No locale handle included 4: Invalid base.

In most cases when working with new code it is simpler to just

$file->dbobject(LedgerSMB::DBObject->new({base => $request});

get_mime_type
Sends the textual representation of the MIME type. If not set, retrieves and sets it.
set_mime_type
Sets the mipe_type_id from the mime_type_text
detect_type
Auto-detects the type of the file. Not yet implemented
get
Retrieves a file. ID and file_class properties must be set.
get_for_template({ref_key => int, file_class => int})
Returns file data for invoices for embedded images, except that content is set to a directive relative to tempdir where these files are stored.
list({ref_key => int, file_class => int})
Lists files directly attached to the object.
list_links({ref_key => int, file_class => int})
Lists the links directly attached to the object.
exec_method
Provides a compatible interface to LedgerSMB::DBObject::exec_method
merge(hashref)
Merges in specific attributes from the ref.
commit()
Returns the value of DBI->commit

COPYRIGHT

Copyright (C) 2011 The LedgerSMB Core Team

This file is licensed under the Gnu General Public License version 2, or at your option any later version. A copy of the license should have been included with your software.