From 0992fcca8de5ea0e3624fd69c5a699dcda13fb94 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Fri, 11 Apr 2025 09:23:57 +0000 Subject: [PATCH] wp-multi-toolkit.php aktualisiert --- wp-multi-toolkit.php | 295 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 254 insertions(+), 41 deletions(-) diff --git a/wp-multi-toolkit.php b/wp-multi-toolkit.php index a5ea5ec..61b234c 100644 --- a/wp-multi-toolkit.php +++ b/wp-multi-toolkit.php @@ -3,7 +3,7 @@ * Plugin Name: WP Multi Toolkit * Plugin URI: https://git.viper.ipv64.net/M_Viper/wp-multi-toolkit * Description: Ein umfassendes Toolkit inklusive WP Multi Funktionen und Update-Management für zugehörige Plugins. - * Version: 1.0.3 + * Version: 1.0.4 * Author: M_Viper * Author URI: https://m-viper.de * Requires at least: 6.7.2 @@ -21,7 +21,6 @@ defined('ABSPATH') or die('No direct access allowed.'); // Funktion, um zukünftige Posts zu veröffentlichen function pubMissedPosts() { if (is_front_page() || is_single()) { - global $wpdb; $now = gmdate('Y-m-d H:i:00'); @@ -54,7 +53,6 @@ function pubMissedPosts() { // Die Funktion beim Laden der Seite aufrufen add_action('wp_head', 'pubMissedPosts'); - /* * Abhängigkeitsprüfung: WP Multi Kategorie */ @@ -87,12 +85,10 @@ function wp_multi_toolkit_kategorie_dependency_notice() { wp_multi_toolkit_check_kategorie_dependency(); - /* * Gitea - Ticket - BUG - Report */ - - function send_support_ticket_to_server($plugin_name, $title, $description, $label = 'bug') { +function send_support_ticket_to_server($plugin_name, $title, $description, $label = 'bug') { $server_url = 'https://m-viper.de/gitea-issue-creator.php'; // Hier wird das Plugin korrekt übergeben @@ -133,44 +129,44 @@ wp_multi_toolkit_check_kategorie_dependency(); function support_ticket_form() { ?>
-

WP-Multi Support

+

- +
- - + +
- - + +
- +
- +
' . $result . '
'; } @@ -274,21 +269,239 @@ function support_ticket_form() { // Menüseite hinzufügen function add_support_ticket_page() { add_menu_page( - 'WP-Multi Support', - 'WP-Multi Support', + __('WP-Multi Support', 'wp-multi-toolkit'), + __('WP-Multi Support', 'wp-multi-toolkit'), 'manage_options', 'wp_multi_support', 'support_ticket_form' ); } - add_action('admin_menu', 'add_support_ticket_page'); +/* + * Virtueller Assistent als Submenü + */ +function wpmt_virtual_assistant_page() { + if (!current_user_can('manage_options')) { + wp_die(__('Du hast nicht die Berechtigung, auf diese Seite zuzugreifen.', 'wp-multi-toolkit')); + } + + $assistant_responses = apply_filters('wpmt_assistant_responses', array( + 'default' => __('Entschuldigung, das verstehe ich nicht. Versuche es mit einer anderen Frage oder erstelle ein Support-Ticket unter WP-Multi Support!', 'wp-multi-toolkit') + )); + + // Stichwörter aus den Antworten extrahieren (ohne 'default') + $keywords = array_keys($assistant_responses); + unset($keywords[array_search('default', $keywords)]); // Entfernt 'default' aus der Liste + $keywords_list = implode(', ', $keywords); + + ?> +
+

+
+ <?php _e('Virtueller Assistent', 'wp-multi-toolkit'); ?> +

+ + +
+
+
+

+

