From d8ea909b778935cc454125d2686e9ee69fc6314a Mon Sep 17 00:00:00 2001 From: ManfredAabye Date: Tue, 21 Oct 2025 10:16:21 +0200 Subject: [PATCH] 21102025 --- classifieds.php | 379 ++++++++++++++++++++ economy.php | 776 +++++++++++++++++++++++++++++++++++++++++ friends.php | 683 ++++++++++++++++++++++++++++++++++++ gridsearch.php | 694 +++++++++++++++++++++++++++++++++++++ groups.php | 894 ++++++++++++++++++++++++++++++++++++++++++++++++ picks.php | 480 ++++++++++++++++++++++++++ profile.php | 708 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 4614 insertions(+) create mode 100644 classifieds.php create mode 100644 economy.php create mode 100644 friends.php create mode 100644 gridsearch.php create mode 100644 groups.php create mode 100644 picks.php create mode 100644 profile.php diff --git a/classifieds.php b/classifieds.php new file mode 100644 index 0000000..c7579b4 --- /dev/null +++ b/classifieds.php @@ -0,0 +1,379 @@ + 'Alle Kategorien', + 'shopping' => 'Shopping', + 'land_rental' => 'Landvermietung', + 'property_rental' => 'Immobilien', + 'special_attraction' => 'Sehenswürdigkeiten', + 'new_products' => 'Neue Produkte', + 'employment' => 'Stellenanzeigen', + 'wanted' => 'Gesucht', + 'service' => 'Dienstleistungen', + 'personal' => 'Persönliches' + ]; +} + +// Aktionen verarbeiten +$action = isset($_GET['action']) ? $_GET['action'] : 'list'; +$category = isset($_GET['category']) ? $_GET['category'] : 'all'; +$search = isset($_GET['search']) ? trim($_GET['search']) : ''; +$classifiedId = isset($_GET['id']) ? $_GET['id'] : ''; + +?> + +
+
+ +
+
+
+
Filter & Suche
+
+
+ +
+
+ + +
+ +
+ + +
+ + + + Zurücksetzen + +
+
+
+ + + +
+ + +
+ + + +
+ +
+
+
+
Beschreibung:
+

+ +
+
+
Details:
+
    +
  • Kategorie:
  • +
  • Preis: L$
  • +
  • Erstellt:
  • +
  • Aufrufe:
  • +
+
+
+
Kontakt & Location:
+
    +
  • Ersteller:
  • +
  • Region:
  • +
  • Position:
  • +
+
+
+
+
+ + +
+ Anzeigenbild +
+ + + + + + + +
+
+
+
+ +
+ Anzeige nicht gefunden. +
+ + + + +
+
+

Klassifizierte Anzeigen

+ + Kategorie: + +
+
+ + +
+
Anzeigen gefunden
+ + + Suche nach: "" + + +
+ + 0): ?> +
+ +
+
+ + Anzeigenbild + + +
+
+

+ 100 ? '...' : '')); ?> +

+ +
+
+ + + + + L$ + +
+ +
+ + von + + + Aufrufe + +
+ + +
+
+
+
+ +
+ + +
+ +
Keine Anzeigen gefunden
+

+ + Versuchen Sie es mit anderen Suchbegriffen oder einer anderen Kategorie. + + Es wurden noch keine klassifizierten Anzeigen erstellt. + +

+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ + +
+ +
+

Gesamt Anzeigen

+
+
+ +
+

Kategorien verwendet

+
+
+ +
+

Gesamt Aufrufe

+
+
+ +
L$
+

Gesamt Umsatz

