$title,'group'=>$group_id,'toptab'=>'home')); // ########################################### end top area // two column deal echo '
' ; // ########################### Developers on this project echo '

'.$project->getPublicName().'

'._('Project summary').'

'; // ########################################## 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 "

".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'])."

\n"; } $hook_params = array () ; $hook_params['group_id'] = $group_id ; plugin_hook ("project_before_description",$hook_params) ; if ($project->getDescription()) { print "

" . nl2br($project->getDescription()) . '

'; } else { print "

" . _('This project has not yet submitted a description.') . '

'; } print "
\n"; // Tag list if ($GLOBALS['sys_use_project_tags']) { $list_tag = list_project_tag($group_id); if ($list_tag) { print '

' . _('Tags').': '. $list_tag . '

'; } else { $project =& group_get_object($group_id); $perm =& $project->getPermission(session_get_user()); if ($perm->isAdmin()) { print '

' . _('No tag defined for this project') . '.

'; } else { print '

' . _('No tag defined for this project') . '

'; } } } if($GLOBALS['sys_use_trove']) { print "
\n"; print stripslashes(trove_getcatlisting($group_id,0,1,1)); } // registration date 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_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 '
'.sprintf (_('Activity Ranking: %d'), $actv_res) ; print '
'.sprintf(_('View project Statistics'),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 Activity'),util_make_url ('/project/report/?group_id='.$group_id)); } print '
'.sprintf(_('View list of RSS feeds available for this project.'), util_make_url ('/export/rss_project.php?group_id='.$group_id)). ' ' . html_image('ic/rss.png',16,16,array()); } 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 '

'; printf( ngettext('HELP WANTED: This project is looking for a "%2$s".', 'HELP WANTED: This project is looking for people to fill several different positions.', $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) ; echo '
' ; echo $HTML->boxTop(_('Project Members'), 'Project_Members'); $iam_member = false ; if (db_numrows($res_admin) > 0) { echo "

\n"; echo ''._('Project Admins').'
'; $started_developers = false; while ($row_admin = db_fetch_array($res_admin)) { if (trim($row_admin['admin_flags']) != 'A' && !$started_developers) { $started_developers=true; echo ''. _('Developers').':
'; } echo util_make_link_u ($row_admin['user_name'],$row_admin['user_id'],$row_admin['realname']).'
'; if ($row_admin['user_id'] == user_getid()) $iam_member = true ; } echo "

\n"; } $members = $project->getUsers(); echo '

'; echo util_make_link ('/project/memberlist.php?group_id='.$group_id,'['.sprintf(_('View the %1$d Member(s)'),count($members)).']'); ?> echo '

'; if (!$iam_member) { echo '

'.util_make_link ('/project/request.php?group_id='.$group_id,_('Request to join')).'

