$duplicate_value) { $resource_ids = ps_query('select resource as `ref` from resource_node where node = ?;', ['i', $duplicate_node_id]); $block_duplicate_node_deletion = false; $replacement_node_id = array_search($duplicate_value, $filtered_node_values); foreach ($resource_ids as $resource) { $ref = $resource['ref']; $add_node = add_resource_nodes($ref, array($replacement_node_id), false, false); if ($add_node) { echo '' . '- Removed node ' . $duplicate_node_id . ' from resource ' . $ref . '
'; delete_resource_nodes($ref, $duplicate_node_id, false); } else { # An error occurred trying to remove a node from a resource. We cannot remove that node completely to avoid loss of data. echo 'ERROR: Node ' . $duplicate_node_id . ' (\'' . escape($duplicate_value) . '\') could not be deleted from resource ' . $ref . ' Manually removed it from the resource and then re-run this script.' . '
'; $block_duplicate_node_deletion = true; } } if (!$block_duplicate_node_deletion) { echo 'Removed node ' . $duplicate_node_id . ' (\'' . escape($duplicate_value) . '\') Now using node ID ' . $replacement_node_id . '

'; delete_node($duplicate_node_id); } }