Skip to content

Commit 735ed81

Browse files
committed
Account for recursive listDeleteAction
1 parent 4161bf2 commit 735ed81

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

library/lib/list.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ function listDelete($table, $ids, $uri = false, $fktables = null, $saveHistory =
148148
$hasPrevent = db_fieldexists($table, 'preventdelete');
149149
$hasTree = db_fieldexists($table, 'parent_id');
150150
$count = 0;
151+
$now = date('Y-m-d H:i:s');
151152

152153
try {
153154
foreach ($ids as $id) {
@@ -182,12 +183,12 @@ function listDelete($table, $ids, $uri = false, $fktables = null, $saveHistory =
182183
}
183184
}
184185
}
185-
$count += listDeleteAction($table, $id, 0, $hasTree);
186+
$count += listDeleteAction($table, $id, $now, 0, $hasTree);
186187
} else {
187188
$result = db_query('DELETE FROM '.$table.' WHERE id = :id'.($hasPrevent ? ' AND NOT preventdelete' : ''), ['id' => $id]);
188189
$count += $result->rowCount();
189190
if ($result->rowCount() && $saveHistory) {
190-
simpleSaveChangeHistory($table, $id, 'Record deleted');
191+
simpleSaveChangeHistory($table, $id, 'Record deleted', $now);
191192
}
192193
}
193194
}
@@ -227,13 +228,12 @@ function listDeleteMessage($table, $id, $foreignkey, $restricted)
227228
return 'This '.$table_name[$table].' cannot be removed since '.$object_table_name[$foreignkey['TABLE_NAME']].''.$object_name.' '.$id_name.' is still active. Please edit or remove it first!';
228229
}
229230

230-
function listDeleteAction($table, $id, $count = 0, $recursive = false)
231+
function listDeleteAction($table, $id, $now, $count = 0, $recursive = false)
231232
{
232233
$hasPrevent = db_fieldexists($table, 'preventdelete');
233234
// prevent deletion of deleted records
234235
$hasDeleted = db_fieldexists($table, 'deleted');
235236

236-
$now = date('Y-m-d H:i:s');
237237
$query = 'UPDATE '.$table.' SET deleted = :now, modified = :now, modified_by = :user_id WHERE id = :id';
238238
$query .= ($hasPrevent ? ' AND NOT preventdelete' : '');
239239
$query .= ($hasDeleted ? ' AND (NOT deleted OR deleted IS NULL)' : '');
@@ -250,7 +250,7 @@ function listDeleteAction($table, $id, $count = 0, $recursive = false)
250250
if ($recursive) {
251251
$childs = db_array('SELECT id FROM '.$table.' WHERE parent_id = :id'.($hasPrevent ? ' AND NOT preventdelete' : ''), ['id' => $id]);
252252
foreach ($childs as $child) {
253-
$count += listDeleteAction($table, $child['id'], $count, true);
253+
$count += listDeleteAction($table, $child['id'], $now, $count, true);
254254
}
255255
}
256256

0 commit comments

Comments
 (0)