<?php
// technician_create.php
header('Content-Type: text/html; charset=utf-8');
require 'db.php';
require 'auth.php';
require 'system_log_helper.php';

require_login();
$user = current_user();

// sayfa görüntüleme logu
system_log('page_view', 'jobs.php?'.($_SERVER['QUERY_STRING'] ?? ''));

// Sadece yönetici erişsin
require_role([1]);

$error   = '';
$success = '';
$name = $email = $username = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $name     = trim($_POST['name'] ?? '');
    $email    = trim($_POST['email'] ?? '');
    $username = trim($_POST['username'] ?? '');
    $password = trim($_POST['password'] ?? '');

    if ($name === '' || $email === '' || $username === '' || $password === '') {
        $error = "Tüm alanları doldurmanız gerekiyor.";
    } else {
        try {
            // username kolonu eklendiği için buraya da ekliyoruz
            $stmt = $pdo->prepare("
                INSERT INTO users (name, email, username, password, role)
                VALUES (?, ?, ?, ?, 3)
            ");
            $stmt->execute([$name, $email, $username, $password]);
        $newTechId = $pdo->lastInsertId();
        $newTechId = $pdo->lastInsertId();
system_log('user_create_technician', 'Teknisyen eklendi. ID: '.$newTechId.' - '.$name);


            $success  = "Teknisyen başarıyla oluşturuldu.";
            // Formu temizle
            $name = $email = $username = '';
        } catch (PDOException $e) {
            if ($e->getCode() == 23000) { // unique ihlali
                // Hangi alan çakıştı? Mesaja bakarak ayıralımFF
                if (stripos($e->getMessage(), 'username') !== false) {
                    $error = "Bu kullanıcı adı zaten kayıtlı.";
                } elseif (stripos($e->getMessage(), 'email') !== false) {
                    $error = "Bu e-posta adresi zaten kayıtlı.";
                } else {
                    $error = "Bu teknisyen zaten kayıtlı (email veya kullanıcı adı).";
                }
            } else {
                $error = "Bir hata oluştu: " . $e->getMessage();
            }
        }
    }
}
?>
<!DOCTYPE html>
<html lang="tr">
<head>
    <meta charset="UTF-8">
    <title>Teknisyen Ekle</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="style.css">
    <style>
        .card-form {
            max-width: 480px;
            margin: 0 auto;
        }
        .card-form label {
            display: block;
            margin-bottom: 10px;
        }
        .card-form input[type="text"],
        .card-form input[type="email"],
        .card-form input[type="password"] {
            width: 100%;
            box-sizing: border-box;
            padding: 8px 10px;
            border-radius: 4px;
            border: 1px solid #ccc;
        }
        .card-form button {
            width: 100%;
            margin-top: 10px;
        }
        @media (min-width: 768px) {
            .card-form {
                margin-top: 10px;
            }
        }
    </style>
</head>
<body>

<div class="container">
    <div class="card card-form">
        <h1>Teknisyen Ekle</h1>
        <p><a href="jobs.php" class="btn">← İş listesine dön</a></p>

        <?php if ($error): ?>
            <div class="alert alert-danger">
                <?php echo htmlspecialchars($error); ?>
            </div>
        <?php endif; ?>

        <?php if ($success): ?>
            <div class="alert alert-success">
                <?php echo htmlspecialchars($success); ?>
            </div>
        <?php endif; ?>

        <form method="post">
            <label>Ad Soyad:
                <input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>" required>
            </label>

            <label>E-posta:
                <input type="email" name="email" value="<?php echo htmlspecialchars($email); ?>" required>
            </label>

            <label>Kullanıcı Adı:
                <input type="text" name="username" value="<?php echo htmlspecialchars($username); ?>" required>
            </label>

           <label>Şifre:<br>
    <div style="position: relative;">
        <input type="password" name="password" id="passwordInput" required style="padding-right:40px;">
        <span id="togglePassword" 
              style="position:absolute; right:10px; top:50%; transform:translateY(-50%); cursor:pointer; font-size:14px;">
            👁️
        </span>
    </div>
</label>


            <button type="submit" class="btn">Teknisyen Oluştur</button>
        </form>
    </div>
</div>
<script>
document.getElementById('togglePassword').addEventListener('click', function () {
    const passInput = document.getElementById('passwordInput');
    if (passInput.type === "password") {
        passInput.type = "text";
        this.textContent = "🙈"; // Göz kapalı ikon
    } else {
        passInput.type = "password";
        this.textContent = "👁️"; // Göz açık ikon
    }
});
</script>

</body>
</html>
