diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index fbc462229d6..8637c5d1048 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -1,7 +1,6 @@ # Dolibarr language file - en_US - main charset="iso-8859-1" Error=Error -ErrorForbidden=Access forbidden ErrorFileDoesNotExists=File %s does not exists ErrorCanNotCreateDir=Can not create dir %s ErrorConstantNotDefined=Parameter %s not defined diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index eb7b5924f12..c98d60368fd 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -4,6 +4,9 @@ LoginWebcal=Login for Webcalendar AddCalendarEntry=Add entry in calendar ErrorWebcalLoginNotDefined=The Webcalendar login associated to your Dolibarr login %s is not defined. ErrorPasswordDiffers=Passwords differs, please type them again. +ErrorForbidden=Access forbidden.
You try to access to a page, area or feature that is not allowed to your user. +ErrorForbidden2=Permission for this login can be defined by your Dolibarr administrator from menu %s->%s. +ErrorForbidden3=It seems that Dolibarr is not used through an authenticated session. Take a look at Dolibarr setup documentation to know how to manage authentications (htaccess, mod_auth or other...). Mailing=Mailing MailingDesc=This page allows you to send mailings to a group of people. MailingResult=Sending mails result diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index b16ab53b733..b758b427aa7 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -1,7 +1,6 @@ # Dolibarr language file - fr_FR - main charset="iso-8859-1" Error=Erreur -ErrorForbidden=Accès non autorisé ErrorFileDoesNotExists=Le fichier %s n'existe pas ErrorCanNotCreateDir=Impossible de créer le répertoire %s ErrorConstantNotDefined=Paramètre %s non défini diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index f0b3f11306e..14025e98efb 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -4,6 +4,9 @@ LoginWebcal=Login Webcalendar AddCalendarEntry=Ajouter entrée dans le calendrier ErrorWebcalLoginNotDefined=Le login Webcalendar associé à votre login Dolibarr %s n'est pas défini. ErrorPasswordDiffers=Les mots de passe ne sont pas identiques, veuillez les saisir à nouveau +ErrorForbidden=Accès non autorisé.
Vous essayez d'accéder à une page, zone ou fonction qui n'est pas autorisée pour votre compte utilisateur. +ErrorForbidden2=Les permissions pour ce login peuvent être attribuée par l'administrateur Dolibarr via le menu %s->%s. +ErrorForbidden3=Dolibarr ne semble pas fonctionner au sein d'une session authentifiée. Consulter la documentation d'installation de Dolibarr pour connaitre comment gérer les autentifications (htaccess, mod_auth ou autre...). Mailing=Mailing MailingDesc=Cet écran vous permet d'envoyer des mailing à un groupe de personne. MailingResult=Résultat de l'envoi du mailing diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index fd14a88df62..ba4675320e8 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -1,7 +1,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004 Laurent Destailleur + * Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Christophe Combelles @@ -560,59 +560,73 @@ function loginfunction() '; } + /** \brief Affiche message erreur de type acces interdit et arrete le programme - \remarks l'appel a cette fonction termine le code + \remarks L'appel a cette fonction termine le code. */ function accessforbidden() { - global $langs; + global $user, $langs; + $langs->load("other"); llxHeader(); - print $langs->trans("ErrorForbidden"); + print '
'.$langs->trans("ErrorForbidden").'
'; + print '
'; + if ($user->login) { + print $langs->trans("Login").": ".$user->login."
"; + print $langs->trans("ErrorForbidden2",$langs->trans("Home"),$langs->trans("Users")); + } + else { + print $langs->trans("ErrorForbidden3"); + } llxFooter(); exit(0); } + /** \brief Affiche message erreur system avec toutes les informations pour faciliter le diagnostique et la remontée des bugs. - On doit appeler cette fonction quand une erreur technique bloquante est rencontrée. - Toutefois, il faut essayer de ne l'appeler qu'au sein de page php, les classes devant - renvoyer leur erreur par l'intermédiaire de leur propriété "error". + On doit appeler cette fonction quand une erreur technique bloquante est rencontrée. + Toutefois, il faut essayer de ne l'appeler qu'au sein de page php, les classes devant + renvoyer leur erreur par l'intermédiaire de leur propriété "error". + \param db Handler de base utilisé + \param msg Message complémentaire à afficher */ function dolibarr_print_error($db='',$msg='') { global $langs; $syslog = ''; - if ($_SERVER['DOCUMENT_ROOT']) { - // Mode web + if ($_SERVER['DOCUMENT_ROOT']) // Mode web + { print "Dolibarr a détecté une erreur technique.
\n"; print "Voici les informations qui pourront aider au diagnostique:

\n"; - print "Serveur: ".$_SERVER["SERVER_SOFTWARE"]."
\n";; + print "".$langs->trans("Server").": ".$_SERVER["SERVER_SOFTWARE"]."
\n";; print "URL sollicitée: ".$_SERVER["REQUEST_URI"]."
\n";; print "QUERY_STRING: ".$_SERVER["QUERY_STRING"]."
\n";; print "Referer: ".$_SERVER["HTTP_REFERER"]."
\n";; $syslog.="url=".$_SERVER["REQUEST_URI"]; $syslog.=", query_string=".$_SERVER["QUERY_STRING"]; } - else { - // Mode CLI + else // Mode CLI + { + print "Erreur interne détectée...\n"; $syslog.="pid=".getmypid(); } if ($db) { - if ($_SERVER['DOCUMENT_ROOT']) { - // Mode web + if ($_SERVER['DOCUMENT_ROOT']) // Mode web + { print "
\n"; print "Requete dernier acces en base: ".$db->lastquery()."
\n"; print "Code retour dernier acces en base: ".$db->errno()."
\n"; print "Information sur le dernier accès en base: ".$db->error()."
\n"; } - else { - // Mode CLI + else // Mode CLI + { print "Requete dernier acces en base:\n".$db->lastquery()."\n"; print "Code retour dernier acces en base:\n".$db->errno()."\n"; print "Information sur le dernier accès en base:\n".$db->error()."\n"; @@ -623,12 +637,13 @@ function dolibarr_print_error($db='',$msg='') } if ($msg) { - if ($_SERVER['DOCUMENT_ROOT']) { - // Mode web - print "Message: ".$msg."
\n" ; - } else { - // Mode CLI - print "Message:\n".$msg."\n" ; + if ($_SERVER['DOCUMENT_ROOT']) // Mode web + { + print "".$langs->trans("Message").": ".$msg."
\n" ; + } + else // Mode CLI + { + print $langs->trans("Message").":\n".$msg."\n" ; } $syslog.=", msg=".$msg; }