+
+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/economy.php b/economy.php new file mode 100644 index 0000000..22f6d4c --- /dev/null +++ b/economy.php @@ -0,0 +1,776 @@ + 0"))[0]; + $totalTransactions = mysqli_fetch_row(mysqli_query($con, "SELECT COUNT(*) FROM transactions"))[0]; + $dailyVolume = mysqli_fetch_row(mysqli_query($con, "SELECT SUM(amount) FROM transactions WHERE time > (UNIX_TIMESTAMP() - 86400)"))[0] ?? 0; + + $avgBalance = $totalUsers > 0 ? $totalMoney / $totalUsers : 0; + + return [ + 'total_money' => $totalMoney, + 'total_users' => $totalUsers, + 'total_transactions' => $totalTransactions, + 'daily_volume' => $dailyVolume, + 'avg_balance' => $avgBalance + ]; +} + +function getTopUsers($con, $type = 'balance', $limit = 10) { + if ($type == 'balance') { + $sql = "SELECT b.*, ua.FirstName, ua.LastName + FROM balances b + LEFT JOIN UserAccounts ua ON b.PrincipalID = ua.PrincipalID + ORDER BY b.balance DESC + LIMIT " . intval($limit); + } elseif ($type == 'transactions') { + $sql = "SELECT COUNT(*) as transaction_count, t.fromID as PrincipalID, ua.FirstName, ua.LastName + FROM transactions t + LEFT JOIN UserAccounts ua ON t.fromID = ua.PrincipalID + WHERE t.time > (UNIX_TIMESTAMP() - (30*86400)) + GROUP BY t.fromID + ORDER BY transaction_count DESC + LIMIT " . intval($limit); + } + + return mysqli_query($con, $sql); +} + +function getTransactionTypes($con, $userId = null, $days = 30) { + $sql = "SELECT type, COUNT(*) as count, SUM(amount) as total_amount + FROM transactions + WHERE time > (UNIX_TIMESTAMP() - (" . intval($days) . "*86400))"; + + if ($userId) { + $sql .= " AND (fromID = '" . mysqli_real_escape_string($con, $userId) . "' + OR toID = '" . mysqli_real_escape_string($con, $userId) . "')"; + } + + $sql .= " GROUP BY type ORDER BY total_amount DESC"; + + return mysqli_query($con, $sql); +} + +function getRecentTransactions($con, $limit = 20) { + $sql = "SELECT t.*, + ua_from.FirstName as FromFirstName, ua_from.LastName as FromLastName, + ua_to.FirstName as ToFirstName, ua_to.LastName as ToLastName + FROM transactions t + LEFT JOIN UserAccounts ua_from ON t.fromID = ua_from.PrincipalID + LEFT JOIN UserAccounts ua_to ON t.toID = ua_to.PrincipalID + ORDER BY t.time DESC + LIMIT " . intval($limit); + + return mysqli_query($con, $sql); +} + +// Parameter verarbeiten +$action = isset($_GET['action']) ? $_GET['action'] : 'dashboard'; +$userId = isset($_GET['user']) ? $_GET['user'] : ''; +$period = isset($_GET['period']) ? $_GET['period'] : '30'; + +// Dummy-Benutzer-ID für Demo (normalerweise aus Session) +$currentUserId = '00000000-0000-0000-0000-000000000001'; // Beispiel-User-ID + +?> + +
+
+ +
+ +
+
+
Mein Konto
+
+
+ + +
+

+ L$ +

+ Aktueller Kontostand +
+ + +
+
+ + + + + +
+
+
Grid Economy
+
+
+ + +
+
+
L$
+ Geld im Umlauf +
+
+
+ Aktive Konten +
+
+
+ Gesamt Transaktionen +
+
+
L$
+ Heute umgesetzt +
+
+
+
+
+ + +
+ + +
+
+

Mein Economy-Konto

+
+
+ + +
+
+
+
+

L$

+

Aktueller Kontostand

+
+
+
+
+
+
+ (UNIX_TIMESTAMP() - (30*86400)) + "))[0] ?? 0; + ?> +

L$

+

Ausgaben (30 Tage)

+
+
+
+
+
+
+ (UNIX_TIMESTAMP() - (30*86400)) + "))[0] ?? 0; + ?> +

L$

+

Einnahmen (30 Tage)

+
+
+
+
+ + +
+
+
+
+
Transaktionstypen (30 Tage)
+
+
+ +
+ +
+ x + L$ +
+
+ +
+
+
+
+
+
+
Konto-Aktionen
+
+
+
+ + + + Alle Transaktionen anzeigen + + +
+
+
+
+
+ + +
+
Neueste Transaktionen
+
+ + + + + + + + + + + + + + + + + + + + + +
DatumVon/AnBetragTypBeschreibung
+ + + + + + + + L$ + +
+
+
+
+
+ + + +
+
+

Economy Ranglisten

+
+
+
+ +
+
+
+
Top Konten (Kontostand)
+
+
+ + +
+
+ + # + + + + +
+ L$ +
+ +
+
+
+ + +
+
+
+
Aktivste Benutzer (30 Tage)
+
+
+ + +
+
+ + # + + + + +
+ Transaktionen +
+ +
+
+
+
+
+
+ + + +
+
+

Neueste Grid-Transaktionen

+
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + +
ZeitVonAnBetragTypBeschreibung
+ + + + + + System + + + + + + + + System + + + + L$ + + + + + +
+
+
+
+ + + +
+
+

Economy Dashboard

+

Übersicht über die Grid-Wirtschaft

+
+
+ + +
+ + +
+
+
+ +

L$

+

Geld im Umlauf

+
+
+
+
+
+
+ +

+

Aktive Konten

+
+
+
+
+
+
+ +

+

Gesamt Transaktionen

+
+
+
+
+
+
+ +

L$

+

24h Volumen

