2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar [#]version[#]
5 || # Copyright ©2002-[#]year[#] Iris Studios, Inc.
7 || # This program is free software; you can redistribute it and/or modify
8 || # it under the terms of the GNU General Public License as published by
9 || # the Free Software Foundation; version [#]gpl[#] of the License.
11 || # This program is distributed in the hope that it will be useful, but
12 || # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 || # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 || # You should have received a copy of the GNU General Public License along
17 || # with this program; if not, write to the Free Software Foundation, Inc.,
18 || # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 || ###################################################################
20 \*=====================================================================*/
22 require_once('./global.php');
23 require_once('./includes/functions_datastore.php');
25 if (!can_perform('canadminfields'))
30 // ###################################################################
32 if (empty($_REQUEST['do']))
34 $_REQUEST['do'] = 'modify';
37 // ###################################################################
39 if ($_REQUEST['do'] == 'kill')
41 $db->query("DELETE FROM " . TABLE_PREFIX
. "status WHERE statusid = " . intval($bugsys->in
['statusid']));
43 $admin->redirect('status.php?do=modify');
46 // ###################################################################
48 if ($_REQUEST['do'] == 'delete')
50 $admin->page_confirm($lang->string('Are you sure you want to delete this status? Doing so will revert all bugs to the default status (which is set in the options panel)?'), 'status.php?do=kill&statusid=' . intval($bugsys->in
['statusid']));
53 // ###################################################################
55 if ($_POST['do'] == 'insert')
57 $db->query("INSERT INTO " . TABLE_PREFIX
. "status (status, displayorder, color) VALUES ('" . $bugsys->in
['status'] . "', " . intval($bugsys->in
['displayorder']) . ", '" . $bugsys->in
['color'] . "')");
59 $admin->redirect('status.php?do=modify');
62 // ###################################################################
64 if ($_REQUEST['do'] == 'add')
66 $admin->page_start($lang->string('Add New Status'));
68 $admin->form_start('status.php', 'insert');
69 $admin->table_start();
70 $admin->table_head($lang->string('New Status'), 2, 'standard_bug_fields');
71 $admin->row_input($lang->string('Status Title<div><dfn>The title of this status flag (eg: `Confirmed` or `Closed (Fixed)`)</dfn></div>'), 'status');
72 $admin->row_input($lang->string('Display Order<div><dfn>The order in which the statuses ar displayed.</dfn></div>'), 'displayorder');
73 $admin->row_input($lang->string('Status Colour<div><dfn>The colour of the status. This will be displayed on bug listings page to make viewing easier. Note: you must enter the # sign if you are using HEX values.</dfn></div>'), 'color');
81 // ###################################################################
83 if ($_POST['do'] == 'update')
85 $db->query("UPDATE " . TABLE_PREFIX
. "status SET status = '" . $bugsys->in
['status'] . "', displayorder = " . intval($bugsys->in
['displayorder']) . ", color = '" . $bugsys->in
['color'] . "' WHERE statusid = " . intval($bugsys->in
['statusid']));
87 $admin->redirect('status.php?do=modify');
90 // ###################################################################
92 if ($_REQUEST['do'] == 'edit')
94 $status = $db->query_first("SELECT * FROM " . TABLE_PREFIX
. "status WHERE statusid = " . intval($bugsys->in
['statusid']));
95 if (!is_array($status))
97 $admin->error($lang->getlex('error_invalid_id'));
100 $admin->page_start($lang->string('Edit Status'));
102 $admin->form_start('status.php', 'update');
103 $admin->form_hidden_field('statusid', $status['statusid']);
104 $admin->table_start();
105 $admin->table_head(sprintf($lang->string('Edit Status - %1$s (id: %2$s)'), $status['status'], $status['statusid']), 2, 'standard_bug_fields');
106 $admin->row_input($lang->string('Status Title<div><dfn>The title of this status flag (eg: `Confirmed` or `Closed (Fixed)`)</dfn></div>'), 'status', $status['status']);
107 $admin->row_input($lang->string('Display Order<div><dfn>The order in which the statuses ar displayed.</dfn></div>'), 'displayorder', $status['displayorder']);
108 $admin->row_input($lang->string('Status Colour<div><dfn>The colour of the status. This will be displayed on bug listings page to make viewing easier. Note: you must enter the # sign if you are using HEX values.</dfn></div>'), 'color', $status['color']);
109 $admin->row_submit();
116 // ###################################################################
118 if ($_REQUEST['do'] == 'modify')
120 $admin->page_start($lang->string('Status Manager'));
122 $statuses = $db->query("SELECT * FROM " . TABLE_PREFIX
. "status");
124 $admin->table_start();
125 $admin->table_head($lang->string('Status Manager'), 2, 'standard_bug_fields');
127 while ($status = $db->fetch_array($statuses))
129 $colourblock = '<span style="float: right"><div style="height: 12px; width: 12px; background-color: ' . $status['color'] . '; border: 1px black solid"></div></span>';
130 $admin->row_text("$colourblock$status[displayorder]: <a href=\"status.php?do=edit&statusid=$status[statusid]\">$status[status]</a>", "(statusid: $status[statusid]) <a href=\"status.php?do=edit&statusid=$status[statusid]\">[" . $lang->string('Edit') . "]</a> <a href=\"status.php?do=delete&statusid=$status[statusid]\">[" . $lang->string('Delete') . "]</a>");
132 $db->free_result($statuses);
134 $admin->row_span('<a href="status.php?do=add">[' . $lang->string('Add New Status') . ']</a>', 'tfoot', 'center', 3);
140 /*=====================================================================*\
141 || ###################################################################
144 || ###################################################################
145 \*=====================================================================*/