mirror of
https://github.com/Xkeeper0/jul.git
synced 2025-05-19 08:40:21 -07:00
109 lines
3.1 KiB
PHP
109 lines
3.1 KiB
PHP
<?php
|
|
|
|
$windowtitle = "Thread Repair System II";
|
|
|
|
require 'lib/function.php';
|
|
require 'lib/layout.php';
|
|
|
|
print "$header<br>";
|
|
|
|
if (!$isadmin) {
|
|
|
|
print "
|
|
$tblstart
|
|
$tccell1>This feature is restricted.</td>
|
|
$tblend
|
|
|
|
$footer
|
|
";
|
|
printtimedif($startingtime);
|
|
die();
|
|
}
|
|
|
|
print adminlinkbar("admin-threads2.php");
|
|
|
|
if (!$_POST['run']) {
|
|
print "<form action=\"admin-threads2.php\" method=\"post\">
|
|
$tblstart
|
|
<tr>$tccellh>Thread Repair System II</td></tr>
|
|
<tr>$tccell1>
|
|
<br>This page is intended to repair threads with broken 'last reply' times/users.
|
|
<br>This problem causes bumped threads that shouldn't be, especially with badly deleted posts.
|
|
<br>
|
|
<br>$inps=\"run\" value=\"Start\">
|
|
<br>
|
|
</td></tr>
|
|
$tblend
|
|
</form>
|
|
";
|
|
} else {
|
|
|
|
print "
|
|
$tblstart
|
|
<tr>$tccellh>Thread Repair System II</td></tr>
|
|
<tr>$tccell1>Now running.
|
|
</td></tr>
|
|
$tblend
|
|
<br>
|
|
$tblstart
|
|
<tr>
|
|
$tccellh>id#</td>
|
|
$tccellh>Name</td>
|
|
$tccellh>Reported Date</td>
|
|
$tccellh>Real Date</td>
|
|
$tccellh>Difference</td>
|
|
$tccellh>Status</td>
|
|
</tr>
|
|
";
|
|
|
|
|
|
|
|
$q = "SELECT `threads`.`id`, `threads`.`title` , `threads`.`lastpostdate` , `posts`.`date` as realdate, (`posts`.`date` - `threads`.`lastpostdate`) AS `diff` FROM `threads` LEFT JOIN (SELECT MAX(`date`) as `date`, `thread` FROM `posts` GROUP BY `thread`) as `posts` ON `posts`.`thread` = `threads`.`id` ORDER BY `diff` DESC";
|
|
$sql = mysql_query($q) or die(mysql_error());
|
|
|
|
$count = "";
|
|
while ($data = mysql_fetch_array($sql, MYSQL_ASSOC)) {
|
|
|
|
$status = "";
|
|
|
|
if ($data['lastpostdate'] != $data['realdate']) {
|
|
|
|
if ($data['lastpostdate'] == "0" && $data['realdate'] == NULL) {
|
|
$status = "<font color=#ff8888>Broken thread</font>";
|
|
} else {
|
|
|
|
$userd = mysql_fetch_array(mysql_query("SELECT `date`, `user` FROM `posts` WHERE `thread` = '". $data['id'] ."' ORDER BY `date` DESC LIMIT 1"), MYSQL_ASSOC);
|
|
$status = mysql_query("UPDATE `threads` SET `lastposter` = '". $userd['user'] ."', `lastpostdate` = '". $userd['date'] ."' WHERE `id` = '". $data['id'] ."'") or "<font color=#ff0000>Error</font>: ". mysql_error();
|
|
if ($status == 1) $status = "<font color=#80ff80>Updated</font>";
|
|
$count++;
|
|
}
|
|
}
|
|
|
|
if ($status) {
|
|
|
|
print "
|
|
<tr>
|
|
$tccell1>". $data['id'] ."</td>
|
|
$tccell2l><a href=\"thread.php?id=". $data['id'] ."\">". $data['title'] ."</a></td>
|
|
$tccell1>". ($data['lastpostdate'] ? date($dateformat, $data['lastpostdate'] + $tzoff) : "-") ."</td>
|
|
$tccell1>". ($data['realdate'] ? date($dateformat, $data['realdate'] + $tzoff) : "-") ."</td>
|
|
$tccell1>". timeunits2($data['lastpostdate'] - $data['realdate']) ."</td>
|
|
$tccell2l>$status</td>
|
|
</tr>";
|
|
}
|
|
}
|
|
|
|
if ($count) {
|
|
print "<tr>$tccellc colspan=6>$count thread". ($count != 1 ? "s" : "") ." updated.</td></tr>";
|
|
} else {
|
|
print "<tr>$tccellc colspan=6>Nothing to repair.</td></tr>";
|
|
}
|
|
}
|
|
|
|
|
|
print "$tblend
|
|
$footer
|
|
";
|
|
printtimedif($startingtime);
|
|
?>
|