Jump to content

Forum Delete and Reply Issue!


rEhSi_123

Recommended Posts

Hello Everybody ;D

 

I have a bit of a issue in my forum reply and delete. The issue is that I developed this part of the code which

if($adminz == 1 || $rowr['uid'] == $_SESSION['uid']){
					echo "<tr><td align=\"right\" colspan=\"2\"><a href=\"index.php?act=mod&act2=reply&id=".$rowr['id']."\"><img src=\"edit.gif\"></a> <a href=\"index.php?act=mod&act2=topic&id=".$rowr['id']."\" onclick=\"return confirm('Are you sure you want to delete?')\"><img src=\"delete.gif\"></a> <a href=\"index.php?act=test&id=".$rowr['tid']."&reply_id=".$rowr['id']."\"><img src=\"quoteIcon.gif\"></a></td></tr>\n";					
					}
				echo "</td>\n";
				echo "</tr>\n";
				}

handles forum replies, edit and delete which works great when a user is a ADMINISTRATOR but the problem starts when the LOCAL user logs in as he is not able to delete his/her replies and also reply to others comment.

 

Well the above code actually only allows a ADMIN and the USER who posted the comment is allowed to do the changes.

 

Is their anyway I could modify the code so that local user is able to reply, edit and delete his own replies.

 

Cheers

 

Here is page for all the forum post.

 

<?php

error_reporting(E_ALL ^ E_NOTICE); //Report all error except NOTICES
$id = mss($_GET['id']);
$page = (!$_GET['page'] || $_GET['page'] < 0) ? "1" : $_GET['page'];
$page = ceil($page);

$limit = 10;
$start = $limit;
$end = $page*$limit-($limit);

if($id){
$sql = "SELECT * FROM `forum_topics` WHERE `id`='".$id."'";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($res) == 0){
	echo "This topic does not exists!";
	}else {
		$row = mysql_fetch_assoc($res);
		$sql2 = "SELECT admin FROM `forum_sub_cats` WHERE `id`='".$row['cid']."'";
		$res2 = mysql_query($sql2) or die(mysql_error());
		$row2 = mysql_fetch_assoc($res2);
		if($row2['admin'] == 1 && $admin_user_level == 0){
			echo "You cannot view this topic!";
			}else {
				$a = (isa($row['uid'])) ? "<font style=\"color:#800000;\">ADMIN</font>" : "";
				echo "<table border=\"0\" width=\"100%\"cellspacing=\"3\" cellpadding=\"3\">\n";
				echo "<tr><td colspan=\"2\" align=\"left\" class=\"forum_header\"><b>".$row['title']."</b>- Posted on: <em>".$row['date']."</em></td></tr>\n";
				echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\" class=\"forum_header\">".uid($row['uid'],true)."<br>Post Count: ".post($row['uid'])."</br>".$a."</td>\n";
				echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">\n";
				echo topic($row['message']);
				echo "</td>\n";
				echo "</tr>\n";
				$amount_check = "SELECT * FROM `forum_replies` WHERE `tid`='".$id."'";
				$amount_check_res = mysql_query($amount_check) or die(mysql_error());
				$amount_count = mysql_num_rows($amount_check_res);
				$pages = ceil($amount_count/$limit);

				$previous = ($page-1 <= 0) ? "« Prev" : "<a href=\"./index.php?act=topic&id=".$id."&page=".($page-1)."\">« Prev</a>";
				$nextpage = ($page+1 > $pages) ? "Next »" : "<a href=\"./index.php?act=topic&id=".$id."&page=".($page+1)."\">Next »</a>";
				echo "<tr><td align=\"right\" colspan=\"2\" class=\"forum_header\">\n";
				echo "Pages: ";
				echo $previous;
				for($i=1;$i<=$pages;$i++){
					$href = ($page == $i) ? " ".$i." " : " <a href=\"./index.php?act=topic&id=".$id."&page=".$i."\">".$i."</a> ";
					echo $href;
				}
				echo $nextpage;
				echo "</td></tr>\n";
				$select_sql = "SELECT * FROM `forum_replies` WHERE `tid`='".$id."' ORDER BY id ASC LIMIT ".$end.",".$start."";
				$select_res = mysql_query($select_sql) or die(mysql_error());

				while($rowr = mysql_fetch_assoc($select_res)){
				echo "<tr><td colspan=\"2\" align=\"left\" class=\"forum_header\">Posted on: <em>".$rowr['date']."</em></td></tr>\n";
				echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\" class=\"forum_header\">".uid($rowr['uid'],true)."<br>Post Count: ".post($rowr['uid'])."</br>".$a."</td>\n";
				echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">\n";
				echo topic($rowr['message']);
				if($rowr['edit_time'] > 0){
					echo "<tr><td align=\"left\" colspan=\"3\" class=\"forum_header\"><em>Edited at:".date("l jS \of F Y",$rowr['edit_time']) . " at " . date("h:i:s",$rowr['edit_time'])."</em></td></tr>\n";
					}
				$adminz = isa($_SESSION['uid']);
				if($adminz == 1 || $rowr['uid'] == $_SESSION['uid']){
					echo "<tr><td align=\"right\" colspan=\"2\"><a href=\"index.php?act=mod&act2=reply&id=".$rowr['id']."\"><img src=\"edit.gif\"></a> <a href=\"index.php?act=mod&act2=topic&id=".$rowr['id']."\" onclick=\"return confirm('Are you sure you want to delete?')\"><img src=\"delete.gif\"></a> <a href=\"index.php?act=test&id=".$rowr['tid']."&reply_id=".$rowr['id']."\"><img src=\"quoteIcon.gif\"></a></td></tr>\n";					
					}
				echo "</td>\n";
				echo "</tr>\n";
				}
				echo "<tr><td colspan=\"2\" align=\"left\"><a href=\"./index.php?act=reply&id=".$row['id']."\">Reply Now</a></td></tr>\n";					
				echo "</table>\n";
				  }  
					}
						}else {
								echo "Please view a valid topic!";
							  }
