diff --git a/Admin/Templates/home.tpl b/Admin/Templates/home.tpl index ad414d45..b2c430b7 100644 --- a/Admin/Templates/home.tpl +++ b/Admin/Templates/home.tpl @@ -1,9 +1,8 @@ dblink->query("SHOW TABLES LIKE '".TB_PREFIX."artefacts'")->num_ro } $arteStatus = $arteCount > 0 ? "Launched ($arteCount) - ".date('d.m.Y',$arteDate) : "Not launched"; -// PLANS din artefacts type=11 $plans = 0; $plansDate = null; if($database->dblink->query("SHOW TABLES LIKE '".TB_PREFIX."artefacts'")->num_rows){ $p = $database->query("SELECT COUNT(*) as c, MIN(conquered) as d FROM ".TB_PREFIX."artefacts WHERE type=11")->fetch_assoc(); @@ -56,26 +54,114 @@ $plansStatus = $plans > 0 ? "Launched ($plans) - ".($plansDate ? date('d.m.Y',$p $role = $_SESSION['access'] == ADMIN ? 'Administrator' : 'MultiHunter'; ?>
@@ -83,7 +169,6 @@ $role = $_SESSION['access'] == ADMIN ? 'Administrator' : 'MultiHunter';

WELCOME TO CONTROL PANEL

Hello Server Time
-

Total Players

+ active 24h
@@ -91,11 +176,10 @@ $role = $_SESSION['access'] == ADMIN ? 'Administrator' : 'MultiHunter';

Villages

avg / player

Gold in Game

with Plus active

Active Bans

-

Last Registration

ID #
-

PHP / MySQL

dblink->server_info; ?>
-

Server Load

Uptime:
+

Last Registration

ID #
+

PHP / MySQL

dblink->server_info; ?>
+

Server Load

Uptime:
-

Server Timeline

@@ -121,21 +205,23 @@ $role = $_SESSION['access'] == ADMIN ? 'Administrator' : 'MultiHunter'; } ?>
-
view full log →
+
view full log →

Quick Actions

