Revert to version 612728f

This commit is contained in:
Flatlogic Bot 2026-02-25 00:29:28 +00:00
parent e29fd2b9e8
commit 00993cf283
8 changed files with 82 additions and 110 deletions

View File

@ -17,25 +17,10 @@ function view($view, $data = []) {
}
function redirect($path) {
header("Location: " . url($path));
header("Location: $path");
exit;
}
function url($path = '') {
$base = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER['HTTP_HOST'];
// Detect subdirectory
$scriptName = $_SERVER['SCRIPT_NAME'];
$basePath = str_replace('/index.php', '', $scriptName);
$path = ltrim($path, '/');
return $base . $basePath . '/' . $path;
}
function asset($path) {
return url('assets/' . ltrim($path, '/'));
}
function __($key, $default = null) {
return LanguageService::translate($key, $default);
}
@ -62,4 +47,4 @@ function compress_image($source, $destination, $quality) {
imagejpeg($image, $destination, $quality);
return $destination;
}
}

View File

@ -1,17 +1,9 @@
body {
font-family: 'Inter', sans-serif;
background-color: #F8FAFC;
background-color: #F5F7F9;
color: #263238;
}
.bg-pattern {
background-image:
radial-gradient(at 0% 0%, hsla(142, 69%, 58%, 0.05) 0, transparent 50%),
radial-gradient(at 50% 0%, hsla(142, 69%, 58%, 0.02) 0, transparent 50%),
radial-gradient(at 100% 0%, hsla(142, 69%, 58%, 0.05) 0, transparent 50%);
background-attachment: fixed;
}
.hover-lift {
transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
@ -41,14 +33,11 @@ body {
.btn-success {
background-color: #00C853;
border-color: #00C853;
box-shadow: 0 4px 14px 0 rgba(0, 200, 83, 0.3);
}
.btn-success:hover {
background-color: #00B248;
border-color: #00B248;
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(0, 200, 83, 0.23);
}
.text-success {
@ -81,8 +70,3 @@ body {
font-size: 1.5rem;
vertical-align: middle;
}
.navbar {
backdrop-filter: blur(10px);
background-color: rgba(255, 255, 255, 0.8) !important;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

View File

@ -1,14 +1,14 @@
<?php include 'header.php'; ?>
<div class="container pb-5">
<div class="container">
<nav aria-label="breadcrumb" class="mb-4">
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="<?php echo url('/'); ?>" class="text-success text-decoration-none"><?php echo __('home'); ?></a></li>
<li class="breadcrumb-item"><a href="/" class="text-success text-decoration-none"><?php echo __('home'); ?></a></li>
<?php
$db = db_pdo();
$catName = $db->query("SELECT name FROM categories WHERE id = " . ($apk['category_id'] ?: 0))->fetchColumn();
?>
<li class="breadcrumb-item"><a href="<?php echo url('/?category='.strtolower($catName)); ?>" class="text-success text-decoration-none"><?php echo $catName ?: 'Apps'; ?></a></li>
<li class="breadcrumb-item"><a href="/?category=<?php echo strtolower($catName); ?>" class="text-success text-decoration-none"><?php echo $catName ?: 'Apps'; ?></a></li>
<li class="breadcrumb-item active" aria-current="page"><?php echo $apk['title']; ?></li>
</ol>
</nav>
@ -18,7 +18,7 @@
<div class="bg-white p-5 rounded-4 border-0 shadow-sm mb-5">
<div class="d-flex flex-column flex-md-row align-items-center align-items-md-start mb-5">
<?php
$icon = !empty($apk['icon_path']) ? url($apk['icon_path']) : $apk['image_url'];
$icon = !empty($apk['icon_path']) ? '/'.$apk['icon_path'] : $apk['image_url'];
?>
<img src="<?php echo $icon; ?>" class="rounded-4 me-md-5 mb-4 mb-md-0 shadow-sm" width="160" height="160" alt="<?php echo $apk['title']; ?>" style="object-fit: cover;">
<div class="text-center text-md-start">
@ -33,7 +33,7 @@
<?php endif; ?>
</div>
<a href="<?php echo url('download/'.$apk['slug']); ?>" class="btn btn-success btn-lg px-5 rounded-pill shadow-sm py-3 fw-bold w-100 w-md-auto mb-3">
<a href="/download/<?php echo $apk['slug']; ?>" class="btn btn-success btn-lg px-5 rounded-pill shadow-sm py-3 fw-bold w-100 w-md-auto mb-3">
<i class="bi bi-download me-2"></i> <?php echo __('download_now'); ?>
</a>
<p class="text-muted small"><?php echo __('agree_terms_text'); ?></p>
@ -85,13 +85,13 @@
<div class="input-group mb-3">
<?php
$ref = isset($_SESSION['user_id']) ? $db->query("SELECT referral_code FROM users WHERE id = ".$_SESSION['user_id'])->fetchColumn() : '';
$shareLink = url('apk/'.$apk['slug'].($ref ? '?ref='.$ref : ''));
$shareLink = 'http://'.$_SERVER['HTTP_HOST'].'/apk/'.$apk['slug'].($ref ? '?ref='.$ref : '');
?>
<input type="text" class="form-control form-control-sm bg-light" id="shareLink" value="<?php echo $shareLink; ?>" readonly>
<button class="btn btn-outline-success btn-sm" type="button" onclick="copyShareLink()"><?php echo __('copy'); ?></button>
</div>
<?php if (!$ref): ?>
<a href="<?php echo url('login'); ?>" class="small text-success text-decoration-none"><?php echo __('login_to_earn'); ?></a>
<a href="/login" class="small text-success text-decoration-none"><?php echo __('login_to_earn'); ?></a>
<?php endif; ?>
</div>
@ -99,7 +99,7 @@
<i class="bi bi-trophy display-4 mb-3 text-success"></i>
<h5 class="fw-bold mb-3"><?php echo __('referral_program'); ?></h5>
<p class="small text-white-50 mb-4"><?php echo __('referral_program_text'); ?></p>
<a href="<?php echo url('register'); ?>" class="btn btn-success fw-bold w-100 rounded-pill py-2"><?php echo __('get_started'); ?></a>
<a href="/register" class="btn btn-success fw-bold w-100 rounded-pill py-2"><?php echo __('get_started'); ?></a>
</div>
</div>
</div>
@ -116,4 +116,4 @@ function copyShareLink() {
}
</script>
<?php include 'footer.php'; ?>
<?php include 'footer.php'; ?>

View File

@ -1,55 +1,63 @@
</main>
<footer class="bg-white border-top py-5 mt-5">
</main>
<footer class="bg-white border-top py-5">
<div class="container">
<div class="row">
<div class="col-lg-4 mb-4 mb-lg-0 text-center text-lg-start">
<h5 class="fw-bold text-success mb-3"><?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?></h5>
<p class="text-muted small"><?php echo __('hero_subtitle'); ?></p>
<div class="d-flex gap-3 justify-content-center justify-content-lg-start">
<a href="#" class="text-muted"><i class="fab fa-facebook-f"></i></a>
<a href="#" class="text-muted"><i class="fab fa-twitter"></i></a>
<a href="#" class="text-muted"><i class="fab fa-instagram"></i></a>
<a href="#" class="text-muted"><i class="fab fa-telegram"></i></a>
</div>
<div class="row g-4">
<div class="col-lg-4">
<a class="navbar-brand fw-bold text-success d-flex align-items-center" href="/">
<?php if (get_setting('site_icon')): ?>
<img src="/<?php echo get_setting('site_icon'); ?>" alt="Logo" class="me-2" style="height: 30px;">
<?php else: ?>
<i class="bi bi-robot"></i>
<?php endif; ?>
<?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?>
</a>
<p class="text-muted mt-3 pe-lg-5">
<?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?> <?php echo __('footer_about'); ?>
</p>
</div>
<div class="col-6 col-lg-2 mb-4 mb-lg-0">
<h6 class="fw-bold mb-3"><?php echo __('navigation'); ?></h6>
<ul class="list-unstyled small">
<li class="mb-2"><a href="<?php echo url('/'); ?>" class="text-muted text-decoration-none"><?php echo __('home'); ?></a></li>
<li class="mb-2"><a href="#" class="text-muted text-decoration-none"><?php echo __('categories'); ?></a></li>
<li class="mb-2"><a href="<?php echo url('register'); ?>" class="text-muted text-decoration-none"><?php echo __('register'); ?></a></li>
<div class="col-6 col-lg-2">
<h6 class="fw-bold mb-3"><?php echo __('popular'); ?></h6>
<ul class="list-unstyled">
<li><a href="/" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('top_games'); ?></a></li>
<li><a href="/" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('top_apps'); ?></a></li>
<li><a href="/" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('new_releases'); ?></a></li>
</ul>
</div>
<div class="col-6 col-lg-2 mb-4 mb-lg-0">
<h6 class="fw-bold mb-3"><?php echo __('legal'); ?></h6>
<ul class="list-unstyled small">
<li class="mb-2"><a href="<?php echo url('privacy-policy'); ?>" class="text-muted text-decoration-none"><?php echo __('privacy_policy'); ?></a></li>
<li class="mb-2"><a href="<?php echo url('terms-of-service'); ?>" class="text-muted text-decoration-none"><?php echo __('terms_of_service'); ?></a></li>
<div class="col-6 col-lg-2">
<h6 class="fw-bold mb-3"><?php echo __('resources'); ?></h6>
<ul class="list-unstyled">
<li><a href="/help-center" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('support_center'); ?></a></li>
<li><a href="/terms-of-service" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('terms_of_service'); ?></a></li>
<li><a href="/privacy-policy" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('privacy_policy'); ?></a></li>
</ul>
</div>
<div class="col-lg-4 text-center text-lg-start">
<h6 class="fw-bold mb-3"><?php echo __('newsletter'); ?></h6>
<div class="input-group mb-3">
<input type="email" class="form-control rounded-start-pill border-end-0 px-4" placeholder="Email address">
<button class="btn btn-success rounded-end-pill px-4" type="button"><i class="fas fa-paper-plane"></i></button>
<div class="col-lg-4">
<h6 class="fw-bold mb-3"><?php echo __('subscribe'); ?></h6>
<p class="text-muted small"><?php echo __('subscribe_text'); ?></p>
<div class="input-group">
<input type="email" class="form-control border-light-subtle" placeholder="<?php echo __('email_placeholder'); ?>">
<button class="btn btn-success px-3" type="button"><?php echo __('subscribe'); ?></button>
</div>
</div>
</div>
<hr class="my-4 text-muted opacity-10">
<hr class="my-5 text-black-50 opacity-25">
<div class="row align-items-center">
<div class="col-md-6 text-center text-md-start">
<p class="text-muted small mb-0">&copy; <?php echo date('Y'); ?> <?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?>. All rights reserved.</p>
<span class="text-muted small">&copy; <?php echo date('Y'); ?> <?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?>. <?php echo __('all_rights_reserved'); ?></span>
</div>
<div class="col-md-6 text-center text-md-end mt-2 mt-md-0">
<span class="text-muted small"><?php echo __('made_with'); ?> <i class="fas fa-heart text-danger"></i> for Android Fans</span>
<div class="col-md-6 text-center text-md-end mt-3 mt-md-0">
<div class="d-flex justify-content-center justify-content-md-end gap-3">
<a href="#" class="text-muted"><i class="bi bi-facebook"></i></a>
<a href="#" class="text-muted"><i class="bi bi-twitter-x"></i></a>
<a href="#" class="text-muted"><i class="bi bi-instagram"></i></a>
<a href="#" class="text-muted"><i class="bi bi-github"></i></a>
</div>
</div>
</div>
</div>
</footer>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script src="<?php echo asset('js/main.js'); ?>"></script>
<script src="/assets/js/main.js"></script>
<?php echo get_setting('body_js'); ?>
</body>
</html>
</html>

View File

@ -11,20 +11,20 @@
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
<link rel="icon" type="image/x-icon" href="<?php echo url(get_setting('site_favicon')); ?>">
<link rel="stylesheet" href="<?php echo asset('css/custom.css'); ?>">
<link rel="icon" type="image/x-icon" href="/<?php echo get_setting('site_favicon'); ?>">
<link rel="stylesheet" href="/assets/css/custom.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<?php echo get_setting('head_js'); ?>
</head>
<body class="bg-pattern">
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-white border-bottom py-3 sticky-top">
<div class="container">
<a class="navbar-brand fw-bold text-success d-flex align-items-center" href="<?php echo url('/'); ?>">
<a class="navbar-brand fw-bold text-success d-flex align-items-center" href="/">
<?php if (get_setting('site_icon')): ?>
<img src="<?php echo url(get_setting('site_icon')); ?>" alt="Logo" class="me-2" style="height: 30px;">
<img src="/<?php echo get_setting('site_icon'); ?>" alt="Logo" class="me-2" style="height: 30px;">
<?php else: ?>
<i class="fas fa-robot"></i>
<?php endif; ?>
@ -36,7 +36,7 @@
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto align-items-center">
<li class="nav-item">
<a class="nav-link px-3" href="<?php echo url('/'); ?>"><?php echo __('home'); ?></a>
<a class="nav-link px-3" href="/"><?php echo __('home'); ?></a>
</li>
<li class="nav-item">
<a class="nav-link px-3" href="#"><?php echo __('categories'); ?></a>
@ -47,27 +47,27 @@
<i class="fas fa-globe me-1"></i> <?php echo \App\Services\LanguageService::getLang() == 'id' ? 'ID' : 'EN'; ?>
</a>
<ul class="dropdown-menu dropdown-menu-end shadow border-0">
<li><a class="dropdown-item" href="<?php echo url('lang/id'); ?>">🇮🇩 Indonesia</a></li>
<li><a class="dropdown-item" href="<?php echo url('lang/en'); ?>">🇺🇸 English</a></li>
<li><a class="dropdown-item" href="/lang/id">🇮🇩 Indonesia</a></li>
<li><a class="dropdown-item" href="/lang/en">🇺🇸 English</a></li>
</ul>
</li>
<?php if (isset($_SESSION['user_id'])): ?>
<li class="nav-item ms-lg-3">
<a class="btn btn-outline-success rounded-pill px-4 d-flex align-items-center" href="<?php echo url('profile'); ?>">
<a class="btn btn-outline-success rounded-pill px-4 d-flex align-items-center" href="/profile">
<i class="fas fa-user-circle me-2"></i> <?php echo __('profile'); ?>
</a>
</li>
<?php else: ?>
<li class="nav-item ms-lg-3">
<a class="btn btn-outline-dark rounded-pill px-4" href="<?php echo url('login'); ?>"><?php echo __('login'); ?></a>
<a class="btn btn-outline-dark rounded-pill px-4" href="/login"><?php echo __('login'); ?></a>
</li>
<li class="nav-item ms-lg-2">
<a class="btn btn-success rounded-pill px-4" href="<?php echo url('register'); ?>"><?php echo __('register'); ?></a>
<a class="btn btn-success rounded-pill px-4" href="/register"><?php echo __('register'); ?></a>
</li>
<?php endif; ?>
</ul>
</div>
</div>
</nav>
<main class="min-vh-100">
<main class="min-vh-100">

View File

@ -1,19 +1,19 @@
<?php include 'header.php'; ?>
<div class="container pb-5">
<div class="container">
<div class="row align-items-center mb-5 mt-4">
<div class="col-lg-7 text-center text-lg-start mb-5 mb-lg-0">
<div class="col-lg-7">
<h1 class="display-4 fw-bold mb-3"><?php echo __('hero_title'); ?></h1>
<p class="lead text-muted mb-4"><?php echo __('hero_subtitle'); ?></p>
<div class="d-flex gap-2 justify-content-center justify-content-lg-start">
<div class="d-flex gap-2">
<a href="#latest" class="btn btn-success btn-lg px-4 rounded-pill"><?php echo __('explore_apps'); ?></a>
<a href="<?php echo url('register'); ?>" class="btn btn-outline-dark btn-lg px-4 rounded-pill"><?php echo __('join_referral'); ?></a>
<a href="/register" class="btn btn-outline-dark btn-lg px-4 rounded-pill"><?php echo __('join_referral'); ?></a>
</div>
</div>
<div class="col-lg-5 text-center">
<div class="col-lg-5 d-none d-lg-block text-center">
<div class="position-relative">
<div class="bg-success opacity-10 position-absolute rounded-circle hero-circle" style="width: 100%; max-width: 400px; aspect-ratio: 1/1; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1;"></div>
<img src="https://img.icons8.com/color/512/android-os.png" class="img-fluid floating-animation hero-img" alt="Android APKs" style="max-height: 350px;">
<div class="bg-success opacity-10 position-absolute rounded-circle" style="width: 400px; height: 400px; top: -50px; right: -50px; z-index: -1;"></div>
<img src="https://img.icons8.com/color/512/android-os.png" class="img-fluid floating-animation" alt="Android APKs" style="max-height: 350px;">
</div>
</div>
</div>
@ -26,17 +26,18 @@
<?php echo __('categories'); ?>
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="<?php echo url('/'); ?>"><?php echo __('all_categories'); ?></a></li>
<li><a class="dropdown-item" href="/"><?php echo __('all_categories'); ?></a></li>
<?php
$db = db();
$categories = $db->query("SELECT * FROM categories")->fetchAll();
foreach ($categories as $cat): ?>
<li><a class="dropdown-item" href="<?php echo url('/?category='.$cat['slug']); ?>"><?php echo $cat['name']; ?></a></li>
<li><a class="dropdown-item" href="/?category=<?php echo $cat['slug']; ?>"><?php echo $cat['name']; ?></a></li>
<?php endforeach; ?>
</ul>
</div>
</div>
<!-- Grid optimized for 3 columns on desktop and mobile as requested -->
<div class="row g-2 g-md-4">
<?php foreach ($apks as $apk): ?>
<div class="col-4 col-md-4">
@ -44,7 +45,7 @@
<div class="card-body p-2 p-md-4 text-center text-md-start">
<div class="d-md-flex align-items-center mb-2 mb-md-3">
<?php
$icon = !empty($apk['icon_path']) ? url($apk['icon_path']) : $apk['image_url'];
$icon = !empty($apk['icon_path']) ? '/'.$apk['icon_path'] : $apk['image_url'];
?>
<img src="<?php echo $icon; ?>" class="rounded-3 mx-auto mx-md-0 mb-2 mb-md-0 d-block d-md-inline-block" width="50" height="50" alt="<?php echo $apk['title']; ?>" style="object-fit: cover; width: 50px; height: 50px;">
<div class="ms-md-3">
@ -55,7 +56,7 @@
<p class="card-text text-muted small mb-3 line-clamp-2 d-none d-md-block"><?php echo $apk['description']; ?></p>
<div class="d-flex flex-column flex-md-row justify-content-between align-items-center gap-2">
<span class="text-muted small d-none d-md-inline-block"><i class="fas fa-download me-1"></i> <?php echo number_format($apk['total_downloads']); ?></span>
<a href="<?php echo url('apk/'.$apk['slug']); ?>" class="btn btn-success rounded-pill px-3 btn-sm fw-medium w-100 w-md-auto"><?php echo __('details'); ?></a>
<a href="/apk/<?php echo $apk['slug']; ?>" class="btn btn-success rounded-pill px-3 btn-sm fw-medium w-100 w-md-auto"><?php echo __('details'); ?></a>
</div>
</div>
</div>
@ -71,7 +72,7 @@
<p class="mb-0 text-white-50"><?php echo __('referral_journey_text'); ?></p>
</div>
<div class="col-lg-4 text-center text-lg-end mt-4 mt-lg-0">
<a href="<?php echo url('register'); ?>" class="btn btn-success btn-lg px-5 rounded-pill"><?php echo __('get_started'); ?></a>
<a href="/register" class="btn btn-success btn-lg px-5 rounded-pill"><?php echo __('get_started'); ?></a>
</div>
</div>
</div>
@ -86,13 +87,7 @@
font-size: 0.7rem;
padding: 0.25rem 0.5rem;
}
.hero-img {
max-height: 200px !important;
}
.hero-circle {
max-width: 250px !important;
}
}
</style>
<?php include 'footer.php'; ?>
<?php include 'footer.php'; ?>