From e56d4f72abfa05e8a8b1cc6031c7b625c2f5085d Mon Sep 17 00:00:00 2001 From: Suvodip Date: Fri, 28 Feb 2025 17:08:43 +0530 Subject: [PATCH] first commit --- .hta_config/conf-sample.php | 6 ++ .hta_config/conf.php | 6 ++ .hta_config/var.php | 4 + .hta_slug/_404.php | 1 + .hta_slug/_footer.php | 6 ++ .hta_slug/_header.php | 31 +++++++ .hta_slug/_home.php | 3 + .hta_slug/_nav.php | 25 ++++++ .hta_slug/contact-us.php | 23 +++++ .htaccess | 8 ++ billing2.zip | Bin 0 -> 12848 bytes customers/.hta_slug/_404.php | 0 customers/.hta_slug/_home.php | 1 + customers/.hta_slug/billing-details.php | 106 +++++++++++++++++++++++ customers/.hta_slug/edit.php | 109 ++++++++++++++++++++++++ customers/.hta_slug/emi.php | 100 ++++++++++++++++++++++ customers/.hta_slug/list.php | 49 +++++++++++ customers/.hta_slug/new.php | 51 +++++++++++ customers/.htaccess | 8 ++ customers/index.php | 18 ++++ customers/sample-page.php | 1 + index.php | 16 ++++ sample_route/.hta_slug/_404.php | 0 sample_route/.hta_slug/_home.php | 1 + sample_route/.htaccess | 8 ++ sample_route/index.php | 16 ++++ sample_route/sample-page.php | 1 + 27 files changed, 598 insertions(+) create mode 100644 .hta_config/conf-sample.php create mode 100644 .hta_config/conf.php create mode 100644 .hta_config/var.php create mode 100644 .hta_slug/_404.php create mode 100644 .hta_slug/_footer.php create mode 100644 .hta_slug/_header.php create mode 100644 .hta_slug/_home.php create mode 100644 .hta_slug/_nav.php create mode 100644 .hta_slug/contact-us.php create mode 100644 .htaccess create mode 100644 billing2.zip create mode 100644 customers/.hta_slug/_404.php create mode 100644 customers/.hta_slug/_home.php create mode 100644 customers/.hta_slug/billing-details.php create mode 100644 customers/.hta_slug/edit.php create mode 100644 customers/.hta_slug/emi.php create mode 100644 customers/.hta_slug/list.php create mode 100644 customers/.hta_slug/new.php create mode 100644 customers/.htaccess create mode 100644 customers/index.php create mode 100644 customers/sample-page.php create mode 100644 index.php create mode 100644 sample_route/.hta_slug/_404.php create mode 100644 sample_route/.hta_slug/_home.php create mode 100644 sample_route/.htaccess create mode 100644 sample_route/index.php create mode 100644 sample_route/sample-page.php diff --git a/.hta_config/conf-sample.php b/.hta_config/conf-sample.php new file mode 100644 index 0000000..ea51e7d --- /dev/null +++ b/.hta_config/conf-sample.php @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.hta_slug/_header.php b/.hta_slug/_header.php new file mode 100644 index 0000000..11333bb --- /dev/null +++ b/.hta_slug/_header.php @@ -0,0 +1,31 @@ + + + + + + + + + + '.$web_page_title.''; + if(isset($web_page_meta_description)) echo ''; + if(isset($web_page_meta_keywords)) echo ''; + if(isset($web_page_meta_author)) echo ''; + if(isset($web_page_meta_og_title)) echo ''; + if(isset($web_page_meta_og_description)) echo ''; + if(isset($web_page_meta_og_image)) echo ''; + if(isset($web_page_meta_og_url)) echo ''; + if(isset($web_page_meta_twitter_title)) echo ''; + if(isset($web_page_meta_twitter_description)) echo ''; + if(isset($web_page_meta_twitter_image)) echo ''; + if(isset($web_page_meta_twitter_card)) echo ''; + ?> + + + diff --git a/.hta_slug/_home.php b/.hta_slug/_home.php new file mode 100644 index 0000000..7fa87fb --- /dev/null +++ b/.hta_slug/_home.php @@ -0,0 +1,3 @@ +
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Quibusdam mollitia quidem sint dolores nostrum, similique nulla consequuntur. Animi neque labore praesentium ratione a? Facere, quasi ea reprehenderit eum tempora voluptatum. +
\ No newline at end of file diff --git a/.hta_slug/_nav.php b/.hta_slug/_nav.php new file mode 100644 index 0000000..b002639 --- /dev/null +++ b/.hta_slug/_nav.php @@ -0,0 +1,25 @@ + +
\ No newline at end of file diff --git a/.hta_slug/contact-us.php b/.hta_slug/contact-us.php new file mode 100644 index 0000000..27b18d4 --- /dev/null +++ b/.hta_slug/contact-us.php @@ -0,0 +1,23 @@ +
+
+
+

Contact Us

+

We'd love to hear from you! Fill out the form below.

