isError()) { exit_no_group(); } if (!$g->usesForum()) { exit_error(sprintf(_('%s does not use the Forum tool'), $g->getPublicName()), 'forums'); } session_require_perm ('forum_admin', $group_id) ; 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; } else if (getStringFromRequest('add_forum')) { if (!form_key_is_valid(getStringFromRequest('form_key'))) { exit_form_double_submit('forums'); } if (check_email_available($g, $g->getUnixName() . '-' . getStringFromRequest('forum_name'), $error_msg)) { $fa = new ForumAdmin($group_id); $feedback .= $fa->ExecuteAction("add_forum"); $g->normalizeAllRoles () ; } } 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'=>_('Add forum'))); echo '
'; forum_footer(array()); } else if (getStringFromRequest('change_status')) { /* Change a forum */ $f = new Forum ($g,$group_forum_id); forum_header(array('title'=>_('Change forum status'))); echo ''._('You can adjust forum features from here. Please note that private forums can still be viewed by members of your project, not the general public.').'
'; $fa = new ForumAdmin($f->Group->getID()); $fa->PrintAdminPendingOption($group_forum_id); echo '';
//echo ''._('Delete Message').'
';
echo ''._('Delete entire forum and all content').'
'._('You are about to permanently and irretrievably delete this entire forum and all its contents!').'
'.util_make_link ('/forum/forum.php?forum_id=' . $forum_id, _("Return to the forum")) . '
'; forum_footer(array()); } elseif (getStringFromRequest("cancel")) { // the user cancelled the request, go back to forum //if thread_id is 0, then we came from message.php. else, we came from forum.php if (!$thread_id) { session_redirect('/forum/message.php?msg_id='.$msg_id); } else { session_redirect('/forum/forum.php?thread_id='.$thread_id.'&forum_id='.$forum_id); } exit; } else { //print the delete message confirmation forum_header(array('title'=>_('Delete a Message'))); echo ''.util_make_link ('/forum/forum.php?forum_id=' . $forum_id, _("Return to the forum")) ; forum_footer(array()); } elseif (getStringFromRequest("cancel")) { // the user cancelled the request, go back to forum session_redirect('/forum/message.php?msg_id='.$msg_id); } else { //print the edit message confirmation $f = new Forum ($fa->GetGroupObject(),$forum_id); if (!$f || !is_object($f)) { exit_error(_('Error Getting Forum'),'forums'); } elseif ($f->isError()) { exit_error($f->getErrorMessage(),'forums'); } $fm=new ForumMessage($f,$msg_id,false,false); if (!$fm || !is_object($fm)) { exit_error(_('Error Getting ForumMessage'),'forums'); } elseif ($fm->isError()) { exit_error($fm->getErrorMessage(),'forums'); } $fh = new ForumHTML($f); if (!$fh || !is_object($fh)) { exit_error(_('Error Getting ForumHTML'),'forums'); } elseif ($fh->isError()) { exit_error($fh->getErrorMessage(),'forums'); } forum_header(array('title'=>_('Edit a Message'))); $fh->showEditForm($fm); forum_footer(array()); } } elseif (getStringFromRequest("movethread")) { $thread_id = getIntFromRequest("movethread"); $msg_id = getStringFromRequest("msg_id"); $forum_id = getIntFromRequest("forum_id"); $return_to_message = getIntFromRequest("return_to_message"); $new_forum_id = getIntFromRequest("new_forum_id"); $f = forum_get_object ($forum_id) ; $fa = new ForumAdmin($f->Group->getID()); if (getStringFromRequest("ok")) { if ($forum_id == $new_forum_id) { $feedback .= _('Thread not moved'); } else { // Move message in another forum $f_from = new Forum ($fa->GetGroupObject(),$forum_id); if (!$f_from || !is_object($f_from)) { exit_error(_('Could Not Get Forum Object'),'forums'); } elseif ($f_from->isError()) { exit_error($f_from->getErrorMessage(),'forums'); } $f_to = new Forum ($fa->GetGroupObject(),$new_forum_id); if (!$f_to || !is_object($f_to)) { exit_error(_('Could Not Get Forum Object'),'forums'); } elseif ($f_to->isError()) { exit_error($f_to->getErrorMessage(),'forums'); } $ff = new ForumFactory($g); if (!$ff || !is_object($ff) || $ff->isError()) { exit_error($ff->getErrorMessage(),'forums'); } if ($ff->moveThread($new_forum_id,$thread_id,$forum_id)) { $feedback .= sprintf(_('Thread successfully moved from %1$s forum to %2$s forum'), $f_from->getName(),$f_to->getName()); } else { $error_msg .= $ff->getErrorMessage(); } } forum_header(array('title'=>_('Edit a Message'))); echo '
'; echo ''; forum_footer(array()); } elseif (getStringFromRequest("cancel")) { // the user cancelled the request, go back to forum if ($return_to_message) { session_redirect('/forum/message.php?msg_id='.$msg_id); } else { session_redirect('/forum/forum.php?thread_id='.$thread_id.'&forum_id='.$forum_id); } exit; } else { // Display select box to select new forum forum_header(array('title'=>_('Move Thread'))); $ff = new ForumFactory($g); if (!$ff || !is_object($ff) || $ff->isError()) { exit_error($ff->getErrorMessage(),'forums'); } $farr = $ff->getForums(); if ($ff->isError()) { echo ''.sprintf(_('No Forums Found For %s'), $g->getPublicName()) . $ff->getErrorMessage().'
'; forum_footer(array()); exit; } /* List the existing forums so they can be edited. */ $forums = array(); for ($j = 0; $j < count($farr); $j++) { if (!is_object($farr[$j])) { //just skip it - this object should never have been placed here } elseif ($farr[$j]->isError()) { echo $farr[$j]->getErrorMessage(); } else { $forums[$farr[$j]->getID()] = $farr[$j]->getName(); } } $f_from = new Forum ($fa->GetGroupObject(),$forum_id); if (!$f_from || !is_object($f_from)) { exit_error(_('Could Not Get Forum Object'),'forums'); } elseif ($f_from->isError()) { exit_error($f_from->getErrorMessage(),'forums'); } echo ''.sprintf(_('No Forums Found For %s'), $g->getPublicName()) . $ff->getErrorMessage().'
'; forum_footer(array()); exit; } /* List the existing forums so they can be edited. */ for ($j = 0; $j < count($farr); $j++) { if (!is_object($farr[$j])) { //just skip it - this object should never have been placed here } elseif ($farr[$j]->isError()) { echo $farr[$j]->getErrorMessage(); } else { echo ''.
$farr[$j]->getName() .'
'.$farr[$j]->getDescription().'
'.
_('Monitoring Users').'