From 226fe6ae433448f4bd73dee39f9abfbaa60ba1dd Mon Sep 17 00:00:00 2001 From: Patrick Niebeling Date: Wed, 12 Feb 2025 21:37:01 +0100 Subject: [PATCH] v1.6 Signed-off-by: Patrick Niebeling --- uuid-file-renamer.php | 71 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 5 deletions(-) diff --git a/uuid-file-renamer.php b/uuid-file-renamer.php index 5327012..8d0ee06 100644 --- a/uuid-file-renamer.php +++ b/uuid-file-renamer.php @@ -47,13 +47,17 @@ function add_uuid_rename_link($actions, $post) { add_action('wp_ajax_rename_media_to_uuid', 'rename_media_to_uuid_ajax'); function rename_media_to_uuid_ajax() { if (!current_user_can('manage_options')) { + set_transient('uuid_rename_error_message', __('Keine Berechtigung.', 'uuid-file-renamer'), 5); wp_send_json_error(__('Keine Berechtigung.', 'uuid-file-renamer')); } if (!isset($_POST['attachment_id'])) { + set_transient('uuid_rename_error_message', __('Fehlende Anhangs-ID.', 'uuid-file-renamer'), 5); wp_send_json_error(__('Fehlende Anhangs-ID.', 'uuid-file-renamer')); } $attachment_id = intval($_POST['attachment_id']); rename_existing_media_to_uuid($attachment_id); + + set_transient('uuid_rename_success_message', __('Datei erfolgreich umbenannt.', 'uuid-file-renamer'), 5); wp_send_json_success(__('Datei erfolgreich umbenannt.', 'uuid-file-renamer')); } @@ -70,10 +74,29 @@ function handle_bulk_uuid_rename($redirect_to, $doaction, $attachment_ids) { if ($doaction !== 'rename_to_uuid') { return $redirect_to; } + + $success_count = 0; + $error_count = 0; + foreach ($attachment_ids as $attachment_id) { - rename_existing_media_to_uuid($attachment_id); + $result = rename_existing_media_to_uuid($attachment_id); + if ($result) { + $success_count++; + } else { + $error_count++; + } } - $redirect_to = add_query_arg('bulk_uuid_renamed', count($attachment_ids), $redirect_to); + + // Erfolgreiche und fehlgeschlagene Umbenennungen speichern + if ($success_count > 0) { + set_transient('uuid_rename_bulk_success_message', sprintf(__('Es wurden %d Mediendateien erfolgreich umbenannt.', 'uuid-file-renamer'), $success_count), 5); + } + if ($error_count > 0) { + set_transient('uuid_rename_bulk_error_message', sprintf(__('Fehler beim Umbenennen von %d Mediendateien.', 'uuid-file-renamer'), $error_count), 5); + } + + // Umleitungs-URL mit Nachricht + $redirect_to = add_query_arg('bulk_uuid_renamed', $success_count, $redirect_to); return $redirect_to; } @@ -109,7 +132,9 @@ function rename_existing_media_to_uuid($attachment_id) { } wp_update_attachment_metadata($attachment_id, $metadata); } + return true; } + return false; } // JS für Buttons hinzufügen @@ -123,13 +148,49 @@ function uuid_renamer_js() { var attachmentId = button.data("id"); $.post(ajaxurl, { action: "rename_media_to_uuid", attachment_id: attachmentId }, function(response) { if (response.success) { - // alert(response.data); - location.reload(); + location.reload(); // Die Seite wird nach erfolgreichem Umbenennen neu geladen } else { - alert(response.data); + set_transient("uuid_rename_error_message", response.data, 5); + location.reload(); // Die Seite wird nach Fehler ebenfalls neu geladen } }); }); }); '; } + +// Erfolgs- und Fehlermeldungen im Admin-Bereich anzeigen +add_action('admin_notices', 'uuid_rename_message'); +function uuid_rename_message() { + // Erfolgsnachricht anzeigen + if ($message = get_transient('uuid_rename_success_message')) { + echo '
'; + echo '

' . esc_html($message) . '

'; + echo '
'; + delete_transient('uuid_rename_success_message'); + } + + // Fehlernachricht anzeigen + if ($error_message = get_transient('uuid_rename_error_message')) { + echo '
'; + echo '

' . esc_html($error_message) . '

'; + echo '
'; + delete_transient('uuid_rename_error_message'); + } + + // Bulk Erfolgsnachricht anzeigen + if ($message = get_transient('uuid_rename_bulk_success_message')) { + echo '
'; + echo '

' . esc_html($message) . '

'; + echo '
'; + delete_transient('uuid_rename_bulk_success_message'); + } + + // Bulk Fehlernachricht anzeigen + if ($error_message = get_transient('uuid_rename_bulk_error_message')) { + echo '
'; + echo '

' . esc_html($error_message) . '

'; + echo '
'; + delete_transient('uuid_rename_bulk_error_message'); + } +} -- 2.49.0