<?php
// Include database connection
include 'config/connexion.php';
include 'includes/simple_log.php';

// Initialize variables for form submission
$errors = [
    'lettre' => ''
];
$success = "";

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // S'assurer que l'encodage multibyte est défini
  if (function_exists('mb_internal_encoding')) {
    mb_internal_encoding('UTF-8');
  }

  $lettreRaw = trim($_POST['lettre']);

  // Si c'est une lettre latine simple, on la met en majuscule. Sinon (arabe, * etc.) on laisse tel quel
  if (preg_match('/^[A-Za-z]$/u', $lettreRaw)) {
    $lettre = strtoupper($lettreRaw);
  } else {
    $lettre = $lettreRaw; // Conserver exactement (ex: lettre arabe)
  }

  // Validation avec mb_strlen pour gérer les caractères multioctets (lettres arabes)
  $length = function_exists('mb_strlen') ? mb_strlen($lettre, 'UTF-8') : strlen($lettre);
  if ($lettre === '') {
    $errors['lettre'] = "La lettre est obligatoire.";
  } elseif ($length !== 1) {
    $errors['lettre'] = "La lettre doit être un seul caractère (Unicode).";
  }

    // Check if lettre already exists
    if (!empty($lettre)) {
  $query = "SELECT id FROM lettres_table WHERE lettre = ?";
        $stmt = $conn->prepare($query);
        $stmt->bind_param("s", $lettre);
        $stmt->execute();
        $result = $stmt->get_result();
        if ($result->num_rows > 0) {
            $errors['general'] = "Cette lettre existe déjà.";
        }
        $stmt->close();
    }

    // Insert the lettre if no validation errors
    if (!array_filter($errors)) {
        $insertQuery = "INSERT INTO lettres_table (lettre) VALUES (?)";
        $insertStmt = $conn->prepare($insertQuery);
        $insertStmt->bind_param("s", $lettre);

        if ($insertStmt->execute()) {
            // Enregistrer l'ajout de la lettre dans le log global
            logMessage("Ajout de la lettre '$lettre' dans lettres_table");
            
            $success = "Lettre ajoutée avec succès.";
            // Clear form fields after success
            $lettre = '';
        } else {
            $errors['general'] = "Erreur lors de l'ajout de la lettre.";
        }

        $insertStmt->close();
    }
}

// Connection is managed globally; do not close it here.
?>
<!DOCTYPE html>
<html lang="en">

<head>
 <?php include('includes/head.php'); ?>
 <style>
    /* Afficher automatiquement en majuscules */
    #lettre {
        text-transform: uppercase;
        text-align: center;
        font-size: 1.2em;
        font-weight: bold;
    }
 </style>
</head>

<body id="page-top">
  <div id="wrapper">
    <!-- Sidebar -->
   <?php include ('includes/sidebar.php'); ?>
    <!-- Sidebar -->
    <div id="content-wrapper" class="d-flex flex-column">
      <div id="content">
        <!-- TopBar -->
       <?php include ('includes/topbar.php'); ?>
        <!-- Topbar -->

        <!-- Container Fluid-->
        <div class="container-fluid" id="container-wrapper">
          <div class="d-sm-flex align-items-center justify-content-between mb-4">
            <h1 class="h3 mb-0 text-gray-800">Ajouter une Lettre d'Immatriculation</h1>
            <ol class="breadcrumb">
              <li class="breadcrumb-item"><a href="./">Accueil</a></li>
              <li class="breadcrumb-item">Lettres</li>
              <li class="breadcrumb-item active" aria-current="page">Ajouter une Lettre</li>
            </ol>
          </div>

          <div class="row">
            <div class="col-lg-6">
              <!-- Form Basic -->
              <div class="card mb-4">
                <div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
                  <h6 class="m-0 font-weight-bold text-primary">Formulaire d'ajout</h6>
                </div>
                <div class="card-body">
                  <?php if ($success): ?>
                      <div class="alert alert-success">
                          <?php echo $success; ?>
                      </div>
                  <?php endif; ?>

                  <?php if (!empty($errors['general'])): ?>
                      <div class="alert alert-danger">
                          <?php echo $errors['general']; ?>
                      </div>
                  <?php endif; ?>

                  <form method="POST" action="add_lettre.php">
                      <div class="form-group">
                          <label for="lettre">Lettre d'immatriculation</label>
                          <input type="text" class="form-control" id="lettre" name="lettre" 
                                 placeholder="Ex: أ, ب, ج, A, B, C, *" maxlength="1" required
                                 value="<?php echo htmlspecialchars($lettre ?? ''); ?>">
                          <?php if (!empty($errors['lettre'])): ?>
                              <small class="text-danger"><?php echo $errors['lettre']; ?></small>
                          <?php endif; ?>
                          <small class="form-text text-muted">
                              Entrez une seule lettre (arabe, latine) ou le caractère spécial "*".
                          </small>
                      </div>
                      <div class="d-flex justify-content-between">
                          <button type="submit" class="btn btn-primary">
                              <i class="fas fa-plus"></i> Ajouter
                          </button>
                          <a href="lettres_table.php" class="btn btn-secondary">
                              <i class="fas fa-list"></i> Voir la liste
                          </a>
                      </div>
                  </form>
                </div>
              </div>
            </div>
            
            <div class="col-lg-6">
              <!-- Instructions -->
              <div class="card mb-4">
                <div class="card-header py-3">
                  <h6 class="m-0 font-weight-bold text-info">Instructions</h6>
                </div>
                <div class="card-body">
                  <div class="alert alert-info">
                    <h6><i class="fas fa-info-circle"></i> Information</h6>
                    <p>Les lettres d'immatriculation sont utilisées dans le format des plaques d'immatriculation.</p>
                    <p><strong>Exemples de lettres acceptées :</strong></p>
                    <ul>
                      <li><strong>Lettres arabes :</strong> أ, ب, ت, ث, ج, ح, خ, د, ذ, ر, ز, س, ش, ص, ض, ط, ظ, ع, غ, ف, ق, ك, ل, م, ن, ه, و, ي</li>
                      <li><strong>Lettres latines :</strong> A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z</li>
                      <li><strong>Caractère spécial :</strong> * (pour les cas particuliers)</li>
                    </ul>
                  </div>
                  
                  <div class="alert alert-warning">
                    <h6><i class="fas fa-exclamation-triangle"></i> Attention</h6>
                    <p>Chaque lettre ne peut être ajoutée qu'une seule fois dans le système.</p>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <!--Row-->
        </div>
        <!---Container Fluid-->
      </div>
      <!-- Footer -->
      <?php include ('includes/footer.php'); ?>
      <!-- Footer -->
    </div>
  </div>

  <!-- Include required scripts -->
  <script src="vendor/jquery/jquery.min.js"></script>
  <script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
  <script src="vendor/jquery-easing/jquery.easing.min.js"></script>
  <script src="js/ruang-admin.min.js"></script>
  
  <!-- Script pour convertir automatiquement en majuscules et limiter à 1 caractère -->
  <script>
    $(document).ready(function() {
        $('#lettre').on('input', function() {
            var value = $(this).val().toUpperCase();
            // Limiter à 1 caractère
            if (value.length > 1) {
                value = value.charAt(0);
            }
            $(this).val(value);
        });
        
        // Focus automatique sur le champ lettre
        $('#lettre').focus();
    });
  </script>
</body>

</html>
