Add some checks on directories
This commit is contained in:
parent
b6792f3b72
commit
861b644b9e
@ -45,6 +45,10 @@ if ($n && $p[0] == SALT_ADMIN)
|
|||||||
{
|
{
|
||||||
case "certificate":
|
case "certificate":
|
||||||
case "certificate/":
|
case "certificate/":
|
||||||
|
case "certificate/newca":
|
||||||
|
case "certificate/newca/":
|
||||||
|
case "certificate/deleteca":
|
||||||
|
case "certificate/deleteca/":
|
||||||
$page = require("admin/certificate.php");
|
$page = require("admin/certificate.php");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -133,7 +137,7 @@ else if ($n && $p[0] == SALT_USER)
|
|||||||
unset($tmp, $id);
|
unset($tmp, $id);
|
||||||
$template->assign("cur_theme", $THEME);
|
$template->assign("cur_theme", $THEME);
|
||||||
|
|
||||||
if ($n == 4 || ($n == 5 && $p[4] == "submission"))
|
if ($n == 4 || ($n >= 5 && $p[4] == "submission"))
|
||||||
$id_exo = $p[3];
|
$id_exo = $p[3];
|
||||||
else if ($n == 3)
|
else if ($n == 3)
|
||||||
{
|
{
|
||||||
|
@ -26,33 +26,37 @@ function new_client($name)
|
|||||||
{
|
{
|
||||||
//TODO handle if already exist
|
//TODO handle if already exist
|
||||||
putenv("OPENSSL_CONF=".ONYX. '../misc/openssl.cnf');
|
putenv("OPENSSL_CONF=".ONYX. '../misc/openssl.cnf');
|
||||||
putenv("TOP_DIR=".ONYX. '../misc/fic_pki');
|
putenv("TOP_DIR=".ONYX. '../misc/pki');
|
||||||
$output = shell_exec(ONYX . "../misc/CA.sh -newclient $name");
|
$output = shell_exec(ONYX . "../misc/CA.sh -newclient $name");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['newca']))
|
if (!empty($p[2]))
|
||||||
{
|
{
|
||||||
|
if ($p[2] == "newca")
|
||||||
|
{
|
||||||
//TODO handle if already exist
|
//TODO handle if already exist
|
||||||
putenv("OPENSSL_CONF=".ONYX. '../misc/openssl.cnf');
|
putenv("OPENSSL_CONF=".ONYX. '../misc/openssl.cnf');
|
||||||
putenv("TOP_DIR=".ONYX. '../misc/fic_pki');
|
putenv("TOP_DIR=".ONYX. '../misc/pki');
|
||||||
$output = shell_exec(ONYX . '../misc/CA.sh -newca');
|
$output = shell_exec(ONYX . '../misc/CA.sh -newca');
|
||||||
|
|
||||||
//TODO handle the path ?
|
//TODO handle the path ?
|
||||||
$ca_file = ONYX . '../misc/fic_pki/cacert.crt';
|
$ca_file = ONYX . '../misc/pki/cacert.crt';
|
||||||
//TODO check permission ?
|
//TODO check permission ?
|
||||||
if (file_exists($ca_file))
|
if (file_exists($ca_file))
|
||||||
{
|
{
|
||||||
$data = openssl_x509_parse(file_get_contents(ONYX . '../misc/fic_pki/cacert.crt'));
|
$data = openssl_x509_parse(file_get_contents(ONYX . '../misc/pki/cacert.crt'));
|
||||||
$template->assign("cert", $data);
|
$template->assign("cert", $data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isset($_GET['deleteca']))
|
elseif ($p[2] == "deleteca")
|
||||||
{
|
{
|
||||||
//TODO handle var path
|
//TODO handle var path
|
||||||
$dir = ONYX . '../misc/fic_pki';
|
$dir = ONYX . '../misc/pki';
|
||||||
|
|
||||||
remove_directory($dir);
|
remove_directory($dir);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "admin/home";
|
//header("Location: /admin/");
|
||||||
|
//exit;
|
@ -2,13 +2,19 @@
|
|||||||
|
|
||||||
if(!defined('ONYX')) exit;
|
if(!defined('ONYX')) exit;
|
||||||
|
|
||||||
|
if (is_writable(ONYX."../misc/") && !is_dir(ONYX."../misc/pki/"))
|
||||||
|
mkdir(ONYX."../misc/pki/");
|
||||||
|
|
||||||
|
$wright = is_writable(ONYX."../misc/pki/");
|
||||||
|
$template->assign("cert_writable", $wright);
|
||||||
|
|
||||||
//TODO handle the path ?
|
//TODO handle the path ?
|
||||||
$ca_file = ONYX . '../misc/fic_pki/cacert.crt';
|
$ca_file = ONYX . '../misc/pki/cacert.crt';
|
||||||
|
|
||||||
//TODO check permission ?
|
//TODO check permission ?
|
||||||
if (file_exists($ca_file))
|
if (file_exists($ca_file))
|
||||||
{
|
{
|
||||||
$data = openssl_x509_parse(file_get_contents(ONYX . '../misc/fic_pki/cacert.crt'));
|
$data = openssl_x509_parse(file_get_contents(ONYX . '../misc/pki/cacert.crt'));
|
||||||
$template->assign("cert", $data);
|
$template->assign("cert", $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,19 +4,38 @@ if(!defined('ONYX')) exit;
|
|||||||
|
|
||||||
$solved = count($EXERCICE->get_solved());
|
$solved = count($EXERCICE->get_solved());
|
||||||
|
|
||||||
if ($n == 5 && $p[4] == "submission")
|
if ($n >= 5 && $p[4] == "submission")
|
||||||
{
|
{
|
||||||
$template->assign("ERRcolor", "success");
|
if ($n >= 6 && $p[5] == "werr")
|
||||||
$template->assign("ERRmessage", "Votre réponse a bien été prise en compte et sera évaluée dans quelques instants...");
|
{
|
||||||
|
$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 (!empty($_POST["solution"]))
|
||||||
{
|
{
|
||||||
$file = ONYX . "../submission/".$p[1]."-".$p[2]."-".$p[3];
|
if (is_writable(ONYX . "../submission/"))
|
||||||
|
{
|
||||||
|
$file = ONYX . "../submission/".$p[1]."-".$p[2]."-".$p[3];
|
||||||
|
|
||||||
file_put_contents($file, $_POST['solution'], LOCK_EX);
|
file_put_contents($file, $_POST['solution'], LOCK_EX);
|
||||||
|
|
||||||
header("Location: /".implode("/", $p));
|
header("Location: /".implode("/", $p));
|
||||||
exit;
|
exit;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
header("Location: /".implode("/", $p)."/werr");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,17 +1,12 @@
|
|||||||
{extends file="admin/layout.tpl"}
|
{extends file="admin/layout.tpl"}
|
||||||
|
|
||||||
{block name=head}
|
|
||||||
<link href="/css/common.css" rel="stylesheet">
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
{block name=content}
|
{block name=content}
|
||||||
|
|
||||||
<div class="panel panel-info">
|
<div class="panel panel-info">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading">
|
||||||
<h3 class="panel-title">Certificat racine FIC 2014</h3>
|
<h3 class="panel-title">Certificat racine</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
{if isset($cert)}
|
{if isset($cert)}
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>[C] :</strong> {$cert['subject']['C']}</li>
|
<li><strong>[C] :</strong> {$cert['subject']['C']}</li>
|
||||||
<li><strong>[ST] :</strong> {$cert['subject']['ST']}</li>
|
<li><strong>[ST] :</strong> {$cert['subject']['ST']}</li>
|
||||||
@ -20,11 +15,13 @@
|
|||||||
<li><strong>[CN] :</strong> {$cert['subject']['CN']}</li>
|
<li><strong>[CN] :</strong> {$cert['subject']['CN']}</li>
|
||||||
<li><strong>[emailAddress] :</strong> {$cert['subject']['emailAddress']}</li>
|
<li><strong>[emailAddress] :</strong> {$cert['subject']['emailAddress']}</li>
|
||||||
</ul>
|
</ul>
|
||||||
<a href="/{$SALT_ADMIN}/certificate?deleteca" class="btn btn-danger">Supprimer</a>
|
<a href="/{$SALT_ADMIN}/certificate/deleteca" class="btn btn-danger">Supprimer</a>
|
||||||
{else}
|
{elseif ! $cert_writable}
|
||||||
<a href="/{$SALT_ADMIN}/certificate?newca" class="btn btn-primary">Nouveau</a>
|
<div class="alert alert-danger"><span class="glyphicon glyphicon-warning-sign"></span> Répertoire non accessible en écriture.</div>
|
||||||
{/if}
|
<a href="/{$SALT_ADMIN}/certificate/newca" class="btn btn-primary" disabled="disabled">Nouveau</a>
|
||||||
|
{else}
|
||||||
|
<a href="/{$SALT_ADMIN}/certificate/newca" class="btn btn-primary">Nouveau</a>
|
||||||
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
{extends file="admin/layout.tpl"}
|
{extends file="admin/layout.tpl"}
|
||||||
{block name=head}
|
|
||||||
<link href="/css/common.css" rel="stylesheet">
|
|
||||||
{/block}
|
|
||||||
{block name=content}
|
{block name=content}
|
||||||
<h1>
|
<h1>
|
||||||
Import d'exercices
|
Import d'exercices
|
||||||
|
@ -1,5 +1,21 @@
|
|||||||
{extends file="layout.tpl"}
|
{extends file="layout.tpl"}
|
||||||
|
|
||||||
|
{block name=head}
|
||||||
|
{literal}
|
||||||
|
<style>
|
||||||
|
body{margin-top:60px;}
|
||||||
|
</style>
|
||||||
|
{/literal}
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block name=end}
|
||||||
|
<script src="/js/countdown.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var end_challenge = new Date({$END * 1000});
|
||||||
|
update_end();
|
||||||
|
</script>
|
||||||
|
{/block}
|
||||||
|
|
||||||
{block name=body}
|
{block name=body}
|
||||||
<nav class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
|
<nav class="navbar navbar-default navbar-inverse navbar-fixed-top" role="navigation">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
@ -28,8 +44,8 @@
|
|||||||
{/foreach}
|
{/foreach}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p class="navbar-right navbar-text">01:23:42</p>
|
<p class="navbar-right navbar-text"><span id="hours"></span>:<span id="min"></span>:<span id="sec"></span></p>
|
||||||
</div><!-- /.navbar-collapse -->
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div class="container" style="margin-top: 50px">
|
<div class="container" style="margin-top: 50px">
|
||||||
|
Loading…
Reference in New Issue
Block a user