<?php
/* Faila mērķis:
Lietotāja pieslēgšanās */
session_start();
include 'db_conn.php'; 

header('Content-Type: application/json'); // atgriež JSON
// Atļauti tikai POST pieprasījumi
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // tiek saņemti un dzēsti ievades dati
    $email = trim($_POST['email']);
    $password = trim($_POST['password']);
// Pārbauda vai lauki ir tukši
    if (empty($email) || empty($password)) {
        echo json_encode(['success' => false, 'error' => 'Aizpildiet visus laukus!']);
        exit();
    }
// Pārbauda, vai parole ir vismaz 10 simbolu gara
    if (strlen($password) < 10) {
        echo json_encode(['success' => false, 'error' => 'Parolei jābūt vismaz 10 simbolus garai!']);
        exit();
    }
// Paroļu drošība, pārbauda, vai parole satur vismaz vienu ciparu un simbolu
if (!preg_match('/[0-9]/', $password) || !preg_match('/[\W]/', $password)) {
    echo json_encode([
        'success' => false,
        'error' => 'Parolei jābūt vismaz vienam ciparam un vienam simbolam!'
    ]);
    exit();
}
// E-pasta formāta pārbaude
if (!preg_match('/^[a-zA-Z0-9]/', $email)) {
    echo json_encode([
        'success' => false,
        'error' => 'E-pasts nedrīkst sākties ar simbolu!'
    ]);
    exit();
}
// Sagatavo SQL vaicājumu, pasargā pret SQL injekcijām
    $stmt = $conn->prepare("SELECT id, name, password FROM users WHERE email = ?");
    // Piesaista parametru
    $stmt->bind_param("s", $email);
    // Izpilda vaicājumu
    $stmt->execute();
    // Iegūst rezultātu
    $result = $stmt->get_result();
    // Pārbauda, vai lietotājs eksistē
    if ($result->num_rows === 1) {
        // Iegūst datus no datubāzes
        $user = $result->fetch_assoc();
// Paroles pārbaude
        if (password_verify($password, $user['password'])) {
            // Izveido sesiju 
            $_SESSION['user_id'] = $user['id'];
            $_SESSION['email'] = $email;
$_SESSION['name'] = $user['name'];
            echo json_encode(['success' => true]);
            exit();
        } else { 
            // nepareizas paroles gadījums
            echo json_encode(['success' => false, 'error' => 'Nepareiza parole!']);
            exit();
        }
    } else {  
        // Lietotājs ar šādu e-pastu nav atrasts
        echo json_encode(['success' => false, 'error' => 'Lietotājs nav atrasts!']);
        exit();
    }
}
// Aizver datubāzes savienojumu
$conn->close();
?>
