* Copyright (C) 2004-2005 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * * 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/dbtable.php * \brief Page d'info des contraintes d'une table */ require '../../main.inc.php'; $langs->load("admin"); if (! $user->admin) accessforbidden(); $table=GETPOST('table','alpha'); /* * View */ llxHeader(); print_fiche_titre($langs->trans("Table") . " ".$table,'','title_setup'); // Define request to get table description $base=0; if (preg_match('/mysql/i',$conf->db->type)) { $sql = "SHOW TABLE STATUS LIKE '".$db->escape($table)."'"; $base=1; } else if ($conf->db->type == 'pgsql') { $sql = "SELECT conname,contype FROM pg_constraint"; $base=2; } if (! $base) { print $langs->trans("FeatureNotAvailableWithThisDatabaseDriver"); } else { $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $var=True; $i=0; while ($i < $num) { $row = $db->fetch_row($resql); $i++; } } if ($base == 1) { $link=array(); $cons = explode(";", $row[14]); if (! empty($cons)) { foreach($cons as $cc) { $cx = preg_replace("/\)\sREFER/", "", $cc); $cx = preg_replace("/\(`/", "", $cx); $cx = preg_replace("/`\)/", "", $cx); $cx = preg_replace("/`\s/", "", $cx); $val = explode("`",$cx); $link[trim($val[0])][0] = (isset($val[1])?$val[1]:''); $link[trim($val[0])][1] = (isset($val[2])?$val[2]:''); } } // var_dump($link); print ''; print ''; print ''; $sql = "DESCRIBE ".$table; $resql = $db->query($sql); if ($resql) { $num = $db->num_rows($resql); $var=True; $i=0; while ($i < $num) { $row = $db->fetch_row($resql); $var=!$var; print ""; print ""; print ""; print ""; print ""; print ''; $i++; } } print '
'.$langs->trans("Fields").''.$langs->trans("Type").''.$langs->trans("Index").''.$langs->trans("FieldsLinked").'
$row[0]$row[1]$row[3]".(isset($link[$row[0]][0])?$link[$row[0]][0]:'')."."; print (isset($link[$row[0]][1])?$link[$row[0]][1]:'')."
'; } } llxFooter(); $db->close();