diff --git a/Minecraft-Modern-Theme/inc/theme-updater.php b/Minecraft-Modern-Theme/inc/theme-updater.php new file mode 100644 index 0000000..2221734 --- /dev/null +++ b/Minecraft-Modern-Theme/inc/theme-updater.php @@ -0,0 +1,125 @@ + $release_data['tag_name'], + 'download_url' => $release_data['zipball_url'], + 'release_notes' => isset($release_data['body']) ? $release_data['body'] : '', + 'published_at' => isset($release_data['published_at']) ? $release_data['published_at'] : '' + ); + + // Speichere die Daten für 12 Stunden im Cache + set_transient($transient_key, $release_info, 12 * HOUR_IN_SECONDS); + } + } else { + // Bei Fehler, leere Daten für 1 Stunde cachen, um wiederholte fehlgeschlagene Anfragen zu vermeiden + set_transient($transient_key, array(), HOUR_IN_SECONDS); + } + } + + return $release_info; +} + +// Funktion zum Anzeigen der Update-Benachrichtigung im Admin-Bereich +function minecraft_modern_show_update_notification() { + // Nur im Admin-Bereich und für Administratoren anzeigen + if (!is_admin() || !current_user_can('manage_options')) { + return; + } + + // Aktuelle Theme-Version abrufen (JETZT AUS UNSERER KONSTANTE) + $current_version = MINECRAFT_MODERN_THEME_VERSION; + + // Neueste Release-Informationen abrufen + $latest_release = minecraft_modern_get_latest_release_info(); + + // Wenn wir gültige Release-Informationen haben und die Versionen unterschiedlich sind + if (!empty($latest_release) && isset($latest_release['version']) && version_compare($current_version, $latest_release['version'], '<')) { + ?> +
+ ' . esc_html($current_version) . '', + '' . esc_html($latest_release['version']) . '' + ); + ?> +
+ +' . __('Latest Version:', 'minecraft-modern-theme') . ' ' . esc_html($latest_release['version']) . '
'; + echo '' . __('Status:', 'minecraft-modern-theme') . ' ' . __('Update Available', 'minecraft-modern-theme') . '
'; + echo '' . __('Download Update', 'minecraft-modern-theme') . '
'; + } else { + echo '' . __('Latest Version:', 'minecraft-modern-theme') . ' ' . esc_html($latest_release['version']) . '
'; + echo '' . __('Status:', 'minecraft-modern-theme') . ' ' . __('Up to Date', 'minecraft-modern-theme') . '
'; + } + } else { + echo '' . __('Status:', 'minecraft-modern-theme') . ' ' . __('Unable to check for updates', 'minecraft-modern-theme') . '
'; + } + + echo ''; +} \ No newline at end of file