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' );
+ ?>
+
+ ' . 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 '
'; }
+
+ wp_enqueue_style('mrp-frontend-style', plugin_dir_url(__FILE__) . 'style.css', array(), '8.0');
+ wp_enqueue_script('mrp-frontend-script', plugin_dir_url(__FILE__) . 'script.js', array('jquery'), '8.0', true);
+
+ wp_localize_script('mrp-frontend-script', 'mrp_frontend_vars', [ 'enable_animations' => $enable_animations ]);
+
+ ob_start();
+
+ $last_updated_html = '';
+ if ($show_last_updated && isset($options['last_updated']) && is_numeric($options['last_updated'])) {
+ $last_updated_timestamp = $options['last_updated'];
+ $date_format = sanitize_text_field( get_option('date_format') );
+ $formatted_date = date_i18n( $date_format, $last_updated_timestamp );
+ /* translators: %s: Formatted date. */
+ $last_updated_html = '' . sprintf(esc_html__('Zuletzt aktualisiert am: %s', 'multi-rules'), esc_html($formatted_date)) . '
';
+ }
+ ?>
+
+
+
+ ' . esc_html__('Willkommen', 'multi-rules') . ''; $is_first_tab = false; }
+ if (!empty($tabs)) { foreach ($tabs as $index => $tab) { $active_class = $is_first_tab ? 'active' : ''; $nav_buttons_html .= ''; $is_first_tab = false; } }
+ echo wp_kses_post($nav_buttons_html);
+ ?>
+
+
+
+
+