Handle submission_dir in root.xml

This commit is contained in:
Li Chen 2013-11-28 17:35:34 +01:00
parent dd766cf774
commit 655842bb3a
2 changed files with 44 additions and 31 deletions

View File

@ -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);

View File

@ -61,7 +61,7 @@
<label for="solution">Soumettre la solution :</label>
<input type="text" class="form-control" id="solution" name="solution">
</div>
<button type="submit" class="btn btn-success">Soumettre</button>
<button type="submit" class="btn btn-success" {if isset($submission_disabled)}disabled="disabled"{/if}>Soumettre</button>
</form>
{/if}
</div>