<?php
// register.php
// Autors: Kārlis Mālnieks
// pievieno datubazes savienojumu
require_once 'db_connection.php';

// nolasam e-pastu un paroli no POST pieprasijuma
$input_email = $_POST['register-email'];
$input_password = $_POST['register-password'];

// pārbauda, vai lietotājs ar šādu e-pastu jau pastāv
$sql = "SELECT id FROM users WHERE email_id = (SELECT id FROM emails_v WHERE email = :email)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':email', $input_email);
$stmt->execute();
$existing_user_id = $stmt->fetchColumn();

if ($existing_user_id) {
    // ja lietotājs jau ir reģistrējies, atgriež kļūdas ziņu
    echo json_encode(['success' => false, 'message' => 'Lietotājs jau ir reģistrējies!']);
    exit();
}

// pārbauda, vai e-pasts ir verificēts
$sql = "SELECT is_verified FROM emails_v WHERE email = :email";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':email', $input_email);
$stmt->execute();
$email_data = $stmt->fetch(PDO::FETCH_ASSOC);

if ($email_data && $email_data['is_verified'] == 1) {
    // ja e-pasts ir verificēts, hasho paroli
    $hashed_password = password_hash($input_password, PASSWORD_DEFAULT);

    // iegūst e-pasta ID
    $sql = "SELECT id FROM emails_v WHERE email = :email";
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':email', $input_email);
    $stmt->execute();
    $email_id = $stmt->fetchColumn();

    // pievieno jauno lietotāju datubāzē
    $sql = "INSERT INTO users (email_id, password) VALUES (:email_id, :password)";
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':email_id', $email_id);
    $stmt->bindParam(':password', $hashed_password);
    
    // pārbauda, vai pievienošana ir veiksmīga
    if ($stmt->execute()) {
        echo json_encode(['success' => true]);
    } else {
        echo json_encode(['success' => false, 'message' => 'Lietotājs veiksmīgi piereģistrēts!']);
    }
} else {
    // ja e-pasts nav verificēts, atgriež kļūdas ziņu
    echo json_encode(['success' => false, 'message' => 'E-pasts nederīgs!']);
}
?>