'; } echo $HTML->boxBottom(); echo '
'; $hook_params = array () ; $hook_params['group_id'] = $group_id ; plugin_hook ("project_before_frs",$hook_params) ; echo '
'; // ############################# File Releases // CB hide FRS if desired if ($project->usesFRS()) { echo $HTML->boxTop(_('Latest File Releases'), 'Latest_File_Releases'); $unix_group_name = $project->getUnixName(); echo ' '; // // 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 ''; } else { /* This query actually contains ALL releases of all packages We will test each row and make sure the package has changed before printing the row */ for ($f=0; $f<$rows_files; $f++) { 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')); $package_name = db_result($res_files, $f, 'package_name'); $package_release = db_result($res_files,$f,'release_name'); echo ' '; // Releases to display echo ' '; } } } echo '
'._('Package').' '._('Version').' '._('Date').' '._('Notes').' '._('Monitor').' '._('Download').'
'._('This Project Has Not Released Any Files').'
' . $package_name . ' ' .$package_release.' ' . $rel_date["month"] . ' ' . $rel_date["mday"] . ', ' . $rel_date["year"] . ' '; // -> 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 ' '; // -> 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 ' '; // -> 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 '
'; echo '
' . util_make_link ('/frs/?group_id='.$group_id, _('View All Project Files')) . '
'; echo $HTML->boxBottom(); } echo '
' . "\n"; $hook_params = array () ; $hook_params['group_id'] = $group_id ; plugin_hook ("project_after_frs",$hook_params) ; // ############################## PUBLIC AREAS echo '
'; echo $HTML->boxTop(_('Public Areas'), 'Public_Areas'); // ################# Homepage Link echo '
'; echo util_make_link ('http://' . $project->getHomePage(), $HTML->getHomePic(_('Home Page')) . ' ' . _('Project Home Page')); echo '
'; // ################## ArtifactTypes if ($project->usesTracker()) { echo '
'; $link_content = $HTML->getFollowPic(_('Tracker')) . ' ' . _('Tracker'); echo util_make_link ( '/tracker/?group_id=' . $group_id, $link_content); $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=$1 AND agl.is_public=1 ORDER BY group_artifact_id ASC', array($group_id)); $rows = db_numrows($result); if (!$result || $rows < 1) { echo '
'._('There are no public trackers available').''; } else { echo '
    '; for ($j = 0; $j < $rows; $j++) { echo '
  • '; 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('(%1$s open / %2$s total)', '(%1$s open / %2$s total)', (int) db_result($result, $j, 'open_count')), (int) db_result($result, $j, 'open_count'), (int) db_result($result, $j, 'count')) .'
    '. db_result($result, $j, 'description'); echo '
  • ' ; } echo '
'; } echo '
'; } // ################## forums if ($project->usesForum()) { echo '
'; $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("%d message","%d messages",$messages_count),$messages_count); print ' in '; printf(ngettext("%d forum","%d forums",$forums_count),$forums_count); print ')' ; print "\n
"; } // ##################### Doc Manager if ($project->usesDocman()) { echo '
'; $link_content = $HTML->getDocmanPic('') . ' ' . _('DocManager: Project Documentation'); print util_make_link( '/docman/?group_id='.$group_id, $link_content); echo '
'; } // ##################### Mailing lists if ($project->usesMail()) { echo '
'; $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('(%1$s public mailing list)', '(%1$s public mailing lists)', $n), $n); echo '
'; } // ##################### Task Manager if ($project->usesPm()) { echo '
'; $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 '
'._('There are no public subprojects available').''; } else { echo '
    '; for ($j = 0; $j < $rows; $j++) { echo '
  • ' ; 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 '
  • ' ; } echo '
'; } echo '
'; } // ######################### Surveys if ($project->usesSurvey()) { echo '
'; print html_image('ic/survey16b.png','20','20',array('alt'=>"")) . " "; print util_make_link( '/survey/?group_id='.$group_id, ' '._('Surveys')); echo ' ( '. project_get_survey_count($group_id) .' ' . _('surveys').' )'; echo '
'; } // ######################### SCM if ($project->usesSCM()) { echo '
'; $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 '
'; } // ######################### 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()) { echo '
'; $link_content = $HTML->getFtpPic('') . ' ' . _('Anonymous FTP Space'); print util_make_link('ftp://' . $project->getUnixName() . '.' . $GLOBALS['sys_default_domain'] . '/pub/'. $project->getUnixName(), $link_content); echo '
'; } } //webcalendar plugin_hook("cal_link_group",$group_id); echo $HTML->boxBottom(); echo '
'; if ($project->usesNews()) { // ############################# Latest News echo $HTML->boxTop(_('Latest News'), 'Latest_News'); echo news_show_latest($group_id,10,false); echo $HTML->boxBottom(); } //echo $HTML->boxBottom(); echo '
'; // // Linked projects (hierarchy) // plugin_hook('project_home_link',$group_id); site_project_footer(array()); // Local Variables: // mode: php // c-file-style: "bsd" // End: ?>