Skip to content
Snippets Groups Projects
Select Git revision
  • e865d706fd87e6269c9df4afb619061a1c2b6dbb
  • 3.9 default
  • develop
  • 6.0
  • 5.0
  • 4.0
  • scrutinizer-patch-4
  • scrutinizer-patch-3
  • scrutinizer-patch-2
  • scrutinizer-patch-1
  • 3.7
  • 3.8
  • 3.6
  • 3.9_backported
  • 3.8_backported
  • 3.7_backported
  • 3.5
  • 3.6_backported
  • 3.5_backported
  • 3.4
  • 3.3_backported
  • 6.0.4
  • 6.0.3
  • 5.0.7
  • 6.0.2
  • 6.0.1
  • 5.0.6
  • 6.0.0
  • 5.0.5
  • 6.0.0-rc
  • 5.0.4
  • 6.0.0-beta
  • 5.0.3
  • 4.0.6
  • 5.0.2
  • 5.0.1
  • 4.0.5
  • 5.0.0
  • 4.0.4
  • 5.0.0-rc2
  • 5.0.0-rc1
41 results

database-tables-contraintes.php

Blame
  • database-tables-contraintes.php 2.99 KiB
    <?php
    /* Copyright (C) 2003      Rodolphe Quiedeville <rodolphe@quiedeville.org>
     * Copyright (C) 2004-2005 Laurent Destailleur  <eldy@users.sourceforge.net>
     * Copyright (C) 2004      Sebastien Di Cintio  <sdicintio@ressource-toi.org>
     * Copyright (C) 2004      Benoit Mortier       <benoit.mortier@opensides.be>
     *
     * 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, write to the Free Software
     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
     *
     * $Id$
     * $Source$
     */
    
    /**
            \file       htdocs/admin/system/database-tables-contraintes.php
            \brief      Page d'info des contraintes de la base
            \version    $Revision$
    */
    
    require("./pre.inc.php");
    include_once $dolibarr_main_document_root."/lib/databases/".$conf->db->type.".lib.php";
    
    $langs->load("admin");
    
    
    if (!$user->admin)
    accessforbidden();
    
    
    llxHeader();
    
    print_fiche_titre($langs->trans("Constraints"),'','setup');
    
    $base=0;
    if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli')
    {
        $sql = "SHOW TABLE STATUS";
        $base=1;
    }
    else if ($conf->db->type == 'pgsql')
    {
        $sql = "SELECT conname, contype FROM pg_constraint;";
        $base=2;
    }
    else if ($conf->db->type == 'mssql')
    {
    	//TODO: rcuprer les infos du serveur
    	//$sqls[0] = "";
      //$base=3;
    }
    
    if (! $base)
    {
    	print $langs->trans("FeatureNotAvailableWithThisDatabaseDriver");
    }
    else
    {
    	print '<br>';
    	print '<table class="noborder">';
    	print '<tr class="liste_titre">';
    	
    	if ($base==1)
    	{
    	    print '<td>'.$langs->trans("Tables").'</td>';
    	    print '<td>'.$langs->trans("Type").'</td>';
    	    print '<td>'.$langs->trans("Constraints").'</td>';
    	}
    	if ($base==2)
    	{
    	    print '<td>'.$langs->trans("Constraints").'</td>';
    	    print '<td>'.$langs->trans("ConstraintsType").'</td>';
    	}
    	
    	print "</tr>\n";
    	
    	
    	$result = $db->query($sql);
    	if ($result)
    	{
    	    $num = $db->num_rows($result);
    	    $var=True;
    	    $i=0;
    	    while ($i < $num)
    	    {
    	        $obj = $db->fetch_object($rsult);
    	        $var=!$var;
    	        print "<tr $bc[$var]>";
    	
    	        if ($base==1)
    	        {
    	            print '<td><a href="dbtable.php?table='.$obj->Name.'">'.$obj->Name.'</a></td>';
    	            print '<td>'.$obj->Engine.'</td>';
    	            print '<td>'.$obj->Comment.'</td>';
    	        }
    			if ($base==2)
    	        {
    	            print '<td>'.$obj->conname.'</td>';
    	            print '<td>'.$obj->contype.'</td>';
    	        }
    	
    	        print '</tr>';
    	        $i++;
    	    }
    	}
    	print '</table>';
    }
    
    llxFooter('$Date$ - $Revision$');
    ?>