forked from Wavyzz/dolibarr
modif de create_table pour pouvoir ajouter des cls
This commit is contained in:
@@ -333,10 +333,11 @@ class DoliDb
|
|||||||
\param primary_key Nom du champ qui sera la clef primaire
|
\param primary_key Nom du champ qui sera la clef primaire
|
||||||
\param unique_keys tableau associatifs Nom de champs qui seront clef unique => valeur
|
\param unique_keys tableau associatifs Nom de champs qui seront clef unique => valeur
|
||||||
\param fulltext tableau des Nom de champs qui seront index<65>s en fulltext
|
\param fulltext tableau des Nom de champs qui seront index<65>s en fulltext
|
||||||
|
\param key tableau des champs cl<63>s noms => valeur
|
||||||
\param type type de la table
|
\param type type de la table
|
||||||
\return true/false selon si requ<71>te a provoqu<71> un erreur mysql ou pas
|
\return true/false selon si requ<71>te a provoqu<71> un erreur mysql ou pas
|
||||||
*/
|
*/
|
||||||
function create_table($table,$fields,$primary_key,$type,$unique_keys="",$fulltext_keys="")
|
function create_table($table,$fields,$primary_key,$type,$unique_keys="",$fulltext_keys="",$keys="")
|
||||||
{
|
{
|
||||||
// cl<63>s recherch<63>es dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra
|
// cl<63>s recherch<63>es dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra
|
||||||
// ex. : $fields['rowid'] = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment');
|
// ex. : $fields['rowid'] = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment');
|
||||||
@@ -348,20 +349,24 @@ class DoliDb
|
|||||||
$sqlfields[$i] .= $field_desc['type'];
|
$sqlfields[$i] .= $field_desc['type'];
|
||||||
if( eregi("^[^ ]",$field_desc['value']))
|
if( eregi("^[^ ]",$field_desc['value']))
|
||||||
$sqlfields[$i] .= "(".$field_desc['value'].")";
|
$sqlfields[$i] .= "(".$field_desc['value'].")";
|
||||||
if( eregi("^[^ ]",$field_desc['attribute']))
|
else if( eregi("^[^ ]",$field_desc['attribute']))
|
||||||
$sqlfields[$i] .= " ".$field_desc['attribute'];
|
$sqlfields[$i] .= " ".$field_desc['attribute'];
|
||||||
if( eregi("^[^ ]",$field_desc['null']))
|
else if( eregi("^[^ ]",$field_desc['default']))
|
||||||
$sqlfields[$i] .= " ".$field_desc['null'];
|
{
|
||||||
if( eregi("^[^ ]",$field_desc['default']))
|
|
||||||
if(eregi("null",$field_desc['default']))
|
if(eregi("null",$field_desc['default']))
|
||||||
$sqlfields[$i] .= " default ".$field_desc['default'];
|
$sqlfields[$i] .= " default ".$field_desc['default'];
|
||||||
else
|
else
|
||||||
$sqlfields[$i] .= " default '".$field_desc['default']."'";
|
$sqlfields[$i] .= " default '".$field_desc['default']."'";
|
||||||
if( eregi("^[^ ]",$field_desc['extra']))
|
}
|
||||||
|
else if( eregi("^[^ ]",$field_desc['null']))
|
||||||
|
$sqlfields[$i] .= " ".$field_desc['null'];
|
||||||
|
|
||||||
|
else if( eregi("^[^ ]",$field_desc['extra']))
|
||||||
$sqlfields[$i] .= " ".$field_desc['extra'];
|
$sqlfields[$i] .= " ".$field_desc['extra'];
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
$pk = "primary key(".$primary_key.")";
|
if($primary_key != "")
|
||||||
|
$pk = "primary key(".$primary_key.")";
|
||||||
|
|
||||||
if($unique_keys != "")
|
if($unique_keys != "")
|
||||||
{
|
{
|
||||||
@@ -372,10 +377,22 @@ class DoliDb
|
|||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($keys != "")
|
||||||
|
{
|
||||||
|
$i = 0;
|
||||||
|
foreach($keys as $key => $value)
|
||||||
|
{
|
||||||
|
$sqlk[$i] = "KEY ".$key." (".$value.")";
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
$sql .= implode(',',$sqlfields);
|
$sql .= implode(',',$sqlfields);
|
||||||
$sql .= ",".$pk;
|
if($primary_key != "")
|
||||||
|
$sql .= ",".$pk;
|
||||||
if($unique_keys != "")
|
if($unique_keys != "")
|
||||||
$sql .= ",".implode(',',$sqluq);
|
$sql .= ",".implode(',',$sqluq);
|
||||||
|
if($keys != "")
|
||||||
|
$sql .= ",".implode(',',$sqlk);
|
||||||
$sql .=") type=".$type;
|
$sql .=") type=".$type;
|
||||||
// dolibarr_syslog($sql);
|
// dolibarr_syslog($sql);
|
||||||
if(! $this -> query($sql))
|
if(! $this -> query($sql))
|
||||||
|
|||||||
Reference in New Issue
Block a user