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 = 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("SELECT status_id,package_id,name AS package_name
121 FROM frs_package WHERE group_id='$group_id'");
122 $rows=db_numrows($res);
123 if ($res && $rows > 0) {
124 echo '<h3>'._('QRS').'</h3>';
125 printf(_('Click here to %1$s quick-release a file %2$s'), '<a href="qrs.php?package_id=' . $package_id . '&group_id=' . $group_id . '">', '</a>').'<br />';
128 <?php echo _('<h3>Packages</h3><p>You can use packages to group different file releases together, or use them however you like. <p><h4>An example of packages:</h4><p><strong>Mysql-win</strong><br /><strong>Mysql-unix</strong><br /><strong>Mysql-odbc</strong><p><h4>Your Packages:</h4><p><ol><li>Define your packages</li><li>Create new releases of packages</li></ol><p><h3>Releases of Packages</h3><p>A release of a package can contain multiple files.<p><h4>Examples of Releases</h4><p><strong>3.22.1</strong><br /><strong>3.22.2</strong><br /><strong>3.22.3</strong><br /><p>You can create new releases of packages by clicking on <strong>Add/Edit Releases</strong> next to your package name.<p>') ?>
133 Show a list of existing packages
134 for this project so they can
139 if (!$res || $rows < 1) {
140 echo '<h4>'._('You Have No Packages Defined').'</h4>';
143 $title_arr[]=_('Releases');
144 $title_arr[]=_('Package name');
145 $title_arr[]=_('Status');
147 echo $GLOBALS['HTML']->listTableTop ($title_arr);
149 for ($i=0; $i<$rows; $i++) {
151 <form action="'. getStringFromServer('PHP_SELF') .'" method="post">
152 <input type="hidden" name="group_id" value="'.$group_id.'" />
153 <input type="hidden" name="func" value="update_package" />
154 <input type="hidden" name="package_id" value="'. db_result($res,$i,'package_id') .'" />
155 <tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
156 <td nowrap="nowrap" style="text-align:center">
157 <a href="qrs.php?package_id='.
158 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['._('Add Release').']</strong>
161 <a href="showreleases.php?package_id='.
162 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['._('Edit Releases').']</strong>
166 <td><input type="text" name="package_name" value="'.db_result($res,$i,'package_name') .'" size="20" maxlength="60" /></td>
167 <td>'.frs_show_status_popup ('status_id', db_result($res,$i,'status_id')).'</span></td>
168 <td><input type="submit" name="submit" value="'._('Update').'" />
170 <a href="deletepackage.php?package_id='.
171 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['._('Delete').']</strong>
178 echo $GLOBALS['HTML']->listTableBottom();
184 form to create a new package
190 <h3><?php echo _('New Package Name') ?>:</h3>
192 <form action="<?php echo getStringFromServer('PHP_SELF'); ?>" method="post">
193 <input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
194 <input type="hidden" name="func" value="add_package" />
195 <input type="text" name="package_name" value="" size="20" maxlength="30" />
197 <strong><?php echo _('Publicly Viewable'); ?>:</strong><br />
198 <input type="radio" name="is_public" value="1" checked> <?php echo _('Public'); ?><br />
199 <input type="radio" name="is_public" value="0"> <?php echo _('Private'); ?><br />
200 <p><input type="submit" name="submit" value="<?php echo _('Create This Package') ?>" /></p>
209 // c-file-style: "bsd"