I took a quick look... and have this working on showflat.php..... I didn't look at showthreaded yet..... because there are some problems that I don't know how to work around.
While I kinda got it..... the whole thing is probably just out of my reach... maybe with enough hacking around it could be done. It would certainly take me alot more free time than I've got.
What this does.... (in showflat view) is only show the replies to the person who started the topic... everyone else only sees the main post:
The problems that I noticed off the top of my head:
- the replies would show up in a search
- the replies would show up when someone "showed all posts by this user"
- when the user makes a reply...they can "view their post" then see the whole thread
code:
##
## Open showflat.php
##
#
# Find this:
#
// -----------------------------------------
// Grab the main post number for this thread
$Number = addslashes($Number);
$query = "
SELECT B_Main
FROM {$config['tbprefix']}Posts
WHERE B_Number = '$Number'
AND B_Board = '$Board'
";
$sth = $dbh -> do_query($query);
list ($current) = $dbh -> fetch_array($sth);
$dbh -> finish_sth($sth);
#
# Change to:
#
// -----------------------------------------
// Grab the main post number for this thread
$Number = addslashes($Number);
$query = "
SELECT B_Main, B_Username
FROM {$config['tbprefix']}Posts
WHERE B_Number = '$Number'
AND B_Board = '$Board'
";
$sth = $dbh -> do_query($query);
list ($current,$MainUsername) = $dbh -> fetch_array($sth);
$dbh -> finish_sth($sth);
#
# Find this:
#
// -----------------------------------------------------------------
// We need to know how many posts of this thread to display per page
if ($fpart <= 1) {
$Totalgrab = $Totaldisplay;
}
else {
$Startat = $Totaldisplay * ($fpart - 1);
$Totalgrab = "$Startat, $Totaldisplay";
}
$Limit = "LIMIT $Totalgrab";
if ($fpart == "all") {
$Limit = "";
}
$threadnumber = $Number;
#
# Change to this:
#
// -----------------------------------------------------------------
// We need to know how many posts of this thread to display per page
if ($user['U_Username'] == $MainUsername) {
if ($fpart <= 1) {
$Totalgrab = $Totaldisplay;
}
else {
$Startat = $Totaldisplay * ($fpart - 1);
$Totalgrab = "$Startat, $Totaldisplay";
}
$Limit = "LIMIT $Totalgrab";
if ($fpart == "all") {
$Limit = "";
}
}
else {
$Limit = "LIMIT 1";
}
$threadnumber = $Number;
Since you need this in a bunch of boards... you would need to add a lot of "if the board is xxxxxxx" then have it check if the $user['U_Username'] was equal to the B_Username of the main post.
There would be lots of scripts you'd have to work this into.
But in
theory it's probably possible.