1 <?php # vim:ts=2:sw=2:et:
2 /* For licensing and copyright terms, see the file named LICENSE */
3 include '../../inc/common.php';
5 MTrackACL::requireAnyRights('Enumerations', 'modify');
7 $ename = mtrack_get_pathinfo();
8 $enums = array('Priority', 'TicketState', 'Severity', 'Resolution', 'Classification');
10 if (!in_array($ename, $enums)) {
11 throw new Exception("Invalid enum type");
14 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
15 $cls = 'MTrack' . $ename;
16 if (isset($_POST["$ename:name:"]) && strlen($_POST["$ename:name:"])) {
18 $obj->name = $_POST["$ename:name:"];
19 $obj->value = $_POST["$ename:value:"];
20 $CS = MTrackChangeset::begin("enum:$obj->tablename:$obj->name",
21 "added $ename $obj->name");
26 foreach ($_POST as $name => $value) {
27 if (preg_match("/^$ename:value:(.+)$/", $name, $M)) {
32 if ($obj->value != $value) {
36 if (isset($_POST["$ename:deleted:$n"]) &&
37 $_POST["$ename:deleted:$n"] == "on") {
42 if ($obj->deleted != $deleted) {
43 $obj->deleted = $deleted;
48 $CS = MTrackChangeset::begin("enum:$obj->tablename:$obj->name",
49 "changed $ename $obj->name");
55 header("Location: ${ABSWEB}admin/");
59 mtrack_head("Administration - $ename");
61 echo "<form method='post'>";
63 $cls = 'MTrack' . $ename;
65 echo "<br><b>$ename values</b><br>\n";
66 $vals = $obj->enumerate(true);
67 echo "<table><tr><th>Name</th><th>Value</th><th>Deleted</th></tr>\n";
68 foreach ($vals as $V) {
69 $n = htmlentities($V['name'], ENT_QUOTES, 'utf-8');
70 $v = htmlentities($V['value'], ENT_QUOTES, 'utf-8');
71 $del = $V['deleted'] ? ' checked="checked" ' : '';
74 "<td><input type='text' name='$ename:value:$n' value='$v'></td>" .
75 "<td><input type='checkbox' name='$ename:deleted:$n' $del></td>" .
79 "<td><input type='text' name='$ename:name:' value=''></td>" .
80 "<td><input type='text' name='$ename:value:' value=''></td>" .
81 "<td>Add a new $ename</td>" .
85 echo "<button>Save Changes</button></form>";