function doFileOperation() { global $quiz; if (!isset($_POST['action'])) { return; } if ($_POST['action'] == "remove") { foreach ($_POST['files'] as $key => $file) { unlink($quiz->getDir() . $file); } } else { if ($_POST['action'] == "move" || $_POST['action'] == "move_to_another_quiz") { if ($_POST['action'] == "move") { $dest_folder = $quiz->getDir() . $_POST['dest_folder']; } else { $dest_folder = Quiz::getQuizById($_POST['dest_quiz'])->getDir() . $_POST['dest_folder']; } foreach ($_POST['files'] as $key => $file) { $elems = explode("/", $file); $filename = $elems[count($elems) - 1]; $new_file = $dest_folder . "/" . $filename; rename($quiz->getDir() . $file, $new_file); } } } }
<?php require_once 'Quiz.class.php'; require_once 'quiz_common.php'; $quiz = Quiz::getQuizById($_GET['quiz-id']); $page_title = 'Accès aux fichiers de résultats'; include 'header.php'; ?> <p>Fichiers de résultats pour le quiz <?php if ($quiz) { echo $quiz->getName(); } else { echo 'inconnu'; } ?> :</p> <ul> <?php $no_file = true; $d = dir($quiz->getCorrectionDir()); while (false !== ($entry = $d->read())) { if (substr_compare($entry, ".csv", strlen($entry) - 4) == 0) { $no_file = false; echo "<li><a href=\"view_file.php?quiz-id=" . $_GET['quiz-id'] . "&attachment=true&filename=correction/", rawurlencode($entry), "\"><i class='icon-download'></i> " . $entry . "</a></li>"; } } if ($no_file) { echo "<li class='alert alert-error'>Aucun fichier CSV de résultat n'a été généré pour l'instant.</li>"; } ?>
public static function startQuizScriptAndViewCreatedProcess($quiz_id, $script) { global $quiz_bin_dir; $q = Quiz::getQuizById($quiz_id); if ($q->hasRunningProcess()) { echo "<html><head><title>Erreur</title></head><body>Erreur: un processus est déjà actif pour ce quiz.<br><br>"; global $quiz; $quiz = $q; doMainMenu(); echo "</body></html>"; return; } $p = Processus::createBackgroundProcess($q, $quiz_bin_dir . $script . " " . $q->getName()); sleep(1); // Pour éviter d'avoir une erreur indiquant que les fichiers de log ne sont pas encore créés. TODO: A remplacer par quelque chose de mieux. echo "<html><head><title>Redirection vers la visualisation de la sortie du processus</title>"; echo "<meta http-equiv=\"REFRESH\" content=\"0; URL=./view_process_progress.php?quiz-id=" . $quiz_id . "\">"; echo "</head><body>Redirection</body></html>"; }