* Project Admin: Edit Releases of Packages
*
* Copyright 1999-2001 (c) VA Linux Systems
- * The rest Copyright 2002-2004 (c) GForge Team
- * http://gforge.org/
+ * Copyright 2002-2004 (c) GForge Team
+ * http://fusionforge.org/
*
- * This file is part of GForge.
+ * This file is part of FusionForge. FusionForge is free software;
+ * you can redistribute it and/or modify it under the terms of the
+ * GNU General Public License as published by the Free Software
+ * Foundation; either version 2 of the Licence, or (at your option)
+ * any later version.
*
- * GForge is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * GForge is distributed in the hope that it will be useful,
+ * FusionForge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with GForge; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * You should have received a copy of the GNU General Public License along
+ * with FusionForge; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
exit_no_group();
}
if (!$package_id || !$release_id) {
- header("Location: /frs/admin/?group_id=$group_id");
- exit;
+ session_redirect('/frs/admin/?group_id='.$group_id);
}
$group=group_get_object($group_id);
if (!$group || !is_object($group)) {
- exit_no_group();
+ exit_no_group();
} elseif ($group->isError()) {
- exit_error('Error', $group->getErrorMessage());
+ exit_error($group->getErrorMessage(),'frs');
}
session_require_perm ('frs', $group_id, 'write') ;
//
$frsp = new FRSPackage($group,$package_id);
if (!$frsp || !is_object($frsp)) {
- exit_error('Error','Could Not Get FRSPackage');
+ exit_error(_('Could Not Get FRSPackage'),'frs');
} elseif ($frsp->isError()) {
- exit_error('Error',$frsp->getErrorMessage());
+ exit_error($frsp->getErrorMessage(),'frs');
}
//
//
$frsr = new FRSRelease($frsp,$release_id);
if (!$frsr || !is_object($frsr)) {
- exit_error('Error','Could Not Get FRSRelease');
+ exit_error(_('Could Not Get FRSRelease'),'frs');
} elseif ($frsr->isError()) {
- exit_error('Error',$frsr->getErrorMessage());
+ exit_error($frsr->getErrorMessage(),'frs');
}
-$upload_dir = forge_get_config('ftp_upload_dir') . "/" . $g->getUnixName();
+$upload_dir = forge_get_config('ftp_upload_dir') . "/" . $group->getUnixName();
/*
// Check for uploaded release notes
if ($uploaded_notes["tmp_name"]) {
if (!is_uploaded_file($uploaded_notes['tmp_name'])) {
- exit_error('Error','Attempted File Upload Attack');
+ exit_error(_('Attempted File Upload Attack'),'frs');
}
if ($uploaded_notes['type'] !== 'text/plain') {
- $feedback .= _('Release Notes Are not in Text');
+ $error_msg .= _('Release Notes Are not in Text').'<br />';
$exec_changes = false;
} else {
- $notes = addslashes(fread(fopen($uploaded_notes['tmp_name'],'r'),$uploaded_notes['size']));
+ $notes = fread(fopen($uploaded_notes['tmp_name'],'r'),$uploaded_notes['size']);
if (strlen($notes) < 20) {
- $feedback .= _('Release Notes Are Too Small');
+ $error_msg .= _('Release Notes Are Too Small').'<br />';
$exec_changes = false;
}
}
// Check for uploaded change logs
if ($uploaded_changes['tmp_name']) {
if (!is_uploaded_file($uploaded_changes['tmp_name'])) {
- exit_error('Error','Attempted File Upload Attack');
+ exit_error(_('Attempted File Upload Attack'),'frs');
}
if ($uploaded_changes['type'] !== 'text/plain') {
- $feedback .= _('Change Log Is not in Text');
+ $error_msg .= _('Change Log Is not in Text').'<br />';
$exec_changes = false;
} else {
- $changes = addslashes(fread(fopen($uploaded_changes['tmp_name'],'r'), $uploaded_changes['size']));
+ $changes = fread(fopen($uploaded_changes['tmp_name'],'r'), $uploaded_changes['size']);
if (strlen($changes) < 20) {
- $feedback .= _('Change Log Is Too Small');
+ $error_msg .= _('Change Log Is Too Small').'<br />';
$exec_changes = false;
}
}
//$release_date = mktime($date_list[3],$date_list[4],0,$date_list[1],$date_list[2],$date_list[0]);
$release_date = strtotime($release_date);
if (!$frsr->update($status_id,$release_name,$notes,$changes,$preformatted,$release_date)) {
- exit_error('Error',$frsr->getErrorMessage());
+ exit_error($frsr->getErrorMessage(),'frs');
} else {
$feedback .= _('Data Saved');
}
$release_date = getStringFromRequest('release_date');
// Build a Unix time value from the supplied Y-m-d value
$release_date = strtotime($release_date);
- $processor_id = getStringFromRequest('processor_id');
+ $processor_id = getIntFromRequest('processor_id');
$group_unix_name=group_getunixname($group_id);
$ftp_filename = getStringFromRequest('ftp_filename');
$manual_filename = getStringFromRequest('manual_filename');
if ($ret == true) {
$feedback = _('File Released') ;
} else {
- $feedback .= $ret ;
+ $error_msg .= $ret ;
}
-
}
// Edit/Delete files in a release
if ($im_sure) {
$frsf = new FRSFile($frsr,$file_id);
if (!$frsf || !is_object($frsf)) {
- exit_error('Error','Could Not Get FRSFile');
+ exit_error(_('Could Not Get FRSFile'),'frs');
} elseif ($frsf->isError()) {
- exit_error('Error',$frsf->getErrorMessage());
+ exit_error($frsf->getErrorMessage(),'frs');
} else {
if (!$frsf->delete()) {
- exit_error('Error',$frsf->getErrorMessage());
+ exit_error($frsf->getErrorMessage(),'frs');
} else {
$feedback .= _('File Deleted');
}
}
} else {
- exit_error('Error',_('Missing Parameters'));
+ $error_msg .= _('File not deleted: you did not check "I\'m Sure"');
}
// Otherwise update the file information
} else {
$frsf = new FRSFile($frsr,$file_id);
if (!$frsf || !is_object($frsf)) {
- exit_error('Error','Could Not Get FRSFile');
+ exit_error(_('Could Not Get FRSFile'),'frs');
} elseif ($frsf->isError()) {
- exit_error('Error',$frsf->getErrorMessage());
+ exit_error($frsf->getErrorMessage(),'frs');
} else {
//$date_list = split('[- :]',$release_time,5);
//$release_time = mktime($date_list[3],$date_list[4],0,$date_list[1],$date_list[2],$date_list[0]);
$release_time = strtotime($release_time);
if (!$frsf->update($type_id,$processor_id,$release_time,$new_release_id)) {
- exit_error('Error',$frsf->getErrorMessage());
+ exit_error($frsf->getErrorMessage(),'frs');
} else {
$feedback .= _('File Updated');
}
*/
?>
-<h3><?php echo _('Step 1: Edit Release') ?></h3>
+<h2><?php echo _('Edit Release') ?></h2>
<form enctype="multipart/form-data" method="post" action="<?php echo getStringFromServer('PHP_SELF')."?group_id=$group_id&release_id=$release_id&package_id=$package_id"; ?>">
<input type="hidden" name="step1" value="1" />
</td>
</tr>
<tr>
- <td>
+ <td colspan="2">
<br />
<input type="checkbox" name="preformatted" value="1" <?php echo (($frsr->getPreformatted())?'checked="checked"':''); ?> /> <?php echo _('Preserve my pre-formatted text.') ?>
<p>
</form>
<hr />
-<h3><?php echo _('Step 2: Add Files To This Release') ?></h3>
+<h2><?php echo _('Add Files To This Release') ?></h2>
<p><?php echo _('Now, choose a file to upload into the system.') ?></p>
<form enctype="multipart/form-data" method="post" action="<?php echo getStringFromServer('PHP_SELF')."?group_id=$group_id&release_id=$release_id&package_id=$package_id"; ?>">
printf(_('Alternatively, you can use FTP to upload a new file at %1$s.'), forge_get_config('ftp_upload_host'));
echo '<br />';
echo _('Choose an already uploaded file:').'<br />';
- $ftp_files_arr=ls($upload_dir,true);
+ $ftp_files_arr=frs_filterfiles(ls($upload_dir,true));
echo html_build_select_box_from_arrays($ftp_files_arr,$ftp_files_arr,'ftp_filename',''); ?>
</p>
<?php } ?>
<?php if (forge_get_config('use_manual_uploads')) {
- $incoming = forge_get_config('groupdir_prefix')."/".$g->getUnixName()."/incoming" ;
+ $incoming = forge_get_config('groupdir_prefix')."/".$group->getUnixName()."/incoming" ;
echo '<p>';
printf(_('Alternatively, you can use a file you already uploaded (by SFTP or SCP) to the <a href="%2$s">project\'s incoming directory</a> (%1$s).'),
$incoming, "sftp://" . forge_get_config ('web_host') . $incoming . "/");
echo ' ' . _('This direct <tt>sftp://</tt> link only works with some browsers, such as Konqueror.') . '<br />';
echo _('Choose an already uploaded file:').'<br />';
- $manual_files_arr=ls($incoming,true);
+ $manual_files_arr=frs_filterfiles(ls($incoming,true));
echo html_build_select_box_from_arrays($manual_files_arr,$manual_files_arr,'manual_filename',''); ?>
</p>
<?php } ?>
-
+</fieldset>
<table width="60%">
<tr>
<td>
<p>
<input type="submit" name="submit" value="<?php echo _('Add This File') ?>" /></p>
</form>
-<hr />
-<h3><?php echo _('Step 3: Edit Files In This Release') ?></h3>
<?php
// Get a list of files associated with this release
$res=db_query_params ('SELECT * FROM frs_file WHERE release_id=$1',
array($release_id));
$rows=db_numrows($res);
- if($rows < 1) {
- print("<span class=\"error\">"._('No Files In This Release')."</span>\n");
- } else {
+ if($rows > 0) {
+ echo '<hr />';
+ echo '<h2>'._('Edit Files In This Release').'</h2>';
print(_('Once you have added files to this release you <strong>must</strong> update each of these files with the correct information or they will not appear on your download summary page.')."\n");
$title_arr[]=_('Filename<br />Release').'<br />';
$title_arr[]=_('Processor<br />Release Date').'<br />';
</tr>
<tr <?php echo $HTML->boxGetAltRowStyle($x); ?>>
<td>
-
+
<?php echo frs_show_release_popup ($group_id, $name='new_release_id',db_result($res,$x,'release_id')); ?>
-
+
</td>
<td>
-
+
<input type="text" name="release_time" value="<?php echo date('Y-m-d',db_result($res,$x,'release_time')); ?>" size="10" maxlength="10" />
-
+
</td>
<td><input type="submit" name="submit" value="<?php echo _('Update/Refresh') ?> " /></td>
</tr>
<td> </td>
<td> </td>
<td>
-
- <input type="submit" name="submit" value="<?php echo _('Delete File') ?> " /> <input type="checkbox" name="im_sure" value="1" /> <?php echo _('I\'m Sure') ?>
-
+
+ <input type="submit" name="submit" value="<?php echo _('Delete File') ?> " /> <input type="checkbox" name="im_sure" value="1" /> <?php echo _('I\'m Sure') ?>
+
</td>
</tr>
</form>
}
echo '<p>' . sprintf(ngettext('There is %1$s user monitoring this package.', 'There are %1$s users monitoring this package.', $frsp->getMonitorCount()), $frsp->getMonitorCount()) . '</p>';
-echo '<hr />';
frs_admin_footer();