-
Analyzing your requirements and generating your website…
-
- Loading…
-
-
= ($_SERVER['HTTP_HOST'] ?? '') === 'appwizzy.com' ? 'AppWizzy' : 'Flatlogic' ?> AI is collecting your requirements and applying the first changes.
-
This page will update automatically as the plan is implemented.
-
Runtime: PHP = htmlspecialchars($phpVersion) ?> — UTC = htmlspecialchars($now) ?>
+
+
+
-
-
- Page updated: = htmlspecialchars($now) ?> (UTC)
-
+
+
+
+ Katalog
+
+
+ = htmlspecialchars($error) ?>
+
+
+
+
+
+
+
+
+
+
+
+
100 ? substr($desc, 0, 100) . '...' : $desc);
+ ?>
+
= htmlspecialchars(number_format($product['final_price'], 2, ',', ' ')) ?> PLN / = htmlspecialchars($product['unit']) ?>
+
+
+
+
+
+
+
+
+
+ Akcesoria i produkty uzupełniające
+
+
+
+
+
+
+
+
+
+
= htmlspecialchars(number_format($product['final_price'], 2, ',', ' ')) ?> PLN / = htmlspecialchars($product['unit']) ?>
+
+
+
+
+
+
+
+
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/login.php b/login.php
new file mode 100644
index 0000000..4fa3aff
--- /dev/null
+++ b/login.php
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
- B2B Commerce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logout.php b/logout.php
new file mode 100644
index 0000000..c3d3268
--- /dev/null
+++ b/logout.php
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
- B2B Commerce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Dziękujemy za złożenie zamówienia.
+
Numer Twojego zamówienia to # .
+
+
Możesz śledzić jego status w panelu Moje zamówienia .
+
+ Kontynuuj zakupy
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/order_details.php b/order_details.php
new file mode 100644
index 0000000..644c6fe
--- /dev/null
+++ b/order_details.php
@@ -0,0 +1,212 @@
+ 'Oczekujące',
+ 'status_pending_payment' => 'Oczekuje na płatność',
+ 'status_paid' => 'Zapłacone',
+ 'status_in_progress' => 'W realizacji',
+ 'status_shipped' => 'Wysłane',
+ 'status_partially_shipped' => 'Częściowo wysłane',
+ 'status_completed' => 'Zrealizowane',
+ 'status_cancelled' => 'Anulowane',
+ 'payment_bank_transfer' => 'Przelew tradycyjny',
+ 'payment_online' => 'Płatność online (Przelewy24)',
+ 'payment_credit' => 'Kredyt kupiecki',
+ ];
+
+ $payment_methods = ['bank_transfer', 'online', 'credit'];
+ if (in_array($key, $payment_methods)) {
+ $translation_key = 'payment_' . $key;
+ } else {
+ $translation_key = 'status_' . $key;
+ }
+
+ return $translations[$translation_key] ?? ucfirst(str_replace('_', ' ', $key));
+}
+
+$order_id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
+if ($order_id === 0) {
+ header('Location: orders.php');
+ exit;
+}
+
+$client_id = $_SESSION['client_id'] ?? 0;
+$error_message = null;
+$order = null;
+$order_items = [];
+$product_images = [];
+
+if ($client_id === 0) {
+ $error_message = 'Brak uprawnień do wyświetlenia tego zamówienia.';
+} else {
+ try {
+ $pdo = db();
+
+ $stmt = $pdo->prepare('SELECT * FROM orders WHERE id = :order_id AND client_id = :client_id');
+ $stmt->execute([':order_id' => $order_id, ':client_id' => $client_id]);
+ $order = $stmt->fetch();
+
+ if (!$order) {
+ $error_message = 'Nie znaleziono zamówienia lub nie masz do niego dostępu.';
+ } else {
+ $stmt = $pdo->prepare(
+ 'SELECT oi.*, p.name as product_name FROM order_items oi JOIN products p ON oi.product_id = p.id WHERE oi.order_id = ?'
+ );
+ $stmt->execute([$order_id]);
+ $order_items = $stmt->fetchAll();
+
+ if (!empty($order_items)) {
+ $product_ids = array_map(fn($item) => $item['product_id'], $order_items);
+ $placeholders = implode(',', array_fill(0, count($product_ids), '?'));
+
+ $image_stmt = $pdo->prepare(
+ "SELECT product_id, file_path, is_primary, id FROM product_images WHERE product_id IN ($placeholders) ORDER BY product_id, is_primary DESC, id ASC"
+ );
+ $image_stmt->execute($product_ids);
+ $images_data = $image_stmt->fetchAll();
+
+ $product_images_temp = [];
+ foreach ($images_data as $image) {
+ if (!isset($product_images_temp[$image['product_id']])) {
+ $product_images_temp[$image['product_id']] = 'uploads/products/' . $image['product_id'] . '/' . basename($image['file_path']);
+ }
+ }
+ $product_images = $product_images_temp;
+ }
+ }
+
+ } catch (PDOException $e) {
+ $error_message = 'Błąd bazy danych. Prosimy spróbować ponownie później.';
+ error_log($e->getMessage());
+ }
+}
+
+$page_title = $order ? 'Szczegóły zamówienia #' . $order['id'] : 'Szczegóły zamówienia';
+$user_role = get_user_role();
+$lang = 'pl';
+
+?>
+
+
+
+
+
+
- B2B Commerce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Wróć do listy zamówień
+
+
+
+
+
+
+
Data zamówienia:
+
Status:
+
Metoda płatności:
+
Suma: zł
+
Uwagi:
+
+
+
+
+
+
+
+
+
+ Zdjęcie
+ Produkt
+ Cena jednostkowa
+ Ilość
+ Suma częściowa
+
+
+
+
+
+
+
+ zł
+
+ zł
+
+
+
+
+
+
+
+
+
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/order_process.php b/order_process.php
new file mode 100644
index 0000000..18f55e3
--- /dev/null
+++ b/order_process.php
@@ -0,0 +1,128 @@
+beginTransaction();
+
+ // 1. Get product details from the database
+ $product_ids = array_keys($cart);
+ $placeholders = implode(',', array_fill(0, count($product_ids), '?'));
+ $stmt = $pdo->prepare("SELECT id, price, units_per_pallet FROM products WHERE id IN ($placeholders)");
+ $stmt->execute($product_ids);
+ $products_by_id = $stmt->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
+
+
+ // 2. Calculate total amount & total pallets
+ $total_amount = 0;
+ $is_supplier_delivery = false;
+ $client_id = $_SESSION['client_id'] ?? null;
+
+ $product_prices = [];
+ if ($client_id) {
+ $price_placeholders = implode(',', array_fill(0, count($product_ids), '?'));
+ $sql = "SELECT p.id, COALESCE(cp.price, p.price) as price FROM products p LEFT JOIN client_prices cp ON p.id = cp.product_id AND cp.client_id = ? WHERE p.id IN ($price_placeholders)";
+ $stmt = $pdo->prepare($sql);
+ $params = array_merge([$client_id], $product_ids);
+ $stmt->execute($params);
+ $product_prices = $stmt->fetchAll(PDO::FETCH_KEY_PAIR);
+ }
+
+ $is_supplier_delivery = false;
+ foreach ($cart as $product_id => $quantity) {
+ if (isset($products_by_id[$product_id])) {
+ $product = $products_by_id[$product_id];
+ $price = $product_prices[$product_id] ?? $product['price'];
+ $total_amount += $price * $quantity;
+
+ $units_per_pallet = $product['units_per_pallet'];
+ if (isset($units_per_pallet) && $units_per_pallet > 0) {
+ if ($quantity >= $units_per_pallet) {
+ $is_supplier_delivery = true;
+ }
+ }
+ }
+ }
+
+ $delivery_source = $is_supplier_delivery ? 'supplier' : 'cs';
+
+ if ($_POST['payment_method'] === 'credit') {
+ $stmt = $pdo->prepare('SELECT credit_balance, credit_enabled FROM clients WHERE id = ? FOR UPDATE');
+ $stmt->execute([$client_id]);
+ $credit_info = $stmt->fetch();
+
+ if (!$credit_info || !$credit_info['credit_enabled'] || $credit_info['credit_balance'] < $total_amount) {
+ throw new Exception('Invalid payment method or insufficient credit.');
+ }
+
+ $new_balance = $credit_info['credit_balance'] - $total_amount;
+ $stmt = $pdo->prepare('UPDATE clients SET credit_balance = ? WHERE id = ?');
+ $stmt->execute([$new_balance, $client_id]);
+ }
+
+ // 3. Create the order
+ $stmt = $pdo->prepare(
+ 'INSERT INTO orders (client_id, total_amount, payment_method, delivery_source, notes, status) VALUES (?, ?, ?, ?, ?, ?)'
+ );
+ $stmt->execute([
+ $client_id,
+ $total_amount,
+ $_POST['payment_method'],
+ $delivery_source,
+ $_POST['notes'],
+ $_POST['payment_method'] === 'credit' ? 'in_progress' : 'pending_payment'
+ ]);
+ $order_id = $pdo->lastInsertId();
+
+ // 4. Insert order items
+ $stmt = $pdo->prepare(
+ 'INSERT INTO order_items (order_id, product_id, quantity, unit_price, line_total) VALUES (?, ?, ?, ?, ?)'
+ );
+ foreach ($cart as $product_id => $quantity) {
+ if (isset($products_by_id[$product_id])) {
+ $product = $products_by_id[$product_id];
+ $price = $product_prices[$product_id] ?? $product['price'];
+ $stmt->execute([
+ $order_id,
+ $product_id,
+ $quantity,
+ $price,
+ $price * $quantity
+ ]);
+ }
+ }
+
+ // 5. Commit the transaction
+ $pdo->commit();
+
+ // 6. Clear the cart and store order ID in session for the confirmation page
+ unset($_SESSION['cart']);
+ $_SESSION['latest_order_id'] = $order_id;
+
+ // 7. Redirect to confirmation page
+ header('Location: order_confirmation.php');
+ exit;
+
+} catch (PDOException $e) {
+ $pdo->rollBack();
+ // In a real application, log this error
+ die("Błąd podczas przetwarzania zamówienia: " . $e->getMessage());
+}
diff --git a/orders.php b/orders.php
new file mode 100644
index 0000000..5a3e5e7
--- /dev/null
+++ b/orders.php
@@ -0,0 +1,159 @@
+ 'Oczekujące',
+ 'status_pending_payment' => 'Oczekuje na płatność',
+ 'status_paid' => 'Zapłacone',
+ 'status_in_progress' => 'W realizacji',
+ 'status_shipped' => 'Wysłane',
+ 'status_partially_shipped' => 'Częściowo wysłane',
+ 'status_completed' => 'Zrealizowane',
+ 'status_cancelled' => 'Anulowane',
+ 'payment_bank_transfer' => 'Przelew tradycyjny',
+ 'payment_online' => 'Płatność online (Przelewy24)',
+ 'payment_credit' => 'Kredyt kupiecki',
+ ];
+
+ $payment_methods = ['bank_transfer', 'online', 'credit'];
+ if (in_array($key, $payment_methods)) {
+ $translation_key = 'payment_' . $key;
+ } else {
+ $translation_key = 'status_' . $key;
+ }
+
+ return $translations[$translation_key] ?? ucfirst(str_replace('_', ' ', $key));
+}
+
+
+$orders = [];
+$error_message = '';
+
+if (!isset($_SESSION['client_id'])) {
+ $error_message = 'Nie znaleziono identyfikatora klienta. Zaloguj się ponownie.';
+} else {
+ $client_id = $_SESSION['client_id'];
+ try {
+ $pdo = db();
+ $stmt = $pdo->prepare('SELECT * FROM orders WHERE client_id = ? ORDER BY created_at DESC');
+ $stmt->execute([$client_id]);
+ $orders = $stmt->fetchAll(PDO::FETCH_ASSOC);
+ } catch (PDOException $e) {
+ error_log("Database error in orders.php: " . $e->getMessage());
+ $error_message = 'Wystąpił błąd podczas pobierania zamówień. Prosimy spróbować ponownie później.';
+ }
+}
+
+$page_title = 'Twoje zamówienia';
+$user_role = get_user_role();
+$lang = 'pl';
+
+?>
+
+
+
+
+
+
- B2B Commerce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Historia zamówień
+
+
+
+
+
+
+
+ Nie masz jeszcze żadnych zamówień.
+
+
+
+
+
+ Numer zamówienia
+ Data zamówienia
+ Status
+ Suma
+
+
+
+
+
+
+ #
+
+
+ zł
+
+
+ Szczegóły
+
+
+
+
+
+
+
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
diff --git a/product.php b/product.php
new file mode 100644
index 0000000..c118734
--- /dev/null
+++ b/product.php
@@ -0,0 +1,284 @@
+prepare("SELECT p.*,
+ COALESCE(cp.price, p.price_gross) as final_price,
+ p.price_net as final_price_net
+ FROM products p
+ LEFT JOIN users u ON u.id = :user_id
+ LEFT JOIN client_prices cp ON cp.product_id = p.id AND cp.client_id = u.client_id
+ WHERE p.id = :product_id");
+ $stmt->execute(['user_id' => $_SESSION['user_id'], 'product_id' => $product_id]);
+ $product = $stmt->fetch(PDO::FETCH_ASSOC);
+
+ if (!$product) {
+ header('Location: index.php');
+ exit;
+ }
+
+ // If client-specific price is used, re-calculate net price from it
+ if (!empty($product['final_price']) && empty($product['final_price_net'])) {
+ $product['final_price_net'] = round($product['final_price'] / 1.23, 2);
+ }
+
+
+ // Fetch product images
+ $img_stmt = $pdo->prepare("SELECT * FROM product_images WHERE product_id = ? ORDER BY is_primary DESC, id ASC");
+ $img_stmt->execute([$product_id]);
+ $product_images = $img_stmt->fetchAll(PDO::FETCH_ASSOC);
+ $primary_image = $product_images[0] ?? null;
+
+} catch (PDOException $e) {
+ die('Błąd połączenia z bazą danych: ' . $e->getMessage());
+}
+
+$page_title = htmlspecialchars($product['name']);
+
+?>
+
+
+
+
+
+
- ExtraB2B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ← Wróć do listy produktów
+
+
+
+
+
+
+
+
+ 1): ?>
+
+
+
+
+
+
+
= htmlspecialchars($product['name']) ?>
+
+
+
= htmlspecialchars(number_format($product['final_price'], 2, ',', ' ')) ?> PLN / = htmlspecialchars($product['unit']) ?>
+
Cena brutto
+
= htmlspecialchars(number_format($product['final_price_net'], 2, ',', ' ')) ?> PLN netto
+
+
+
+
+
+
+
+
+
+
+ Opis
+
+
+ Dane techniczne
+
+
+ Dokumenty
+
+
+ Produkty powiązane
+
+
+
+
+
= nl2br(htmlspecialchars($product['description'])) ?>
+
+
+ prepare("SELECT ak.name, pa.value FROM product_attributes pa JOIN attribute_keys ak ON pa.attribute_key_id = ak.id WHERE pa.product_id = ? AND pa.value IS NOT NULL AND pa.value != '' ORDER BY ak.name");
+ $attrs_stmt->execute([$product_id]);
+ $product_attributes = $attrs_stmt->fetchAll(PDO::FETCH_ASSOC);
+
+ if ($product_attributes) {
+ echo '
';
+ echo '';
+ foreach ($product_attributes as $attr) {
+ echo '';
+ echo '' . htmlspecialchars($attr['name']) . ' ';
+ echo '' . htmlspecialchars($attr['value']) . ' ';
+ echo ' ';
+ }
+ echo ' ';
+ echo '
';
+ } else {
+ echo '
Brak dodatkowych danych technicznych.
';
+ }
+ ?>
+
+
+ prepare("SELECT * FROM product_documents WHERE product_id = ?");
+ $docs_stmt->execute([$product_id]);
+ $product_documents = $docs_stmt->fetchAll(PDO::FETCH_ASSOC);
+
+ if ($product_documents) {
+ echo '
';
+ } else {
+ echo '
Brak dokumentów do pobrania.
';
+ }
+ ?>
+
+
+
+
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
+
+
diff --git a/profile.php b/profile.php
new file mode 100644
index 0000000..b32175c
--- /dev/null
+++ b/profile.php
@@ -0,0 +1,134 @@
+prepare("SELECT email FROM users WHERE id = ?");
+ $stmt->execute([$user_id]);
+ $user_email = $stmt->fetchColumn();
+
+ // Fetch client name if client_id exists
+ if ($client_id) {
+ $stmt = $pdo->prepare("SELECT name FROM clients WHERE id = ?");
+ $stmt->execute([$client_id]);
+ $client_name = $stmt->fetchColumn();
+ }
+
+} catch (PDOException $e) {
+ error_log("Profile page error: " . $e->getMessage());
+ $error_message = 'Wystąpił błąd podczas ładowania danych profilu. Prosimy spróbować ponownie później.';
+}
+
+$lang = 'pl';
+?>
+
+
+
+
+
+
- B2B Commerce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Witaj,
+
+
+ Adres e-mail:
+
+
+
+ Klient:
+
+
+
+
+
+
+
+
+
Zarządzanie hasłem
+
Funkcja w przygotowaniu.
+
+
+
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
\ No newline at end of file
diff --git a/related_suggestions.php b/related_suggestions.php
new file mode 100644
index 0000000..a295242
--- /dev/null
+++ b/related_suggestions.php
@@ -0,0 +1,239 @@
+prepare("
+ SELECT
+ p.id,
+ p.name,
+ p.unit,
+ p.price_net,
+ COALESCE(cp.price, p.price_gross) as final_price,
+ pi.file_path AS primary_image
+ FROM products p
+ LEFT JOIN users u ON u.id = :user_id
+ LEFT JOIN client_prices cp ON cp.product_id = p.id AND cp.client_id = u.client_id
+ LEFT JOIN product_images pi ON pi.product_id = p.id AND pi.is_primary = 1
+ WHERE p.id = :product_id
+");
+$stmt->execute(['user_id' => $user_id, 'product_id' => $product_id]);
+$added_product = $stmt->fetch(PDO::FETCH_ASSOC);
+
+// If product somehow doesn't exist, redirect away
+if (!$added_product) {
+ header('Location: cart.php');
+ exit;
+}
+
+// If image is not found, use a placeholder
+if (empty($added_product['primary_image'])) {
+ $added_product['primary_image'] = 'assets/pasted-20251212-131440-62c0087c.jpg'; // A default placeholder
+}
+
+
+// Fetch related products (accessories)
+$related_products_stmt = $db->prepare("
+ SELECT
+ p.id,
+ p.name,
+ p.unit,
+ p.price_net,
+ COALESCE(cp.price, p.price_gross) as final_price,
+ pi.file_path as primary_image
+ FROM products p
+ JOIN product_relations pr ON p.id = pr.related_product_id
+ LEFT JOIN users u ON u.id = :user_id
+ LEFT JOIN client_prices cp ON cp.product_id = p.id AND cp.client_id = u.client_id
+ LEFT JOIN product_images pi ON p.id = pi.product_id AND pi.is_primary = 1
+ WHERE pr.product_id = :product_id AND p.product_role = 'akcesoria'
+");
+$related_products_stmt->execute(['user_id' => $user_id, 'product_id' => $product_id]);
+$related_products = $related_products_stmt->fetchAll(PDO::FETCH_ASSOC);
+
+$user_role = get_user_role();
+$page_title = 'Dodano do koszyka';
+?>
+
+
+
+
+
+
= htmlspecialchars($page_title) ?> - B2B Commerce
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Produkt został pomyślnie dodany do koszyka!
+
+
+
+
+
+
+
+
+
+
+
+
= htmlspecialchars($added_product['name']); ?>
+ 0): ?>
+ Ilość: = $added_qty; ?>
+
+
+
+
+
+
= number_format($added_product['final_price'], 2, ',', ' '); ?> zł brutto
+
= number_format($added_product['price_net'], 2, ',', ' '); ?> zł netto
+
+
+
+
+
+
+
+
+
+ Polecamy także produkty powiązane:
+
+
+
+
+
+
+
+
+
+
+
+
+
= number_format($product['final_price'], 2, ',', ' '); ?> zł brutto
+
= number_format($product['price_net'], 2, ',', ' '); ?> zł netto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
© powered by LEA24. All Rights Reserved.
+
+
+
+
+
+
+
diff --git a/supplier/order_items.php b/supplier/order_items.php
new file mode 100644
index 0000000..d027c91
--- /dev/null
+++ b/supplier/order_items.php
@@ -0,0 +1,113 @@
+prepare('SELECT order_id FROM order_items WHERE id = ?');
+ $stmt_get_order->execute([$order_item_id]);
+ $order_id = $stmt_get_order->fetchColumn();
+
+ if ($order_id) {
+ $stmt = db()->prepare(
+ 'UPDATE order_items oi
+ JOIN products p ON oi.product_id = p.id
+ SET oi.item_status = ?
+ WHERE oi.id = ? AND p.supplier_id = ?'
+ );
+ $stmt->execute([$item_status, $order_item_id, $supplier_id]);
+
+ update_order_status($order_id);
+ }
+
+ header('Location: /supplier/order_items.php');
+ exit;
+}
+
+$stmt = db()->prepare(
+ 'SELECT
+ oi.id AS order_item_id,
+ o.id AS order_id,
+ p.name AS product_name,
+ oi.quantity,
+ oi.item_status,
+ oi.updated_at
+ FROM order_items oi
+ JOIN orders o ON oi.order_id = o.id
+ JOIN products p ON oi.product_id = p.id
+ WHERE p.supplier_id = ?
+ ORDER BY o.created_at DESC'
+);
+$stmt->execute([$supplier_id]);
+$order_items = $stmt->fetchAll();
+
+$item_statuses = ['pending', 'in_progress', 'shipped'];
+
+$pageTitle = t('my_order_items');
+include '../includes/header.php';
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uploads/documents/1/unnamed_file.pdf b/uploads/documents/1/unnamed_file.pdf
new file mode 100644
index 0000000..3d0ff74
Binary files /dev/null and b/uploads/documents/1/unnamed_file.pdf differ
diff --git a/uploads/documents/2/unnamed_file.pdf b/uploads/documents/2/unnamed_file.pdf
new file mode 100644
index 0000000..bae4e89
Binary files /dev/null and b/uploads/documents/2/unnamed_file.pdf differ
diff --git a/uploads/documents/7/unnamed_file.pdf b/uploads/documents/7/unnamed_file.pdf
new file mode 100644
index 0000000..8787075
Binary files /dev/null and b/uploads/documents/7/unnamed_file.pdf differ
diff --git a/uploads/products/1/prod_1_693bb4b8cafc84.71050013.jpg b/uploads/products/1/prod_1_693bb4b8cafc84.71050013.jpg
new file mode 100644
index 0000000..5662947
Binary files /dev/null and b/uploads/products/1/prod_1_693bb4b8cafc84.71050013.jpg differ
diff --git a/uploads/products/1/prod_1_693bb5570d0001.42808802.jpg b/uploads/products/1/prod_1_693bb5570d0001.42808802.jpg
new file mode 100644
index 0000000..5662947
Binary files /dev/null and b/uploads/products/1/prod_1_693bb5570d0001.42808802.jpg differ
diff --git a/uploads/products/1/prod_1_693bbe3b50f255.26236493.jpg b/uploads/products/1/prod_1_693bbe3b50f255.26236493.jpg
new file mode 100644
index 0000000..bc824e9
Binary files /dev/null and b/uploads/products/1/prod_1_693bbe3b50f255.26236493.jpg differ
diff --git a/uploads/products/2/prod_2_693bbe4f269239.01053848.jpg b/uploads/products/2/prod_2_693bbe4f269239.01053848.jpg
new file mode 100644
index 0000000..bc824e9
Binary files /dev/null and b/uploads/products/2/prod_2_693bbe4f269239.01053848.jpg differ
diff --git a/uploads/products/3/prod_3_693bbccab68f28.84224252.jpg b/uploads/products/3/prod_3_693bbccab68f28.84224252.jpg
new file mode 100644
index 0000000..aa8b84e
Binary files /dev/null and b/uploads/products/3/prod_3_693bbccab68f28.84224252.jpg differ
diff --git a/uploads/products/4/prod_4_693bbcd7f0cf89.88681384.jpg b/uploads/products/4/prod_4_693bbcd7f0cf89.88681384.jpg
new file mode 100644
index 0000000..5dcc5d2
Binary files /dev/null and b/uploads/products/4/prod_4_693bbcd7f0cf89.88681384.jpg differ
diff --git a/uploads/products/5/prod_5_693bbc6c51ada0.64391905.jpg b/uploads/products/5/prod_5_693bbc6c51ada0.64391905.jpg
new file mode 100644
index 0000000..05e0796
Binary files /dev/null and b/uploads/products/5/prod_5_693bbc6c51ada0.64391905.jpg differ
diff --git a/uploads/products/6/prod_6_693bbcb53d3ad4.54723030.jpg b/uploads/products/6/prod_6_693bbcb53d3ad4.54723030.jpg
new file mode 100644
index 0000000..bf96c3f
Binary files /dev/null and b/uploads/products/6/prod_6_693bbcb53d3ad4.54723030.jpg differ
diff --git a/uploads/products/7/prod_7_693bbc95f3ad62.80108781.JPG b/uploads/products/7/prod_7_693bbc95f3ad62.80108781.JPG
new file mode 100644
index 0000000..79d3cb3
Binary files /dev/null and b/uploads/products/7/prod_7_693bbc95f3ad62.80108781.JPG differ
diff --git a/uploads/products/7/prod_7_693bbc95f42182.47320741.png b/uploads/products/7/prod_7_693bbc95f42182.47320741.png
new file mode 100644
index 0000000..9919303
Binary files /dev/null and b/uploads/products/7/prod_7_693bbc95f42182.47320741.png differ
diff --git a/uploads/products/prod_1_693afe1d3edc78.69259636.png b/uploads/products/prod_1_693afe1d3edc78.69259636.png
new file mode 100644
index 0000000..4afb5d0
Binary files /dev/null and b/uploads/products/prod_1_693afe1d3edc78.69259636.png differ
diff --git a/uploads/products/prod_1_693b00fe28f657.18624169.png b/uploads/products/prod_1_693b00fe28f657.18624169.png
new file mode 100644
index 0000000..4afb5d0
Binary files /dev/null and b/uploads/products/prod_1_693b00fe28f657.18624169.png differ
diff --git a/uploads/products/prod_1_693b03ee837bd6.83842630.png b/uploads/products/prod_1_693b03ee837bd6.83842630.png
new file mode 100644
index 0000000..b59bdfb
Binary files /dev/null and b/uploads/products/prod_1_693b03ee837bd6.83842630.png differ
diff --git a/uploads/products/prod_1_693b03ee8562b4.70893384.png b/uploads/products/prod_1_693b03ee8562b4.70893384.png
new file mode 100644
index 0000000..21e57f4
Binary files /dev/null and b/uploads/products/prod_1_693b03ee8562b4.70893384.png differ
diff --git a/uploads/products/prod_1_693b03ee85d3f3.04162035.jpg b/uploads/products/prod_1_693b03ee85d3f3.04162035.jpg
new file mode 100644
index 0000000..d400c78
Binary files /dev/null and b/uploads/products/prod_1_693b03ee85d3f3.04162035.jpg differ