LedgerSMB::File






LedgerSMB::File − Provides routines for managing file
attachments.

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



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).











                             ‐2‐


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.



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











                             ‐3‐


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 (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.