From 6b4d8c833babbee5d59d5afb904b6e042a2b416f Mon Sep 17 00:00:00 2001 From: Git Manager GUI Date: Fri, 10 Apr 2026 07:59:25 +0200 Subject: [PATCH] Upload via Git Manager GUI --- multi-rules.php | 785 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 785 insertions(+) create mode 100644 multi-rules.php diff --git a/multi-rules.php b/multi-rules.php new file mode 100644 index 0000000..060dd91 --- /dev/null +++ b/multi-rules.php @@ -0,0 +1,785 @@ + 10 ) + ); + + if ( ! is_wp_error( $response ) && 200 === wp_remote_retrieve_response_code( $response ) ) { + $body = wp_remote_retrieve_body( $response ); + $data = json_decode( $body, true ); + + if ( $data && isset( $data['tag_name'] ) ) { + $tag = ltrim( (string) $data['tag_name'], 'vV' ); + + $release_info = array( + 'version' => $tag, + 'download_url' => $data['zipball_url'] ?? '', + 'notes' => $data['body'] ?? '', + 'published_at' => $data['published_at'] ?? '', + ); + + // Cache für 6 Stunden + set_transient( $transient_key, $release_info, 6 * HOUR_IN_SECONDS ); + } else { + // Kurzzeit-Cache bei fehlerhafter Antwort + set_transient( $transient_key, array(), HOUR_IN_SECONDS ); + } + } else { + // Fehler beim Abruf -> Kurzzeit-Cache + set_transient( $transient_key, array(), HOUR_IN_SECONDS ); + } + } + + return $release_info; +} + +// Admin-Notice anzeigen wenn Update vorhanden +function mrp_show_update_notice() { + if ( ! current_user_can( 'manage_options' ) ) { + return; + } + + $current_version = mrp_get_plugin_version(); + $latest_release = mrp_get_latest_release_info(); + + if ( ! empty( $latest_release['version'] ) && version_compare( $current_version, $latest_release['version'], '<' ) ) { + $refresh_url = wp_nonce_url( admin_url( 'plugins.php?mrp_clear_cache=1' ), 'mrp_clear_cache_action' ); + ?> +
+

Multi Rules – Update verfügbar

+

+ Installiert:
+ Neueste Version: +

+

+ + Update herunterladen + + + Release Notes + + + Jetzt neu prüfen + +

+
+ ' . esc_html__('Sanfte Animationen für das Auf- und Zuklappen der Regeln aktivieren.', 'multi-rules') . ''; +} +function mrp_enable_drag_drop_render() { + $options = get_option('mrp_settings'); + $enabled = ($options === false || !is_array($options)) ? '1' : (isset($options['enable_drag_drop']) ? $options['enable_drag_drop'] : '0'); + echo ''; +} +function mrp_show_last_updated_render() { + $options = get_option('mrp_settings'); + $is_checked = ($options === false || !is_array($options)) ? '1' : (isset($options['show_last_updated']) ? $options['show_last_updated'] : '0'); + echo '