From d287f303f05167fcb1613541a586ae73e53828d4 Mon Sep 17 00:00:00 2001 From: ellite Date: Sat, 13 Jan 2024 15:41:51 +0100 Subject: [PATCH] Add sort by payment type --- endpoints/subscriptions/get.php | 3 ++- includes/list_subscriptions.php | 9 +++++++++ index.php | 4 +++- styles/styles.css | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/endpoints/subscriptions/get.php b/endpoints/subscriptions/get.php index d1eb682..ca19ac7 100644 --- a/endpoints/subscriptions/get.php +++ b/endpoints/subscriptions/get.php @@ -17,7 +17,7 @@ $sql = "SELECT * FROM subscriptions ORDER BY next_payment ASC"; if (isset($_COOKIE['sortOrder']) && $_COOKIE['sortOrder'] != "") { $sort = $_COOKIE['sortOrder']; - $allowedSortCriteria = ['name', 'id', 'next_payment', 'price', 'payer_user_id', 'category_id']; + $allowedSortCriteria = ['name', 'id', 'next_payment', 'price', 'payer_user_id', 'category_id', 'payment_method_id']; $order = "ASC"; if ($sort == "price" || $sort == "id") { $order = "DESC"; @@ -50,6 +50,7 @@ $print[$id]['next_payment'] = date('M d, Y', strtotime($subscription['next_payment'])); $print[$id]['payment_method_icon'] = "images/uploads/icons/" . $payment_methods[$paymentMethodId]['icon']; $print[$id]['payment_method_name'] = $payment_methods[$paymentMethodId]['name']; + $print[$id]['payment_method_id'] = $paymentMethodId; $print[$id]['category_id'] = $subscription['category_id']; $print[$id]['payer_user_id'] = $subscription['payer_user_id']; $print[$id]['price'] = floatval($subscription['price']); diff --git a/includes/list_subscriptions.php b/includes/list_subscriptions.php index 4144e74..37b3767 100644 --- a/includes/list_subscriptions.php +++ b/includes/list_subscriptions.php @@ -63,6 +63,7 @@ $currentCategory = 0; $currentPayerUserId = 0; + $currentPaymentMethodId = 0; foreach ($subscriptions as $subscription) { if ($sort == "category_id" && $subscription['category_id'] != $currentCategory) { ?> @@ -80,6 +81,14 @@ +
+ +
+
diff --git a/index.php b/index.php index e08fa73..dc97b31 100644 --- a/index.php +++ b/index.php @@ -8,7 +8,7 @@ $sql = "SELECT * FROM subscriptions ORDER BY next_payment ASC"; if (isset($_COOKIE['sortOrder']) && $_COOKIE['sortOrder'] != "") { $sort = $_COOKIE['sortOrder']; - $allowedSortCriteria = ['name', 'id', 'next_payment', 'price', 'payer_user_id', 'category_id']; + $allowedSortCriteria = ['name', 'id', 'next_payment', 'price', 'payer_user_id', 'category_id', 'payment_method_id']; $order = "ASC"; if ($sort == "price" || $sort == "id") { $order = "DESC"; @@ -57,6 +57,7 @@
  • onClick="setSortOption('next_payment')" id="sort-next_payment">Next payment
  • onClick="setSortOption('payer_user_id')" id="sort-payer_user_id">Member
  • onClick="setSortOption('category_id')" id="sort-category_id">Category
  • +
  • onClick="setSortOption('payment_method_id')" id="sort-payment_method_id">Payment Method
  • @@ -77,6 +78,7 @@ $print[$id]['next_payment'] = date('M d, Y', strtotime($subscription['next_payment'])); $print[$id]['payment_method_icon'] = "images/uploads/icons/" . $payment_methods[$paymentMethodId]['icon']; $print[$id]['payment_method_name'] = $payment_methods[$paymentMethodId]['name']; + $print[$id]['payment_method_id'] = $paymentMethodId; $print[$id]['category_id'] = $subscription['category_id']; $print[$id]['payer_user_id'] = $subscription['payer_user_id']; $print[$id]['price'] = floatval($subscription['price']); diff --git a/styles/styles.css b/styles/styles.css index 03185a3..b07d126 100644 --- a/styles/styles.css +++ b/styles/styles.css @@ -918,6 +918,7 @@ input[type="checkbox"] { right: 0px; display: none; width: 144px; + width: max-content; } @media (max-width: 380px) {