isError()) {
exit_no_group();
}
$p =& $g->getPermission( session_get_user() );
if (!$p || !is_object($p) || $p->isError()) {
exit_permission_denied();
}
if ($post_changes) {
/*
Update the DB to reflect the changes
*/
if ($deleteforum) {
/*
Deleting entire forum
*/
$f=new Forum($g,$group_forum_id);
if (!$f || !is_object($f)) {
exit_error($Language->getText('general','error'),$Language->getText('forum_errors','error_getting_forum'));
} elseif ($f->isError()) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
}
if (!$f->userIsAdmin()) {
exit_permission_denied();
}
if (!$f->delete($sure,$really_sure)) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
} else {
$feedback .= $Language->getText('forum_admin','deleted');
$group_forum_id=0;
$deleteforum=0;
}
} elseif ($delete) {
/*
Deleting messages or threads
*/
$f=new Forum($g,$group_forum_id);
if (!$f || !is_object($f)) {
exit_error($Language->getText('general','error'),$Language->getText('forum_errors','error_getting_forum'));
} elseif ($f->isError()) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
}
if (!$f->userIsAdmin()) {
exit_permission_denied();
}
$fm=new ForumMessage($f,$msg_id);
if (!$fm || !is_object($fm)) {
exit_error($Language->getText('general','error'),$Language->getText('forum_errors','error_getting_forum'));
} elseif ($fm->isError()) {
exit_error($Language->getText('general','error'),$fm->getErrorMessage());
}
$count=$fm->delete();
if (!$count || $fm->isError()) {
exit_error($Language->getText('general','error'),$fm->getErrorMessage());
} else {
$feedback .= $Language->getText('forum_admin_delete_messages','messages_deleted',$count);
}
} else if ($add_forum) {
/*
Adding forums to this group
*/
if (!$p->isForumAdmin()) {
exit_permission_denied();
}
$f=new Forum($g);
if (!$f || !is_object($f)) {
exit_error($Language->getText('general','error'),$Language->getText('forum_errors','error_getting_forum'));
} elseif ($f->isError()) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
}
if (!$f->create($forum_name,$description,$is_public,$send_all_posts_to,1,$allow_anonymous)) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
} else {
$feedback .= $Language->getText('forum_admin_addforum','forum_created');
}
} else if ($change_status) {
/*
Change a forum
*/
$f=new Forum($g,$group_forum_id);
if (!$f || !is_object($f)) {
exit_error($Language->getText('general','error'),$Language->getText('forum_errors','error_getting_forum'));
} elseif ($f->isError()) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
}
if (!$f->userIsAdmin()) {
exit_permission_denied();
}
if (!$f->update($forum_name,$description,$send_all_posts_to)) {
exit_error($Language->getText('general','error'),$f->getErrorMessage());
} else {
$feedback .= $Language->getText('forum_admin_changestatus','update_successful');
}
}
}
if ($add_forum) {
/*
Show the form for adding forums
*/
forum_header(array('title'=>$Language->getText('forum_admin_addforum','title'),'pagename'=>'forum_admin_addforum','sectionvals'=>group_getname($group_id)));
echo '
'.$Language->getText('forum_admin_changestatus','intro').'
'; echo '';
echo ''.$Language->getText('forum_admin','delete_message').'
';
echo ''.$Language->getText('forum_admin','delete_forum').'
';
forum_footer(array());
} elseif ($deleteforum && $group_forum_id) {
$f = new Forum ($g,$group_forum_id);
if (!$f || !is_object($f)) {
exit_error('Error','Could Not Get Forum Object');
} elseif ($f->isError()) {
exit_error('Error',$f->getErrorMessage());
} elseif (!$f->userIsAdmin()) {
exit_permission_denied();
}
forum_header(array('title'=>$Language->getText('forum_admin','delete')));
echo '
'.$Language->getText('forum_admin','delete_warning').'
'.$Language->getText('general','delete').'
'.$Language->getText('forum_admin','add_forum').'
'; } } forum_footer(array()); } } else { /* Not logged in or insufficient privileges */ if (!$group_id) { exit_no_group(); } else { exit_permission_denied(); } } ?>