1. В базу добавить

Код:
ALTER TABLE `torrents` ADD `modded` ENUM('yes','no') NOT NULL DEFAULT 'no';
ALTER TABLE `torrents` ADD `modby` INTEGER(10) UNSIGNED DEFAULT '0';
ALTER TABLE `torrents` ADD `modname` TEXT COLLATE cp1251_general_ci NOT NULL;
ALTER TABLE `torrents` ADD `modtime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';
ALTER TABLE `users` ADD `moderated` INTEGER(10) NOT NULL DEFAULT '0';

2. details.php

Найти в запросе

Код:
torrents.seeders

После в ту же строку добавить

Код:
torrents.modded, torrents.modby, torrents.modname

Найти

Код:
$owned = $moderator = 0;
                if (get_user_class() >= UC_MODERATOR)
                $owned = $moderator = 1;
                elseif ($CURUSER["id"] == $row["owner"])
                $owned = 1;

После добавить

Код:
if ($row["modded"] == "no" && $owned == "0")
	stderr("Ошибка", "Раздача ожидает проверки");

Найти

Код:
tr($tracker_lang['info_hash'], $row["info_hash"]);

После добавить

Код:
if (get_user_class() >= UC_MODERATOR)
    tr("Проверен?", "<div id=\"moderated\">".($row["modded"] == "no" ? "<a href=\"#\" onclick=\"javascript: check(".$row["id"].")\">Нет</a>" : "<a href=\"userdetails.php?id=".$row["modby"]."
\">".$row["modname"]."</a>")."</div>", 1);

3. js/ajax.js

Найти

Код:
this.createAJAX();
}

После добавить

Код:
function check(torrent) {
     var ajax = new tbdev_ajax();
     ajax.onShow ('');
     var varsString = "";
     ajax.requestFile = "check.php";
     ajax.setVar("torrent", torrent);
     ajax.method = 'POST';
     ajax.element = 'moderated';
     ajax.sendAJAX(varsString);
}

4. Создать в корне сайта check.php

Код:
<?

require_once("include/bittorrent.php");
dbconn();
loggedinorreturn();

header ("Content-Type: text/html; charset=windows-1251");
$torrent = (int) $_POST["torrent"];
if (empty($torrent))
    die("Операция невозможна");

if(get_user_class() < UC_MODERATOR)
    die("Нет доступа");

$res = sql_query("SELECT modded, owner FROM torrents WHERE id = ".sqlesc($torrent)) or sqlerr(__FILE__,__LINE__);
$row = mysql_fetch_assoc($res);

if ($row["owner"] == $CURUSER["id"])
    die("Это ваша раздача");

if ($row["modded"] == "yes")
    die("Раздача уже проверена");

sql_query("UPDATE torrents SET modded = 'yes', modby = ".sqlesc($CURUSER["id"]).", modname = ".sqlesc($CURUSER["username"]).", modtime = '" . get_date_time() . "' WHERE id = ".sqlesc($torrent)) or sqlerr(__FILE__,__LINE__);
sql_query("UPDATE users SET moderated = moderated + 1 WHERE id = ".sqlesc($CURUSER["id"])) or sqlerr(__FILE__,__LINE__);
$res = sql_query("SELECT modby, modname FROM torrents WHERE id = ".sqlesc($torrent)) or sqlerr(__FILE__,__LINE__);
$row = mysql_fetch_assoc($res);
print "<a href=\"userdetails.php?id=".$row["modby"]."\">".$row["modname"]."</a>";

?>

5. Создать в корне сайта modded.php

Код:
<?php

require "include/bittorrent.php";
dbconn(false);
loggedinorreturn();

if (get_user_class() < UC_MODERATOR)
  stderr($tracker_lang['error'], "Нет доступа.");

stdhead("Обзор проверки торрентов");

print "<div align=\"center\" style=\"padding: 10px;\"><a href=\"modded.php\">Непроверенные</a> | <a href=\"modded.php?modded\">Проверенные</a> | <a href=\"modded.php?top\">Топ модераторов</a></div>";

if (isset($_GET["top"]))
{
  begin_frame("Топ модераторов (включая удаленные раздачи)");
  echo '<table width="100%" cellpadding="5"><tr><td class="colhead">№</td><td class="colhead">Модератор</td><td class="colhead">Проверил</td></tr>';
  $res = sql_query("SELECT id, username, class, moderated FROM users WHERE class >= ".UC_MODERATOR." AND moderated > 0 ORDER BY moderated DESC")  or sqlerr(__FILE__,__LINE__);
  if (!mysql_num_rows($res))
      echo ("<tr><td colspan=\"3\">Нет статистики</td></tr>");
  else
  {
    $i=1;
    while ($row = mysql_fetch_array($res))
    {
      echo '<tr><td>'.$i.'</td><td><a href="userdetails.php?id='.$row["id"].'">'.get_user_class_color($row["class"], $row["username"]).'</a></td><td><a href="modded.php?moderator='.$row["id"].'">'.$row["moderated"].'</a></td></tr>';
      $i++;
    }
  }

  echo '</tr></table>';
  end_frame();
}

elseif (isset($_GET["modded"]))
{
  $count = get_row_count("torrents", "WHERE modded='yes'");
  list($pagertop, $pagerbottom, $limit) = pager(15, $count, "modded.php?modded&");
  begin_frame("Проверенные торренты [$count]");
  echo '<table width="100%" cellpadding="5"><tr><td class="colhead">Торрент</td><td class="colhead">Загрузил</td><td class="colhead">Проверил</td><td class="colhead">Когда?</td></tr>';
  $res = sql_query("SELECT torrents.*, users.username, users.class FROM torrents LEFT JOIN users ON torrents.owner = users.id  WHERE modded = 'yes' ORDER BY torrents.modtime DESC $limit")  or sqlerr(__FILE__,__LINE__);
  if (!mysql_num_rows($res))
      echo ("<tr><td colspan=\"4\">Нет проверенных торрентов</td></tr>");
  else
  {
    while ($row = mysql_fetch_array($res))
      echo '<tr><td><a href="details.php?id='.$row["id"].'">'.$row["name"].'</a></td><td><a href="userdetails.php?id='.$row["owner"].'">'.get_user_class_color($row["class"], $row["username"]).'</a></td><td><a href="userdetails.php?id='.$row["modby"].'">'.$row["modname"].'</a></td><td>'.$row["modtime"].'</td></tr>';
  }
  if ($count)
  {
    echo '<tr><td colspan="4">';
    echo $pagerbottom;
    echo '</td></tr>';
  }
  echo '</tr></table>';
  end_frame();
}

elseif (isset($_GET["moderator"]))
{
  $moderaror = unesc($_GET["moderator"]);
  $count = number_format(get_row_count("torrents", "WHERE modby = ".sqlesc($moderaror)));
  list($pagertop, $pagerbottom, $limit) = pager(15, $count, "modded.php?moderator=".unesc($_GET["moderator"])."&");
  $res = sql_query("SELECT users.id, users.username, users.class, torrents.modby FROM users LEFT JOIN torrents ON users.id = torrents.modby  WHERE torrents.modby = ".sqlesc($moderaror))  or sqlerr(__FILE__,__LINE__);
  $row = mysql_fetch_array($res);
  begin_frame("Торренты, проверенные <a href=\"userdetails.php?id=".$row["id"]."\">".get_user_class_color($row["class"], $row["username"])."</a> [$count]");
  echo '<table width="100%" cellpadding="5"><tr><td class="colhead">Торрент</td><td class="colhead">Загрузил</td><td class="colhead">Проверен</td></tr>';
  $res = sql_query("SELECT torrents.*, users.username, users.class FROM torrents LEFT JOIN users ON torrents.owner = users.id  WHERE modby = ".sqlesc($moderaror)." ORDER BY torrents.modtime DESC")  or sqlerr(__FILE__,__LINE__);
  if (!mysql_num_rows($res) || empty($moderaror))
      echo ("<tr><td colspan=\"4\">Не проверено ни одного торрента этим модератором</td></tr>");
  else
  {
    while ($row = mysql_fetch_array($res))
      echo '<tr><td><a href="details.php?id='.$row["id"].'">'.$row["name"].'</a></td><td><a href="userdetails.php?id='.$row["owner"].'">'.get_user_class_color($row["class"], $row["username"]).'</a></td><td>'.$row["modtime"].'</td></tr>';
  }

  if ($count)
  {
    echo '<tr><td colspan="4">';
    echo $pagerbottom;
    echo '</td></tr>';
  }
  echo '</tr></table>';
  end_frame();
}

else
{
  $count = number_format(get_row_count("torrents", "WHERE modded='no'"));
  list($pagertop, $pagerbottom, $limit) = pager(15, $count, "modded.php?");
  begin_frame("Непроверенные торренты [$count]");
  echo '<table width="100%" cellpadding="5"><tr><td class="colhead">Торрент</td><td class="colhead">Загрузил</td><td class="colhead">Когда?</td></tr>';
  $res = sql_query("SELECT torrents.*, users.username, users.class FROM torrents LEFT JOIN users ON torrents.owner = users.id  WHERE modded = 'no' ORDER BY torrents.id $limit")  or sqlerr(__FILE__,__LINE__);
  if (!mysql_num_rows($res))
      echo ("<tr><td colspan=\"3\">Все торренты проверены</td></tr>");
  else
  {
    while ($row = mysql_fetch_array($res))
      echo '<tr><td><a href="details.php?id='.$row["id"].'">'.$row["name"].'</a></td><td><a href="userdetails.php?id='.$row["owner"].'">'.get_user_class_color($row["class"], $row["username"]).'</a></td><td>'.$row["added"].'</td></tr>';
  }

  if ($count)
  {
    echo '<tr><td colspan="3">';
    echo $pagerbottom;
    echo '</td></tr>';
  }
  echo '</tr></table>';
  end_frame();
}

stdfoot();

?>


6. userdetails.php

Найти

Код:
print("<td align=\"left\">$torrentcomments</td></tr>\n");

После добавить

Код:
if (get_user_class() >= UC_MODERATOR && $user["moderated"] > 0)
 print("<tr valign=\"top\"><td class=\"rowhead\">Проверил торрентов</td><td align=\"left\"><a href=\"modded.php?moderator=".$user["id"]."\">".$user["moderated"]."</a></td></tr>\n");

7. browse.php

Найти и заменить в запросе (если нет, то просто добавить)

Код:
torrents.moderated на torrents.modded и torrents.moderatedby на torrents.modby

Найти (если есть)

Код:
case '10': if (get_user_class() >= UC_MODERATOR) $column = "moderatedby"; break;

Заменить на

Код:
case '10': if (get_user_class() >= UC_MODERATOR) $column = "modby"; break;

8. functions.php

Найти

Код:
print("<tr".($row["sticky"] == "yes" ? " class=\"highlight\"" : "").">\n");

Заменить на

Код:
if ($row["modded"] == "no" && get_user_class() < UC_MODERATOR && $row["owner"] != $CURUSER["id"])
            print "";
        else {
        print("<tr".($row["sticky"] == "yes" ? " class=\"highlight\"" : "")." ".($row["modded"] == "no" ? " style=\"background: #EDECE9\"" : "").">\n");

Найти

Код:
if ((get_user_class() >= UC_MODERATOR) && $variant == "index")
    	print("<td align=\"center\"><input type=\"checkbox\" name=\"delete[]\" value=\"" . $id . "\" /></td>\n");

	print("</tr>\n");
    }

После вставить

Код:
}

Найти (если есть)

Код:
if ((get_user_class() >= UC_MODERATOR) && $variant == "index") {
    	if ($row["moderated"] == "no")
        print("<td align=\"center\"><font color=\"red\"><b>Нет</b></font></td>\n");
    	else
        print("<td align=\"center\"><a href=\"userdetails.php?id=$row[moderatedby]\"><font color=\"green\"><b>Да</b></font></a></td>\n");
    }

Заменить на

Код:
if ((get_user_class() >= UC_MODERATOR) && $variant == "index") {
    	if ($row["modded"] == "no")
        print("<td align=\"center\"><font color=\"red\"><b>Нет</b></font></td>\n");
    	else
        print("<td align=\"center\"><a href=\"userdetails.php?id=$row[modby]\"><font color=\"green\"><b>Да</b></font></a></td>\n");
    }

Вот и все теперь у вас на сайте будит проверка торрентов модератором пользуемся с удовольствием