[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gforge-commits] gforge/www/frs download.php, NONE, 1.1 index.php, NONE,
From: |
tperdue |
Subject: |
[Gforge-commits] gforge/www/frs download.php, NONE, 1.1 index.php, NONE, 1.1 monitor.php, NONE, 1.1 shownotes.php, NONE, 1.1 |
Date: |
Tue, 10 Feb 2004 16:14:41 -0600 |
Update of /cvsroot/gforge/gforge/www/frs
In directory db.perdue.net:/home/tperdue/share/dev.gforge.org/www/frs
Added Files:
download.php index.php monitor.php shownotes.php
Log Message:
Massive reorg of FRS system
--- NEW FILE: download.php ---
<?php
/**
*
* Fetch a multimedia data from database
*
* SourceForge: Breaking Down the Barriers to Open Source Development
* Copyright 1999-2001 (c) VA Linux Systems
* http://sourceforge.net
*
* @version $Id: download.php,v 1.1 2004/02/10 22:14:38 tperdue Exp $
*
*/
$no_gz_buffer=true;
require_once('squal_pre.php');
$arr=explode('/',$REQUEST_URI);
$file_id=$arr[3];
$res=db_query("SELECT
frs_file.filename,frs_file.file_id,groups.unix_group_name,groups.group_id
FROM frs_package,frs_release,frs_file,groups
WHERE frs_release.release_id=frs_file.release_id
AND groups.group_id=frs_package.group_id
AND frs_release.package_id=frs_package.package_id
AND frs_file.file_id='$file_id'");
if (db_numrows($res) < 1) {
Header("Status: 404");
exit;
}
$group_name=db_result($res,0,'unix_group_name');
$filename=db_result($res,0,'filename');
$release_id=db_result($res,0,'release_id');
$group_id = db_result($res,0,'group_id');
$Group =& group_get_object($group_id);
if (!$Group || !is_object($Group) || $Group->isError()) {
exit_no_group();
}
if(!$Group->isPublic()) {
session_require(array('group' => $group_id));
}
/*
echo $group_name.'|'.$filename.'|'.$sys_upload_dir.$group_name.'/'.$filename;
if (file_exists($sys_upload_dir.$group_name.'/'.$filename)) {
echo '<br />file exists';
passthru($sys_upload_dir.$group_name.'/'.$filename);
}
*/
if (file_exists($sys_upload_dir.$group_name.'/'.$filename)) {
Header("Content-disposition: filename=".$filename);
Header("Content-type: application/binary");
$length = filesize($sys_upload_dir.$group_name.'/'.$filename);
Header("Content-length: $length");
readfile($sys_upload_dir.$group_name.'/'.$filename);
if (session_loggedin()) {
$s =& session_get_user();
$us=$s->getID();
} else {
$us=100;
}
$res=db_query("INSERT INTO frs_dlstats_file
(ip_address,file_id,month,day,user_id)
VALUES
('$REMOTE_ADDR','$file_id','".date('Ym')."','".date('d')."','$us')");
} else {
Header("Status: 404");
}
?>
--- NEW FILE: index.php ---
<?php
/**
*
* Project File Information/Download Page
*
* SourceForge: Breaking Down the Barriers to Open Source Development
* Copyright 1999-2001 (c) VA Linux Systems
* http://sourceforge.net
*
* @version $Id: index.php,v 1.1 2004/02/10 22:14:38 tperdue Exp $
*/
require_once('pre.php');
require_once('www/frs/include/frs_utils.php');
$sql = "SELECT *
FROM frs_package
WHERE group_id='$group_id' AND status_id='1'
ORDER BY name";
$res_package = db_query( $sql );
$num_packages = db_numrows( $res_package );
$cur_group =& group_get_object($group_id);
if (!$cur_group) {
exit_error($Language->getText('project_showfiles','no_group_title'),
$Language->getText('project_showfiles','no_group'));
}
if ( $num_packages < 1) {
exit_error($Language->getText('project_showfiles','error_no_packages_defined_title'),$Language->getText('project_showfiles','error_no_packages_defined_text'));
}
frs_header(array('title'=>$Language->getText('project_showfiles','title'),'group'=>$group_id,'pagename'=>'project_showfiles','sectionvals'=>group_getname($group_id)));
echo '<p>'.$Language->getText('project_showfiles','intro').' ';
if ($release_id) {
echo $Language->getText('project_showfiles','release_highlighted').' ';
}
echo $Language->getText('project_showfiles','intro2').'
</p>
';
// check the permissions and see if this user is a release manager.
// If so, offer the opportunity to create a release
$perm =& $cur_group->getPermission(session_get_user());
if ($perm->isReleaseTechnician()) {
echo "<p><a href=\"admin/qrs.php?package=&group_id=$group_id\">";
echo $Language->getText('project_showfiles','new_release');
echo "</a></p>";
}
// get unix group name for path
$group_unix_name=group_getunixname($group_id);
echo '
<table width="100%" border="0" cellspacing="1" cellpadding="1">';
$cell_data=array();
$cell_data[] =
array($Language->getText('project_showfiles','package'),'rowspan=2');
$cell_data[] =
array($Language->getText('project_showfiles','release_notes'),'rowspan=2');
$cell_data[] =
array($Language->getText('project_showfiles','filename'),'rowspan=2');
$cell_data[] =
array($Language->getText('project_showfiles','date'),'colspan=4');
echo $GLOBALS[HTML]->multiTableRow('', $cell_data, TRUE);
$cell_data=array();
$cell_data[] = array($Language->getText('project_showfiles','size'));
$cell_data[] = array($Language->getText('project_showfiles','downloads'));
$cell_data[] = array($Language->getText('project_showfiles','architecture'));
$cell_data[] = array($Language->getText('project_showfiles','file_type'));
echo $GLOBALS[HTML]->multiTableRow("",$cell_data, TRUE);
$proj_stats['packages'] = $num_packages;
// Iterate and show the packages
for ( $p = 0; $p < $num_packages; $p++ ) {
$cur_style = $GLOBALS['HTML']->boxGetAltRowStyle($p);
print '<tr '.$cur_style.'><td
colspan="3"><h3>'.db_result($res_package,$p,'name').'
<a href="/frs/monitor.php?filemodule_id='.
db_result($res_package,$p,'package_id')
.'&group_id='.db_result($res_package,$p,'group_id').'&start=1">'.
html_image('ic/mail16w.png','20','20',array('alt'=>$Language->getText('project_showfiles','monitor_package')))
.
'</a></h3></td><td colspan="4"> </td></tr>';
// get the releases of the package
$sql = "SELECT * FROM frs_release
WHERE package_id='". db_result($res_package,$p,'package_id') .
"'
AND status_id=1 ORDER BY release_date DESC, name ASC";
$res_release = db_query( $sql );
$num_releases = db_numrows( $res_release );
$proj_stats['releases'] += $num_releases;
if ( !$res_release || $num_releases < 1 ) {
print '<tr '.$cur_style.'><td
colspan="3"> <em>'.$Language->getText('project_showfiles','no_releases').'</em></td><td
colspan="4"> </td></tr>'."\n";
} else {
// iterate and show the releases of the package
for ( $r = 0; $r < $num_releases; $r++ ) {
$cell_data=array();
$package_release = db_fetch_array( $res_release );
// Highlight the release if one was chosen
if ( $release_id && $release_id ==
$package_release['release_id'] ) {
$bgstyle = 'BGCOLOR="pink"';
} else {
$bgstyle = $cur_style;
}
$cell_data[] = array(' <strong>
<a
href="shownotes.php?release_id='.$package_release['release_id'].'">'.$package_release['name']
.'</a></strong>',
"colspan=3");
$cell_data[] = array(' <strong>
'.date( 'Y-m-d H:i'/*$sys_datefmt*/,
$package_release['release_date'] ) .'</strong>',
'colspan=4 align="middle"');
print $GLOBALS[HTML]->multiTableRow($bgstyle,
$cell_data, FALSE);
// get the files in this release....
$sql = "SELECT frs_file.filename AS filename,
frs_file.file_size AS file_size,
frs_file.file_id AS file_id,
frs_file.release_time AS release_time,
frs_filetype.name AS type,
frs_processor.name AS processor,
frs_dlstats_filetotal_agg.downloads AS
downloads
FROM frs_filetype,frs_processor,
frs_file LEFT JOIN frs_dlstats_filetotal_agg ON
frs_dlstats_filetotal_agg.file_id=frs_file.file_id
WHERE release_id='".
$package_release['release_id'] ."'
AND frs_filetype.type_id=frs_file.type_id
AND
frs_processor.processor_id=frs_file.processor_id
ORDER BY filename";
$res_file = db_query($sql);
$num_files = db_numrows( $res_file );
$proj_stats['files'] += $num_files;
if ( !$res_file || $num_files < 1 ) {
print '<tr '.$bgstyle.'><td
colspan="3"><dd><em>No Files</em></td><td colspan="4"> </td></tr>'."\n";
} else {
// now iterate and show the files in this
release....
for ( $f = 0; $f < $num_files; $f++ ) {
$file_release = db_fetch_array(
$res_file );
$cell_data=array();
$cell_data[] = array('<dd>
<a
href="/frs/download.php/'.$file_release['file_id'].'/'.$file_release['filename'].'">'
. $file_release['filename']
.'</a>',
'colspan=3');
$cell_data[] =
array($file_release['file_size'],'align="right"');
$cell_data[] = array(
($file_release['downloads'] ? number_format($file_release['downloads'], 0) :
'0'), 'align="right"');
$cell_data[] =
array($file_release['processor']);
$cell_data[] =
array($file_release['type']);
print
$GLOBALS[HTML]->multiTableRow($bgstyle, $cell_data, FALSE);
$proj_stats['size'] +=
$file_release['file_size'];
$proj_stats['downloads'] +=
$file_release['downloads'];
}
}
}
}
}
if ( $proj_stats['size'] ) {
print '<tr><td colspan="8"> </tr>'."\n";
print
'<tr><td><strong>'.$Language->getText('project_showfiles','project_totals').'</strong></td>'
. '<td align="right"><strong><em>' . $proj_stats['releases'] .
'</em></strong></td>'
. '<td align="right"><strong><em>' . $proj_stats['files'] .
'</em></strong></td>'
. '<td align="right"><strong><em>' . $proj_stats['size'] .
'</em></strong></td>'
. '<td align="right"><strong><em>' . $proj_stats['downloads'] .
'</em></strong></td>'
. '<td colspan="3"> </td></tr>'."\n";
}
print "</table>\n\n";
frs_footer();
?>
--- NEW FILE: monitor.php ---
<?php
/**
* GForge FRS Facility
*
* Copyright 2002 GForge, LLC
* http://gforge.org/
*
* @version $Id: monitor.php,v 1.1 2004/02/10 22:14:38 tperdue Exp $
*/
require_once('pre.php');
require_once('common/frs/FRSPackage.class');
require_once('www/frs/include/frs_utils.php');
if (session_loggedin()) {
if ($filemodule_id && $group_id) {
//
// Set up local objects
//
$g =& group_get_object($group_id);
if (!$g || !is_object($g) || $g->isError()) {
exit_no_group();
}
$f=new FRSPackage($g,$filemodule_id);
if (!$f || !is_object($f)) {
exit_error('Error','Error Getting FRSPackage');
} elseif ($f->isError()) {
exit_error('Error',$f->getErrorMessage());
}
if ($stop) {
if (!$f->stopMonitor()) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
} else {
frs_header(array('title'=>$Language->getText('project_filemodule_monitor','stop_monitor_title'),'group'=>$group_id));
echo
$Language->getText('project_filemodule_monitor','stop_monitor_body');
frs_footer();
}
} elseif($start) {
if (!$f->setMonitor()) {
exit_error('Error',$f->getErrorMessage());
} else {
frs_header(array('title'=>$Language->getText('project_filemodule_monitor','start_monitor_title'),'group'=>$group_id));
echo
$Language->getText('project_filemodule_monitor','start_monitor_body');
frs_footer();
}
}
} else {
exit_missing_param();
}
} else {
exit_not_logged_in();
}
?>
--- NEW FILE: shownotes.php ---
<?php
/**
*
* Show Release Notes/ChangeLog Page
*
* SourceForge: Breaking Down the Barriers to Open Source Development
* Copyright 1999-2001 (c) VA Linux Systems
* http://sourceforge.net
*
* @version $Id: shownotes.php,v 1.1 2004/02/10 22:14:38 tperdue Exp $
*
*/
require_once('pre.php');
require_once('www/frs/include/frs_utils.php');
$result=db_query("SELECT frs_release.notes,frs_release.changes,
frs_release.preformatted,frs_release.name,frs_package.group_id
FROM frs_release,frs_package
WHERE frs_release.package_id=frs_package.package_id
AND frs_release.release_id='$release_id'");
if (!$result || db_numrows($result) < 1) {
echo db_error();
exit_error($Language->getText('general','error'),
$Language->getText('project_shownotes','error_release_not_found'));
} else {
$group_id=db_result($result,0,'group_id');
frs_header(array('title'=>$Language->getText('project_shownotes','title'),'group'=>$group_id,'pagename'=>'project_shownotes','sectionvals'=>array(group_getname($group_id))));
echo $HTML->boxTop($Language->getText('project_shownotes','notes'));
echo '<h3>'.$Language->getText('project_shownotes','release_name').' <a
href="/frs/?group_id='.db_result($result,0,'group_id').'">'.db_result($result,0,'name').'</a></h3>
<p>';
/*
Show preformatted or plain notes/changes
*/
if (db_result($result,0,'preformatted')) {
echo
'<pre><strong>'.$Language->getText('project_shownotes','notes').'</strong>
'.db_result($result,0,'notes').'
<hr noshade="noshade" />
<strong>'.$Language->getText('project_shownotes','changes').'</strong>
'.db_result($result,0,'changes').'</pre>';
} else {
echo
'<strong>'.$Language->getText('project_shownotes','notes').'</strong>
'.db_result($result,0,'notes').'
<hr noshade="noshade" />
<strong>'.$Language->getText('project_shownotes','changes').'</strong>
'.db_result($result,0,'changes') . '</p>';
}
echo $HTML->boxBottom();
frs_footer();
}
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gforge-commits] gforge/www/frs download.php, NONE, 1.1 index.php, NONE, 1.1 monitor.php, NONE, 1.1 shownotes.php, NONE, 1.1,
tperdue <=