?>

 

 

Link to comment
https://forums.phpfreaks.com/topic/151727-forum-delete-and-reply-issue/
Share on other sites

Well I solved the issue for the reply by doing the following changes:

From........

<?php
if($adminz == 1 || $rowr['uid'] == $_SESSION['uid']){
					echo "<tr><td align=\"right\" colspan=\"2\"><a href=\"index.php?act=mod&act2=reply&id=".$rowr['id']."\"><img src=\"edit.gif\"></a></td></tr>\n";					
					}
				echo "</td>\n";
				echo "</tr>\n";
				}
?>

 

To........

<?php
while($rowr = mysql_fetch_assoc($select_res)){
				echo "<tr><td colspan=\"2\" align=\"left\" class=\"forum_header\">Posted on: <em>".$rowr['date']."</em></td></tr>\n";
				echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\" class=\"forum_header\">".uid($rowr['uid'],true)."<br>Post Count: ".post($rowr['uid'])."</br>".$a."</td>\n";
				echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">\n";
				echo topic($rowr['message']);
				echo "<tr><td align=\"right\" colspan=\"2\"><a href=\"index.php?act=test&id=".$rowr['tid']."&reply_id=".$rowr['id']."\"><img src=\"quoteIcon.gif\"></a></td></tr>\n";					
				if($rowr['edit_time'] > 0){
					echo "<tr><td align=\"left\" colspan=\"3\" class=\"forum_header\"><em>Edited at:".date("l jS \of F Y",$rowr['edit_time']) . " at " . date("h:i:s",$rowr['edit_time'])."</em></td></tr>\n";
					}
				$adminz = isa($_SESSION['uid']);
				if($adminz == 1 || $rowr['uid'] == $_SESSION['uid']){
					echo "<tr><td align=\"right\" colspan=\"2\"><a href=\"index.php?act=mod&act2=reply&id=".$rowr['id']."\"><img src=\"edit.gif\"></a></td></tr>\n";					
					}
				echo "</td>\n";
				echo "</tr>\n";				
?>					

 

Now only the delete part is left which I only want to be accessible by the ADMIN himself or the user who posted it.

 

Thanks

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.