From 09cda8862f59f25918c64477d829e46acfc676cb Mon Sep 17 00:00:00 2001 From: Connor Thomson Date: Sun, 20 Sep 2026 18:40:35 -0700 Subject: Seperate some of the php files --- signup/signup.php | 38 +++++++------------------------------- 1 file changed, 7 insertions(+), 31 deletions(-) (limited to 'signup/signup.php') diff --git a/signup/signup.php b/signup/signup.php index a0d0dea..a41454a 100755 --- a/signup/signup.php +++ b/signup/signup.php @@ -20,6 +20,8 @@ define('ROOT', rtrim($_SERVER['DOCUMENT_ROOT'], '/') . '/'); require_once ROOT . '/php/session.php'; +require_once ROOT . '/php/database.php'; +require_once ROOT . '/php/mail.php'; if ($_SERVER["REQUEST_METHOD"] == "POST") { $username = $_POST['username']; @@ -34,41 +36,19 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $hashed_password = password_hash($password, PASSWORD_DEFAULT); - $code = rand(1000, 9999); - - $host = '127.0.0.1'; - $db = 'gnufaultdb'; - $db_user = 'gnufaultdb_user'; - $pass = trim(file_get_contents('/etc/gnufault.d/password')); - - $charset = 'utf8mb4'; - $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; - - $options = [ - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, - PDO::ATTR_EMULATE_PREPARES => false, - ]; - - try { - $pdo = new PDO($dsn, $db_user, $pass, $options); - } catch (\PDOException $e) { - throw new \PDOException($e->getMessage(), (int)$e->getCode()); - } + $code = rand(1000, 9999); try { $sql = "INSERT INTO users (username, email, password, verification_code) VALUES (:username, :email, :password, :code)"; - $stmt = $pdo->prepare($sql); - $stmt->execute([ + + $user_id = insert_row($sql, [ 'username' => $username, 'email' => $email, 'password' => $hashed_password, 'code' => $code ]); - $user_id = $pdo->lastInsertId(); - - set_user_id((int)$user_id); + set_user_id($user_id); } catch (\PDOException $e) { if ($e->getCode() == 23000) { echo "Error: Username or email is already taken."; @@ -80,11 +60,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $subject = "GNUfault.org Verification Code"; - $headers = "From: noreply@gnufault.org" . "\r\n" . - "Reply-To: noreply@gnufault.org" . "\r\n" . - "X-Mailer: PHP/" . phpversion(); - - if (mail($email, $subject, $code, $headers)) { + if (send_mail($email, $subject, (string)$code)) { header("Location: verify"); } else { echo "Failed to send"; -- cgit v1.2.3