2006-02-03 17:42:39 +01:00
< ? PHP
2009-01-15 23:49:06 +01:00
/* Copyright ( C ) 2002 - 2007 Rodolphe Quiedeville < rodolphe @ quiedeville . org >
2006-02-03 17:42:39 +01:00
* Copyright ( C ) 2003 Xavier Dutoit < doli @ sydesy . com >
2009-01-25 14:51:01 +01:00
* Copyright ( C ) 2004 - 2009 Laurent Destailleur < eldy @ users . sourceforge . net >
2006-02-03 17:42:39 +01:00
* Copyright ( C ) 2004 Sebastien Di Cintio < sdicintio @ ressource - toi . org >
* Copyright ( C ) 2004 Benoit Mortier < benoit . mortier @ opensides . be >
2009-04-17 09:45:00 +02:00
* Copyright ( C ) 2005 - 2009 Regis Houssin < regis @ dolibarr . fr >
2009-01-15 23:49:06 +01:00
* Copyright ( C ) 2005 Simon Tosser < simon @ kornog - computing . com >
* Copyright ( C ) 2006 Andre Cianfarani < andre . cianfarani @ acdeveloppement . net >
2006-02-03 17:42:39 +01:00
*
* 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
* the Free Software Foundation ; either version 2 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*/
/**
2008-11-28 00:24:50 +01:00
* \file htdocs / master . inc . php
* \ingroup core
* \brief File that defines environment for all Dolibarr process ( pages or scripts )
2009-09-03 01:46:55 +02:00
* This script reads the conf . php file , init $lang , $db and empty $user
2008-11-28 00:24:50 +01:00
* \version $Id $
*/
2006-02-03 17:42:39 +01:00
2009-04-29 15:05:10 +02:00
define ( 'DOL_VERSION' , '2.7.0-beta' ); // Also defined in htdocs/install/inc.php
2009-01-15 23:49:06 +01:00
define ( 'EURO' , chr ( 128 ));
2006-02-03 17:42:39 +01:00
2007-05-10 20:25:19 +02:00
// Definition des constantes syslog
2006-02-03 17:42:39 +01:00
if ( function_exists ( " define_syslog_variables " ))
{
2009-10-19 20:54:50 +02:00
if ( version_compare ( PHP_VERSION , '5.3.0' , '<' ))
{
define_syslog_variables (); // Deprecated since php 5.3.0, syslog variables no longer need to be initialized
}
2006-02-03 17:42:39 +01:00
}
2007-05-10 20:25:19 +02:00
else
{
// Pour PHP sans syslog (comme sous Windows)
define ( 'LOG_EMERG' , 0 );
define ( 'LOG_ALERT' , 1 );
define ( 'LOG_CRIT' , 2 );
define ( 'LOG_ERR' , 3 );
define ( 'LOG_WARNING' , 4 );
define ( 'LOG_NOTICE' , 5 );
define ( 'LOG_INFO' , 6 );
define ( 'LOG_DEBUG' , 7 );
}
// Forcage du parametrage PHP error_reporting (Dolibarr non utilisable en mode error E_ALL)
2006-02-03 17:42:39 +01:00
error_reporting ( E_ALL ^ E_NOTICE );
2009-01-21 16:06:34 +01:00
//error_reporting(E_ALL);
2006-02-03 17:42:39 +01:00
2008-03-17 03:53:48 +01:00
// Include configuration
2008-03-17 03:53:48 +01:00
$result =@ include_once ( " conf/conf.php " );
2009-08-30 03:39:40 +02:00
if ( ! $result && $_SERVER [ " GATEWAY_INTERFACE " ]) // If install not done and we are in a web session
2008-03-17 23:34:09 +01:00
{
header ( " Location: install/index.php " );
exit ;
}
2008-03-17 03:53:48 +01:00
if ( empty ( $dolibarr_main_db_host ))
2006-02-03 17:42:39 +01:00
{
2009-04-23 15:19:28 +02:00
print 'Error: Dolibarr setup was run but was not completed.<br>' . " \n " ;
2008-03-14 13:54:33 +01:00
print 'Please, run <a href="install/index.php">Dolibarr install process</a> until the end...' . " \n " ;
2009-04-29 20:44:37 +02:00
exit ;
2006-02-03 17:42:39 +01:00
}
2008-03-10 23:38:43 +01:00
if ( empty ( $dolibarr_main_db_type )) $dolibarr_main_db_type = 'mysql' ; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
if ( empty ( $dolibarr_main_data_root ))
{
// Si repertoire documents non defini, on utilise celui par defaut
2009-10-21 20:14:00 +02:00
$dolibarr_main_data_root = str_replace ( " /htdocs " , " " , $dolibarr_main_document_root );
2008-03-10 23:38:43 +01:00
$dolibarr_main_data_root .= " /documents " ;
2006-02-03 17:42:39 +01:00
}
2009-08-13 15:34:05 +02:00
// Define some constants
define ( 'DOL_DOCUMENT_ROOT' , $dolibarr_main_document_root ); // Filesystem pages php (htdocs)
define ( 'DOL_DATA_ROOT' , $dolibarr_main_data_root ); // Filesystem donnes (documents)
2009-10-20 19:53:24 +02:00
if ( $dolibarr_main_url_root == 'auto' && ! empty ( $_SERVER [ " SCRIPT_URL " ]) && ! empty ( $_SERVER [ " SCRIPT_URI " ]))
2009-10-09 20:32:35 +02:00
{
2009-10-21 16:02:14 +02:00
$dolibarr_main_url_root = preg_replace ( '/' . $_SERVER [ " SCRIPT_URL " ] . '$/i' , '' , $_SERVER [ " SCRIPT_URI " ]);
2009-10-09 20:32:35 +02:00
}
2009-08-13 15:34:05 +02:00
define ( 'DOL_MAIN_URL_ROOT' , $dolibarr_main_url_root ); // URL relative root
2009-10-21 16:02:14 +02:00
$uri = preg_replace ( '/^http(s?):\/\//i' , '' , $dolibarr_main_url_root ); // $suburi contains url without http*
2009-08-13 15:34:05 +02:00
$suburi = strstr ( $uri , '/' ); // $suburi contains url without domain
if ( $suburi == '/' ) $suburi = '' ; // If $suburi is /, it is now ''
define ( 'DOL_URL_ROOT' , $suburi ); // URL relative root ('/', '/dolibarr', ...)
if ( ! empty ( $dolibarr_main_url_root_static )) define ( 'DOL_URL_ROOT_FULL_STATIC' , $dolibarr_main_url_root_static ); // Used to put static images on another domain
2006-02-03 17:42:39 +01:00
2007-10-07 21:30:03 +02:00
/*
* Controle validite fichier conf
*/
2008-04-05 16:18:13 +02:00
if ( ! file_exists ( DOL_DOCUMENT_ROOT . " /lib/functions.lib.php " ))
2007-10-07 21:30:03 +02:00
{
2009-04-29 20:44:37 +02:00
print " Error: Dolibarr config file content seems to be not correctly defined.<br> \n " ;
2007-10-07 21:30:03 +02:00
print " Please run dolibarr setup by calling page <b>/install</b>.<br> \n " ;
exit ;
}
2006-02-03 17:42:39 +01:00
/*
2008-12-07 20:19:32 +01:00
* Create $conf object
2006-02-03 17:42:39 +01:00
*/
2007-04-25 13:45:01 +02:00
2008-04-09 20:13:45 +02:00
require_once ( DOL_DOCUMENT_ROOT . " /lib/functions.lib.php " ); // Need 970ko memory (1.1 in 2.2)
2009-08-21 21:09:20 +02:00
// If password is encoded, we decode it
2009-10-21 16:02:14 +02:00
if ( preg_match ( '/crypted:/i' , $dolibarr_main_db_pass ) || ! empty ( $dolibarr_main_db_encrypted_pass ))
2008-04-29 23:13:49 +02:00
{
require_once ( DOL_DOCUMENT_ROOT . " /lib/security.lib.php " );
2009-10-21 16:02:14 +02:00
if ( preg_match ( '/crypted:/i' , $dolibarr_main_db_pass ))
2009-08-21 21:09:20 +02:00
{
2009-10-21 16:02:14 +02:00
$dolibarr_main_db_pass = preg_replace ( '/crypted:/i' , '' , $dolibarr_main_db_pass );
2009-08-21 21:09:20 +02:00
$dolibarr_main_db_pass = dol_decode ( $dolibarr_main_db_pass );
$dolibarr_main_db_encrypted_pass = $dolibarr_main_db_pass ; // We need to set this as it is used to know the password was initially crypted
}
else $dolibarr_main_db_pass = dol_decode ( $dolibarr_main_db_encrypted_pass );
2008-04-29 23:13:49 +02:00
}
2008-04-09 20:13:45 +02:00
//print memory_get_usage();
2008-01-10 18:35:45 +01:00
2009-03-11 19:34:46 +01:00
require_once ( DOL_DOCUMENT_ROOT . " /core/conf.class.php " );
2007-04-25 13:45:01 +02:00
2006-02-03 17:42:39 +01:00
$conf = new Conf ();
2009-04-23 15:19:28 +02:00
2007-07-13 14:57:07 +02:00
// Identifiant propres au serveur base de donnee
2006-02-03 17:42:39 +01:00
$conf -> db -> host = $dolibarr_main_db_host ;
2008-03-10 23:38:43 +01:00
if ( empty ( $dolibarr_main_db_port )) $dolibarr_main_db_port = 0 ; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
$conf -> db -> port = $dolibarr_main_db_port ;
2006-02-03 17:42:39 +01:00
$conf -> db -> name = $dolibarr_main_db_name ;
$conf -> db -> user = $dolibarr_main_db_user ;
$conf -> db -> pass = $dolibarr_main_db_pass ;
2008-03-10 23:38:43 +01:00
if ( empty ( $dolibarr_main_db_type )) $dolibarr_main_db_type = 'mysql' ; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
2006-02-03 17:42:39 +01:00
$conf -> db -> type = $dolibarr_main_db_type ;
2009-01-15 23:49:06 +01:00
if ( empty ( $dolibarr_main_db_prefix )) $dolibarr_main_db_prefix = 'llx_' ;
2006-02-03 17:42:39 +01:00
$conf -> db -> prefix = $dolibarr_main_db_prefix ;
2009-08-26 20:59:13 +02:00
if ( empty ( $dolibarr_main_db_character_set )) $dolibarr_main_db_character_set = 'latin1' ; // Old installation
$conf -> db -> character_set = $dolibarr_main_db_character_set ;
if ( empty ( $dolibarr_main_db_collation )) $dolibarr_main_db_collation = 'latin1_swedish_ci' ; // Old installation
2007-12-21 20:14:11 +01:00
$conf -> db -> dolibarr_main_db_collation = $dolibarr_main_db_collation ;
2009-06-27 08:56:41 +02:00
if ( empty ( $dolibarr_main_db_encryption )) $dolibarr_main_db_encryption = 0 ;
$conf -> db -> dolibarr_main_db_encryption = $dolibarr_main_db_encryption ;
2009-08-30 03:39:40 +02:00
if ( empty ( $dolibarr_main_db_cryptkey )) $dolibarr_main_db_cryptkey = '' ;
2009-06-27 08:56:41 +02:00
$conf -> db -> dolibarr_main_db_cryptkey = $dolibarr_main_db_cryptkey ;
2007-07-13 14:57:07 +02:00
// Identifiant autres
2009-05-08 03:23:33 +02:00
$conf -> file -> main_authentication = empty ( $dolibarr_main_authentication ) ? '' : $dolibarr_main_authentication ;
2008-04-06 22:17:11 +02:00
// Force https
2009-05-08 03:23:33 +02:00
$conf -> file -> main_force_https = empty ( $dolibarr_main_force_https ) ? '' : $dolibarr_main_force_https ;
2009-01-15 23:49:06 +01:00
// Define charset for HTML Output (can set hidden value force_charset in conf.php file)
if ( empty ( $force_charset_do_notuse )) $force_charset_do_notuse = 'UTF-8' ;
2009-05-08 03:23:33 +02:00
$conf -> file -> character_set_client = strtoupper ( $force_charset_do_notuse );
2009-05-23 19:44:36 +02:00
// Cookie cryptkey
2009-05-24 02:19:06 +02:00
$conf -> file -> cookie_cryptkey = empty ( $dolibarr_main_cookie_cryptkey ) ? '' : $dolibarr_main_cookie_cryptkey ;
2007-05-25 22:02:23 +02:00
2008-12-07 20:19:32 +01:00
// Define array of document root directories
2009-05-08 03:23:33 +02:00
$conf -> file -> dol_document_root = array ( DOL_DOCUMENT_ROOT );
2009-01-15 23:49:06 +01:00
if ( ! empty ( $dolibarr_main_document_root_alt ))
2008-12-07 20:19:32 +01:00
{
// dolibarr_main_document_root_alt contains several directories
2009-10-20 15:14:44 +02:00
$values = preg_split ( '/[;,]/' , $dolibarr_main_document_root_alt );
2008-12-07 20:19:32 +01:00
foreach ( $values as $value )
{
2009-05-08 03:23:33 +02:00
$conf -> file -> dol_document_root [] = $value ;
2008-12-07 20:19:32 +01:00
}
}
2008-12-08 01:01:00 +01:00
// Define prefix
2007-05-25 22:02:23 +02:00
if ( isset ( $_SERVER [ " LLX_DBNAME " ])) $dolibarr_main_db_prefix = $_SERVER [ " LLX_DBNAME " ];
2006-02-03 17:42:39 +01:00
define ( 'MAIN_DB_PREFIX' , $dolibarr_main_db_prefix );
2006-09-17 17:51:52 +02:00
// Detection browser
if ( isset ( $_SERVER [ " HTTP_USER_AGENT " ]))
{
2009-09-15 03:22:19 +02:00
// Name
2009-07-28 00:48:05 +02:00
if ( eregi ( 'firefox' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> name = 'firefox' ;
elseif ( eregi ( 'iceweasel' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> name = 'iceweasel' ;
elseif ( eregi ( 'safari' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> name = 'safari' ;
elseif ( eregi ( 'chrome' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> name = 'chrome' ;
elseif ( eregi ( 'opera' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> name = 'opera' ;
elseif ( eregi ( 'msie' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> name = 'ie' ;
2009-08-30 03:39:40 +02:00
else $conf -> browser -> name = 'unknown' ;
2009-09-15 03:22:19 +02:00
// If phone/smartphone, we set osname.
if ( eregi ( 'android' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'android' ;
elseif ( eregi ( 'blackberry' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'blackberry' ;
elseif ( eregi ( 'iphone' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'iphone' ;
elseif ( eregi ( 'palm' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'palm' ;
elseif ( eregi ( 'symbian' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'symbian' ;
elseif ( eregi ( 'webos' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'webos' ;
elseif ( eregi ( 'iemobile' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'windowsmobile' ;
elseif ( eregi ( 'windows ce' , $_SERVER [ " HTTP_USER_AGENT " ])) $conf -> browser -> phone = 'windowsmobile' ;
// Other
2009-07-28 00:48:05 +02:00
if ( in_array ( $conf -> browser -> name , array ( 'firefox' , 'iceweasel' ))) $conf -> browser -> firefox = 1 ;
2006-09-17 17:51:52 +02:00
}
2007-12-30 19:47:45 +01:00
// Chargement des includes principaux de librairies communes
2008-01-10 18:35:45 +01:00
if ( ! defined ( 'NOREQUIREUSER' )) require_once ( DOL_DOCUMENT_ROOT . " /user.class.php " ); // Need 500ko memory
2007-09-09 13:16:33 +02:00
if ( ! defined ( 'NOREQUIRETRAN' )) require_once ( DOL_DOCUMENT_ROOT . " /translate.class.php " );
if ( ! defined ( 'NOREQUIRESOC' )) require_once ( DOL_DOCUMENT_ROOT . " /societe.class.php " );
2007-12-30 19:47:45 +01:00
if ( ! defined ( 'NOREQUIREDB' )) require_once ( DOL_DOCUMENT_ROOT . " /lib/databases/ " . $conf -> db -> type . " .lib.php " );
2006-02-03 17:42:39 +01:00
2007-05-24 11:26:28 +02:00
/*
2007-12-30 19:47:45 +01:00
* Creation objet $langs ( must be before all other code )
2007-05-24 11:26:28 +02:00
*/
2009-01-15 23:49:06 +01:00
if ( ! defined ( 'NOREQUIRETRAN' ))
2007-09-09 13:16:33 +02:00
{
2008-03-31 17:17:39 +02:00
$langs = new Translate ( " " , $conf ); // A mettre apres lecture de la conf
2007-09-09 13:16:33 +02:00
}
2007-05-23 23:10:11 +02:00
2006-06-03 01:20:36 +02:00
/*
* Creation objet $db
*/
2009-01-15 23:49:06 +01:00
if ( ! defined ( 'NOREQUIREDB' ))
2007-09-09 13:16:33 +02:00
{
2008-03-10 23:38:43 +01:00
$db = new DoliDb ( $conf -> db -> type , $conf -> db -> host , $conf -> db -> user , $conf -> db -> pass , $conf -> db -> name , $conf -> db -> port );
2007-09-15 21:36:18 +02:00
if ( $db -> error )
2007-09-09 13:16:33 +02:00
{
2009-02-20 21:28:16 +01:00
dol_print_error ( $db , " host= " . $conf -> db -> host . " , port= " . $conf -> db -> port . " , user= " . $conf -> db -> user . " , databasename= " . $conf -> db -> name . " , " . $db -> error );
2009-01-15 23:49:06 +01:00
exit ;
2007-09-09 13:16:33 +02:00
}
2006-02-03 17:42:39 +01:00
}
2009-05-08 03:23:33 +02:00
// Now database connexion is known, so we can forget password
//$dolibarr_main_db_pass=''; // Comment this because this constant is used in a lot of pages
2009-08-30 03:39:40 +02:00
$conf -> db -> pass = '' ; // This is to avoid password to be shown in memory/swap dump
2006-02-03 17:42:39 +01:00
/*
2006-06-03 01:20:36 +02:00
* Creation objet $user
2006-02-03 17:42:39 +01:00
*/
2009-01-15 23:49:06 +01:00
if ( ! defined ( 'NOREQUIREUSER' ))
2007-09-09 13:16:33 +02:00
{
$user = new User ( $db );
}
2006-02-03 17:42:39 +01:00
/*
2009-05-08 03:23:33 +02:00
* Load object $conf
2007-10-07 16:49:36 +02:00
* After this , all parameters conf -> global -> CONSTANTS are loaded
2006-02-03 17:42:39 +01:00
*/
2009-01-15 23:49:06 +01:00
if ( ! defined ( 'NOREQUIREDB' ))
2007-09-09 13:16:33 +02:00
{
2009-09-01 17:47:29 +02:00
// By default conf->entity is 1, but we change this if we ask another value.
if ( session_id () && ! empty ( $_SESSION [ " dol_entity " ])) // Entity inside an opened session
2009-05-08 03:23:33 +02:00
{
$conf -> entity = $_SESSION [ " dol_entity " ];
}
2009-09-01 17:47:29 +02:00
elseif ( ! empty ( $_ENV [ " dol_entity " ])) // Entity inside a CLI script
2009-05-08 03:23:33 +02:00
{
$conf -> entity = $_ENV [ " dol_entity " ];
}
2009-09-01 17:47:29 +02:00
elseif ( isset ( $_POST [ " loginfunction " ]) && ! empty ( $_POST [ " entity " ])) // Just after a login page
2009-05-22 00:28:05 +02:00
{
2009-05-22 17:24:32 +02:00
$conf -> entity = $_POST [ " entity " ];
2009-05-22 00:28:05 +02:00
}
2009-05-24 02:19:06 +02:00
else
2009-05-23 19:44:36 +02:00
{
2009-05-24 02:19:06 +02:00
$entityCookieName = 'DOLENTITYID_' . md5 ( $_SERVER [ " SERVER_NAME " ] . $_SERVER [ " DOCUMENT_ROOT " ]);
2009-09-01 17:47:29 +02:00
if ( ! empty ( $_COOKIE [ $entityCookieName ]) && ! empty ( $conf -> file -> cookie_cryptkey )) // Just for view specific login page
2009-05-24 02:19:06 +02:00
{
include_once ( DOL_DOCUMENT_ROOT . " /core/cookie.class.php " );
$lastuser = '' ;
$lastentity = '' ;
$entityCookie = new DolCookie ( $conf -> file -> cookie_cryptkey );
$cookieValue = $entityCookie -> _getCookie ( $entityCookieName );
2009-10-20 15:14:44 +02:00
list ( $lastuser , $lastentity ) = explode ( '|' , $cookieValue );
2009-05-24 02:19:06 +02:00
$conf -> entity = $lastentity ;
}
2009-05-23 19:44:36 +02:00
}
2009-09-01 17:52:08 +02:00
//print "Will work with data into entity instance number '".$conf->entity."'";
2009-09-01 17:50:40 +02:00
// Here we read database (llx_const table) and define $conf->global->XXX var.
$conf -> setValues ( $db );
2009-08-30 03:39:40 +02:00
}
// If software has been locked. Only login $conf->global->MAIN_ONLY_LOGIN_ALLOWED is allowed.
if ( ! empty ( $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED ))
{
/* print '$_SERVER["GATEWAY_INTERFACE"]=' . $_SERVER [ " GATEWAY_INTERFACE " ] . '<br>' ;
print 'session_id()=' . session_id () . '<br>' ;
print '$_SESSION["dol_login"]=' . $_SESSION [ " dol_login " ] . '<br>' ;
print '$conf->global->MAIN_ONLY_LOGIN_ALLOWED=' . $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED . '<br>' ;
exit ; */
$ok = 0 ;
if (( ! session_id () || ! isset ( $_SESSION [ " dol_login " ])) && ! isset ( $_POST [ " username " ]) && ! empty ( $_SERVER [ " GATEWAY_INTERFACE " ])) $ok = 1 ; // We let working pages if not logged and inside a web browser (login form, to allow login by admin)
elseif ( isset ( $_POST [ " username " ]) && $_POST [ " username " ] == $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED ) $ok = 1 ; // We let working pages that is a login submission (login submit, to allow login by admin)
elseif ( defined ( 'NOREQUIREDB' )) $ok = 1 ; // We let working pages that don't need database access (xxx.css.php)
elseif ( defined ( 'EVEN_IF_ONLY_LOGIN_ALLOWED' )) $ok = 1 ; // We let working pages that ask to work even if only login enabled (logout.php)
elseif ( session_id () && isset ( $_SESSION [ " dol_login " ]) && $_SESSION [ " dol_login " ] == $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED ) $ok = 1 ; // We let working if user is allowed admin
if ( ! $ok )
{
if ( session_id () && isset ( $_SESSION [ " dol_login " ]) && $_SESSION [ " dol_login " ] != $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED )
{
print 'Sorry, your application is offline.' . " \n " ;
print 'You are logged with user "' . $_SESSION [ " dol_login " ] . '" and only administrator user "' . $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED . '" is allowed to connect for the moment.' . " \n " ;
$nexturl = DOL_URL_ROOT . '/user/logout.php' ;
print 'Please try later or <a href="' . $nexturl . '">click here to disconnect and change login user</a>...' . " \n " ;
}
else
{
print 'Sorry, your application is offline. Only administrator user "' . $conf -> global -> MAIN_ONLY_LOGIN_ALLOWED . '" is allowed to connect for the moment.' . " \n " ;
$nexturl = DOL_URL_ROOT . '/' ;
print 'Please try later or <a href="' . $nexturl . '">click here to change login user</a>...' . " \n " ;
}
exit ;
}
2007-09-09 13:16:33 +02:00
}
2006-02-03 17:42:39 +01:00
/*
2009-08-29 20:08:46 +02:00
* Create object $mysoc ( A " Societe " object that contains properties of companies managed by Dolibarr .
2006-02-03 17:42:39 +01:00
*/
2009-05-08 03:23:33 +02:00
if ( ! defined ( 'NOREQUIREDB' ) && ! defined ( 'NOREQUIRESOC' ))
2006-06-16 02:33:04 +02:00
{
2009-05-08 03:23:33 +02:00
require_once ( DOL_DOCUMENT_ROOT . " /societe.class.php " );
2007-09-09 13:16:33 +02:00
$mysoc = new Societe ( $db );
2009-05-08 03:23:33 +02:00
2007-09-09 13:16:33 +02:00
$mysoc -> id = 0 ;
$mysoc -> nom = $conf -> global -> MAIN_INFO_SOCIETE_NOM ;
$mysoc -> adresse = $conf -> global -> MAIN_INFO_SOCIETE_ADRESSE ;
$mysoc -> cp = $conf -> global -> MAIN_INFO_SOCIETE_CP ;
$mysoc -> ville = $conf -> global -> MAIN_INFO_SOCIETE_VILLE ;
// Si dans MAIN_INFO_SOCIETE_PAYS on a un id de pays, on recupere code
if ( is_numeric ( $conf -> global -> MAIN_INFO_SOCIETE_PAYS ))
{
$mysoc -> pays_id = $conf -> global -> MAIN_INFO_SOCIETE_PAYS ;
2009-04-29 20:44:37 +02:00
$sql = " SELECT code from " . MAIN_DB_PREFIX . " c_pays " ;
$sql .= " WHERE rowid = " . $conf -> global -> MAIN_INFO_SOCIETE_PAYS ;
$result = $db -> query ( $sql );
if ( $result )
{
$obj = $db -> fetch_object ();
$mysoc -> pays_code = $obj -> code ;
}
else {
dol_print_error ( $db );
}
2007-09-09 13:16:33 +02:00
}
// Si dans MAIN_INFO_SOCIETE_PAYS on a deja un code, tout est fait
else
{
$mysoc -> pays_code = $conf -> global -> MAIN_INFO_SOCIETE_PAYS ;
}
$mysoc -> tel = $conf -> global -> MAIN_INFO_SOCIETE_TEL ;
$mysoc -> fax = $conf -> global -> MAIN_INFO_SOCIETE_FAX ;
$mysoc -> url = $conf -> global -> MAIN_INFO_SOCIETE_WEB ;
// Anciens id prof
2009-01-21 14:06:34 +01:00
$mysoc -> siren = empty ( $conf -> global -> MAIN_INFO_SIREN ) ? '' : $conf -> global -> MAIN_INFO_SIREN ;
$mysoc -> siret = empty ( $conf -> global -> MAIN_INFO_SIRET ) ? '' : $conf -> global -> MAIN_INFO_SIRET ;
$mysoc -> ape = empty ( $conf -> global -> MAIN_INFO_APE ) ? '' : $conf -> global -> MAIN_INFO_APE ;
$mysoc -> rcs = empty ( $conf -> global -> MAIN_INFO_RCS ) ? '' : $conf -> global -> MAIN_INFO_RCS ;
2009-09-15 18:05:58 +02:00
// Id prof generiques
2009-01-21 14:06:34 +01:00
$mysoc -> profid1 = empty ( $conf -> global -> MAIN_INFO_SIREN ) ? '' : $conf -> global -> MAIN_INFO_SIREN ;
$mysoc -> profid2 = empty ( $conf -> global -> MAIN_INFO_SIRET ) ? '' : $conf -> global -> MAIN_INFO_SIRET ;
$mysoc -> profid3 = empty ( $conf -> global -> MAIN_INFO_APE ) ? '' : $conf -> global -> MAIN_INFO_APE ;
$mysoc -> profid4 = empty ( $conf -> global -> MAIN_INFO_RCS ) ? '' : $conf -> global -> MAIN_INFO_RCS ;
2007-09-09 13:16:33 +02:00
$mysoc -> tva_intra = $conf -> global -> MAIN_INFO_TVAINTRA ;
$mysoc -> capital = $conf -> global -> MAIN_INFO_CAPITAL ;
$mysoc -> forme_juridique_code = $conf -> global -> MAIN_INFO_SOCIETE_FORME_JURIDIQUE ;
$mysoc -> email = $conf -> global -> MAIN_INFO_SOCIETE_MAIL ;
$mysoc -> adresse_full = $mysoc -> adresse . " \n " . $mysoc -> cp . " " . $mysoc -> ville ;
$mysoc -> logo = $conf -> global -> MAIN_INFO_SOCIETE_LOGO ;
$mysoc -> logo_small = $conf -> global -> MAIN_INFO_SOCIETE_LOGO_SMALL ;
$mysoc -> logo_mini = $conf -> global -> MAIN_INFO_SOCIETE_LOGO_MINI ;
2009-07-29 18:13:33 +02:00
// Define if company use vat or not (Do not use conf->global->FACTURE_TVAOPTION anymore)
$mysoc -> tva_assuj = ( $conf -> global -> FACTURE_TVAOPTION == 'franchise' ? 0 : 1 );
2006-06-16 02:33:04 +02:00
}
2006-02-03 17:42:39 +01:00
2009-05-08 03:23:33 +02:00
/*
* Set default language ( must be after the setValues of $conf )
*/
if ( ! defined ( 'NOREQUIRETRAN' ))
{
$langs -> setDefaultLang ( $conf -> global -> MAIN_LANG_DEFAULT );
}
/*
* Pour utiliser d ' autres versions des librairies externes que les
2009-08-29 20:08:46 +02:00
* versions embarquees dans Dolibarr , definir les constantes adequates :
2009-05-08 03:23:33 +02:00
* Pour FPDF : FPDF_PATH
* Pour PHP_WriteExcel : PHP_WRITEEXCEL_PATH
* Pour MagpieRss : MAGPIERSS_PATH
* Pour PHPlot : PHPLOT_PATH
* Pour JPGraph : JPGRAPH_PATH
* Pour NuSOAP : NUSOAP_PATH
* Pour TCPDF : TCPDF_PATH
*/
// Les path racines
if ( ! defined ( 'FPDF_PATH' )) { define ( 'FPDF_PATH' , DOL_DOCUMENT_ROOT . '/includes/fpdf/fpdf/' ); }
if ( ! defined ( 'FPDFI_PATH' )) { define ( 'FPDFI_PATH' , DOL_DOCUMENT_ROOT . '/includes/fpdf/fpdfi/' ); }
if ( ! defined ( 'MAGPIERSS_PATH' )) { define ( 'MAGPIERSS_PATH' , DOL_DOCUMENT_ROOT . '/includes/magpierss/' ); }
if ( ! defined ( 'JPGRAPH_PATH' )) { define ( 'JPGRAPH_PATH' , DOL_DOCUMENT_ROOT . '/includes/jpgraph/' ); }
if ( ! defined ( 'NUSOAP_PATH' )) { define ( 'NUSOAP_PATH' , DOL_DOCUMENT_ROOT . '/includes/nusoap/lib/' ); }
if ( ! defined ( 'PHP_WRITEEXCEL_PATH' )) { define ( 'PHP_WRITEEXCEL_PATH' , DOL_DOCUMENT_ROOT . '/includes/php_writeexcel/' ); }
if ( ! defined ( 'PHPEXCELREADER' )) { define ( 'PHPEXCELREADER' , DOL_DOCUMENT_ROOT . '/includes/phpexcelreader/' ); }
// Les autres path
if ( ! defined ( 'FPDF_FONTPATH' )) { define ( 'FPDF_FONTPATH' , FPDF_PATH . 'font/' ); }
if ( ! defined ( 'MAGPIE_DIR' )) { define ( 'MAGPIE_DIR' , MAGPIERSS_PATH ); }
if ( ! defined ( 'MAGPIE_CACHE_DIR' )) { define ( 'MAGPIE_CACHE_DIR' , $conf -> externalrss -> dir_temp ); }
2008-01-10 23:21:18 +01:00
2009-05-08 03:23:33 +02:00
if ( ! defined ( 'MAIN_LABEL_MENTION_NPR' ) ) define ( 'MAIN_LABEL_MENTION_NPR' , 'NPR' );
2006-05-05 22:01:58 +02:00
?>