2 /*=====================================================================*\
3 || ################################################################### ||
4 || # BugStrike [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
13 require_once('./global.php');
15 if (!can_perform('canadminbugs'))
20 // ###################################################################
22 if (empty($_REQUEST['do']))
24 $_REQUEST['do'] = 'modify';
27 // ###################################################################
29 if ($_REQUEST['do'] == 'kill')
31 // run code to remove item in database
34 // ###################################################################
36 if ($_REQUEST['do'] == 'delete')
38 // display delete confirmation message
41 // ###################################################################
43 if ($_POST['do'] == 'insert')
45 if (empty($bugsys->in
['name']))
47 $admin->error('You need to specify a name for this action.');
50 foreach ($bugsys->in
['fields'] AS $key => $value)
52 if (!empty($value) AND $value != -1 AND !is_array($value))
54 $deltas['builtin']["$key"] = $value;
58 foreach ($bugsys->in
['fields']['custom'] AS $key => $value)
60 if (!empty($value) AND $value != -1)
62 $deltas['custom']["$key"] = $value;
66 if (count($deltas['custom']) < 1 AND count($deltas['builtin']) < 1)
68 $admin->error('You need to specify some fields to change.');
72 INSERT INTO " . TABLE_PREFIX
. "autoaction
73 (name, description, fieldchanges)
75 ('" . $bugsys->in
['name'] . "', '" . $bugsys->in
['description'] . "',
76 '" . $bugsys->escape(serialize($deltas)) . "'
80 $admin->redirect('autoaction.php', 'Action added.');
83 // ###################################################################
85 if ($_POST['do'] == 'update')
87 // run code to update item in database
90 // ###################################################################
92 if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit')
94 $add = (($_REQUEST['do'] == 'add') ? true
: false
);
95 $edit = (($add) ? false
: true
);
99 $action = $db->query_first("SELECT * FROM " . TABLE_PREFIX
. "autoaction WHERE actionid = " . intval($bugsys->in
['actionid']));
102 $admin->error(lang
::p('error_invalid_id'));
104 $action['fields'] = unserialize($action['fieldchanges']);
107 $admin->page_start((($add) ?
'New Automatic Action' : 'Edit Auto Action'));
109 $admin->form_start('autoaction.php', (($add) ?
'insert' : 'update'));
110 $admin->table_start();
111 $admin->table_head((($add) ?
'New Automatic Action' : 'Edit Auto Action'));
113 $admin->row_input('Name', 'name', $action['name']);
114 $admin->row_textarea('Description', 'description', $action['description']);
116 $admin->row_span('Field Changes', 'thead', 'center');
118 // -------------------------------------------------------------------
120 construct_datastore_select('severity', 'severity', 'severityid', $action['fields']['builtin']['severity'], true
, true
);
121 $admin->row_list('Severity', 'fields[severity]');
123 construct_datastore_select('priority', 'priority', 'priorityid', $action['fields']['builtin']['priority'], true
, true
);
124 $admin->row_list('Priority', 'fields[priority]');
126 construct_datastore_select('status', 'status', 'statusid', $action['fields']['builtin']['status'], true
, true
);
127 $admin->row_list('Status', 'fields[status]');
129 construct_datastore_select('resolution', 'resolution', 'resolutionid', $action['fields']['builtin']['resolution'], true
, true
);
130 $admin->row_list('Resolution', 'fields[resolution]');
132 /*$select['dev'] = '<option value="0" selected="selected"></option>';
133 foreach ($bugsys->datastore['assignto'] AS $dev)
135 $value = $dev['userid'];
136 $label = construct_user_display($dev, false);
137 eval('$select[dev] .= "' . $template->fetch('selectoption') . '";');
140 $admin->row_span('', 'tcat', 'center');
142 // -------------------------------------------------------------------
144 $fields_fetch = $bugsys->db
->query("
146 FROM " . TABLE_PREFIX
. "bugfield AS bugfield
147 LEFT JOIN " . TABLE_PREFIX
. "bugfieldpermission AS permission
148 ON (bugfield.fieldid = permission.fieldid)
149 WHERE permission.mask <> 0
150 AND permission.usergroupid = {$bugsys->userinfo['usergroupid']}
151 AND bugfield.cansearch = 1"
153 while ($field = $bugsys->db
->fetch_array($fields_fetch))
155 switch ($field['type'])
158 $admin->row_input($field['name'], "fields[custom][$field[fieldid]]", $action['fields']['custom']["$field[fieldid]"]);
161 case 'input_checkbox':
162 $admin->list_item('', 0, ((!$action['fields']['custom']["$field[fieldid]"]) ? true
: false
));
163 $admin->list_item('Checked', 1, (($action['fields']['custom']["$field[fieldid]"] == 1) ? true
: false
));
164 $admin->list_item('Un-Checked', 2, (($action['fields']['custom']["$field[fieldid]"] == 2) ? true
: false
));
165 $admin->row_list($field['name'], "fields[custom][$field[fieldid]]");
168 case 'select_single':
169 $selectopts = unserialize($field['selects']);
171 $admin->list_item('', -1, ((!$action['fields']['custom']["$field[fieldid]"]) ? true
: false
));
173 foreach ($selectopts AS $id => $select)
175 $admin->list_item(stripslashes($select), $id, (($action['fields']['custom']["$field[fieldid]"] == $id) ? true
: false
));
177 $admin->row_list($field['name'], "fields[custom][$field[fieldid]]");
183 $admin->row_submit();
190 // ###################################################################
192 if ($_REQUEST['do'] == 'modify')
194 $admin->page_start('Automatic Actions');
196 $admin->table_start();
197 $admin->table_head('Automatic Actions');
199 $actions = $db->query("SELECT * FROM " . TABLE_PREFIX
. "autoaction ORDER BY name ASC");
200 while ($action = $db->fetch_array($actions))
202 $admin->row_text($action['name'] . "\n<div class=\"smallfont\">$action[description]</div>", "<a href=\"autoaction.php?do=edit&actionid=$action[actionid]\">[Edit]</a> <a href=\"autoaction.php?do=delete&actionid=$action[actionid]\">[Delete]</a>");
205 $admin->row_span('<a href="autoaction.php?do=add">[Add New Action]</a>', 'tfoot', 'center', 3);
211 /*=====================================================================*\
212 || ###################################################################
215 || ###################################################################
216 \*=====================================================================*/