Merge branch 'master' into master
This commit is contained in:
@@ -6,7 +6,6 @@ use OCA\NCDownloader\Tools\Counters;
|
||||
use OCA\NCDownloader\Tools\DbHelper;
|
||||
use OCA\NCDownloader\Tools\folderScan;
|
||||
use OCA\NCDownloader\Tools\Helper;
|
||||
use OCA\NCDownloader\Tools\Settings;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\Files\IRootFolder;
|
||||
@@ -32,8 +31,7 @@ class Aria2Controller extends Controller
|
||||
$this->l10n = $IL10N;
|
||||
$this->rootFolder = $rootFolder;
|
||||
$this->urlGenerator = \OC::$server->getURLGenerator();
|
||||
$this->settings = new Settings($UserId);
|
||||
$this->downloadDir = $this->settings->get('ncd_downloader_dir') ?? "/Downloads";
|
||||
$this->downloadDir = Helper::getDownloadDir();
|
||||
OC_Util::setupFS();
|
||||
//$this->config = \OC::$server->getAppConfig();
|
||||
$this->aria2 = $aria2;
|
||||
@@ -122,15 +120,6 @@ class Aria2Controller extends Controller
|
||||
$data = $this->aria2->start();
|
||||
return $data;
|
||||
}
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function Update()
|
||||
{
|
||||
$resp = folderScan::create()->scan();
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
|
||||
private function createActionItem($name, $path)
|
||||
{
|
||||
@@ -235,7 +224,7 @@ class Aria2Controller extends Controller
|
||||
$tmp = [];
|
||||
$actions = [];
|
||||
$filename = sprintf('<a class="download-file-folder" href="%s">%s</a>', $folderLink, $filename);
|
||||
$fileInfo = sprintf('<button id="icon-clipboard" class="icon-clipboard" data-text="%s"></button> %s | %s', $extra ? $extra['link'] : 'nolink', $total, date("Y-m-d H:i:s", $timestamp));
|
||||
$fileInfo = sprintf('<button id="icon-clipboard" class="icon-clipboard" data-text="%s"></button> %s | %s', $extra["link"] ?? 'nolink', $total, date("Y-m-d H:i:s", $timestamp));
|
||||
$tmp['filename'] = array($filename, $fileInfo);
|
||||
|
||||
if ($this->aria2->methodName === "tellStopped") {
|
||||
|
||||
@@ -11,10 +11,11 @@ use OCA\NCDownloader\Tools\Youtube;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
//use OCP\Files\IRootFolder;
|
||||
use OCP\IL10N;
|
||||
//use OCP\Files\IRootFolder;
|
||||
use OCP\IRequest;
|
||||
use OC_Util;
|
||||
use OCA\NCDownloader\Tools\folderScan;
|
||||
|
||||
class MainController extends Controller
|
||||
{
|
||||
@@ -27,6 +28,7 @@ class MainController extends Controller
|
||||
|
||||
public function __construct($appName, IRequest $request, $UserId, IL10N $IL10N, Aria2 $aria2, Youtube $youtube)
|
||||
{
|
||||
|
||||
parent::__construct($appName, $request);
|
||||
$this->appName = $appName;
|
||||
$this->uid = $UserId;
|
||||
@@ -38,10 +40,9 @@ class MainController extends Controller
|
||||
$this->dbconn = new DbHelper();
|
||||
$this->counters = new Counters($aria2, $this->dbconn, $UserId);
|
||||
$this->youtube = $youtube;
|
||||
$this->settings = new Settings($this->uid);
|
||||
$this->isAdmin = \OC_User::isAdminUser($this->uid);
|
||||
$this->hideError = $this->settings->get("ncd_hide_errors", false);
|
||||
$this->disable_bt_nonadmin = $this->settings->setType($this->settings::TYPE['SYSTEM'])->get("ncd_disable_bt", false);
|
||||
$this->hideError = Helper::getSettings("ncd_hide_errors", false);
|
||||
$this->disable_bt_nonadmin = Helper::getSettings("ncd_disable_bt", false, Settings::TYPE["SYSTEM"]);
|
||||
$this->accessDenied = $this->l10n->t("Sorry,only admin users can download files via BT!");
|
||||
}
|
||||
/**
|
||||
@@ -56,7 +57,6 @@ class MainController extends Controller
|
||||
// OC_Util::addStyle($this->appName, 'table');
|
||||
$params = $this->buildParams();
|
||||
$response = new TemplateResponse($this->appName, 'Index', $params);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
@@ -124,6 +124,10 @@ class MainController extends Controller
|
||||
*/
|
||||
public function Download()
|
||||
{
|
||||
$dlDir = $this->aria2->getDownloadDir();
|
||||
if (!is_writable($dlDir)) {
|
||||
return new JSONResponse(['error' => sprintf("%s is not writable", $dlDir)]);
|
||||
}
|
||||
$url = trim($this->request->getParam('text-input-value'));
|
||||
if (Helper::isMagnet($url)) {
|
||||
if ($this->disable_bt_nonadmin && !($this->isAdmin)) {
|
||||
@@ -192,4 +196,14 @@ class MainController extends Controller
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function scanFolder()
|
||||
{
|
||||
$resp = folderScan::create()->scan();
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ class SettingsController extends Controller
|
||||
{
|
||||
$saved = json_decode($this->settings->get("custom_youtube_dl_settings"), 1);
|
||||
$params = $this->request->getParams();
|
||||
foreach ($data as $key => $value) {
|
||||
foreach ($params as $key => $value) {
|
||||
unset($saved[$key]);
|
||||
}
|
||||
$resp = $this->settings->save("custom_youtube_dl_settings", json_encode($saved));
|
||||
|
||||
@@ -5,7 +5,6 @@ use OCA\NCDownloader\Tools\Aria2;
|
||||
use OCA\NCDownloader\Tools\DbHelper;
|
||||
use OCA\NCDownloader\Tools\folderScan;
|
||||
use OCA\NCDownloader\Tools\Helper;
|
||||
use OCA\NCDownloader\Tools\Settings;
|
||||
use OCA\NCDownloader\Tools\Youtube;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
@@ -27,8 +26,7 @@ class YoutubeController extends Controller
|
||||
$this->uid = $UserId;
|
||||
$this->urlGenerator = \OC::$server->getURLGenerator();
|
||||
$this->l10n = $IL10N;
|
||||
$this->settings = new Settings($UserId);
|
||||
$this->downloadDir = $this->settings->get('ncd_downloader_dir') ?? "/Downloads";
|
||||
$this->downloadDir = Helper::getDownloadDir();
|
||||
$this->dbconn = new DbHelper();
|
||||
$this->youtube = $youtube;
|
||||
$this->aria2 = $aria2;
|
||||
@@ -77,7 +75,10 @@ class YoutubeController extends Controller
|
||||
*/
|
||||
public function Download()
|
||||
{
|
||||
$params = array();
|
||||
$dlDir = $this->youtube->getDownloadDir();
|
||||
if (!is_writable($dlDir)) {
|
||||
return new JSONResponse(['error' => sprintf("%s is not writable", $dlDir)]);
|
||||
}
|
||||
$url = trim($this->request->getParam('text-input-value'));
|
||||
$yt = $this->youtube;
|
||||
if (in_array($this->request->getParam('extension'), $this->audio_extensions)) {
|
||||
@@ -119,7 +120,7 @@ class YoutubeController extends Controller
|
||||
}
|
||||
|
||||
$row = $this->dbconn->getByGid($gid);
|
||||
$data = $this->dbconn->getExtra($value["data"]);;
|
||||
$data = $this->dbconn->getExtra($row["data"]);
|
||||
if (!isset($data['pid'])) {
|
||||
if ($this->dbconn->deleteByGid($gid)) {
|
||||
$msg = sprintf("%s is deleted from database!", $gid);
|
||||
@@ -204,9 +205,9 @@ class YoutubeController extends Controller
|
||||
private function installYTD()
|
||||
{
|
||||
try {
|
||||
$filename = Helper::getFileName($yt->installUrl());
|
||||
$yt->setDownloadDir($this->dataDir . "/bin");
|
||||
$resp = $this->Save($yt->installUrl(), $filename);
|
||||
$filename = Helper::getFileName($this->installUrl());
|
||||
$this->setDownloadDir($this->dataDir . "/bin");
|
||||
$resp = $this->Save($this->installUrl(), $filename);
|
||||
return $resp;
|
||||
} catch (\Exception $e) {
|
||||
return ['error' => $e->getMessage()];
|
||||
|
||||
Reference in New Issue
Block a user