4 * Project Admin: Edit Packages
6 * SourceForge: Breaking Down the Barriers to Open Source Development
7 * Copyright 1999-2001 (c) VA Linux Systems
8 * Copyright 2004 (c) GForge, LLC
14 require_once('pre.php');
15 require_once('www/frs/include/frs_utils.php');
21 $project =& group_get_object($group_id);
22 if (!$project || $project->isError()) {
23 exit_error('Error',$project->getErrorMessage());
25 $perm =& $project->getPermission(session_get_user());
26 if (!$perm->isReleaseTechnician()) {
27 exit_permission_denied();
32 Relatively simple form to edit/add packages of releases
36 // only admin can modify packages (vs modifying releases of packages)
40 make updates to the database
43 if ($func=='add_package' && $package_name) {
45 //create a new package
46 db_query("INSERT INTO frs_package (group_id,name,status_id) ".
47 "VALUES ('$group_id','". htmlspecialchars($package_name) ."','1')");
48 $feedback .=$Language->getText('project_admin_editpackages','added_package');
50 } else if ($func=='update_package' && $package_id && $package_name && $status_id) {
51 if ($status_id != 1) {
52 //if hiding a package, refuse if it has releases under it
53 $res=db_query("SELECT * FROM frs_release WHERE package_id='$package_id' AND status_id=1");
54 if (db_numrows($res) > 0) {
55 $feedback .= ' Sorry - you cannot hide a package that contains active releases ';
59 //update an existing package
60 db_query("UPDATE frs_package SET name='". htmlspecialchars($package_name) ."', status_id='$status_id' ".
61 "WHERE package_id='$package_id' AND group_id='$group_id'");
62 $feedback .= $Language->getText('project_admin_editpackages','updated_package');
69 frs_admin_header(array('title'=>$Language->getText('project_admin_editpackages','title'),'group'=>$group_id,'pagename'=>'project_admin_editpackages','sectionvals'=>array(group_getname($group_id))));
71 $res=db_query("SELECT status_id,package_id,name AS package_name FROM frs_package WHERE group_id='$group_id' AND status_id=1");
72 $rows=db_numrows($res);
73 if ($res && $rows > 0) {
74 echo '<h3>'.$Language->getText('project_admin_editpackages','qrs').'</h3>';
75 echo $Language->getText('project_admin_editpackages','qrs_a_file', array('<a href="qrs.php?package_id=' . $package_id . '&group_id=' . $group_id . '">','</a>') ).'<br />';
78 <?php echo $Language->getText('project_admin_editpackages','packages_info') ?>
83 Show a list of existing packages
84 for this project so they can
89 $res=db_query("SELECT status_id,package_id,name AS package_name FROM frs_package WHERE group_id='$group_id'");
90 $rows=db_numrows($res);
91 if (!$res || $rows < 1) {
92 echo '<h4>'.$Language->getText('project_admin_editpackages','no_packages_defined').'</h4>';
95 $title_arr[]=$Language->getText('project_admin_editpackages','releases');
96 $title_arr[]=$Language->getText('project_admin_editpackages','package_name');
97 $title_arr[]=$Language->getText('project_admin_editpackages','no_packages_status');
99 echo $GLOBALS['HTML']->listTableTop ($title_arr);
101 for ($i=0; $i<$rows; $i++) {
103 <form action="'. $PHP_SELF .'" method="post">
104 <input type="hidden" name="group_id" value="'.$group_id.'" />
105 <input type="hidden" name="func" value="update_package" />
106 <input type="hidden" name="package_id" value="'. db_result($res,$i,'package_id') .'" />
107 <tr '. $GLOBALS['HTML']->boxGetAltRowStyle($i) .'>
108 <td nowrap="nowrap" align="center">
109 <span style="font-size:smaller">
110 <a href="qrs.php?package_id='.
111 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('project_admin_editpackages','add_release').']</strong>
114 <span style="font-size:smaller">
115 <a href="showreleases.php?package_id='.
116 db_result($res,$i,'package_id') .'&group_id='. $group_id .'"><strong>['.$Language->getText('project_admin_editpackages','edit_releases').']</strong>
121 <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>
122 <td><span style="font-size:smaller">'.frs_show_status_popup ('status_id', db_result($res,$i,'status_id')).'</span></td>
123 <td><input type="submit" name="submit" value="'.$Language->getText('general','update').'" /></td>
127 echo $GLOBALS['HTML']->listTableBottom();
133 form to create a new package
139 <h3><?php echo $Language->getText('project_admin_editpackages','new_package_name') ?>:</h3>
141 <form action="<?php echo $PHP_SELF; ?>" method="post">
142 <input type="hidden" name="group_id" value="<?php echo $group_id; ?>" />
143 <input type="hidden" name="func" value="add_package" />
144 <input type="text" name="package_name" value="" size="20" maxlength="30" />
145 <p><input type="submit" name="submit" value="<?php echo $Language->getText('project_admin_editpackages','create_package') ?>" /></p>