From: x2000habouzit Date: Mon, 23 Feb 2004 18:43:41 +0000 (+0000) Subject: on peut y poster X-Git-Tag: xorg/old~1836 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=77366adcb10598ae2186c57bc87a30279c1240f6;p=platal.git on peut y poster --- diff --git a/htdocs/trackers/post.php b/htdocs/trackers/post.php new file mode 100644 index 0000000..dd67498 --- /dev/null +++ b/htdocs/trackers/post.php @@ -0,0 +1,21 @@ +id) || !$tracker->post_perms_ok()) + $page->failure(); + +if(empty($_POST['text']) || empty($_POST['sujet'])) { + $page->assign('tracker', $tracker); + $page->mysql_assign('SELECT * FROM trackers.states', 'states'); +} else { + $rq_id = $tracker->post($_POST['sujet'], $_POST['text'], $_POST['prio'], $_POST['statut']); + header("Location: show_rq.php?tr_id={$_GET['tr_id']}&rq_id=$rq_id"); +} + +$page->run(); +?> diff --git a/htdocs/trackers/show.php b/htdocs/trackers/show.php index ecaf0a6..19632c5 100644 --- a/htdocs/trackers/show.php +++ b/htdocs/trackers/show.php @@ -5,7 +5,7 @@ require('tracker.inc.php'); $tracker = new Tracker($_GET['tr_id']); -if(empty($tracker->id) || !$tracker->perms_ok()) +if(empty($tracker->id) || !$tracker->read_perms_ok()) $page->failure(); $page->assign('tracker', $tracker); diff --git a/include/tracker.inc.php b/include/tracker.inc.php index 559c0bc..110ed0a 100644 --- a/include/tracker.inc.php +++ b/include/tracker.inc.php @@ -65,7 +65,17 @@ class Tracker { WHERE r.rq_id=f.rq_id AND r.tr_id='{$this->id}'"); } - function perms_ok() { + function post($sujet, $text, $prio, $status) { + mysql_query("INSERT INTO trackers.requests + SET tr_id='{$this->id}',user_id='{$_SESSION['uid']}', + admin_id='-1',st_id='$status',pri='$prio', + summary='$sujet',texte='$text'"); + $id = mysql_insert_id(); + # TODO : mail + return $id; + } + + function read_perms_ok() { if(has_perms()) return true; if(logged() && $this->perms == 'auth') @@ -74,6 +84,16 @@ class Tracker { return true; return false; } + + function post_perms_ok() { + if(has_perms()) + return true; + if(identified() && $this->perms == 'auth') + return true; + if($this->perms=="public") + return true; + return false; + } } function tracker_clean_bd() { @@ -107,4 +127,5 @@ function tracker_update($name,$desc,$perms,$ml_id,$bits,$pris, $tr_id=0) { return mysql_insert_id(); } } + ?> diff --git a/templates/trackers/post.tpl b/templates/trackers/post.tpl new file mode 100644 index 0000000..6511887 --- /dev/null +++ b/templates/trackers/post.tpl @@ -0,0 +1,59 @@ +{* $Id: post.tpl,v 1.1 2004-02-23 18:43:41 x2000habouzit Exp $ *} + +{dynamic} + +

+ [Liste des trackers] + [Retourner au tracker] +

+ +
+ Poster dans {$tracker->name} +
+ +
+ + + + + + + + + + + + + + + + + + + +
+ Priorité + + +
+ Statut + + +
Sujet
+ +
+
+ +{/dynamic} + +{* vim:set et sw=2 sts=2 sws=2: *}