+
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+
\ No newline at end of file diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..ffcc268 --- /dev/null +++ b/.htaccess @@ -0,0 +1,8 @@ +RewriteEngine On +#RewriteCond %{HTTPS} !=on +#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] +RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] +RewriteRule ^(.*)$ https://%1/$1 [R=301,L] +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*) index.php diff --git a/billing2.zip b/billing2.zip new file mode 100644 index 0000000000000000000000000000000000000000..1b0f4c492267140bb689880e63830901d7644b28 GIT binary patch literal 12848 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 literal 0 HcmV?d00001 diff --git a/customers/.hta_slug/_404.php b/customers/.hta_slug/_404.php new file mode 100644 index 0000000..e69de29 diff --git a/customers/.hta_slug/_home.php b/customers/.hta_slug/_home.php new file mode 100644 index 0000000..c21b770 --- /dev/null +++ b/customers/.hta_slug/_home.php @@ -0,0 +1 @@ +sample route home \ No newline at end of file diff --git a/customers/.hta_slug/billing-details.php b/customers/.hta_slug/billing-details.php new file mode 100644 index 0000000..e9d6e9d --- /dev/null +++ b/customers/.hta_slug/billing-details.php @@ -0,0 +1,106 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +} catch (PDOException $e) { + die("Database connection failed: " . $e->getMessage()); +} + +// Handle Payment Status Update +if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["emiId"]) && isset($_POST["status"])) { + $emiId = $_POST["emiId"]; + $status = $_POST["status"]; + + try { + $stmt = $db->prepare("UPDATE billing SET emi".$emiId."Status = :status WHERE customerId = :customerId"); + $stmt->bindParam(':status', $status, PDO::PARAM_INT); + $stmt->bindParam(':customerId', $_POST["customerId"]); + $stmt->execute(); + echo json_encode(["success" => true, "message" => "Payment status updated"]); + } catch (PDOException $e) { + echo json_encode(["success" => false, "message" => "Error updating payment status"]); + } + exit; +} + +// Fetch Customer Billing Data +if (!isset($_GET['customerId'])) { + die("Invalid request: Customer ID is required."); +} + +$customerId = $_GET['customerId']; +$stmt = $db->prepare("SELECT * FROM billing WHERE customerId = :customerId"); +$stmt->bindParam(':customerId', $customerId); +$stmt->execute(); +$billingData = $stmt->fetch(PDO::FETCH_ASSOC); + +if (!$billingData) { + die("No billing data found for this customer."); +} +?> +
+

Customer Billing Details

+ + + + + + + + + + + + + + + + + + "; + } + ?> + +
#EMI DateAmountStatusAction
{$i}{$emiDate}₹{$emiAmount}" . ($emiStatus == 1 ? "Paid" : "Unpaid") . " + +
+
+ + diff --git a/customers/.hta_slug/edit.php b/customers/.hta_slug/edit.php new file mode 100644 index 0000000..e4e93b6 --- /dev/null +++ b/customers/.hta_slug/edit.php @@ -0,0 +1,109 @@ +
+
+
+
+
+

Edit Customer Details