+
+
+
+
+ + +
+
+
+
+
Transaktionsübersicht
+
+
+
+ + + + + + + + + + + + + + + + + + + +
TransaktionstypAnzahl (30 Tage)Volumen (30 Tage)Durchschnitt
L$ L$
+
+
+
+
+ +
+
+
+
Weitere Statistiken
+
+
+
+
+ Durchschnittskontostand: + L$ +
+
+ + (UNIX_TIMESTAMP() - (7*86400))"))[0] ?? 0; + $monthlyVolume = mysqli_fetch_row(mysqli_query($con, "SELECT SUM(amount) FROM transactions WHERE time > (UNIX_TIMESTAMP() - (30*86400))"))[0] ?? 0; + ?> + +
+
+ 7-Tage Volumen: + L$ +
+
+ +
+
+ 30-Tage Volumen: + L$ +
+
+ +
+ + +
+
+
+
+ + +
+
+
+
+
Neueste Grid-Aktivitäten
+
+
+ + +
+ +
+
+
+
+ + +
+ +
L$
+ +

+ Von:
+ An: +

+ + +

+ +

+ +
+
+
+ +
+
+
+
+
+ +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/friends.php b/friends.php new file mode 100644 index 0000000..8e372f4 --- /dev/null +++ b/friends.php @@ -0,0 +1,683 @@ + 0 + AND gu.Login > (UNIX_TIMESTAMP() - 300) -- Online in den letzten 5 Minuten + ORDER BY gu.Login DESC"; + + return mysqli_query($con, $sql); +} + +function searchUsers($con, $search) { + $search = mysqli_real_escape_string($con, $search); + $sql = "SELECT ua.PrincipalID, ua.FirstName, ua.LastName, + gu.Login, gu.Online, + up.profileImage, up.profileAboutText + FROM UserAccounts ua + LEFT JOIN GridUser gu ON ua.PrincipalID = gu.UserID + LEFT JOIN userprofile up ON ua.PrincipalID = up.useruuid + WHERE (ua.FirstName LIKE '%$search%' OR ua.LastName LIKE '%$search%') + ORDER BY gu.Login DESC, ua.FirstName ASC + LIMIT 20"; + + return mysqli_query($con, $sql); +} + +function areFriends($con, $userId1, $userId2) { + $sql = "SELECT COUNT(*) FROM Friends + WHERE ((PrincipalID = '" . mysqli_real_escape_string($con, $userId1) . "' + AND Friend = '" . mysqli_real_escape_string($con, $userId2) . "') + OR (PrincipalID = '" . mysqli_real_escape_string($con, $userId2) . "' + AND Friend = '" . mysqli_real_escape_string($con, $userId1) . "')) + AND Flags > 0"; + + $result = mysqli_query($con, $sql); + return $result ? mysqli_fetch_row($result)[0] > 0 : false; +} + +function getFriendshipStats($con, $userId) { + $totalFriends = mysqli_fetch_row(mysqli_query($con, " + SELECT COUNT(*) FROM Friends + WHERE (PrincipalID = '" . mysqli_real_escape_string($con, $userId) . "' + OR Friend = '" . mysqli_real_escape_string($con, $userId) . "') + AND Flags > 0 + "))[0]; + + $pendingRequests = mysqli_fetch_row(mysqli_query($con, " + SELECT COUNT(*) FROM Friends + WHERE Friend = '" . mysqli_real_escape_string($con, $userId) . "' + AND Flags = 0 + "))[0]; + + $sentRequests = mysqli_fetch_row(mysqli_query($con, " + SELECT COUNT(*) FROM Friends + WHERE PrincipalID = '" . mysqli_real_escape_string($con, $userId) . "' + AND Flags = 0 + "))[0]; + + $onlineFriends = mysqli_fetch_row(mysqli_query($con, " + SELECT COUNT(*) FROM Friends f + LEFT JOIN GridUser gu ON ( + CASE + WHEN f.PrincipalID = '" . mysqli_real_escape_string($con, $userId) . "' THEN f.Friend = gu.UserID + ELSE f.PrincipalID = gu.UserID + END + ) + WHERE (f.PrincipalID = '" . mysqli_real_escape_string($con, $userId) . "' + OR f.Friend = '" . mysqli_real_escape_string($con, $userId) . "') + AND f.Flags > 0 + AND gu.Login > (UNIX_TIMESTAMP() - 300) + "))[0]; + + return [ + 'total' => $totalFriends, + 'pending' => $pendingRequests, + 'sent' => $sentRequests, + 'online' => $onlineFriends + ]; +} + +// Parameter verarbeiten +$action = isset($_GET['action']) ? $_GET['action'] : 'list'; +$search = isset($_GET['search']) ? trim($_GET['search']) : ''; +$userId = isset($_GET['user']) ? $_GET['user'] : ''; + +// Dummy-Benutzer-ID für Demo (normalerweise aus Session) +$currentUserId = '00000000-0000-0000-0000-000000000001'; // Beispiel-User-ID + +?> + +
+
+ +
+ +
+
+
Neue Freunde finden
+
+
+
+ +
+ + +
+ + +
+
+
+ + + + + +
+
+
Freunde-Statistiken
+
+
+ + +
+
+

