File "functions.php"

Full Path: /home/analogde/www/CURL/Dev tableau/burndown/functions.php
File size: 4.19 KB
MIME-type: text/x-php
Charset: utf-8

<?php
// Charger les tâches depuis le fichier JSON
function loadTasks() {
    $filename = 'tasks.json';
    if (file_exists($filename)) {
        return json_decode(file_get_contents($filename), true);
    }
    return [];
}

// Sauvegarder les tâches dans le fichier JSON
function saveTasks($tasks) 
{
    $filename = 'tasks.json';
	
	// Vérifie si le fichier existe, sinon crée-le avec les bonnes permissions
    /*if (!file_exists($filename)) {
        // Créer un fichier vide si le fichier n'existe pas
        file_put_contents($filename, json_encode([], JSON_PRETTY_PRINT));  // Crée un tableau vide
    }
	
    file_put_contents($filename, json_encode($tasks, JSON_PRETTY_PRINT));*/
	
	// Vérifie si le fichier existe, sinon crée-le
    /*if (!file_exists($filename)) 
	{
        // Créer un fichier vide avec des permissions appropriées
        $file = fopen($filename, 'w');
        if ($file === false) 
		{
            die('Erreur lors de la création du fichier.');
        }
        // Écrire un tableau vide au format JSON dans le fichier
        fwrite($file, json_encode([], JSON_PRETTY_PRINT));
        fclose($file);
    }*/


$myfile = fopen("zzzzzzz.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);


    // Sauvegarder les données des tâches dans le fichier
    /*$file = fopen($filename, 'w');
    if ($file === false) 
	{
        die('Erreur lors de l\'ouverture du fichier pour l\'écriture.');
    }
    
    // Convertir les tâches en JSON avec une belle mise en forme
    $json_data = json_encode($tasks); //, JSON_PRETTY_PRINT);
    
    // Écrire les données dans le fichier
    fwrite($file, $json_data);
    fclose($file);*/
	
}

// Gérer l'ajout, l'édition, la suppression et la sauvegarde des tâches
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $action = $_POST['action'] ?? '';

    if ($action == 'add') 
	{
        // Ajouter une tâche
        $tasks = loadTasks();
        $newTask = [
            'taskName' => $_POST['taskName'],
            'estimatedTime' => $_POST['estimatedTime']
        ];
        $tasks[] = $newTask;
        saveTasks($tasks);
        echo json_encode(['index' => count($tasks) - 1]);
    } 
	
	elseif ($action == 'edit') 
	{
        // Modifier une tâche
        $tasks = loadTasks();
        $tasks[$_POST['index']] = [
            'taskName' => $_POST['taskName'],
            'estimatedTime' => $_POST['estimatedTime']
        ];
        saveTasks($tasks);
    } 
	
	elseif ($action == 'delete') 
	{
        // Supprimer une tâche
        $tasks = loadTasks();
        array_splice($tasks, $_POST['index'], 1);
        saveTasks($tasks);
    } 
	
	/*elseif ($action == 'save') 
	{
        // Sauvegarder toutes les tâches
        $tasks = json_decode($_POST['tasks'], true);
        
		echo " ******* " .$tasks:	
		
		saveTasks($tasks);
        echo 'Success';
    } */
	
	 elseif (isset($_POST['action']) && $_POST['action'] === 'save') 
	 {
        // Récupérer les données JSON envoyées
        if (isset($_POST['tasks'])) {
            // Décoder le JSON
            $tasks = json_decode($_POST['tasks'], true);
            
            // Vérifier que la décodification a réussi et que $tasks est un tableau
            if ($tasks !== null && is_array($tasks)) {
                // Chemin du fichier où sauvegarder les tâches
                $filePath = 'tasks.json';

                // Convertir le tableau PHP en JSON
                $jsonData = json_encode($tasks, JSON_PRETTY_PRINT);

                // Sauvegarder le fichier JSON
                if (file_put_contents($filePath, $jsonData)) {
                    echo 'Les tâches ont été sauvegardées avec succès.';
                } else {
                    echo 'Erreur lors de la sauvegarde des tâches.';
                }
            } else {
                echo 'Données invalides. Impossible de décoder le JSON.';
            }
        } else {
            echo 'Aucune donnée de tâche reçue.';
        }
    }
	
	
	elseif ($action == 'load') 
	{
        // Charger les tâches depuis le fichier JSON et les envoyer au client
        $tasks = loadTasks();
        echo json_encode($tasks);
    }
}
?>