save
This commit is contained in:
parent
9b15ac9fd3
commit
27df1a73b5
28 changed files with 1695 additions and 247 deletions
|
@ -4,6 +4,7 @@ namespace app\controllers;
|
|||
use app\models\addresses;
|
||||
use app\models\users;
|
||||
use app\models\user_addresses;
|
||||
use app\models\magic_links;
|
||||
|
||||
class account
|
||||
{
|
||||
|
@ -12,8 +13,8 @@ class account
|
|||
if (!isset($_SESSION['user_id'])) {
|
||||
header('Location: /account/login');
|
||||
}
|
||||
$email = $_SESSION['user_email'];
|
||||
$user = users::getByEmail($email);
|
||||
$user_id = $_SESSION['user_id'];
|
||||
$user = users::getById($user_id);
|
||||
$default_shipping = null;
|
||||
$default_billing = null;
|
||||
$ship_addrs = [];
|
||||
|
@ -60,8 +61,8 @@ class account
|
|||
$bill_id = addresses::add(
|
||||
$bill['name'],
|
||||
$bill['company'],
|
||||
$bill['street'],
|
||||
$bill['boxapt'],
|
||||
$bill['addressLine1'],
|
||||
$bill['addressLine2'],
|
||||
$bill['city'],
|
||||
$bill['state'],
|
||||
$bill['zip'],
|
||||
|
@ -76,8 +77,8 @@ class account
|
|||
$_SESSION['success'] = "Billing address saved!";
|
||||
header('Location: /account/billing');
|
||||
}
|
||||
$email = $_SESSION['user_email'];
|
||||
$user = users::getByEmail($email);
|
||||
$user_id = $_SESSION['user_id'];
|
||||
$user = users::getById($user_id);
|
||||
$default_billing = null;
|
||||
$bill_addrs = [];
|
||||
$bill_addresses = user_addresses::getBillingByUserId($_SESSION['user_id']);
|
||||
|
@ -115,8 +116,42 @@ class account
|
|||
header('Location: /account');
|
||||
}
|
||||
}
|
||||
|
||||
public static function email()
|
||||
{
|
||||
$user_id = $_SESSION['user_id'] ?? null;
|
||||
if (empty($user_id)){
|
||||
header('Location: /account/login');
|
||||
}
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$email = $_POST['email'] ?? null;
|
||||
if (empty($email)) {
|
||||
$_SESSION['error'] = "Enter your email to get a login link";
|
||||
header('Location: /account');
|
||||
exit;
|
||||
} else {
|
||||
$token = magic_links::add($email, $user_id);
|
||||
users::updateReplaceEmailTokenById($user_id, $token);
|
||||
header('Location: /account');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static function login($defaults)
|
||||
{
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$email = $_POST['email'] ?? false;
|
||||
if (empty($email)) {
|
||||
$_SESSION['error'] = "Enter your email to get a login link";
|
||||
header('Location: /account/login');
|
||||
exit;
|
||||
} else {
|
||||
$token = magic_links::add($email, null);
|
||||
header('Location: /account/login');
|
||||
exit;
|
||||
}
|
||||
}
|
||||
if (isset($_SESSION['user_id'])) {
|
||||
header('Location: /account');
|
||||
}
|
||||
|
@ -131,12 +166,14 @@ class account
|
|||
]
|
||||
]));
|
||||
}
|
||||
|
||||
public static function logout()
|
||||
{
|
||||
session_unset();
|
||||
session_destroy();
|
||||
header('Location: /');
|
||||
}
|
||||
|
||||
public static function orders($defaults)
|
||||
{
|
||||
if (!isset($_SESSION['user_id'])) {
|
||||
|
@ -185,8 +222,8 @@ class account
|
|||
$ship_id = addresses::add(
|
||||
$ship['name'],
|
||||
$ship['company'],
|
||||
$ship['street'],
|
||||
$ship['boxapt'],
|
||||
$ship['addressLine1'],
|
||||
$ship['addressLine2'],
|
||||
$ship['city'],
|
||||
$ship['state'],
|
||||
$ship['zip'],
|
||||
|
@ -201,8 +238,8 @@ class account
|
|||
$_SESSION['success'] = "Shipping address saved!";
|
||||
header('Location: /account/shipping');
|
||||
}
|
||||
$email = $_SESSION['user_email'];
|
||||
$user = users::getByEmail($email);
|
||||
$user_id = $_SESSION['user_id'];
|
||||
$user = users::getById($user_id);
|
||||
$addresses = user_addresses::getShippingByUserId($user['id']);
|
||||
$default_shipping = null;
|
||||
$ship_addrs = [];
|
||||
|
@ -235,27 +272,30 @@ class account
|
|||
{
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$email = $_POST['email'];
|
||||
if (empty($email)) {
|
||||
$_SESSION['error'] = 'Email is required.';
|
||||
}
|
||||
$existingUser = users::getByEmail($email);
|
||||
if ($existingUser) {
|
||||
$_SESSION['error'] = 'Email already exists. Please choose a different email or log in.';
|
||||
$_SESSION['last_post'] = $_POST;
|
||||
header('Location: /account/signup');
|
||||
exit;
|
||||
}
|
||||
if (empty($email)) {
|
||||
$_SESSION['error'] = 'Email is required.';
|
||||
}
|
||||
if (isset($_SESSION['error'])) {
|
||||
$useShipping = $_POST['use_shipping'] ?? false;
|
||||
$ship = addresses::validatePost("shipping");
|
||||
if (!isset($ship['name'])){
|
||||
$_SESSION['error'] = "Shipping address verification failed. Check your entry for errors.";
|
||||
$_SESSION['last_post'] = $_POST;
|
||||
header('Location: /account/signup');
|
||||
}
|
||||
$useShipping = $_POST['use_shipping'] ?? false;
|
||||
if ($useShipping) {
|
||||
$ship = addresses::validatePost("shipping");
|
||||
} else {
|
||||
$ship = addresses::validatePost("shipping");
|
||||
if (!$useShipping) {
|
||||
$bill = addresses::validatePost("billing");
|
||||
}
|
||||
if (empty($email)) {
|
||||
$_SESSION['error'] = 'Email is required.';
|
||||
if (!isset($bill['name'])){
|
||||
$_SESSION['error'] = "Billing address verification failed. Check your entry for errors.";
|
||||
$_SESSION['last_post'] = $_POST;
|
||||
header('Location: /account/signup');
|
||||
}
|
||||
}
|
||||
if (isset($_SESSION['error'])) {
|
||||
$_SESSION['last_post'] = $_POST;
|
||||
|
@ -264,8 +304,8 @@ class account
|
|||
$ship_id = addresses::add(
|
||||
$ship['name'],
|
||||
$ship['company'],
|
||||
$ship['street'],
|
||||
$ship['boxapt'],
|
||||
$ship['addressLine1'],
|
||||
$ship['addressLine2'],
|
||||
$ship['city'],
|
||||
$ship['state'],
|
||||
$ship['zip'],
|
||||
|
@ -278,8 +318,8 @@ class account
|
|||
$bill_id = addresses::add(
|
||||
$bill['name'],
|
||||
$bill['company'],
|
||||
$bill['street'],
|
||||
$bill['boxapt'],
|
||||
$bill['addressLine1'],
|
||||
$bill['addressLine2'],
|
||||
$bill['city'],
|
||||
$bill['state'],
|
||||
$bill['zip'],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue