* Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2024 MDW * * 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 3 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/system/database.php * \brief Page with system information of database */ // Load Dolibarr environment require '../../main.inc.php'; $langs->load("admin"); if (!$user->admin) { accessforbidden(); } /* * View */ $form = new Form($db); llxHeader('', '', '', '', 0, 0, '', '', '', 'mod-admin page-system_database'); print load_fiche_titre($langs->trans("InfoDatabase"), '', 'title_setup'); // Database print '
'; print ''; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; // @phan-suppress-next-line PhanTypeSuspiciousStringExpression (user is defined in the stdClass) print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print '
'.$langs->trans("Database").'
'.$langs->trans("Version").''.$db::LABEL.' '.$db->getVersion().'
'.$langs->trans("DatabaseServer").''.$conf->db->host.'
'.$langs->trans("DatabasePort").''.(empty($conf->db->port) ? $langs->trans("Default") : $conf->db->port).'
'.$langs->trans("DatabaseName").''.$conf->db->name.'
'.$langs->trans("DriverType").''.$conf->db->type.($db->getDriverInfo() ? ' ('.$db->getDriverInfo().')' : '').'
'.$langs->trans("User").''.$conf->db->user.'
'.$langs->trans("Password").''.preg_replace('/./i', '*', $dolibarr_main_db_pass).'
'.$langs->trans("DBStoringCharset").''.$db->getDefaultCharacterSetDatabase().'
'.$langs->trans("DBSortingCharset").''.$db->getDefaultCollationDatabase().'
'; print '
'; // Tables print '
'; print '
'; print ''; print ''."\n"; print ''."\n"; print '
'.$langs->trans("Tables").'
'.img_picto('', 'list', 'class="pictofixedwidth"').$langs->trans("List").'
'; print '
'; $listofvars = $db->getServerParametersValues(); $listofstatus = $db->getServerStatusValues(); $arraylist = array('listofvars', 'listofstatus'); if (!count($listofvars) && !count($listofstatus)) { print $langs->trans("FeatureNotAvailableWithThisDatabaseDriver"); } else { foreach ($arraylist as $listname) { print '
'; print '
'; print ''; print ''; print ''; print ''; print ''."\n"; // arraytest is an array of test to do $arraytest = array(); if (preg_match('/mysql/i', $db->type)) { $arraytest = array( 'character_set_database' => array('var' => 'dolibarr_main_db_character_set', 'valifempty' => 'utf8'), 'collation_database' => array('var' => 'dolibarr_main_db_collation', 'valifempty' => 'utf8_unicode_ci') ); } $listtouse = array(); if ($listname == 'listofvars') { $listtouse = $listofvars; } if ($listname == 'listofstatus') { $listtouse = $listofstatus; } foreach ($listtouse as $param => $paramval) { print ''; print ''; print ''; print ''."\n"; } print '
'.$langs->trans("Parameters").'
'; print $param; print ''; $show = 0; $text = ''; foreach ($arraytest as $key => $val) { if ($key != $param) { continue; } $tmpvar = $val['var']; $val2 = ${$tmpvar}; $text = 'Should be in line with value of param '.$val['var'].' thas is '.($val2 ? $val2 : "'' (=".$val['valifempty'].")").''; $show = 1; } if ($show == 0) { print $paramval; } if ($show == 1) { // @phan-suppress-next-line PhanPluginSuspiciousParamPosition print $form->textwithpicto($paramval, $text); } if ($show == 2) { // @phan-suppress-next-line PhanPluginSuspiciousParamPosition print $form->textwithpicto($paramval, $text, 1, 'warning'); } print '
'."\n"; print '
'; } } // End of page llxFooter(); $db->close();