-<?php /** * project_home.php * * SourceForge: Breaking Down the Barriers to Open Source Development * Copyright 1999-2001 (c) VA Linux Systems * http://sourceforge.net * * @version $Id: project_home.php.patched,v 1.1.2.1 2002/11/30 09:57:57 cbayle
-Exp $ */
-
-require_once('www/include/vote_function.php');
-require_once('common/include/vars.php');
-require_once('www/news/news_utils.php');
-require_once('www/include/trove.php');
-require_once('www/include/project_summary.php');
+<?php
-//make sure this project is NOT a foundry
-if (!$project->isProject()) {
- header ("Location: /foundry/". $project->getUnixName() ."/");
- exit;
-}
+/**
+* project_home.php
+*
+* SourceForge: Breaking Down the Barriers to Open Source Development
+* Copyright 1999-2001 (c) VA Linux Systems
+* http://sourceforge.net
+*
+*/
-// Icons theming
-$imgproj=$HTML->imgproj;
+require_once $gfwww.'news/news_utils.php';
+require_once $gfwww.'include/trove.php';
+require_once $gfwww.'include/project_summary.php';
+require_once $gfcommon.'include/tag_cloud.php';
-$title = 'Project Info - '. $project->getPublicName();
+$title = _('Project Info');
-site_project_header(array('title'=>$title,'group'=>$group_id,'toptab'=>'home','pagename'=>'projects','sectionvals'=>array(group_getname($group_id))));
+site_project_header(array('title'=>$title,'group'=>$group_id,'toptab'=>'home'));
// ########################################### end top area
// two column deal
-?>
-
-<TABLE WIDTH="100%" BORDER="0">
- <TR>
- <TD WIDTH="99%" VALIGN="top">
- <?php
-
-// ########################################## top area, not in box
-$res_admin = db_query("
- SELECT users.user_id AS user_id,users.user_name AS user_name
- FROM users,user_group
- WHERE user_group.user_id=users.user_id
- AND user_group.group_id=$group_id
- AND user_group.admin_flags = 'A'
- AND users.status='A'
-");
+echo '
+<div id="forge-project-home" class="underline-link">
+<table id="project-summary-and-devs" class="my-layout-table" summary="">
+ <tr>
+ <td>
+ <h2>'.$project->getPublicName().'</h2>
+ <h3>'._('Project summary').'</h3>';
+
+
+// ########################################## top area, not in box
+
+$res_admin = db_query_params ('SELECT users.user_id,users.user_name,users.realname,user_group.admin_flags
+ FROM users,user_group
+ WHERE user_group.user_id=users.user_id
+ AND user_group.group_id=$1
+ AND users.status=$2
+ ORDER BY admin_flags DESC,realname',
+ array($group_id,
+ 'A'));
if ($project->getStatus() == 'H') {
- print "<P>NOTE: This project entry is maintained by the ".$GLOBALS['sys_name']." staff. We are not "
- . "the official site "
- . "for this product. Additional copyright information may be found on this project's homepage.\n";
+ print "<p>".sprintf(_('NOTE: This project entry is maintained by the %1$s staff. We are not the official site for this product. Additional copyright information may be found on this project\'s homepage.'), $GLOBALS['sys_name'])."</p>\n";
}
+$hook_params = array () ;
+$hook_params['group_id'] = $group_id ;
+plugin_hook ("project_before_description",$hook_params) ;
+
if ($project->getDescription()) {
- print "<P>" . $project->getDescription();
+ print "<p>" . nl2br($project->getDescription()) . '</p>';
} else {
- print "<P>" . $Language->getText('group', 'nodescription');
+ print "<p>" . _('This project has not yet submitted a description.') . '</p>';
}
-// trove info
-print '<BR> <BR>';
-print trove_getcatlisting($group_id,0,1);
+print "<br />\n";
+
+// Tag list
+if ($GLOBALS['sys_use_project_tags']) {
+ $list_tag = list_project_tag($group_id);
+ if ($list_tag) {
+ print '<p>' . _('Tags').': '. $list_tag . '</p>';
+ }
+ else {
+ $project =& group_get_object($group_id);
+ $perm =& $project->getPermission(session_get_user());
+ if ($perm->isAdmin()) {
+ print '<p><a href="/project/admin/editgroupinfo.php?group_id=' . $group_id . '" >' . _('No tag defined for this project') . '</a>.</p>';
+ }
+ else {
+ print '<p>' . _('No tag defined for this project') . '</p>';
+ }
+ }
+}
+
+if($GLOBALS['sys_use_trove']) {
+ print "<br />\n";
+ print stripslashes(trove_getcatlisting($group_id,0,1,1));
+}
// registration date
-print($Language->getText('group', 'registered') . date($sys_datefmt, $project->getStartDate()));
+print(_('Registered: ') . date(_('Y-m-d H:i'), $project->getStartDate()));
// Get the activity percentile
// CB hide stats if desired
if ($project->usesStats()) {
- $actv = db_query("SELECT percentile FROM project_weekly_metric WHERE group_id='$group_id'");
- $actv_res = db_result($actv,0,"percentile");
+ $actv = db_query_params ('SELECT ranking FROM project_weekly_metric WHERE group_id=$1',
+ array($group_id));
+ $actv_res = db_result($actv,0,"ranking");
if (!$actv_res) {
$actv_res=0;
}
- print '<br>'.$Language->getText('group', 'activity'). $actv_res . '%';
- print '<br>'.$Language->getText('group', 'activitystat', $group_id);
+ print '<br />'.sprintf (_('Activity Ranking: %d'), $actv_res) ;
+ print '<br />'.sprintf(_('View project <a href="%1$s" >Statistics</a>'),util_make_url ('/project/stats/?group_id='.$group_id));
+ if ( ($project->usesTracker() && $GLOBALS['sys_use_tracker']) || ($project->usesPm() && $GLOBALS['sys_use_pm']) ) {
+ print sprintf(_(' or <a href="%1$s">Activity</a>'),util_make_url ('/project/report/?group_id='.$group_id));
+ }
+ print '<br />'.sprintf(_('View list of <a href="%1$s">RSS feeds</a> available for this project.'), util_make_url ('/export/rss_project.php?group_id='.$group_id)). ' ' . html_image('ic/rss.png',16,16,array());
}
-$jobs_res = db_query("SELECT name ".
- "FROM people_job,people_job_category ".
- "WHERE people_job.category_id=people_job_category.category_id ".
- "AND people_job.status_id=1 ".
- "AND group_id='$group_id' ".
- "GROUP BY name",2);
-if ($jobs_res) {
- $num=db_numrows($jobs_res);
- if ($num>0) {
- print '<br><br>HELP WANTED: This project is looking for ';
- if ($num==1) {
- print '<a href="/people/?group_id='.$group_id.'">'.
- db_result($jobs_res,0,"name").'(s)</a>';
- } else {
- print 'People to fill '.
- '<a href="/people/?group_id='.$group_id.'">several '.
- 'different positions</a>';
- }
- }
+if($GLOBALS['sys_use_people']) {
+ $jobs_res = db_query_params ('SELECT name
+ FROM people_job,people_job_category
+ WHERE people_job.category_id=people_job_category.category_id
+ AND people_job.status_id=1
+ AND group_id=$1
+ GROUP BY name',
+ array ($group_id),
+ 2);
+ if ($jobs_res) {
+ $num=db_numrows($jobs_res);
+ if ($num>0) {
+ print '<br /><br />';
+ printf(
+ ngettext('HELP WANTED: This project is looking for a <a href="%1$s">"%2$s"</a>.',
+ 'HELP WANTED: This project is looking for people to fill <a href="%1$s">several different positions</a>.',
+ $num),
+ util_make_url ('/people/?group_id='.$group_id),
+ db_result($jobs_res,0,"name"));
+ }
+ }
}
+$hook_params = array () ;
+$hook_params['group_id'] = $group_id ;
+plugin_hook ("project_after_description",$hook_params) ;
-
-?>
- </TD>
- <TD NoWrap VALIGN="top">
-
-<?php
+echo '</td>' ;
// ########################### Developers on this project
-echo $HTML->boxTop($Language->getText('group','developer_info'));
+echo '<td>' ;
+echo $HTML->boxTop(_('Project Members'), 'Project_Members');
-if (db_numrows($res_admin) > 0) {
+$iam_member = false ;
- ?>
- <SPAN CLASS="develtitle"><?php echo $Language->getText('group','project_admins'); ?>:</SPAN><BR>
- <?php
- while ($row_admin = db_fetch_array($res_admin)) {
- print "<A href=\"/users/$row_admin[user_name]/\">$row_admin[user_name]</A><BR>";
+if (db_numrows($res_admin) > 0) {
+ echo "<p>\n";
+ echo '<span class="develtitle">'._('Project Admins').'</span><br />';
+ $started_developers = false;
+ while ($row_admin = db_fetch_array($res_admin)) {
+ if (trim($row_admin['admin_flags']) != 'A' && !$started_developers) {
+ $started_developers=true;
+ echo '<span class="develtitle">'. _('Developers').':</span><br />';
}
- ?>
- <HR WIDTH="100%" SIZE="1" NoShade>
- <?php
-
+ echo util_make_link_u ($row_admin['user_name'],$row_admin['user_id'],$row_admin['realname']).'<br />';
+ if ($row_admin['user_id'] == user_getid())
+ $iam_member = true ;
+ }
+ echo "</p>\n";
}
-?>
-<SPAN CLASS="develtitle"><?php echo $Language->getText('group','developers'); ?>:</SPAN><BR>
-<?php
-//count of developers on this project
-$res_count = db_query("SELECT user_id FROM user_group WHERE group_id=$group_id");
-print db_numrows($res_count);
-
-?>
-
-<A HREF="/project/memberlist.php?group_id=<?php print $group_id; ?>">[View Members]</A>
-<?php
+$members = $project->getUsers();
+echo '<p>';
+echo util_make_link ('/project/memberlist.php?group_id='.$group_id,sprintf(_('View the %1$d Member(s)'),count($members)));
+echo '</p>';
+if (!$iam_member) {
+ echo '<p>'.util_make_link ('/project/request.php?group_id='.$group_id,_('Request to join')).'</p>';
+}
echo $HTML->boxBottom();
-?>
- </TD>
- </TR>
-</TABLE>
-<P>
-<?php
+echo '</td></tr></table>';
+$hook_params = array () ;
+$hook_params['group_id'] = $group_id ;
+plugin_hook ("project_before_frs",$hook_params) ;
+echo '<div id="file-releases">';
// ############################# File Releases
// CB hide FRS if desired
if ($project->usesFRS()) {
- echo $HTML->boxTop($Language->getText('frs','latest_file_releases'));
+ echo $HTML->boxTop(_('Latest File Releases'), 'Latest_File_Releases');
$unix_group_name = $project->getUnixName();
echo '
- <TABLE cellspacing="1" cellpadding="5" width="100%" border="0">
- <TR bgcolor="'.$HTML->COLOR_LTBACK1.'">
- <TD align="left"">
- '.$Language->getText('frs','file_package').'
- </td>
- <TD align="center">
- '.$Language->getText('frs','file_version').'
- </td>
- <td align="center">
- '.$Language->getText('frs','file_rel_date').'
- </td>
- <TD align="center">
- '.$Language->getText('frs','file_notes').' / '.$Language->getText('frs','file_monitor').'
- </td>
- <TD align="center">
- '.$Language->getText('frs','file_download').'
- </td>
- </TR>';
-
- $sql="SELECT frs_package.package_id,frs_package.name AS package_name,frs_release.name AS release_name,frs_release.release_id AS release_id,frs_release.release_date AS release_date ".
- "FROM frs_package,frs_release ".
- "WHERE frs_package.package_id=frs_release.package_id ".
- "AND frs_package.group_id='$group_id' ".
- "AND frs_release.status_id=1 ".
- "ORDER BY frs_package.package_id,frs_release.release_date DESC";
-
- $res_files = db_query($sql);
+ <table summary="Latest file releases" class="width-100p100">
+ <tr class="table-header">
+ <th class="align-left" scope="col">
+ '._('Package').'
+ </th>
+ <th scope="col">
+ '._('Version').'
+ </th>
+ <th scope="col">
+ '._('Date').'
+ </th>
+ <th scope="col">
+ '._('Notes').'
+ </th>
+ <th scope="col">
+ '._('Monitor').'
+ </th>
+ <th scope="col">
+ '._('Download').'
+ </th>
+ </tr>';
+
+ //
+ // Members of projects can see all packages
+ // Non-members can only see public packages
+ //
+ $public_required = 1;
+ if (session_loggedin() &&
+ (user_ismember($group_id) || user_ismember(1,'A'))) {
+ $public_required = 0 ;
+ }
+
+ $res_files = db_query_params ('SELECT frs_package.package_id,frs_package.name AS package_name,frs_release.name AS release_name,frs_release.release_id AS release_id,frs_release.release_date AS release_date
+ FROM frs_package,frs_release
+ WHERE frs_package.package_id=frs_release.package_id
+ AND frs_package.group_id=$1
+ AND frs_release.status_id=1
+ AND (frs_package.is_public=1 OR 1 != $2)
+ ORDER BY frs_package.package_id,frs_release.release_date DESC',
+ array ($group_id,
+ $public_required));
$rows_files=db_numrows($res_files);
if (!$res_files || $rows_files < 1) {
echo db_error();
// No releases
- echo '<TR BGCOLOR="'.$HTML->COLOR_LTBACK1.'"><TD COLSPAN="5"><B>'.$Language->getText('group', 'norelease').'</B></TD></TR>';
+ echo '<tr><td colspan="6"><strong>'._('This Project Has Not Released Any Files').'</strong></td></tr>';
} else {
/*
if (db_result($res_files,$f,'package_id')==db_result($res_files,($f-1),'package_id')) {
//same package as last iteration - don't show this release
} else {
- $rel_date = getdate(db_result($res_files,$f,'release_date'));
+ $rel_date = getdate (db_result ($res_files, $f, 'release_date'));
+ $package_name = db_result($res_files, $f, 'package_name');
+ $package_release = db_result($res_files,$f,'release_name');
echo '
- <TR BGCOLOR="'.$HTML->COLOR_LTBACK1.'" ALIGN="center">
- <TD ALIGN="left">
- <B>' . db_result($res_files,$f,'package_name'). '</B></TD>';
+ <tr class="align-center">
+ <td class="align-left">
+ <strong>' . $package_name . '</strong>
+ </td>';
// Releases to display
- print '<TD>'.db_result($res_files,$f,'release_name') .'
- </TD>
- <td>' . $rel_date["month"] . ' ' . $rel_date["mday"] . ', ' . $rel_date["year"] . '</td>
- <TD><A href="/project/shownotes.php?group_id=' . $group_id . '&release_id=' . db_result($res_files,$f,'release_id') . '">';
- echo html_image('ic/manual16c.png','15','15',array('alt'=>'Release Notes'));
- echo '</A> - <A HREF="/project/filemodule_monitor.php?filemodule_id=' . db_result($res_files,$f,'package_id') . '&group_id='.$group_id.'&start=1">';
- echo html_image('ic/mail16d.png','15','15',array('alt'=>'Monitor This Package'));
- echo '</A>
- </TD>
- <TD><A HREF="/project/showfiles.php?group_id=' . $group_id . '&release_id=' . db_result($res_files,$f,'release_id') . '">'.$Language->getText('frs','file_download').'</A></TD></TR>';
+ echo '
+ <td>'
+ .$package_release.'
+ </td>
+ <td>'
+ . $rel_date["month"] . ' ' . $rel_date["mday"] . ', ' . $rel_date["year"] .
+ '</td>
+ <td class="align-center">';
+
+ // -> notes
+ // accessibility: image is a link, so alt must be unique in page => construct a unique alt
+ $tmp_alt = $package_name . " - " . _('Release Notes');
+ $link = '/frs/shownotes.php?group_id=' . $group_id . '&release_id=' . db_result($res_files, $f, 'release_id');
+ $link_content = $HTML->getReleaseNotesPic($tmp_alt, $tmp_alt);
+ echo util_make_link ($link, $link_content);
+ echo '</td>
+ <td class="align-center">';
+
+ // -> monitor
+ $tmp_alt = $package_name . " - " . _('Monitor this package');
+ $link = '/frs/monitor.php?filemodule_id=' . db_result($res_files,$f,'package_id') . '&group_id='.$group_id.'&start=1';
+ $link_content = $HTML->getMonitorPic($tmp_alt, $tmp_alt);
+ echo util_make_link ($link, $link_content);
+ echo '</td>
+ <td class="align-center">';
+
+ // -> download
+ $tmp_alt = $package_name." ".$package_release." - ". _('Download');
+ $link_content = $HTML->getDownloadPic($tmp_alt, $tmp_alt);
+ $t_link_anchor = $HTML->toSlug($package_name)."-".$HTML->toSlug($package_release)."-title-content";
+ $link = '/frs/?group_id=' . $group_id . '&release_id=' . db_result($res_files, $f, 'release_id')."#".$t_link_anchor;
+ echo util_make_link ($link, $link_content);
+ echo '</td>
+ </tr>';
+
}
}
-
}
- ?></TABLE>
- <div align="center">
- <a href="/project/showfiles.php?group_id=<?php print $group_id; ?>">[View ALL Project Files]</A>
- </div>
-<?php
- echo $HTML->boxBottom();
+ echo '</table>';
+ echo '<div class="underline-link">' . util_make_link ('/frs/?group_id='.$group_id, _('View All Project Files')) . '</div>';
+
+ echo $HTML->boxBottom();
}
-?>
-<P>
-<TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0">
- <TR>
- <TD VALIGN="top">
+echo '</div><!-- id="file-releases" -->' . "\n";
-<?php
+$hook_params = array () ;
+$hook_params['group_id'] = $group_id ;
+plugin_hook ("project_after_frs",$hook_params) ;
// ############################## PUBLIC AREAS
-echo $HTML->boxTop($Language->getText('group','public_area'));
+
+echo '<table id="project-public-areas-and-news" class="my-layout-table" summary="">
+ <tr><td>
+ ';
+echo $HTML->boxTop(_('Public Areas'), 'Public_Areas');
// ################# Homepage Link
-print "<A href=\"http://" . $project->getHomePage() . "\">";
-print html_image('ic/home16b.png','20','20',array('alt'=>$Language->getText('group','short_homepage')));
-print ' '.$Language->getText('group','long_homepage').'</A>';
+echo '<div class="public-area-box">';
+echo util_make_link ('http://' . $project->getHomePage(), $HTML->getHomePic(_('Home Page')) . ' ' . _('Project Home Page'), false, true);
+echo '</div>
+ ';
// ################## ArtifactTypes
-// CB hide tracker if desired
if ($project->usesTracker()) {
- print '<HR SIZE="1" NoShade><A href="/tracker/?group_id='.$group_id.'">';
- print html_image('ic/tracker20g.png','20','20',array('alt'=>$Language->getText('group','short_tracker')));
- print $Language->getText('group', 'short_tracker').'</A>';
+ echo '<div class="public-area-box">';
+ $link_content = $HTML->getFollowPic(_('Tracker')) . ' ' . _('Tracker');
+ echo util_make_link ( '/tracker/?group_id=' . $group_id, $link_content);
- $result=db_query("SELECT agl.*,aca.count,aca.open_count
+ $result=db_query_params ('SELECT agl.*,aca.count,aca.open_count
FROM artifact_group_list agl
- LEFT JOIN artifact_counts_agg aca USING (group_artifact_id)
- WHERE agl.group_id='$group_id'
- AND agl.is_public=1
- ORDER BY group_artifact_id ASC");
+ LEFT JOIN artifact_counts_agg aca USING (group_artifact_id)
+ WHERE agl.group_id=$1
+ AND agl.is_public=1
+ ORDER BY group_artifact_id ASC',
+ array($group_id));
$rows = db_numrows($result);
if (!$result || $rows < 1) {
- echo '<BR><I>There are no public trackers available</I>';
+ echo '<br /><em>'._('There are no public trackers available').'</em>';
} else {
+ echo '<ul class="tracker">';
for ($j = 0; $j < $rows; $j++) {
- echo '<P>
- - <A HREF="/tracker/?atid='. db_result($result, $j, 'group_artifact_id') .
- '&group_id='.$group_id.'&func=browse">'. db_result($result, $j, 'name') .'</A>
- ( <B>'. db_result($result, $j, 'open_count') .' open / '. db_result($result, $j, 'count') .' total</B> )<BR>'.
- db_result($result, $j, 'description');
+ echo '<li>';
+ echo util_make_link ('/tracker/?atid='. db_result($result, $j, 'group_artifact_id') . '&group_id='.$group_id.'&func=browse',db_result($result, $j, 'name')) . ' ' ;
+ printf(ngettext('(<strong>%1$s</strong> open / <strong>%2$s</strong> total)', '(<strong>%1$s</strong> open / <strong>%2$s</strong> total)', (int) db_result($result, $j, 'open_count')), (int) db_result($result, $j, 'open_count'), (int) db_result($result, $j, 'count'));
+ echo '<br />'.db_result($result, $j, 'description').'</li>';
}
+ echo '</ul>';
}
+ echo '</div>';
}
// ################## forums
if ($project->usesForum()) {
- print '<HR SIZE="1" NoShade><A href="/forum/?group_id='.$group_id.'">';
- print html_image('ic/forum20g.png','20','20',array('alt'=>$Language->getText('group','short_forum')));
- print ' '.$Language->getText('group','long_forum').'</A>';
- print " ( <B>". project_get_public_forum_message_count($group_id) ."</B> messages in ";
-
- print "<B>". project_get_public_forum_count($group_id) ."</B> forums )\n";
+ echo '<div class="public-area-box">';
+ $link_content = $HTML->getForumPic('') . ' ' . _('Public Forums');
+ echo util_make_link ( '/forum/?group_id=' . $group_id, $link_content);
+ print ' (';
+ $messages_count = project_get_public_forum_message_count($group_id);
+ $forums_count = project_get_public_forum_count($group_id);
+ printf(ngettext("<strong>%d</strong> message","<strong>%d</strong> messages",$messages_count),$messages_count);
+ print ' in ';
+ printf(ngettext("<strong>%d</strong> forum","<strong>%d</strong> forums",$forums_count),$forums_count);
+ print ')' ;
+ print "\n</div>";
}
// ##################### Doc Manager
if ($project->usesDocman()) {
- print '
- <HR SIZE="1" NoShade>
- <A href="/docman/?group_id='.$group_id.'">';
- print html_image('ic/docman16b.png','20','20',array('alt'=>$Language->getText('group','short_docman')));
- print ' '.$Language->getText('group','long_docman').'</A>';
+ echo '<div class="public-area-box">';
+ $link_content = $HTML->getDocmanPic('') . ' ' . _('DocManager: Project Documentation');
+ print util_make_link( '/docman/?group_id='.$group_id, $link_content);
+ echo '</div>';
}
// ##################### Mailing lists
if ($project->usesMail()) {
- print '<HR SIZE="1" NoShade><A href="/mail/?group_id='.$group_id.'">';
- print html_image('ic/mail16b.png','20','20',array('alt'=>$Language->getText('group','short_mail')));
- print ' '.$Language->getText('group','long_mail').'</A>';
- print " ( <B>". project_get_mail_list_count($group_id) ."</B> public mailing lists )";
+ echo '<div class="public-area-box">';
+ $link_content = $HTML->getMailPic('') . ' ' . _('Mailing Lists');
+ print util_make_link( '/mail/?group_id='.$group_id, $link_content);
+ $n = project_get_mail_list_count($group_id);
+ printf(ngettext('(<strong>%1$s</strong> public mailing list)', '(<strong>%1$s</strong> public mailing lists)', $n), $n);
+ echo '</div>';
}
-// ##################### Task Manager
+// ##################### Task Manager
if ($project->usesPm()) {
- print '<HR SIZE="1" NoShade><A href="/pm/?group_id='.$group_id.'">';
- print html_image('ic/taskman20g.png','20','20',array('alt'=>$Language->getText('group','short_pm')));
- print ' '.$Language->getText('group','long_pm').'</A>';
- $sql="SELECT * FROM project_group_list WHERE group_id='$group_id' AND is_public=1";
- $result = db_query ($sql);
+ echo '<div class="public-area-box">';
+ $link_content = $HTML->getPmPic('') . ' ' . _('Task Manager');
+ print util_make_link( '/pm/?group_id='.$group_id, $link_content);
+
+ $result = db_query_params ('SELECT * FROM project_group_list WHERE group_id=$1 AND is_public=1',
+ array ($group_id));
$rows = db_numrows($result);
if (!$result || $rows < 1) {
- echo '<BR><I>There are no public subprojects available</I>';
+ echo '<br /><em>'._('There are no public subprojects available').'</em>';
} else {
+ echo '<ul class="task-manager">';
for ($j = 0; $j < $rows; $j++) {
- echo '
- <BR> - <A HREF="/pm/task.php?group_project_id='.db_result($result, $j, 'group_project_id').
- '&group_id='.$group_id.'&func=browse">'.db_result($result, $j, 'project_name').'</A>';
+ echo '<li>' ;
+ print util_make_link ('/pm/task.php?group_project_id='.db_result($result, $j, 'group_project_id').'&group_id='.$group_id.'&func=browse',db_result($result, $j, 'project_name'));
+ echo '</li>' ;
}
-
+ echo '</ul>';
}
+ echo '</div>';
}
-// ######################### Surveys
+// ######################### Surveys
if ($project->usesSurvey()) {
- print '<HR SIZE="1" NoShade><A href="/survey/?group_id='.$group_id.'">';
- print html_image('ic/survey16b.png','20','20',array('alt'=>$Language->getText('group','short_survey')));
- print " ".$Language->getText('group','long_survey')."</A>";
- echo ' ( <B>'. project_get_survey_count($group_id) .'</B> surveys )';
+ echo '<div class="public-area-box">';
+ print html_image('ic/survey16b.png','20','20',array('alt'=>"")) . " ";
+ print util_make_link( '/survey/?group_id='.$group_id, ' '._('Surveys'));
+ echo ' ( <strong>'. project_get_survey_count($group_id) .'</strong> ' . _('surveys').' )';
+ echo '</div>';
}
-// ######################### CVS
-
-if ($project->usesCVS()) {
- print '<HR SIZE="1" NoShade><A href="/scm/?group_id='.$group_id.'">';
- print html_image('ic/cvs16b.png','20','20',array('alt'=>$Language->getText('group','short_cvs')));
- print " ".$Language->getText('group','long_cvs')."</A>";
-
- $result = db_query("
- SELECT cvs_commits AS commits,cvs_adds AS adds
- FROM stats_project_all
- WHERE group_id='$group_id'
- ", -1, 0, SYS_DB_STATS);
- $cvs_commit_num = db_result($result,0,0);
- $cvs_add_num = db_result($result,0,1);
- if (!$cvs_commit_num) {
- $cvs_commit_num=0;
- }
- if (!$cvs_add_num) {
- $cvs_add_num=0;
- }
- echo ' ( <B>' . number_format($cvs_commit_num, 0) . '</B> commits, <B>' . number_format($cvs_add_num, 0) . '</B> adds )';
- if ($cvs_commit_num || $cvs_add_num) {
- echo '<br> -
- <a href="'.account_group_cvsweb_url($project->getUnixName()).'">
- Browse CVS</a>';
- }
+// ######################### SCM
+if ($project->usesSCM()) {
+ echo '<div class="public-area-box">';
+
+ $link_content = $HTML->getScmPic('') . ' ' . _('SCM Repository');
+ print util_make_link( '/scm/?group_id='.$group_id, $link_content);
+
+ $hook_params = array () ;
+ $hook_params['group_id'] = $group_id ;
+ plugin_hook ("scm_stats", $hook_params) ;
+ echo '</div>';
}
-// ######################## AnonFTP
+// ######################### Plugins
+
+$hook_params = array ();
+$hook_params['group_id'] = $group_id;
+plugin_hook ("project_public_area", $hook_params);
+
+// ######################## AnonFTP
// CB hide FTP if desired
if ($project->usesFTP()) {
if ($project->isActive()) {
- print '<HR SIZE="1" NoShade>';
- print "<A href=\"ftp://" . $project->getUnixName() . "." . $GLOBALS['sys_default_domain'] . "/pub/". $project->getUnixName() ."/\">";
- print html_image('ic/ftp16b.png','20','20',array('alt'=>$Language->getText('group','long_ftp')));
- print $Language->getText('group','long_ftp')."</A>";
+ echo '<div class="public-area-box">';
+
+ $link_content = $HTML->getFtpPic('') . ' ' . _('Anonymous FTP Space');
+ print util_make_link('ftp://' . $project->getUnixName() . '.' . $GLOBALS['sys_default_domain'] . '/pub/'. $project->getUnixName(), $link_content);
+ echo '</div>';
}
}
+//webcalendar
+plugin_hook("cal_link_group",$group_id);
echo $HTML->boxBottom();
-if ($project->usesNews()) {
- // COLUMN BREAK
- ?>
-
- </TD>
- <TD WIDTH="15"> </TD>
- <TD VALIGN="top">
+echo '
+ </td>
+ <td>
+ ';
- <?php
+if ($project->usesNews()) {
// ############################# Latest News
-
- echo $HTML->boxTop($Language->getText('group','long_news'));
-
+ echo $HTML->boxTop(_('Latest News'), 'Latest_News');
echo news_show_latest($group_id,10,false);
-
echo $HTML->boxBottom();
}
-?>
- </TD>
- </TR>
-</TABLE>
+//echo $HTML->boxBottom();
-<?php
+echo '</td>
+ </tr>
+ </table>
+ </div><!-- id="forge-project-home" -->
+ ';
+
+//
+// Linked projects (hierarchy)
+//
+
+plugin_hook('project_home_link',$group_id);
site_project_footer(array());
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
+
?>