diff --git a/src/public/action.php b/src/public/action.php index 3343c07..c8bebfb 100644 --- a/src/public/action.php +++ b/src/public/action.php @@ -392,178 +392,6 @@ switch (isset($_GET['target']) ? urldecode($_GET['target']) : false) break; - /* Moved to download.php - case 'download': - - // Yggdrasil connections only - if (!preg_match(YGGDRASIL_HOST_REGEX, $_SERVER['REMOTE_ADDR'])) - { - $response->success = false; - $response->message = _('Yggdrasil connection required for this action'); - } - - // Init session - else if (!$userId = $db->initUserId($_SERVER['REMOTE_ADDR'], USER_DEFAULT_APPROVED, time())) - { - $response->success = false; - $response->message = _('Could not init user session'); - } - - // Magnet exists - else if (!$magnet = $db->getMagnet(isset($_GET['magnetId']) && $_GET['magnetId'] > 0 ? (int) $_GET['magnetId'] : 0)) - { - $response->success = false; - $response->message = _('Requested magnet not found'); - } - - // Access allowed - else if (!($_SERVER['REMOTE_ADDR'] == $db->getUser($magnet->userId)->address || in_array($_SERVER['REMOTE_ADDR'], MODERATOR_IP_LIST) || ($magnet->public && $magnet->approved))) { - - $response->success = false; - $response->message = _('Magnet not available for this action'); - } - - // Request valid - else - { - // Update download stats - $db->addMagnetDownload($magnet->magnetId, $userId, time()); - - // Build magnet link - $link = []; - - /// Exact Topic - $xt = []; - - foreach ($db->findMagnetToInfoHashByMagnetId($magnet->magnetId) as $result) - { - if ($infoHash = $db->getInfoHash($result->infoHashId)) - { - switch ($infoHash->version) - { - case 1: - - $xt[] = sprintf('xt=urn:btih:%s', $infoHash->value); - - break; - - case 2: - - $xt[] = sprintf('xt=urn:btmh:1220%s', $infoHash->value); - - break; - } - } - } - - $link[] = sprintf('magnet:?%s', implode('&', $xt)); - - /// Display Name - $link[] = sprintf('dn=%s', urlencode($magnet->dn)); - - // Keyword Topic - $kt = []; - - foreach ($db->findKeywordTopicByMagnetId($magnet->magnetId) as $result) - { - $kt[] = urlencode($db->getKeywordTopic($result->keywordTopicId)->value); - } - - $link[] = sprintf('kt=%s', implode('+', $kt)); - - /// Address Tracker - foreach ($db->findAddressTrackerByMagnetId($magnet->magnetId) as $result) - { - $addressTracker = $db->getAddressTracker($result->addressTrackerId); - - $scheme = $db->getScheme($addressTracker->schemeId); - $host = $db->getHost($addressTracker->hostId); - $port = $db->getPort($addressTracker->portId); - $uri = $db->getUri($addressTracker->uriId); - - $url = sprintf('tr=%s', urlencode($port->value ? sprintf('%s://%s:%s%s', $scheme->value, - $host->value, - $port->value, - $uri->value) : sprintf('%s://%s%s', $scheme->value, - $host->value, - $uri->value))); - - // Yggdrasil url only - if (!preg_match(YGGDRASIL_HOST_REGEX, $url)) - { - continue; - } - - $link[] = $url; - } - - // Append trackers.json - foreach (json_decode(file_get_contents(__DIR__ . '/../config/trackers.json')) as $tracker) - { - $link[] = sprintf('tr=%s', urlencode($tracker->announce)); - } - - /// Acceptable Source - foreach ($db->findAcceptableSourceByMagnetId($magnet->magnetId) as $result) - { - $acceptableSource = $db->getAcceptableSource($result->acceptableSourceId); - - $scheme = $db->getScheme($acceptableSource->schemeId); - $host = $db->getHost($acceptableSource->hostId); - $port = $db->getPort($acceptableSource->portId); - $uri = $db->getUri($acceptableSource->uriId); - - $url = sprintf('as=%s', urlencode($port->value ? sprintf('%s://%s:%s%s', $scheme->value, - $host->value, - $port->value, - $uri->value) : sprintf('%s://%s%s', $scheme->value, - $host->value, - $uri->value))); - - // Yggdrasil url only - if (!preg_match(YGGDRASIL_HOST_REGEX, $url)) - { - continue; - } - - $link[] = $url; - } - - /// Exact Source - foreach ($db->findExactSourceByMagnetId($magnet->magnetId) as $result) - { - $eXactSource = $db->getExactSource($result->eXactSourceId); - - $scheme = $db->getScheme($eXactSource->schemeId); - $host = $db->getHost($eXactSource->hostId); - $port = $db->getPort($eXactSource->portId); - $uri = $db->getUri($eXactSource->uriId); - - $url = sprintf('xs=%s', urlencode($port->value ? sprintf('%s://%s:%s%s', $scheme->value, - $host->value, - $port->value, - $uri->value) : sprintf('%s://%s%s', $scheme->value, - $host->value, - $uri->value))); - - // Yggdrasil url only - if (!preg_match(YGGDRASIL_HOST_REGEX, $url)) - { - continue; - } - - $link[] = $url; - } - - // Return link - header( - sprintf('Location: %s', implode('&', array_unique($link))) - ); - } - - break; - */ - case 'new': // Yggdrasil connections only