This commit is contained in:
count-null 2025-02-09 12:02:22 -05:00
parent 7428ff8b8f
commit 9b15ac9fd3
87 changed files with 4975 additions and 1 deletions

83
src/models/users.php Normal file
View file

@ -0,0 +1,83 @@
<?php
namespace app\models;
use app\app;
class users
{
public static function init()
{
app::$db->exec("CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
email TEXT UNIQUE,
shipping_address_id INTEGER,
billing_address_id INTEGER,
opt_in_promotional BOOLEAN NOT NULL,
verified BOOLEAN NOT NULL,
dark_theme BOOLEAN NOT NULL,
generated_base58 TEXT UNIQUE,
attached_lightning_address TEXT,
name TEXT,
company_name TEXT,
company_type TEXT,
company_size TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
)");
app::$db->exec('CREATE INDEX IF NOT EXISTS idx_user_email ON users (email)');
}
public static function updateProfileById($user_id, $post)
{
$query = "UPDATE users SET
name = :name,
company_name = :company_name,
company_type = :company_type,
company_size = :company_size
WHERE id = :user_id";
$stmt = app::$db->prepare($query);
$stmt->bindParam(':name', $post['name']);
$stmt->bindParam(':company_name', $post['company_name']);
$stmt->bindParam(':company_type', $post['company_type']);
$stmt->bindParam(':company_size', $post['company_size']);
$stmt->bindParam(':user_id', $user_id);
$stmt->execute();
}
public static function add($email, $ship_id, $bill_id, $opt_in_promotional, $verified, $dark_theme)
{
$query = "INSERT INTO users (
email,
shipping_address_id,
billing_address_id,
opt_in_promotional,
verified,
dark_theme
) VALUES (
:email,
:shipping_address_id,
:billing_address_id,
:opt_in_promotional,
:verified,
:dark_theme
)";
$stmt = app::$db->prepare($query);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':shipping_address_id', $ship_id);
$stmt->bindParam(':billing_address_id', $bill_id);
$stmt->bindParam(':opt_in_promotional', $opt_in_promotional);
$stmt->bindParam(':verified', $verified);
$stmt->bindParam(':dark_theme', $dark_theme);
$stmt->execute();
return app::$db->lastInsertId();
}
public static function verify($email)
{
app::$db->exec("UPDATE users SET verified = 1 WHERE email = '$email'");
}
public static function getByEmail($email)
{
return app::$db->query("SELECT * FROM users WHERE email = '$email'")->fetch(\PDO::FETCH_ASSOC);
}
}