diff --git a/ChangeLog b/ChangeLog
index e1030fa18de..4ca56665cee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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:
diff --git a/htdocs/adherents/agenda.php b/htdocs/adherents/agenda.php
index ef1daf0b6c8..e13211fb239 100644
--- a/htdocs/adherents/agenda.php
+++ b/htdocs/adherents/agenda.php
@@ -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';
diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php
index f08333549a8..d6760ef45e8 100644
--- a/htdocs/admin/company.php
+++ b/htdocs/admin/company.php
@@ -479,11 +479,15 @@ if (isModEnabled('barcode')) {
print '';
}
-// Logo
-print '
';
-print '
';
+// Tooltip for both Logo and LogSquarred
+$tooltiplogo = $langs->trans('AvailableFormats').' : png, jpg, jpeg';
$maxfilesizearray = getMaxFileSizeArray();
$maxmin = $maxfilesizearray['maxmin'];
+$tooltiplogo .= ($maxmin > 0) ? ' '.$langs->trans('MaxSize').' : '.$maxmin.' '.$langs->trans('Kb') : '';
+
+// Logo
+print '
';
+print '
';
if ($maxmin > 0) {
print ''; // MAX_FILE_SIZE must precede the field type=file
}
@@ -522,7 +526,7 @@ print '
';
print '
';
// Logo (squarred)
-print '
';
+print '
';
print '
';
$maxfilesizearray = getMaxFileSizeArray();
$maxmin = $maxfilesizearray['maxmin'];
diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example
index 4090130bc36..05c29459ee2 100644
--- a/htdocs/conf/conf.php.example
+++ b/htdocs/conf/conf.php.example
@@ -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
//##############################
diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 80cd8bb79e2..a0067925334 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -179,7 +179,7 @@ class FormFile
if (!empty($conf->global->MAIN_UPLOAD_DOC)) {
if ($perm) {
- $menudolibarrsetupmax = $langs->transnoentitiesnoconv("Home").'-'.$langs->transnoentitiesnoconv("Setup").'-'.$langs->transnoentitiesnoconv("Security");
+ $menudolibarrsetupmax = $langs->transnoentitiesnoconv("Home").' - '.$langs->transnoentitiesnoconv("Setup").' - '.$langs->transnoentitiesnoconv("Security");
$langs->load('other');
$out .= ' ';
$out .= info_admin($langs->trans("ThisLimitIsDefinedInSetupAt", $menudolibarrsetupmax, $max, $maxphptoshowparam, $maxphptoshow), 1);
diff --git a/htdocs/install/doctemplates/websites/website_template-style02.zip b/htdocs/install/doctemplates/websites/website_template-style02.zip
new file mode 100644
index 00000000000..4a5a0a7eacb
Binary files /dev/null and b/htdocs/install/doctemplates/websites/website_template-style02.zip differ
diff --git a/htdocs/install/doctemplates/websites/website_template-style03.zip b/htdocs/install/doctemplates/websites/website_template-style03.zip
index f2a7684cc4e..18266bd18d9 100644
Binary files a/htdocs/install/doctemplates/websites/website_template-style03.zip and b/htdocs/install/doctemplates/websites/website_template-style03.zip differ