3 // SourceForge: Breaking Down the Barriers to Open Source Development
4 // Copyright 1999-2000 (c) The SourceForge Crew
5 // http://sourceforge.net
7 require_once('../../env.inc.php');
8 require_once $gfwww.'include/pre.php';
9 require_once $gfcommon.'tracker/Artifact.class.php';
10 require_once $gfcommon.'tracker/ArtifactFile.class.php';
11 require_once $gfwww.'tracker/include/ArtifactFileHtml.class.php';
12 require_once $gfcommon.'tracker/ArtifactType.class.php';
13 require_once $gfcommon.'tracker/ArtifactTypeFactory.class.php';
14 require_once $gfwww.'tracker/include/ArtifactTypeHtml.class.php';
15 require_once $gfwww.'tracker/include/ArtifactHtml.class.php';
16 require_once $gfcommon.'tracker/ArtifactCanned.class.php';
17 require_once $gfcommon.'tracker/ArtifactExtraField.class.php';
18 require_once $gfcommon.'tracker/ArtifactExtraFieldElement.class.php';
20 $group_id = getIntFromRequest('group_id');
21 $atid = getIntFromRequest('atid');
25 if ($group_id && $atid) {
27 // UPDATING A PARTICULAR ARTIFACT TYPE
30 // get the Group object
32 $group =& group_get_object($group_id);
33 if (!$group || !is_object($group) || $group->isError()) {
37 /* $perm =& $group->getPermission( session_get_user() );
39 if (!$perm || !is_object($perm) || !$perm->isArtifactAdmin()) {
40 exit_permission_denied();
44 // Create the ArtifactType object
46 $ath = new ArtifactTypeHtml($group,$atid);
47 if (!$ath || !is_object($ath)) {
48 exit_error('Error','ArtifactType could not be created');
50 if ($ath->isError()) {
51 exit_error(_('Error').'',$ath->getErrorMessage());
53 if (!$ath->userIsAdmin()) {
54 exit_permission_denied();
58 if (getStringFromRequest('post_changes')) {
59 include $gfwww.'tracker/admin/updates.php';
61 } elseif (getStringFromRequest('deletetemplate')) {
63 db_query("UPDATE artifact_group_list SET custom_renderer='' WHERE group_artifact_id='".$ath->getID()."'");
65 $feedback .= 'Renderer Deleted';
66 $next = 'add_extrafield';
70 // FORMS TO ADD/UPDATE DATABASE
75 $actions = array('add_extrafield', 'add_opt', 'copy_opt', 'add_canned','clone_tracker',
76 'uploadtemplate', 'downloadtemplate', 'update_canned', 'update_box',
77 'update_opt', 'delete', 'deleteextrafield','update_type');
79 foreach ($actions as $a) {
80 if (getStringFromRequest($a)) {
87 if ($action == 'add_extrafield') {
89 include $gfwww.'tracker/admin/form-addextrafield.php';
91 } elseif ($action == 'add_opt') {
93 include $gfwww.'tracker/admin/form-addextrafieldoption.php';
95 } elseif ($action == 'copy_opt') {
97 include $gfwww.'tracker/admin/form-extrafieldcopy.php';
99 } elseif ($action == 'add_canned') {
101 include $gfwww.'tracker/admin/form-addcanned.php';
103 } elseif ($action == 'clone_tracker') {
105 include $gfwww.'tracker/admin/form-clonetracker.php';
107 } elseif ($action == 'uploadtemplate') {
109 include $gfwww.'tracker/admin/form-uploadtemplate.php';
111 } elseif ($action == 'downloadtemplate') {
113 echo $ath->getRenderHTML();
115 } elseif ($action == 'update_canned') {
117 include $gfwww.'tracker/admin/form-updatecanned.php';
119 } elseif ($action == 'update_box') {
121 include $gfwww.'tracker/admin/form-updateextrafield.php';
123 } elseif ($action == 'update_opt') {
125 include $gfwww.'tracker/admin/form-updateextrafieldelement.php';
127 } elseif ($action == 'delete') {
129 include $gfwww.'tracker/admin/form-deletetracker.php';
131 } elseif ($action == 'deleteextrafield') {
133 include $gfwww.'tracker/admin/form-deleteextrafield.php';
135 } elseif ($action == 'update_type') {
137 include $gfwww.'tracker/admin/form-updatetracker.php';
141 include $gfwww.'tracker/admin/tracker.php';
145 } elseif ($group_id) {
146 if (getStringFromRequest('tracker_deleted')) {
147 $feedback .= _('Successfully Deleted.');
150 include $gfwww.'tracker/admin/ind.php';
154 //browse for group first message