}
if ($id_transaction > 0) {
    $q = sprintf("UPDATE webfinance_transactions SET " . "id_category=%d, " . "id_account=%d, " . "text='%s', " . "amount='%s', " . "exchange_rate='%s', " . "type='%s', " . "date=str_to_date('%s', '%%d/%%m/%%Y'), " . "comment='%s' " . "WHERE id=%d", $id_category, $id_account, $text, $amount, $exchange_rate, $type, $date, $comment, $id_transaction);
    mysql_query($q) or wf_mysqldie();
} else {
    $q = sprintf("INSERT INTO webfinance_transactions SET " . "id_category=%d, " . "id_account=%d, " . "text='%s', " . "amount=%s, " . "exchange_rate='%s', " . "type='%s', " . "date=str_to_date('%s', '%%d/%%m/%%Y'), " . "comment='%s' ", $id_category, $id_account, $text, $amount, $exchange_rate, $type, $date, $comment);
    mysql_query($q) or wf_mysqldie();
    $id_transaction = mysql_insert_id();
}
//fichiers attachés
$File = new FileTransaction();
if (isset($file_del)) {
    $files = $File->getFiles($id_transaction);
    foreach ($files as $file) {
        if (!array_key_exists($file->id_file, $file_del)) {
            $File->deleteFile($file->id_file);
        }
    }
} else {
    $File->deleteAllFiles($id_transaction);
}
if (isset($_FILES['file']) && is_uploaded_file($_FILES['file']['tmp_name'])) {
    $File->addFile($_FILES['file'], $id_transaction);
}
//factures liées
if (isset($id_invoices)) {
    mysql_query("DELETE FROM webfinance_transaction_invoice WHERE id_transaction={$id_transaction}") or wf_mysqldie();
    $id_invoices = array_unique($id_invoices);
    if (count($id_invoices)) {
        $q = "";
        foreach ($id_invoices as $id_invoice) {