Fix: fonction dolibarr_set_const en transaction

This commit is contained in:
Laurent Destailleur 2005-04-11 17:21:24 +00:00
parent 9bacda1500
commit ebc0f3413e

View File

@ -161,61 +161,57 @@ function dolibarr_fiche_head($links, $active=0, $title='')
/** /**
\brief Insertion d'une constante dans la base de données. \brief Insertion d'une constante dans la base de données.
\see dolibarr_del_const
\param db handler d'accès base \param db handler d'accès base
\param name nom de la constante \param name nom de la constante
\param value valeur de la constante \param value valeur de la constante
\param type type de constante (chaine par défaut) \param type type de constante (chaine par défaut)
\param visible la constante est t'elle visible (0 par défaut) \param visible la constante est t'elle visible (0 par défaut)
\param note explication de la constante \param note explication de la constante
\return 0 pour raté, 1 pour réussi \return int 0 si KO, 1 si OK
\see dolibarr_del_const
*/ */
function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='') function dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='')
{ {
$db->begin();
$sql = "DELETE FROM llx_const WHERE name = '$name';";
$sql = "DELETE FROM llx_const WHERE name = '$name';";
$db->query($sql); $resql=$db->query($sql);
$sql = "INSERT INTO llx_const(name,value,type,visible,note)";
$sql.= " VALUES ('$name','$value','$type',$visible,'$note');";
$resql=$db->query($sql);
$sqql = "INSERT INTO llx_const(name,value,type,visible,note) VALUES if ($resql)
('$name','$value','$type',$visible,'$note');"; {
$db->commit();
$db->query($sql); return 1;
}
//$sql = "DELETE FROM llx_const WHERE name = '$name' and value = '$value' ;"; else
//$db->query($sql); {
$db->rollback();
//$sql2 = "INSERT INTO llx_const VALUES('$name','$value','$type',$visible,'$note');"; return 0;
//$db->query($sql); }
if ($db->query($sqql))
{
return 1;
}
else
{
return 0;
}
} }
/** /**
\brief Effacement d'une constante dans la base de données \brief Effacement d'une constante dans la base de données
\see dolibarr_set_const
\param db handler d'accès base \param db handler d'accès base
\param name nom ou rowid de la constante \param name nom ou rowid de la constante
\return 0 pour raté, 1 pour réussi \return int 0 si KO, 1 si OK
\see dolibarr_set_const
*/ */
function dolibarr_del_const($db, $name) function dolibarr_del_const($db, $name)
{ {
$sql = "DELETE FROM llx_const WHERE name='$name' or rowid='$name'"; $sql = "DELETE FROM llx_const WHERE name='$name' or rowid='$name'";
$resql=$db->query($sql);
if ($db->query($sql)) if ($resql)
{ {
return 1; return 1;
} }
else else
{ {
return 0; return 0;
} }
} }