mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
49 lines
1.5 KiB
PHP
Executable File
49 lines
1.5 KiB
PHP
Executable File
#! /usr/bin/env php
|
|
<?php
|
|
|
|
/**
|
|
* Script to clean broken uploads
|
|
*
|
|
* Usage: remove-upload <admin-id> <torrent-id> [<torrent-id> ...]
|
|
*/
|
|
|
|
namespace Gazelle;
|
|
|
|
require_once(__DIR__ . '/../lib/bootstrap.php');
|
|
|
|
$torMan = new Manager\Torrent();
|
|
$userMan = new Manager\User();
|
|
$reward = new BonusUploadReward();
|
|
|
|
array_shift($argv);
|
|
$janitorId = array_shift($argv);
|
|
$janitor = $userMan->find($janitorId);
|
|
if (is_null($janitor)) {
|
|
die("No janitor [$janitorId]\n");
|
|
}
|
|
|
|
foreach ($argv as $torrentId) {
|
|
$torrent = $torMan->findById($torrentId);
|
|
if (is_null($torrent)) {
|
|
echo "No such torrent $torrentId\n";
|
|
continue;
|
|
}
|
|
$name = $torrent->group()->text()
|
|
. ' [' . implode('/', [$torrent->media(), $torrent->format(), $torrent->encoding()]) . ']';
|
|
$uploader = $torrent->uploader();
|
|
$points = 2 * $reward->reward($torrent);
|
|
|
|
[$success, $message] = $torrent->removeTorrent($janitor, "Broken upload - backend");
|
|
if (!$success) {
|
|
echo "Did not remove $torrentId: $message\n";
|
|
continue;
|
|
}
|
|
|
|
new User\Bonus($uploader)->addPoints($points);
|
|
$uploader->inbox()->createSystem(
|
|
"Your upload $name has been removed",
|
|
"Due to a transient bug, your upload $name was not completed by the backend. Since it did not break any rules (we hope), please feel free to re-upload it. Since this is on us, you have been gifted $points points."
|
|
);
|
|
echo "removed $torrentId ($name) for $points points, uploaded by " . $uploader->username() . "\n";
|
|
}
|