Remove includes/class_api_error.php and all of the places we require() it
[bugdar.git] / admin / priority.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar
5 || # Copyright ©2002-2007 Blue Static
6 || #
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 2 of the License.
10 || #
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
14 || # more details.
15 || #
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 \*=====================================================================*/
21
22 require_once('./global.php');
23 require_once('./includes/api_priority.php');
24
25 APIError(array(new API_Error_Handler($admin), 'admin_error'));
26
27 NavLinks::fieldsPages();
28 $navigator->set_focus('tab', 'fields', null);
29
30 if (!can_perform('canadminfields'))
31 {
32 admin_login();
33 }
34
35 // ###################################################################
36
37 if (empty($_REQUEST['do']))
38 {
39 $_REQUEST['do'] = 'modify';
40 }
41
42 // ###################################################################
43
44 if ($_REQUEST['do'] == 'kill')
45 {
46 $priority = new PriorityAPI();
47 $priority->set('priorityid', $input->in['priorityid']);
48 $priority->set_condition();
49 $priority->delete();
50
51 $admin->redirect('priority.php?do=modify');
52 }
53
54 // ###################################################################
55
56 if ($_REQUEST['do'] == 'delete')
57 {
58 $admin->page_confirm(T('Are you sure you want to delete this priority? Doing so will revert all bugs to the default priority (which is set in the options panel)?'), 'priority.php', 'kill', array('priorityid' => $input->inputClean('priorityid', TYPE_UINT)));
59 }
60
61 // ###################################################################
62
63 if ($_POST['do'] == 'insert')
64 {
65 $priority = new PriorityAPI();
66 $priority->set('priority', $input->in['priority']);
67 $priority->set('displayorder', $input->in['displayorder']);
68 $priority->insert();
69
70 $admin->redirect('priority.php?do=modify');
71 }
72
73 // ###################################################################
74
75 if ($_REQUEST['do'] == 'add')
76 {
77 NavLinks::prioritiesAdd();
78 $navigator->set_focus('link', 'priorities-add', 'priorities');
79
80 $admin->page_start(T('Add New Priority'));
81
82 $admin->form_start('priority.php', 'insert');
83 $admin->table_start();
84 $admin->table_head(T('New Priority'));
85 $admin->row_input(T('Priority Title<div><dfn>The title of this priority flag (eg: `Slated for Development` or `Address Now`)</dfn></div>'), 'priority');
86 $admin->row_input(T('Display Order<div><dfn>The order in which the priorities are displayed. The higher the number, the lower down in the list it is.</dfn></div>'), 'displayorder');
87 $admin->row_submit();
88 $admin->table_end();
89 $admin->form_end();
90
91 $admin->page_end();
92 }
93
94 // ###################################################################
95
96 if ($_POST['do'] == 'update')
97 {
98 $priority = new PriorityAPI();
99 $priority->set('priorityid', $input->in['priorityid']);
100 $priority->set_condition();
101 $priority->set('priority', $input->in['priority']);
102 $priority->set('displayorder', $input->in['displayorder']);
103 $priority->update();
104
105 $admin->redirect('priority.php?do=modify');
106 }
107
108 // ###################################################################
109
110 if ($_REQUEST['do'] == 'edit')
111 {
112 NavLinks::prioritiesEdit($input->in['priorityid']);
113 $navigator->set_focus('link', 'fields-pages-priorities', 'fields-pages');
114
115 $priority = new PriorityAPI();
116 $priority->set('priorityid', $input->in['priorityid']);
117 $priority->set_condition();
118 $priority->fetch();
119
120 $admin->page_start(T('Edit Priority'));
121
122 $admin->form_start('priority.php', 'update');
123 $admin->form_hidden_field('priorityid', $priority->record['priorityid']);
124 $admin->table_start();
125 $admin->table_head(sprintf(T('Edit Priority `%1$s` (id: %2$s)'), $priority->record['priority'], $priority->record['priorityid']));
126 $admin->row_input(T('Priority Title<div><dfn>The title of this priority flag (eg: `Slated for Development` or `Address Now`)</dfn></div>'), 'priority', $priority->record['priority']);
127 $admin->row_input(T('Display Order<div><dfn>The order in which the priorities are displayed. The higher the number, the lower down in the list it is.</dfn></div>'), 'displayorder', $priority->record['displayorder']);
128 $admin->row_submit();
129 $admin->table_end();
130 $admin->form_end();
131
132 $admin->page_end();
133 }
134
135 // ###################################################################
136
137 if ($_REQUEST['do'] == 'modify')
138 {
139 NavLinks::prioritiesAdd();
140 $navigator->set_focus('link', 'fields-pages-priorities', 'fields-pages');
141
142 $admin->page_start(T('Priority Manager'));
143
144 $priorities = $db->query("SELECT * FROM " . TABLE_PREFIX . "priority ORDER BY displayorder");
145
146 $admin->form_start('priority.php', 'null');
147 $admin->table_start();
148 $admin->table_head(T('Priority Manager'));
149
150 foreach ($priorities as $priority)
151 {
152 $admin->row_text("$priority[displayorder]: <a href=\"priority.php?do=edit&amp;priorityid=$priority[priorityid]\">$priority[priority]</a>", "(priorityid: $priority[priorityid]) <a href=\"priority.php?do=edit&amp;priorityid=$priority[priorityid]\">[" . T('Edit') . "]</a> <a href=\"priority.php?do=delete&amp;priorityid=$priority[priorityid]\">[" . T('Delete') . "]</a>");
153 }
154 $db->free_result($priorities);
155
156 $admin->table_end();
157 $admin->form_end();
158
159 $admin->page_end();
160 }
161
162 /*=====================================================================*\
163 || ###################################################################
164 || # $HeadURL$
165 || # $Id$
166 || ###################################################################
167 \*=====================================================================*/
168 ?>