4 * Project Admin: Edit Packages
6 * Copyright 1999-2001 (c) VA Linux Systems
7 * The rest Copyright 2002-2004 (c) GForge Team
12 * This file is part of GForge.
14 * GForge is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License as published by
16 * the Free Software Foundation; either version 2 of the License, or
17 * (at your option) any later version.
19 * GForge is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
24 * You should have received a copy of the GNU General Public License
25 * along with GForge; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 require_once('../../env.inc.php');
30 require_once('pre.php');
31 require_once('www/frs/include/frs_utils.php');
32 require_once('common/frs/FRSPackage.class');
33 require_once('common/frs/FRSRelease.class');
34 require_once('common/frs/FRSFile.class');
36 $group_id = getIntFromRequest('group_id');
41 $project =& group_get_object($group_id);
42 if (!$project || $project->isError()) {
43 exit_error('Error',$project->getErrorMessage());
45 $perm =& $project->getPermission(session_get_user());
46 if (!$perm->isReleaseTechnician()) {
47 exit_permission_denied();
52 Relatively simple form to edit/add packages of releases
56 // only admin can modify packages (vs modifying releases of packages)
57 if (getStringFromRequest('submit')) {
58 $func = getStringFromRequest('func');
59 $package_id = getIntFromRequest('package_id');
60 $package_name = getStringFromRequest('package_name');
61 $status_id = getIntFromRequest('status_id');
62 $is_public = getStringFromRequest('is_public');
66 make updates to the database
69 if ($func=='add_package' && $package_name) {
71 //create a new package
72 $frsp = new FRSPackage($project);
73 if (!$frsp || !is_object($frsp)) {
74 exit_error('Error','Could Not Get FRS Package');
75 } elseif ($frsp->isError()) {
76 exit_error('Error',$frsp->getErrorMessage());
78 if (!$frsp->create($package_name,$is_public)) {
79 exit_error('Error',$frsp->getErrorMessage());
81 $feedback .=$Language->getText('project_admin_editpackages','added_package');
84 } elseif ($func=='delete_package' && $package_id) {
87 $frsp = new FRSPackage($project,$package_id);
88 if (!$frsp || !is_object($frsp)) {
89 exit_error('Error','Could Not Get FRS Package');
90 } elseif ($frsp->isError()) {
91 exit_error('Error',$frsp->getErrorMessage());
94 $sure = getIntFromRequest("sure");
95 $really_sure = getIntFromRequest("really_sure");
96 if (!$frsp->delete($sure,$really_sure)) {
97 exit_error('Error',$frsp->getErrorMessage());
99 $feedback .=$Language->getText('frs_admin','deleted');
102 } else if ($func=='update_package' && $package_id && $package_name && $status_id) {
103 $frsp = new FRSPackage($project,$package_id);
104 if (!$frsp || !is_object($frsp)) {
105 exit_error('Error','Could Not Get FRS Package');
106 } elseif ($frsp->isError()) {
107 exit_error('Error',$frsp->getErrorMessage());
109 if (!$frsp->update($package_name,$status_id)) {
110 exit_error('Error',$frsp->getErrorMessage());
112 $feedback .= $Language->getText('project_admin_editpackages','updated_package');
120 frs_admin_header(array('title'=>$Language->getText('project_admin_editpackages','title'),'group'=>$group_id));
122 $res=db_query("SELECT status_id,package_id,name AS package_name
123 FROM frs_package WHERE group_id='$group_id'");
124 $rows=db_numrows($res);
125 if ($res && $rows > 0) {
126 echo '<h3>'.$Language->getText('project_admin_editpackages','qrs').'</h3>';
127 echo $Language->getText('project_admin_editpackages','qrs_a_file', array('<a href="qrs.php?package_id=' . $package_id . '&group_id=' . $group_id . '">','</a>') ).'<br />';
130 <?php echo $Language->getText('project_admin_editpackages','packages_info') ?>
135 Show a list of existing packages
136 for this project so they can
141 if (!$res || $rows < 1) {
142 echo '<h4>'.$Language->getText('project_admin_editpackages','no_packages_defined').'</h4>';
145 $title_arr[]=$Language->getText('project_admin_editpackages','releases');
146 $title_arr[]=$Language->getText('project_admin_editpackages','package_name');
147 $title_arr[]=$Language->getText('project_admin_editpackages','no_packages_status');
149 echo $GLOBALS['HTML']->listTableTop ($title_arr);
151 for ($i=0; $i<$rows; $i++) {
153 <form action="'. getStringFromServer('PHP_SELF') .'" method="post">
154 <input type="hidden" name="group_id" value="'.$group_id.'" />
155 <input type="hidden" name="func" value="update_package" />
156 <input type="hidden" name="package_id" value="'. db_result($res,$i,'package_id') .'" />
157 <tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
158 <td nowrap="nowrap" align="center">
159 <a href="qrs.php?package_id='.
160 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('project_admin_editpackages','add_release').']</strong>
163 <a href="showreleases.php?package_id='.
164 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('project_admin_editpackages','edit_releases').']</strong>
168 <td><input type="text" name="package_name" value="'.db_result($res,$i,'package_name') .'" size="20" maxlength="30" /></td>
169 <td>'.frs_show_status_popup ('status_id', db_result($res,$i,'status_id')).'</span></td>
170 <td><input type="submit" name="submit" value="'.$Language->getText('general','update').'" />
172 <a href="deletepackage.php?package_id='.
173 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('general','delete').']</strong>
180 echo $GLOBALS['HTML']->listTableBottom();
186 form to create a new package
192 <h3><?php echo $Language->getText('project_admin_editpackages','new_package_name') ?>:</h3>
194 <form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
195 <input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
196 <input type="hidden" name="func" value="add_package" />
197 <input type="text" name="package_name" value="" size="20" maxlength="30" />
199 <strong><?php echo $Language->getText('project_admin_editpackages','is_public'); ?>:</strong><br />
200 <input type="radio" name="is_public" value="1" checked> <?php echo $Language->getText('project_admin_editpackages','public'); ?><br />
201 <input type="radio" name="is_public" value="0"> <?php echo $Language->getText('project_admin_editpackages','private'); ?><br />
202 <p><input type="submit" name="submit" value="<?php echo $Language->getText('project_admin_editpackages','create_package') ?>" /></p>