General fixes

+Fixed a bug that permitted to create threads and post in closed forums
(only who have the permission to manage the forum can do that)
+Fixed a bug that permitted to write posts to closed threads
+Fixed a bug that permitted to view not shared forums under certain
circumnstances
This commit is contained in:
iopietro
2018-05-30 20:10:59 +02:00
parent f40d43b6e6
commit d171ac02cc
6 changed files with 26 additions and 12 deletions
+5 -5
View File
@@ -2268,8 +2268,8 @@ class MYSQLi_DB implements IDbConnection {
'%$alliance,%' '%$alliance,%'
OR OR
display_to_alliances display_to_alliances
LIKE =
'%$alliance%' '$alliance'
OR OR
display_to_users display_to_users
LIKE LIKE
@@ -2284,8 +2284,8 @@ class MYSQLi_DB implements IDbConnection {
'%$uid,%' '%$uid,%'
OR OR
display_to_users display_to_users
LIKE =
'%$uid%' '$uid'
"; ";
$result = mysqli_query($this->dblink, $q); $result = mysqli_query($this->dblink, $q);
if(!empty($result)){ if(!empty($result)){
@@ -2472,7 +2472,7 @@ class MYSQLi_DB implements IDbConnection {
list($id) = $this->escape_input($id); list($id) = $this->escape_input($id);
$q = "SELECT alliance from " . TB_PREFIX . "forum_cat where id = $id LIMIT 1"; $q = "SELECT alliance from " . TB_PREFIX . "forum_cat where id = $id LIMIT 1";
$result = mysqli_query($this->dblink,$q); $result = mysqli_query($this->dblink, $q);
$dbarray = mysqli_fetch_array($result); $dbarray = mysqli_fetch_array($result);
return $dbarray['alliance']; return $dbarray['alliance'];
} }
+4
View File
@@ -84,8 +84,12 @@ echo '<tr>
} }
?> ?>
</tbody></table><p> </tbody></table><p>
<?php
if($forumData['forum_area'] != 3 || ($forumData['forum_area'] == 3 && $opt['opt5'] == 1)){
?>
<a href="allianz.php?s=2&pid=<?php echo $aid; ?>&fid=<?php echo $cat_id; ?>&ac=newtopic"><img id="fbtn_post" class="dynamic_img" src="img/x.gif" alt="Post new thread" /></a> <a href="allianz.php?s=2&pid=<?php echo $aid; ?>&fid=<?php echo $cat_id; ?>&ac=newtopic"><img id="fbtn_post" class="dynamic_img" src="img/x.gif" alt="Post new thread" /></a>
<?php <?php
echo '<a href="allianz.php?s=2&fid='.$cat_id.((isset($_GET['admin']) && !empty($_GET['admin']) && $_GET['admin'] == "switch_admin") ? "" : "&admin=switch_admin").'" title="Toggle Admin mode"><img class="switch_admin dynamic_img" src="img/x.gif" alt="Toggle Admin mode" /></a>'; echo '<a href="allianz.php?s=2&fid='.$cat_id.((isset($_GET['admin']) && !empty($_GET['admin']) && $_GET['admin'] == "switch_admin") ? "" : "&admin=switch_admin").'" title="Toggle Admin mode"><img class="switch_admin dynamic_img" src="img/x.gif" alt="Toggle Admin mode" /></a>';
}
?> ?>
</p> </p>
+6
View File
@@ -10,6 +10,12 @@ if($session->access == BANNED){
exit; exit;
} }
$cat_id = $_GET['fid'];
$forumData = reset($database->ForumCatEdit($cat_id));
//Check if we can create the thread or not
if($forumData['forum_area'] == 3 && !$opt['opt5']) $alliance->redirect($_GET);
?> ?>
<form method="post" name="post" action="allianz.php?s=2&fid=<?php echo $_GET['fid']; ?>"> <form method="post" name="post" action="allianz.php?s=2&fid=<?php echo $_GET['fid']; ?>">
<input type="hidden" name="newtopic" value="1"> <input type="hidden" name="newtopic" value="1">
+1 -1
View File
@@ -182,7 +182,7 @@ foreach($posts as $po){
</table> </table>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<?php <?php
if(empty($arr['close'])){ if(!$arr['close'] && ($forumData['forum_area'] != 3 || ($forumData['forum_area'] == 3 && $opt['opt5'] == 1))){
echo '<a href="allianz.php?s=2&tid='.$arr['id'].'&ac=newpost"><img id="fbtn_reply" class="dynamic_img"src="img/x.gif" alt="Replies" /></a>'; echo '<a href="allianz.php?s=2&tid='.$arr['id'].'&ac=newpost"><img id="fbtn_reply" class="dynamic_img"src="img/x.gif" alt="Replies" /></a>';
echo '<a href="allianz.php?s=2&tid='.$arr['id'].((isset($_GET['admin']) && !empty($_GET['admin']) && $_GET['admin'] == "switch_admin") ? "" : "&admin=switch_admin").'" title="Toggle Admin mode"><img class="switch_admin dynamic_img" src="img/x.gif" alt="Toggle Admin mode" /></a>'; echo '<a href="allianz.php?s=2&tid='.$arr['id'].((isset($_GET['admin']) && !empty($_GET['admin']) && $_GET['admin'] == "switch_admin") ? "" : "&admin=switch_admin").'" title="Toggle Admin mode"><img class="switch_admin dynamic_img" src="img/x.gif" alt="Toggle Admin mode" /></a>';
} }
+2 -1
View File
@@ -7,9 +7,10 @@ if($session->access == BANNED){
$tid = $_GET['tid']; $tid = $_GET['tid'];
$topic = reset($database->ShowTopic($tid)); $topic = reset($database->ShowTopic($tid));
$forumData = reset($database->ForumCatEdit($topic['cat']));
//Check if we're creating a post for a valid topic //Check if we're creating a post for a valid topic
if(empty($topic)) $alliance->redirect($_GET); if(empty($topic) || $topic['close'] == 1 || ($forumData['forum_area'] == 3 && !$opt['opt5'])) $alliance->redirect($_GET);
$title = stripslashes($topic['title']); $title = stripslashes($topic['title']);
+8 -5
View File
@@ -5,7 +5,7 @@
// # FIX BY RONIX ## // # FIX BY RONIX ##
// # TRAVIANZ ## // # TRAVIANZ ##
// ########################################################### // ###########################################################
//TODO: Rework the whole code of this section...
if(!isset($aid)){ if(!isset($aid)){
if(isset($_GET['fid']) && !empty($_GET['fid'])) $aid = $database->ForumCatAlliance($_GET['fid']); if(isset($_GET['fid']) && !empty($_GET['fid'])) $aid = $database->ForumCatAlliance($_GET['fid']);
else if(isset($_GET['fid2']) && !empty($_GET['fid2'])) $aid = $database->ForumCatAlliance($_GET['fid2']); else if(isset($_GET['fid2']) && !empty($_GET['fid2'])) $aid = $database->ForumCatAlliance($_GET['fid2']);
@@ -83,8 +83,9 @@ if(isset($_POST['editforum']) &&
if(isset($_POST['newtopic']) && isset($_POST['thema']) && isset($_POST['text']) && isset($_POST['fid']) if(isset($_POST['newtopic']) && isset($_POST['thema']) && isset($_POST['text']) && isset($_POST['fid'])
&& !empty($_POST['thema']) && !empty($_POST['text']) && !empty($_POST['fid']) && && !empty($_POST['thema']) && !empty($_POST['text']) && !empty($_POST['fid']) &&
(($forumData = reset($database->ForumCatEdit($_POST['fid'])))['alliance'] == $session->alliance || ((($forumData = reset($database->ForumCatEdit($_POST['fid'])))['alliance'] == $session->alliance ||
$forumData['forum_area'] == 1 || $alliance->isForumAccessible($_POST['fid']))) $forumData['forum_area'] == 1 || $alliance->isForumAccessible($_POST['fid'])) &&
($forumData['forum_area'] != 3 || ($forumData['forum_area'] == 3 && $opt['opt5'] == 1))))
{ {
$title = $_POST['thema']; $title = $_POST['thema'];
$text = $_POST['text']; $text = $_POST['text'];
@@ -117,8 +118,10 @@ if(isset($_POST['newtopic']) && isset($_POST['thema']) && isset($_POST['text'])
if(isset($_POST['newpost']) && isset($_POST['text']) && !empty($_POST['text']) && if(isset($_POST['newpost']) && isset($_POST['text']) && !empty($_POST['text']) &&
isset($_POST['tid']) && !empty($_POST['tid']) && isset($_POST['tid']) && !empty($_POST['tid']) &&
isset($_POST['fid2']) && !empty($_POST['fid2']) && isset($_POST['fid2']) && !empty($_POST['fid2']) &&
(($forumData = reset($database->ForumCatEdit($_POST['fid2'])))['alliance'] == $session->alliance || ((($forumData = reset($database->ForumCatEdit($_POST['fid2'])))['alliance'] == $session->alliance ||
$forumData['forum_area'] == 1 || $alliance->isForumAccessible($_POST['fid2']))) $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']; $text = $_POST['text'];
$tids = $_POST['tid']; $tids = $_POST['tid'];