- Update the copyright notices to use the correct year and not a non-ASCII symbol
[bugdar.git] / includes / class_admin_navigation.php
1 <?php
2 /*=====================================================================*\
3 || ###################################################################
4 || # Bugdar
5 || # Copyright (c)2004-2008 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 /**
23 * Navigation Link System
24 *
25 * A static class whose methods are called to generate the common navigation
26 * links for the Admin CP.
27 *
28 * @author Blue Static
29 * @copyright Copyright (c)2004 - 2008, Blue Static
30 * @version $Revision$
31 * @package Bugdar
32 *
33 */
34 class NavLinks
35 {
36 // ###################################################################
37 /**
38 * All the different locations under the "Options" tab
39 *
40 * @access public
41 */
42 function optionsPages()
43 {
44 global $navigator;
45
46 $navigator->add_component('section', 'options-pages', 'options', T('Options'), null);
47 $navigator->add_component('link', 'options-pages-home', 'options-pages', T('Home'), 'index.php');
48 $navigator->add_component('link', 'options-pages-settings', 'options-pages', T('Bugdar Settings'), 'setting.php');
49 $navigator->add_component('link', 'options-pages-languages', 'options-pages', T('Languages'), 'language.php');
50 $navigator->add_component('link', 'options-pages-userhelp', 'options-pages', T('User Help Items'), 'userhelp.php');
51 }
52
53 // ###################################################################
54 /**
55 * Adding a new language
56 *
57 * @access public
58 */
59 function languagesAdd()
60 {
61 global $navigator;
62
63 $navigator->add_component('section', 'options-languages', 'options', T('Languages'), null);
64 $navigator->add_component('link', 'options-languages-add', 'options-languages', T('Add New Language'), 'language.php?do=add');
65 }
66
67 // ###################################################################
68 /**
69 * Edit a language
70 *
71 * @access public
72 *
73 * @param integer Language ID
74 */
75 function languagesEdit($id)
76 {
77 global $navigator;
78
79 NavLinks::languagesAdd();
80 $navigator->add_component('link', 'options-languages-edit', 'options-languages', T('Edit Language'), 'language.php?do=edit&amp;languageid=' . $id);
81 $navigator->add_component('link', 'options-languages-delete', 'options-languages', T('Delete'), 'language.php?do=delete&amp;languageid=' . $id);
82 }
83
84 // ###################################################################
85 /**
86 * Adding a new user help item
87 *
88 * @access public
89 */
90 function userhelpAdd()
91 {
92 global $navigator;
93
94 $navigator->add_component('section', 'options-userhelp', 'options', T('User Help Items'), null);
95 $navigator->add_component('link', 'options-userhelp-add', 'options-userhelp', T('Add New Item'), 'userhelp.php?do=add');
96 }
97
98 // ###################################################################
99 /**
100 * Adding a new product
101 *
102 * @access public
103 */
104 function productsAdd()
105 {
106 global $navigator;
107
108 $navigator->add_component('section', 'products', 'products', T('Products'), null);
109 $navigator->add_component('link', 'products-manage', 'products', T('Manage Products'), 'product.php');
110 $navigator->add_component('link', 'products-add', 'products', T('Add New Product'), 'product.php?do=addproduct');
111 }
112
113 // ###################################################################
114 /**
115 * Editing a product
116 *
117 * @access public
118 *
119 * @param integer Product ID
120 */
121 function productsEdit($id)
122 {
123 global $navigator;
124
125 NavLinks::productsAdd();
126 $navigator->add_component('section', 'products-edit', 'products', T('Edit Product'), null);
127 $navigator->add_component('link', 'products-edit', 'products-edit', T('Edit Product'), 'product.php?do=editproduct&amp;productid=' . $id);
128 $navigator->add_component('link', 'products-edit-version', 'products-edit', T('Add New Version'), 'product.php?do=addversion&amp;productid=' . $id);
129 $navigator->add_component('link', 'products-edit-delete', 'products-edit', T('Delete Product'), 'product.php?do=deleteproduct&amp;productid=' . $id);
130 }
131
132 // ###################################################################
133 /**
134 * Fields tab pages
135 *
136 * @access public
137 */
138 function fieldsPages()
139 {
140 global $navigator;
141
142 $navigator->add_component('section', 'fields-pages', 'fields', T('Fields'), null);
143 $navigator->add_component('link', 'fields-pages-fields', 'fields-pages', T('Custom Fields'), 'field.php');
144 $navigator->add_component('link', 'fields-pages-priorities', 'fields-pages', T('Priorities'), 'priority.php');
145 $navigator->add_component('link', 'fields-pages-resolutions', 'fields-pages', T('Resolutions'), 'resolution.php');
146 $navigator->add_component('link', 'fields-pages-severities', 'fields-pages', T('Severities'), 'severity.php');
147 $navigator->add_component('link', 'fields-pages-statuses', 'fields-pages', T('Statuses'), 'status.php');
148 $navigator->add_component('link', 'fields-pages-automations', 'fields-pages', T('Automations'), 'automation.php');
149 }
150
151 // ###################################################################
152 /**
153 * Adding an new custom field
154 *
155 * @access public
156 */
157 function fieldsAdd()
158 {
159 global $navigator;
160
161 $navigator->add_component('section', 'fields', 'fields', T('Custom Fields'), null);
162 $navigator->add_component('link', 'fields-add', 'fields', T('Add New Custom Field'), 'field.php?do=add');
163 }
164
165 // ###################################################################
166 /**
167 * Edit a custom field
168 *
169 * @access public
170 *
171 * @param integer Field ID
172 */
173 function fieldsEdit($id)
174 {
175 global $navigator;
176
177 NavLinks::fieldsAdd();
178 $navigator->add_component('link', 'fields-delete', 'fields', T('Delete'), 'field.php?do=delete&amp;fieldid=' . $id);
179 }
180
181 // ###################################################################
182 /**
183 * Adding an new priority
184 *
185 * @access public
186 */
187 function prioritiesAdd()
188 {
189 global $navigator;
190
191 $navigator->add_component('section', 'priorities', 'fields', T('Priorities'), null);
192 $navigator->add_component('link', 'priorities-add', 'priorities', T('Add New Priority'), 'priority.php?do=add');
193 }
194
195 // ###################################################################
196 /**
197 * Edit a priority
198 *
199 * @access public
200 *
201 * @param integer Priority ID
202 */
203 function prioritiesEdit($id)
204 {
205 global $navigator;
206
207 NavLinks::prioritiesAdd();
208 $navigator->add_component('link', 'priorities-delete', 'priorities', T('Delete'), 'priority.php?do=delete&amp;priorityid=' . $id);
209 }
210
211 // ###################################################################
212 /**
213 * Adding an new resolution
214 *
215 * @access public
216 */
217 function resolutionsAdd()
218 {
219 global $navigator;
220
221 $navigator->add_component('section', 'resolutions', 'fields', T('Resolutions'), null);
222 $navigator->add_component('link', 'resolutions-add', 'resolutions', T('Add New Resolution'), 'resolution.php?do=add');
223 }
224
225 // ###################################################################
226 /**
227 * Edit a resolution
228 *
229 * @access public
230 *
231 * @param integer Resolution ID
232 */
233 function resolutionsEdit($id)
234 {
235 global $navigator;
236
237 NavLinks::resolutionsAdd();
238 $navigator->add_component('link', 'resolutions-delete', 'resolutions', T('Delete'), 'resolution.php?do=delete&amp;resolutionid=' . $id);
239 }
240
241 // ###################################################################
242 /**
243 * Adding an new severity
244 *
245 * @access public
246 */
247 function severitiesAdd()
248 {
249 global $navigator;
250
251 $navigator->add_component('section', 'severities', 'fields', T('Severities'), null);
252 $navigator->add_component('link', 'severities-add', 'severities', T('Add New Severity'), 'severity.php?do=add');
253 }
254
255 // ###################################################################
256 /**
257 * Edit a severity
258 *
259 * @access public
260 *
261 * @param integer Severity ID
262 */
263 function severitiesEdit($id)
264 {
265 global $navigator;
266
267 NavLinks::severitiesAdd();
268 $navigator->add_component('link', 'severities-delete', 'severities', T('Delete'), 'severity.php?do=delete&amp;severityid=' . $id);
269 }
270
271 // ###################################################################
272 /**
273 * Adding an new status
274 *
275 * @access public
276 */
277 function statusesAdd()
278 {
279 global $navigator;
280
281 $navigator->add_component('section', 'statuses', 'fields', T('Severities'), null);
282 $navigator->add_component('link', 'statuses-add', 'statuses', T('Add New Status'), 'status.php?do=add');
283 }
284
285 // ###################################################################
286 /**
287 * Edit a status
288 *
289 * @access public
290 *
291 * @param integer Status ID
292 */
293 function statusesEdit($id)
294 {
295 global $navigator;
296
297 NavLinks::statusesAdd();
298 $navigator->add_component('link', 'statuses-delete', 'statuses', T('Delete'), 'status.php?do=delete&amp;statusid=' . $id);
299 }
300
301 // ###################################################################
302 /**
303 * Adding an new automation
304 *
305 * @access public
306 */
307 function automationsAdd()
308 {
309 global $navigator;
310
311 $navigator->add_component('section', 'automations', 'fields', T('Automations'), null);
312 $navigator->add_component('link', 'automations-add', 'automations', T('Add New Automation'), 'automation.php?do=add');
313 }
314
315 // ###################################################################
316 /**
317 * Edit an automation
318 *
319 * @access public
320 *
321 * @param integer Action ID
322 */
323 function automationsEdit($id)
324 {
325 global $navigator;
326
327 NavLinks::automationsAdd();
328 $navigator->add_component('link', 'automations-delete', 'automations', T('Delete'), 'automation.php?do=delete&amp;actionid=' . $id);
329 }
330
331 // ###################################################################
332 /**
333 * User tab pages
334 *
335 * @access public
336 */
337 function usersPages()
338 {
339 global $navigator;
340
341 $navigator->add_component('section', 'users-pages', 'users', T('Users &amp; Permissions'), null);
342 $navigator->add_component('link', 'users-pages-users', 'users-pages', T('Users'), 'user.php');
343 $navigator->add_component('link', 'users-pages-usergroups', 'users-pages', T('Usergroups'), 'usergroup.php');
344 $navigator->add_component('link', 'users-pages-permissions', 'users-pages', T('Product-Level Permissions'), 'permission.php');
345 }
346
347 // ###################################################################
348 /**
349 * Add a new user
350 *
351 * @access public
352 */
353 function usersAdd()
354 {
355 global $navigator;
356
357 $navigator->add_component('section', 'users', 'users', T('Users'), null);
358 $navigator->add_component('link', 'users-showall', 'users', T('Show All Users'), 'user.php?do=showall');
359 $navigator->add_component('link', 'users-add', 'users', T('Add New User'), 'user.php?do=add');
360 }
361
362 // ###################################################################
363 /**
364 * Edit a user
365 *
366 * @access public
367 *
368 * @param integer User ID
369 */
370 function usersEdit($id)
371 {
372 global $navigator;
373
374 NavLinks::usersAdd();
375 $navigator->add_component('link', 'users-delete', 'users', T('Delete'), 'user.php?do=delete&amp;userid=' . $id);
376 }
377
378 // ###################################################################
379 /**
380 * Add a new usergroup
381 *
382 * @access public
383 */
384 function usergroupsAdd()
385 {
386 global $navigator;
387
388 $navigator->add_component('section', 'usergroups', 'users', T('Usergroups'), null);
389 $navigator->add_component('link', 'usergroups-add', 'usergroups', T('Add New Usergroup'), 'usergroup.php?do=add');
390 $navigator->add_component('link', 'usergroups-approve', 'usergroups', T('Moderate Awaiting Users'), 'usergroup.php?do=approve');
391 }
392
393 // ###################################################################
394 /**
395 * Edit a usergroup
396 *
397 * @access public
398 *
399 * @param integer User ID
400 */
401 function usergroupsEdit($id)
402 {
403 global $navigator;
404
405 NavLinks::usergroupsAdd();
406 $navigator->add_component('link', 'usergroups-delete', 'usergroups', T('Delete'), 'usergroup.php?do=delete&amp;userid=' . $id);
407 }
408 }
409
410 ?>