+ Gesamt Freunde +
+
+

+ Aktuell online +
+
+

+ Offene Anfragen +
+
+

+ Gesendete Anfragen +
+
+
+
+
+ + +
+ + +
+
+

Neue Freunde finden

+
+
+
+ +
+
+ +
+
+ +
+
+
+ + + + +
Benutzer gefunden für ""
+ + 0): ?> +
+ +
+
+ + Profilbild + + +
+
+ + (time() - 300)): ?> + Online + (time() - 86400)): ?> + Heute aktiv + +
+ + +

+ 80 ? '...' : '')); ?> +

+ + +
+ + + Bereits Freunde + + + + Das sind Sie + + + + + + + Profil anzeigen + +
+
+
+
+ +
+ +
+ +
Keine Benutzer gefunden
+

Versuchen Sie es mit anderen Suchbegriffen.

+
+ + +
+
+ + + +
+
+

Freundschaftsanfragen

+
+
+ + +
offene Anfragen
+ + 0): ?> +
+ +
+
+
+ Freundschaftsanfrage +
+
+
+ +
+

möchte Ihr Freund werden.

+ +
+ + + + Profil anzeigen + +
+
+
+
+ +
+ +
+ +
Keine offenen Anfragen
+

Sie haben derzeit keine Freundschaftsanfragen.

+
+ +
+
+ + + +
+
+

Online Freunde

+
+
+ + +
Freunde sind aktuell online
+ + 0): ?> +
+ +
+
+
+ ONLINE +
+
+
+ +
+

+ Online seit: +

+ +

+ 📍 Position: +

+ + +
+ + + Profil anzeigen + +
+
+
+
+ +
+ +
+ +
Keine Freunde online
+

Derzeit sind keine Ihrer Freunde online.

+
+ +
+
+ + + +
+
+

Meine Freunde

+ +
+
+ + +
Freunde insgesamt
+ + 0): ?> +
+ + (time() - 300); + $isRecentlyActive = $friend['LastLogin'] && $friend['LastLogin'] > (time() - 86400); + + $displayName = ''; + $friendUserId = ''; + + if ($friend['PrincipalID'] == $currentUserId) { + $displayName = $friend['FriendFirstName'] . ' ' . $friend['FriendLastName']; + $friendUserId = $friend['Friend']; + } else { + $displayName = $friend['UserFirstName'] . ' ' . $friend['UserLastName']; + $friendUserId = $friend['PrincipalID']; + } + ?> +
+
+ +
+ ONLINE +
+ +
+ Heute aktiv +
+ + +
+
+ + +

+ Letzter Login: +

+ + +
+ + + + + + Profil anzeigen + + + +
+
+
+
+ +
+ +
+ +
Keine Freunde
+

Sie haben noch keine Freunde hinzugefügt.

