/
var
/
www
/
vhosts
/
m-auto.co
/
httpdocs
/
/var/www/vhosts/m-auto.co/httpdocs
mkdir
upload
Name
Size
Mode
Actions
admin/
-
0755
rm
ajax/
-
0755
rm
assets/
-
0755
rm
includes/
-
0755
rm
uploads/
-
0755
rm
.htaccess
2906
0644
edit
dl
rm
7-6-2026.zip
15953
0644
edit
dl
rm
404.php
1346
0644
edit
dl
rm
500.php
1326
0644
edit
dl
rm
about.php
2214
0644
edit
dl
rm
add_technical_specs.php
3659
0644
edit
dl
rm
ajax_filter_cars.php
7412
0644
edit
dl
rm
atom.xml
6281244
0644
edit
dl
rm
BACKGROUND_THEMES_INFO.md
4561
0644
edit
dl
rm
Backup.zip
4965
0644
edit
dl
rm
branches.php
10788
0644
edit
dl
rm
calculator.php
5897
0644
edit
dl
rm
cars.php
21991
0644
edit
dl
rm
car_condition_summary.php
9248
0644
edit
dl
rm
car_details.php
22584
0644
edit
dl
rm
CAR_GALLERY_README.md
7870
0644
edit
dl
rm
car_gallery_summary.php
10857
0644
edit
dl
rm
check_brand_matching.php
2000
0644
edit
dl
rm
cleanup_for_production.php
4878
0644
edit
dl
rm
compare.php
20255
0644
edit
dl
rm
COMPARISON_SYSTEM_README.md
6832
0644
edit
dl
rm
contact.php
3819
0644
edit
dl
rm
contact_process.php
2370
0644
edit
dl
rm
database_backup_2025-11-04_13-01-05.sql
48138
0644
edit
dl
rm
debug_brands.php
2267
0644
edit
dl
rm
deployment_checklist.php
6860
0644
edit
dl
rm
DEPLOYMENT_GUIDE.md
2712
0644
edit
dl
rm
export_database.php
3329
0644
edit
dl
rm
find_nearest_branch.php
2889
0644
edit
dl
rm
get-sitemap.php
2580
0644
edit
dl
rm
get_branches_by_city.php
4697
0644
edit
dl
rm
google7cbe8ec413192e2a.html
53
0644
edit
dl
rm
google69217c47da90dd66.html
53
0644
edit
dl
rm
index.php
633559
0644
edit
dl
rm
m11.zip
32222824
0644
edit
dl
rm
main.php
12595
0644
edit
dl
rm
main1.php
11911
0644
edit
dl
rm
maintenance.php
4169
0644
edit
dl
rm
maintenance_process.php
3408
0644
edit
dl
rm
manifest.json
828
0644
edit
dl
rm
news.php
2691
0644
edit
dl
rm
news_article.php
6536
0644
edit
dl
rm
ODOO_INTEGRATION_README.md
4435
0644
edit
dl
rm
offers.php
2218
0644
edit
dl
rm
PRODUCTION_SUMMARY.md
6426
0644
edit
dl
rm
quick_test_gallery.php
6078
0644
edit
dl
rm
README.md
6170
0644
edit
dl
rm
robots.txt
59
0644
edit
dl
rm
server_check.php
5293
0644
edit
dl
rm
sitemap.js
479620
0644
edit
dl
rm
sitemap.xml
6281829
0644
edit
dl
rm
sw.js
1954
0644
edit
dl
rm
test_odoo_connection.php
3474
0644
edit
dl
rm
visit.php
3781
0644
edit
dl
rm
visit_process.php
2771
0644
edit
dl
rm
x.txt
479657
0644
edit
dl
rm
Edit:
/var/www/vhosts/m-auto.co/httpdocs/car_details.php
(22584B)
<?php session_start(); include 'includes/db.php'; include 'includes/header.php'; // Initialize comparison list if not exists if (!isset($_SESSION['compare_cars'])) { $_SESSION['compare_cars'] = []; } // Check for car ID if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { header("Location: cars.php"); exit(); } $car_id = $_GET['id']; // Fetch car details $stmt = $conn->prepare("SELECT * FROM cars WHERE id = ?"); $stmt->bind_param("i", $car_id); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows !== 1) { echo "<div class='container text-center my-5 pt-5'><h2>سيارة غير موجودة</h2><a href='cars.php' class='btn btn-primary'>العودة إلى قائمة السيارات</a></div>"; include 'includes/footer.php'; exit(); } $car = $result->fetch_assoc(); $stmt->close(); // Fetch car images from car_images table $images_stmt = $conn->prepare("SELECT * FROM car_images WHERE car_id = ? ORDER BY is_primary DESC, sort_order ASC"); $images_stmt->bind_param("i", $car_id); $images_stmt->execute(); $images_result = $images_stmt->get_result(); $car_images = []; while ($img = $images_result->fetch_assoc()) { $car_images[] = $img; } $images_stmt->close(); // Fetch trims for this car $trims_stmt = $conn->prepare("SELECT * FROM car_trims WHERE car_id = ? ORDER BY price ASC"); $trims_stmt->bind_param("i", $car_id); $trims_stmt->execute(); $trims_result = $trims_stmt->get_result(); $car_trims = []; while ($trim = $trims_result->fetch_assoc()) { $car_trims[] = $trim; } $trims_stmt->close(); // Set default trim as the first one $default_trim = !empty($car_trims) ? $car_trims[0] : null; ?> <main class="container my-5 pt-5"> <div class="glass-card p-4 p-md-5"> <div class="row g-5"> <!-- Car Images Gallery --> <div class="col-lg-7" data-aos="fade-left"> <?php if (!empty($car_images)): ?> <!-- Main Image --> <div class="main-image-container mb-3"> <img id="mainImage" src="uploads/cars/<?= htmlspecialchars($car_images[0]['image_name']) ?>" class="img-fluid rounded shadow-lg" alt="<?= htmlspecialchars($car['name']) ?>"> </div> <!-- Thumbnail Gallery --> <?php if (count($car_images) > 1): ?> <div class="thumbnail-gallery"> <div class="row g-2"> <?php foreach ($car_images as $index => $img): ?> <div class="col-3"> <img src="uploads/cars/<?= htmlspecialchars($img['image_name']) ?>" class="img-fluid rounded thumbnail-img <?= $index === 0 ? 'active' : '' ?>" alt="صورة <?= $index + 1 ?>" onclick="changeMainImage('uploads/cars/<?= htmlspecialchars($img['image_name']) ?>', this)" style="cursor: pointer; height: 80px; object-fit: cover; border: 2px solid transparent;"> </div> <?php endforeach; ?> </div> </div> <?php endif; ?> <!-- Video Section --> <?php if (!empty($car['video_url'])): ?> <div class="video-section mt-4"> <h5 class="mb-3"><i class="fas fa-play-circle"></i> فيديو السيارة</h5> <div class="ratio ratio-16x9"> <?php $video_url = $car['video_url']; // Convert YouTube URL to embed format if (strpos($video_url, 'youtube.com/watch?v=') !== false) { $video_id = parse_url($video_url, PHP_URL_QUERY); parse_str($video_id, $params); $video_url = 'https://www.youtube.com/embed/' . $params['v']; } elseif (strpos($video_url, 'youtu.be/') !== false) { $video_id = basename(parse_url($video_url, PHP_URL_PATH)); $video_url = 'https://www.youtube.com/embed/' . $video_id; } ?> <iframe src="<?= htmlspecialchars($video_url) ?>" title="فيديو السيارة" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen class="rounded"> </iframe> </div> </div> <?php endif; ?> <?php else: ?> <!-- Fallback to old image field --> <img src="<?= !empty($car['image']) ? 'uploads/cars/' . htmlspecialchars($car['image']) : 'https://via.placeholder.com/800x600' ?>" class="img-fluid rounded shadow-lg" alt="<?= htmlspecialchars($car['name']) ?>"> <?php endif; ?> </div> <!-- Car Details --> <div class="col-lg-5" data-aos="fade-right"> <h1 class="display-5 mb-3"><?= htmlspecialchars($car['name']) ?></h1> <p class="text-muted"><?= htmlspecialchars($car['brand']) ?> / <?= htmlspecialchars($car['model']) ?></p> <?php if (!empty($car_trims)): ?> <!-- Trim Selector Dropdown --> <div class="mb-4 bg-dark p-3 rounded border border-secondary"> <label for="trimSelect" class="form-label text-warning fw-bold"><i class="fas fa-tags me-1"></i> اختر فئة السيارة:</label> <select class="form-select bg-dark text-white border-secondary" id="trimSelect"> <?php foreach ($car_trims as $index => $trim): ?> <option value="<?= $index ?>"><?= htmlspecialchars($trim['name']) ?> (<?= number_format($trim['price']) ?> جنيه)</option> <?php endforeach; ?> </select> </div> <?php endif; ?> <div class="d-flex justify-content-between align-items-center my-4"> <h2 class="text-danger mb-0"><span id="carPriceDisplay"><?= $default_trim ? number_format($default_trim['price']) : '0' ?></span> جنيه</h2> <span class="badge bg-light text-dark fs-6"><?= htmlspecialchars($car['category']) ?></span> </div> <!-- Basic Specifications --> <ul class="list-group list-group-flush car-specs mb-4"> <li class="list-group-item"><strong>الموديل:</strong> <?= htmlspecialchars($car['model']) ?></li> <li class="list-group-item"><strong>سنة الصنع:</strong> <?= htmlspecialchars($car['year']) ?></li> <li class="list-group-item"><strong>الماركة:</strong> <?= htmlspecialchars($car['brand']) ?></li> <li class="list-group-item"><strong>نوع الوقود:</strong> <span id="fuelTypeDisplay"><?= $default_trim ? htmlspecialchars($default_trim['fuel_type']) : 'غير محدد' ?></span></li> <li class="list-group-item"><strong>حالة السيارة:</strong> <span id="conditionDisplay"><?= $default_trim ? htmlspecialchars($default_trim['car_condition']) : 'غير محدد' ?></span></li> </ul> <!-- Technical Specifications --> <div class="technical-specs"> <h5 class="mb-3"><i class="fas fa-cogs text-primary"></i> المواصفات الفنية للسيارة</h5> <!-- Engine & Performance --> <div class="spec-section mb-3" id="engineSpecsSection"> <h6 class="text-secondary"><i class="fas fa-engine"></i> المحرك والأداء</h6> <ul class="list-group list-group-flush"> <li class="list-group-item" id="engineCapacitySection" style="display: <?= ($default_trim && !empty($default_trim['engine_capacity'])) ? 'block' : 'none' ?>;"> <strong>سعة المحرك:</strong> <span id="engineCapacityDisplay"><?= $default_trim ? htmlspecialchars($default_trim['engine_capacity']) : '' ?></span> </li> <li class="list-group-item" id="transmissionTypeSection" style="display: <?= ($default_trim && !empty($default_trim['transmission_type'])) ? 'block' : 'none' ?>;"> <strong>ناقل الحركة:</strong> <span id="transmissionTypeDisplay"><?= $default_trim ? htmlspecialchars($default_trim['transmission_type']) : '' ?></span> </li> <li class="list-group-item" id="horsepowerSection" style="display: <?= ($default_trim && !empty($default_trim['horsepower'])) ? 'block' : 'none' ?>;"> <strong>القوة الحصانية:</strong> <span id="horsepowerDisplay"><?= $default_trim ? htmlspecialchars($default_trim['horsepower']) : '' ?></span> حصان </li> <li class="list-group-item" id="torqueSection" style="display: <?= ($default_trim && !empty($default_trim['torque'])) ? 'block' : 'none' ?>;"> <strong>عزم الدوران:</strong> <span id="torqueDisplay"><?= $default_trim ? htmlspecialchars($default_trim['torque']) : '' ?></span> </li> </ul> </div> <!-- Performance Stats --> <div class="spec-section mb-3" id="performanceSpecsSection"> <h6 class="text-secondary"><i class="fas fa-tachometer-alt"></i> الأداء والاستهلاك</h6> <ul class="list-group list-group-flush"> <li class="list-group-item" id="accelerationSection" style="display: <?= ($default_trim && !empty($default_trim['acceleration'])) ? 'block' : 'none' ?>;"> <strong>التسارع 0-100:</strong> <span id="accelerationDisplay"><?= $default_trim ? htmlspecialchars($default_trim['acceleration']) : '' ?></span> </li> <li class="list-group-item" id="topSpeedSection" style="display: <?= ($default_trim && !empty($default_trim['top_speed'])) ? 'block' : 'none' ?>;"> <strong>السرعة القصوى:</strong> <span id="topSpeedDisplay"><?= $default_trim ? htmlspecialchars($default_trim['top_speed']) : '' ?></span> </li> <li class="list-group-item" id="fuelConsumptionSection" style="display: <?= ($default_trim && !empty($default_trim['fuel_consumption'])) ? 'block' : 'none' ?>;"> <strong>استهلاك الوقود:</strong> <span id="fuelConsumptionDisplay"><?= $default_trim ? htmlspecialchars($default_trim['fuel_consumption']) : '' ?></span> </li> <li class="list-group-item" id="drivetrainSection" style="display: <?= ($default_trim && !empty($default_trim['drivetrain'])) ? 'block' : 'none' ?>;"> <strong>نظام الدفع:</strong> <span id="drivetrainDisplay"><?= $default_trim ? htmlspecialchars($default_trim['drivetrain']) : '' ?></span> </li> </ul> </div> <!-- Body Specs --> <div class="spec-section mb-3" id="bodySpecsSection"> <h6 class="text-secondary"><i class="fas fa-car-side"></i> الهيكل والتصميم</h6> <ul class="list-group list-group-flush"> <li class="list-group-item" id="seatingCapacitySection" style="display: <?= ($default_trim && !empty($default_trim['seating_capacity'])) ? 'block' : 'none' ?>;"> <strong>عدد المقاعد:</strong> <span id="seatingCapacityDisplay"><?= $default_trim ? htmlspecialchars($default_trim['seating_capacity']) : '' ?></span> مقعد </li> <li class="list-group-item" id="bodyTypeSection" style="display: <?= ($default_trim && !empty($default_trim['body_type'])) ? 'block' : 'none' ?>;"> <strong>نوع الهيكل:</strong> <span id="bodyTypeDisplay"><?= $default_trim ? htmlspecialchars($default_trim['body_type']) : '' ?></span> </li> <li class="list-group-item" id="exteriorColorSection" style="display: <?= ($default_trim && !empty($default_trim['exterior_color'])) ? 'block' : 'none' ?>;"> <strong>اللون الخارجي:</strong> <span id="exteriorColorDisplay"><?= $default_trim ? htmlspecialchars($default_trim['exterior_color']) : '' ?></span> </li> <li class="list-group-item" id="interiorColorSection" style="display: <?= ($default_trim && !empty($default_trim['interior_color'])) ? 'block' : 'none' ?>;"> <strong>اللون الداخلي:</strong> <span id="interiorColorDisplay"><?= $default_trim ? htmlspecialchars($default_trim['interior_color']) : '' ?></span> </li> </ul> </div> <!-- PDF Section --> <div class="spec-section mb-3" id="pdfSection" style="display: <?= ($default_trim && !empty($default_trim['tech_specs_pdf'])) ? 'block' : 'none' ?>;"> <h6 class="text-secondary"><i class="fas fa-file-pdf"></i> المواصفات الفنية الكاملة</h6> <div class="feature-group mb-2"> <a id="pdfDownloadLink" href="uploads/pdfs/<?= $default_trim ? htmlspecialchars($default_trim['tech_specs_pdf']) : '' ?>" target="_blank" class="btn btn-primary"> <i class="fas fa-download"></i> تحميل ملف المواصفات (PDF) </a> </div> </div> </div> <h4 class="mt-4">الوصف</h4> <p><?= nl2br(htmlspecialchars($car['description'])) ?></p> <div class="d-grid gap-2 mt-4"> <a href="visit.php?car_id=<?= $car['id'] ?>" class="btn btn-danger btn-lg">احجز تجربة قيادة</a> <a href="calculator.php?price=<?= $default_trim ? $default_trim['price'] : '0' ?>" id="calculatorLink" class="btn btn-outline-light btn-lg">حساب القسط</a> <!-- Comparison Buttons --> <?php if ($default_trim): ?> <?php $trim_id = $default_trim['id']; $is_already_added = in_array($trim_id, $_SESSION['compare_cars']); ?> <a id="compareLink" href="compare.php?action=<?= $is_already_added ? 'remove' : 'add' ?>&trim_id=<?= $trim_id ?>" class="btn <?= $is_already_added ? 'btn-outline-warning' : 'btn-outline-info' ?> btn-lg"> <i class="fas <?= $is_already_added ? 'fa-minus-circle' : 'fa-balance-scale' ?>"></i> <?= $is_already_added ? 'إزالة من المقارنة' : 'إضافة للمقارنة' ?> </a> <?php endif; ?> <?php if (!empty($_SESSION['compare_cars'])): ?> <a href="compare.php" class="btn btn-success btn-lg"> <i class="fas fa-eye"></i> عرض المقارنة (<?= count($_SESSION['compare_cars']) ?>) </a> <?php endif; ?> </div> </div> </div> </div> </main> <script> function changeMainImage(imageSrc, thumbnailElement) { document.getElementById('mainImage').src = imageSrc; document.querySelectorAll('.thumbnail-img').forEach(img => { img.classList.remove('active'); img.style.border = '2px solid transparent'; }); thumbnailElement.classList.add('active'); thumbnailElement.style.border = '2px solid #dc3545'; } document.addEventListener('DOMContentLoaded', function() { const activeThumbnail = document.querySelector('.thumbnail-img.active'); if (activeThumbnail) { activeThumbnail.style.border = '2px solid #dc3545'; } // Dynamic UI Updates based on selected Trim const trims = <?php echo json_encode($car_trims); ?>; const compareList = <?php echo json_encode($_SESSION['compare_cars']); ?>; const trimSelect = document.getElementById('trimSelect'); if (trimSelect) { trimSelect.addEventListener('change', function() { const index = this.value; const trim = trims[index]; // 1. Update Price document.getElementById('carPriceDisplay').textContent = Number(trim.price).toLocaleString('en-US'); // 2. Update Basic Specs document.getElementById('fuelTypeDisplay').textContent = trim.fuel_type || 'غير محدد'; document.getElementById('conditionDisplay').textContent = trim.car_condition || 'غير محدد'; // 3. Update Technical specs updateSpecSection('engineCapacitySection', 'engineCapacityDisplay', trim.engine_capacity); updateSpecSection('transmissionTypeSection', 'transmissionTypeDisplay', trim.transmission_type); updateSpecSection('horsepowerSection', 'horsepowerDisplay', trim.horsepower, ' حصان'); updateSpecSection('torqueSection', 'torqueDisplay', trim.torque); updateSpecSection('accelerationSection', 'accelerationDisplay', trim.acceleration); updateSpecSection('topSpeedSection', 'topSpeedDisplay', trim.top_speed); updateSpecSection('fuelConsumptionSection', 'fuelConsumptionDisplay', trim.fuel_consumption); updateSpecSection('drivetrainSection', 'drivetrainDisplay', trim.drivetrain); updateSpecSection('seatingCapacitySection', 'seatingCapacityDisplay', trim.seating_capacity, ' مقعد'); updateSpecSection('bodyTypeSection', 'bodyTypeDisplay', trim.body_type); updateSpecSection('exteriorColorSection', 'exteriorColorDisplay', trim.exterior_color); updateSpecSection('interiorColorSection', 'interiorColorDisplay', trim.interior_color); // 4. Update PDF const pdfSection = document.getElementById('pdfSection'); const pdfLink = document.getElementById('pdfDownloadLink'); if (trim.tech_specs_pdf) { pdfLink.href = 'uploads/pdfs/' + trim.tech_specs_pdf; pdfSection.style.display = 'block'; } else { pdfSection.style.display = 'none'; } // 5. Update Calculator Link document.getElementById('calculatorLink').href = 'calculator.php?price=' + trim.price; // 6. Update Compare Button const compareLink = document.getElementById('compareLink'); if (compareLink) { const trimIdInt = Number(trim.id); const isAlreadyAdded = compareList.includes(trimIdInt); if (isAlreadyAdded) { compareLink.href = 'compare.php?action=remove&trim_id=' + trim.id; compareLink.className = 'btn btn-outline-warning btn-lg'; compareLink.innerHTML = '<i class="fas fa-minus-circle"></i> إزالة من المقارنة'; } else { compareLink.href = 'compare.php?action=add&trim_id=' + trim.id; compareLink.className = 'btn btn-outline-info btn-lg'; compareLink.innerHTML = '<i class="fas fa-balance-scale"></i> إضافة للمقارنة'; } } }); } function updateSpecSection(sectionId, displayId, value, suffix = '') { const section = document.getElementById(sectionId); const display = document.getElementById(displayId); if (value && value !== '0' && value !== 0) { display.textContent = value + suffix; section.style.display = 'block'; } else { section.style.display = 'none'; } } }); </script> <style> .thumbnail-img:hover { opacity: 0.8; transform: scale(1.05); transition: all 0.3s ease; } .video-section { background: rgba(255, 255, 255, 0.1); padding: 20px; border-radius: 10px; backdrop-filter: blur(10px); } .technical-specs { background: rgba(255, 255, 255, 0.05); padding: 20px; border-radius: 15px; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } .spec-section { background: rgba(255, 255, 255, 0.03); padding: 15px; border-radius: 10px; border-left: 4px solid var(--primary-color); } .spec-section h6 { color: #fff; margin-bottom: 15px; font-weight: 600; } .feature-group { background: rgba(255, 255, 255, 0.05); padding: 10px; border-radius: 8px; border-left: 3px solid; } .feature-group:nth-child(1) { border-left-color: #28a745; } .feature-group:nth-child(2) { border-left-color: #17a2b8; } .feature-group:nth-child(3) { border-left-color: #ffc107; } .list-group-item { background: rgba(255, 255, 255, 0.05) !important; border-color: rgba(255, 255, 255, 0.1) !important; color: #fff !important; } .list-group-item strong { color: var(--primary-color); } </style> <?php include 'includes/footer.php'; ?>
Save
cmd:
run