🔍 Search Player 🔨 Ban Manager - 🗺️ Map + 🗺 Map 🏰 Natars 👤 Add User - ⚙️ Server Info + ⚙ Server Info
-
- Credits: Akakori & Elmar — Fixed by Dzoki — Reworked by aggenkeech — Dashboard v2.1 by Shadow -
+
+
⚡ ADMIN PANEL 100% REBUILT BY Shadow
+
Dashboard v5.0 • TravianZ 2025 • Full code, design & optimization
+
Based on: Akakori & Elmar | Fixed by: Dzoki | Reworked by: aggenkeech
+
\ No newline at end of file diff --git a/Admin/Templates/login.tpl b/Admin/Templates/login.tpl index 0f1aafab..8829beb1 100644 --- a/Admin/Templates/login.tpl +++ b/Admin/Templates/login.tpl @@ -1,5 +1,4 @@ img[src*="Travian"], img[src*="admin.gif"]{display:none !important} .tribes{display:flex;justify-content:center;gap:24px;margin-top:24px;opacity:.6} .tribe-icon{width:36px;height:36px;border-radius:50%;background:rgba(30,41,59,.8);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid rgba(148,163,184,.2)} -/* CREDIT SHADOW - ELEGANT */ -.credits{margin-top:22px;text-align:center;font-size:11px;color:#64748b;letter-spacing:.4px;opacity:.9} -.credits .shadow{color:#38bdf8;font-weight:700;text-shadow:0 0 12px rgba(56,189,248,.45)} -.credits a{color:#7dd3fc;text-decoration:none;border-bottom:1px solid rgba(125,211,252,.25);padding-bottom:1px;transition:all .2s} -.credits a:hover{color:#fff;border-bottom-color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.7)} +/* === FOOTER SHADOW - pentru login === */ +.credits{ + margin-top:24px !important; + text-align:center !important; + background:rgba(15,23,42,.85) !important; + backdrop-filter:blur(16px) !important; + border:1px solid rgba(239,68,68,.35) !important; + border-radius:14px !important; + padding:16px !important; + box-shadow:0 10px 30px rgba(0,0,0,.5), 0 0 20px rgba(239,68,68,.15) !important; +} +.credits .shadow-main{ + font-size:15px !important; + font-weight:800 !important; + color:#fff !important; + letter-spacing:.3px !important; + margin-bottom:4px !important; +} +.credits .shadow-main span{ + color:#ef4444 !important; + font-size:18px !important; + font-weight:900 !important; + text-shadow:0 0 10px rgba(239,68,68,.7) !important; +} +.credits .shadow-sub{ + font-size:11px !important; + color:#cbd5e1 !important; + margin-bottom:6px !important; +} +.credits .shadow-old{ + font-size:10px !important; + color:#64748b !important; + border-top:1px solid rgba(148,163,184,.12) !important; + padding-top:6px !important; + margin-top:6px !important; +} + +/* === NOU: EROARE LOGIN === */ +.login-error{ + background:rgba(220,38,38,.12); + border:1px solid rgba(220,38,38,.35); + border-left:3px solid #ef4444; + color:#fecaca; + padding:12px 16px; + border-radius:12px; + margin-bottom:18px; + font-size:13px; + display:flex; + align-items:center; + gap:10px; + backdrop-filter:blur(12px); + animation:tzShake .4s ease; + box-shadow:0 8px 20px rgba(0,0,0,.4); +} +.login-error::before{content:"⚠️";font-size:16px;filter:drop-shadow(0 0 6px rgba(239,68,68,.5))} +.login-error strong{color:#fff;font-weight:600} +@keyframes tzShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}
+ + +
+ -
\ No newline at end of file +
+ + \ No newline at end of file diff --git a/Admin/admin.php b/Admin/admin.php index 24342043..33ed821c 100644 --- a/Admin/admin.php +++ b/Admin/admin.php @@ -293,7 +293,7 @@ if (!empty($_GET['p'])) { $subpage = 'Edit Village ('.$village['name'].' » '.($user['username'] ?? '?').')'; } else { $subpage = 'Edit Village (ID '.$did.' not found)'; - $village = null; // important, ca să nu crape template-ul mai jos + $village = null; } } else { $subpage = 'Edit Village (no village)'; @@ -399,22 +399,23 @@ body{margin:0;font-family:Verdana,Arial,sans-serif} .tz-user{font-size:12px} .tz-logout{margin-left:10px;background:#ef4444;color:#fff;padding:5px 11px;border-radius:6px;text-decoration:none;font-size:11px;font-weight:bold} -/* LOGIN = header NEGRU */ body.login{background:#0f172a;color:#e2e8f0} body.login #ltop1{background:#0b1220 !important;background-image:none !important} body.login .tz-topbar{color:#fff !important} body.login .tz-brand h1{color:#fff !important} body.login .tz-brand .tz-sub{color:#94a3b8 !important} -/* APP = header ALB */ -body.app{background:#eef2f7;color:#1f2937} -body.app #ltop1{background:#ffffff !important;background-image:none !important;border-bottom:1px solid #e5e7eb !important} -body.app .tz-topbar{color:#1f2937 !important} -body.app .tz-brand h1{color:#111827 !important} -body.app .tz-brand .tz-sub{color:#6b7280 !important} -body.app .tz-user{color:#4b5563} -body.app #lleft{background:#ffffff!important;border-right:1px solid #e5e7eb} -body.app #lmid1{background:#ffffff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.04);margin:16px;padding:20px!important} +body.app{background:#0f172a;color:#e2e8f0} +body.app #ltop1{background:#0b1220 !important;background-image:none !important;border-bottom:3px solid #f59e0b !important} +body.app .tz-topbar{color:#fff !important} +body.app .tz-brand h1{color:#fff !important} +body.app .tz-brand .tz-sub{color:#94a3b8 !important} +body.app .tz-user{color:#cbd5e1} + +body.app #lleft{background:transparent!important;border-right:none !important;padding:0 12px;} +body.app #lleft .center-img{margin-top:20px;margin-bottom:12px} + +body.app #menu{background:#ffffff;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.3);margin-top:0;} body.app #menu>li>a{display:block;padding:10px 16px;color:#374151!important;font-weight:600;font-size:12px;border-left:3px solid transparent;text-decoration:none} body.app #menu>li>a:hover,body.app #menu>li>a.active{background:#f3f4f6;border-left-color:#f59e0b;color:#111827!important} body.app #menu li.sub ul{background:#f9fafb} @@ -422,7 +423,13 @@ body.app #menu li.sub ul li a{display:block;padding:8px 16px 8px 34px;font-size: body.app #menu li.sub ul li a:hover{color:#d97706!important} body.app #menu li a{background:#ffffff !important;color:#374151 !important;border-bottom:1px solid #f3f4f6 !important} body.app #menu li a:hover{background:#f9fafb !important} -body.app #lleft{box-shadow:none !important} + +body.app #lmid1{background:#ffffff !important;margin:16px !important;padding:24px !important;border-radius:12px !important;box-shadow:0 2px 8px rgba(0,0,0,.15) !important;border:1px solid #e5e7eb !important;} +body.app #lmid3{color:#696969 !important;} +body.app #lmid3 h1,body.app #lmid3 h2,body.app #lmid3 h3,body.app #lmid3 h4,body.app #lmid3 b,body.app #lmid3 strong{color:#696969 !important;font-weight:700 !important;} +body.app #lmid3 p,body.app #lmid3 span,body.app #lmid3 div,body.app #lmid3 td,body.app #lmid3 th,body.app #lmid3 li,body.app #lmid3 font{color:#696969 !important;font-weight:500 !important;} +body.app #lmid3 [style*="color:"]{color:#696969 !important;} +body.app #lmid3 a{color:#15803d !important;font-weight:600 !important;} @@ -527,10 +534,10 @@ body.app #lleft{box-shadow:none !important}
CheckLogin()){ ?> getUserField($_SESSION['id'], 'username', 0); - $adminAccess = $database->getUserField($_SESSION['id'], 'access', 0); - $rank = $adminAccess == 9 ? 'Admin' : ($adminAccess == 8 ? 'MH' : 'User'); - ?> + $adminName = $database->getUserField($_SESSION['id'], 'username', 0); + $adminAccess = $database->getUserField($_SESSION['id'], 'access', 0); + $rank = $adminAccess == 9 ? 'Admin' : ($adminAccess == 8 ? 'MH' : 'User'); + ?> Logged: () Logout @@ -539,20 +546,16 @@ body.app #lleft{box-shadow:none !important}
- +
+

- - - - - - TZ - - -

+ + TravianZ Admin Panel + +

CheckLogin()) { diff --git a/Admin/img/travianz_admin_logo.png b/Admin/img/travianz_admin_logo.png new file mode 100644 index 00000000..9a598595 Binary files /dev/null and b/Admin/img/travianz_admin_logo.png differ