Merge branch 'develop' into 17p6

This commit is contained in:
Laurent Destailleur 2022-09-28 20:55:43 +02:00 committed by GitHub
commit 98ed321514
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
194 changed files with 1113 additions and 800 deletions

View File

@ -15,6 +15,8 @@ NEW Minimal PHP version is now PHP 7.0 instead of PHP 5.6
For developers or integrators:
------------------------------
NEW Minimal PHP version is now PHP 7.0 instead of PHP 5.6
...
@ -25,6 +27,7 @@ Following changes may create regressions for some external modules, but were nec
* Trigger ORDER_SUPPLIER_DISPATCH is removed, use ORDER_SUPPLIER_RECEIVE and/or LINEORDER_SUPPLIER_DISPATCH instead.
***** ChangeLog for 16.0.0 compared to 15.0.0 *****
For users:
@ -49,28 +52,24 @@ NEW: ACE Editor is restored at same cursor position after a save.
NEW: Add "addMoreActionsButtons" hook to subscription form
NEW: Add an option in GUI to show a Quick add button into top menu bar
NEW: Add a workflow to auto link contract on a ticket
NEW: Add column date of Signature on proposal list
NEW: Add column template invoice in invoice list
NEW: Add column "Total HT" to products array on document creation card
NEW: Add configuration for text color of button action
NEW: Add entity filter in exports
NEW: Show the event block on recurring invoices #20870
NEW: Add firstname, lastname and max number of attendees for module "Event Organization"
NEW: Add margin info in proposal and order list
NEW: Add massaction "Edit Extrafield" for Product
NEW: Add more fields to detect duplicate during import of thirdparties
NEW: Add option to foce delivery on email for purchase order receipt to yes
NEW: Add possibility to create contract from invoice
NEW: Add possibility with constant MAIN_LOGIN_BADCHARUNAUTHORIZED to define bad character unauthorized into login name
NEW: Add private and public notes on tax files.
NEW: Add private and public notes on tax files
NEW: Add substitutions "user numbers"
NEW: allow a ticket to be automatically marked as read when created from backend.
NEW: allow cut&paste as real numeric value to excel
NEW: A public form to send a message and create a lead is available
NEW: automatically set totally received status in reception
NEW: Auto set invoice paid when adding credit not and remain to pay is 0
NEW: Backup tool has an "lowmemory" option for mysqldump on large database
NEW: Can enter price with tax for predefined products on purchase objects
NEW: Can filter on a thirdparty on product statistics
NEW: Can removed doc templates from setup page of thirdparty
NEW: Can use ! to make a search that exclude a string
NEW: clean values and amount in FEC import
@ -86,12 +85,13 @@ NEW: Dictionaries - Availibility dictionnary has a new column unit and number
NEW: Display errors in a message box after generating documents
NEW: Enhance the import. Can use 'auto' for the ref (import of orders)
NEW: Events on Proposal to Return to Draft
NEW: Exports - add entity filter in exports
NEW: Page to list expense report payments
NEW: JS inventory autocalc input
NEW: language support for more emailing target selectors
NEW: leave requests: add field into type dictionary to block request if balance is negative
NEW: Mass action "Close shipments"
NEW: Module BOM - add tabs for nets Bom
NEW: Module BOM - add tabs for nets BOM
NEW: Module BOM - add the possibility to add sub-BOMs to BOM
NEW: Module Recruitment - Add a public page with list of all open job positions.
NEW: Module Recruitment - Add a tab with list of application on the jobposition file.
@ -105,14 +105,18 @@ NEW: Knowledge Management - add status "Obsolete" to KM articles
NEW: MRP - split consumption line on MO
NEW: MRP - display physical and virtual stock of the products when creating OF from a BOM
NEW: MRP - display product ref in "Object link" product tab for BOM
NEW: Orders - support user_modif in order
NEW: Products - add massaction "Edit Extrafield" for Product
NEW: Products - List - add thumbnail field in product list
NEW: Products - Statistics - can filter on a thirdparty
NEW: Projects - add filter "opportunity status" on statistics of projects.
NEW: Proposals - option update prices on proposal cloning
NEW: Proposals - List - add column date of Signature on proposal list
NEW: SEPA XML - option to place payment Type Info at Credit transfer Transaction level
NEW: Stocks - stock filter in reassort lists
NEW: Stocks - stock limit in stock export CSV
NEW: Stocks - Inventory - can change value of AWP during the inventory
NEW: Supplier order - Show ref supplier of reception in linked object block
NEW: support user_modif in order
NEW: Surveys - Show number of votes into the label of tab "Results" of a survey
NEW: TakePOS - barcode rule to insert product in TakePOS
NEW: TakePOS - pagination on search results
@ -122,19 +126,18 @@ NEW: TakePOS - add constant to show category description
NEW: TakePOS - add constant to show only the products in stock
NEW: Themes - add param color button action
NEW: Themes - Change in theme colors does not need to use the refresh button
NEW: Themes - more mode for THEME_TOPMENU_DISABLE_IMAGE (2, 3, ...)
NEW: Themes - more modes for THEME_TOPMENU_DISABLE_IMAGE (2, 3, ...)
NEW: Themes - MD - add param border table for md theme
NEW: Third-Parties - Add rules "customer accountancy code" is mandatory to validate invoice
NEW: Third-Parties - Can set the parent company during the creation of thirdparty (action=add of societe/card.php)
NEW: Third-Parties - add rules "customer accountancy code" is mandatory to validate invoice
NEW: Third-Parties - can set the parent company during the creation of thirdparty (action=add of societe/card.php)
NEW: Tickets - allow a Ticket to be automatically marked as read when created from backend
NEW: Tickets - create Third-party with contact if not found on public ticket
NEW: Tickets - option to default check "notify tier at creation"
NEW: Tickets - Trigger: allow to automatically send messages on new tickets
NEW: Tickets - optional display warning icons on ticket list
NEW: Websites Module - supports now the multicompany module
NEW: Websites Module - on redirect of page in website module, GET parameters are kept.
NEW: The backup tools has an "lowmemory" option for mysqldump on large database
NEW: The 'reposition' class works on ajax constantonoff that make redirects
NEW: thumbnail field in product list
NEW: total mark rate in list
NEW: uncheck "send message" by default on a ticket when private messages has been checked
NEW: VAT Report by month - Show detail by rate and also by code
@ -142,8 +145,8 @@ NEW: Added MMK currency (Myanmar Kyat)
NEW: On a form to send an email, we show all emails of contacts of object
Modules state
NEW: Module Partnership Management
NEW: Module Event Organization Management
NEW: Module Partnership Management - stable
NEW: Module Event Organization Management - stable
For developers or integrators:

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -84,7 +84,7 @@ const getFallbackRealAction = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/actions',
// url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/actions',
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -76,7 +76,7 @@ const getFallbackRealContact = (z, bundle) => {
// const getModulesChoices = (z/*, bundle*/) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices',
// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices',
// };
// return z.request(options).then((response) => JSON.parse(response.content));
@ -94,7 +94,7 @@ const getFallbackRealContact = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`,
// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`,
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -76,7 +76,7 @@ const getFallbackRealMember = (z, bundle) => {
// const getModulesChoices = (z/*, bundle*/) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices',
// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices',
// };
// return z.request(options).then((response) => JSON.parse(response.content));
@ -94,7 +94,7 @@ const getFallbackRealMember = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`,
// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`,
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -74,7 +74,7 @@ const getFallbackRealOrder = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/orders',
// url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/orders',
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -83,7 +83,7 @@ const getFallbackRealThirdparty = (z, bundle) => {
// const getModulesChoices = (z/*, bundle*/) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices',
// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices',
// };
// return z.request(options).then((response) => JSON.parse(response.content));
@ -102,7 +102,7 @@ const getFallbackRealThirdparty = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`,
// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`,
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -76,7 +76,7 @@ const getFallbackRealTicket = (z, bundle) => {
// const getModulesChoices = (z/*, bundle*/) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices',
// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices',
// };
// return z.request(options).then((response) => JSON.parse(response.content));
@ -97,7 +97,7 @@ const getFallbackRealTicket = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`,
// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`,
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -10,7 +10,7 @@ const subscribeHook = (z, bundle) => {
action: bundle.inputData.action
};
const url = bundle.authData.url + '/api/index.php/zapierapi/hook';
const url = bundle.authData.url + '/api/index.php/zapier/hook';
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
@ -32,7 +32,7 @@ const unsubscribeHook = (z, bundle) => {
// You can build requests and our client will helpfully inject all the variables
// you need to complete. You can also register middleware to control this.
const options = {
url: bundle.authData.url + '/api/index.php/zapierapi/hook/' + bundle.subscribeData.id,
url: bundle.authData.url + '/api/index.php/zapier/hook/' + bundle.subscribeData.id,
method: 'DELETE',
};
@ -73,7 +73,7 @@ const getFallbackRealUser = (z, bundle) => {
// const getModulesChoices = (z/*, bundle*/) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const options = {
// url: bundle.authData.url + '/api/index.php/zapierapi/getmoduleschoices',
// url: bundle.authData.url + '/api/index.php/zapier/getmoduleschoices',
// };
// return z.request(options).then((response) => JSON.parse(response.content));
@ -93,7 +93,7 @@ const getFallbackRealUser = (z, bundle) => {
// // For the test poll, you should get some real data, to aid the setup process.
// const module = bundle.inputData.module;
// const options = {
// url: url: bundle.authData.url + '/api/index.php/zapierapi/getactionschoices/thirparty`,
// url: url: bundle.authData.url + '/api/index.php/zapier/getactionschoices/thirparty`,
// };
// return z.request(options).then((response) => JSON.parse(response.content));

View File

@ -21,24 +21,26 @@
*/
/**
* \file htdocs/adherents/agenda.php
* \ingroup member
* \brief Page of members events
* \file htdocs/adherents/agenda.php
* \ingroup member
* \brief Page of members events
*/
// Load Dolibarr environment
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php';
// Load translation files required by the page
$langs->loadLangs(array("companies", "members"));
$langs->loadLangs(array('companies', 'members'));
// Get Parameters
$id = GETPOST('id', 'int') ?GETPOST('id', 'int') : GETPOST('rowid', 'int');
// Pagination
$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'aZ09comma');
$sortorder = GETPOST('sortorder', 'aZ09comma');
@ -72,6 +74,7 @@ $objcanvas = null;
// Security check
$result = restrictedArea($user, 'adherent', $id);
// Initialize technical objects
$object = new Adherent($db);
$result = $object->fetch($id);
if ($result > 0) {
@ -116,9 +119,7 @@ $contactstatic = new Contact($db);
$form = new Form($db);
/*
* Customer and/or supplier category sheet
*/
if ($object->id > 0) {
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php';

View File

@ -139,7 +139,7 @@ $formldap = new FormLdap($db);
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?action=setvalue&token='.newToken().'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print dol_get_fiche_head($head, 'ldap', $langs->trans("LDAPSetup"), -1);
print dol_get_fiche_head($head, 'ldap', '', -1);
print '<table class="noborder centpercent">';
@ -245,7 +245,8 @@ print '</td><td class="maxwidthhalf"><span class="opacitymedium">'.$langs->trans
// Pass
print '<!-- LDAP_ADMIN_PASS -->';
print '<tr class="oddeven"><td>'.$langs->trans("LDAPPassword").'</td><td>';
print '<input class="minwidth150" type="password" name="pass" value="'.dol_escape_htmltag($conf->global->LDAP_ADMIN_PASS).'">';
print '<input class="minwidth150" type="password" name="pass" value="'.dol_escape_htmltag(getDolGlobalString('LDAP_ADMIN_PASS')).'">';
print showValueWithClipboardCPButton(getDolGlobalString('LDAP_ADMIN_PASS'), 0, '&nbsp;');
print '</td><td><span class="opacitymedium">'.$langs->trans('Password').' (ex: secret)</span></td></tr>';
print '</table>';

View File

@ -140,7 +140,7 @@ if (!function_exists("ldap_connect")) {
setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors');
}
print dol_get_fiche_head($head, 'contacts', $langs->trans("LDAPSetup"), -1);
print dol_get_fiche_head($head, 'contacts', '', -1);
print '<span class="opacitymedium">'.$langs->trans("LDAPDescContact").'</span><br>';

View File

@ -114,7 +114,7 @@ if (!function_exists("ldap_connect")) {
setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors');
}
print dol_get_fiche_head($head, 'groups', $langs->trans("LDAPSetup"), -1);
print dol_get_fiche_head($head, 'groups', '', -1);
print '<span class="opacitymedium">'.$langs->trans("LDAPDescGroups").'</span><br>';

View File

@ -188,7 +188,7 @@ if (!function_exists("ldap_connect")) {
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?action=setvalue&token='.newToken().'">';
print '<input type="hidden" name="token" value="'.newToken().'">';
print dol_get_fiche_head($head, 'members', $langs->trans("LDAPSetup"), -1);
print dol_get_fiche_head($head, 'members', '', -1);
print '<span class="opacitymedium">'.$langs->trans("LDAPDescMembers").'</span><br>';

View File

@ -106,7 +106,7 @@ if (!function_exists("ldap_connect")) {
setEventMessages($langs->trans("LDAPFunctionsNotAvailableOnPHP"), null, 'errors');
}
print dol_get_fiche_head($head, 'memberstypes', $langs->trans("LDAPSetup"), -1);
print dol_get_fiche_head($head, 'memberstypes', '', -1);
print '<span class="opacitymedium">'.$langs->trans("LDAPDescMembersTypes").'</span><br>';

View File

@ -178,7 +178,7 @@ print '<form method="post" action="'.$_SERVER["PHP_SELF"].'?action=setvalue&toke
print '<input type="hidden" name="token" value="'.newToken().'">';
print dol_get_fiche_head($head, 'users', $langs->trans("LDAPSetup"), -1);
print dol_get_fiche_head($head, 'users', '', -1);
print '<span class="opacitymedium">'.$langs->trans("LDAPDescUsers").'</span><br>';
print '<br>';

View File

@ -411,7 +411,7 @@ foreach ($configfileparameters as $key => $value) {
} elseif ($newkey == 'dolibarr_main_url_root' && preg_match('/__auto__/', ${$newkey})) {
print ${$newkey}.' => '.constant('DOL_MAIN_URL_ROOT');
} elseif ($newkey == 'dolibarr_main_document_root_alt') {
$tmparray = explode(',', ${$newkey});
$tmparray = explode(',', $dolibarr_main_document_root_alt);
$i = 0;
foreach ($tmparray as $value2) {
if ($i > 0) {
@ -429,7 +429,7 @@ foreach ($configfileparameters as $key => $value) {
global $dolibarr_main_cookie_cryptkey, $dolibarr_main_instance_unique_id;
$valuetoshow = $dolibarr_main_instance_unique_id ? $dolibarr_main_instance_unique_id : $dolibarr_main_cookie_cryptkey; // Use $dolibarr_main_instance_unique_id first then $dolibarr_main_cookie_cryptkey
if (empty($dolibarr_main_prod)) {
print '<!-- '.${$newkey}.' -->';
print '<!-- '.$dolibarr_main_instance_unique_id.' -->';
print showValueWithClipboardCPButton($valuetoshow, 0, '********');
} else {
print '**********';

View File

@ -36,7 +36,6 @@ if (!$user->admin) {
}
/*
* View
*/
@ -218,6 +217,14 @@ print "<td>".$name."</td>";
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
print "</tr>";
$functions = array();
$name = "zip";
print "<tr>";
print "<td>".$name."</td>";
print getResultColumn($name, $activatedExtensions, $loadedExtensions, $functions);
print "</tr>";
$functions = array();
$name = "xDebug";

View File

@ -1900,7 +1900,11 @@ if ($resql) {
if (!$i) {
$totalarray['pos'][$totalarray['nbfield']] = 'p.total_ht';
}
$totalarray['val']['p.total_ht'] += $obj->total_ht;
if (empty($totalarray['val']['p.total_ht'])) {
$totalarray['val']['p.total_ht'] = $obj->total_ht;
} else {
$totalarray['val']['p.total_ht'] += $obj->total_ht;
}
}
// Amount VAT
if (!empty($arrayfields['p.total_tva']['checked'])) {
@ -1911,7 +1915,11 @@ if ($resql) {
if (!$i) {
$totalarray['pos'][$totalarray['nbfield']] = 'p.total_tva';
}
$totalarray['val']['p.total_tva'] += $obj->total_tva;
if (empty($totalarray['val']['p.total_tva'])) {
$totalarray['val']['p.total_tva'] = $obj->total_tva;
} else {
$totalarray['val']['p.total_tva'] += $obj->total_tva;
}
}
// Amount TTC
if (!empty($arrayfields['p.total_ttc']['checked'])) {
@ -1922,7 +1930,11 @@ if ($resql) {
if (!$i) {
$totalarray['pos'][$totalarray['nbfield']] = 'p.total_ttc';
}
$totalarray['val']['p.total_ttc'] += $obj->total_ttc;
if (empty($totalarray['val']['p.total_ttc'])) {
$totalarray['val']['p.total_ttc'] = $obj->total_ttc;
} else {
$totalarray['val']['p.total_ttc'] += $obj->total_ttc;
}
}
// Amount invoiced HT
if (!empty($arrayfields['p.total_ht_invoiced']['checked'])) {
@ -1933,7 +1945,11 @@ if ($resql) {
if (!$i) {
$totalarray['pos'][$totalarray['nbfield']] = 'p.total_ht_invoiced';
}
$totalarray['val']['p.total_ht_invoiced'] += $totalInvoicedHT;
if (empty($totalarray['val']['p.total_ht_invoiced'])) {
$totalarray['val']['p.total_ht_invoiced'] = $totalInvoicedHT;
} else {
$totalarray['val']['p.total_ht_invoiced'] += $totalInvoicedHT;
}
}
// Amount invoiced TTC
if (!empty($arrayfields['p.total_invoiced']['checked'])) {
@ -1944,7 +1960,11 @@ if ($resql) {
if (!$i) {
$totalarray['pos'][$totalarray['nbfield']] = 'p.total_invoiced';
}
$totalarray['val']['p.total_invoiced'] += $totalInvoicedTTC;
if (empty($totalarray['val']['p.total_invoiced'])) {
$totalarray['val']['p.total_invoiced'] = $totalInvoicedTTC;
} else {
$totalarray['val']['p.total_invoiced'] += $totalInvoicedTTC;
}
}
// Currency
if (!empty($arrayfields['p.multicurrency_code']['checked'])) {

View File

@ -1283,9 +1283,9 @@ if ($resql) {
if ($massaction == 'createbills') {
print '<input type="hidden" name="massaction" value="confirm_createbills">';
print '<table class="noborder" width="100%" >';
print '<table class="noborder centpercent">';
print '<tr>';
print '<td class="titlefield">';
print '<td>';
print $langs->trans('DateInvoice');
print '</td>';
print '<td>';
@ -1320,12 +1320,11 @@ if ($resql) {
print '</tr>';
print '</table>';
print '<br>';
print '<div class="center">';
print '<input type="submit" class="button" id="createbills" name="createbills" value="'.$langs->trans('CreateInvoiceForThisCustomer').'"> ';
print '<input type="submit" class="button button-cancel" id="cancel" name="cancel" value="'.$langs->trans("Cancel").'">';
print '</div>';
print '<br>';
print '<br><br>';
}
if ($sall) {

View File

@ -451,87 +451,86 @@ if (empty($dirfortmpfile)) {
if ($result && $action == "dl" && !$error) {
if (!extension_loaded('zip')) {
setEventMessages('PHPZIPExtentionNotLoaded', null, 'errors');
exit;
}
} else {
dol_mkdir($dirfortmpfile);
dol_mkdir($dirfortmpfile);
$log = $langs->transnoentitiesnoconv("Type");
if (isModEnabled('multicompany') && is_object($mc)) {
$log .= ','.$langs->transnoentitiesnoconv("Entity");
}
$log .= ','.$langs->transnoentitiesnoconv("Date");
$log .= ','.$langs->transnoentitiesnoconv("DateDue");
$log .= ','.$langs->transnoentitiesnoconv("Ref");
$log .= ','.$langs->transnoentitiesnoconv("TotalHT");
$log .= ','.$langs->transnoentitiesnoconv("TotalTTC");
$log .= ','.$langs->transnoentitiesnoconv("TotalVAT");
$log .= ','.$langs->transnoentitiesnoconv("Paid");
$log .= ','.$langs->transnoentitiesnoconv("Document");
$log .= ','.$langs->transnoentitiesnoconv("ItemID");
$log .= ','.$langs->transnoentitiesnoconv("ThirdParty");
$log .= ','.$langs->transnoentitiesnoconv("Code");
$log .= ','.$langs->transnoentitiesnoconv("Country");
$log .= ','.$langs->transnoentitiesnoconv("VATIntra");
$log .= ','.$langs->transnoentitiesnoconv("Sens")."\n";
$zipname = $dirfortmpfile.'/'.dol_print_date($date_start, 'dayrfc', 'tzuserrel')."-".dol_print_date($date_stop, 'dayrfc', 'tzuserrel');
if (!empty($projectid)) {
$project = new Project($db);
$project->fetch($projectid);
if ($project->ref) {
$zipname .= '_'.$project->ref;
$log = $langs->transnoentitiesnoconv("Type");
if (isModEnabled('multicompany') && is_object($mc)) {
$log .= ','.$langs->transnoentitiesnoconv("Entity");
}
}
$zipname .='_export.zip';
dol_delete_file($zipname);
$zip = new ZipArchive;
$res = $zip->open($zipname, ZipArchive::OVERWRITE | ZipArchive::CREATE);
if ($res) {
foreach ($filesarray as $key => $file) {
if (!empty($file['files'])) {
foreach ($file['files'] as $filecursor) {
if (file_exists($filecursor["fullname"])) {
$zip->addFile($filecursor["fullname"], $filecursor["relpathnamelang"]);
}
}
$log .= ','.$langs->transnoentitiesnoconv("Date");
$log .= ','.$langs->transnoentitiesnoconv("DateDue");
$log .= ','.$langs->transnoentitiesnoconv("Ref");
$log .= ','.$langs->transnoentitiesnoconv("TotalHT");
$log .= ','.$langs->transnoentitiesnoconv("TotalTTC");
$log .= ','.$langs->transnoentitiesnoconv("TotalVAT");
$log .= ','.$langs->transnoentitiesnoconv("Paid");
$log .= ','.$langs->transnoentitiesnoconv("Document");
$log .= ','.$langs->transnoentitiesnoconv("ItemID");
$log .= ','.$langs->transnoentitiesnoconv("ThirdParty");
$log .= ','.$langs->transnoentitiesnoconv("Code");
$log .= ','.$langs->transnoentitiesnoconv("Country");
$log .= ','.$langs->transnoentitiesnoconv("VATIntra");
$log .= ','.$langs->transnoentitiesnoconv("Sens")."\n";
$zipname = $dirfortmpfile.'/'.dol_print_date($date_start, 'dayrfc', 'tzuserrel')."-".dol_print_date($date_stop, 'dayrfc', 'tzuserrel');
if (!empty($projectid)) {
$project = new Project($db);
$project->fetch($projectid);
if ($project->ref) {
$zipname .= '_'.$project->ref;
}
$log .= '"'.$langs->trans($file['item']).'"';
if (isModEnabled('multicompany') && is_object($mc)) {
$log .= ',"'.(empty($arrayofentities[$file['entity']]) ? $file['entity'] : $arrayofentities[$file['entity']]).'"';
}
$log .= ','.dol_print_date($file['date'], 'dayrfc');
$log .= ','.dol_print_date($file['date_due'], 'dayrfc');
$log .= ',"'.$file['ref'].'"';
$log .= ','.$file['amount_ht'];
$log .= ','.$file['amount_ttc'];
$log .= ','.$file['amount_vat'];
$log .= ','.$file['paid'];
$log .= ',"'.$file["name"].'"';
$log .= ','.$file['fk'];
$log .= ',"'.$file['thirdparty_name'].'"';
$log .= ',"'.$file['thirdparty_code'].'"';
$log .= ',"'.$file['country_code'].'"';
$log .= ',"'.$file['vatnum'].'"';
$log .= ',"'.$file['sens'].'"';
$log .= "\n";
}
$zip->addFromString('transactions.csv', $log);
$zip->close();
// Then download the zipped file.
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.basename($zipname));
header('Content-Length: '.filesize($zipname));
readfile($zipname);
$zipname .='_export.zip';
dol_delete_file($zipname);
exit();
} else {
setEventMessages($langs->trans("FailedToOpenFile", $zipname), null, 'errors');
$zip = new ZipArchive;
$res = $zip->open($zipname, ZipArchive::OVERWRITE | ZipArchive::CREATE);
if ($res) {
foreach ($filesarray as $key => $file) {
if (!empty($file['files'])) {
foreach ($file['files'] as $filecursor) {
if (file_exists($filecursor["fullname"])) {
$zip->addFile($filecursor["fullname"], $filecursor["relpathnamelang"]);
}
}
}
$log .= '"'.$langs->trans($file['item']).'"';
if (isModEnabled('multicompany') && is_object($mc)) {
$log .= ',"'.(empty($arrayofentities[$file['entity']]) ? $file['entity'] : $arrayofentities[$file['entity']]).'"';
}
$log .= ','.dol_print_date($file['date'], 'dayrfc');
$log .= ','.dol_print_date($file['date_due'], 'dayrfc');
$log .= ',"'.$file['ref'].'"';
$log .= ','.$file['amount_ht'];
$log .= ','.$file['amount_ttc'];
$log .= ','.$file['amount_vat'];
$log .= ','.$file['paid'];
$log .= ',"'.$file["name"].'"';
$log .= ','.$file['fk'];
$log .= ',"'.$file['thirdparty_name'].'"';
$log .= ',"'.$file['thirdparty_code'].'"';
$log .= ',"'.$file['country_code'].'"';
$log .= ',"'.$file['vatnum'].'"';
$log .= ',"'.$file['sens'].'"';
$log .= "\n";
}
$zip->addFromString('transactions.csv', $log);
$zip->close();
// Then download the zipped file.
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.basename($zipname));
header('Content-Length: '.filesize($zipname));
readfile($zipname);
dol_delete_file($zipname);
exit();
} else {
setEventMessages($langs->trans("FailedToOpenFile", $zipname), null, 'errors');
}
}
}

View File

@ -4453,7 +4453,7 @@ if ($action == 'create') {
if ($result > 0) {
print ' <span class="opacitymediumbycolor paddingleft">';
$s = $langs->trans("CreditNoteConvertedIntoDiscount", '{s1}', '{s2}');
$s = str_replace('{s1}', $object->getLibType(1), $s);
$s = str_replace('{s1}', $object->getLibType(0), $s);
$s = str_replace('{s2}', $discount->getNomUrl(1, 'discount'), $s);
print $s;
print '</span><br>';

View File

@ -612,7 +612,7 @@ class ChargeSociales extends CommonObject
}
$linkclose = '';
if (empty($notooltip) && $user->rights->facture->lire) {
if (empty($notooltip) && $user->hasRight("facture", "read")) {
if (!empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) {
$label = $langs->trans("SocialContribution");
$linkclose .= ' alt="'.dol_escape_htmltag($label, 1).'"';

View File

@ -345,8 +345,8 @@ class Tva extends CommonObject
$this->fk_user_creat = $obj->fk_user_creat;
$this->fk_user_modif = $obj->fk_user_modif;
$this->fk_account = $obj->fk_account;
$this->fk_type = $obj->fk_type;
$this->rappro = $obj->rappro;
$this->fk_type = empty($obj->fk_type) ? "" : $obj->fk_type;
$this->rappro = empty($obj->rappro) ? "" : $obj->rappro;
}
$this->db->free($resql);

View File

@ -55,6 +55,7 @@ $search_type = GETPOST('search_type', 'int');
$search_account = GETPOST('search_account', 'int');
$search_amount = GETPOST('search_amount', 'alpha');
$search_status = GETPOST('search_status', 'int');
$ltt = GETPOST("ltt", "int");
$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
$sortfield = GETPOST('sortfield', 'aZ09comma');
@ -278,6 +279,13 @@ if (!empty($search_amount)) {
if ($search_status != '' && $search_status != '-1') {
$param .= '&search_status='.urlencode($search_status);
}
$arrayofmassactions = array(
//'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendByMail"),
//'builddoc'=>img_picto('', 'pdf', 'class="pictofixedwidth"').$langs->trans("PDFMerge"),
);
$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
$moreforfilter = '';
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
if ($optioncss != '') {
@ -294,7 +302,7 @@ $url = DOL_URL_ROOT.'/compta/tva/card.php?action=create';
if (!empty($socid)) {
$url .= '&socid='.$socid;
}
$newcardbutton = dolGetButtonTitle($langs->trans('NewVATPayment', ($ltt + 1)), '', 'fa fa-plus-circle', $url, '', $user->rights->tax->charges->creer);
$newcardbutton = dolGetButtonTitle($langs->trans('NewVATPayment'), '', 'fa fa-plus-circle', $url, '', $user->rights->tax->charges->creer);
print_barre_liste($langs->trans("VATDeclarations"), $page, $_SERVER['PHP_SELF'], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_accountancy', 0, $newcardbutton, '', $limit, 0, 0, 1);
$varpage = empty($contextpage) ? $_SERVER['PHP_SELF'] : $contextpage;
@ -429,6 +437,9 @@ print '</tr>';
$i = 0;
$totalarray = array();
$totalarray['nbfield'] = 0;
$total = 0;
while ($i < min($num, $limit)) {
$obj = $db->fetch_object($resql);
@ -523,7 +534,11 @@ while ($i < min($num, $limit)) {
$totalarray['nbfield']++;
}
$totalarray['pos'][$totalarray['nbfield']] = 'amount';
$totalarray['val']['amount'] += $obj->amount;
if (empty($totalarray['val']['amount'])) {
$totalarray['val']['amount'] = $obj->amount;
} else {
$totalarray['val']['amount'] += $obj->amount;
}
}
if (!empty($arrayfields['t.status']['checked'])) {

View File

@ -42,6 +42,7 @@ $langs->loadLangs(array('compta', 'bills'));
$mode = GETPOST("mode", 'alpha');
$year = GETPOST("year", 'int');
$filtre = GETPOST("filtre", 'alpha');
$optioncss = GETPOST('optioncss', 'alpha');
if (!$year && $mode != 'tvaonly') {
$year = date("Y", time());
}
@ -113,6 +114,8 @@ print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
print '<input type="hidden" name="page" value="'.$page.'">';
print '<input type="hidden" name="mode" value="'.$mode.'">';
$center = '';
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $center, $num, $totalnboflines, 'title_accountancy', 0, '', '', $limit);
if ($year) {

View File

@ -2,9 +2,9 @@
// Dolibarr example for conf.php file
//
// Do not edit this file without changing its name.
// This file is an example of empty config file for Dolibarr than can be used to create "conf.php".
// This file is an example of empty config file for Dolibarr that can be used to create "conf.php".
//
// Warning: Be sure to not add line feed or spaces after closing php tag.
// Warning: Be sure not to add line feed or spaces after closing php tag!
//###################
@ -12,12 +12,14 @@
//###################
// dolibarr_main_url_root
// ======================
// This parameter defines the root URL of your Dolibarr index.php page without ending "/".
// It must link to the directory htdocs.
// It must link to the directory htdocs
// In most cases, this is autodetected but it's still required
// * to show full url bookmarks for some services (ie: agenda rss export url, ...)
// * or when using Apache dir aliases (autodetect fails)
// * or when using nginx (autodetect fails)
//
// Examples:
// $dolibarr_main_url_root='http://localhost';
// $dolibarr_main_url_root='http://mydolibarrvirtualhost';
@ -28,8 +30,9 @@ $dolibarr_main_url_root='';
// dolibarr_main_document_root
// This parameter contains absolute file system directory of Dolibarr
// htdocs directory
// ===========================
// This parameter contains absolute file system path of Dolibarr htdocs directory
//
// Examples:
// $dolibarr_main_document_root='/var/www/dolibarr/htdocs';
// $dolibarr_main_document_root='C:/My web sites/dolibarr/htdocs';
@ -38,10 +41,12 @@ $dolibarr_main_document_root='';
// dolibarr_main_url_root_alt
// ==========================
// This parameter defines the relative sub URLs to add to $dolibarr_main_url_root to
// forge alternative root directories (used by modules developers).
// You can put several values, separated by a coma, but number of entries must match
// number of entries into $dolibarr_main_document_root_alt.
//
// Examples:
// $dolibarr_main_url_root_alt='/custom';
// $dolibarr_main_url_root_alt='/extensions1,/extensions2';
@ -50,10 +55,11 @@ $dolibarr_main_document_root='';
// dolibarr_main_document_root_alt
// This parameter contains absolute alternative root file system directories (used by
// modules developers).
// ===============================
// This parameter contains absolute alternative root file system directories (used by modules developers).
// You can put several values, separated by a coma, but number of entries must match
// number of entries into $dolibarr_main_url_root_alt.
//
// Examples:
// $dolibarr_main_document_root_alt='/var/www/dolibarr/htdocs/custom';
// $dolibarr_main_document_root_alt='C:/My web sites/dolibarr/htdocs/extensions1,C:/My web sites/dolibarr/htdocs/extensions2';
@ -62,8 +68,10 @@ $dolibarr_main_document_root='';
// dolibarr_main_data_root
// =======================
// This parameter contains absolute file system directory of Dolibarr
// directory used to store uploaded and generated physical files.
//
// Examples:
// $dolibarr_main_data_root='/var/www/dolibarr/documents';
// $dolibarr_main_data_root='E:/My web sites/dolibarr/documents';
@ -72,8 +80,9 @@ $dolibarr_main_data_root='';
// dolibarr_main_db_host
// This parameter contains host name or ip address of Dolibarr database
// server.
// =====================
// This parameter contains host name or ip address of Dolibarr database server.
//
// Examples:
// $dolibarr_main_db_host='localhost';
// $dolibarr_main_db_host='127.0.0.1';
@ -84,7 +93,9 @@ $dolibarr_main_db_host='';
// dolibarr_main_db_port
// =====================
// This parameter contains the port of the Dolibarr database.
//
// Default value: none
// Examples:
// $dolibarr_main_db_host='3306';
@ -93,7 +104,9 @@ $dolibarr_main_db_port='';
// dolibarr_main_db_name
// =====================
// This parameter contains name of Dolibarr database.
//
// Examples:
// $dolibarr_main_db_name='dolibarr';
// $dolibarr_main_db_name='mydatabase';
@ -102,8 +115,9 @@ $dolibarr_main_db_name='';
// dolibarr_main_db_user
// This parameter contains user name used to read and write into
// Dolibarr database.
// =====================
// This parameter contains user name used to read and write into Dolibarr database.
//
// Examples:
// $dolibarr_main_db_user='admin';
// $dolibarr_main_db_user='dolibarruser';
@ -112,8 +126,9 @@ $dolibarr_main_db_user='';
// dolibarr_main_db_pass
// This parameter contains password used to read and write into
// Dolibarr database.
// =====================
// This parameter contains password used to read and write into Dolibarr database.
//
// Examples:
// $dolibarr_main_db_pass='myadminpass';
// $dolibarr_main_db_pass='myuserpassword';
@ -122,8 +137,9 @@ $dolibarr_main_db_pass='';
// dolibarr_main_db_type
// This parameter contains the name of the driver used to access your
// Dolibarr database.
// =====================
// This parameter contains the name of the driver used to access your Dolibarr database.
//
// Default value: none
// Possible values: mysqli, pgsql
// Examples:
@ -134,7 +150,9 @@ $dolibarr_main_db_type='';
// dolibarr_main_db_character_set
// ==============================
// Database character set used to store data (forced during database creation. value of database is then used).
//
// Default value: depends on database driver
// Examples:
// dolibarr_main_db_character_set='utf8';
@ -143,7 +161,9 @@ $dolibarr_main_db_character_set='utf8';
// dolibarr_main_db_collation
// ==========================
// Database character set used to sort data (forced during database creation. value of database is then used).
//
// Default value: depends on database driver
// Examples:
// $dolibarr_main_db_collation='utf8_unicode_ci';
@ -152,7 +172,8 @@ $dolibarr_main_db_collation='utf8_unicode_ci';
// dolibarr_main_db_readonly
// Set this to 1 to have the application working in readonly mode. All sql access INSERT/UPDATE/DELETE/CREATE/ALTER/TRUNCATE/DROP will be disabled.
// =========================
// Set this to 1 to have the application working in readonly mode. All SQL commands INSERT/UPDATE/DELETE/CREATE/ALTER/TRUNCATE/DROP will be disabled.
// Default value: 0
// Examples:
// $dolibarr_main_db_readonly='0';
@ -161,6 +182,7 @@ $dolibarr_main_db_readonly=0;
// dolibarr_main_instance_unique_id
// ================================
// An secret ID that is unique for each installation.
// This value is also visible and never propagated outside of Dolibarr, so it can be used as a salt / key for some encryption (For example to get
// a unique hashed key, application will hash the value concatenated with a string. Example: md5('dolibarr'+dolibarr_main_instance_unique_id)
@ -178,6 +200,7 @@ $dolibarr_main_instance_unique_id='84b5bc91f83b56e458db71e0adac2b62';
//##################
// dolibarr_main_authentication
// ============================
// This parameter contains the way authentication is done.
// If value "ldap" is used, you must also set parameters dolibarr_main_auth_ldap_*
// Default value: 'dolibarr'
@ -186,28 +209,29 @@ $dolibarr_main_instance_unique_id='84b5bc91f83b56e458db71e0adac2b62';
// values using a ",". In this case, Dolibarr will check login/pass for each value in
// order defined into value. However, note that this can't work with all values.
// Examples:
// $dolibarr_main_authentication='dolibarr'; // Use the password defined into application on user file (default).
// $dolibarr_main_authentication='http'; // Use the HTTP Basic authentication
// $dolibarr_main_authentication='ldap'; // Check the password into a LDAP server
// $dolibarr_main_authentication='ldap,dolibarr'; // You can set several mode using a comma as a separator.
// $dolibarr_main_authentication='forceuser'; // This need to add also $dolibarr_auto_user='loginforuser';
// $dolibarr_main_authentication='twofactor'; // To use Google Authenticator. This need the non official external module "Two Factor" available on www.dolistore.com
// $dolibarr_main_authentication='dolibarr'; // Use the password defined into application on user file (default).
// $dolibarr_main_authentication='http'; // Use the HTTP Basic authentication
// $dolibarr_main_authentication='ldap'; // Check the password into a LDAP server
// $dolibarr_main_authentication='ldap,dolibarr'; // You can set several mode using a comma as a separator.
// $dolibarr_main_authentication='forceuser'; // This need to add also $dolibarr_auto_user='loginforuser';
// $dolibarr_main_authentication='twofactor'; // To use Google Authenticator. This need the non official external module "Two Factor" available on www.dolistore.com
//
$dolibarr_main_authentication='dolibarr';
// Parameters used to setup LDAP authentication.
// Parameters used to setup LDAP authentication
// --------------------------------------------
// Uncomment them if dolibarr_main_authentication = 'ldap'
//
// $dolibarr_main_auth_ldap_host='127.0.0.1'; // You can define several servers here separated with a comma.
// $dolibarr_main_auth_ldap_port='389'; // Port
// $dolibarr_main_auth_ldap_version='3';
// $dolibarr_main_auth_ldap_servertype='openldap'; // openldap, activedirectory or egroupware
// $dolibarr_main_auth_ldap_login_attribute='loginfield'; // Ex: uid or samaccountname for active directory
// $dolibarr_main_auth_ldap_version='3'; // Version of LDAP
// $dolibarr_main_auth_ldap_servertype='openldap'; // openldap, activedirectory or egroupware
// $dolibarr_main_auth_ldap_login_attribute='loginfield'; // Ex: uid or samaccountname for active directory
// $dolibarr_main_auth_ldap_dn='ou=users,dc=my-domain,dc=com'; // Ex: ou=users,dc=my-domain,dc=com
// $dolibarr_main_auth_ldap_filter = ''; // If defined, the two previous parameters (dolibarr_main_auth_ldap_login_attribute and dolibarr_main_auth_ldap_dn) are not used to find a user into LDAP. Instead we use this search string. Ex: (uid=%1%) or &(uid=%1%)(isMemberOf=cn=Sales,ou=Groups,dc=opencsi,dc=com).
// $dolibarr_main_auth_ldap_admin_login=''; // Required only if anonymous bind disabled. Ex: cn=admin,dc=example,dc=com
// $dolibarr_main_auth_ldap_admin_pass=''; // Required only if anonymous bind disabled. Ex: secret
// $dolibarr_main_auth_ldap_admin_login=''; // Required only if anonymous bind disabled. Ex: cn=admin,dc=example,dc=com
// $dolibarr_main_auth_ldap_admin_pass=''; // Required only if anonymous bind disabled. Ex: secret
// $dolibarr_main_auth_ldap_debug='false';
@ -224,6 +248,7 @@ $dolibarr_main_authentication='dolibarr';
//##################
// dolibarr_main_force_https
// =========================
// This parameter allows to force the HTTPS mode.
// 0 = No forced redirect
// 1 = Force redirect to https, until SCRIPT_URI start with https into response
@ -241,6 +266,7 @@ $dolibarr_main_authentication='dolibarr';
$dolibarr_main_force_https='0';
// dolibarr_main_prod
// ==================
// When this parameter is defined, all errors messages are not reported.
// This feature exists for production usage to avoid to give any information to hackers.
// Default value: 1
@ -250,7 +276,8 @@ $dolibarr_main_force_https='0';
//
$dolibarr_main_prod='1';
// $dolibarr_main_restrict_os_commands
// dolibarr_main_restrict_os_commands
// ==================================
// To restrict commands you can execute by the backup feature, enter allowed command here.
// Note: If you can, defining permission on OS linux (using SELinux for example) may be a better choice.
// Default value: 'mysqldump, mysql, pg_dump, pgrestore'
@ -259,7 +286,8 @@ $dolibarr_main_prod='1';
//
$dolibarr_main_restrict_os_commands='mysqldump, mysql, pg_dump, pgrestore';
// $dolibarr_main_restrict_ip
// dolibarr_main_restrict_ip
// =========================
// To restrict access to backoffice to some ip addresses only. Use a comma to separate values.
// Note: Pages that does not need login (like public pages, web site) are not protected with this.
// Default value: ''
@ -269,6 +297,7 @@ $dolibarr_main_restrict_os_commands='mysqldump, mysql, pg_dump, pgrestore';
$dolibarr_main_restrict_ip='';
// dolibarr_nocsrfcheck
// ====================
// This parameter can be used to disable CSRF protection.
// This might be required if you access Dolibarr behind a proxy that make bad URL rewriting, to avoid false alarms.
// In most cases, you should always keep this to 0.
@ -280,6 +309,7 @@ $dolibarr_main_restrict_ip='';
$dolibarr_nocsrfcheck='0';
// dolibarr_cron_allow_cli
// =======================
// If set to 1, you will be able to define some command line in the internale Job scheduler module.
// Default value: '0'
// Examples: '1'
@ -287,6 +317,7 @@ $dolibarr_nocsrfcheck='0';
$dolibarr_cron_allow_cli='0';
// dolibarr_mailing_limit_sendbyweb
// ================================
// Can set a limit for mailing send by web. This overwrite database value. Can be used to restrict on system level.
// Default value: '25'
// Examples: '-1' (sending by web is forbidden)
@ -294,6 +325,7 @@ $dolibarr_cron_allow_cli='0';
// $dolibarr_mailing_limit_sendbyweb='25';
// dolibarr_mailing_limit_sendbycli
// ================================
// Can set a limit for mailing send by cli. This overwrite database value. Can be used to restrict on system level.
// Default value: '0' (no hard limit, use soft database value if exists)
// Examples: '-1' (sending by cli is forbidden)
@ -301,18 +333,21 @@ $dolibarr_cron_allow_cli='0';
// $dolibarr_mailing_limit_sendbycli='0';
// MAIN_ANTIVIRUS_COMMAND (as a constant)
// ======================
// Force a value for the antivirus command line tool so setup for admin user interface has no effect.
// Default value: ''
// Example: '/usr/bin/clamdscan';
// define('MAIN_ANTIVIRUS_COMMAND', '/usr/bin/clamdscan');
// MAIN_ANTIVIRUS_PARAM (as a constant)
// ====================
// Force a value for the antivirus parameters on command line so setup for admin user interface has no effect.
// Default value: ''
// Example: '--fdpass';
// define('MAIN_ANTIVIRUS_PARAM', '--fdpass');
// php_session_save_handler
// ========================
// Try to use the Dolibarr internal session handler that uses a database instead of the PHP handler (experimental).
// If you enable this feature to 'db', you may also want to enable the following constants:
// $dolibarr_session_db_type, $dolibarr_session_db_host, $dolibarr_session_db_user, $dolibarr_session_db_pass
@ -323,6 +358,7 @@ $dolibarr_cron_allow_cli='0';
// $php_session_save_handler='';
// force_install_lockinstall
// =========================
// If this value is set to a value, it forces the creation of a file install.lock once an upgrade process into a new version end.
// The value is the octal value of permission to set on created file.
// The file install.lock prevents the use of the migration process another time. You will have to delete it manually for
@ -338,11 +374,14 @@ $dolibarr_cron_allow_cli='0';
//##################
// dolibarr_main_db_prefix
// This parameter contains prefix of Dolibarr database. 'llx_' if not defined.
// =======================
// This parameter contains prefix of Dolibarr database.
// Default value: 'llx_' if not defined
// Examples:
// $dolibarr_main_db_prefix='llx_';
// dolibarr_main_limit_users
// =========================
// Can set a limit on the number of users it will be possible to create
// (the superadmin not included). Can be used for a restricted mode.
// Default value: 0 (unlimited)
@ -350,12 +389,14 @@ $dolibarr_cron_allow_cli='0';
// $dolibarr_main_limit_users='0';
// dolibarr_strict_mode
// ====================
// Set this to 1 to enable the PHP strict mode. For dev environment only.
// Default value: 0 (use database value if exist)
// Examples:
// $dolibarr_strict_mode=0;
// dolibarr_allow_download_external_modules
// ========================================
// Provide a link to download the zip of an external modules installed into custom directory from the web admin.
// Default value: 0
// Examples:
@ -376,17 +417,19 @@ $dolibarr_cron_allow_cli='0';
//$dolibarr_lib_NUSOAP_PATH='/usr/share/php/nusoap';
//$dolibarr_lib_ODTPHP_PATH='';
//$dolibarr_lib_ODTPHP_PATHTOPCLZIP="/usr/share/php/libphp-pclzip";
// Value to overwrite path to use shared javascript instead of embedded one
//$dolibarr_js_CKEDITOR='/javascript/ckeditor';
//$dolibarr_js_JQUERY='/javascript/jquery';
//$dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
// Value to overwrite some path to use font instead of embedded one
//$dolibarr_font_DOL_DEFAULT_TTF="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf";
//$dolibarr_font_DOL_DEFAULT_TTF_BOLD="/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf";
//##############################
// External module
// External modules
//##############################

View File

@ -300,8 +300,34 @@ if ($action == 'update' && !empty($permissiontoadd)) {
}
}
// Action to update one modulebuilder field
$reg = array();
if (preg_match('/^set(\w+)$/', $action, $reg) && GETPOST('id', 'int') > 0 && !empty($permissiontoadd)) {
$object->fetch(GETPOST('id', 'int'));
$keyforfield = $reg[1];
if (property_exists($object, $keyforfield)) {
if (!empty($object->fields[$keyforfield]) && in_array($object->fields[$keyforfield]['type'], array('date', 'datetime', 'timestamp'))) {
$object->$keyforfield = dol_mktime(GETPOST($keyforfield.'hour'), GETPOST($keyforfield.'min'), GETPOST($keyforfield.'sec'), GETPOST($keyforfield.'month'), GETPOST($keyforfield.'day'), GETPOST($keyforfield.'year'));
} else {
$object->$keyforfield = GETPOST($keyforfield);
}
$result = $object->update($user);
if ($result > 0) {
setEventMessages($langs->trans('RecordSaved'), null, 'mesgs');
$action = 'view';
} else {
$error++;
setEventMessages($object->error, $object->errors, 'errors');
$action = 'edit'.$reg[1];
}
}
}
// Action to update one extrafield
if ($action == "update_extras" && !empty($permissiontoadd)) {
if ($action == "update_extras" && GETPOST('id', 'int') > 0 && !empty($permissiontoadd)) {
$object->fetch(GETPOST('id', 'int'));
$attributekey = GETPOST('attribute', 'alpha');

View File

@ -211,7 +211,21 @@ class Form
// Check parameters
if (empty($typeofdata)) {
return 'ErrorBadParameter';
return 'ErrorBadParameter typeofdata is empty';
}
// Clean paramater $typeofdata
if ($typeofdata == 'datetime') {
$typeofdata = 'dayhour';
}
$reg = array();
if (preg_match('/^(\w+)\((\d+)\)$/', $typeofdata, $reg)) {
if ($reg[1] == 'varchar') {
$typeofdata = 'string';
} elseif ($reg[1] == 'int') {
$typeofdata = 'numeric';
} else {
return 'ErrorBadParameter '.$typeofdata;
}
}
// When option to edit inline is activated

View File

@ -1782,6 +1782,8 @@ class FormFile
$result = 0;
if (is_object($object_instance)) {
$object_instance->id = 0;
$object_instance->ref = '';
if ($id) {
$result = $object_instance->fetch($id);
} else {

View File

@ -2970,7 +2970,7 @@ function dol_check_secure_access_document($modulepart, $original_file, $entity,
$accessallowed = 1;
}
$original_file = $conf->resource->dir_output.'/'.$original_file;
} elseif ($modulepart == 'remisecheque' && !empty($conf->bank->dir_output)) {
} elseif (($modulepart == 'remisecheque' || $modulepart == 'chequereceipt') && !empty($conf->bank->dir_output)) {
// Wrapping pour les remises de cheques
if ($fuser->rights->banque->{$lire} || preg_match('/^specimen/i', $original_file)) {
$accessallowed = 1;

View File

@ -95,7 +95,7 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir =
// Edit class files
$contentclass = file_get_contents(dol_osencode($pathoffiletoeditsrc), 'r');
// Update ->fields (add or remove entries)
// Update ->fields (to add or remove entries defined into $addfieldentry)
if (count($object->fields)) {
if (is_array($addfieldentry) && count($addfieldentry)) {
$name = $addfieldentry['name'];
@ -133,6 +133,9 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir =
if (!empty($val['noteditable'])) {
$texttoinsert .= " 'noteditable'=>'".$val['noteditable']."',";
}
if (!empty($val['alwayseditable'])) {
$texttoinsert .= " 'alwayseditable'=>'".$val['alwayseditable']."',";
}
if (!empty($val['default']) || (isset($val['default']) && $val['default'] === '0')) {
$texttoinsert .= " 'default'=>'".$val['default']."',";
}
@ -189,6 +192,7 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir =
}
$texttoinsert .= "),\n";
//print $texttoinsert;
}
}
@ -212,14 +216,16 @@ function rebuildObjectClass($destdir, $module, $objectname, $newmask, $readdir =
$texttoinsert .= "\t".'// END MODULEBUILDER PROPERTIES';
//print($texttoinsert);exit;
//print($texttoinsert);
$contentclass = preg_replace('/\/\/ BEGIN MODULEBUILDER PROPERTIES.*END MODULEBUILDER PROPERTIES/ims', $texttoinsert, $contentclass);
//print $contentclass;
dol_mkdir(dirname($pathoffiletoedittarget));
//file_put_contents($pathoffiletoedittmp, $contentclass);
$result = file_put_contents(dol_osencode($pathoffiletoedittarget), $contentclass);
if ($result) {
@chmod($pathoffiletoedittarget, octdec($newmask));
} else {

View File

@ -62,7 +62,7 @@ function product_prepare_head($object)
if (!empty($object->status_buy) || (isModEnabled('margin') && !empty($object->status))) { // If margin is on and product on sell, we may need the cost price even if product os not on purchase
if ((((isModEnabled("fournisseur") && empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)) || isModEnabled("supplier_order") || isModEnabled("supplier_invoice")) && $user->rights->fournisseur->lire)
|| (isModEnabled('margin') && $user->rights->margin->liretous)
|| (isModEnabled('margin') && $user->hasRight("margin", "liretous"))
) {
if ($usercancreadprice) {
$head[$h][0] = DOL_URL_ROOT."/product/fournisseurs.php?id=".$object->id;

View File

@ -333,7 +333,7 @@ class DolibarrModules // Can not be abstract, because we need to instantiate it
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin;

View File

@ -48,9 +48,9 @@ class doc_generic_asset_odt extends ModelePDFAsset
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* @var string Dolibarr version of the loaded document

View File

@ -70,9 +70,9 @@ class pdf_standard_asset extends ModelePDFAsset
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -48,9 +48,9 @@ class doc_generic_bom_odt extends ModelePDFBom
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* @var string Dolibarr version of the loaded document

View File

@ -48,9 +48,9 @@ class doc_generic_order_odt extends ModelePDFCommandes
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -74,9 +74,9 @@ class pdf_einstein extends ModelePDFCommandes
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -74,9 +74,9 @@ class pdf_eratosthene extends ModelePDFCommandes
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -46,9 +46,9 @@ class doc_generic_contract_odt extends ModelePDFContract
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -67,9 +67,9 @@ class pdf_strato extends ModelePDFContract
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -66,9 +66,9 @@ class pdf_storm extends ModelePDFDeliveryOrder
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -65,9 +65,9 @@ class pdf_typhon extends ModelePDFDeliveryOrder
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -48,9 +48,9 @@ class doc_generic_shipment_odt extends ModelePdfExpedition
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -63,9 +63,9 @@ class pdf_espadon extends ModelePdfExpedition
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -64,9 +64,9 @@ class pdf_merou extends ModelePdfExpedition
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -64,9 +64,9 @@ class pdf_rouget extends ModelePdfExpedition
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -71,9 +71,9 @@ class pdf_standard extends ModeleExpenseReport
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -85,7 +85,7 @@ class ExportExcel2007 extends ModeleExports
$this->extension = 'xlsx'; // Extension for generated file by this driver
$this->picto = 'mime/xls'; // Picto
$this->version = '1.30'; // Driver version
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->disabled = 0;

View File

@ -47,9 +47,9 @@ class doc_generic_invoice_odt extends ModelePDFFactures
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -70,9 +70,9 @@ class pdf_crabe extends ModelePDFFactures
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -70,9 +70,9 @@ class pdf_sponge extends ModelePDFFactures
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -66,9 +66,9 @@ class pdf_soleil extends ModelePDFFicheinter
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -726,7 +726,7 @@ class ImportCsv extends ModeleImports
}
// Define $listfields and $listvalues to build SQL request
if ($conf->socialnetworks->enabled && strpos($fieldname, "socialnetworks") !== false) {
if (isModEnabled("socialnetworks") && strpos($fieldname, "socialnetworks") !== false) {
if (!in_array("socialnetworks", $listfields)) {
$listfields[] = "socialnetworks";
}
@ -840,7 +840,7 @@ class ImportCsv extends ModeleImports
foreach ($updatekeys as $key) {
$col = $objimport->array_import_updatekeys[0][$key];
$key = preg_replace('/^.*\./i', '', $key);
if ($conf->socialnetworks->enabled && strpos($key, "socialnetworks") !== false) {
if (isModEnabled("socialnetworks") && strpos($key, "socialnetworks") !== false) {
$tmp = explode("_", $key);
$key = $tmp[0];
$socialnetwork = $tmp[1];

View File

@ -43,9 +43,9 @@ class doc_generic_member_odt extends ModelePDFMember
/**
* @var array Minimum version of PHP required by module.
* e.g.: PHP 5.6 = array(5, 6)
* e.g.: PHP 7.0 = array(7, 0)
*/
public $phpmin = array(5, 6);
public $phpmin = array(7, 0);
/**
* Dolibarr version of the loaded document

View File

@ -66,7 +66,7 @@ class modAccounting extends DolibarrModules
$this->depends = array("modFacture", "modBanque", "modTax"); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->conflictwith = array("modComptabilite"); // List of modules are in conflict with this module
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 9); // Minimum version of Dolibarr required by module
$this->langfiles = array("accountancy", "compta");

View File

@ -74,7 +74,7 @@ class modAdherent extends DolibarrModules
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array('modMailmanSpip'); // List of module class names as string this module is in conflict with
$this->langfiles = array("members", "companies");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Constants
$this->const = array();

View File

@ -73,7 +73,7 @@ class modAgenda extends DolibarrModules
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->langfiles = array("companies");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Module parts
$this->module_parts = array();

View File

@ -83,7 +83,7 @@ class modApi extends DolibarrModules
$this->depends = array(); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array('modZapier'); // List of modules id to disable if this one is disabled
$this->conflictwith = array(); // List of modules id this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->langfiles = array("other");
// Constants

View File

@ -90,7 +90,7 @@ class modAsset extends DolibarrModules
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->langfiles = array("assets");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)

View File

@ -109,7 +109,7 @@ class modBom extends DolibarrModules
$this->requiredby = array('modMrp'); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...)
$this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...)
$this->langfiles = array("mrp");
//$this->phpmin = array(5, 6)); // Minimum version of PHP required by module
//$this->phpmin = array(7, 0)); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(9, 0); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)

View File

@ -162,17 +162,17 @@ class modContrat extends DolibarrModules
$this->export_icon[$r] = 'contract';
$this->export_permission[$r] = array(array("contrat", "export"));
$this->export_fields_array[$r] = array('s.rowid'=>"IdCompany", 's.nom'=>'CompanyName', 's.address'=>'Address', 's.zip'=>'Zip', 's.town'=>'Town', 'c.code'=>'CountryCode',
's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.code_compta'=>'CustomerAccountancyCode',
's.email'=>'Email', 's.phone'=>'Phone', 's.siren'=>'ProfId1', 's.siret'=>'ProfId2', 's.ape'=>'ProfId3', 's.idprof4'=>'ProfId4', 's.code_compta'=>'CustomerAccountancyCode',
's.code_compta_fournisseur'=>'SupplierAccountancyCode', 's.tva_intra'=>'VATIntra',
'co.rowid'=>"Id", 'co.ref'=>"Ref", 'co.datec'=>"DateCreation", 'co.date_contrat'=>"DateContract",
'co.fin_validite'=>"ContractEndDate", 'co.date_cloture'=>"Closing", 'co.note_private'=>"NotePrivate", 'co.note_public'=>"NotePublic",
'co.fin_validite'=>"ContractEndDate", 'co.date_cloture'=>"DateClosing", 'co.note_private'=>"NotePrivate", 'co.note_public'=>"NotePublic",
'cod.rowid'=>'LineId', 'cod.label'=>"LineLabel", 'cod.description'=>"LineDescription", 'cod.price_ht'=>"LineUnitPrice", 'cod.tva_tx'=>"LineVATRate",
'cod.qty'=>"LineQty", 'cod.total_ht'=>"LineTotalHT", 'cod.total_tva'=>"LineTotalVAT", 'cod.total_ttc'=>"LineTotalTTC",
'cod.date_ouverture'=>"DateStart", 'cod.date_ouverture_prevue'=>"DateStartPlanned", 'cod.date_fin_validite'=>"DateEndPlanned", 'cod.date_cloture'=>"DateEnd",
'p.rowid'=>'ProductId', 'p.ref'=>'ProductRef', 'p.label'=>'ProductLabel');
$this->export_entities_array[$r] = array('s.rowid'=>"company", 's.nom'=>'company', 's.address'=>'company', 's.zip'=>'company',
's.town'=>'company', 'c.code'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', 's.ape'=>'company',
's.town'=>'company', 'c.code'=>'company', 's.email'=>'company', 's.phone'=>'company', 's.siren'=>'company', 's.siret'=>'company', 's.ape'=>'company',
's.idprof4'=>'company', 's.code_compta'=>'company', 's.code_compta_fournisseur'=>'company', 's.tva_intra'=>'company',
'co.rowid'=>"contract", 'co.ref'=>"contract", 'co.datec'=>"contract", 'co.date_contrat'=>"contract",
'co.fin_validite'=>"contract", 'co.date_cloture'=>"contract", 'co.note_private'=>"contract", 'co.note_public'=>"contract",
@ -182,7 +182,7 @@ class modContrat extends DolibarrModules
'p.rowid'=>'product', 'p.ref'=>'product', 'p.label'=>'product');
$this->export_TypeFields_array[$r] = array('s.rowid'=>"Numeric", 's.nom'=>'Text', 's.address'=>'Text', 's.zip'=>'Text', 's.town'=>'Text', 'c.code'=>'Text',
's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.code_compta'=>'Text',
's.email'=>'Text', 's.phone'=>'Text', 's.siren'=>'Text', 's.siret'=>'Text', 's.ape'=>'Text', 's.idprof4'=>'Text', 's.code_compta'=>'Text',
's.code_compta_fournisseur'=>'Text', 's.tva_intra'=>'Text',
'co.ref'=>"Text", 'co.datec'=>"Date", 'co.date_contrat'=>"Date",
'co.fin_validite'=>"Date", 'co.date_cloture'=>"Date", 'co.note_private'=>"Text", 'co.note_public'=>"Text",

View File

@ -107,7 +107,7 @@ class modDataPolicy extends DolibarrModules {
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->langfiles = array("datapolicy");
$this->phpmin = array(5, 3); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(4, 0); // Minimum version of Dolibarr required by module
$this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
//$this->automatic_activation = array('FR'=>'datapolicyWasAutomaticallyActivatedBecauseOfYourCountryChoice');

View File

@ -91,7 +91,7 @@ class modDav extends DolibarrModules
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->langfiles = array("admin");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)

View File

@ -91,7 +91,7 @@ class modEmailCollector extends DolibarrModules
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->langfiles = array("admin");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(7, 0); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)

View File

@ -123,7 +123,7 @@ class modEventOrganization extends DolibarrModules
$this->langfiles = array("eventorganization");
// Prerequisites
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(13, -3); // Minimum version of Dolibarr required by module
// Messages at activation

View File

@ -65,7 +65,7 @@ class modExpenseReport extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
// $this->conflictwith = array("modDeplacement"); // Deactivate for access on old information
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 7); // Minimum version of Dolibarr required by module
$this->langfiles = array("companies", "trips");

View File

@ -62,7 +62,7 @@ class modExport extends DolibarrModules
// Dependencies
$this->depends = array();
$this->requiredby = array();
$this->phpmin = array(4, 2, 0);
$this->phpmin = array(7, 0);
$this->phpmax = array();
// Constants

View File

@ -63,7 +63,7 @@ class modExternalRss extends DolibarrModules
// Dependencies
$this->depends = array();
$this->requiredby = array();
$this->phpmin = array(4, 2, 0);
$this->phpmin = array(7, 0);
$this->phpmax = array();
// Constants

View File

@ -69,7 +69,7 @@ class modGeoIPMaxmind extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6);
$this->phpmin = array(7, 0);
$this->phpmax = array();
$this->need_dolibarr_version = array(2, 7, -1); // Minimum version of Dolibarr required by module
$this->need_javascript_ajax = 1;

View File

@ -77,7 +77,7 @@ class modGravatar extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(2, 7); // Minimum version of Dolibarr required by module
$this->langfiles = array();

View File

@ -105,7 +105,7 @@ class modHRM extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(11, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("hrm");

View File

@ -87,7 +87,7 @@ class modHoliday extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("holiday");

View File

@ -64,7 +64,7 @@ class modImport extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module - Need auto_detect_line_endings php option to solve MAC pbs.
$this->phpmin = array(7, 0); // Minimum version of PHP required by module - Need auto_detect_line_endings php option to solve MAC pbs.
$this->phpmax = array();
$this->need_dolibarr_version = array(2, 7, -1); // Minimum version of Dolibarr required by module
$this->need_javascript_ajax = 1;

View File

@ -68,7 +68,7 @@ class modIncoterm extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("incoterm");

View File

@ -65,7 +65,7 @@ class modIntracommreport extends DolibarrModules
$this->depends = array("modFacture", "modTax", "modCategorie"); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->conflictwith = array(); // List of modules id this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(13, 0, -5); // Minimum version of Dolibarr required by module
$this->langfiles = array("intracommreport");

View File

@ -140,7 +140,7 @@ class modKnowledgeManagement extends DolibarrModules
$this->langfiles = array("knowledgemanagement");
// Prerequisites
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module
// Messages at activation

View File

@ -61,7 +61,7 @@ class modLabel extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Config pages
// $this->config_page_url = array("label.php");

View File

@ -67,7 +67,7 @@ class modLdap extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Constants
$this->const = array(

View File

@ -67,7 +67,7 @@ class modLoan extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->langfiles = array("loan");
// Constants

View File

@ -66,7 +66,7 @@ class modMailing extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->langfiles = array("mails");
// Config pages

View File

@ -66,7 +66,7 @@ class modMailmanSpip extends DolibarrModules
$this->depends = array('modAdherent'); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Config pages
$this->config_page_url = array('mailman.php');

View File

@ -72,7 +72,7 @@ class modMargin extends DolibarrModules
$this->depends = array("modPropale", "modProduct"); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 2); // Minimum version of Dolibarr required by module
$this->langfiles = array("margins");

View File

@ -122,7 +122,7 @@ class modMrp extends DolibarrModules
$this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...)
$this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...)
$this->langfiles = array("mrp");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(8, 0); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)

View File

@ -88,7 +88,7 @@ class modMultiCurrency extends DolibarrModules
$this->depends = array(); // List of modules id that must be enabled if this module is enabled
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->conflictwith = array(); // List of modules id this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("multicurrency");

View File

@ -63,7 +63,7 @@ class modNotification extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->langfiles = array("mails");
// Config pages

View File

@ -71,7 +71,7 @@ class modOauth extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 7, -2); // Minimum version of Dolibarr required by module
$this->conflictwith = array();
$this->langfiles = array("oauth");

View File

@ -76,7 +76,7 @@ class modOpenSurvey extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 4, 0); // Minimum version of Dolibarr required by module
// Constants

View File

@ -147,7 +147,7 @@ class modPartnership extends DolibarrModules
$this->langfiles = array("partnership");
// Prerequisites
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module
// Messages at activation

View File

@ -73,7 +73,7 @@ class modPayBox extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(2, 6); // Minimum version of Dolibarr required by module
$this->langfiles = array("paybox");

View File

@ -68,7 +68,7 @@ class modPaymentByBankTransfer extends DolibarrModules
$this->depends = array("modFournisseur", "modBanque"); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Config pages
$this->config_page_url = array("paymentbybanktransfer.php");

View File

@ -74,7 +74,7 @@ class modPaypal extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array('modPaypalPlus'); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("paypal");

View File

@ -67,7 +67,7 @@ class modPrelevement extends DolibarrModules
$this->depends = array("modFacture", "modBanque"); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Config pages
$this->config_page_url = array("prelevement.php");

View File

@ -69,7 +69,7 @@ class modPrinting extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 7, -2); // Minimum version of Dolibarr required by module
$this->conflictwith = array();
$this->langfiles = array("printing");

View File

@ -70,7 +70,7 @@ class modProduct extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array("modStock", "modBarcode", "modProductBatch", "modVariants"); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
// Config pages
$this->config_page_url = array("product.php@product");

View File

@ -72,7 +72,7 @@ class modProductBatch extends DolibarrModules
$this->depends = array("modProduct", "modStock", "modExpedition", "modFournisseur"); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 0); // Minimum version of Dolibarr required by module
$this->langfiles = array("productbatch");

View File

@ -68,7 +68,7 @@ class modProjet extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array('modEventOrganization'); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->langfiles = array('projects');
// Constants

View File

@ -68,7 +68,7 @@ class modPropale extends DolibarrModules
$this->depends = array("modSociete"); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->config_page_url = array("propal.php");
$this->langfiles = array("propal", "bills", "companies", "deliveries", "products");

View File

@ -71,7 +71,7 @@ class modReceiptPrinter extends DolibarrModules
$this->depends = array(); // List of module class names as string that must be enabled if this module is enabled
$this->requiredby = array(); // List of module ids to disable if this one is disabled
$this->conflictwith = array(); // List of module class names as string this module is in conflict with
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3, 9, -2); // Minimum version of Dolibarr required by module
$this->conflictwith = array();
$this->langfiles = array("receiptprinter");

View File

@ -122,7 +122,7 @@ class modRecruitment extends DolibarrModules
$this->requiredby = array(); // List of module class names as string to disable if this one is disabled. Example: array('modModuleToDisable1', ...)
$this->conflictwith = array(); // List of module class names as string this module is in conflict with. Example: array('modModuleToDisable1', ...)
$this->langfiles = array("recruitment");
$this->phpmin = array(5, 6); // Minimum version of PHP required by module
$this->phpmin = array(7, 0); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(11, -3); // Minimum version of Dolibarr required by module
$this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...)
$this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...)

Some files were not shown because too many files have changed in this diff Show More