Les $GLOBALS["REMOTE_USER"] ont t remplaces par $_SERVER["REMOTE_USER"] dans la page main de connexion

et par $user->login dans les pages utilisatrices.
This commit is contained in:
Laurent Destailleur 2004-03-28 18:57:11 +00:00
parent 655e3dbdc8
commit 0d5c231d8d
15 changed files with 78 additions and 62 deletions

View File

@ -37,7 +37,7 @@ $ynn["0"] = "non";
if ($action == 'add')
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bookmark (fk_soc, dateb, author) VALUES ($socidp, now(),'". $GLOBALS["REMOTE_USER"]."');";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."bookmark (fk_soc, dateb, author) VALUES ($socidp, now(),'". $user->login ."');";
if (! $db->query($sql) )
{
print $db->error();
@ -46,7 +46,7 @@ if ($action == 'add')
if ($action == 'delete')
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bookmark WHERE rowid=$bid AND author = '". $GLOBALS["REMOTE_USER"]."'";
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bookmark WHERE rowid=$bid AND author = '". $user->login ."'";
$result = $db->query($sql);
}

View File

@ -49,14 +49,14 @@ if ($action == 'attribute_prefix') {
if ($action == 'recontact') {
$dr = mktime(0, 0, 0, $remonth, $reday, $reyear);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."soc_recontact (fk_soc, datere, author) VALUES ($socid, $dr,'". $GLOBALS["REMOTE_USER"]."')";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."soc_recontact (fk_soc, datere, author) VALUES ($socid, $dr,'". $user->login ."')";
$result = $db->query($sql);
}
if ($action == 'stcomm') {
if ($stcommid <> 'null' && $stcommid <> $oldstcomm) {
$sql = "INSERT INTO socstatutlog (datel, fk_soc, fk_statut, author) ";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $GLOBALS["REMOTE_USER"] . "')";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $user->login . "')";
$result = @$db->query($sql);
if ($result) {

View File

@ -31,8 +31,6 @@ llxHeader();
if ($action == 'add')
{
$author = $GLOBALS["REMOTE_USER"];
if ($credit > 0)
{
$amount = $credit ;

View File

@ -27,7 +27,7 @@ if (!$user->rights->banque->modifier)
llxHeader();
if ($HTTP_POST_VARS["action"] == 'confirm_delete_categ' && $HTTP_POST_VARS["confirm"] == yes)
if ($_POST["action"] == 'confirm_delete_categ' && $_POST["confirm"] == yes)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_class WHERE lineid = $rowid AND fk_categ = $cat1";
$db->query($sql);
@ -52,9 +52,7 @@ if ($action == 'class')
if ($action == 'update')
{
$author = $GLOBALS["REMOTE_USER"];
//avant de modifier la date ou le montant, on controle si ce n'est pas encore rapproche
//print_r ($_POST);
// Avant de modifier la date ou le montant, on controle si ce n'est pas encore rapproche
if (!empty($_POST['amount']))
{
$sql = "SELECT b.rappro FROM ".MAIN_DB_PREFIX."bank as b WHERE rowid=$rowid";

View File

@ -90,7 +90,7 @@ if ($action == 'attribute_prefix')
if ($action == 'recontact')
{
$dr = mktime(0, 0, 0, $remonth, $reday, $reyear);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."soc_recontact (fk_soc, datere, author) VALUES ($socid, $dr,'". $GLOBALS["REMOTE_USER"]."')";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."soc_recontact (fk_soc, datere, author) VALUES ($socid, $dr,'". $user->login ."')";
$result = $db->query($sql);
}
@ -105,7 +105,7 @@ if ($action == 'stcomm')
if ($stcommid <> 'null' && $stcommid <> $oldstcomm)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."socstatutlog (datel, fk_soc, fk_statut, author) ";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $GLOBALS["REMOTE_USER"] . "')";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $user->login . "')";
$result = @$db->query($sql);
if ($result)

View File

@ -71,7 +71,7 @@ if ($action == 'attribute_prefix')
if ($action == 'recontact')
{
$dr = mktime(0, 0, 0, $remonth, $reday, $reyear);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."soc_recontact (fk_soc, datere, author) VALUES ($socid, $dr,'". $GLOBALS["REMOTE_USER"]."')";
$sql = "INSERT INTO ".MAIN_DB_PREFIX."soc_recontact (fk_soc, datere, author) VALUES ($socid, $dr,'". $user->login ."')";
$result = $db->query($sql);
}
@ -80,7 +80,7 @@ if ($action == 'stcomm')
if ($stcommid <> 'null' && $stcommid <> $oldstcomm)
{
$sql = "INSERT INTO socstatutlog (datel, fk_soc, fk_statut, author) ";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $GLOBALS["REMOTE_USER"] . "')";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $user->login . "')";
$result = @$db->query($sql);
if ($result)

View File

@ -27,7 +27,6 @@ require("./reduc.class.php");
llxHeader();
if ($action == 'add') {
$author = $GLOBALS["REMOTE_USER"];
$sql = "INSERT INTO ".MAIN_DB_PREFIX."voyage (date_depart, date_arrivee, amount, depart, arrivee, fk_reduc) ";
$sql .= " VALUES ('$date_depart','$date_arrivee',$amount,'$depart','$arrivee',$reduc);";

View File

@ -25,7 +25,6 @@ require("./pre.inc.php");
llxHeader();
if ($action == 'add') {
$author = $GLOBALS["REMOTE_USER"];
$sql = "INSERT INTO ".MAIN_DB_PREFIX."voyage (date_depart, date_arrivee, amount, depart, arrivee, fk_reduc, reduction) ";
$sql .= " VALUES ('$date_depart','$date_arrivee',$amount,'$depart','$arrivee',$reducid, $reduc);";

View File

@ -25,7 +25,6 @@ require("./pre.inc.php");
llxHeader();
if ($action == 'add') {
$author = $GLOBALS["REMOTE_USER"];
$sql = "INSERT INTO ".MAIN_DB_PREFIX."voyage (date_depart, date_arrivee, amount, depart, arrivee, fk_reduc, reduction) ";
$sql .= " VALUES ('$date_depart','$date_arrivee',$amount,'$depart','$arrivee',$reducid, $reduc);";

View File

@ -50,7 +50,7 @@ if ($action == 'note')
if ($action == 'stcomm') {
if ($stcommid <> 'null' && $stcommid <> $oldstcomm) {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."socstatutlog (datel, fk_soc, fk_statut, author) ";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $GLOBALS["REMOTE_USER"] . "')";
$sql .= " VALUES ('$dateaction',$socid,$stcommid,'" . $user->login . "')";
$result = @$db->query($sql);
if ($result) {

View File

@ -26,7 +26,7 @@ pHeader("Fichier de configuration","etape2");
$etape = 1;
$conf = "../conf/conf.php";
$conffile = "../conf/conf.php";
if ($HTTP_POST_VARS["action"] == "set")
{
@ -35,7 +35,7 @@ if ($HTTP_POST_VARS["action"] == "set")
print '<table cellspacing="0" width="100%" cellpadding="4" border="0">';
$error=0;
$fp = fopen("$conf", "w");
$fp = fopen("$conffile", "w");
if($fp)
{
if (substr($HTTP_POST_VARS["main_dir"], strlen($HTTP_POST_VARS["main_dir"]) -1) == "/")
@ -74,9 +74,9 @@ if ($HTTP_POST_VARS["action"] == "set")
fputs($fp, '?>');
fclose($fp);
if (file_exists("$conf"))
if (file_exists("$conffile"))
{
include ("$conf");
include ("$conffile");
print "<tr><td>Configuration enregistrée</td><td>OK</td>";
$error = 0;
}
@ -156,22 +156,36 @@ if ($HTTP_POST_VARS["action"] == "set")
*/
if ($error == 0)
{
// Defini $dolibarr_...
if (file_exists($conf))
{
include($conf);
}
require ($dolibarr_main_document_root . "/lib/mysql.lib.php");
require ($dolibarr_main_document_root . "/conf/conf.class.php");
// TODO
// Il y a encore des pb ds la procédure d'install qui ne passe dans pas tous les cas
// (exemple, rien n'existe et on veut crée une base avec un compte admin != root)
// L'algorithme ne semble pas adapté à tous les cas, il devrait etre remplacé par le suivant:
//
// On essaie l'accès par le user admin dolibarr
// si accès serveur ok et accès base ok, tout est ok, on ne va pas plus loin, on a même pas utilisé le compte root.
// si accès serveur ok et accès base ko, warning 1
// si accès serveur ko, warning 2
// Si warning, on essai de se connecter au serveur via le super user root
// Si connexion serveur par root ok et accès base ko, on la créée
// Si création ok, on y accède
// Si création ko, erreur
// Si connexion serveur par root ok et si accès base ok,
// si compte admin existe deja et db_create_user positionné, on ajoute les droits,
// si compte admin existe deja et db_create_user non positionné, erreur compte admin incorrect "Le compte admin indiqué existe mais n'a pas les droits sur la base. Veuillez cocher pour les ajouter"
// si compte admin n'existe pas deja et db_create_user positionné, on crée le compte
// si compte admin n'existe pas deja et db_create_user non positionné, erreur compte admin inexistant "Veuillez cocher pour le créer"
// Si creation utilisateur admin demandée, on le crée
if (isset($HTTP_POST_VARS["db_create_user"]) && $HTTP_POST_VARS["db_create_user"] == "on")
{
$conf = new Conf();
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = "mysql";
$conf->db->user = isset($HTTP_POST_VARS["db_user_root"])?$HTTP_POST_VARS["db_user_root"]:"";
$conf->db->pass = isset($HTTP_POST_VARS["db_user_pass"])?$HTTP_POST_VARS["db_user_pass"]:"";
$conf->db->pass = isset($HTTP_POST_VARS["db_pass_root"])?$HTTP_POST_VARS["db_pass_root"]:"";
//print $conf->db->host." , ".$conf->db->name." , ".$conf->db->user." , ".$conf->db->pass;
$db = new DoliDb();
@ -179,6 +193,8 @@ if ($HTTP_POST_VARS["action"] == "set")
$sql .= "(Host,User,password)";
$sql .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_user',password('$dolibarr_main_db_pass'))";
$db->query($sql);
$sql = "INSERT INTO db ";
$sql .= "(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv)";
$sql .= " VALUES ('$dolibarr_main_db_host','$dolibarr_main_db_name','$dolibarr_main_db_user'";
@ -206,12 +222,14 @@ if ($HTTP_POST_VARS["action"] == "set")
$db->close();
}
// Tentative accès serveur et base par le user admin dolibarr
$conf = new Conf();
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name;
$conf->db->user = $dolibarr_main_db_user;
$conf->db->pass = $dolibarr_main_db_pass;
$db = new DoliDb();
//print "$dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name";
$db = new DoliDb();
$ok = 1;
if ($ok)
@ -223,7 +241,7 @@ if ($HTTP_POST_VARS["action"] == "set")
else
{
print "<tr><td>Connexion au serveur : $dolibarr_main_db_host</td><td>ERREUR</td></tr>";
$ok = 0;
$ok = 0;
}
}
@ -251,7 +269,7 @@ if ($HTTP_POST_VARS["action"] == "set")
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = "mysql";
$conf->db->user = isset($HTTP_POST_VARS["db_user_root"])?$HTTP_POST_VARS["db_user_root"]:"";
$conf->db->pass = isset($HTTP_POST_VARS["db_user_pass"])?$HTTP_POST_VARS["db_user_pass"]:"";
$conf->db->pass = isset($HTTP_POST_VARS["db_pass_root"])?$HTTP_POST_VARS["db_pass_root"]:"";
$db = new DoliDb();
if ($ok)

View File

@ -75,46 +75,51 @@ require (DOL_DOCUMENT_ROOT ."/html.form.class.php");
require DOL_DOCUMENT_ROOT ."/user.class.php";
//require "Smarty.class.php";
$db = new DoliDb();
$db = new DoliDb();
$user = new User($db);
clearstatcache();
//XAVIER DUTOIT 18/09/2003 : si l'utilisateur n'est pas authentifié apache, on essaie pear Auth
if (!empty ($HTTP_SERVER_VARS["REMOTE_USER"]))
// Verification du login.
// Cette verification est faite pour chaque accès. Après l'authentification,
// l'objet $user est initialisée. Notament $user->id, $user->login et $user->nom, $user->prenom
// TODO : Stocker les infos de $user en session persistente php et ajouter recup dans le fetch
// depuis la sessions pour ne pas avoir a acceder a la base a chaque acces de page.
// TODO : Utiliser $user->id pour stocker l'id de l'auteur dans les tables plutot que $_SERVER["REMOTE_USER"]
if (!empty ($_SERVER["REMOTE_USER"]))
{
$user->fetch($HTTP_SERVER_VARS["REMOTE_USER"]);
// Authentification Apache OK, on va chercher les infos du user
$user->fetch($_SERVER["REMOTE_USER"]);
}
else
{
// Authentification Apache KO ou non active
if (!empty ($dolibarr_auto_user))
{
$user->fetch($dolibarr_auto_user);
}
else
{
// TODO
// Tester si auth est installé, et si non renvoyé erreur demandant install
// d'une area d'authentification apache ou de auth.
$modules_list = get_loaded_extensions();
// Test si Pear est operationnel
$ispearinstalled=0;
$modules_list = get_loaded_extensions();
foreach ($modules_list as $module)
{
if ($module == 'pear') { $ispearinstalled=1; }
}
$ispearinstalled=1; // MODIF RODO, le test ne marche pas
if (! $ispearinstalled) {
print "Pour fonctionner, Dolibarr a besoin :<br>\n";
print "- Soit du module PHP 'pear' (actuellement, votre php contient les modules suivant: ".join($modules_list,',')."<br>\n";
print "- Soit d'avoir son répertoire htdocs protégé par une authentification Web basique (Exemple pour Apache: Utilisation des directives Authxxx dans la configuration, ou utilisation du fichier .htaccess).<br>\n";
print "<br><br>Vous devez respecter un de ces pré-requis pour continuer.\n";
exit ;
print "Pour fonctionner, Dolibarr a besoin :<br>\n";
print "- Soit du module PHP 'pear' (actuellement, votre php contient les modules suivant: ".join($modules_list,',')."<br>\n";
print "- Soit d'avoir son répertoire htdocs protégé par une authentification Web basique (Exemple pour Apache: Utilisation des directives Authxxx dans la configuration, ou utilisation du fichier .htaccess).<br>\n";
print "<br><br>Vous devez respecter un de ces pré-requis pour continuer.\n";
exit ;
}
require_once "Auth/Auth.php";
@ -131,7 +136,8 @@ else
$result = $aDol->getAuth();
if ($result)
{
$user->fetch($aDol->getUsername());
// Authentification Auth OK, on va chercher les infos du user
$user->fetch($aDol->getUsername());
}
else
{
@ -293,7 +299,6 @@ if (defined("MAIN_MODULE_PROPALE"))
/*
* TODO RODO
* Modification de quelques variable de conf en fonction des Constantes
*/
@ -483,7 +488,7 @@ function top_menu($head, $title="")
print '<td width="10%" class="menu" align="center">' ;
if (empty ($GLOBALS["REMOTE_USER"]))
if (empty ($_SERVER["REMOTE_USER"])) // Propose ou non de se deloguer si authentication Apache ou non
{
print '<a href="'.DOL_URL_ROOT.'/user/logout.php" title="logout">'.$user->login.'</a>' ;
}
@ -538,7 +543,7 @@ Function left_menu($menu, $help_url='', $form_search='', $author='')
if (defined("MAIN_SEARCHFORM_SOCIETE") && MAIN_SEARCHFORM_SOCIETE > 0)
{
if (strstr($GLOBALS["SCRIPT_URL"], "/comm/prospect/"))
if (strstr($_SERVER["SCRIPT_URL"], "/comm/prospect/"))
{
print '<form action="'.DOL_URL_ROOT.'/comm/prospect/prospects.php">';
}

View File

@ -36,12 +36,12 @@ $error=0;
if ($action == 'update')
{
if ($HTTP_POST_VARS["bouton"] == "Enregistrer")
if ($_POST["bouton"] == "Enregistrer")
{
if (isset($_SERVER["REMOTE_USER"])){
if (isset($user->login)){
$adh = new Adherent($db);
$adh->fetch_login($_SERVER["REMOTE_USER"]);
if ($HTTP_POST_VARS["rowid"] == $adh->id){
$adh->fetch_login($user->login);
if ($_POST["rowid"] == $adh->id){
// user and rowid is the same => good
// test some values
@ -130,11 +130,11 @@ if ($action == 'update')
llxHeader();
if (isset($_SERVER["REMOTE_USER"])){
if (isset($user->login)){
$adh = new Adherent($db);
$adh->login = $_SERVER["REMOTE_USER"];
$adh->fetch_login($_SERVER["REMOTE_USER"]);
$adh->login = $user->login;
$adh->fetch_login($user->login);
$adh->fetch_optionals($adh->id);
// fetch optionals attibutes
$adho->fetch_optionals();

View File

@ -424,7 +424,7 @@ class User
$sql = "SELECT param, value FROM ".MAIN_DB_PREFIX."user_param";
$sql .= " WHERE fk_user = ".$this->id;
$sql .= " AND page = '".$GLOBALS["SCRIPT_URL"]."'";
$sql .= " AND page = '".$_SERVER["SCRIPT_URL"]."'";
if ( $this->db->query($sql) );
{
@ -696,7 +696,7 @@ class User
$mesg = "Votre mot de passe pour accéder à Dolibarr a été changé :\n\n";
$mesg .= "Login : $this->login\n";
$mesg .= "Mot de passe : $password\n\n";
$mesg .= "Adresse : ".substr($GLOBALS["SCRIPT_URI"],0,strlen($GLOBALS["SCRIPT_URI"]) - 14);
$mesg .= "Adresse : ".substr($_SERVER["SCRIPT_URI"],0,strlen($_SERVER["SCRIPT_URI"]) - 14);
if (mail($this->email, "Mot de passe Dolibarr", $mesg))
{
return 1;

View File

@ -24,7 +24,7 @@
* Pour se déconnecter
* @package User
*/
if (!empty ($GLOBALS["REMOTE_USER"]))
if (!empty ($_SERVER["REMOTE_USER"]))
die("La d&eacute;connection ne fonctionne actuellement que pour l'authentification par pear");
require_once "Auth/Auth.php";
$a = new Auth("DB");