/**
* @param null $id
*
* @return bool|mixed
*/
public function delete_bulk()
{
$this->do_hook('pre_delete_bulk');
if (1 != pods_var('deleted_bulk', 'get', 0)) {
$ids = $this->bulk;
$success = false;
if (!empty($ids)) {
$ids = (array) $ids;
foreach ($ids as $id) {
$id = pods_absint($id);
if (empty($id)) {
continue;
}
if (isset($this->actions_custom['delete']) && is_callable($this->actions_custom['delete'])) {
$check = call_user_func_array($this->actions_custom['delete'], array($id, &$this));
if (false !== $check) {
$check = true;
}
} elseif (is_object($this->pod)) {
$check = $this->pod->delete($id);
} else {
$check = $this->pods_data->delete($this->table, array($this->data->field_id => $id));
}
if ($check) {
$success = true;
}
}
}
if ($success) {
pods_redirect(pods_var_update(array('action_bulk' => 'delete', 'deleted_bulk' => 1), array('page', 'lang', 'action', 'id')));
} else {
$this->error(__("<strong>Error:</strong> {$this->item} has not been deleted.", 'pods'));
}
} else {
$this->message(__("<strong>Deleted:</strong> {$this->items} have been deleted.", 'pods'));
unset($_GET['deleted_bulk']);
}
$this->action_bulk = false;
unset($_GET['action_bulk']);
$this->do_hook('post_delete_bulk');
$this->manage();
}