header($params);
}
if ($group_id && ($group_id != $sys_news_group)) {
echo ($HTML->subMenu(
array($Language->getText('menu','submit'),$Language->getText('menu','admin')),
array('/news/submit.php?group_id='.$group_id,'/news/admin/?group_id='.$group_id)));
}
}
function news_footer($params) {
GLOBAL $HTML;
$HTML->footer($params);
}
function news_show_latest($group_id='',$limit=10,$show_summaries=true,$allow_submit=true,$flat=false,$tail_headlines=0,$show_forum=true) {
global $sys_datefmt,$sys_news_group,$Language;
if (!$group_id) {
$group_id=$sys_news_group;
}
/*
Show a simple list of the latest news items with a link to the forum
*/
if ($group_id != $sys_news_group) {
$wclause="news_bytes.group_id='$group_id' AND news_bytes.is_approved <> '4'";
} else {
$wclause='news_bytes.is_approved=1';
}
$sql="SELECT groups.group_name,groups.unix_group_name,
groups.type_id,users.user_name,users.realname,
news_bytes.forum_id,news_bytes.summary,news_bytes.post_date,news_bytes.details
FROM users,news_bytes,groups
WHERE $wclause
AND users.user_id=news_bytes.submitted_by
AND news_bytes.group_id=groups.group_id
ORDER BY post_date DESC";
$result=db_query($sql,$limit+$tail_headlines);
$rows=db_numrows($result);
$return = '';
if (!$result || $rows < 1) {
$return .= $Language->getText('news_utils', 'nonews');
$return .= db_error();
} else {
for ($i=0; $i<$rows; $i++) {
if ($show_summaries && $limit) {
//get the first paragraph of the story
$arr=explode("\n",db_result($result,$i,'details'));
//if the first paragraph is short, and so are following paragraphs, add the next paragraph on
if ((strlen($arr[0]) < 200) && (strlen($arr[1].$arr[2]) < 300) && (strlen($arr[2]) > 5)) {
$summ_txt='
'. util_make_links( $arr[0].'
'.$arr[1].'
'.$arr[2] );
} else {
$summ_txt='
'. util_make_links( $arr[0] );
}
$proj_name=' - '. db_result($result,$i,'group_name') .'';
} else {
$proj_name='';
$summ_txt='';
}
if (!$limit) {
if ($show_forum) {
$return .= '
'. db_result($result,$i,'summary') . '';
} else {
$return .= ''. db_result($result,$i,'summary') . '';
}
$return .= ' '. date($sys_datefmt,db_result($result,$i,'post_date')).'
';
} else {
if ($show_forum) {
$return .= '
'. db_result($result,$i,'summary') . '';
} else {
$return .= '
'. db_result($result,$i,'summary') . '';
}
if (!$flat) {
$return .= '
';
}
$return .= ' '. db_result($result,$i,'realname') .' - '.
date($sys_datefmt,db_result($result,$i,'post_date')). '' .
$proj_name . $summ_txt;
$sql="SELECT total FROM forum_group_list_vw WHERE group_forum_id='" . db_result($result,$i,'forum_id') . "'";
$res2 = db_query($sql);
$num_comments = db_result($res2,0,'total');
if (!$num_comments) {
$num_comments = '0';
}
if ($num_comments <= 1) {
$comments_txt = $Language->getText('news_utils', 'comment_1');
} else {
$comments_txt = $Language->getText('news_utils', 'comment_2');
}
if ($show_forum){
$return .= '
';
} else {
$return .= '
';
}
}
if ($limit==1 && $tail_headlines) {
$return .= "\n";
}
if ($limit) {
$limit--;
}
if (!$limit && $i==$rows-1) {
$return .= '
'."\n";
}
}
if ($group_id != $sys_news_group) {
$archive_url='/news/?group_id='.$group_id;
} else {
$archive_url='/news/';
}
if ($show_forum) {
$return .= '';
} else {
$return .= '...
';
}
}
if ($allow_submit && $group_id != $sys_news_group) {
if(!$result || $rows < 1) {
$return .= '
';
}
//you can only submit news from a project now
//you used to be able to submit general news
$return .= '';
}
return $return;
}
function news_foundry_latest($group_id=0,$limit=5,$show_summaries=true) {
global $sys_datefmt,$Language;
/*
Show a the latest news for a portal
*/
$sql="SELECT groups.group_name,groups.unix_group_name,
users.user_name,users.realname,news_bytes.forum_id,
news_bytes.summary,news_bytes.post_date,news_bytes.details
FROM users,news_bytes,groups,foundry_news
WHERE foundry_news.foundry_id='$group_id'
AND users.user_id=news_bytes.submitted_by
AND foundry_news.news_id=news_bytes.id
AND news_bytes.group_id=groups.group_id
AND foundry_news.is_approved=1
ORDER BY news_bytes.post_date DESC";
$result=db_query($sql,$limit);
$rows=db_numrows($result);
if (!$result || $rows < 1) {
$return .= '' . $Language->getText('news_utils', 'nonews') . '
';
$return .= db_error();
} else {
for ($i=0; $i<$rows; $i++) {
if ($show_summaries) {
//get the first paragraph of the story
$arr=explode("\n",db_result($result,$i,'details'));
if ((strlen($arr[0]) < 200) && (strlen($arr[1].$arr[2]) < 300) && (strlen($arr[2]) > 5)) {
$summ_txt=util_make_links( $arr[0].'
'.$arr[1].'
'.$arr[2] );
} else {
$summ_txt=util_make_links( $arr[0] );
}
//show the project name
$proj_name=' - '. db_result($result,$i,'group_name') .'';
} else {
$proj_name='';
$summ_txt='';
}
$return .= '
'. db_result($result,$i,'summary') . '
'. db_result($result,$i,'realname') .' - '.
date($sys_datefmt,db_result($result,$i,'post_date')) . $proj_name . '
'. $summ_txt .'
';
}
}
return $return;
}
function get_news_name($id) {
/*
Takes an ID and returns the corresponding forum name
*/
$sql="SELECT summary FROM news_bytes WHERE id='$id'";
$result=db_query($sql);
if (!$result || db_numrows($result) < 1) {
return "Not Found";
} else {
return db_result($result, 0, 'summary');
}
}
?>