33 if (!defined(
'DOL_APPLICATION_TITLE')) define(
'DOL_APPLICATION_TITLE',
'Dolibarr');
34 if (!defined(
'DOL_VERSION')) define(
'DOL_VERSION',
'13.0.2');
36 if (!defined(
'EURO')) define(
'EURO', chr(128));
39 if (!defined(
'LOG_DEBUG'))
41 if (!function_exists(
"syslog")) {
43 define(
'LOG_EMERG', 0);
44 define(
'LOG_ALERT', 1);
45 define(
'LOG_CRIT', 2);
47 define(
'LOG_WARNING', 4);
48 define(
'LOG_NOTICE', 5);
49 define(
'LOG_INFO', 6);
50 define(
'LOG_DEBUG', 7);
55 if (defined(
'DOL_INC_FOR_VERSION_ERROR'))
return;
59 $conffiletoshowshort =
"conf.php";
62 $conffile =
"conf/conf.php";
63 $conffiletoshow =
"htdocs/conf/conf.php";
74 $result = @include_once $conffile;
76 if (!$result && !empty(
$_SERVER[
"GATEWAY_INTERFACE"]))
78 if (!empty(
$_SERVER[
"CONTEXT_PREFIX"]))
81 if (!preg_match(
'/\/$/', $path)) $path .=
'/';
83 elseif (preg_match(
'/index\.php/',
$_SERVER[
'PHP_SELF']))
94 $TDir = explode(
'/',
$_SERVER[
'PHP_SELF']);
99 if (empty($TDir[$i]) || $TDir[$i] ==
'htdocs')
break;
100 if ($TDir[$i] ==
'dolibarr')
break;
101 if (substr($TDir[$i], -4, 4) ==
'.php')
continue;
107 header(
"Location: ".$path.
"install/index.php");
112 if (!empty($dolibarr_strict_mode))
114 error_reporting(E_ALL | E_STRICT);
116 error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));
120 if (!empty($dolibarr_main_prod)) ini_set(
'display_errors',
'Off');
123 $dolibarr_main_data_root = trim($dolibarr_main_data_root);
124 $dolibarr_main_url_root = trim(preg_replace(
'/\/+$/',
'', $dolibarr_main_url_root));
125 $dolibarr_main_url_root_alt = (empty($dolibarr_main_url_root_alt) ?
'' : trim($dolibarr_main_url_root_alt));
126 $dolibarr_main_document_root = trim($dolibarr_main_document_root);
127 $dolibarr_main_document_root_alt = (empty($dolibarr_main_document_root_alt) ?
'' : trim($dolibarr_main_document_root_alt));
129 if (empty($dolibarr_main_db_port)) $dolibarr_main_db_port = 3306;
130 if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type =
'mysqli';
133 if ($dolibarr_main_db_type ==
'mysql') $dolibarr_main_db_type =
'mysqli';
134 if (empty($dolibarr_main_db_prefix)) $dolibarr_main_db_prefix =
'llx_';
135 if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set = ($dolibarr_main_db_type ==
'mysqli' ?
'utf8' :
'');
136 if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation = ($dolibarr_main_db_type ==
'mysqli' ?
'utf8_unicode_ci' :
'');
137 if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption = 0;
138 if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey =
'';
139 if (empty($dolibarr_main_limit_users)) $dolibarr_main_limit_users = 0;
140 if (empty($dolibarr_mailing_limit_sendbyweb)) $dolibarr_mailing_limit_sendbyweb = 0;
141 if (empty($dolibarr_mailing_limit_sendbycli)) $dolibarr_mailing_limit_sendbycli = 0;
142 if (empty($dolibarr_strict_mode)) $dolibarr_strict_mode = 0;
149 if (!defined(
'NOCSRFCHECK') && empty($dolibarr_nocsrfcheck))
151 if (!empty(
$_SERVER[
'REQUEST_METHOD']) && !in_array(
$_SERVER[
'REQUEST_METHOD'], array(
'GET',
'HEAD')) && !empty(
$_SERVER[
'HTTP_HOST']))
154 if (empty(
$_SERVER[
'HTTP_REFERER'])) $csrfattack =
true;
156 $tmpa = parse_url(
$_SERVER[
'HTTP_HOST']);
157 $tmpb = parse_url(
$_SERVER[
'HTTP_REFERER']);
158 if ((empty($tmpa[
'host']) ? $tmpa[
'path'] : $tmpa[
'host']) != (empty($tmpb[
'host']) ? $tmpb[
'path'] : $tmpb[
'host'])) $csrfattack =
true;
164 print "Access refused by CSRF protection in main.inc.php. Referer of form (".htmlentities(
$_SERVER[
'HTTP_REFERER'], ENT_COMPAT,
'UTF-8').
") is outside the server that serve this page (with method = ".htmlentities(
$_SERVER[
'REQUEST_METHOD'], ENT_COMPAT,
'UTF-8').
").\n";
165 print "If you access your server behind a proxy using url rewriting, you might check that all HTTP headers are propagated (or add the line \$dolibarr_nocsrfcheck=1 into your conf.php file to remove this security check).\n";
171 if (empty($dolibarr_main_db_host))
173 print '<div class="center">Dolibarr setup is not yet complete.<br><br>'.
"\n";
174 print '<a href="install/index.php">Click here to finish Dolibarr install process</a> ...</div>'.
"\n";
177 if (empty($dolibarr_main_url_root))
179 print 'Value for parameter \'dolibarr_main_url_root\' is not defined in your \'htdocs\conf\conf.php\' file.<br>'.
"\n";
180 print 'You must add this parameter with your full Dolibarr root Url (Example: http://myvirtualdomain/ or http://mydomain/mydolibarrurl/)'.
"\n";
183 if (empty($dolibarr_main_data_root))
186 $dolibarr_main_data_root = str_replace(
"/htdocs",
"", $dolibarr_main_document_root);
187 $dolibarr_main_data_root .=
"/documents";
191 define(
'DOL_CLASS_PATH',
'class/');
192 define(
'DOL_DATA_ROOT', $dolibarr_main_data_root);
193 define(
'DOL_DOCUMENT_ROOT', $dolibarr_main_document_root);
198 $real_dolibarr_main_document_root = str_replace(
'\\',
'/', realpath($dolibarr_main_document_root));
199 if (!empty(
$_SERVER[
"DOCUMENT_ROOT"])) {
200 $pathroot =
$_SERVER[
"DOCUMENT_ROOT"];
202 $pathroot =
'NOTDEFINED';
204 $paths = explode(
'/', str_replace(
'\\',
'/',
$_SERVER[
"SCRIPT_NAME"]));
207 foreach ($paths as $tmppath)
209 if (empty($tmppath))
continue;
210 $concatpath .=
'/'.$tmppath;
213 if ($real_dolibarr_main_document_root == @realpath($pathroot.$concatpath))
223 if (!$found) $tmp = $dolibarr_main_url_root;
224 else $tmp =
'http'.(((empty(
$_SERVER[
"HTTPS"]) ||
$_SERVER[
"HTTPS"] !=
'on') && (empty(
$_SERVER[
"SERVER_PORT"]) ||
$_SERVER[
"SERVER_PORT"] != 443)) ?
'' :
's').
'://'.
$_SERVER[
"SERVER_NAME"].((empty(
$_SERVER[
"SERVER_PORT"]) ||
$_SERVER[
"SERVER_PORT"] == 80 ||
$_SERVER[
"SERVER_PORT"] == 443) ?
'' :
':'.
$_SERVER[
"SERVER_PORT"]).($tmp3 ? (preg_match(
'/^\//', $tmp3) ?
'' :
'/').$tmp3 :
'');
226 if (!empty($dolibarr_main_force_https)) $tmp = preg_replace(
'/^http:/i',
'https:', $tmp);
227 define(
'DOL_MAIN_URL_ROOT', $tmp);
228 $uri = preg_replace(
'/^http(s?):\/\//i',
'', constant(
'DOL_MAIN_URL_ROOT'));
229 $suburi = strstr($uri,
'/');
230 if ($suburi ==
'/') $suburi =
'';
231 define(
'DOL_URL_ROOT', $suburi);
236 define(
'MAIN_DB_PREFIX', $dolibarr_main_db_prefix);
244 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.
'/')); }
245 if (!defined(
'TCPDF_PATH')) { define(
'TCPDF_PATH', (empty($dolibarr_lib_TCPDF_PATH)) ?DOL_DOCUMENT_ROOT.
'/includes/tecnickcom/tcpdf/' : $dolibarr_lib_TCPDF_PATH.
'/'); }
246 if (!defined(
'TCPDI_PATH')) { define(
'TCPDI_PATH', (empty($dolibarr_lib_TCPDI_PATH)) ?DOL_DOCUMENT_ROOT.
'/includes/tcpdi/' : $dolibarr_lib_TCPDI_PATH.
'/'); }
247 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.
'/')); }
248 if (!defined(
'PHPEXCELNEW_PATH')) { define(
'PHPEXCELNEW_PATH', (!isset($dolibarr_lib_PHPEXCELNEW_PATH)) ?DOL_DOCUMENT_ROOT.
'/includes/phpoffice/PhpSpreadsheet/' : (empty($dolibarr_lib_PHPEXCELNEW_PATH) ?
'' : $dolibarr_lib_PHPEXCELNEW_PATH.
'/')); }
249 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.
'/')); }
250 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.
'/')); }
251 if (!defined(
'JS_CKEDITOR')) { define(
'JS_CKEDITOR', (!isset($dolibarr_js_CKEDITOR)) ?
'' : (empty($dolibarr_js_CKEDITOR) ?
'' : $dolibarr_js_CKEDITOR.
'/')); }
252 if (!defined(
'JS_JQUERY')) { define(
'JS_JQUERY', (!isset($dolibarr_js_JQUERY)) ?
'' : (empty($dolibarr_js_JQUERY) ?
'' : $dolibarr_js_JQUERY.
'/')); }
253 if (!defined(
'JS_JQUERY_UI')) { define(
'JS_JQUERY_UI', (!isset($dolibarr_js_JQUERY_UI)) ?
'' : (empty($dolibarr_js_JQUERY_UI) ?
'' : $dolibarr_js_JQUERY_UI.
'/')); }
255 if (!defined(
'DOL_DEFAULT_TTF')) { define(
'DOL_DEFAULT_TTF', (!isset($dolibarr_font_DOL_DEFAULT_TTF)) ?DOL_DOCUMENT_ROOT.
'/includes/fonts/Aerial.ttf' : (empty($dolibarr_font_DOL_DEFAULT_TTF) ?
'' : $dolibarr_font_DOL_DEFAULT_TTF)); }
256 if (!defined(
'DOL_DEFAULT_TTF_BOLD')) { define(
'DOL_DEFAULT_TTF_BOLD', (!isset($dolibarr_font_DOL_DEFAULT_TTF_BOLD)) ?DOL_DOCUMENT_ROOT.
'/includes/fonts/AerialBd.ttf' : (empty($dolibarr_font_DOL_DEFAULT_TTF_BOLD) ?
'' : $dolibarr_font_DOL_DEFAULT_TTF_BOLD)); }
263 if (!defined(
'ADODB_DATE_VERSION')) include_once ADODB_PATH.
'adodb-time.inc.php';
265 if (!file_exists(DOL_DOCUMENT_ROOT.
"/core/lib/functions.lib.php"))
267 print "Error: Dolibarr config file content seems to be not correctly defined.<br>\n";
268 print "Please run dolibarr setup by calling page <b>/install</b>.<br>\n";
274 include_once DOL_DOCUMENT_ROOT.
'/core/lib/functions.lib.php';
275 include_once DOL_DOCUMENT_ROOT.
'/core/lib/security.lib.php';
279 if ((!empty($dolibarr_main_db_pass) && preg_match(
'/crypted:/i', $dolibarr_main_db_pass)) || !empty($dolibarr_main_db_encrypted_pass)) {
280 if (!empty($dolibarr_main_db_pass) && preg_match(
'/crypted:/i', $dolibarr_main_db_pass)) {
281 $dolibarr_main_db_pass = preg_replace(
'/crypted:/i',
'', $dolibarr_main_db_pass);
282 $dolibarr_main_db_pass =
dol_decode($dolibarr_main_db_pass);
283 $dolibarr_main_db_encrypted_pass = $dolibarr_main_db_pass;
285 $dolibarr_main_db_pass =
dol_decode($dolibarr_main_db_encrypted_pass);
dol_decode($chain, $key= '1')
Decode a base 64 encoded + specific delta change.
print $_SERVER["PHP_SELF"]
Edit parameters.
print
Draft customers invoices.