-
-
-
-
+
-
-
-
Interests and Hobbies
-
-
-
-
-
+
-
-
-
Primary Vehicle
-
-
-
-
-
-
-
-
-
+
-
Secondary Vehicle
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
@@ -282,3 +313,43 @@ $user = $result->fetch_assoc();
+
+
\ No newline at end of file
diff --git a/src/pages/memberships/membership_details.php b/src/pages/memberships/membership_details.php
index 8a5c39d2..d3abaff9 100644
--- a/src/pages/memberships/membership_details.php
+++ b/src/pages/memberships/membership_details.php
@@ -189,7 +189,7 @@ if (empty($application['id_number'])) {
|
|
-
PENDING RENEWAL |
+
'>= $membership['payment_status'] ?> |
|
diff --git a/src/pages/other/base4.php b/src/pages/other/base4.php
index 7b5f101f..75fc9d39 100644
--- a/src/pages/other/base4.php
+++ b/src/pages/other/base4.php
@@ -141,6 +141,17 @@ include_once($rootPath . '/header.php');
margin: 50px;
padding: 20px;
border-radius: 20px;
+ box-sizing: border-box;
+ }
+
+ @media (max-width: 768px) {
+ #map {
+ margin: 0 !important;
+ padding: 0 !important;
+ width: 100% !important;
+ height: 500px !important;
+ border-radius: 0 !important;
+ }
}
.obstacle-popup h4 {
diff --git a/src/processors/process_application.php b/src/processors/process_application.php
index 8e073398..eb22fab0 100644
--- a/src/processors/process_application.php
+++ b/src/processors/process_application.php
@@ -4,6 +4,7 @@ require_once($rootPath . "/src/config/env.php");
require_once($rootPath . "/src/config/session.php");
require_once($rootPath . "/src/config/connection.php");
require_once($rootPath . "/src/config/functions.php");
+require_once($rootPath . "/src/helpers/notification_helper.php");
$user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : null;
$payment_id = generatePaymentRef('SUBS', null, $user_id);
@@ -89,7 +90,17 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$email = validateEmail($_POST['email'] ?? '');
if ($email === false) {
- die('Invalid email format.');
+ die('Invalid email format.');
+ }
+
+ //MEMBERSHIP TYPE
+ $country_membership = isset($_POST['country_membership']) ? 1 : 0;
+ $membership_type = in_array($_POST['membership_type'] ?? '', ['full', 'single']) ? $_POST['membership_type'] : 'full';
+
+ if ($country_membership) {
+ $membership_type = 'country';
+ }else{
+ $membership_type = $membership_type;
}
// Spouse or Partner details (optional)
@@ -136,8 +147,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
spouse_first_name, spouse_last_name, spouse_id_number, spouse_dob, spouse_occupation, spouse_tel_cell, spouse_email,
child_name1, child_dob1, child_name2, child_dob2, child_name3, child_dob3,
physical_address, postal_address, interests_hobbies, vehicle_make, vehicle_model, vehicle_year, vehicle_registration,
- secondary_vehicle_make, secondary_vehicle_model, secondary_vehicle_year, secondary_vehicle_registration
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
+ secondary_vehicle_make, secondary_vehicle_model, secondary_vehicle_year, secondary_vehicle_registration, membership_type
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
// Check if preparation was successful
if (!$stmt) {
@@ -145,7 +156,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
}
$stmt->bind_param(
- "isssssssssssssssssssssssssssssss",
+ "issssssssssssssssssssssssssssssss",
$user_id,
$first_name,
$last_name,
@@ -177,7 +188,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$secondary_vehicle_make,
$secondary_vehicle_model,
$secondary_vehicle_year,
- $secondary_vehicle_registration
+ $secondary_vehicle_registration,
+ $membership_type
);
if ($stmt->execute()) {
@@ -187,10 +199,22 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$year = (int)$today->format('Y');
$payment_date = $today->format('Y-m-d');
$membership_start_date = $payment_date;
+ if ($membership_type === 'country') {
+ $payment_amount = getPriceByDescription('country_membership');
+ $prorata_amount = calculateProrata(getPriceByDescription('country_prorata'));
+ } elseif ($membership_type === 'single') {
+ $payment_amount = getPriceByDescription('single');
+ $prorata_amount = calculateProrata(getPriceByDescription('single_prorata'));
+ } else {
+ $payment_amount = getPriceByDescription('membership_fees');
+ $prorata_amount = calculateProrata(getPriceByDescription('pro_rata'));
+ }
+
+
if ($month == 12 || $month == 1 || $month == 2) {
// December, January, February: charge full fee, valid till end of next Feb
- $payment_amount = getPriceByDescription('membership_fees');
+ $payment_amount = $payment_amount;
// If Dec, Jan, Feb, set end to next year's Feb
$end_year = ($month == 12) ? $year + 2 : $year + 1;
$membership_end_date = (new DateTime("$end_year-02-01"))
@@ -198,7 +222,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
->format('Y-m-d');
} else {
// Prorata for Mar-Nov
- $payment_amount = calculateProrata(getPriceByDescription('pro_rata'));
+ $payment_amount = $prorata_amount;
// End of next Feb if after Feb, else this Feb
if ($month > 2) {
$end_year = $year + 1;
diff --git a/uploads/signatures/signature_163.png b/uploads/signatures/signature_163.png
index 27bcf4f9f6ebea8ab223f75936aab0f9cb7f7bc0..48a14509cc21e9e1802668572630a010ae853266 100644
GIT binary patch
literal 5117
zcmZu#dpy(o|KDcVa@%Hvm>HAENhFRl%>B+vqKlIv%00P-X>-ZYVM@6~ZbfzER#KGX
zZWT?)Jw(Yhml!3-@BOLY_rLSc9^2mU_w)69Jzwwl>-~DY6KVDqB0FSuz+f;DD@)VE
zFc_Q-zH?9l;ImDlWGoz^qJ-j)cSKbJR-d77__MVoU`iqAKxjneGxhhS-S3VVtN`
zhS~$%Y|;ZWYCeH!Ld<6(O^ijX_^lL-4j4^ZPDklPcF+8q*KgqE$(^ekyy#`<_3&F?
z=Z`npgP)^=mn{%DHUp^?C
v^5w8mw8_q=LapYq)<{PvMF;|ebPA0<9
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