+
+
+ + + TG-Notify".', 'wp-multi-toolkit'); + $responses['discord'] = __('Schickt Benachrichtigungen für neue Beiträge an Discord. Konfiguriere dies unter "Notify > DC-Notify".', 'wp-multi-toolkit'); + $responses['admin links'] = __('Füge eigene Links (z. B. zu externen Seiten) im Adminpanel hinzu. Gehe zu "Werkzeuge > Admin-Link hinzufügen".', 'wp-multi-toolkit'); + $responses['gast-autor'] = __('Gib Gastautoren unter "Benutzer > Gastautor (Übersicht)" ein. Sie werden in jedem Beitrag im Frontend angezeigt.', 'wp-multi-toolkit'); + $responses['beitrag report'] = __('Unangemessene Beiträge melden und bearbeiten. Sieh die Liste unter "Gemeldete Beiträge".', 'wp-multi-toolkit'); + $responses['textbox'] = __('Fügt eine Textbox mit vordefinierten Texten am Beitragsende hinzu. Texte können im Adminpanel hinterlegt werden.', 'wp-multi-toolkit'); + $responses['banner'] = __('Stelle ein Informationsbanner unter "WP Stat & Notice" ein (Header oder Footer).', 'wp-multi-toolkit'); + $responses['inhaltsverzeichnis'] = __('Nutze den Shortcode [alphabetical_index], um ein Inhaltsverzeichnis aller Beiträge zu erstellen.', 'wp-multi-toolkit'); + $responses['lesezeichen'] = __('Gäste können Lesezeichen mit [add_bookmark] setzen und mit [display_bookmarks] anzeigen. Per Cookie gespeichert.', 'wp-multi-toolkit'); + $responses['custom shortcode'] = __('Erstelle eigene Shortcodes und wähle sie unter "Beitrag erstellen" im Editor aus.', 'wp-multi-toolkit'); + $responses['kommentar sperren'] = __('Sperre Benutzer für Kommentare unter "Benutzer sperren" (z. B. via Benutzername, IP, Mail).', 'wp-multi-toolkit'); + $responses['filter'] = __('Verbiete Rufnummern, Mailadressen, URLs, IPs oder Schimpfwörter unter "Kommentare > Kommentar Filter". Verstöße werden mit * ersetzt.', 'wp-multi-toolkit'); + $responses['analytics'] = __('Sieh die beliebtesten Beiträge (Views, Kommentare, Titel, ID, Zeitstempel) unter "Benutzer > Benutzer Analytics".', 'wp-multi-toolkit'); + $responses['pinwand'] = __('Hinterlege Nachrichten für Backend-Nutzer unter "Pinnwand". Diese können erstellt, bearbeitet oder gelöscht werden.', 'wp-multi-toolkit'); + $responses['brute force'] = __('Schutz vor Brute-Force: Loggt Fehlversuche und sperrt nach 5 Versuchen. Einstellungen unter "Sicherheit".', 'wp-multi-toolkit'); + $responses['anti spam'] = __('Blockiert Spam und Bots. Konfiguriere dies unter "Sicherheit" mit Übersicht im Adminpanel.', 'wp-multi-toolkit'); + $responses['auto tag'] = __('Fügt fehlende Tags automatisch hinzu. Verwalte verbotene Wörter unter "Beiträge > Automatische Tags".', 'wp-multi-toolkit'); + $responses['login deaktivieren'] = __('Deaktiviere Logins im Profil unter "Benutzer > Alle Benutzer > Benutzer auswählen".', 'wp-multi-toolkit'); + $responses['text copy'] = __('Schützt Texte vor Kopieren (Rechtsklick-Sperre). Aktiviere dies in den WP Multi-Einstellungen.', 'wp-multi-toolkit'); + $responses['trash mail'] = __('Verbietet Trash-Mail-Adressen in Kommentaren. Die Liste wird vom Entwickler gepflegt.', 'wp-multi-toolkit'); + // WP Multi Comment Notifications + $responses['kommentar benachrichtigung'] = __('Schickt Benachrichtigungen für neue Kommentare per Mail, Telegram oder Discord. Einstellungen unter "Kommentare > Kommentar Benachrichtigung".', 'wp-multi-toolkit'); + + // WP Multi Kategorie + $responses['kategorien ausblenden'] = __('Blende einzelne Kategorien unter "Beiträge > Kategorie Filter" aus.', 'wp-multi-toolkit'); + + // WP Multi Search + $responses['suchfunktion'] = __('Füge eine Suchfunktion (Allgemein, Gastautor, Titel) als Shortcode, Widget oder Menüeintrag hinzu. Einstellungen unter "Einstellung > WP-Multi Search".', 'wp-multi-toolkit'); + + // WP Multi Toolkit + $responses['update management'] = __('Zeigt den Status der WP Multi Plugins und verfügbare Updates im Dashboard-Widget "Verfügbare Updates für WP Multi Toolkit".', 'wp-multi-toolkit'); + $responses['support issues'] = __('Erstelle Support-Tickets unter "WP-Multi Support" für Antworten zu WP Multi Plugins.', 'wp-multi-toolkit'); + $responses['dokumentation'] = __('Finde die Dokumentation unter "WP-Multi Support > Dokumentation" mit Links zu den Plugins.', 'wp-multi-toolkit'); + $responses['virtueller assistent'] = __('Ich bin der virtuelle Assistent! Stelle mir Fragen zu WP Multi Plugins unter "WP-Multi Support > Virtueller Assistent".', 'wp-multi-toolkit'); + $responses['toolbar'] = __('Die Schnellstart-Toolbar unten rechts bietet Zugriff auf Support, Updates, Dokumentation und mich!', 'wp-multi-toolkit'); + $responses['wp multi plugins'] = __('Folgende Plugins gehören zur WP Multi-Reihe:
- WP Multi Toolkit: Schnittstelle für alle WP Multi Plugins.
- WP Multi: Hauptplugin mit vielen Funktionen.
- WP Multi Comment Notifications: Benachrichtigungen für Kommentare.
- WP Multi Search: Erweiterte Suchfunktion.
- WP Multi Kategorie: Kategoriefilter.', 'wp-multi-toolkit'); + + // Allgemeine Fragen und Antworten zu WP Multi Plugins + $responses['was sind wp multi plugins'] = __('Die WP Multi Plugins sind eine Sammlung von WordPress-Plugins, die erweiterte Funktionen für deine Website bieten. Dazu gehören Tools für Benachrichtigungen, Sicherheit, Statistiken, Kommentar-Management und mehr. Sieh dir die Liste unter "wp multi plugins" an!', 'wp-multi-toolkit'); + $responses['wie installiere ich ein plugin'] = __('Gehe zu "Plugins > Neu hinzufügen" in deinem WordPress-Dashboard, lade die Plugin-Datei (z. B. von https://git.viper.ipv64.net/M_Viper) hoch und aktiviere es. Alternativ kannst du es manuell über FTP in den Ordner /wp-content/plugins/ hochladen und aktivieren.', 'wp-multi-toolkit'); + $responses['wo finde ich updates'] = __('Updates für WP Multi Plugins findest du im Dashboard-Widget "Verfügbare Updates für WP Multi Toolkit" oder auf https://git.viper.ipv64.net/M_Viper. Lade die neueste Version herunter und aktualisiere das Plugin manuell.', 'wp-multi-toolkit'); + $responses['wie erstelle ich ein support ticket'] = __('Gehe zu "WP-Multi Support" im Admin-Menü, wähle das Plugin, gib einen Titel und eine Beschreibung ein und sende das Ticket ab. Du erhältst eine Bestätigung, wenn es erfolgreich erstellt wurde.', 'wp-multi-toolkit'); + $responses['welche voraussetzungen gibt es'] = __('Die WP Multi Plugins benötigen mindestens WordPress 6.7.2. Einige Funktionen (z. B. Telegram- oder Discord-Benachrichtigungen) erfordern API-Keys oder zusätzliche Konfiguration. Details findest du in der Dokumentation.', 'wp-multi-toolkit'); + $responses['sind die plugins kostenlos'] = __('Ja, alle WP Multi Plugins sind kostenlos verfügbar unter https://git.viper.ipv64.net/M_Viper. Es gibt keine versteckten Kosten und es wird kein Geld angenommen.', 'wp-multi-toolkit'); + $responses['wie deaktiviere ich ein plugin'] = __('Gehe zu "Plugins > Installierte Plugins" in deinem WordPress-Dashboard, suche das Plugin und klicke auf "Deaktivieren". Du kannst es danach löschen, wenn du es nicht mehr benötigst.', 'wp-multi-toolkit'); + $responses['wo finde ich die dokumentation'] = __('Die Dokumentation ist unter "WP-Multi Support > Dokumentation" im Admin-Menü verfügbar. Sie enthält Details zu jedem Plugin und Links zu den Download-Seiten.', 'wp-multi-toolkit'); + $responses['wer entwickelt die plugins'] = __('Die WP Multi Plugins werden von M_Viper entwickelt. Mehr Infos findest du auf https://m-viper.de oder im Repository https://git.viper.ipv64.net/M_Viper.', 'wp-multi-toolkit'); + $responses['kann ich eigene funktionen hinzufügen'] = __('Ja, die Plugins sind Open Source. Du kannst den Code auf https://git.viper.ipv64.net/M_Viper anpassen. Für Vorschläge erstelle ein Support-Ticket mit der Kategorie "Verbesserung".', 'wp-multi-toolkit'); + + return $responses; +}); + +/* + * Schnellzugriff-Menü (Floating Toolbar) + */ +function wpmt_add_floating_toolbar() { + if (!current_user_can('manage_options') || !is_admin()) { + return; + } + ?> +
+ + +
+ + 'WP-Multi-Toolkit/wp-multi-toolkit.php', + 'wp-multi-toolkit' => 'wp-multi-toolkit/wp-multi-toolkit.php', 'wp-multi' => 'WP-Multi/wp-multi.php', 'WP-Multi-Search' => 'wp-multi-search/wp-multi-search.php', 'wp-multi-comment-notifications' => 'wp-multi-comment-notifications/wp-multi-comment-notifications.php' @@ -574,7 +787,7 @@ function wpmt_check_update_server_status() { return !is_wp_error($response) && wp_remote_retrieve_response_code($response) == 200; } -// Callback-Funktion für das Widget mit nur Offline-Anzeige +// Callback-Funktion für das Widget function wpmt_update_dashboard_widget_content() { require_once ABSPATH . 'wp-admin/includes/plugin.php'; @@ -800,4 +1013,4 @@ function wpmt_uninstall() { delete_option('wpmt_multi_settings'); wp_clear_scheduled_hook('wpmt_update_check_event'); } -register_uninstall_hook(__FILE__, 'wpmt_uninstall'); +register_uninstall_hook(__FILE__, 'wpmt_uninstall'); \ No newline at end of file