$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);
}
}