Added Import for Large CSV

This commit is contained in:
James Richie
2026-05-21 19:16:27 -04:00
parent 3c5401f82b
commit 8a3cb15e55
22 changed files with 1571 additions and 317 deletions
+23 -7
View File
@@ -321,10 +321,12 @@ class Subscriptions extends Base {
$user_serial = filter_input(INPUT_POST, "user_reference", FILTER_SANITIZE_NUMBER_INT) ?: 0;
$user = (new Users())->getUser($user_serial);
$usersubscriptions = $this->getUsersActiveSubscriptions($user_serial);
$subscriptions = $this->getSubscriptions();
$XML = $this->mergeXML($user, "<XML/>");
$XML = $this->mergeXML($subscriptions, $XML);
$XML = $this->mergeXML($usersubscriptions, $XML);
$content = $this->applyXSL($XML, $this->getXSL("addSubscriptionToUser"));
@@ -334,11 +336,18 @@ class Subscriptions extends Base {
case "add":
$subscription_serial = filter_input(INPUT_POST, "subscription_serial", FILTER_SANITIZE_NUMBER_INT) ?: 0;
$user_serial = filter_input(INPUT_POST, "user_serial", FILTER_SANITIZE_NUMBER_INT) ?: 0;
$subscription_stop_date = filter_input(INPUT_POST, "subscription_stop_date") ?: "";
$subscription_serials = filter_input(INPUT_POST, "subscriptions", FILTER_SANITIZE_NUMBER_INT, FILTER_REQUIRE_ARRAY) ?: array();
$subscription_end_dates = filter_input(INPUT_POST, "subscription_end_date", FILTER_DEFAULT, FILTER_REQUIRE_ARRAY) ?: array();
$subscriptions = array();
$subscription_stop_date = date("Y-m-d", strtotime($subscription_stop_date));
foreach ($subscription_serials as $index => $subscription_serial) {
$subscriptions[] = array(
"usersubscription_subscription" => $subscription_serial,
"usersubscription_end_date" => date("Y-m-d", strtotime($subscription_end_dates[$index] ?? ""))
);
}
$SQL = "insert into usersubscriptions
@@ -357,12 +366,19 @@ class Subscriptions extends Base {
$statement = $this->connect()->prepare($SQL);
$statement->bindValue(":usersubscription_user_serial", $user_serial);
$statement->bindValue(":usersubscription_subscription_serial", $subscription_serial);
$statement->bindValue(":usersubscription_stop_date", $subscription_stop_date);
$statement->bindValue(":usersubscription_timestamp", $this->getTimestamp());
$statement->bindValue(":usersubscription_origin", $this->current_user_name);
$statement->execute();
foreach ($subscriptions as $subscription) {
$subscription_serial = $subscription['usersubscription_subscription'];
$subscription_stop_date = $subscription['usersubscription_end_date'];
$statement->bindValue(":usersubscription_subscription_serial", $subscription_serial);
$statement->bindValue(":usersubscription_stop_date", $subscription_stop_date);
$statement->execute();
}
break;
@@ -583,7 +599,7 @@ class Subscriptions extends Base {
$XML = $this->mergeXML($subscriptions, "<XML/>");
$XML = $this->mergeXML($alerts, $XML);
$XML = $this->mergeXML($popovers, $XML);
$content = $this->applyXSL($XML, $this->getXSL("userSubscriptions"));
$this->displayContent($content);