From d9b7bff2fd612263a2c5452bbfcd9d2dec021a9a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 15 Dec 2008 01:04:32 +0000 Subject: [PATCH] Add log inside install pages. --- htdocs/conf/conf.class.php | 4 +- htdocs/install/default.css | 54 +++++++++++---------- htdocs/install/etape4.php | 91 +++++++++++++++++------------------- htdocs/install/etape5.php | 4 +- htdocs/install/inc.php | 22 ++++++++- htdocs/lib/functions.lib.php | 30 +++++++----- htdocs/main.inc.php | 2 +- htdocs/user.class.php | 23 +++++---- 8 files changed, 127 insertions(+), 103 deletions(-) diff --git a/htdocs/conf/conf.class.php b/htdocs/conf/conf.class.php index bb2b13b73fb..c2e028865f4 100644 --- a/htdocs/conf/conf.class.php +++ b/htdocs/conf/conf.class.php @@ -50,7 +50,9 @@ class Conf var $css_modules=array(); var $tabs_modules=array(); - + + var $logbuffer=array(); + /** * \brief Positionne toutes les variables de configuration diff --git a/htdocs/install/default.css b/htdocs/install/default.css index 75c91e7d51f..85865238376 100644 --- a/htdocs/install/default.css +++ b/htdocs/install/default.css @@ -15,44 +15,42 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Id$ - * $Source$ */ body { -font-size:13px; -font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif; -background-color: #F4F4F4; -margin-left: 20px; -margin-right: 20px; -margin-top: 20px; -margin-bottom: 20px; -} - -div.titre { -padding: 5px 5px 5px 5px; -margin: 0em 0em 0em 0em; + font-size:13px; + font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif; + background-color: #F4F4F4; + margin-left: 20px; + margin-right: 20px; + margin-top: 20px; + margin-bottom: 20px; } span.titre { -font-size:1.1em; -font-weight: bold; -background: #dcdcd3; -color: #4965B3; -padding: 5px 5px 5px 5px; -margin: 0em 0em 0em 0em; -border: 1px solid #8CACBB; + font-size:1.1em; + font-weight: bold; + background: #dcdcd3; + color: #4965B3; + border: 1px solid #8CACBB; + padding: 5px 5px 5px 5px; + margin: 0em 0em 0em 0em; } +div.titre { + padding: 5px 5px 5px 5px; + margin: 0em 0em 0em 0em; +} div.soustitre { -font-size: 15px; -font-weight: bold; -color: #4965B3; -padding: 0em 1.2em 0.5em 2em; -margin: 1.2em 1.2em 1.2em 1.2em; -border-bottom: 1px solid #8CACBB; -border-right: 1px solid #8CACBB; -text-align: right; + font-size: 15px; + font-weight: bold; + color: #4965B3; + padding: 0em 1.2em 0.5em 2em; + margin: 1.2em 1.2em 1.2em 1.2em; + border-bottom: 1px solid #8CACBB; + border-right: 1px solid #8CACBB; + text-align: right; } inputdisabled diff --git a/htdocs/install/etape4.php b/htdocs/install/etape4.php index d6a22f3d1db..8c0cfee157b 100644 --- a/htdocs/install/etape4.php +++ b/htdocs/install/etape4.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2004 Sebastien DiCintio * Copyright (C) 2004-2008 Laurent Destailleur @@ -20,16 +20,17 @@ */ /** - \file htdocs/install/etape4.php - \ingroup install - \brief Demande le login et mot de passe de l'administrateur Dolibarr - \version $Id$ -*/ + \file htdocs/install/etape4.php + \ingroup install + \brief Demande le login et mot de passe de l'administrateur Dolibarr + \version $Id$ + */ include_once("./inc.php"); -require_once($dolibarr_main_document_root . "/lib/databases/".$dolibarr_main_db_type.".lib.php"); -require_once($dolibarr_main_document_root . "/conf/conf.class.php"); +require_once($dolibarr_main_document_root."/lib/databases/".$dolibarr_main_db_type.".lib.php"); +require_once($dolibarr_main_document_root."/conf/conf.class.php"); +require_once($dolibarr_main_document_root."/lib/admin.lib.php"); $setuplang=isset($_POST["selectlang"])?$_POST["selectlang"]:(isset($_GET["selectlang"])?$_GET["selectlang"]:'auto'); @@ -44,64 +45,56 @@ if (file_exists("./install.forced.php")) include_once("./install.forced.php"); dolibarr_install_syslog("etape4: Entering etape4.php page"); +$err=0; +$ok = 0; + + /* -* View -*/ + * View + */ pHeader($langs->trans("AdminAccountCreation"),"etape5"); - - print ''; -$err=0; - -$conf = new Conf(); -$conf->db->type = $dolibarr_main_db_type; -$conf->db->host = $dolibarr_main_db_host; -$conf->db->port = $dolibarr_main_db_port; -$conf->db->name = $dolibarr_main_db_name; -$conf->db->user = $dolibarr_main_db_user; -$conf->db->pass = $dolibarr_main_db_pass; - $db = new DoliDb($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name,$conf->db->port); -$ok = 0; if ($db->ok == 1) { - - print ''; - print ''; - print ''; - print '
'.$langs->trans("DolibarrAdminLogin").' :'; - print '
'.$langs->trans("Password").' :'; - print '
'.$langs->trans("PasswordAgain").' :'; - print '
'; + print ''.$langs->trans("DolibarrAdminLogin").' :'; + print ''; + print ''.$langs->trans("Password").' :'; + print ''; + print ''.$langs->trans("PasswordAgain").' :'; + print ''; + print ''; - if (isset($_GET["error"]) && $_GET["error"] == 1) - { - print '
'; - print '
'.$langs->trans("PasswordsMismatch").'
'; - } + if (isset($_GET["error"]) && $_GET["error"] == 1) + { + print '
'; + print '
'.$langs->trans("PasswordsMismatch").'
'; + $err=1; + } - if (isset($_GET["error"]) && $_GET["error"] == 2) - { - print '
'; - print '
'; - print $langs->trans("PleaseTypePassword"); - print '
'; - } + if (isset($_GET["error"]) && $_GET["error"] == 2) + { + print '
'; + print '
'; + print $langs->trans("PleaseTypePassword"); + print '
'; + $err=1; + } - if (isset($_GET["error"]) && $_GET["error"] == 3) - { - print '
'; - print '
'.$langs->trans("PleaseTypeALogin").'
'; - } + if (isset($_GET["error"]) && $_GET["error"] == 3) + { + print '
'; + print '
'.$langs->trans("PleaseTypeALogin").'
'; + $err=1; + } } $db->close(); pFooter($err,$setuplang); - ?> diff --git a/htdocs/install/etape5.php b/htdocs/install/etape5.php index 6d85dba5fef..7f7f860cb5e 100644 --- a/htdocs/install/etape5.php +++ b/htdocs/install/etape5.php @@ -170,11 +170,11 @@ if ($_POST["action"] == "set" || $_POST["action"] == "upgrade") $db->query("UPDATE llx_const set value='eldy_frontoffice.php' WHERE name='MAIN_MENUFRONT_BARRELEFT';"); } - dolibarr_install_syslog('install/etape5.php set MAIN_VERSION_LAST_INSTALL const', LOG_ERR); + dolibarr_install_syslog('install/etape5.php set MAIN_VERSION_LAST_INSTALL const to '.DOL_VERSION, LOG_DEBUG); $db->query("DELETE FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL'"); $db->query("INSERT INTO llx_const(name,value,type,visible,note) values('MAIN_VERSION_LAST_INSTALL','".DOL_VERSION."','chaine',0,'Dolibarr version for last install')"); - dolibarr_install_syslog('install/etape5.php Remove MAIN_NOT_INSTALLED const', LOG_ERR); + dolibarr_install_syslog('install/etape5.php Remove MAIN_NOT_INSTALLED const', LOG_DEBUG); $db->query("DELETE FROM llx_const WHERE name='MAIN_NOT_INSTALLED'"); } } diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index 4b6cc475d5d..e53d8799cb4 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -32,6 +32,9 @@ require_once('../lib/admin.lib.php'); // DOL_DOCUMENT_ROOT has been defined in function.inc.php to '..' +// Define REQUEST["logtohtml"] +$REQUEST["logtohtml"]=1; + // Correction PHP_SELF (ex pour apache via caudium) car PHP_SELF doit valoir URL relative // et non path absolu. if (isset($_SERVER["DOCUMENT_URI"]) && $_SERVER["DOCUMENT_URI"]) @@ -255,7 +258,8 @@ function pHeader($soutitre,$next,$action='set') function pFooter($nonext=0,$setuplang='') { - global $langs; + global $conf,$langs; + $langs->load("main"); $langs->load("admin"); @@ -272,6 +276,22 @@ function pFooter($nonext=0,$setuplang='') } print ''."\n"; + + // If there is some logs in buffer to show + if (sizeof($conf->logbuffer)) + { + print "\n"; + print "\n"; + print "\n"; + } + print ''."\n"; print ''."\n"; } diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index f93a17f9db0..3365e8a7cbb 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -158,26 +158,32 @@ function dol_escape_js($stringtoescape) } - - /** - * \brief Envoi des messages dolibarr dans un fichier ou dans syslog - * Pour fichier: fichier defini par SYSLOG_FILE - * Pour syslog: facility defini par SYSLOG_FACILITY - * \param message Message a tracer. Ne doit pas etre traduit si level = LOG_ERR - * \param level Niveau de l'erreur + * \brief Write log message in a file or to syslog process + * Pour fichier: fichier defined by SYSLOG_FILE + * Pour syslog: facility defined by SYSLOG_FACILITY + * Warning, les fonctions syslog sont buggues sous Windows et generent des + * fautes de protection memoire. Pour resoudre, utiliser le loggage fichier, + * au lieu du loggage syslog (configuration du module). + * Si SYSLOG_FILE_NO_ERROR defini, on ne gere pas erreur ecriture log + * \param message Line to log. Ne doit pas etre traduit si level = LOG_ERR + * \param level Log level * \remarks Cette fonction n'a un effet que si le module syslog est active. - * Warning, les fonctions syslog sont buggues sous Windows et generent des - * fautes de protection memoire. Pour resoudre, utiliser le loggage fichier, - * au lieu du loggage syslog (configuration du module). - * Si SYSLOG_FILE_NO_ERROR defini, on ne gere pas erreur ecriture log * \remarks On Windows LOG_ERR=4, LOG_WARNING=5, LOG_NOTICE=LOG_INFO=LOG_DEBUG=6 * On Linux LOG_ERR=3, LOG_WARNING=4, LOG_INFO=6, LOG_DEBUG=7 */ function dolibarr_syslog($message, $level=LOG_INFO) { - global $conf,$user,$langs; + global $conf,$user,$langs,$REQUEST; + // If adding log inside HTML page is required + if (! empty($REQUEST['logtohtml'])) + { + $conf->logbuffer[]=strftime("%Y-%m-%d %H:%M:%S",time())." ".$message; + + } + + // If syslog module enabled if (! empty($conf->syslog->enabled)) { //print $level.' - '.$conf->global->SYSLOG_LEVEL.' - '.$conf->syslog->enabled." \n"; diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 818e37af8f5..25d6380d621 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1177,7 +1177,7 @@ function llxFooter($foot='',$limitIEbug=1) if ($conf->use_javascript_ajax) { - print ''; + print ''."\n"; } // Juste pour eviter bug IE qui reorganise mal div precedents si celui-ci absent diff --git a/htdocs/user.class.php b/htdocs/user.class.php index b263062ec98..b6fd4f02e70 100644 --- a/htdocs/user.class.php +++ b/htdocs/user.class.php @@ -677,13 +677,15 @@ class User extends CommonObject // Nettoyage parametres $this->login = trim($this->login); - dolibarr_syslog("User::Create login=".$this->login.", user=".(is_object($user)?$user->id:'')); + dolibarr_syslog("User::Create login=".$this->login.", user=".(is_object($user)?$user->id:''), LOG_DEBUG); $error=0; $this->db->begin(); $sql = "SELECT login FROM ".MAIN_DB_PREFIX."user"; $sql.= " WHERE login ='".addslashes($this->login)."'"; + + dolibarr_syslog("User::Create sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { @@ -752,13 +754,15 @@ class User extends CommonObject else { $this->error=$interface->error; + dolibarr_syslog("User::Create ".$this->error, LOG_ERR); $this->db->rollback(); return -3; } } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); + dolibarr_syslog("User::Create ".$this->error, LOG_ERR); $this->db->rollback(); return -2; } @@ -766,7 +770,8 @@ class User extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); + dolibarr_syslog("User::Create ".$this->error, LOG_ERR); $this->db->rollback(); return -1; } @@ -977,7 +982,7 @@ class User extends CommonObject $sql.= ", note = '".addslashes($this->note)."'"; $sql.= " WHERE rowid = ".$this->id; - dolibarr_syslog("User::update sql=".$sql); + dolibarr_syslog("User::update sql=".$sql, LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { @@ -1117,7 +1122,7 @@ class User extends CommonObject $error=0; - dolibarr_syslog("User::Password user=".$user->id." password=".eregi_replace('.','*',$password)." changelater=".$changelater." notrigger=".$notrigger); + dolibarr_syslog("User::setPassword user=".$user->id." password=".eregi_replace('.','*',$password)." changelater=".$changelater." notrigger=".$notrigger, LOG_DEBUG); // Si nouveau mot de passe non communique, on genere par module if (! $password) @@ -1146,8 +1151,8 @@ class User extends CommonObject } $sql.= " WHERE rowid = ".$this->id; - //dolibarr_syslog("User::Password sql=hidden"); - dolibarr_syslog("User::Password sql=".$sql); + dolibarr_syslog("User::setPassword sql=hidden", LOG_DEBUG); + //dolibarr_syslog("User::Password sql=".$sql); $result = $this->db->query($sql); if ($result) { @@ -1172,7 +1177,7 @@ class User extends CommonObject if ($result < 0) { $this->error=$adh->error; - dolibarr_syslog("User::password ".$this->error,LOG_ERR); + dolibarr_syslog("User::setPassword ".$this->error,LOG_ERR); $error++; } } @@ -1214,7 +1219,7 @@ class User extends CommonObject $sql.= " SET pass_temp = '".addslashes($password)."'"; $sql.= " WHERE rowid = ".$this->id; - // dolibarr_syslog("User::update sql=".$sql); Pas de trace + dolibarr_syslog("User::setPassword sql=hidden", LOG_DEBUG); // No log $result = $this->db->query($sql); if ($result) {