Hackfut Security File Manager
Current Path:
/home/u126195517/domains/foodstamping.in/public_html
home
/
u126195517
/
domains
/
foodstamping.in
/
public_html
/
📁
..
📄
.vanta_notified
(8 B)
📄
1log.php
(51.35 KB)
📄
about.php
(10.64 KB)
📁
admin
📁
assets
📄
blue1.php
(93.4 KB)
📄
cart-action.php
(2.99 KB)
📄
check-pincode.php
(1.28 KB)
📄
checkout.html
(25.66 KB)
📁
config
📄
contact.php
(7.99 KB)
📄
footer.php
(5.85 KB)
📄
forgot-password.php
(6.49 KB)
📄
header-menu.php
(5.13 KB)
📄
index.php
(32.32 KB)
📄
login.html
(16.37 KB)
📄
login.php
(18.64 KB)
📄
logout.php
(478 B)
📁
models
📄
payment.html
(33.43 KB)
📄
product-single.html
(23.7 KB)
📄
product-single.php
(29.79 KB)
📄
products.php
(26.16 KB)
📄
profile.php
(15.54 KB)
📄
robots.txt
(2.62 KB)
📁
shop
📄
slider.php
(1.57 KB)
📁
uploads
📄
v3.php
(20.86 KB)
Editing: products.php
<?php session_start(); require_once 'config/database.php'; $database = new Database(); $db = $database->getConnection(); // Get category filter $category_id = isset($_GET['category']) ? intval($_GET['category']) : null; $sort_by = isset($_GET['sort']) ? $_GET['sort'] : 'default'; $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $items_per_page = 12; $offset = ($page - 1) * $items_per_page; // Build query based on filters $where_clause = "WHERE p.status = 1"; $params = []; if($category_id) { $where_clause .= " AND p.category_id = :category_id"; $params[':category_id'] = $category_id; } // Sorting $order_clause = "ORDER BY "; switch($sort_by) { case 'popularity': $order_clause .= "p.views DESC"; break; case 'rating': $order_clause .= "p.average_rating DESC"; break; case 'date': $order_clause .= "p.created_at DESC"; break; case 'price': $order_clause .= "p.price ASC"; break; case 'price-desc': $order_clause .= "p.price DESC"; break; default: $order_clause .= "p.featured DESC, p.created_at DESC"; } // Get total count for pagination $count_query = "SELECT COUNT(*) as total FROM products p $where_clause"; $count_stmt = $db->prepare($count_query); foreach($params as $key => $value) { $count_stmt->bindValue($key, $value); } $count_stmt->execute(); $total_products = $count_stmt->fetch(PDO::FETCH_ASSOC)['total']; $total_pages = ceil($total_products / $items_per_page); // Get products $query = "SELECT p.*, c.name as category_name FROM products p LEFT JOIN categories c ON p.category_id = c.id $where_clause $order_clause LIMIT :limit OFFSET :offset"; $stmt = $db->prepare($query); foreach($params as $key => $value) { $stmt->bindValue($key, $value); } $stmt->bindValue(':limit', $items_per_page, PDO::PARAM_INT); $stmt->bindValue(':offset', $offset, PDO::PARAM_INT); $stmt->execute(); $products = $stmt->fetchAll(PDO::FETCH_ASSOC); // Get categories for sidebar $cat_query = "SELECT c.*, (SELECT COUNT(*) FROM products p WHERE p.category_id = c.id AND p.status = 1) as product_count FROM categories c WHERE c.status = 1 ORDER BY c.name"; $cat_stmt = $db->prepare($cat_query); $cat_stmt->execute(); $categories = $cat_stmt->fetchAll(PDO::FETCH_ASSOC); // Get selected category name $selected_category_name = ''; if($category_id) { foreach($categories as $cat) { if($cat['id'] == $category_id) { $selected_category_name = $cat['name']; break; } } } ?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>A-1 Common Seal | Products <?php echo $selected_category_name ? '- ' . $selected_category_name : ''; ?></title> <link rel="icon" href="assets/images/favicon-32x32.png" type="image/png"> <link href="//fonts.googleapis.com/css2?family=Kumbh+Sans:wght@300;400;700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="assets/css/style-liberty.css"> <style> .product-grid2 { transition: all 0.3s ease; } .product-grid2:hover { transform: translateY(-5px); box-shadow: 0 5px 20px rgba(0,0,0,0.1); } .product-image2 { position: relative; overflow: hidden; } .pic-1, .pic-2 { transition: all 0.5s; } .product-grid2:hover .pic-1 { opacity: 0; } .product-grid2 .pic-2 { position: absolute; top: 0; left: 0; opacity: 0; } .product-grid2:hover .pic-2 { opacity: 1; } .discount-badge { position: absolute; top: 10px; left: 10px; background: #ff4444; color: white; padding: 5px 10px; border-radius: 5px; font-size: 12px; font-weight: bold; z-index: 1; } .stock-badge { position: absolute; top: 10px; right: 10px; padding: 5px 10px; border-radius: 5px; font-size: 11px; font-weight: bold; z-index: 1; } .in-stock { background: #4CAF50; color: white; } .low-stock { background: #ff9800; color: white; } .out-of-stock { background: #f44336; color: white; } .product-rating { color: #ffc107; font-size: 14px; margin: 5px 0; } </style> <script> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://foodstamping.in/" } ] } </script> <script> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://foodstamping.in/" } ] } </script> </head> <body> <?php include_once('header-menu.php'); ?> <section class="w3mid-gap"></section> <div class="inner-banner py-5"> <section class="w3l-breadcrumb text-left py-sm-5"> <div class="container"> <div class="w3breadcrumb-gids"> <div class="w3breadcrumb-left text-left"> <h2 class="inner-w3-title"> Products <?php echo $selected_category_name ? '- ' . $selected_category_name : ''; ?> </h2> </div> <div class="w3breadcrumb-right"> <ul class="breadcrumbs-custom-path"> <li><a href="index.php">Home</a></li> <?php if($selected_category_name): ?> <li><a href="products.php">Products</a></li> <li class="active"><span class="fas fa-angle-double-right mx-2"></span> <?php echo $selected_category_name; ?></li> <?php else: ?> <li class="active"><span class="fas fa-angle-double-right mx-2"></span> Products</li> <?php endif; ?> </ul> </div> </div> </div> </section> </div> <section class="w3l-ecommerce-main"> <div class="ecom-contenthny w3l-ecommerce-main-inn py-5"> <div class="container py-lg-5"> <?php if(isset($_SESSION['message'])): ?> <div class="alert alert-<?php echo $_SESSION['message_type']; ?> alert-dismissible fade show" role="alert"> <?php echo $_SESSION['message']; unset($_SESSION['message']); unset($_SESSION['message_type']); ?> <button type="button" class="btn-close" data-bs-dismiss="alert"></button> </div> <?php endif; ?> <div class="ecommerce-grids row"> <!-- Sidebar --> <div class="ecommerce-left-hny col-lg-4"> <aside class="pe-lg-4"> <div class="sider-bar"> <!-- Categories --> <div class="single-gd mb-5"> <h4>Product Categories</h4> <ul class="list-group single"> <li class="list-group-item d-flex justify-content-between align-items-center <?php echo !$category_id ? 'active' : ''; ?>"> <a href="products.php" class="text-decoration-none"> All Products </a> <span class="badge badge-primary badge-pill"><?php echo $total_products; ?></span> </li> <?php foreach($categories as $category): ?> <li class="list-group-item d-flex justify-content-between align-items-center <?php echo $category_id == $category['id'] ? 'active' : ''; ?>"> <a href="?category=<?php echo $category['id']; ?>" class="text-decoration-none"> <?php echo htmlspecialchars($category['name']); ?> </a> <span class="badge badge-primary badge-pill"> <?php echo $category['product_count']; ?> </span> </li> <?php endforeach; ?> </ul> </div> <!-- Price Range --> <div class="single-gd mb-5"> <h4>Price Range</h4> <div class="price-range"> <div id="slider-range"></div> <input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;"> </div> </div> <!-- Top Rated Products --> <?php $top_query = "SELECT * FROM products WHERE status = 1 AND average_rating > 0 ORDER BY average_rating DESC LIMIT 3"; $top_stmt = $db->prepare($top_query); $top_stmt->execute(); $top_products = $top_stmt->fetchAll(PDO::FETCH_ASSOC); ?> <?php if(count($top_products) > 0): ?> <div class="single-gd mb-5"> <h4>Top Rated</h4> <div class="top-products"> <?php foreach($top_products as $top): ?> <div class="d-flex mb-3"> <img src="<?php echo $top['image_primary']; ?>" alt="<?php echo htmlspecialchars($top['name']); ?>" style="width: 60px; height: 60px; object-fit: cover;" class="me-3"> <div> <a href="product-single.php?id=<?php echo $top['id']; ?>" class="text-decoration-none"> <h6 class="mb-1"><?php echo htmlspecialchars(substr($top['name'], 0, 30)) . '...'; ?></h6> </a> <div class="product-rating"> <?php for($i = 1; $i <= 5; $i++): ?> <?php if($i <= floor($top['average_rating'])): ?> <span class="fa fa-star"></span> <?php else: ?> <span class="fa fa-star-o"></span> <?php endif; ?> <?php endfor; ?> </div> <span class="text-primary">Rs.<?php echo number_format($top['price'], 0); ?></span> </div> </div> <?php endforeach; ?> </div> </div> <?php endif; ?> </div> </aside> </div> <!-- Products Grid --> <div class="ecommerce-right-hny col-lg-8"> <div class="row ecomhny-topbar"> <div class="col-6 ecomhny-result"> <h4 class="ecomhny-result-count"> Showing <?php echo min($offset + 1, $total_products); ?>-<?php echo min($offset + $items_per_page, $total_products); ?> of <?php echo $total_products; ?> Results </h4> </div> <div class="col-6 ecomhny-topbar-ordering"> <div class="ecom-ordering-select d-flex"> <span class="fa fa-angle-down" aria-hidden="true"></span> <select onchange="window.location.href='?<?php echo $category_id ? 'category=' . $category_id . '&' : ''; ?>sort=' + this.value"> <option value="default" <?php echo $sort_by == 'default' ? 'selected' : ''; ?>>Default Sorting</option> <option value="popularity" <?php echo $sort_by == 'popularity' ? 'selected' : ''; ?>>Sort by Popularity</option> <option value="rating" <?php echo $sort_by == 'rating' ? 'selected' : ''; ?>>Sort by Average rating</option> <option value="date" <?php echo $sort_by == 'date' ? 'selected' : ''; ?>>Sort by latest</option> <option value="price" <?php echo $sort_by == 'price' ? 'selected' : ''; ?>>Sort by Price: low to high</option> <option value="price-desc" <?php echo $sort_by == 'price-desc' ? 'selected' : ''; ?>>Sort by Price: high to low</option> </select> </div> </div> </div> <?php if(count($products) > 0): ?> <div class="ecom-products-grids row"> <?php foreach($products as $product): ?> <?php // Calculate discount percentage $discount = 0; if($product['original_price'] > $product['price']) { $discount = round((($product['original_price'] - $product['price']) / $product['original_price']) * 100); } // Stock status $stock_status = ''; $stock_class = ''; if($product['stock_quantity'] == 0) { $stock_status = 'Out of Stock'; $stock_class = 'out-of-stock'; } elseif($product['stock_quantity'] < 10) { $stock_status = 'Only ' . $product['stock_quantity'] . ' left'; $stock_class = 'low-stock'; } else { $stock_status = 'In Stock'; $stock_class = 'in-stock'; } ?> <div class="col-lg-4 col-6 product-incfhny mt-4"> <div class="product-grid2 shopv"> <div class="product-image2"> <!-- Link to product-single.php with product ID --> <a href="product-single.php?id=<?php echo $product['id']; ?>"> <?php if($discount > 0): ?> <span class="discount-badge"><?php echo $discount; ?>% OFF</span> <?php endif; ?> <span class="stock-badge <?php echo $stock_class; ?>"><?php echo $stock_status; ?></span> <img class="pic-1 img-fluid radius-image" src="<?php echo $product['image_primary']; ?>" alt="<?php echo htmlspecialchars($product['name']); ?>"> <img class="pic-2 img-fluid radius-image" src="<?php echo $product['image_secondary'] ?: $product['image_primary']; ?>" alt="<?php echo htmlspecialchars($product['name']); ?>"> </a> <ul class="social"> <li> <a href="product-single.php?id=<?php echo $product['id']; ?>" data-tip="Quick View"> <span class="fa fa-eye"></span> </a> </li> <li> <a href="#" onclick="addToCart(<?php echo $product['id']; ?>)" data-tip="Add to Cart"> <span class="fa fa-shopping-bag"></span> </a> </li> </ul> <div class="shopv single-item"> <form action="cart-action.php" method="post"> <input type="hidden" name="action" value="add"> <input type="hidden" name="product_id" value="<?php echo $product['id']; ?>"> <input type="hidden" name="quantity" value="1"> <button type="submit" class="shopv-cart pshopv-cart add-to-cart" <?php echo $product['stock_quantity'] == 0 ? 'disabled' : ''; ?>> <?php echo $product['stock_quantity'] == 0 ? 'Out of Stock' : 'Add to Cart'; ?> </button> </form> </div> </div> <div class="product-content"> <h3 class="title"> <a href="product-single.php?id=<?php echo $product['id']; ?>"> <?php echo htmlspecialchars($product['name']); ?> </a> </h3> <?php if($product['average_rating'] > 0): ?> <div class="product-rating"> <?php for($i = 1; $i <= 5; $i++): ?> <?php if($i <= floor($product['average_rating'])): ?> <span class="fa fa-star"></span> <?php else: ?> <span class="fa fa-star-o"></span> <?php endif; ?> <?php endfor; ?> <small class="text-muted">(<?php echo $product['total_reviews']; ?>)</small> </div> <?php endif; ?> <span class="price"> <?php if($product['original_price'] > $product['price']): ?> <del>Rs.<?php echo number_format($product['original_price'], 0); ?></del> <?php endif; ?> Rs.<?php echo number_format($product['price'], 0); ?> </span> </div> </div> </div> <?php endforeach; ?> </div> <!-- Pagination --> <?php if($total_pages > 1): ?> <div class="pagination mt-5"> <ul> <?php if($page > 1): ?> <li class="prev"> <a href="?<?php echo $category_id ? 'category=' . $category_id . '&' : ''; ?>page=<?php echo $page - 1; ?>"> <span class="fa fa-angle-double-left"></span> </a> </li> <?php endif; ?> <?php for($i = 1; $i <= $total_pages; $i++): ?> <?php if($i == 1 || $i == $total_pages || ($i >= $page - 2 && $i <= $page + 2)): ?> <li> <a href="?<?php echo $category_id ? 'category=' . $category_id . '&' : ''; ?>page=<?php echo $i; ?>" class="<?php echo $i == $page ? 'active' : ''; ?>"> <?php echo $i; ?> </a> </li> <?php elseif($i == $page - 3 || $i == $page + 3): ?> <li><span>...</span></li> <?php endif; ?> <?php endfor; ?> <?php if($page < $total_pages): ?> <li class="next"> <a href="?<?php echo $category_id ? 'category=' . $category_id . '&' : ''; ?>page=<?php echo $page + 1; ?>"> <span class="fa fa-angle-double-right"></span> </a> </li> <?php endif; ?> </ul> </div> <?php endif; ?> <?php else: ?> <div class="alert alert-info"> <h4>No products found</h4> <p>Try adjusting your filters or browse all products.</p> <a href="products.php" class="btn btn-primary mt-3">View All Products</a> </div> <?php endif; ?> </div> </div> </div> </div> </section> <?php include_once('footer.php'); ?> <script src="assets/js/jquery-3.3.1.min.js"></script> <script src="assets/js/theme-change.js"></script> <script src="assets/js/jquery-ui.js"></script> <script> // Price range slider $(function() { $("#slider-range").slider({ range: true, min: 0, max: 10000, values: [0, 10000], slide: function(event, ui) { $("#amount").val("Rs." + ui.values[0] + " - Rs." + ui.values[1]); // You can add AJAX call here to filter products by price } }); $("#amount").val("Rs." + $("#slider-range").slider("values", 0) + " - Rs." + $("#slider-range").slider("values", 1)); }); // Add to cart via AJAX function addToCart(productId) { $.ajax({ url: 'cart-action.php', method: 'POST', data: { action: 'add', product_id: productId, quantity: 1 }, success: function(response) { // Update cart count in header location.reload(); } }); return false; } </script> <script src="assets/js/minicart.js"></script> <script src="assets/js/bootstrap.min.js"></script> </body> </html>
Upload File
Create Folder