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('pre.php');
30 require_once('www/frs/include/frs_utils.php');
31 require_once('common/frs/FRSPackage.class');
32 require_once('common/frs/FRSRelease.class');
33 require_once('common/frs/FRSFile.class');
39 $project =& group_get_object($group_id);
40 if (!$project || $project->isError()) {
41 exit_error('Error',$project->getErrorMessage());
43 $perm =& $project->getPermission(session_get_user());
44 if (!$perm->isReleaseTechnician()) {
45 exit_permission_denied();
50 Relatively simple form to edit/add packages of releases
54 // only admin can modify packages (vs modifying releases of packages)
58 make updates to the database
61 if ($func=='add_package' && $package_name) {
63 //create a new package
64 $frsp = new FRSPackage($project);
65 if (!$frsp || !is_object($frsp)) {
66 exit_error('Error','Could Not Get FRS Package');
67 } elseif ($frsp->isError()) {
68 exit_error('Error',$frsp->getErrorMessage());
70 if (!$frsp->create($package_name,$is_public)) {
71 exit_error('Error',$frsp->getErrorMessage());
73 $feedback .=$Language->getText('project_admin_editpackages','added_package');
76 } elseif ($func=='delete_package' && $package_id) {
78 //create a new package
79 $frsp = new FRSPackage($project,$package_id);
80 if (!$frsp || !is_object($frsp)) {
81 exit_error('Error','Could Not Get FRS Package');
82 } elseif ($frsp->isError()) {
83 exit_error('Error',$frsp->getErrorMessage());
85 if (!$frsp->delete($sure,$really_sure)) {
86 exit_error('Error',$frsp->getErrorMessage());
88 $feedback .=$Language->getText('frs_admin','deleted');
91 } else if ($func=='update_package' && $package_id && $package_name && $status_id) {
92 $frsp = new FRSPackage($project,$package_id);
93 if (!$frsp || !is_object($frsp)) {
94 exit_error('Error','Could Not Get FRS Package');
95 } elseif ($frsp->isError()) {
96 exit_error('Error',$frsp->getErrorMessage());
98 if (!$frsp->update($package_name,$status_id)) {
99 exit_error('Error',$frsp->getErrorMessage());
101 $feedback .= $Language->getText('project_admin_editpackages','updated_package');
109 frs_admin_header(array('title'=>$Language->getText('project_admin_editpackages','title'),'group'=>$group_id,'pagename'=>'project_admin_editpackages','sectionvals'=>array(group_getname($group_id))));
111 $res=db_query("SELECT status_id,package_id,name AS package_name
112 FROM frs_package WHERE group_id='$group_id'");
113 $rows=db_numrows($res);
114 if ($res && $rows > 0) {
115 echo '<h3>'.$Language->getText('project_admin_editpackages','qrs').'</h3>';
116 echo $Language->getText('project_admin_editpackages','qrs_a_file', array('<a href="qrs.php?package_id=' . $package_id . '&group_id=' . $group_id . '">','</a>') ).'<br />';
119 <?php echo $Language->getText('project_admin_editpackages','packages_info') ?>
124 Show a list of existing packages
125 for this project so they can
130 if (!$res || $rows < 1) {
131 echo '<h4>'.$Language->getText('project_admin_editpackages','no_packages_defined').'</h4>';
134 $title_arr[]=$Language->getText('project_admin_editpackages','releases');
135 $title_arr[]=$Language->getText('project_admin_editpackages','package_name');
136 $title_arr[]=$Language->getText('project_admin_editpackages','no_packages_status');
138 echo $GLOBALS['HTML']->listTableTop ($title_arr);
140 for ($i=0; $i<$rows; $i++) {
142 <form action="'. $PHP_SELF .'" method="post">
143 <input type="hidden" name="group_id" value="'.$group_id.'" />
144 <input type="hidden" name="func" value="update_package" />
145 <input type="hidden" name="package_id" value="'. db_result($res,$i,'package_id') .'" />
146 <tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
147 <td nowrap="nowrap" align="center">
148 <span style="font-size:smaller">
149 <a href="qrs.php?package_id='.
150 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('project_admin_editpackages','add_release').']</strong>
153 <span style="font-size:smaller">
154 <a href="showreleases.php?package_id='.
155 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('project_admin_editpackages','edit_releases').']</strong>
160 <td><span style="font-size:smaller"><input type="text" name="package_name" value="'.db_result($res,$i,'package_name') .'" size="20" maxlength="30" /></span></td>
161 <td><span style="font-size:smaller">'.frs_show_status_popup ('status_id', db_result($res,$i,'status_id')).'</span></td>
162 <td><input type="submit" name="submit" value="'.$Language->getText('general','update').'" />
163 <span style="font-size:smaller">
164 <a href="deletepackage.php?package_id='.
165 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('general','delete').']</strong>
172 echo $GLOBALS['HTML']->listTableBottom();
178 form to create a new package
184 <h3><?php echo $Language->getText('project_admin_editpackages','new_package_name') ?>:</h3>
186 <form action="<?php echo $PHP_SELF; ?>" method="post">
187 <input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
188 <input type="hidden" name="func" value="add_package" />
189 <input type="text" name="package_name" value="" size="20" maxlength="30" />
191 <strong><?php echo $Language->getText('project_admin_editpackages','is_public'); ?>:</strong><br />
192 <input type="radio" name="is_public" value="1" checked> <?php echo $Language->getText('project_admin_editpackages','public'); ?><br />
193 <input type="radio" name="is_public" value="0"> <?php echo $Language->getText('project_admin_editpackages','private'); ?><br />
194 <p><input type="submit" name="submit" value="<?php echo $Language->getText('project_admin_editpackages','create_package') ?>" /></p>