Move conf file information into page of dolibarr conf information.
New: Enhance https forcing.
This commit is contained in:
parent
f1af02f79e
commit
3acd11c13c
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2009 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
|
* Copyright (C) 2009 Regis Houssin <regis@dolibarr.fr>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -27,6 +27,8 @@
|
|||||||
require("./pre.inc.php");
|
require("./pre.inc.php");
|
||||||
|
|
||||||
$langs->load("admin");
|
$langs->load("admin");
|
||||||
|
$langs->load("user");
|
||||||
|
$langs->load("install");
|
||||||
|
|
||||||
|
|
||||||
if (!$user->admin)
|
if (!$user->admin)
|
||||||
@ -41,6 +43,100 @@ llxHeader();
|
|||||||
|
|
||||||
print_fiche_titre($langs->trans("SummaryConst"),'','setup');
|
print_fiche_titre($langs->trans("SummaryConst"),'','setup');
|
||||||
|
|
||||||
|
|
||||||
|
print_titre($langs->trans("ConfigurationFile"));
|
||||||
|
// Parameters in conf.php file
|
||||||
|
$configfileparameters=array(
|
||||||
|
// 'separator',
|
||||||
|
'dolibarr_main_url_root',
|
||||||
|
'dolibarr_main_document_root',
|
||||||
|
'dolibarr_main_data_root',
|
||||||
|
'separator',
|
||||||
|
'dolibarr_main_db_host',
|
||||||
|
'dolibarr_main_db_port',
|
||||||
|
'dolibarr_main_db_name',
|
||||||
|
'dolibarr_main_db_type',
|
||||||
|
'dolibarr_main_db_user',
|
||||||
|
'dolibarr_main_db_pass',
|
||||||
|
'dolibarr_main_db_character_set',
|
||||||
|
'dolibarr_main_db_collation',
|
||||||
|
'separator',
|
||||||
|
'dolibarr_main_authentication',
|
||||||
|
'separator',
|
||||||
|
'dolibarr_main_auth_ldap_login_attribute',
|
||||||
|
'dolibarr_main_auth_ldap_host',
|
||||||
|
'dolibarr_main_auth_ldap_port',
|
||||||
|
'dolibarr_main_auth_ldap_version',
|
||||||
|
'dolibarr_main_auth_ldap_dn',
|
||||||
|
'dolibarr_main_auth_ldap_admin_login',
|
||||||
|
'dolibarr_main_auth_ldap_admin_pass',
|
||||||
|
'dolibarr_main_auth_ldap_debug'
|
||||||
|
);
|
||||||
|
$configfilelib=array(
|
||||||
|
// 'separator',
|
||||||
|
$langs->trans("URLRoot"),
|
||||||
|
$langs->trans("DocumentRootServer"),
|
||||||
|
$langs->trans("DataRootServer"),
|
||||||
|
'separator',
|
||||||
|
$langs->trans("DatabaseServer"),
|
||||||
|
$langs->trans("DatabasePort"),
|
||||||
|
$langs->trans("DatabaseName"),
|
||||||
|
$langs->trans("DriverType"),
|
||||||
|
$langs->trans("User"),
|
||||||
|
$langs->trans("Password"),
|
||||||
|
$langs->trans("DBStoringCharset"),
|
||||||
|
$langs->trans("DBSortingCharset"),
|
||||||
|
'separator',
|
||||||
|
$langs->trans("AuthenticationMode"),
|
||||||
|
'separator',
|
||||||
|
'dolibarr_main_auth_ldap_login_attribute',
|
||||||
|
'dolibarr_main_auth_ldap_host',
|
||||||
|
'dolibarr_main_auth_ldap_port',
|
||||||
|
'dolibarr_main_auth_ldap_version',
|
||||||
|
'dolibarr_main_auth_ldap_dn',
|
||||||
|
'dolibarr_main_auth_ldap_admin_login',
|
||||||
|
'dolibarr_main_auth_ldap_admin_pass',
|
||||||
|
'dolibarr_main_auth_ldap_debug'
|
||||||
|
);
|
||||||
|
$var=true;
|
||||||
|
print '<table class="noborder" width="100%">';
|
||||||
|
print '<tr class="liste_titre"><td width="280">'.$langs->trans("Label").'</td>';
|
||||||
|
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||||
|
print '<td>'.$langs->trans("Value").'</td>';
|
||||||
|
print '</tr>'."\n";
|
||||||
|
$i=0;
|
||||||
|
foreach($configfileparameters as $key)
|
||||||
|
{
|
||||||
|
$var=!$var;
|
||||||
|
print "<tr ".$bc[$var].">";
|
||||||
|
if ($key == 'separator')
|
||||||
|
{
|
||||||
|
print '<td colspan="3"> </td>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
print "<td>".$configfilelib[$i].'</td><td>'.$key.'</td>';
|
||||||
|
print "<td>";
|
||||||
|
if ($key == 'dolibarr_main_db_pass') print preg_replace('/./i','*',${$key});
|
||||||
|
else print ${$key};
|
||||||
|
// TODO Afficher charset effectif de base $db
|
||||||
|
if ($key == 'dolibarr_main_db_charset')
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
print "</td>";
|
||||||
|
}
|
||||||
|
print "</tr>\n";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
print '</table>';
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Parameters in database
|
||||||
|
print_titre($langs->trans("Database"));
|
||||||
print '<table class="noborder">';
|
print '<table class="noborder">';
|
||||||
print '<tr class="liste_titre">';
|
print '<tr class="liste_titre">';
|
||||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
print '<td>'.$langs->trans("Parameter").'</td>';
|
||||||
@ -73,18 +169,18 @@ if ($resql)
|
|||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$var=True;
|
$var=True;
|
||||||
|
|
||||||
while ($i < $num)
|
while ($i < $num)
|
||||||
{
|
{
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
|
|
||||||
print '<tr '.$bc[$var].'>';
|
print '<tr '.$bc[$var].'>';
|
||||||
print '<td>'.$obj->name.'</td>'."\n";
|
print '<td>'.$obj->name.'</td>'."\n";
|
||||||
print '<td>'.$obj->value.'</td>'."\n";
|
print '<td>'.$obj->value.'</td>'."\n";
|
||||||
if (empty($conf->multicompany->enabled) || !$user->entity) print '<td>'.$obj->entity.'</td>'."\n"; // If superadmin or multicompany disabled
|
if (empty($conf->multicompany->enabled) || !$user->entity) print '<td>'.$obj->entity.'</td>'."\n"; // If superadmin or multicompany disabled
|
||||||
print "</tr>\n";
|
print "</tr>\n";
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,8 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \file htdocs/lib/memory.lib.php
|
* \file htdocs/admin/system/dolibarr.php
|
||||||
* \brief Fichier page info systemes Dolibarr
|
* \brief Page to show Dolibarr informations
|
||||||
* \version $Id$
|
* \version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ print '<br>';
|
|||||||
// Session
|
// Session
|
||||||
$var=true;
|
$var=true;
|
||||||
print '<table class="noborder" width="100%">';
|
print '<table class="noborder" width="100%">';
|
||||||
print '<tr class="liste_titre"><td>'.$langs->trans("Version").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>'."\n";
|
print '<tr class="liste_titre"><td>'.$langs->trans("Session").'</td><td colspan="2">'.$langs->trans("Value").'</td></tr>'."\n";
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
print "<tr ".$bc[$var]."><td width=\"300\">".$langs->trans("SessionSavePath").'</td><td colspan="2">'.session_save_path()."</td></tr>\n";
|
print "<tr ".$bc[$var]."><td width=\"300\">".$langs->trans("SessionSavePath").'</td><td colspan="2">'.session_save_path()."</td></tr>\n";
|
||||||
$var=!$var;
|
$var=!$var;
|
||||||
|
|||||||
@ -91,94 +91,5 @@ print "<tr $bc[0]><td width=\"280\">".$langs->trans("Version")."</td><td>" .$dbl
|
|||||||
print '</table>';
|
print '</table>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
// conf.php file
|
|
||||||
$configfileparameters=array(
|
|
||||||
// 'separator',
|
|
||||||
'dolibarr_main_url_root',
|
|
||||||
'dolibarr_main_document_root',
|
|
||||||
'dolibarr_main_data_root',
|
|
||||||
'separator',
|
|
||||||
'dolibarr_main_db_host',
|
|
||||||
'dolibarr_main_db_port',
|
|
||||||
'dolibarr_main_db_name',
|
|
||||||
'dolibarr_main_db_type',
|
|
||||||
'dolibarr_main_db_user',
|
|
||||||
'dolibarr_main_db_pass',
|
|
||||||
'dolibarr_main_db_character_set',
|
|
||||||
'dolibarr_main_db_collation',
|
|
||||||
'separator',
|
|
||||||
'dolibarr_main_authentication',
|
|
||||||
'separator',
|
|
||||||
'dolibarr_main_auth_ldap_login_attribute',
|
|
||||||
'dolibarr_main_auth_ldap_host',
|
|
||||||
'dolibarr_main_auth_ldap_port',
|
|
||||||
'dolibarr_main_auth_ldap_version',
|
|
||||||
'dolibarr_main_auth_ldap_dn',
|
|
||||||
'dolibarr_main_auth_ldap_admin_login',
|
|
||||||
'dolibarr_main_auth_ldap_admin_pass',
|
|
||||||
'dolibarr_main_auth_ldap_debug'
|
|
||||||
);
|
|
||||||
$configfilelib=array(
|
|
||||||
// 'separator',
|
|
||||||
$langs->trans("URLRoot"),
|
|
||||||
$langs->trans("DocumentRootServer"),
|
|
||||||
$langs->trans("DataRootServer"),
|
|
||||||
'separator',
|
|
||||||
$langs->trans("DatabaseServer"),
|
|
||||||
$langs->trans("DatabasePort"),
|
|
||||||
$langs->trans("DatabaseName"),
|
|
||||||
$langs->trans("DriverType"),
|
|
||||||
$langs->trans("User"),
|
|
||||||
$langs->trans("Password"),
|
|
||||||
$langs->trans("DBStoringCharset"),
|
|
||||||
$langs->trans("DBSortingCharset"),
|
|
||||||
'separator',
|
|
||||||
$langs->trans("AuthenticationMode"),
|
|
||||||
'separator',
|
|
||||||
'dolibarr_main_auth_ldap_login_attribute',
|
|
||||||
'dolibarr_main_auth_ldap_host',
|
|
||||||
'dolibarr_main_auth_ldap_port',
|
|
||||||
'dolibarr_main_auth_ldap_version',
|
|
||||||
'dolibarr_main_auth_ldap_dn',
|
|
||||||
'dolibarr_main_auth_ldap_admin_login',
|
|
||||||
'dolibarr_main_auth_ldap_admin_pass',
|
|
||||||
'dolibarr_main_auth_ldap_debug'
|
|
||||||
);
|
|
||||||
$var=true;
|
|
||||||
print '<table class="noborder" width="100%">';
|
|
||||||
print '<tr class="liste_titre"><td width="280">'.$langs->trans("ConfigurationFile").'</td>';
|
|
||||||
print '<td>'.$langs->trans("Parameter").'</td>';
|
|
||||||
print '<td>'.$langs->trans("Value").'</td>';
|
|
||||||
print '</tr>'."\n";
|
|
||||||
$i=0;
|
|
||||||
foreach($configfileparameters as $key)
|
|
||||||
{
|
|
||||||
$var=!$var;
|
|
||||||
print "<tr ".$bc[$var].">";
|
|
||||||
if ($key == 'separator')
|
|
||||||
{
|
|
||||||
print '<td colspan="3"> </td>';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print "<td>".$configfilelib[$i].'</td><td>'.$key.'</td>';
|
|
||||||
print "<td>";
|
|
||||||
if ($key == 'dolibarr_main_db_pass') print preg_replace('/./i','*',${$key});
|
|
||||||
else print ${$key};
|
|
||||||
// TODO Afficher charset effectif de base $db
|
|
||||||
if ($key == 'dolibarr_main_db_charset')
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
print "</td>";
|
|
||||||
}
|
|
||||||
print "</tr>\n";
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
print '</table>';
|
|
||||||
print '<br>';
|
|
||||||
|
|
||||||
|
|
||||||
llxFooter('$Date$ - $Revision$');
|
llxFooter('$Date$ - $Revision$');
|
||||||
?>
|
?>
|
||||||
|
|||||||
@ -137,9 +137,8 @@ $dolibarr_main_authentication="dolibarr";
|
|||||||
|
|
||||||
# dolibarr_main_force_https
|
# dolibarr_main_force_https
|
||||||
# This parameter allows to force the HTTPS mode.
|
# This parameter allows to force the HTTPS mode.
|
||||||
# Warning: If you enable this parameter, your dolibarr_main_url_root parameter
|
# Warning: If you enable this parameter, your web server must be configured
|
||||||
# must contains an URL with https and web server must be configured to respond
|
# to respond URL with https protocol.
|
||||||
# to such an URL.
|
|
||||||
# Default value: 0
|
# Default value: 0
|
||||||
# Possible values: 0 or 1
|
# Possible values: 0 or 1
|
||||||
# Examples:
|
# Examples:
|
||||||
|
|||||||
@ -133,35 +133,44 @@ session_start();
|
|||||||
// This include will set: config file variable $dolibarr_xxx, $conf, $langs and $mysoc objects
|
// This include will set: config file variable $dolibarr_xxx, $conf, $langs and $mysoc objects
|
||||||
require_once("master.inc.php");
|
require_once("master.inc.php");
|
||||||
|
|
||||||
// Check if HTTPS
|
// Force HTTPS if required ($conf->file->main_force_https is 0/1 or https dolibarr root url)
|
||||||
if ($conf->file->main_force_https)
|
if ($conf->file->main_force_https)
|
||||||
{
|
{
|
||||||
if (! empty($_SERVER["SCRIPT_URI"])) // If SCRIPT_URI supported by server
|
$newurl='';
|
||||||
|
if ($conf->file->main_force_https == '1')
|
||||||
{
|
{
|
||||||
if (preg_match('/^http:/i',$_SERVER["SCRIPT_URI"]) && ! preg_match('/^https:/i',$_SERVER["SCRIPT_URI"])) // If link is http
|
if (! empty($_SERVER["SCRIPT_URI"])) // If SCRIPT_URI supported by server
|
||||||
{
|
{
|
||||||
$newurl=preg_replace('/^http:/i','https:',$_SERVER["SCRIPT_URI"]);
|
if (preg_match('/^http:/i',$_SERVER["SCRIPT_URI"]) && ! preg_match('/^https:/i',$_SERVER["SCRIPT_URI"])) // If link is http
|
||||||
|
{
|
||||||
dol_syslog("main.inc: dolibarr_main_force_https is on, we make a redirect to ".$newurl);
|
$newurl=preg_replace('/^http:/i','https:',$_SERVER["SCRIPT_URI"]);
|
||||||
header("Location: ".$newurl);
|
}
|
||||||
exit;
|
}
|
||||||
|
else // Check HTTPS environment variable (Apache/mod_ssl only)
|
||||||
|
{
|
||||||
|
// $_SERVER["HTTPS"] is 'on' when link is https, otherwise $_SERVER["HTTPS"] is empty or 'off'
|
||||||
|
if (empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on') // If link is http
|
||||||
|
{
|
||||||
|
$uri=preg_replace('/^http(s?):\/\//i','',$dolibarr_main_url_root);
|
||||||
|
$val=explode('/',$uri); // $val[0] contains domain name and port
|
||||||
|
$newurl='https://'.$val[0].$_SERVER["REQUEST_URI"];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // Check on HTTPS environment variable (Apache/mod_ssl only)
|
else
|
||||||
{
|
{
|
||||||
// $_SERVER["HTTPS"] is 'on' when link is https, otherwise $_SERVER["HTTPS"] is empty or 'off'
|
$newurl=$conf->file->main_force_https.$_SERVER["REQUEST_URI"];
|
||||||
if (empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on') // If link is http
|
}
|
||||||
{
|
// Start redirect
|
||||||
$uri=preg_replace('/^http(s?):\/\//i','',$dolibarr_main_url_root);
|
if ($newurl)
|
||||||
$val=explode('/',$uri);
|
{
|
||||||
$domaineport=$val[0]; // $domaineport contient nom domaine et port
|
dol_syslog("main.inc: dolibarr_main_force_https is on, we make a redirect to ".$newurl);
|
||||||
|
header("Location: ".$newurl);
|
||||||
$newurl='https://'.$domaineport.$_SERVER["REQUEST_URI"];
|
exit;
|
||||||
//print 'eee'.$newurl; exit;
|
}
|
||||||
dol_syslog("main.inc: dolibarr_main_force_https is on, we make a redirect to ".$newurl);
|
else
|
||||||
header("Location: ".$newurl);
|
{
|
||||||
exit;
|
dol_syslog("main.inc: dolibarr_main_force_https is on but we failed to forge new https url so no redirect is done", LOG_WARNING);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -75,6 +75,12 @@ if (empty($dolibarr_main_db_host))
|
|||||||
print 'Please, click <a href="install/index.php">here to finish Dolibarr install process</a> ...'."\n";
|
print 'Please, click <a href="install/index.php">here to finish Dolibarr install process</a> ...'."\n";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
if (empty($dolibarr_main_url_root))
|
||||||
|
{
|
||||||
|
print 'Value for parameter dolibarr_main_url_root is not defined in your conf.php file'."\n";
|
||||||
|
print 'You must add here your Dolibarr full Url (Example: http://mydomain/myurl/)'."\n";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
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_db_type)) $dolibarr_main_db_type='mysql'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
|
||||||
if (empty($dolibarr_main_data_root))
|
if (empty($dolibarr_main_data_root))
|
||||||
{
|
{
|
||||||
@ -86,6 +92,7 @@ if (empty($dolibarr_main_data_root))
|
|||||||
// Define some constants
|
// Define some constants
|
||||||
define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem pages php (htdocs)
|
define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem pages php (htdocs)
|
||||||
define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem donnes (documents)
|
define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem donnes (documents)
|
||||||
|
// If dolibarr_main_url_root = auto (Hidden feature for developers only), we try to forge it.
|
||||||
if ($dolibarr_main_url_root == 'auto' && ! empty($_SERVER["SCRIPT_URL"]) && ! empty($_SERVER["SCRIPT_URI"]))
|
if ($dolibarr_main_url_root == 'auto' && ! empty($_SERVER["SCRIPT_URL"]) && ! empty($_SERVER["SCRIPT_URI"]))
|
||||||
{
|
{
|
||||||
$dolibarr_main_url_root=str_replace($_SERVER["SCRIPT_URL"],'',$_SERVER["SCRIPT_URI"]);
|
$dolibarr_main_url_root=str_replace($_SERVER["SCRIPT_URL"],'',$_SERVER["SCRIPT_URI"]);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user