From c26488468ef7305062dcbd733a1f3881f1b4f820 Mon Sep 17 00:00:00 2001 From: Joey Schulze Date: Wed, 12 May 2010 20:23:50 +0200 Subject: [PATCH] Support deletion in secondary tables via array tables_delete --- ajax/ajax.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ajax/ajax.php b/ajax/ajax.php index 185b5e4..18d3177 100644 --- a/ajax/ajax.php +++ b/ajax/ajax.php @@ -205,9 +205,14 @@ function delete_or_copy($mask) if (!empty($mask['edit_table'])) return array('error' => 'Cannot handle deletion for secondary table'); + if (!empty($_POST['table']) && is_array($mask['tables_delete']) && in_array($_POST['table'], $mask['tables_delete'])) + $table = $_POST['table']; + else + $table = $mask['table']; + if (DELETE_COPY === true) { $sql = sprintf("INSERT INTO %s_deleted SELECT * FROM %s WHERE id = %d", - $mask['table'], $mask['table'], $_POST['id']); + $table, $table, $_POST['id']); $sth = pg_query($sql); @@ -218,7 +223,7 @@ function delete_or_copy($mask) } $sql = sprintf("UPDATE %s_deleted SET sys_user='%s',sys_edit=now() WHERE id = %d", - $mask['table'], $_SESSION['sys']['login'], $_POST['id']); + $table, $_SESSION['sys']['login'], $_POST['id']); $sth = pg_query($sql); @@ -229,7 +234,7 @@ function delete_or_copy($mask) } } - $sql = sprintf("DELETE FROM %s WHERE id = %d", $mask['table'], $_POST['id']); + $sql = sprintf("DELETE FROM %s WHERE id = %d", $table, $_POST['id']); $sth = pg_query($sql); -- 2.20.1