diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example
index 46243a0b4d0..4b04789c404 100644
--- a/htdocs/conf/conf.php.example
+++ b/htdocs/conf/conf.php.example
@@ -253,12 +253,24 @@ $dolibarr_main_prod='0';
# Path to external libraries #
##############################
+# Value to overwrite path to use shared libraries instead of embedded one
+#$dolibarr_lib_ADODB_PATH='';
+# Value to overwrite path to use shared libraries instead of embedded one
+#$dolibarr_lib_TCPDF_PATH='';
+# Value to overwrite path to use shared libraries instead of embedded one
+#$dolibarr_lib_FPDFI_PATH='';
+# Value to overwrite path to use shared libraries instead of embedded one
+#$dolibarr_lib_NUSOAP_PATH='';
+# Value to overwrite path to use shared libraries instead of embedded one
+#$dolibarr_lib_PHPEXCEL_PATH='';
# Value to overwrite path to use shared libraries instead of embedded one
#$dolibarr_lib_GEOIP_PATH='';
-
+# Value to overwrite path to use shared libraries instead of embedded one
+#$dolibarr_lib_ODTPHP_PATH='';
# Value to overwrite some path to use shared libraries instead of embedded one
#$dolibarr_lib_ODTPHP_PATHTOPCLZIP="/usr/share/php/libphp-pclzip";
+
##############################
# Path to external font #
##############################
diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php
index b2e043939f8..df1c52a7722 100755
--- a/htdocs/filefunc.inc.php
+++ b/htdocs/filefunc.inc.php
@@ -26,7 +26,7 @@
/**
* \file htdocs/filefunc.inc.php
* \ingroup core
- * \brief File that include conf.php file and functions.lib.php
+ * \brief File that include conf.php file and commons lib like functions.lib.php
*/
define('DOL_VERSION','3.2.0-alpha'); // Also defined in htdocs/install/inc.php (Ex: x.y.z-alpha, x.y.z)
@@ -175,10 +175,35 @@ if (! empty($dolibarr_main_url_root_alt))
define('MAIN_DB_PREFIX',$dolibarr_main_db_prefix);
//print DOL_URL_ROOT.'-'.DOL_URL_ROOT_ALT;
+
+/*
+ * Define PATH to external libraries
+ * To use other version than embeded libraries, define here constant to path. Use '' to use include class path autodetect.
+ */
+// Path to root libraries
+if (! defined('ADODB_PATH')) { define('ADODB_PATH', (!isset($dolibarr_lib_ADODB_PATH))?DOL_DOCUMENT_ROOT .'/includes/adodbtime/':(empty($dolibarr_lib_ADODB_PATH)?'':$dolibarr_lib_ADODB_PATH.'/')); }
+if (! defined('TCPDF_PATH')) { define('TCPDF_PATH', (!isset($dolibarr_lib_TCPDF_PATH))?DOL_DOCUMENT_ROOT .'/includes/tcpdf/':(empty($dolibarr_lib_TCPDF_PATH)?'':$dolibarr_lib_TCPDF_PATH.'/')); }
+if (! defined('FPDFI_PATH')) { define('FPDFI_PATH', (!isset($dolibarr_lib_FPDFI_PATH))?DOL_DOCUMENT_ROOT .'/includes/fpdfi/':(empty($dolibarr_lib_FPDFI_PATH)?'':$dolibarr_lib_FPDFI_PATH.'/')); }
+if (! defined('NUSOAP_PATH')) { define('NUSOAP_PATH', (!isset($dolibarr_lib_NUSOAP_PATH))?DOL_DOCUMENT_ROOT .'/includes/nusoap/lib/':(empty($dolibarr_lib_NUSOAP_PATH)?'':$dolibarr_lib_NUSOAP_PATH.'/')); }
+if (! defined('PHPEXCEL_PATH')) { define('PHPEXCEL_PATH', (!isset($dolibarr_lib_PHPEXCEL_PATH))?DOL_DOCUMENT_ROOT .'/includes/phpexcel/':(empty($dolibarr_lib_PHPEXCEL_PATH)?'':$dolibarr_lib_PHPEXCEL_PATH.'/')); }
+if (! defined('GEOIP_PATH')) { define('GEOIP_PATH', (!isset($dolibarr_lib_GEOIP_PATH))?DOL_DOCUMENT_ROOT.'/includes/geoip/':(empty($dolibarr_lib_GEOIP_PATH)?'':$dolibarr_lib_GEOIP_PATH.'/')); }
+if (! defined('ODTPHP_PATH')) { define('ODTPHP_PATH', (!isset($dolibarr_lib_ODTPHP_PATH))?DOL_DOCUMENT_ROOT.'/includes/odtphp/':(empty($dolibarr_lib_ODTPHP_PATH)?'':$dolibarr_lib_ODTPHP_PATH.'/')); }
+if (! defined('ODTPHP_PATHTOPCLZIP')) { define('ODTPHP_PATHTOPCLZIP', (!isset($dolibarr_lib_ODTPHP_PATHTOPCLZIP))?DOL_DOCUMENT_ROOT.'/includes/odtphp/zip/pclzip/':(empty($dolibarr_lib_ODTPHP_PATHTOPCLZIP)?'':$dolibarr_lib_ODTPHP_PATHTOPCLZIP.'/')); }
+if (! defined('ARTICHOW_FONT')) { define('ARTICHOW_FONT', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD))?DOL_DOCUMENT_ROOT.'/includes/artichow/font':dirname($dolibarr_font_DOL_DEFAULT_TTF_BOLD)); }
+// Other required path
+if (! defined('ARTICHOW_FONT_NAMES')) { define('ARTICHOW_FONT_NAMES', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD))?'Tuffy,TuffyBold,TuffyBoldItalic,TuffyItalic':'DejaVuSans,DejaVuSans-Bold,DejaVuSans-BoldOblique,DejaVuSans-Oblique'); }
+if (! defined('DOL_DEFAULT_TTF')) { define('DOL_DEFAULT_TTF', (!isset($dolibarr_font_DOL_DEFAULT_TTF))?DOL_DOCUMENT_ROOT.'/includes/barcode/php-barcode/fonts/Aerial.ttf':(empty($dolibarr_font_DOL_DEFAULT_TTF)?'':$dolibarr_font_DOL_DEFAULT_TTF)); }
+if (! defined('DOL_DEFAULT_TTF_BOLD')) { define('DOL_DEFAULT_TTF_BOLD', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD))?DOL_DOCUMENT_ROOT.'/includes/barcode/php-barcode/fonts/AerialBd.ttf':(empty($dolibarr_font_DOL_DEFAULT_TTF_BOLD)?'':$dolibarr_font_DOL_DEFAULT_TTF_BOLD)); }
+// Old path to root deprecated (no more used).
+//if (! defined('FPDF_PATH')) { define('FPDF_PATH', DOL_DOCUMENT_ROOT .'/includes/fpdf/fpdf/'); }
+
+
/*
* Include functions
*/
+if (! defined('ADODB_DATE_VERSION')) include_once(ADODB_PATH.'adodb-time.inc.php');
+
if (! file_exists(DOL_DOCUMENT_ROOT ."/lib/functions.lib.php"))
{
print "Error: Dolibarr config file content seems to be not correctly defined.
\n";
diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php
index a5be98dad77..794e2d8ca39 100644
--- a/htdocs/install/inc.php
+++ b/htdocs/install/inc.php
@@ -2,7 +2,7 @@
/* Copyright (C) 2004 Rodolphe Quiedeville
* Copyright (C) 2004 Benoit Mortier
* Copyright (C) 2004 Sebastien DiCintio
- * Copyright (C) 2007-2010 Laurent Destailleur
+ * Copyright (C) 2007-2011 Laurent Destailleur
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -25,12 +25,20 @@
define('DOL_VERSION','3.2.0-alpha'); // Also defined in htdocs/master.inc.php (Ex: x.y.z-alpha, x.y.z)
+// Define DOL_DOCUMENT_ROOT an ADODB_PATH used for install/upgrade process
+if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '..');
+if (! defined('ADODB_PATH'))
+{
+ $foundpath=DOL_DOCUMENT_ROOT .'/includes/adodbtime/';
+ if (! is_dir($foundpath)) $foundpath='/usr/share/php/adodb/';
+ define('ADODB_PATH', $foundpath);
+}
+
require_once('../core/class/translate.class.php');
require_once('../lib/functions.lib.php');
require_once('../lib/admin.lib.php');
require_once('../lib/files.lib.php');
-
-// DOL_DOCUMENT_ROOT has been defined in function.inc.php to '..'
+require_once(ADODB_PATH.'adodb-time.inc.php');
error_reporting(E_ALL); // To have all errors without disabled E_STRICT
diff --git a/htdocs/lib/databases/mssql.lib.php b/htdocs/lib/databases/mssql.lib.php
index 7b8cc68f989..e65412d6200 100644
--- a/htdocs/lib/databases/mssql.lib.php
+++ b/htdocs/lib/databases/mssql.lib.php
@@ -23,10 +23,6 @@
* \brief Fichier de la classe permettant de gerer une base mssql
*/
-// Pour compatibilite lors de l'upgrade
-if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '../..');
-if (! defined('ADODB_DATE_VERSION')) include_once(DOL_DOCUMENT_ROOT."/includes/adodbtime/adodb-time.inc.php");
-
/**
* \class DoliDb
diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php
index 3afd7d21782..bef1c28db4c 100644
--- a/htdocs/lib/databases/mysql.lib.php
+++ b/htdocs/lib/databases/mysql.lib.php
@@ -23,9 +23,6 @@
* \file htdocs/lib/databases/mysql.lib.php
* \brief Class file to manage Dolibarr database access for a Mysql database
*/
-// For compatibility during upgrade
-if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '../..');
-if (! defined('ADODB_DATE_VERSION')) include_once(DOL_DOCUMENT_ROOT."/includes/adodbtime/adodb-time.inc.php");
/**
diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php
index 8af16e47efe..b39d03a7de6 100644
--- a/htdocs/lib/databases/mysqli.lib.php
+++ b/htdocs/lib/databases/mysqli.lib.php
@@ -24,10 +24,6 @@
* \brief Class file to manage Dolibarr database access for a Mysql database
*/
-// For compatibility during upgrade
-if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '../..');
-if (! defined('ADODB_DATE_VERSION')) include_once(DOL_DOCUMENT_ROOT."/includes/adodbtime/adodb-time.inc.php");
-
/**
* \class DoliDb
diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php
index 98723a7f989..a0d2548028f 100644
--- a/htdocs/lib/databases/pgsql.lib.php
+++ b/htdocs/lib/databases/pgsql.lib.php
@@ -24,9 +24,6 @@
* \file htdocs/lib/databases/pgsql.lib.php
* \brief Fichier de la classe permettant de gerer une base pgsql
*/
-// For compatibility during upgrade
-if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '../..');
-if (! defined('ADODB_DATE_VERSION')) include_once(DOL_DOCUMENT_ROOT."/includes/adodbtime/adodb-time.inc.php");
/**
diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php
index 7d6fc9f3fd1..4c247872bca 100644
--- a/htdocs/lib/functions.lib.php
+++ b/htdocs/lib/functions.lib.php
@@ -30,9 +30,6 @@
* This file contains all frequently used functions.
*/
-// For compatibility during upgrade
-if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '..');
-if (! defined('ADODB_DATE_VERSION')) include_once(DOL_DOCUMENT_ROOT."/includes/adodbtime/adodb-time.inc.php");
/**
* This function output memory used by PHP and exit everything. Used for debugging purpose.
diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php
index e2b90c5e756..81edaa64666 100644
--- a/htdocs/master.inc.php
+++ b/htdocs/master.inc.php
@@ -35,7 +35,6 @@
require_once("filefunc.inc.php"); // May have been already require by main.inc.php. But may not by scripts.
-
/*
* Create $conf object
*/
@@ -287,25 +286,4 @@ if (! defined('NOREQUIRETRAN'))
if (! defined('MAIN_LABEL_MENTION_NPR') ) define('MAIN_LABEL_MENTION_NPR','NPR');
-/*
- * To us other version of external libraries than embeded libraries, define here
- * constant to path. Use '' to use include class path autodetect.
- */
-// Path to root libraries
-if (! defined('TCPDF_PATH')) { define('TCPDF_PATH', DOL_DOCUMENT_ROOT .'/includes/tcpdf/'); }
-if (! defined('FPDFI_PATH')) { define('FPDFI_PATH', DOL_DOCUMENT_ROOT .'/includes/fpdfi/'); }
-if (! defined('NUSOAP_PATH')) { define('NUSOAP_PATH', DOL_DOCUMENT_ROOT .'/includes/nusoap/lib/'); }
-if (! defined('PHPEXCEL_PATH')) { define('PHPEXCEL_PATH', DOL_DOCUMENT_ROOT .'/includes/phpexcel/'); }
-if (! defined('GEOIP_PATH')) { define('GEOIP_PATH', (!isset($dolibarr_lib_GEOIP_PATH))?DOL_DOCUMENT_ROOT.'/includes/geoip/':(empty($dolibarr_lib_GEOIP_PATH)?'':$dolibarr_lib_GEOIP_PATH.'/')); }
-if (! defined('ODTPHP_PATH')) { define('ODTPHP_PATH', (!isset($dolibarr_lib_ODTPHP_PATH))?DOL_DOCUMENT_ROOT.'/includes/odtphp/':(empty($dolibarr_lib_GEOIP_PATH)?'':$dolibarr_lib_ODTPHP_PATH.'/')); }
-if (! defined('ODTPHP_PATHTOPCLZIP')) { define('ODTPHP_PATHTOPCLZIP', (!isset($dolibarr_lib_ODTPHP_PATHTOPCLZIP))?DOL_DOCUMENT_ROOT.'/includes/odtphp/zip/pclzip/':(empty($dolibarr_lib_GEOIP_PATH)?'':$dolibarr_lib_ODTPHP_PATHTOPCLZIP.'/')); }
-if (! defined('ARTICHOW_FONT')) { define('ARTICHOW_FONT', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD))?DOL_DOCUMENT_ROOT.'/includes/artichow/font':dirname($dolibarr_font_DOL_DEFAULT_TTF_BOLD)); }
-// Other required path
-if (! defined('ARTICHOW_FONT_NAMES')) { define('ARTICHOW_FONT_NAMES', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD))?'Tuffy,TuffyBold,TuffyBoldItalic,TuffyItalic':'DejaVuSans,DejaVuSans-Bold,DejaVuSans-BoldOblique,DejaVuSans-Oblique'); }
-if (! defined('DOL_DEFAULT_TTF')) { define('DOL_DEFAULT_TTF', (!isset($dolibarr_font_DOL_DEFAULT_TTF))?DOL_DOCUMENT_ROOT.'/includes/barcode/php-barcode/fonts/Aerial.ttf':(empty($dolibarr_lib_GEOIP_PATH)?'':$dolibarr_font_DOL_DEFAULT_TTF)); }
-if (! defined('DOL_DEFAULT_TTF_BOLD')) { define('DOL_DEFAULT_TTF_BOLD', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD))?DOL_DOCUMENT_ROOT.'/includes/barcode/php-barcode/fonts/AerialBd.ttf':(empty($dolibarr_lib_GEOIP_PATH)?'':$dolibarr_font_DOL_DEFAULT_TTF_BOLD)); }
-// Old path to root deprecated (not used). Kept for extensions.
-if (! defined('FPDF_PATH')) { define('FPDF_PATH', DOL_DOCUMENT_ROOT .'/includes/fpdf/fpdf/'); }
-if (! defined('PHP_WRITEEXCEL_PATH')) { define('PHP_WRITEEXCEL_PATH', DOL_DOCUMENT_ROOT .'/includes/php_writeexcel/'); }
-
?>
diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php
index 23709dfcd0d..0ce307d6501 100644
--- a/htdocs/support/inc.php
+++ b/htdocs/support/inc.php
@@ -2,7 +2,7 @@
/* Copyright (C) 2004 Rodolphe Quiedeville
* Copyright (C) 2004 Benoit Mortier
* Copyright (C) 2004 Sebastien DiCintio
- * Copyright (C) 2007-2009 Laurent Destailleur
+ * Copyright (C) 2007-2011 Laurent Destailleur
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -23,13 +23,23 @@
* \brief File that define environment for support pages
*/
-define('DOL_VERSION','2.5-dev'); // Also defined in htdocs/master.inc.php
+define('DOL_VERSION','3.2.0-alpha'); // Also defined in htdocs/master.inc.php
+
+// Define DOL_DOCUMENT_ROOT an ADODB_PATH used for install/upgrade process
+if (! defined('DOL_DOCUMENT_ROOT')) define('DOL_DOCUMENT_ROOT', '..');
+if (! defined('ADODB_PATH'))
+{
+ $foundpath=DOL_DOCUMENT_ROOT .'/includes/adodbtime/';
+ if (! is_dir($foundpath)) $foundpath='/usr/share/php/adodb/';
+ define('ADODB_PATH', $foundpath);
+}
require_once('../core/class/translate.class.php');
require_once('../lib/functions.lib.php');
require_once('../lib/admin.lib.php');
+require_once('../lib/files.lib.php');
+require_once(ADODB_PATH.'adodb-time.inc.php');
-// DOL_DOCUMENT_ROOT has been defined in function.inc.php to '..'
// Correction PHP_SELF (ex pour apache via caudium) car PHP_SELF doit valoir URL relative
// et non path absolu.