in['name'])) { $admin->error('You need to specify a name for this action.'); } foreach ($bugsys->in['fields'] AS $key => $value) { if (!empty($value) AND $value != -1 AND !is_array($value)) { $deltas['builtin']["$key"] = $value; } } foreach ($bugsys->in['fields']['custom'] AS $key => $value) { if (!empty($value) AND $value != -1) { $deltas['custom']["$key"] = $value; } } if (count($deltas['custom']) < 1 AND count($deltas['builtin']) < 1) { $admin->error('You need to specify some fields to change.'); } $db->query(" INSERT INTO " . TABLE_PREFIX . "autoaction (name, description, fieldchanges) VALUES ('" . $bugsys->in['name'] . "', '" . $bugsys->in['description'] . "', '" . $bugsys->escape(serialize($deltas)) . "' )" ); $admin->redirect('autoaction.php', 'Action added.'); } // ################################################################### if ($_POST['do'] == 'update') { // run code to update item in database } // ################################################################### if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit') { $add = (($_REQUEST['do'] == 'add') ? true : false); $edit = (($add) ? false : true); if ($edit) { $action = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "autoaction WHERE actionid = " . intval($bugsys->in['actionid'])); if (!$action) { $admin->error(lang::p('error_invalid_id')); } $action['fields'] = unserialize($action['fieldchanges']); } $admin->page_start((($add) ? 'New Automatic Action' : 'Edit Auto Action')); $admin->form_start('autoaction.php', (($add) ? 'insert' : 'update')); $admin->table_start(); $admin->table_head((($add) ? 'New Automatic Action' : 'Edit Auto Action')); $admin->row_input('Name', 'name', $action['name']); $admin->row_textarea('Description', 'description', $action['description']); $admin->row_span('Field Changes', 'thead', 'center'); // ------------------------------------------------------------------- // built-in fields construct_datastore_select('severity', 'severity', 'severityid', $action['fields']['builtin']['severity'], true, true); $admin->row_list('Severity', 'fields[severity]'); construct_datastore_select('priority', 'priority', 'priorityid', $action['fields']['builtin']['priority'], true, true); $admin->row_list('Priority', 'fields[priority]'); construct_datastore_select('status', 'status', 'statusid', $action['fields']['builtin']['status'], true, true); $admin->row_list('Status', 'fields[status]'); construct_datastore_select('resolution', 'resolution', 'resolutionid', $action['fields']['builtin']['resolution'], true, true); $admin->row_list('Resolution', 'fields[resolution]'); /*$select['dev'] = ''; foreach ($bugsys->datastore['assignto'] AS $dev) { $value = $dev['userid']; $label = construct_user_display($dev, false); eval('$select[dev] .= "' . $template->fetch('selectoption') . '";'); }*/ $admin->row_span('', 'tcat', 'center'); // ------------------------------------------------------------------- // custom fields $fields_fetch = $bugsys->db->query(" SELECT bugfield.* FROM " . TABLE_PREFIX . "bugfield AS bugfield LEFT JOIN " . TABLE_PREFIX . "bugfieldpermission AS permission ON (bugfield.fieldid = permission.fieldid) WHERE permission.mask <> 0 AND permission.usergroupid = {$bugsys->userinfo['usergroupid']} AND bugfield.cansearch = 1" ); while ($field = $bugsys->db->fetch_array($fields_fetch)) { switch ($field['type']) { case 'input_text': $admin->row_input($field['name'], "fields[custom][$field[fieldid]]", $action['fields']['custom']["$field[fieldid]"]); break; case 'input_checkbox': $admin->list_item('', 0, ((!$action['fields']['custom']["$field[fieldid]"]) ? true : false)); $admin->list_item('Checked', 1, (($action['fields']['custom']["$field[fieldid]"] == 1) ? true : false)); $admin->list_item('Un-Checked', 2, (($action['fields']['custom']["$field[fieldid]"] == 2) ? true : false)); $admin->row_list($field['name'], "fields[custom][$field[fieldid]]"); break; case 'select_single': $selectopts = unserialize($field['selects']); $admin->list_item('', -1, ((!$action['fields']['custom']["$field[fieldid]"]) ? true : false)); foreach ($selectopts AS $id => $select) { $admin->list_item(stripslashes($select), $id, (($action['fields']['custom']["$field[fieldid]"] == $id) ? true : false)); } $admin->row_list($field['name'], "fields[custom][$field[fieldid]]"); break; } } unset($select); $admin->row_submit(); $admin->table_end(); $admin->form_end(); $admin->page_end(); } // ################################################################### if ($_REQUEST['do'] == 'modify') { $admin->page_start('Automatic Actions'); $admin->table_start(); $admin->table_head('Automatic Actions'); $actions = $db->query("SELECT * FROM " . TABLE_PREFIX . "autoaction ORDER BY name ASC"); while ($action = $db->fetch_array($actions)) { $admin->row_text($action['name'] . "\n
$action[description]
", "[Edit] [Delete]"); } $admin->row_span('[Add New Action]', 'tfoot', 'center', 3); $admin->table_end(); $admin->page_end(); } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>