_('News admin')));
if ($approve) {
/*
Show the submit form
*/
$result=db_query_params("SELECT * FROM news_bytes WHERE id=$1 AND group_id=$2", array($id, $group_id));
if (db_numrows($result) < 1) {
exit_error(_('Newsbyte not found'),'news');
}
$group = group_get_object($group_id);
echo notepad_func();
echo '
';
} else {
/*
Show list of waiting news items
*/
$result=db_query_params("SELECT * FROM news_bytes WHERE is_approved <> 4 AND group_id=$1", array($group_id));
$rows=db_numrows($result);
$group = group_get_object($group_id);
if ($rows < 1) {
echo '
'._('No Queued Items Found').'
';
} else {
echo '
';
for ($i=0; $i<$rows; $i++) {
echo '
'.util_make_link ('/news/admin/?approve=1&id='.db_result($result,$i,'id').'&group_id='.db_result($result,$i,'group_id'),db_result($result,$i,'summary')).' ';
}
echo ' ';
}
}
news_footer(array());
} else {
/*
News uber-user admin pages
Show all waiting news items except those already rejected.
Admin members of forge_get_config('news_group') (news project) can edit/change/approve news items
*/
session_require_global_perm ('approve_news') ;
if ($post_changes) {
if ($approve) {
if ($status==1) {
/*
Update the db so the item shows on the home page
*/
if (getStringFromRequest('_details_content_type') == 'html') {
$details = TextSanitizer::purify($details);
} else {
$details = htmlspecialchars($details);
}
$result=db_query_params("UPDATE news_bytes SET is_approved='1', post_date=$1,
summary=$2, details=$3 WHERE id=$4", array(time(), htmlspecialchars($summary), $details, $id));
if (!$result || db_affected_rows($result) < 1) {
$error_msg .= _('Error On Update:');
} else {
$feedback .= _('Newsbyte Updated.');
}
} else if ($status==2) {
/*
Move msg to deleted status
*/
$result=db_query_params("UPDATE news_bytes SET is_approved='2' WHERE id=$1", array($id));
if (!$result || db_affected_rows($result) < 1) {
$error_msg .= _('Error On Update:');
$error_msg .= db_error();
} else {
$feedback .= _('Newsbyte Deleted.');
}
}
/*
Show the list_queue
*/
$approve='';
$list_queue='y';
} else if (getStringFromRequest('mass_reject')) {
/*
Move msg to rejected status
*/
$news_id = getArrayFromRequest('news_id');
$result = db_query_params("UPDATE news_bytes
SET is_approved='2'
WHERE id = ANY($1)",array(db_int_array_to_any_clause($news_id)));
if (!$result || db_affected_rows($result) < 1) {
$error_msg .= _('Error On Update:');
$error_msg .= db_error();
} else {
$feedback .= _('Newsbytes Rejected.');
}
}
}
news_header(array('title'=>_('News admin')));
if ($approve) {
/*
Show the submit form
*/
$result=db_query_params("SELECT groups.unix_group_name,groups.group_id,news_bytes.*
FROM news_bytes,groups WHERE id=$1
AND news_bytes.group_id=groups.group_id ", array($id));
if (db_numrows($result) < 1) {
exit_error(_('Newsbyte not found'),'news');
}
if (db_result($result,0,'is_approved') == 4) {
exit_error(_('Newsbyte deleted'),'news');
}
$group = group_get_object(db_result($result,0,'group_id'));
$user =& user_get_object(db_result($result,0,'submitted_by'));
echo '
'._('Submitted for project').': '.
util_make_link_g (strtolower(db_result($result,0,'unix_group_name')),db_result($result,0,'group_id'),$group->getPublicName()).'
'._('Submitted by').': '.$user->getRealName().'
'._('Approve For Front Page').'
'._('Do Nothing').'
'._('Reject').'
'._('Subject').':
'._('Details').': ';
$GLOBALS['editor_was_set_up']=false;
$params = array () ;
$params['name'] = 'details';
$params['width'] = "600";
$params['height'] = "300";
$params['group'] = db_result($result,0,'group_id');
$params['body'] = db_result($result,0,'details');
plugin_hook("text_editor",$params);
if (!$GLOBALS['editor_was_set_up']) {
//if we don't have any plugin for text editor, display a simple textarea edit box
echo ''.db_result($result,0,'details').' ';
}
unset($GLOBALS['editor_was_set_up']);
echo '
';
} else {
/*
Show list of waiting news items
*/
$old_date = time()-60*60*24*30;
$qpa_pending = db_construct_qpa (false, 'SELECT groups.group_id,id,post_date,summary,
group_name,unix_group_name
FROM news_bytes,groups
WHERE is_approved=0
AND news_bytes.group_id=groups.group_id
AND post_date > $1
AND groups.is_public=1
AND groups.status=$2
ORDER BY post_date', array ($old_date, 'A')) ;
$old_date = time()-(60*60*24*7);
$qpa_rejected = db_construct_qpa (false, 'SELECT groups.group_id,id,post_date,summary,
group_name,unix_group_name
FROM news_bytes,groups
WHERE is_approved=2
AND news_bytes.group_id=groups.group_id
AND post_date > $1
ORDER BY post_date', array ($old_date)) ;
$qpa_approved = db_construct_qpa (false, 'SELECT groups.group_id,id,post_date,summary,
group_name,unix_group_name
FROM news_bytes,groups
WHERE is_approved=1
AND news_bytes.group_id=groups.group_id
AND post_date > $1
ORDER BY post_date', array ($old_date)) ;
show_news_approve_form(
$qpa_pending,
$qpa_rejected,
$qpa_approved
);
}
news_footer(array());
}
// Local Variables:
// mode: php
// c-file-style: "bsd"
// End:
?>