Upload via GUI (90 Dateien)

This commit is contained in:
2026-10-02 06:22:55 +00:00
parent 906ac75443
commit 47b8b88f6e
14 changed files with 12117 additions and 11013 deletions
@@ -2,7 +2,7 @@
/**
* Plugin Name: AeroMC Freunde
* Description: Backend für das Freundesystem des AeroMC Launchers - meldet, wer gerade online/im Spiel ist, und verwaltet Freundschaftsanfragen. Keine eigene Anmeldung: der Launcher meldet sich direkt mit der Minecraft-UUID des jeweiligen Kontos.
* Version: 1.0.0
* Version: 1.1.0
* Author: M_Viper
*/
@@ -10,9 +10,10 @@ if (!defined('ABSPATH')) {
exit; // kein direkter Aufruf der Datei
}
define('AEROMC_FRIENDS_VERSION', '1.0.0');
define('AEROMC_FRIENDS_VERSION', '1.1.0');
define('AEROMC_FRIENDS_PRESENCE_TABLE', 'aeromc_presence');
define('AEROMC_FRIENDS_FRIENDS_TABLE', 'aeromc_friends');
define('AEROMC_FRIENDS_INVITES_TABLE', 'aeromc_invites');
/**
* Legt die beiden Tabellen an (bzw. bringt sie bei einem Update auf den
@@ -23,6 +24,7 @@ function aeromc_friends_install() {
$charset_collate = $wpdb->get_charset_collate();
$presence_table = $wpdb->prefix . AEROMC_FRIENDS_PRESENCE_TABLE;
$friends_table = $wpdb->prefix . AEROMC_FRIENDS_FRIENDS_TABLE;
$invites_table = $wpdb->prefix . AEROMC_FRIENDS_INVITES_TABLE;
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
@@ -34,6 +36,7 @@ function aeromc_friends_install() {
username varchar(32) NOT NULL,
instance_name varchar(128) DEFAULT NULL,
server_label varchar(128) DEFAULT NULL,
mc_version varchar(32) DEFAULT NULL,
last_seen datetime NOT NULL,
PRIMARY KEY (uuid)
) $charset_collate;";
@@ -50,7 +53,31 @@ function aeromc_friends_install() {
KEY uuid_b (uuid_b)
) $charset_collate;";
dbDelta($sql_friends);
// Einladungen "Komm auf meinen Server" - gelten nur ein paar Minuten
$sql_invites = "CREATE TABLE $invites_table (
id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
from_uuid varchar(32) NOT NULL,
to_uuid varchar(32) NOT NULL,
server varchar(128) NOT NULL,
mc_version varchar(32) DEFAULT NULL,
created_at datetime NOT NULL,
PRIMARY KEY (id),
KEY to_uuid (to_uuid)
) $charset_collate;";
dbDelta($sql_invites);
update_option('aeromc_friends_db_version', AEROMC_FRIENDS_VERSION);
}
register_activation_hook(__FILE__, 'aeromc_friends_install');
// Beim Ersetzen der Plugin-Dateien (Update per Upload) läuft der
// Aktivierungs-Hook NICHT erneut - neue Spalten/Tabellen deshalb anlegen,
// sobald die gespeicherte DB-Version nicht mehr zur Plugin-Version passt.
add_action('plugins_loaded', function () {
if (get_option('aeromc_friends_db_version') !== AEROMC_FRIENDS_VERSION) {
aeromc_friends_install();
}
});
require_once plugin_dir_path(__FILE__) . 'includes/routes.php';