setPrefs(); $userData = User::find(Auth::id()); if (! $userData) { $this->show404(); } $this->smarty->assign('user', $userData); $queueType = $error = ''; $queue = null; switch (Settings::settingValue('apps.sabnzbplus.integrationtype')) { case SABnzbd::INTEGRATION_TYPE_NONE: if ($userData['queuetype'] === 2) { $queueType = 'NZBGet'; $queue = new NZBGet($this); } break; case SABnzbd::INTEGRATION_TYPE_USER: switch ((int) $userData['queuetype']) { case 1: $queueType = 'Sabnzbd'; $queue = new SABnzbd(); break; case 2: $queueType = 'NZBGet'; $queue = new NZBGet($this); break; } break; } if ($queue !== null) { if ($queueType === 'Sabnzbd') { if (empty($queue->url)) { $error = 'ERROR: The Sabnzbd URL is missing!'; } if (empty($queue->apikey)) { if ($error === '') { $error = 'ERROR: The Sabnzbd API key is missing!'; } else { $error .= ' The Sabnzbd API key is missing!'; } } } if ($error === '') { if ($request->has('del')) { $queue->delFromQueue($request->input('del')); } if ($request->has('pause')) { $queue->pauseFromQueue($request->input('pause')); } if ($request->has('resume')) { $queue->resumeFromQueue($request->input('resume')); } if ($request->has('pall')) { $queue->pauseAll(); } if ($request->has('rall')) { $queue->resumeAll(); } $this->smarty->assign('serverURL', $queue->url); } } $this->smarty->assign(['queueType' => $queueType, 'error' => $error, 'user', User::class]); $title = 'Your '.$queueType.' Download Queue'; $meta_title = 'View'.$queueType.' Queue'; $meta_keywords = 'view,'.strtolower($queueType).',queue'; $meta_description = 'View'.$queueType.' Queue'; $content = $this->smarty->fetch('viewqueue.tpl'); $this->smarty->assign([ 'title' => $title, 'content' => $content, 'meta_title' => $meta_title, 'meta_keywords' => $meta_keywords, 'meta_description' => $meta_description, ]); $this->pagerender(); } /** * @throws \Exception */ public function nzbget() { $this->setPrefs(); $nzbGet = new NZBGet($this); $output = ''; $data = $nzbGet->getQueue(); if ($data !== false) { if (\count($data) > 0) { $status = $nzbGet->status(); if ($status !== false) { $output .= "
| # | Name | Size | Left(+pars) | Done | Status | Delete | Pause all | Resume all |
|---|---|---|---|---|---|---|---|---|
| ".$count.' | '. "".$item['NZBName'].' | '. "".$item['FileSizeMB'].' MB | '. "".$item['RemainingSizeMB'].' MB | '. "".($item['FileSizeMB'] === 0 ? 0 : round(100 - ($item['RemainingSizeMB'] / $item['FileSizeMB']) * 100)).'% | '. "".($item['ActiveDownloads'] > 0 ? 'Downloading' : 'Paused').' | '. "Delete | ". "Pause | ". "Resume | ". '
The queue is currently empty.
"; } } else { $output .= "Error retreiving queue.
"; } echo $output; } /** * @throws \Exception */ public function sabnzbd() { $this->setPrefs(); $sab = new SABnzbd(); $output = ''; $json = $sab->getAdvQueue(); if ($json !== false) { $obj = json_decode($json); $queue = $obj->{'queue'}; $count = 1; $output .= "| # | Name | Size | Left | Done | Time Left | Delete | Pause all | Resume all |
|---|---|---|---|---|---|---|---|---|
| ".$count.' | '. "".$item->{'filename'}.' | '. "".round($item->{'mb'}, 2).' MB | '. "".round($item->{'mbleft'}, 2).' MB | '. "".($item->{'mb'} === 0 ? 0 : round(100 - ($item->{'mbleft'} / $item->{'mb'}) * 100)).'% | '. "".$item->{'timeleft'}.' | '. "Delete | ". "Pause | ". "Resume | ". '
The queue is currently empty.
"; } } else { $output .= "Error retrieving queue.
"; } echo $output; } }