dolibarr 21.0.0-alpha
|
API class for receive files. More...
Public Member Functions | |
__construct () | |
Constructor. | |
index ($modulepart, $original_file='') | |
Download a document. | |
builddoc ($modulepart, $original_file='', $doctemplate='', $langcode='') | |
Build a document. | |
getDocumentsListByElement ($modulepart, $id=0, $ref='', $sortfield='', $sortorder='') | |
Return the list of documents of a dedicated element (from its ID or Ref) | |
post ($filename, $modulepart, $ref='', $subdir='', $filecontent='', $fileencoding='', $overwriteifexists=0, $createdirifnotexists=1, $position=0, $cover='', $array_options=[]) | |
Return a document. | |
delete ($modulepart, $original_file) | |
Delete a document. | |
Public Member Functions inherited from DolibarrApi | |
__construct ($db, $cachedir='', $refreshCache=false) | |
Constructor. | |
Additional Inherited Members | |
Protected Member Functions inherited from DolibarrApi | |
_checkValForAPI ($field, $value, $object) | |
Check and convert a string depending on its type/name. | |
_filterObjectProperties ($object, $properties) | |
Filter properties that will be returned on object. | |
_cleanObjectDatas ($object) | |
Clean sensitive object data @phpstan-template T of Object. | |
_checkFilters ($sqlfilters, &$error='') | |
Return if a $sqlfilters parameter is valid Function no more used. | |
Static Protected Member Functions inherited from DolibarrApi | |
static | _checkAccessToResource ($resource, $resource_id=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') |
Check access by user to a given resource. | |
static | _forge_criteria_callback ($matches) |
Function to forge a SQL criteria from a Generic filter string. | |
API class for receive files.
@access protected ,external}
Definition at line 34 of file api_documents.class.php.
Documents::builddoc | ( | $modulepart, | |
$original_file = '', | |||
$doctemplate = '', | |||
$langcode = '' ) |
Build a document.
Test sample 1: { "modulepart": "invoice", "original_file": "FA1701-001/FA1701-001.pdf", "doctemplate": "crabe", "langcode": "fr_FR" }.
Supported modules: invoice, order, proposal, contract, shipment
string | $modulepart | Name of module or area concerned by file download ('thirdparty', 'member', 'proposal', 'supplier_proposal', 'order', 'supplier_order', 'invoice', 'supplier_invoice', 'shipment', 'project', ...) |
string | $original_file | Relative path with filename, relative to modulepart (for example: IN201701-999/IN201701-999.pdf). |
string | $doctemplate | Set here the doc template to use for document generation (If not set, use the default template). |
string | $langcode | Language code like 'en_US', 'fr_FR', 'es_ES', ... (If not set, use the default language). |
@url PUT /builddoc
RestException | 400 Bad value for parameter modulepart or original_file |
RestException | 403 Access denied |
RestException | 404 Invoice, Order, Proposal, Contract or Shipment not found |
RestException | 500 Error generating document |
RestException | 501 File not found |
Definition at line 133 of file api_documents.class.php.
References dol_check_secure_access_document(), dol_mimetype(), dol_osencode(), and getDolGlobalString().
Documents::delete | ( | $modulepart, | |
$original_file ) |
Delete a document.
string | $modulepart | Name of module or area concerned by file download ('product', ...) |
string | $original_file | Relative path with filename, relative to modulepart (for example: PRODUCT-REF-999/IMAGE-999.jpg) |
@url DELETE /
RestException | 400 Bad value for parameter modulepart |
RestException | 400 Bad value for parameter original_file |
RestException | 403 Access denied |
RestException | 404 File not found |
RestException | 500 Error on file operation |
Definition at line 975 of file api_documents.class.php.
References dol_check_secure_access_document(), dol_osencode(), and dol_syslog().
Documents::getDocumentsListByElement | ( | $modulepart, | |
$id = 0, | |||
$ref = '', | |||
$sortfield = '', | |||
$sortorder = '' ) |
Return the list of documents of a dedicated element (from its ID or Ref)
Supported modules: thirdparty, user, member, proposal, order, supplier_order, shipment, invoice, supplier_invoice, product, event, expensereport, knowledgemanagement, category, contract
string | $modulepart | Name of module or area concerned ('thirdparty', 'member', 'proposal', 'order', 'invoice', 'supplier_invoice', 'shipment', 'project', ...) |
int | $id | ID of element |
string | $ref | Ref of element |
string | $sortfield | Sort criteria ('','fullname','relativename','name','date','size') |
string | $sortorder | Sort order ('asc' or 'desc') |
@url GET /
RestException | 400 Bad value for parameter modulepart, id or ref |
RestException | 403 Access denied |
RestException | 404 Thirdparty, User, Member, Order, Invoice or Proposal not found |
RestException | 500 Error while fetching object |
RestException | 503 Error when retrieve ecm list |
Definition at line 316 of file api_documents.class.php.
References $id, $object, dol_dir_list(), dol_sanitizeFileName(), and get_exdir().
Documents::index | ( | $modulepart, | |
$original_file = '' ) |
Download a document.
Note that, this API is similar to using the wrapper link "documents.php" to download a file (used for internal HTML links of documents into application), but with no need to have a session cookie (the token is used instead).
string | $modulepart | Name of module or area concerned by file download ('facture', ...) |
string | $original_file | Relative path with filename, relative to modulepart (for example: IN201701-999/IN201701-999.pdf) |
@url GET /download
RestException | 400 Bad value for parameter modulepart or original_file |
RestException | 403 Access denied |
RestException | 404 File not found |
Definition at line 62 of file api_documents.class.php.
References dol_check_secure_access_document(), dol_mimetype(), dol_osencode(), and dol_syslog().
Documents::post | ( | $filename, | |
$modulepart, | |||
$ref = '', | |||
$subdir = '', | |||
$filecontent = '', | |||
$fileencoding = '', | |||
$overwriteifexists = 0, | |||
$createdirifnotexists = 1, | |||
$position = 0, | |||
$cover = '', | |||
$array_options = [] ) |
Return a document.
int | $id | ID of document |
RestException | Upload a document. |
Test sample for invoice: { "filename": "mynewfile.txt", "modulepart": "invoice", "ref": "FA1701-001", "subdir": "", "filecontent": "content text", "fileencoding": "", "overwriteifexists": "0" }. Test sample for supplier invoice: { "filename": "mynewfile.txt", "modulepart": "supplier_invoice", "ref": "FA1701-001", "subdir": "", "filecontent": "content text", "fileencoding": "", "overwriteifexists": "0" }. Test sample for medias file: { "filename": "mynewfile.txt", "modulepart": "medias", "ref": "", "subdir": "image/mywebsite", "filecontent": "Y29udGVudCB0ZXh0Cg==", "fileencoding": "base64", "overwriteifexists": "0" }.
Supported modules: invoice, order, supplier_order, task/project_task, product/service, expensereport, fichinter, member, propale, agenda, contact
string | $filename | Name of file to create ('FA1705-0123.txt') |
string | $modulepart | Name of module or area concerned by file upload ('product', 'service', 'invoice', 'proposal', 'project', 'project_task', 'supplier_invoice', 'expensereport', 'member', ...) |
string | $ref | Reference of object (This will define subdir automatically and store submitted file into it) |
string | $subdir | Subdirectory (Only if ref not provided) |
string | $filecontent | File content (string with file content. An empty file will be created if this parameter is not provided) |
string | $fileencoding | File encoding (''=no encoding, 'base64'=Base 64) |
int | $overwriteifexists | Overwrite file if exists (1 by default) |
int | $createdirifnotexists | Create subdirectories if the doesn't exists (1 by default) |
int | $position | Position |
string | $cover | Cover info |
array | $array_options | array of options |
@url POST /upload
RestException | 400 Bad Request |
RestException | 403 Access denied |
RestException | 404 Object not found |
RestException | 500 Error on file operation |
Definition at line 677 of file api_documents.class.php.
References $object, dol_basename(), dol_check_secure_access_document(), dol_delete_file(), dol_is_dir(), dol_is_file(), dol_mkdir(), dol_move(), dol_sanitizeFileName(), dol_sanitizePathName(), dol_syslog(), dolCheckVirus(), dolChmod(), get_exdir(), getDolGlobalInt(), getDolGlobalString(), getUserRemoteIP(), and isAFileWithExecutableContent().