This commit is contained in:
count-null 2025-03-04 19:43:01 -05:00
parent 662394d7c3
commit a2d5494f15
16 changed files with 303 additions and 142 deletions

View file

@ -10,16 +10,14 @@ class account
{
public static function index($defaults): void
{
$user = users::getById($_SESSION['user_id']);
$addresses = addresses::getByUserId($_SESSION['user_id']);
$user_settings = user_settings::getByUserId($_SESSION['user_id']);
$user = users::getById($_SESSION['user_id']);
$addresses = addresses::getByUserId($_SESSION['user_id']);
echo $GLOBALS['twig']->render('lib/pages/index.twig', array_merge($defaults, [
'child_template' => 'account/index.twig',
'page_title' => 'Manage Account - ' . $_ENV['APP_NAME'],
'user' => $user,
'addresses' => $addresses,
'user_settings' => $user_settings,
'breadcrumbs' => [
[
'url' => null,
@ -46,7 +44,6 @@ class account
$bill['state'],
$bill['zip'],
$bill['phone'],
$bill['hash']
);
$_SESSION['success'] = "Billing address saved!";
header('Location: /account/billing');
@ -75,6 +72,8 @@ class account
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
users::updateProfileById($_SESSION['user_id'], $_POST);
$dark_theme = $_POST['dark_theme'] ?? false;
user_settings::update($_SESSION['user_id'], ['dark_theme' => $dark_theme]);
header('Location: /account');
}
}
@ -140,42 +139,6 @@ class account
]));
}
public static function address_edit($defaults)
{
echo $GLOBALS['twig']->render('lib/pages/index.twig', array_merge($defaults, [
'child_template' => 'account/address/edit.twig',
'page_title' => 'Edit Address - ' . $_ENV['APP_NAME'],
'breadcrumbs' => [
[
'url' => '/account',
'title' => 'My Account',
],
[
'url' => null,
'title' => 'Edit Address',
],
],
]));
}
public static function address_confirm($defaults)
{
echo $GLOBALS['twig']->render('lib/pages/index.twig', array_merge($defaults, [
'child_template' => 'account/address/confirm.twig',
'page_title' => 'Confirm Address - ' . $_ENV['APP_NAME'],
'breadcrumbs' => [
[
'url' => '/account',
'title' => 'My Account',
],
[
'url' => null,
'title' => 'Confirm Address',
],
],
]));
}
public static function login($defaults)
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@ -264,7 +227,6 @@ class account
$ship['state'],
$ship['zip'],
$ship['phone'],
$ship['hash']
);
$_SESSION['success'] = "Shipping address saved!";
header('Location: /account/shipping');
@ -289,6 +251,33 @@ class account
],
]));
}
public static function set_default_shipping($defaults)
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$address_id = $_POST['address_id'] ?? null;
if ($address_id) {
users::setDefaultShipping($_SESSION['user_id'], $address_id);
$_SESSION['success'] = "Default shipping address set successfully!";
} else {
$_SESSION['error'] = "Failed to set default shipping address.";
}
header('Location: /account/shipping');
}
}
public static function set_default_billing($defaults)
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$address_id = $_POST['address_id'] ?? null;
if ($address_id) {
users::setDefaultBilling($_SESSION['user_id'], $address_id);
$_SESSION['success'] = "Default billing address set successfully!";
} else {
$_SESSION['error'] = "Failed to set default billing address.";
}
header('Location: /account/billing');
}
}
public static function signup($defaults)
{
@ -333,7 +322,6 @@ class account
$ship['state'],
$ship['zip'],
$ship['phone'],
$ship['hash']
);
$bill_id = $ship_id;
if (! $useShipping) {
@ -347,7 +335,6 @@ class account
$bill['state'],
$bill['zip'],
$bill['phone'],
$bill['hash']
);
}
$opt_in_promotional = $_POST['opt_in_promotional'] ?? false;