* Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2007 Rodolphe Quiedeville * * 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, see . */ /** * \file htdocs/admin/syslog.php * \ingroup syslog * \brief Setup page for syslog module */ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); if (!$user->admin) accessforbidden(); $langs->load("admin"); $langs->load("other"); $action = GETPOST("action"); /* * Actions */ if ($action== 'setlevel') { $level = GETPOST("level"); $res = dolibarr_set_const($db,"SYSLOG_LEVEL",$level,'chaine',0,'',0); dol_syslog("admin/syslog: level ".$level); if (! $res > 0) $error++; if (! $error) { $mesg = "".$langs->trans("SetupSaved").""; } else { $mesg = "".$langs->trans("Error").""; } } if ($action == 'set') { $optionlogoutput=GETPOST("optionlogoutput"); $facility=GETPOST("facility"); if ($optionlogoutput == "syslog") { if (defined($_POST["facility"])) { $db->begin; // Only LOG_USER supported on Windows if (! empty($_SERVER["WINDIR"])) $facility='LOG_USER'; $res = dolibarr_del_const($db,"SYSLOG_FILE",0); if (! $res > 0) $error++; $res = dolibarr_set_const($db,"SYSLOG_FACILITY",$facility,'chaine',0,'',0); if (! $res > 0) $error++; dol_syslog("admin/syslog: facility ".$facility); if (! $error) { $db->commit(); $mesg = "".$langs->trans("SetupSaved").""; } else { $db->rollback(); $mesg = "".$langs->trans("Error").""; } } else { $mesg = "".$langs->trans("ErrorUnknownSyslogConstant",$facility).""; } } if ($optionlogoutput == "file") { $filename=GETPOST("filename"); $filelog=GETPOST("filename"); $filelog=preg_replace('/DOL_DATA_ROOT/i',DOL_DATA_ROOT,$filelog); $file=fopen($filelog,"a+"); if ($file) { fclose($file); $db->begin; $res = dolibarr_del_const($db,"SYSLOG_FACILITY",0); if (! $res > 0) $error++; $res = dolibarr_set_const($db,"SYSLOG_FILE",$filename,'chaine',0,'',0); if (! $res > 0) $error++; dol_syslog("admin/syslog: file ".$filename); if (! $res > 0) $error++; if (! $error) { $db->commit(); $mesg = "".$langs->trans("SetupSaved").""; } else { $db->rollback(); $mesg = "".$langs->trans("Error").""; } } else { $mesg = "".$langs->trans("ErrorFailedToOpenFile",$filename).""; } } } /* * View */ llxHeader(); $html=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("SyslogSetup"),$linkback,'setup'); print '
'; $def = array(); $syslogfacility=$defaultsyslogfacility=dolibarr_get_const($db,"SYSLOG_FACILITY",0); $syslogfile=$defaultsyslogfile=dolibarr_get_const($db,"SYSLOG_FILE",0); if (! $defaultsyslogfacility) $defaultsyslogfacility='LOG_USER'; if (! $defaultsyslogfile) $defaultsyslogfile='dolibarr.log'; if ($conf->global->MAIN_MODULE_MULTICOMPANY && $user->entity) { print '
'.$langs->trans("ContactSuperAdminForChange").'
'; $option = 'disabled="disabled"'; } // Output mode print_titre($langs->trans("SyslogOutput")); // Mode print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print "\n"; $var=true; $var=!$var; print ''; print ''; $var=!$var; print ''; print ''; print "'; print "
'.$langs->trans("Type").''.$langs->trans("Value").'
'.$langs->trans("SyslogSyslog").''.$langs->trans("SyslogFacility").': '; print ' '.img_info('Only LOG_USER supported on Windows'); print '
'.$langs->trans("SyslogSimpleFile").''.$langs->trans("SyslogFilename").': '; print '".$html->textwithpicto('',$langs->trans("YouCanUseDOL_DATA_ROOT")); print '
\n"; print "
\n"; // Level print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print "\n"; $var=true; $var=!$var; print ''; print ''; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("SyslogLevel").''; print '
'; print "
\n"; dol_htmloutput_mesg($mesg); $db->close(); llxFooter(); ?>