diff --git a/onyx/include/team/exercice.php b/onyx/include/team/exercice.php
index 299eefa4..200f26da 100644
--- a/onyx/include/team/exercice.php
+++ b/onyx/include/team/exercice.php
@@ -4,39 +4,52 @@ if(!defined('ONYX')) exit;
$solved = count($EXERCICE->get_solved());
-if ($n >= 5 && $p[4] == "submission")
+if (isset($VAR['submission_dir']))
+{
+ $submission_dir = $VAR['submission_dir'];
+
+ if ($n >= 5 && $p[4] == "submission")
+ {
+ if ($n >= 6 && $p[5] == "werr")
+ {
+ $template->assign("ERRcolor", "danger");
+ if (DEBUG)
+ $template->assign("ERRmessage", "DEBUG ERROR: le répertoire submission n'est pas accessible en écriture.");
+ else
+ $template->assign("ERRmessage", "Une erreur s'est produite durant la soumission. Veuillez réessayer dans quelques instants.");
+ }
+ else
+ {
+ $template->assign("ERRcolor", "success");
+ $template->assign("ERRmessage", "Votre réponse a bien été prise en compte et sera évaluée dans quelques instants...");
+ }
+
+ if (!empty($_POST["solution"]))
+ {
+ if (is_writable("$submission_dir/"))
+ {
+ $file = $submission_dir.'/'.$p[1].'-'.$p[2].'-'.$p[3];
+
+ file_put_contents($file, $_POST['solution'], LOCK_EX);
+
+ header("Location: /".implode("/", $p));
+ exit;
+ }
+ else
+ {
+ header("Location: /".implode("/", $p)."/werr");
+ exit;
+ }
+ }
+ }
+}
+else
{
- if ($n >= 6 && $p[5] == "werr")
- {
- $template->assign("ERRcolor", "danger");
if (DEBUG)
- $template->assign("ERRmessage", "DEBUG ERROR: le répertoire submission n'est pas accessible en écriture.");
+ erreur("Merci d'ajouter la variable submission_dir dans root.xml");
else
- $template->assign("ERRmessage", "Une erreur s'est produite durant la soumission. Veuillez réessayer dans quelques instants.");
- }
- else
- {
- $template->assign("ERRcolor", "success");
- $template->assign("ERRmessage", "Votre réponse a bien été prise en compte et sera évaluée dans quelques instants...");
- }
-
- if (!empty($_POST["solution"]))
- {
- if (is_writable(ONYX . "../submission/"))
- {
- $file = ONYX . "../submission/".$p[1]."-".$p[2]."-".$p[3];
-
- file_put_contents($file, $_POST['solution'], LOCK_EX);
-
- header("Location: /".implode("/", $p));
- exit;
- }
- else
- {
- header("Location: /".implode("/", $p)."/werr");
- exit;
- }
- }
+ erreur("Une erreur s'est produite. Veuillez réessayer dans quelques instants.");
+ $template->assign("submission_disabled", true);
}
$template->assign("solved", $solved);
diff --git a/onyx/tpl/bootstrap/teams/exercice.tpl b/onyx/tpl/bootstrap/teams/exercice.tpl
index 89d79580..387c43f8 100644
--- a/onyx/tpl/bootstrap/teams/exercice.tpl
+++ b/onyx/tpl/bootstrap/teams/exercice.tpl
@@ -61,7 +61,7 @@
-
+
{/if}