+ + Neue Freunde finden + +
+ +
+
+ +
+
+
+ + + + + + \ No newline at end of file diff --git a/gridsearch.php b/gridsearch.php new file mode 100644 index 0000000..d3b6171 --- /dev/null +++ b/gridsearch.php @@ -0,0 +1,694 @@ + [], + 'regions' => [], + 'places' => [], + 'classifieds' => [], + 'groups' => [], + 'events' => [] + ]; + + $query = mysqli_real_escape_string($con, $query); + + // Benutzer suchen + if ($type == 'all' || $type == 'users') { + $sql = "SELECT ua.PrincipalID, ua.FirstName, ua.LastName, + up.profileAboutText, up.profileImage, gu.Login + FROM UserAccounts ua + LEFT JOIN userprofile up ON ua.PrincipalID = up.useruuid + LEFT JOIN GridUser gu ON ua.PrincipalID = gu.UserID + WHERE (ua.FirstName LIKE '%$query%' OR ua.LastName LIKE '%$query%' + OR up.profileAboutText LIKE '%$query%') + ORDER BY gu.Login DESC + LIMIT 10"; + $results['users'] = mysqli_query($con, $sql); + } + + // Regionen suchen + if ($type == 'all' || $type == 'regions') { + $sql = "SELECT r.*, ua.FirstName as OwnerFirstName, ua.LastName as OwnerLastName + FROM regions r + LEFT JOIN UserAccounts ua ON r.owner_uuid = ua.PrincipalID + WHERE (r.regionName LIKE '%$query%' OR r.serverURI LIKE '%$query%') + ORDER BY r.regionName + LIMIT 10"; + $results['regions'] = mysqli_query($con, $sql); + } + + // Places/Picks suchen + if ($type == 'all' || $type == 'places') { + $sql = "SELECT p.*, ua.FirstName, ua.LastName + FROM userpicks p + LEFT JOIN UserAccounts ua ON p.creatoruuid = ua.PrincipalID + WHERE (p.name LIKE '%$query%' OR p.description LIKE '%$query%' OR p.simname LIKE '%$query%') + AND p.enabled = 1 + ORDER BY p.toppick DESC, p.name + LIMIT 10"; + $results['places'] = mysqli_query($con, $sql); + } + + // Klassifizierte Anzeigen suchen + if ($type == 'all' || $type == 'classifieds') { + $sql = "SELECT c.*, ua.FirstName, ua.LastName + FROM classifieds c + LEFT JOIN UserAccounts ua ON c.creatoruuid = ua.PrincipalID + WHERE (c.name LIKE '%$query%' OR c.description LIKE '%$query%') + ORDER BY c.creationdate DESC + LIMIT 10"; + $results['classifieds'] = mysqli_query($con, $sql); + } + + // Gruppen suchen + if ($type == 'all' || $type == 'groups') { + $sql = "SELECT og.*, ua.FirstName as OwnerFirstName, ua.LastName as OwnerLastName, + COUNT(ogm.PrincipalID) as MemberCount + FROM os_groups og + LEFT JOIN UserAccounts ua ON og.OwnerID = ua.PrincipalID + LEFT JOIN os_groups_membership ogm ON og.GroupID = ogm.GroupID + WHERE (og.Name LIKE '%$query%' OR og.Charter LIKE '%$query%') + AND og.ShowInList = 1 + GROUP BY og.GroupID + ORDER BY MemberCount DESC + LIMIT 10"; + $results['groups'] = mysqli_query($con, $sql); + } + + return $results; +} + +function getPopularSearches($con) { + // Simulierte beliebte Suchbegriffe (normalerweise aus Suchlog) + return [ + 'Shopping' => 25, + 'Club' => 18, + 'Beach' => 15, + 'Mall' => 12, + 'Casino' => 10, + 'Art Gallery' => 8, + 'Music' => 7, + 'Dance' => 6 + ]; +} + +function getSearchSuggestions($con, $query) { + $suggestions = []; + $query = mysqli_real_escape_string($con, $query); + + // Regionsvorschläge + $sql = "SELECT DISTINCT regionName FROM regions WHERE regionName LIKE '$query%' LIMIT 5"; + $result = mysqli_query($con, $sql); + while ($row = mysqli_fetch_assoc($result)) { + $suggestions[] = $row['regionName']; + } + + // Benutzervorschläge + $sql = "SELECT CONCAT(FirstName, ' ', LastName) as fullName FROM UserAccounts + WHERE (FirstName LIKE '$query%' OR LastName LIKE '$query%') LIMIT 5"; + $result = mysqli_query($con, $sql); + while ($row = mysqli_fetch_assoc($result)) { + $suggestions[] = $row['fullName']; + } + + return $suggestions; +} + +// Parameter verarbeiten +$query = isset($_GET['q']) ? trim($_GET['q']) : ''; +$type = isset($_GET['type']) ? $_GET['type'] : 'all'; +$suggestions = isset($_GET['suggestions']) ? true : false; + +// AJAX-Anfrage für Vorschläge +if ($suggestions && $query) { + header('Content-Type: application/json'); + echo json_encode(getSearchSuggestions($con, $query)); + exit; +} + +// Suchergebnisse abrufen +$results = []; +$totalResults = 0; +if ($query) { + $results = searchAll($con, $query, $type); + + // Ergebnisse zählen + foreach ($results as $resultType => $resultSet) { + if ($resultSet) { + $totalResults += mysqli_num_rows($resultSet); + } + } +} + +?> + +
+
+ +
+ +
+
+
Suchfilter
+
+
+
+ + +
+ + +
+
+
+
+ + +
+
+
Beliebte Suchbegriffe
+
+
+ +
+ $count): ?> + + () + + +
+
+
+ + +
+
+
Grid-Inhalte
+
+
+ mysqli_fetch_row(mysqli_query($con, "SELECT COUNT(*) FROM UserAccounts"))[0], + 'regions' => mysqli_fetch_row(mysqli_query($con, "SELECT COUNT(*) FROM regions"))[0], + 'places' => mysqli_fetch_row(mysqli_query($con, "SELECT COUNT(*) FROM userpicks WHERE enabled = 1"))[0], + 'classifieds' => mysqli_fetch_row(mysqli_query($con, "SELECT COUNT(*) FROM classifieds"))[0], + 'groups' => mysqli_fetch_row(mysqli_query($con, "SELECT COUNT(*) FROM os_groups WHERE ShowInList = 1"))[0] + ]; + ?> + +
+
+ 👤 Benutzer: + +
+
+ 🌍 Regionen: + +
+
+ 📍 Orte: + +
+
+ 📢 Anzeigen: + +
+
+ 👥 Gruppen: + +
+
+
+
+
+ + +
+ +
+
+

Grid-Suche

