isError()) { exit_no_group(); } $p =& $g->getPermission( session_get_user() ); if (!$p || !is_object($p) || $p->isError()) { exit_permission_denied(); } if (getStringFromRequest('post_changes')) { /* Update the DB to reflect the changes */ if ($deleteforum) { /* Deleting entire forum */ $fa = new ForumAdmin($group_id); $feedback .= $fa->ExecuteAction("delete_forum"); $group_forum_id=0; $deleteforum=0; } elseif (getStringFromRequest('delete')) { /* Deleting messages or threads */ $fa = new ForumAdmin($group_id); $feedback .= $fa->ExecuteAction("delete"); } else if (getStringFromRequest('add_forum')) { if (!form_key_is_valid(getStringFromRequest('form_key'))) { exit_form_double_submit(); } $fa = new ForumAdmin($group_id); $feedback .= $fa->ExecuteAction("add_forum"); } else if (getStringFromRequest('change_status')) { $fa = new ForumAdmin($group_id); $feedback .= $fa->ExecuteAction("change_status"); } } if (getStringFromRequest('add_forum')) { /* Show the form for adding forums */ forum_header(array('title'=>$Language->getText('forum_admin_addforum','title'))); echo '
'.$Language->getText('forum_admin_addforum','forum_name').':

'.$Language->getText('forum_admin_addforum','forum_description').':

'.$Language->getText('forum_admin_addforum','is_public').'
'.$Language->getText('general','yes').'
'.$Language->getText('general','no').'

'.$Language->getText('forum_admin_addforum','allow_anonymous').'
'.$Language->getText('general','yes').'
'.$Language->getText('general','no').'

' . html_build_select_box_from_assoc(array("0" => $Language->getText('forum_admin','moderate0') ,"1" => $Language->getText('forum_admin','moderate1'),"2" => $Language->getText('forum_admin','moderate2') ),"moderation_level",0) . '
' . $Language->getText('forum_admin','moderate1') . ': ' . $Language->getText('forum_admin','explain_moderate1') . '
' . $Language->getText('forum_admin','moderate2') . ': ' . $Language->getText('forum_admin','explain_moderate2') . '

'.$Language->getText('forum_admin_addforum','email_posts').'

'; forum_footer(array()); } else if (getStringFromRequest('change_status')) { /* Change a forum */ $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_changestatus','change_status'))); echo '

'.$Language->getText('forum_admin_changestatus','intro').'

'; $fa = new ForumAdmin(); if ($fa->Authorized($group_id)) { if ($fa->isForumAdmin($group_forum_id)) { $fa->PrintAdminPendingOption($group_forum_id); } } echo '
'.$Language->getText('forum_admin_addforum','allow_anonymous').'
AllowAnonymous() == 1)?' checked="checked"':'').' /> '.$Language->getText('general','yes').'
AllowAnonymous() == 0)?' checked="checked"':'').'/> '.$Language->getText('general','no').'
'.$Language->getText('forum_admin_addforum','is_public').'
isPublic() == 1)?' checked="checked"':'').' /> '.$Language->getText('general','yes').'
isPublic() == 0)?' checked="checked"':'').' /> '.$Language->getText('general','no').'
isPublic() == 9)?' checked="checked"':'').' />'.$Language->getText('general','deleted').'

' . html_build_select_box_from_assoc(array("0" => $Language->getText('forum_admin','moderate0') ,"1" => $Language->getText('forum_admin','moderate1'),"2" => $Language->getText('forum_admin','moderate2') ),"moderation_level",$f->getModerationLevel()) . '
' . $Language->getText('forum_admin','moderate1') . ': ' . $Language->getText('forum_admin','explain_moderate1') . '
' . $Language->getText('forum_admin','moderate2') . ': ' . $Language->getText('forum_admin','explain_moderate2') . '

'.$Language->getText('forum_admin_addforum','forum_name').':

'.$Language->getText('forum_admin_addforum','email_posts').'

'.$Language->getText('forum_admin_addforum','forum_description').':

'; 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('forum_admin','sure').'
'.$Language->getText('forum_admin','really_sure').'
'; forum_footer(array()); } elseif (getStringFromRequest('delete') && $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_changestatus','change_status'))); echo '

'.$Language->getText('general','delete').'

'.$Language->getText('forum_admin_delete_message','enter_message_id').'
'; forum_footer(array()); } elseif ( getStringFromRequest("deletemsg") ) { // confirm delete message $fa = new ForumAdmin(); if ($fa->Authorized($group_id)) { } else { //manage auth errors if ($fa->isGroupIdError()) { exit_no_group(); } elseif ($fa->isPermissionDeniedError()) { exit_permission_denied(); } } } else { /* Show main page for choosing either moderator or delete */ forum_header(array('title'=>$Language->getText('forum_admin','title'))); // // Add new forum // if ($p->isForumAdmin()) { $fa = new ForumAdmin(); $fa->PrintAdminOptions(); } // // Get existing forums // $ff=new ForumFactory($g); if (!$ff || !is_object($ff) || $ff->isError()) { exit_error($Language->getText('general','error'),$ff->getErrorMessage()); } $farr =& $ff->getForums(); if ($ff->isError()) { echo '

'.$Language->getText('forum','error_no_forums_found', array($g->getPublicName())) .'

'; echo $ff->getErrorMessage(); forum_footer(array()); exit; } /* List the existing forums so they can be edited. */ for ($j = 0; $j < count($farr); $j++) { if ($farr[$j]->isError()) { echo $farr->getErrorMessage(); } else { echo ''. $farr[$j]->getName() .'
'.$farr[$j]->getDescription().'

'; } } forum_footer(array()); } } else { /* Not logged in or insufficient privileges */ if (!$group_id) { exit_no_group(); } else { exit_permission_denied(); } } ?>