ForumCatAlliance($_GET['fid']); } else if (isset($_GET['fid2']) && !empty($_GET['fid2'])) { $aid = $database->ForumCatAlliance($_GET['fid2']); } else { $aid = $session->alliance; } } /* ========================================================= * ALLIANCE INFO + PERMISSIONS * ========================================================= */ $allianceinfo = $database->getAlliance($aid); $opt = $database->getAlliPermissions($session->uid, $aid); /* ========================================================= * HEADER OUTPUT * ========================================================= */ echo $aid > 0 ? "

".$allianceinfo['tag']." - ".$allianceinfo['name']."

" : "

".FORUM."

"; include("alli_menu.tpl"); $ids = $_GET['s']; /* ========================================================= * CREATE FORUM * ========================================================= */ if ( isset($_POST['new']) && isset($_POST['u1']) && !empty($_POST['u1']) && isset($_POST['u2']) && !empty($_POST['u2']) && isset($_POST['bid']) && $_POST['bid'] >= 0 && $_POST['bid'] <= 3 && ($session->access == 9 || ($session->alliance > 0 && $opt['opt5'] == 1)) ) { $forumViewable['alliances'] = $forumViewable['users'] = ""; // ADMIN restriction (public forums logic unchanged) if ($session->access != ADMIN && $_POST['bid'] == 1) $_POST['bid'] = 0; elseif ($session->access == ADMIN && $_POST['bid'] != 1) $_POST['bid'] = 1; // visibility logic if ($_POST['bid'] != 1) { $forumViewable = $alliance->createForumVisiblity( $_POST['allys_by_id'], $_POST['allys_by_name'], $_POST['users_by_id'], $_POST['users_by_name'] ); } // create forum $forum_name = $_POST['u1']; $forum_des = $_POST['u2']; $forum_owner = $session->uid; $forum_area = $_POST['bid']; $database->CreatForum( $forum_owner, $session->access == ADMIN ? 0 : $session->alliance, $forum_name, $forum_des, $forum_area, $forumViewable['alliances'], $forumViewable['users'] ); } /* ========================================================= * EDIT TOPIC * ========================================================= */ if ( isset($_POST['edittopic']) && isset($_POST['fid']) && !empty($_POST['fid']) && isset($_POST['tid']) && !empty($_POST['tid']) && isset($_POST['thema']) && !empty($_POST['thema']) && Alliance::canAct([ 'aid' => $aid, 'alliance' => ($topic = reset($database->ShowTopic($_POST['tid'])))['alliance'], 'forum_perm' => $opt['opt5'], 'admin' => $_GET['admin'], 'owner' => $topic['owner'], 'forum_owner' => ($forumData = reset($database->ForumCatEdit($_POST['fid'])))['owner'] ], 1) && ( ($forumData['forum_area'] != 1 && reset($database->ForumCatEdit($topic['cat']))['forum_area'] != 1 && $forumData['alliance'] == $session->alliance) || $forumData['id'] == $topic['cat'] || ($session->access == ADMIN && $forumData['alliance'] = 0) ) ) { $topic_name = $_POST['thema']; $topic_cat = $_POST['fid']; $topic_id = $_POST['tid']; $database->UpdateEditTopic($topic_id, $topic_name, $topic_cat); } /* ========================================================= * EDIT FORUM * ========================================================= */ if ( isset($_POST['editforum']) && isset($_POST['fid']) && !empty($_POST['fid']) && isset($_POST['u1']) && !empty($_POST['u1']) && isset($_POST['u2']) && !empty($_POST['u2']) && ( ($database->ForumCatAlliance($_POST['fid']) == $session->alliance && $opt['opt5'] == 1) || $session->access == ADMIN ) ) { $forumViewable['alliances'] = $forumViewable['users'] = ""; $forumData = reset($database->ForumCatEdit($_POST['fid'])); // visibility logic unchanged if ($forumData['forum_area'] != 1) { $forumViewable = $alliance->createForumVisiblity( $_POST['allys_by_id'], $_POST['allys_by_name'], $_POST['users_by_id'], $_POST['users_by_name'] ); } $forum_name = htmlspecialchars($_POST['u1']); $forum_des = htmlspecialchars($_POST['u2']); $forum_id = $_POST['fid']; $database->UpdateEditForum( $forum_id, $forum_name, $forum_des, $forumViewable['alliances'], $forumViewable['users'] ); } /* ========================================================= * NEW TOPIC * ========================================================= */ if ( isset($_POST['newtopic']) && isset($_POST['thema']) && isset($_POST['text']) && isset($_POST['fid']) && !empty($_POST['thema']) && !empty($_POST['text']) && !empty($_POST['fid']) && ( ( ($forumData = reset($database->ForumCatEdit($_POST['fid'])))['alliance'] == $session->alliance || $forumData['forum_area'] == 1 || $alliance->isForumAccessible($_POST['fid']) ) && ($forumData['forum_area'] != 3 || ($forumData['forum_area'] == 3 && $opt['opt5'] == 1)) ) ) { $title = $_POST['thema']; $text = $_POST['text']; $cat = $_POST['fid']; $owner = $session->uid; $alli = $database->ForumCatAlliance($cat); if (!preg_match('/\[message\]/', $text)) { $text = "[message]".$text."[/message]"; } $survey = false; $ends = ''; if (isset($_POST['umfrage'])) { if (isset($_POST['umfrage_ende'])) { $ends_date = $_POST['month']."/".$_POST['day']."/".$_POST['year']; if ($_POST['meridiem'] == 1) $_POST['hour'] += 12; $ends_time = $_POST['hour'].":".$_POST['minute']; $ends = strtotime($ends_date) - strtotime(date('d.m.y')) + strtotime($ends_time); } for ($i = 1; $i <= 8; $i++) { if (isset($_POST['option_'.$i]) && !empty($_POST['option_'.$i])) { $survey = true; } } } $topic_id = $database->CreatTopic($title, $text, $cat, $owner, $alli, $ends); if ($survey) { $database->createSurvey( $topic_id, $_POST['umfrage_thema'], $_POST['option_1'], $_POST['option_2'], $_POST['option_3'], $_POST['option_4'], $_POST['option_5'], $_POST['option_6'], $_POST['option_7'], $_POST['option_8'], $ends ); } } /* ========================================================= * NEW POST * ========================================================= */ if ( isset($_POST['newpost']) && isset($_POST['text']) && isset($_POST['tid']) && isset($_POST['fid2']) && !empty($_POST['text']) && !empty($_POST['tid']) && !empty($_POST['fid2']) && ( ( ($forumData = reset($database->ForumCatEdit($_POST['fid2'])))['alliance'] == $session->alliance || $forumData['forum_area'] == 1 || $alliance->isForumAccessible($_POST['fid2']) ) && ( ($forumData['forum_area'] != 3 && !reset($database->ShowTopic($_POST['tid']))['close']) || ($forumData['forum_area'] == 3 && $opt['opt5'] == 1) ) ) ) { $text = $_POST['text']; $tids = $_POST['tid']; $fid2 = $_POST['fid2']; $owner = $session->uid; if (!preg_match('/\[message\]/', $text)) { $text = "[message]".$text."[/message]"; } $database->UpdatePostDate($tids); $database->CreatPost($text, $tids, $owner, $fid2); } /* ========================================================= * EDIT ANSWER * ========================================================= */ if ( isset($_POST['editans']) && isset($_POST['text']) && !empty($_POST['text']) && isset($_POST['tid']) && !empty($_POST['tid']) && Alliance::canAct([ 'aid' => $aid, 'alliance' => ($topic = reset($database->ShowTopic($_POST['tid'])))['alliance'], 'forum_perm' => $opt['opt5'], 'admin' => (!empty($_GET['admin']) ? $_GET['admin'] : ''), 'owner' => $topic['owner'], 'forum_owner' => reset($database->ForumCatEdit($topic['cat']))['owner'] ], 1) ) { $text = $_POST['text']; $topic_id = $_POST['tid']; if (!preg_match('/\[message\]/', $text)) { $text = "[message]".$text."[/message]"; } $database->EditUpdateTopic($topic_id, $text); } /* ========================================================= * EDIT POST * ========================================================= */ if ( isset($_POST['editpost']) && isset($_POST['text']) && !empty($_POST['text']) && isset($_POST['pod']) && !empty($_POST['pod']) && Alliance::canAct([ 'aid' => $aid, 'alliance' => ($topic = reset($database->ShowTopic( ($post = reset($database->ShowPostEdit($_POST['pod'])))['topic'] )))['alliance'], 'forum_perm' => $opt['opt5'], 'owner' => $post['owner'], 'admin' => $_GET['admin'], 'forum_owner' => ($forumData = reset($database->ForumCatEdit($topic['cat'])))['owner'] ], 1) ) { $text = $_POST['text']; $posts_id = $_POST['pod']; $text = preg_replace('/\[message\]/', '', $text); $text = preg_replace('/\[\/message\]/', '', $text); $database->EditUpdatePost($posts_id, $text); } /* ========================================================= * ADMIN SWITCH * ========================================================= */ if (!isset($_GET['admin'])) $_GET['admin'] = null; if ($_GET['admin'] == "switch_admin") { if ($opt['opt5'] == 1) { if ($database->CheckResultEdit($aid) != 1) { $database->CreatResultEdit($aid, 1); } } } /* ========================================================= * MOVE FORUM POSITION * ========================================================= */ if ( $_GET['admin'] == "pos" && isset($_GET['res'], $_GET['fid']) && !empty($_GET['fid']) && ( ($database->ForumCatAlliance($_GET['fid']) == $session->alliance && $opt['opt5'] == 1) || ($forumData = reset($database->ForumCatEdit($_GET['fid'])))['owner'] == $session->uid && $session->access == ADMIN ) ) { $database->moveForum($_GET['fid'], $forumData['forum_area'], $session->alliance, $_GET['res']); $alliance->redirect($_GET); } /* ========================================================= * TOPIC ACTIONS * ========================================================= */ elseif (isset($_GET['idt']) && !empty($_GET['idt'])) { $topicID = $_GET['idt']; $post = reset($database->ShowTopic($topicID)); $checkArray = [ 'aid' => $aid, 'alliance' => $post['alliance'], 'forum_perm' => $opt['opt5'], 'admin' => $_GET['admin'], 'owner' => $post['owner'], 'forum_owner' => reset($database->ForumCatEdit($post['cat']))['owner'] ]; if (!Alliance::canAct($checkArray, 1)) { $alliance->redirect($_GET); } switch ($_GET['admin']) { case "pin": $database->StickTopic($topicID, 1); break; case "unpin": $database->StickTopic($topicID, 0); break; case "lock": $database->LockTopic($topicID, 1); break; case "unlock": $database->LockTopic($topicID, 0); break; case "deltopic": $database->DeleteTopic($topicID); $database->DeleteSurvey($topicID); break; case "edittopic": include("Forum/forum_3.tpl"); break; case "editans": include("Forum/forum_9.tpl"); break; } if ($_GET['admin'] != "edittopic" && $_GET['admin'] != "editans") { $alliance->redirect($_GET); } } /* ========================================================= * DELETE FORUM * ========================================================= */ elseif ( $_GET['admin'] == "delforum" && isset($_GET['idf']) && !empty($_GET['idf']) && ( ( ($database->ForumCatAlliance($_GET['idf']) == $session->alliance && $opt['opt5'] == 1) || ($forumData = reset($database->ForumCatEdit($_GET['idf'])))['owner'] == $session->uid ) || ($forumData['alliance'] == 0 && $session->access == ADMIN) ) ) { $database->DeleteCat($_GET['idf']); $alliance->redirect($_GET); } /* ========================================================= * DELETE POST * ========================================================= */ elseif ( $_GET['admin'] == "delpost" && isset($_GET['pod'], $_GET['tid'], $_GET['fid2']) && !empty($_GET['pod']) && !empty($_GET['tid']) && !empty($_GET['fid2']) && Alliance::canAct([ 'aid' => $aid, 'alliance' => reset($database->ShowTopic($_GET['tid']))['alliance'], 'forum_perm' => $opt['opt5'], 'owner' => reset($database->ShowPostEdit($_GET['pod']))['owner'], 'admin' => $_GET['admin'], 'forum_owner' => reset($database->ForumCatEdit($_GET['fid2']))['owner'] ], 1) ) { $database->DeletePost($_GET['pod']); header("Location: allianz.php?s=2&fid2=".$_GET['fid2']."&tid=".$_GET['tid']); exit; } /* ========================================================= * ROUTES / TEMPLATES * ========================================================= */ elseif ($_GET['admin'] == "newforum") include("Forum/forum_1.tpl"); elseif ($_GET['admin'] == "editpost" && isset($_GET['pod'], $_GET['tid'], $_GET['fid']) && !empty($_GET['pod']) && !empty($_GET['tid']) && !empty($_GET['fid']) && Alliance::canAct([ 'aid' => $aid, 'alliance' => reset($database->ShowTopic($_GET['tid']))['alliance'], 'forum_perm' => $opt['opt5'], 'owner' => reset($database->ShowPostEdit($_GET['pod']))['owner'], 'admin' => $_GET['admin'], 'forum_owner' => reset($database->ForumCatEdit($_GET['fid']))['owner'] ], 1) ) include("Forum/forum_10.tpl"); elseif (isset($_GET['fid'])) { if (isset($_GET['ac'])) include("Forum/forum_5.tpl"); else include("Forum/forum_4.tpl"); } elseif ($_GET['admin'] == "editforum") include("Forum/forum_8.tpl"); elseif (isset($_GET['tid'])) { if (isset($_GET['ac'])) include("Forum/forum_7.tpl"); else include("Forum/forum_6.tpl"); } else include("Forum/forum_2.tpl"); ?>