Administration: can edit exercices
This commit is contained in:
parent
868e3403ee
commit
aeb4b5dd52
9 changed files with 138 additions and 31 deletions
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
if(!defined('ONYX')) exit;
|
||||
|
||||
$template->assign("fortyp", array("raw" => "RAW", "sha1" => "SHA-1", "md5" => "MD5", "sha224" => "SHA-224", "sha256" => "SHA-256", "sha384" => "SHA-384", "sha512" => "SHA-512"));
|
||||
|
||||
$p = $out[0];
|
||||
|
||||
//TODO maybe move the try catch to index.html ?
|
||||
|
|
@ -18,7 +20,28 @@ try
|
|||
}
|
||||
|
||||
if (isset($p[3]))
|
||||
$template->assign("ex", new Exercice($p[3], $theme));
|
||||
{
|
||||
$exercice = new Exercice($p[3], $theme);
|
||||
|
||||
if (!empty($_POST))
|
||||
{
|
||||
$exercice->points = intval($_POST["points"]);
|
||||
$exercice->statement = $_POST["desc"];
|
||||
$exercice->require = $_POST["require"];
|
||||
$exercice->level = intval($_POST["level"]);
|
||||
|
||||
$exercice->keys = array();
|
||||
foreach ($_POST as $k => $key)
|
||||
{
|
||||
if (preg_match("/k([0-9]+)_value/", $k, $out) && !empty($key) && !empty($_POST["k".$out[1]."_type"]))
|
||||
$exercice->add_key($_POST["k".$out[1]."_type"], $key);
|
||||
}
|
||||
|
||||
//$exercice->update();
|
||||
}
|
||||
|
||||
$template->assign("ex", $exercice);
|
||||
}
|
||||
}
|
||||
catch (ThemeNotFoundException $e)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -102,6 +102,11 @@ class Exercice
|
|||
return "Exercice ".$this->number;
|
||||
}
|
||||
|
||||
function get_statement()
|
||||
{
|
||||
return $this->statement;
|
||||
}
|
||||
|
||||
// retourne le nombre d'equipes qui ont résolues l'exercice
|
||||
// trié par date
|
||||
function get_solved()
|
||||
|
|
@ -177,7 +182,7 @@ class Exercice
|
|||
$db->deconnexion();
|
||||
}
|
||||
|
||||
function update($create)
|
||||
function update($create=false)
|
||||
{
|
||||
$id = $this->id;
|
||||
$theme = intval($this->theme->get_id());
|
||||
|
|
@ -202,7 +207,7 @@ class Exercice
|
|||
else
|
||||
{
|
||||
$db->query("UPDATE exercices
|
||||
SET `theme` = '".$theme."', `require` = '".$require."', `level` = '".$level."', `point` = '".$point."', `statement` = '".$statement."'
|
||||
SET `id_theme` = '".$theme."', `require` = '".$require."', `level` = '".$level."', `points` = '".$points."', `statement` = '".$statement."'
|
||||
WHERE id = '$id'");
|
||||
|
||||
$aff = $db->affected();
|
||||
|
|
@ -276,9 +281,16 @@ class Exercice
|
|||
|
||||
function add_key($format, $value)
|
||||
{
|
||||
$this->keys[] = array(
|
||||
"format" => $format,
|
||||
"value" => $value
|
||||
if ($format == "raw")
|
||||
{
|
||||
$this->add_key("sha1", hash("sha1", $value));
|
||||
$this->add_key("sha512", hash("sha512", $value));
|
||||
$this->add_key("md5", hash("md5", $value));
|
||||
}
|
||||
else
|
||||
$this->keys[] = array(
|
||||
"format" => $format,
|
||||
"value" => $value
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Reference in a new issue