More info on utf8 setup in database

This commit is contained in:
Laurent Destailleur
2008-12-20 18:37:30 +00:00
parent e7e7b35742
commit b398463aaa
5 changed files with 75 additions and 53 deletions

View File

@@ -17,16 +17,13 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*/
/**
\file htdocs/admin/system/database.php
\brief Page des infos syst<73>me de la base de donn<6E>e
\version $Revision$
*/
* \file htdocs/admin/system/database.php
* \brief Page des infos syst<73>me de la base de donn<6E>e
* \version $Id$
*/
require("./pre.inc.php");
include_once $dolibarr_main_document_root."/lib/databases/".$conf->db->type.".lib.php";
@@ -34,14 +31,16 @@ include_once $dolibarr_main_document_root."/lib/databases/".$conf->db->type.".li
$langs->load("admin");
if (!$user->admin)
accessforbidden();
accessforbidden();
/*
* Afficahge page
*/
* Afficahge page
*/
$html=new Form($db);
llxHeader();
print_fiche_titre($langs->trans("DatabaseConfiguration"),'','setup');
@@ -54,14 +53,14 @@ $base=0;
$sqls = array();
if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
{
$sqls[0] = "SHOW VARIABLES";
$sqls[1] = "SHOW STATUS";
$base=1;
$sqls[0] = "SHOW VARIABLES";
$sqls[1] = "SHOW STATUS";
$base=1;
}
else if ($conf->db->type == 'pgsql')
{
$sqls[0] = "select name,setting from pg_settings;";
$base=2;
$sqls[0] = "select name,setting from pg_settings;";
$base=2;
}
else if ($conf->db->type == 'mssql')
{
@@ -71,33 +70,60 @@ else if ($conf->db->type == 'mssql')
if (! $base)
{
print $langs->trans("FeatureNotAvailableWithThisDatabaseDriver");
print $langs->trans("FeatureNotAvailableWithThisDatabaseDriver");
}
else
{
foreach($sqls as $sql)
{
print '<br>';
print '<table class="noborder">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print "</tr>\n";
$resql = $db->query($sql);
if ($resql)
foreach($sqls as $sql)
{
$var=True;
while ($row = $db->fetch_row($resql))
{
$var=!$var;
print "<tr $bc[$var]>";
print '<td>'.$row[0].'</td><td>'.$row[1]."</td></tr>\n";
}
$db->free($resql);
print '<br>';
print '<table class="noborder">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
print '<td>'.$langs->trans("Value").'</td>';
print "</tr>\n";
// arraytest is an array of test to do
$arraytest=array();
if (eregi('mysql',$db->type))
{
$arraytest=array(
"character_set_connection"=>'character_set_client',
'character_set_database'=>'dolibarr_main_db_character_set',
'collation_connection'=>"character_set_client",
'collation_database'=>'dolibarr_main_db_collation'
);
}
$resql = $db->query($sql);
if ($resql)
{
$var=True;
while ($row = $db->fetch_row($resql))
{
$var=!$var;
print "<tr $bc[$var]>";
print '<td>';
print $row[0];
print '</td>';
print '<td>';
$show=0;$text='';
foreach($arraytest as $key => $val)
{
if ($key != $row[0]) continue;
$text='Should be in line with value of param <b>'.$val.'</b> thas is <b>'.${$val}.'</b>';
$show=1;
}
if ($show==0) print $row[1];
if ($show==1) print $html->textwithhelp($row[1],$text);
if ($show==2) print $html->textwithwarning($row[1],$text);
print '</td>';
print "</tr>\n";
}
$db->free($resql);
}
print "</table>\n";
}
print "</table>\n";
}
}
llxFooter('$Date$ - $Revision$');