4 * Project Admin: Edit Packages
6 * Copyright 1999-2001 (c) VA Linux Systems
7 * The rest Copyright 2002-2004 (c) GForge Team
10 * This file is part of GForge.
12 * GForge is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
17 * GForge is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 * GNU General Public License for more details.
22 * You should have received a copy of the GNU General Public License
23 * along with GForge; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 require_once('../../env.inc.php');
28 require_once $gfwww.'include/pre.php';
29 require_once $gfwww.'frs/include/frs_utils.php';
30 require_once $gfcommon.'frs/FRSPackage.class.php';
31 require_once $gfcommon.'frs/FRSRelease.class.php';
32 require_once $gfcommon.'frs/FRSFile.class.php';
34 $group_id = getIntFromRequest('group_id');
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)
55 if (getStringFromRequest('submit')) {
56 $func = getStringFromRequest('func');
57 $package_id = getIntFromRequest('package_id');
58 $package_name = trim(getStringFromRequest('package_name'));
59 $status_id = getIntFromRequest('status_id');
60 $is_public = getStringFromRequest('is_public');
64 make updates to the database
67 if ($func=='add_package' && $package_name) {
69 //create a new package
70 $frsp = new FRSPackage($project);
71 if (!$frsp || !is_object($frsp)) {
72 exit_error('Error','Could Not Get FRS Package');
73 } elseif ($frsp->isError()) {
74 exit_error('Error',$frsp->getErrorMessage());
76 if (!$frsp->create($package_name,$is_public)) {
77 exit_error('Error',$frsp->getErrorMessage());
79 $feedback .=_('Added Package');
82 } elseif ($func=='delete_package' && $package_id) {
85 $frsp = new FRSPackage($project,$package_id);
86 if (!$frsp || !is_object($frsp)) {
87 exit_error('Error','Could Not Get FRS Package');
88 } elseif ($frsp->isError()) {
89 exit_error('Error',$frsp->getErrorMessage());
92 $sure = getIntFromRequest("sure");
93 $really_sure = getIntFromRequest("really_sure");
94 if (!$frsp->delete($sure,$really_sure)) {
95 exit_error('Error',$frsp->getErrorMessage());
97 $feedback .=_('Deleted');
100 } else if ($func=='update_package' && $package_id && $package_name && $status_id) {
101 $frsp = new FRSPackage($project,$package_id);
102 if (!$frsp || !is_object($frsp)) {
103 exit_error('Error','Could Not Get FRS Package');
104 } elseif ($frsp->isError()) {
105 exit_error('Error',$frsp->getErrorMessage());
107 if (!$frsp->update($package_name,$status_id)) {
108 exit_error('Error',$frsp->getErrorMessage());
110 $feedback .= _('Updated Package');
118 frs_admin_header(array('title'=>_('Release Edit/File Releases'),'group'=>$group_id));
120 $res=db_query_params ('SELECT status_id,package_id,name AS package_name
121 FROM frs_package WHERE group_id=$1',
123 $rows=db_numrows($res);
124 if ($res && $rows > 0) {
125 echo '<h3>'._('QRS').'</h3>';
126 printf(_('Click here to %1$s quick-release a file %2$s'), '<a href="qrs.php?group_id=' . $group_id . '">', '</a>').'<br />';
131 <h2><?php echo _("Packages") ?></h2>
132 <p><?php echo _("You can use packages to group different file releases together, or use them however you like.") ?></p>
133 <h3><?php echo _("An example of packages:") ?></h3>
134 <p><strong>Mysql-win</strong><br /><strong>Mysql-unix</strong><br /><strong>Mysql-odbc</strong></p>
135 <h3><?php echo _("Your Packages:") ?></h3>
137 <li><?php echo _("Define your packages") ?></li>
138 <li><?php echo _("Create new releases of packages") ?></li>
140 <h2><?php echo _("Releases of Packages") ?></h2>
141 <p><?php echo _("A release of a package can contain multiple files.") ?></p>
142 <h3><?php echo _("Examples of Releases") ?></h3>
143 <p><strong>3.22.1</strong><br /><strong>3.22.2</strong><br /><strong>3.22.3</strong></p>
144 <p><?php echo _("You can create new releases of packages by clicking on <strong>Add/Edit Releases</strong> next to your package name") ?>.</p>
150 Show a list of existing packages
151 for this project so they can
156 if (!$res || $rows < 1) {
157 echo '<p><strong>'._('You Have No Packages Defined').'</strong></p>';
160 $title_arr[]=_('Releases');
161 $title_arr[]=_('Package name');
162 $title_arr[]=_('Status');
164 echo $GLOBALS['HTML']->listTableTop ($title_arr);
166 for ($i=0; $i<$rows; $i++) {
168 <form action="'. getStringFromServer('PHP_SELF') .'" method="post">
169 <input type="hidden" name="group_id" value="'.$group_id.'" />
170 <input type="hidden" name="func" value="update_package" />
171 <input type="hidden" name="package_id" value="'. db_result($res,$i,'package_id') .'" />
172 <tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
173 <td style="white-space: nowrap;" align="center">
174 <a href="qrs.php?package_id='.
175 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['._('Add Release').']</strong>
178 <a href="showreleases.php?package_id='.
179 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['._('Edit Releases').']</strong>
183 <td><input type="text" name="package_name" value="'.db_result($res,$i,'package_name') .'" size="20" maxlength="60" /></td>
184 <td>'.frs_show_status_popup ('status_id', db_result($res,$i,'status_id')).'</span></td>
185 <td><input type="submit" name="submit" value="'._('Update').'" />
187 <a href="deletepackage.php?package_id='.
188 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['._('Delete').']</strong>
195 echo $GLOBALS['HTML']->listTableBottom();
201 form to create a new package
208 <legend><?php echo _('Create New Package') ?></legend>
209 <form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
210 <input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
211 <input type="hidden" name="func" value="add_package" />
212 <p><strong><?php echo _('New Package Name') ?>:</strong>
213 <input type="text" name="package_name" value="" size="20" maxlength="30" /></p>
214 <p><strong><?php echo _('Publicly Viewable'); ?>:</strong>
215 <input type="radio" name="is_public" value="1" checked="checked" /> <?php echo _('Public'); ?>
216 <input type="radio" name="is_public" value="0" /> <?php echo _('Private'); ?></p>
217 <p><input type="submit" name="submit" value="<?php echo _('Create This Package') ?>" /></p>
227 // c-file-style: "bsd"