%PDF-1.4 %Óëéá 1 0 obj <> endobj 3 0 obj <> endobj 4 0 obj <
| Server IP : 212.252.79.165 / Your IP : 216.73.216.24 [ Web Server : Apache System : Linux 212-252-79-165.cprapid.com 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64 User : cehaburo ( 1001) PHP Version : 8.1.33 Disable Function : exec,passthru,shell_exec,system Domains : 48 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/cehaburo/www/ |
Upload File : |
<?php
include 'lib/include.php';
// Fetch all categories
$category_query = $ceha->query("SELECT * FROM tbl_qr_category");
$categories = [];
while ($category = $category_query->fetch_assoc()) {
$categories[] = $category;
}
// Fetch all QR pages
$qr_query = $ceha->query("SELECT * FROM tbl_qr");
$qrs = [];
while ($qr = $qr_query->fetch_assoc()) {
$qrs[] = $qr;
}
// Function to build the category tree
function buildCategoryTree(array $categories, $qrs, $parent_id = 0) {
$branch = [];
foreach ($categories as $category) {
if ($category['parent_id'] == $parent_id) {
// Attach QR pages to the current category
$category['qrs'] = array_filter($qrs, function ($qr) use ($category) {
return $qr['category_id'] == $category['id'];
});
// Recursively find children categories
$children = buildCategoryTree($categories, $qrs, $category['id']);
if ($children) {
$category['children'] = $children;
}
$branch[] = $category;
}
}
return $branch;
}
$category_tree = buildCategoryTree($categories, $qrs);
// Function to render categories and QR pages
function renderCategoryList($categories, $level = 0) {
foreach ($categories as $category) {
$slug = 'category-' . $category['id'] . '-collapse';
$paddingLeft = 10 * $level; // Padding for nested categories
echo '<li class="mb-1" style="padding-left: ' . $paddingLeft . 'px;">';
if (isset($category['children']) || !empty($category['qrs'])) {
echo '<button class="btn btn-toggle d-inline-flex align-items-center rounded border-0 collapsed" data-bs-toggle="collapse" data-bs-target="#' . $slug . '" aria-expanded="false">';
echo '<i class="fa fa-chevron-right ms-auto"></i><i class="fa fa-chevron-down ms-auto"></i>';
echo htmlspecialchars($category['name'], ENT_QUOTES, 'UTF-8');
echo '</button>';
echo '<div class="collapse" id="' . $slug . '">';
echo '<ul class="btn-toggle-nav list-unstyled fw-normal pb-1 small">';
if (!empty($category['qrs'])) {
foreach ($category['qrs'] as $qr) {
echo '<li class="mb-1" style="padding-left: ' . ($paddingLeft + 10) . 'px;">';
echo '<a target="_blank" href="https://cehaburo.com/qr-screen_2.php?id=' . $qr['id'] . '" class="link-body-emphasis d-inline-flex text-decoration-none rounded mt-1">';
echo htmlspecialchars($qr['title'], ENT_QUOTES, 'UTF-8');
echo '</a>';
echo '</li>';
}
}
if (isset($category['children'])) {
renderCategoryList($category['children'], $level + 1);
}
echo '</ul>';
echo '</div>';
} else {
echo htmlspecialchars($category['name'], ENT_QUOTES, 'UTF-8');
}
echo '</li>';
}
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>QR Categories</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" />
<style>
body {
min-height: 100vh;
background-color: #f8f9fa;
font-family: 'Roboto', sans-serif;
display: flex;
flex-direction: column;
color: #343a40;
}
header {
background-color: #1f3663;
padding: 1rem;
color: white;
display: flex;
justify-content: space-between;
align-items: center;
}
header .brand-logo {
font-size: 1.5rem;
font-weight: bold;
}
nav {
padding:10px;
border-radius:20px;
transition: all .3s ease;
}
nav:hover {
background-color: #2f5593;
color:white;
a {
color:white;
}
}
header nav a {
color: white;
text-decoration: none;
margin-left: 1rem;
transition: color 0.3s;
}
.container {
width:100% !important;
max-width:100% !important;
}
.main-container {
flex: 1;
display: flex;
flex-direction:row;
margin-top: 1rem;
flex-wrap: wrap; /* For mobile responsiveness */
}
.image-container {
flex: 1;
border-radius: .5rem;
box-shadow: 0 4px 6px rgba(0,0,0,.1);
margin-left: 1rem;
overflow: hidden;
height: calc(100vh - 5rem) !important; /* Full height */
img {
height: 100vh;
object-fit:cover;
}
}
.sidebar {
flex: 1;
background-color: #fff;
padding: 1rem;
border-radius: .5rem;
box-shadow: 0 4px 6px rgba(0,0,0,.1);
overflow-y: auto;
max-height: calc(100vh - 4rem);
}
.list-unstyled {
padding: 0;
margin: 0;
}
.list-unstyled li {
list-style: none;
margin-bottom: .75rem;
}
.list-unstyled li button {
display:flex;
flex-direction:row-reverse;
}
.list-unstyled li button, .list-unstyled li a {
display: block;
width: 100%;
padding: .75rem 1rem;
color: #343a40;
text-decoration: none;
border-radius: .25rem;
transition: background-color .3s, color .3s;
background-color: #fff;
border: 1px solid #ced4da;
margin-left: 0;
}
.list-unstyled li button:hover, .list-unstyled li button:focus,
.list-unstyled li a:hover, .list-unstyled li a:focus {
background-color: #f0f2f5;
color: #007bff;
border-color: #007bff;
}
.list-unstyled li button.collapsed .fa-chevron-down, .list-unstyled li button:not(.collapsed) .fa-chevron-right {
display: none;
}
.list-unstyled li button.collapsed .fa-chevron-right, .list-unstyled li button:not(.collapsed) .fa-chevron-down {
display: inline;
}
.btn-toggle-nav a {
padding: .5rem 1rem;
color: #343a40;
}
.btn-toggle-nav a:hover,
.btn-toggle-nav a:focus {
background-color: #f0f2f5;
color: #007bff;
}
.slick-slide img {
width: 100%;
height: 100vh;
border-radius: .5rem;
}
@media (max-width: 768px) {
.image-container, .sidebar {
flex: 100%;
margin-left: 0;
margin-bottom: 1rem;
}
}
</style>
</head>
<body>
<header>
<div class="container d-flex justify-content-between align-items-center">
<div class="brand-logo"><img width="150px" src="/images/logo/ceha-beyaz-logo.png"></div>
<nav>
<i class="fa fa-phone"></i>
<a href="/iletisim">İletişim </a>
</nav>
</div>
</header>
<div class="main-container container mt-4">
<div class="sidebar">
<ul class="list-unstyled ps-0">
<!-- Bu PHP kodu kategori listesini oluşturur -->
<?php renderCategoryList($category_tree); ?>
</ul>
</div>
<div class="image-container">
<div class="slider">
<img src="/images/slider/613f6f568d181.jpg" alt="Image 1">
<img src="images/slider/61af5c0ed4bfe.jpg" alt="Image 2">
<img src="images/slider/61af5a31919b6.jpg" alt="Image 3">
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<script>
$(document).ready(function(){
$('.slider').slick({
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
adaptiveHeight: true,
autoplay: true,
autoplaySpeed: 2000
});
});
</script>
</body>
</html>