+
+
+
+
+
+ + +
+
+ +
+
+ +
+
+
+
+
+ + 0): ?> + +
+
+
Suchergebnisse für ""
+ Ergebnisse gefunden +
+
+ + 0): ?> +
+
Benutzer
+
+ +
+
+ + Profilbild + + +
+
+ + (time() - 300)): ?> + Online + +
+ + +

+ 60 ? '...' : '')); ?> +

+ + + + Profil anzeigen + +
+
+
+ +
+
+ + + + 0): ?> +
+
Regionen
+
+ +
+
+
+
+ +

+ Position:
+ Größe:
+ + Eigentümer: + +

+ + +
+
+
+ +
+
+ + + + 0): ?> +
+
Orte & Places
+
+ +
+
+ +
+ TOP PICK +
+ + + + Place Bild + + +
+
+ +

+ 60 ? '...' : '')); ?> +

+ + + von + + + +
+
+
+ +
+
+ + + + 0): ?> +
+
Klassifizierte Anzeigen
+
+ +
+
+ + Anzeigenbild + + +
+
+ +

+ 60 ? '...' : '')); ?> +

+ +
+ L$ + + von + +
+ + +
+
+
+ +
+
+ + + + 0): ?> +
+
Gruppen
+
+ +
+
+
+
+ + + Offen + +
+ + +

+ 60 ? '...' : '')); ?> +

+ + +
+ Mitglieder + + von + +
+ + +
+
+
+ +
+
+ +
+
+ + + +
+
+ +
Keine Ergebnisse gefunden
+

+ Für Ihre Suche nach "" wurden keine Ergebnisse gefunden. +

+
+
Suchvorschläge:
+
    +
  • • Überprüfen Sie die Rechtschreibung
  • +
  • • Verwenden Sie allgemeinere Begriffe
  • +
  • • Probieren Sie verschiedene Suchbereiche aus
  • +
  • • Nutzen Sie die beliebten Suchbegriffe in der Sidebar
  • +
+
+
+
+ + + +
+
+ +
Willkommen zur Grid-Suche
+

+ Durchsuchen Sie unser gesamtes Grid nach Benutzern, Regionen, interessanten Orten, + klassifizierten Anzeigen und Gruppen. +

+ + + +
+
+ +
+
+
+ + + + + + \ No newline at end of file diff --git a/groups.php b/groups.php new file mode 100644 index 0000000..3a51b28 --- /dev/null +++ b/groups.php @@ -0,0 +1,894 @@ + $totalGroups, + 'total_members' => $totalMembers, + 'total_roles' => $totalRoles, + 'open_groups' => $openGroups + ]; +} + +// Parameter verarbeiten +$action = isset($_GET['action']) ? $_GET['action'] : 'list'; +$search = isset($_GET['search']) ? trim($_GET['search']) : ''; +$groupId = isset($_GET['id']) ? $_GET['id'] : ''; +$userId = isset($_GET['user']) ? $_GET['user'] : ''; + +// Dummy-Benutzer-ID für Demo (normalerweise aus Session) +$currentUserId = '00000000-0000-0000-0000-000000000001'; // Beispiel-User-ID + +?> + +
+
+ +
+ +
+
+
Gruppen suchen
+
+
+
+
+ + +
+ + + + Alle anzeigen + +
+
+
+ + + + + +
+
+
Gruppen-Statistiken
+
+
+ + +
+
+

+ Gesamt Gruppen +
+
+

+ Gesamt Mitglieder +
+
+

+ Gesamt Rollen +
+
+

+ Offene Gruppen +
+
+
+
+
+ + +
+ + + + +
+
+
+
+

+ + +

+ + Gegründet von: + | Mitglieder: + +
+ +
+
+
+ + +
+ +
+
+ +
+
+
+
Gruppencharter:
+ +

+ +

Keine Gruppenbeschreibung verfügbar.

+ + +
Gruppendetails:
+
+
+
    +
  • Eigentümer:
  • +
  • Gegründet:
  • +
  • Mitgliedsbeitrag: L$
  • +
  • Gruppe öffnen für: + + + +
  • +
+
+
+
    +
  • Mitglieder:
  • +
  • Anzahl Rollen: + +
  • +
  • In Suche anzeigen: + + + +
  • +
  • Gruppe veröffentlicht: + + + +
  • +
+
+
+
+ +
+ +
+
+ +
Gruppe beitreten
+

Diese Gruppe steht allen offen.

+ 0): ?> +

+ + Mitgliedsbeitrag: L$ +

+ + + +
Geschlossene Gruppe
+

Diese Gruppe ist nur auf Einladung zugänglich.