+
+
+ setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + if ($_SERVER['REQUEST_METHOD'] === 'POST') { + // Update customer details + $stmt = $db->prepare("UPDATE customers SET name = :name, mobile = :mobile, email = :email WHERE customerId = :customerId"); + $stmt->bindParam(':name', $_POST['name']); + $stmt->bindParam(':mobile', $_POST['mobile']); + $stmt->bindParam(':email', $_POST['email']); + + $stmt = $db->prepare("SELECT COUNT(*) FROM address WHERE customerId = :customerId"); + $stmt->bindParam(':customerId', $_POST['customerId']); + $stmt->execute(); + $addressExists = $stmt->fetchColumn(); + if ($addressExists) { + $stmt = $db->prepare("UPDATE address SET city = :city, district = :district, state = :state, pinCode = :pin WHERE customerId = :customerId"); + } else { + $stmt = $db->prepare("INSERT INTO address (customerId, city, district, state, pinCode) VALUES (:customerId, :city, :district, :state, :pin)"); + } + $stmt->bindParam(':city', $_POST['city']); + $stmt->bindParam(':district', $_POST['district']); + $stmt->bindParam(':state', $_POST['state']); + $stmt->bindParam(':pin', $_POST['pinCode']); + $stmt->bindParam(':customerId', $_POST['customerId']); + + if ($stmt->execute()) { + echo '
Customer details updated successfully.
'; + } else { + echo '
Error updating customer.
'; + } + } + + // Fetch customer data + $stmt = $db->prepare("SELECT * FROM customers WHERE customerId = :customerId"); + $stmt->bindParam(':customerId', $_GET['customerId']); + $stmt->execute(); + $customer = $stmt->fetch(PDO::FETCH_ASSOC); + + $stmtAddress = $db->prepare("SELECT * FROM address WHERE customerId = :customerId"); + $stmtAddress->bindParam(':customerId', $_GET['customerId']); + $stmtAddress->execute(); + $customerAddress = $stmtAddress->fetch(PDO::FETCH_ASSOC); + + } catch (PDOException $e) { + echo '
Error: ' . $e->getMessage() . '
'; + } + ?> + + +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ +
Customer not found!
+ +
+
+
+
+
\ No newline at end of file diff --git a/customers/.hta_slug/emi.php b/customers/.hta_slug/emi.php new file mode 100644 index 0000000..6740291 --- /dev/null +++ b/customers/.hta_slug/emi.php @@ -0,0 +1,100 @@ +setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + $customerId = $_POST['customerId']; + $totalAmount = $_POST['totalAmount']; + $tenure = min($_POST['tenure'], 18); // Limit tenure to 18 months + $firstEmiDate = $_POST['firstEmiDate']; + $emiAmount = $totalAmount / $tenure; + + // Prepare the query dynamically + $columns = ['customerId', 'totalAmount', 'tenure', 'emiAmount', 'firstEmiDate']; + $placeholders = [':customerId', ':totalAmount', ':tenure', ':emiAmount', ':firstEmiDate']; + $params = [ + ':customerId' => $customerId, + ':totalAmount' => $totalAmount, + ':tenure' => $tenure, + ':emiAmount' => $emiAmount, + ':firstEmiDate' => $firstEmiDate + ]; + + // Add EMI columns dynamically based on tenure + for ($i = 1; $i <= $tenure; $i++) { + $emiDate = date('Y-m-d', strtotime("+$i months", strtotime($firstEmiDate))); + $columns[] = "emi$i"; + $columns[] = "emi{$i}Date"; + $placeholders[] = ":emi$i"; + $placeholders[] = ":emi{$i}Date"; + $params[":emi$i"] = $emiAmount; + $params[":emi{$i}Date"] = $emiDate; + } + + // Construct SQL statement + $sql = "INSERT INTO billing (" . implode(',', $columns) . ") VALUES (" . implode(',', $placeholders) . ")"; + $stmt = $db->prepare($sql); + + // Execute the query + if ($stmt->execute($params)) { + echo '
New EMI plan for ' . htmlspecialchars($customerId) . ' saved successfully.
'; + } else { + echo '
Error executing statement: ' . $stmt->errorInfo()[2] . '
'; + } + } catch (PDOException $e) { + echo '
Error: ' . $e->getMessage() . '
'; + } +} + +// Fetch customer details +$customer = null; +if (!empty($_GET['customerId'])) { + try { + $db = new PDO("mysql:host=$mariaServer;dbname=$mariaDb", $mariaUser, $mariaPass); + $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + + $stmt = $db->prepare("SELECT * FROM customers WHERE customerId = :customerId"); + $stmt->bindParam(':customerId', $_GET['customerId']); + if ($stmt->execute()) { + $customer = $stmt->fetch(PDO::FETCH_ASSOC); + } + } catch (PDOException $e) { + echo '
Error: ' . $e->getMessage() . '
'; + } +} +?> + +
+

EMI Calculation

+ + +

Name:

+

Mobile:

+ +
Customer not found.
+ + +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+
diff --git a/customers/.hta_slug/list.php b/customers/.hta_slug/list.php new file mode 100644 index 0000000..602a4f5 --- /dev/null +++ b/customers/.hta_slug/list.php @@ -0,0 +1,49 @@ + +
+

Customer List

+
+ + + + + + + + + + + + setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $stmt = $db->prepare("SELECT * FROM customers ORDER BY regDate DESC"); + $stmt->execute(); + $content = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $customerSerial = 1; // Moved outside loop + foreach ($content as $customer) { + ?> + + + + + + + + '; + } + ?> + +
Sl NoNameMobileEmailAction
+ Edit + Bill + Billing Info +
Error: ' . $e->getMessage() . '
+
+
diff --git a/customers/.hta_slug/new.php b/customers/.hta_slug/new.php new file mode 100644 index 0000000..a0f4609 --- /dev/null +++ b/customers/.hta_slug/new.php @@ -0,0 +1,51 @@ +
+
+
+
+
+

Customer Registration

+
+
+ setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + $stmt = $db->prepare("INSERT INTO customers (name, mobile, email) VALUES (:name, :mobile, :email)"); + $stmt->bindParam(':name', $_POST['name']); + $stmt->bindParam(':mobile', $_POST['mobile']); + $stmt->bindParam(':email', $_POST['email']); + + if ($stmt->execute()) { + echo '
New Customer ' . htmlspecialchars($_POST['name']) . ' created successfully.
'; + } else { + echo '
Error executing statement: ' . $stmt->errorInfo()[2] . '
'; + } + } catch (PDOException $e) { + echo '
Error: ' . $e->getMessage() . '
'; + } + } + ?> +
+
+ + +
+
+ + +
+ +
+ + +
+ +
+
+
+
+
+
\ No newline at end of file diff --git a/customers/.htaccess b/customers/.htaccess new file mode 100644 index 0000000..ffcc268 --- /dev/null +++ b/customers/.htaccess @@ -0,0 +1,8 @@ +RewriteEngine On +#RewriteCond %{HTTPS} !=on +#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] +RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] +RewriteRule ^(.*)$ https://%1/$1 [R=301,L] +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^(.*) index.php diff --git a/customers/index.php b/customers/index.php new file mode 100644 index 0000000..b39e111 --- /dev/null +++ b/customers/index.php @@ -0,0 +1,18 @@ +