Provided by: ledgersmb_1.3.46-1_all bug

NAME

       LedgerSMB::File - 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 Retrives 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.