+ + +
+
+ + +
+
+
Gruppenstatistiken
+
+
+ (UNIX_TIMESTAMP() - (7*86400)) + "))[0]; + + $recentNotices = mysqli_fetch_row(mysqli_query($con, " + SELECT COUNT(*) FROM os_groups_notices + WHERE GroupID = '" . mysqli_real_escape_string($con, $groupId) . "' + AND TMStamp > (UNIX_TIMESTAMP() - (30*86400)) + "))[0]; + ?> + +
+
+
+ Aktiv (7 Tage) +
+
+
+ Nachrichten (30 Tage) +
+
+
+
+
+
+
+ + +
+ + +
+ +
+
+
+
+ + (time() - 300)): ?> + Online + +
+ + +

+ +

+ + + +

+ Beitrag: L$ +

+ + + +
+
+
+ +
+
+ + +
+ + +
+ +
+
+
+
+ + Mitglieder +
+ + +

+ +

+ + +
+ + Berechtigungen: + +
+
+
+
+ +
+
+ + +
+ + +
+ +
+
+
+
+
+ + +
+ + + +
+
+
+

+ + +
+ + Von: + +
+ +
+
+
+ +
+
+ + +
+ + +
offene Einladungen
+ + 0): ?> +
+ +
+
+
+ Einladung +
+
+
+ +
+

+ Eingeladen von: +

+ +

+ Rolle: +

+ + + Eingeladen am: + +
+
+
+ +
+ +
+ +
Keine offenen Einladungen
+
+ +
+
+
+
+ + +
+ Gruppe nicht gefunden. +
+ + + + +
+
+

Meine Gruppen

+
+
+ + +
Gruppen-Mitgliedschaften
+ + 0): ?> +
+ +
+
+
+
+ + +

+ +

+ + + +

+ 80 ? '...' : '')); ?> +

+ + +
+ + L$ + + + + Im Profil + +
+ + +
+
+
+ +
+ +
+ +
Keine Gruppenmitgliedschaften
+

Sie sind noch kein Mitglied in einer Gruppe.

+ + Gruppen durchsuchen + +
+ +
+
+ + + +
+
+

Offene Gruppen

+

Gruppen, die jeder beitreten kann

+
+
+ + +
offene Gruppen gefunden
+ + 0): ?> +
+ +
+
+
+ Beitritt möglich +
+
+
+ + +

+ 100 ? '...' : '')); ?> +

+ + +
+ Mitglieder + 0): ?> + L$ + + Kostenlos + +
+ +
+ + + Details + +
+
+
+
+ +
+ +
+ +
Keine offenen Gruppen
+

Derzeit sind keine Gruppen für den öffentlichen Beitritt verfügbar.

+
+ +
+
+ + + +
+
+

Alle Gruppen

+ + + Suche: "" + + +
+
+ + +
+
Gruppen gefunden
+ +
+ + 0): ?> +
+ +
+
+
+
+ + + Offen + +
+ + +

+ 100 ? '...' : '')); ?> +

+ + +
+
+ Mitglieder + + von + +
+ + +
+
+
+
+ +
+ + +
+ +
Keine Gruppen gefunden
+

+ + Versuchen Sie es mit anderen Suchbegriffen. + + Es wurden noch keine Gruppen erstellt. + +

+
+ +
+
+ +
+
+
+ + + + + + \ No newline at end of file diff --git a/picks.php b/picks.php new file mode 100644 index 0000000..64b6755 --- /dev/null +++ b/picks.php @@ -0,0 +1,480 @@ + + +
+
+ +
+ +
+
+
Picks durchsuchen
+
+
+
+
+ + +
+ + + + Alle anzeigen + +
+
+
+ + +
+
+
Navigation
+
+ +
+ + +
+
+
Statistiken
+
+
+ + +
+
+

+ Gesamt Picks +
+
+

+ Top Picks +
+
+

+ Aktive Benutzer +
+
+
+
+
+ + +
+ + + +
+
+

+ + + + TOP PICK + +

+ + Zurück + +
+
+
+
+
Beschreibung:
+

+ +
+
+
Details:
+
    +
  • Ersteller:
  • +
  • Position:
  • +
  • Global Position:
  • +
  • Original Name:
  • +
+
+
+
Status:
+
    +
  • Typ: + + Top Pick + + Normal Pick + +
  • +
  • Aktiviert: + + + +
  • +
  • Sort Order:
  • +
+
+
+
+ +
+
+
+ +
+ Pick nicht gefunden. +
+ + + + +
+
+

Top Picks

+

Die beliebtesten und hervorgehobenen Orte unseres Grids

+
+
+ + +
+
Top Picks gefunden
+
+ + 0): ?> +
+ +
+
+
+ TOP PICK +
+ + + Pick Bild + + +
+
+

+ 100 ? '...' : '')); ?> +

+ +
+
+ + + + + von + +
+ + +
+
+
+
+ +
+ +
+ +
Keine Top Picks gefunden
+

Es wurden noch keine Top Picks erstellt.

+
+ +
+
+ + + +
+
+

