diff --git a/appinfo/routes.php b/appinfo/routes.php index 1b448f8..3c47c08 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -24,6 +24,6 @@ return [ ['name' => 'Settings#youtubeGet', 'url' => '/personal/youtube-dl/get', 'verb' => 'POST'], ['name' => 'Settings#youtubeSave', 'url' => '/personal/youtube-dl/save', 'verb' => 'POST'], ['name' => 'Settings#youtubeDelete', 'url' => '/personal/youtube-dl/delete', 'verb' => 'POST'], - + ['name' => 'Settings#getSettings', 'url' => '/getsettings', 'verb' => 'POST'], ], ]; diff --git a/lib/Controller/MainController.php b/lib/Controller/MainController.php index 267a756..af6a440 100644 --- a/lib/Controller/MainController.php +++ b/lib/Controller/MainController.php @@ -115,6 +115,7 @@ class MainController extends Controller 'personal_url' => $this->urlGenerator->linkToRoute("settings.PersonalSettings.index", ['section' => 'ncdownloader']), 'ncd_hide_errors' => $this->hideError, 'ncd_disable_bt' => $this->disable_bt_nonadmin, + 'ncd_downloader_dir' => Helper::getSettings("ncd_downloader_dir"), ]); return $params; } diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index 06c8af4..25b1dbe 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -25,6 +25,18 @@ class SettingsController extends Controller //$this->config = \OC::$server->getAppConfig(); } + /** + * @NoAdminRequired + * @NoCSRFRequired + */ + public function getSettings() + { + $name = $this->request->getParam("name"); + $type = $this->request->getParam("type") ?? Settings::TYPE['USER']; + $default = $this->request->getParam("default") ?? null; + return new JSONResponse(Helper::getSettings($name, $default, $type)); + } + /** * @NoAdminRequired * @NoCSRFRequired @@ -37,6 +49,7 @@ class SettingsController extends Controller } return new JSONResponse($resp); } + /** * @NoAdminRequired * @NoCSRFRequired @@ -128,8 +141,8 @@ class SettingsController extends Controller try { $this->settings->save($key, $value); } catch (\Exception $e) { - return ['error' => $e->getMessage()]; + return ['error' => $e->getMessage(), "status" => false]; } - return ['message' => "Saved!"]; + return ['message' => "Saved!", "status" => true]; } } diff --git a/src/components/folderSettings.vue b/src/components/folderSettings.vue new file mode 100644 index 0000000..d427abf --- /dev/null +++ b/src/components/folderSettings.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/components/mainForm.vue b/src/components/mainForm.vue index 8c5a6c7..ddbe9dc 100644 --- a/src/components/mainForm.vue +++ b/src/components/mainForm.vue @@ -44,6 +44,7 @@ @uploadfile="uploadFile" :path="uris.upload_url" > + { + Http.getInstance(url).setData({ name: key, type: type, default: defaultValue }).setHandler(data => { + resolve(data) + }).send() + }) } }