{"id":22052,"date":"2026-04-22T07:29:25","date_gmt":"2026-04-22T06:29:25","guid":{"rendered":"https:\/\/marinaport.hu\/app\/?page_id=22052"},"modified":"2026-04-22T08:47:31","modified_gmt":"2026-04-22T07:47:31","slug":"uid","status":"publish","type":"page","link":"https:\/\/marinaport.hu\/app\/uid\/","title":{"rendered":"UID"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"hu\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\">\n    \n    <script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.23.0\/firebase-app-compat.js\"><\/script>\n    <script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.23.0\/firebase-auth-compat.js\"><\/script>\n    <script src=\"https:\/\/www.gstatic.com\/firebasejs\/9.23.0\/firebase-database-compat.js\"><\/script>\n\n    <style>\n        .uid-container { font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; max-width: 800px; margin: 0 auto; padding: 15px; color: #333; }\n        .uid-card { background: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); margin-bottom: 20px; border: 1px solid #eaeaea; }\n        .uid-input { width: 100%; padding: 12px; margin-bottom: 15px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; box-sizing: border-box; }\n        .uid-btn { width: 100%; padding: 14px; font-size: 16px; font-weight: bold; border: none; border-radius: 6px; cursor: pointer; color: white; background-color: #3f51b5; }\n        \n        .uid-table-wrapper { overflow-x: auto; border-radius: 6px; border: 1px solid #ddd; }\n        .uid-table { width: 100%; border-collapse: collapse; min-width: 500px; background: white; }\n        .uid-table th, .uid-table td { padding: 12px 10px; border: 1px solid #eee; text-align: left; font-size: 14px; vertical-align: middle; }\n        .uid-table th { background-color: #e8eaf6; font-weight: bold; color: #3f51b5; }\n        \n        .badge-type { display: inline-block; background: #e0e0e0; color: #555; padding: 3px 8px; border-radius: 12px; font-size: 12px; font-weight: bold; }\n        .uid-code { font-family: monospace; background: #f5f5f5; padding: 3px 6px; border-radius: 4px; color: #d32f2f; font-weight: bold; font-size: 13px; }\n        \n        \/* Keres\u0151mez\u0151 st\u00edlusa *\/\n        .search-box { display: flex; gap: 10px; margin-bottom: 15px; }\n        .search-input { flex: 1; padding: 10px; border: 1px solid #3f51b5; border-radius: 6px; font-size: 15px; outline: none; }\n        .search-input:focus { box-shadow: 0 0 5px rgba(63, 81, 181, 0.5); }\n    <\/style>\n<\/head>\n<body>\n\n<div class=\"uid-container\">\n    \n    <script>\n        (function() {\n            var config = {\n                apiKey: \"AIzaSyDyHeexzDlwFVL3kowJ3sDBlXiPjCCVg2w\",\n                authDomain: \"wellness-ee025.firebaseapp.com\",\n                databaseURL: \"https:\/\/wellness-ee025-default-rtdb.firebaseio.com\",\n                projectId: \"wellness-ee025\",\n                storageBucket: \"wellness-ee025.appspot.com\",\n                messagingSenderId: \"196714975370\",\n                appId: \"1:196714975370:web:6548565d62a5e6252ddd73\"\n            };\n            try {\n                if (!firebase.apps.length) { firebase.initializeApp(config); }\n            } catch (e) { console.error(\"Firebase hiba:\", e); }\n        })();\n    <\/script>\n\n    <div style=\"text-align: center; margin-bottom: 15px;\">\n        <h3 style=\"color: #3f51b5; margin: 0; font-size: 18px;\">Felhaszn\u00e1l\u00f3k \/ Klubk\u00e1rty\u00e1k<\/h3>\n    <\/div>\n\n    <div id=\"uid-login-box\" class=\"uid-card\" style=\"display: none;\">\n        <h4 style=\"margin-top: 0; font-size: 16px; color: #3f51b5;\">Bejelentkez\u00e9s<\/h4>\n        <input type=\"email\" id=\"uid-email\" class=\"uid-input\" placeholder=\"E-mail c\u00edm\" autocapitalize=\"none\">\n        <input type=\"password\" id=\"uid-jelszo\" class=\"uid-input\" placeholder=\"Jelsz\u00f3\">\n        <button type=\"button\" class=\"uid-btn\" onclick=\"uidBelepes()\">Bel\u00e9p\u00e9s<\/button>\n        <p id=\"uid-login-error\" style=\"color: #ff3b30; display: none; font-weight: bold; margin-top: 10px; font-size: 14px;\"><\/p>\n    <\/div>\n\n    <div id=\"uid-content-box\" style=\"display: none;\">\n        <div class=\"uid-card\" style=\"padding: 15px;\">\n            <div class=\"search-box\">\n                <input type=\"text\" id=\"uid-search\" class=\"search-input\" placeholder=\"\ud83d\udd0d Keres\u00e9s n\u00e9v, k\u00f3d vagy e-mail alapj\u00e1n...\" onkeyup=\"szuroFuggveny()\">\n            <\/div>\n            <div id=\"uid-eredmenyek\"><\/div>\n        <\/div>\n    <\/div>\n\n<\/div>\n\n<script>\n    var auth = firebase.auth();\n    var db = firebase.database();\n    \n    var loginBox = document.getElementById('uid-login-box');\n    var contentBox = document.getElementById('uid-content-box');\n    var eredmenyekDiv = document.getElementById('uid-eredmenyek');\n\n    \/\/ Bejelentkez\u00e9s figyel\u00e9se (SSO a Hub-al)\n    auth.onAuthStateChanged(function(user) {\n        if (user) {\n            loginBox.style.display = 'none';\n            contentBox.style.display = 'block';\n            felhasznalokLekerdezese();\n        } else {\n            loginBox.style.display = 'block';\n            contentBox.style.display = 'none';\n            eredmenyekDiv.innerHTML = \"\";\n        }\n    });\n\n    window.uidBelepes = function() {\n        var emailMezo = document.getElementById('uid-email');\n        var jelszoMezo = document.getElementById('uid-jelszo');\n        var err = document.getElementById('uid-login-error');\n        \n        var email = emailMezo ? emailMezo.value.trim() : \"\";\n        var pass = jelszoMezo ? jelszoMezo.value : \"\";\n        \n        if(!email || !pass) {\n            err.style.display = 'block'; err.style.color = '#ff3b30';\n            err.innerText = \"K\u00e9rem adja meg az e-mail c\u00edmet \u00e9s a jelsz\u00f3t!\"; return;\n        }\n        \n        err.style.display = 'block'; err.style.color = '#3f51b5';\n        err.innerText = \"Ellen\u0151rz\u00e9s folyamatban...\";\n        \n        auth.signInWithEmailAndPassword(email, pass).catch(function(error) {\n            err.style.display = 'block'; err.style.color = '#ff3b30';\n            err.innerText = \"Sikertelen bel\u00e9p\u00e9s! (\" + error.message + \")\";\n        });\n    };\n\n    \/\/ --- AZ ADATOK LEK\u00c9RDEZ\u00c9SE \u00c9S RENDEZ\u00c9SE ---\n    window.felhasznalokLekerdezese = function() {\n        eredmenyekDiv.innerHTML = \"<p style='font-weight:bold; color:#3f51b5;'>Adatok bet\u00f6lt\u00e9se folyamatban...<\/p>\";\n\n        db.ref('UID').once('value').then(function(snapshot) {\n            var adatok = snapshot.val();\n\n            if (!adatok) {\n                eredmenyekDiv.innerHTML = \"<div style='color:#856404; background:#fff3cd; padding:10px; border-radius:6px;'>Nincs megjelen\u00edthet\u0151 adat a UID \u00e1gban.<\/div>\";\n                return;\n            }\n\n            var felhasznalok = [];\n\n            \/\/ Adatok list\u00e1ba gy\u0171jt\u00e9se\n            for (var kulcs in adatok) {\n                var item = adatok[kulcs];\n                felhasznalok.push({\n                    uid: kulcs,\n                    nev: item.Name || \"Ismeretlen\",\n                    tipus: item.Type || \"-\",\n                    email: item.email && item.email !== \"N\/A\" ? item.email : \"\"\n                });\n            }\n\n            \/\/ ABC sorrendbe rendez\u00e9s n\u00e9v alapj\u00e1n (Magyar \u00e1b\u00e9c\u00e9t figyelembe v\u00e9ve)\n            felhasznalok.sort(function(a, b) {\n                return a.nev.localeCompare(b.nev, 'hu');\n            });\n\n            \/\/ HTML T\u00e1bl\u00e1zat gener\u00e1l\u00e1sa\n            var html = \"<div class='uid-table-wrapper'><table class='uid-table' id='adat-tablazat'>\";\n            html += \"<thead><tr>\";\n            html += \"<th>K\u00f3d (UID)<\/th>\";\n            html += \"<th>N\u00e9v<\/th>\";\n            html += \"<th>T\u00edpus<\/th>\";\n            html += \"<th>E-mail<\/th>\";\n            html += \"<\/tr><\/thead><tbody>\";\n\n            for (var i = 0; i < felhasznalok.length; i++) {\n                var f = felhasznalok[i];\n                var emailDisplay = f.email ? \"<a href='mailto:\" + f.email + \"' style='color:#3f51b5; text-decoration:none;'>\" + f.email + \"<\/a>\" : \"<span style='color:#aaa; font-size:12px;'>Nincs megadva<\/span>\";\n                \n                html += \"<tr class='keresheto-sor'>\";\n                html += \"<td><span class='uid-code'>\" + f.uid + \"<\/span><\/td>\";\n                html += \"<td><strong>\" + f.nev + \"<\/strong><\/td>\";\n                html += \"<td><span class='badge-type'>\" + f.tipus + \"<\/span><\/td>\";\n                html += \"<td>\" + emailDisplay + \"<\/td>\";\n                html += \"<\/tr>\";\n            }\n\n            html += \"<\/tbody><\/table><\/div>\";\n            html += \"<p style='text-align:right; font-size:12px; color:#888; margin-top:10px;'>\u00d6sszesen: \" + felhasznalok.length + \" rekord<\/p>\";\n            \n            eredmenyekDiv.innerHTML = html;\n\n        }).catch(function(error) {\n            console.error(\"Hiba:\", error);\n            eredmenyekDiv.innerHTML = \"<div style='color:#721c24; background:#f8d7da; padding:10px; border-radius:6px;'><strong>Hiba az adatb\u00e1zis el\u00e9r\u00e9sekor:<\/strong> \" + error.message + \"<\/div>\";\n        });\n    };\n\n    \/\/ --- KERES\u0150 \/ SZ\u0170R\u0150 FUNKCI\u00d3 ---\n    window.szuroFuggveny = function() {\n        var input = document.getElementById(\"uid-search\");\n        var filter = input.value.toUpperCase();\n        var table = document.getElementById(\"adat-tablazat\");\n        if (!table) return;\n        var tr = table.getElementsByClassName(\"keresheto-sor\");\n\n        for (var i = 0; i < tr.length; i++) {\n            var textContent = tr[i].textContent || tr[i].innerText;\n            if (textContent.toUpperCase().indexOf(filter) > -1) {\n                tr[i].style.display = \"\";\n            } else {\n                tr[i].style.display = \"none\";\n            }\n        }\n    };\n<\/script>\n\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Felhaszn\u00e1l\u00f3k \/ Klubk\u00e1rty\u00e1k Bejelentkez\u00e9s Bel\u00e9p\u00e9s<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"blank","meta":{"footnotes":""},"class_list":["post-22052","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/pages\/22052","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/comments?post=22052"}],"version-history":[{"count":1,"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/pages\/22052\/revisions"}],"predecessor-version":[{"id":22053,"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/pages\/22052\/revisions\/22053"}],"wp:attachment":[{"href":"https:\/\/marinaport.hu\/app\/wp-json\/wp\/v2\/media?parent=22052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}