+ + Picks von Benutzer + + Alle Benutzer-Favoriten (Picks) + +

+ + + Suche: "" + + +
+
+ + +
+
+ Picks gefunden + + von + +
+ + + Alle Picks + + +
+ + 0): ?> +
+ +
+
+ +
+ TOP PICK +
+ + + + Pick Bild + + +
+
+ + + (deaktiviert) + +
+

+ 100 ? '...' : '')); ?> +

+ +
+
+ + 📍 + + + + von + + +
+ + +
+
+
+
+ +
+ + +
+ +
Keine Picks gefunden
+

+ + Versuchen Sie es mit anderen Suchbegriffen. + + Dieser Benutzer hat noch keine Picks erstellt. + + Es wurden noch keine Picks erstellt. + +

+
+ +
+
+ +
+
+
+ + + + + + \ No newline at end of file diff --git a/profile.php b/profile.php new file mode 100644 index 0000000..1c4dc1f --- /dev/null +++ b/profile.php @@ -0,0 +1,708 @@ + + +
+
+ +
+ +
+
+
Benutzer suchen
+
+
+
+
+ + +
+ +
+ + +
+ + +
+
+
+ + +
+
+
Beliebte Profile
+
+
+ + +
+ + + + + + +
+
+
+ + +
+
+
Grid Statistiken
+
+
+ (UNIX_TIMESTAMP() - 86400)"))[0]; + ?> + +
+
+
+ Gesamt Benutzer +
+
+
+ Profile mit Bildern +
+
+
+ Partnerschaften +
+
+
+ Heute aktiv +
+
+
+
+
+ + +
+ + + + +
+
+
+
+

+ + +

+ + + Letzter Login: + (time() - 300)): ?> + ONLINE + (time() - 86400)): ?> + Heute aktiv + + + +
+ +
+
+
+ + +
+ +
+
+ +
+
+
+ +
+
Über mich:
+ +

+ +

Keine Informationen verfügbar.

+ +
+ + + +
+
First Life:
+

+
+ + + + +
+
Partner:
+
+ + Partnerschaft mit + + + +
+
+ + + + +
+
Skills & Interessen:
+ +

+ + +
+ $skill) { + if ($profile['profileSkillsMask'] & (1 << $index)) { + echo '' . $skill . ''; + } + } + ?> +
+ +
+ + + + +
+
Sprachen:
+

+
+ +
+ +
+ + +
+
Profilbild:
+ Profilbild +
+ + + + +
+
First Life Bild:
+ First Life Bild +
+ + + +
+
+
Profil-Statistiken
+
    +
  • Freunde:
  • +
  • Account erstellt: + +
  • + +
  • Möchte: + +
  • + +
+
+
+
+
+
+ + +
+ + +
+
Picks von diesem Benutzer
+ + Alle Picks anzeigen + +
+ + 0): ?> +
+ +
+
+ +
+ TOP PICK +
+ + + + Pick Bild + + +
+
+

+ 80 ? '...' : '')); ?> +

+ + Details + +
+
+
+ +
+ +
+ +
Keine Picks vorhanden
+

Dieser Benutzer hat noch keine Picks erstellt.

+
+ +
+ + +
+ + +
+
Klassifizierte Anzeigen
+ + Alle Anzeigen anzeigen + +
+ + 0): ?> +
+ +
+
+ + Anzeigenbild + + +
+
+

+ 80 ? '...' : '')); ?> +

+
+ L$ + + Details + +
+
+
+
+ +
+ +
+ +
Keine Anzeigen vorhanden
+

Dieser Benutzer hat noch keine klassifizierten Anzeigen erstellt.

+
+ +
+ + +
+ + +
+
Gruppen-Mitgliedschaften
+ + Alle Gruppen anzeigen + +
+ + 0): ?> +
+ +
+
+
+
+ +

+ + +

+ 100 ? '...' : '')); ?> +

+ +
+ + L$ + + + Details + +
+
+
+
+ +
+ +
+ +
Keine Gruppen-Mitgliedschaften
+

Dieser Benutzer ist in keinen öffentlichen Gruppen.

+
+ +
+
+
+
+ + +
+ + Benutzer nicht gefunden oder kein Profil verfügbar. +
+ + + + +
+
+

Benutzerprofile durchsuchen

+
+
+
+
+

+ Geben Sie den Namen eines Benutzers ein, um sein Profil anzuzeigen. +

+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+ + Benutzer "" nicht gefunden. +
+ +
+
+ + +
+
Kürzlich aktive Benutzer mit Profilen
+ +
+ +
+
+ + Profilbild + + +
+
+

+ 80 ? '...' : '')); + } else { + echo "Vollständiges Profil verfügbar"; + } + ?> +

+ + Profil anzeigen + +
+
+
+ +
+
+
+ +
+
+
+ + + + + + \ No newline at end of file