116 lines
5.2 KiB
PHP
116 lines
5.2 KiB
PHP
<?php
|
|
// Script manuel pour réinitialiser les compteurs
|
|
// Accès direct via navigateur pour les administrateurs
|
|
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Réinitialisation des Compteurs</title>
|
|
<style>
|
|
body { font-family: Arial, sans-serif; max-width: 800px; margin: 50px auto; padding: 20px; }
|
|
.container { background: #f5f5f5; padding: 30px; border-radius: 10px; }
|
|
.warning { background: #fff3cd; border: 1px solid #ffeaa7; padding: 15px; border-radius: 5px; margin: 20px 0; }
|
|
.success { background: #d4edda; border: 1px solid #c3e6cb; padding: 15px; border-radius: 5px; margin: 20px 0; }
|
|
.error { background: #f8d7da; border: 1px solid #f5c6cb; padding: 15px; border-radius: 5px; margin: 20px 0; }
|
|
button { background: #007bff; color: white; padding: 12px 24px; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; }
|
|
button:hover { background: #0056b3; }
|
|
.danger { background: #dc3545; }
|
|
.danger:hover { background: #c82333; }
|
|
pre { background: #f8f9fa; padding: 15px; border-radius: 5px; overflow-x: auto; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<h1>🔄 Réinitialisation des Compteurs de Congés</h1>
|
|
|
|
<div class="warning">
|
|
<h3>⚠️ ATTENTION</h3>
|
|
<p>Cette opération va réinitialiser TOUS les compteurs de congés selon les règles suivantes :</p>
|
|
<ul>
|
|
<li><strong>Congés Payés :</strong> 25 jours (exercice du 01/06 au 31/05)</li>
|
|
<li><strong>RTT :</strong> 10 jours pour 2025 (exercice du 01/01 au 31/12)</li>
|
|
<li><strong>Congés Maladie :</strong> 0 jours (remise à zéro)</li>
|
|
</ul>
|
|
<p><strong>Cette action est irréversible !</strong></p>
|
|
</div>
|
|
|
|
<?php
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['confirm_reset'])) {
|
|
// Appel du script de réinitialisation
|
|
$resetUrl = 'http://localhost/project/public/resetLeaveCounters.php';
|
|
|
|
$context = stream_context_create([
|
|
'http' => [
|
|
'method' => 'POST',
|
|
'header' => 'Content-Type: application/json',
|
|
'content' => json_encode(['manual_reset' => true])
|
|
]
|
|
]);
|
|
|
|
$result = file_get_contents($resetUrl, false, $context);
|
|
$data = json_decode($result, true);
|
|
|
|
if ($data && $data['success']) {
|
|
echo '<div class="success">';
|
|
echo '<h3>✅ Réinitialisation réussie !</h3>';
|
|
echo '<p>Employés mis à jour : ' . $data['details']['employees_updated'] . '</p>';
|
|
echo '<p>Exercice CP : ' . $data['details']['leave_year'] . '</p>';
|
|
echo '<p>Année RTT : ' . $data['details']['rtt_year'] . '</p>';
|
|
echo '<p>Date de réinitialisation : ' . $data['details']['reset_date'] . '</p>';
|
|
|
|
if (!empty($data['log'])) {
|
|
echo '<details><summary>Voir le détail</summary><pre>';
|
|
foreach ($data['log'] as $logLine) {
|
|
echo htmlspecialchars($logLine) . "\n";
|
|
}
|
|
echo '</pre></details>';
|
|
}
|
|
echo '</div>';
|
|
} else {
|
|
echo '<div class="error">';
|
|
echo '<h3>❌ Erreur lors de la réinitialisation</h3>';
|
|
echo '<p>' . ($data['message'] ?? 'Erreur inconnue') . '</p>';
|
|
echo '</div>';
|
|
}
|
|
}
|
|
?>
|
|
|
|
<form method="POST" onsubmit="return confirm('Êtes-vous sûr de vouloir réinitialiser TOUS les compteurs ? Cette action est irréversible.');">
|
|
<p>
|
|
<label>
|
|
<input type="checkbox" name="confirm_reset" value="1" required>
|
|
Je confirme vouloir réinitialiser tous les compteurs de congés
|
|
</label>
|
|
</p>
|
|
<button type="submit" class="danger">🔄 RÉINITIALISER LES COMPTEURS</button>
|
|
</form>
|
|
|
|
<hr style="margin: 40px 0;">
|
|
|
|
<h3>📋 Informations sur les exercices</h3>
|
|
<?php
|
|
$currentDate = new DateTime();
|
|
$currentYear = (int)$currentDate->format('Y');
|
|
$currentMonth = (int)$currentDate->format('m');
|
|
|
|
// Calcul exercice CP
|
|
$leaveYear = ($currentMonth < 6) ? $currentYear - 1 : $currentYear;
|
|
$leaveYearEnd = $leaveYear + 1;
|
|
|
|
echo "<p><strong>Exercice Congés Payés actuel :</strong> du 01/06/$leaveYear au 31/05/$leaveYearEnd</p>";
|
|
echo "<p><strong>Exercice RTT actuel :</strong> du 01/01/$currentYear au 31/12/$currentYear</p>";
|
|
echo "<p><strong>Date actuelle :</strong> " . $currentDate->format('d/m/Y H:i:s') . "</p>";
|
|
?>
|
|
|
|
<h3>🔗 Actions rapides</h3>
|
|
<p>
|
|
<a href="getLeaveCounters.php?user_id=1" target="_blank">
|
|
<button type="button">Voir les compteurs (User ID 1)</button>
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</body>
|
|
</html>
|