users->isLoggedIn()) { $uid = $page->users->currentUserId(); $rssToken = $page->userdata['rsstoken']; } else { if ((int) Settings::settingValue('..registerstatus') === Settings::REGISTER_STATUS_API_ONLY) { if (! isset($_GET['rsstoken'])) { header('X-DNZB-RCode: 400'); header('X-DNZB-RText: Bad request, please supply all parameters!'); $page->show403(); } else { $res = $page->users->getByRssToken($_GET['rsstoken']); } } else { if (! isset($_GET['userid']) || ! isset($_GET['rsstoken'])) { header('X-DNZB-RCode: 400'); header('X-DNZB-RText: Bad request, please supply all parameters!'); $page->show403(); } else { $res = $page->users->getByIdAndRssToken($_GET['userid'], $_GET['rsstoken']); } } if (! isset($res)) { header('X-DNZB-RCode: 401'); header('X-DNZB-RText: Unauthorised, wrong user ID or rss key!'); $page->show403(); } else { $uid = $res['id']; $rssToken = $res['rsstoken']; } } if (isset($_GET['guid'], $uid, $rssToken) && is_numeric($uid)) { $alt = (new DnzbFailures(['Settings' => $page->settings]))->getAlternate($_GET['guid'], $uid); if ($alt === false) { header('X-DNZB-RCode: 404'); header('X-DNZB-RText: No NZB found for alternate match.'); $page->show404(); } else { header('Location: '.$page->serverurl.'getnzb/'.$alt['guid'].'&i='.$uid.'&r='.$rssToken); } }