--- /dev/null
+<?php
+require('auto.prepend.inc.php');
+require('tracker.inc.php');
+
+new_skinned_page('trackers/post.tpl', AUTH_MDP);
+
+$tracker = new Tracker($_GET['tr_id']);
+
+if(empty($tracker->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();
+?>
$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);
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')
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() {
return mysql_insert_id();
}
}
+
?>
--- /dev/null
+{* $Id: post.tpl,v 1.1 2004-02-23 18:43:41 x2000habouzit Exp $ *}
+
+{dynamic}
+
+<p class="normal">
+ [<a href="index.php">Liste des trackers</a>]
+ [<a href="show.php?tr_id={$smarty.get.tr_id}">Retourner au tracker</a>]
+</p>
+
+<div class="rubrique">
+ Poster dans {$tracker->name}
+</div>
+
+<form method="post" action="{$smarty.server.REQUEST_URI}">
+ <table class="bicol" cellpadding="3">
+ <tr class="impair">
+ <td class="titre">
+ Priorité
+ </td>
+ <td>
+ <select name="prio">
+ <option value="5">{$tracker->pris[5]}</option>
+ <option value="4">{$tracker->pris[4]}</option>
+ <option value="3" selected="selected">{$tracker->pris[3]}</option>
+ <option value="2">{$tracker->pris[2]}</option>
+ <option value="1">{$tracker->pris[1]}</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="titre">
+ Statut
+ </td>
+ <td>
+ <select name="statut">
+ {foreach item=st from=$states}
+ <option value="{$st.st_id}">{$st.texte}</option>
+ {/foreach}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td class="titre"> Sujet </td>
+ <td><input name="sujet" type="text" size="40" value="{$smarty.post.sujet}" /></td>
+ </tr>
+ <tr>
+ <td colspan="2"><textarea name="text" cols="74" rows="20">{$smarty.post.text}</textarea></td>
+ </tr>
+ <tr>
+ <td colspan="2" class="center">
+ <input type="submit" value="Valider" />
+ </td>
+ </tr>
+ </table>
+</form>
+
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}