| dolibarr 20.0.5
    | 
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) | |
| 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 sensible object datas. | |
| _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 967 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 $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 ) | 
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) | 
@url POST /upload
| RestException | 400 Bad Request | 
| RestException | 403 Access denied | 
| RestException | 404 Object not found | 
| RestException | 500 Error on file operationw | 
Definition at line 674 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().