added admin option for configuring Aria2 globally;option for diallowing aria2 settings for non-privileged users;cleanining up
This commit is contained in:
@@ -41,7 +41,7 @@ class SettingsController extends Controller
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function personal()
|
||||
public function saveCustom()
|
||||
{
|
||||
$params = $this->request->getParams();
|
||||
foreach ($params as $key => $value) {
|
||||
@@ -54,31 +54,33 @@ class SettingsController extends Controller
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function aria2Get()
|
||||
public function getCustomAria2()
|
||||
{
|
||||
$data = json_decode($this->settings->get("custom_aria2_settings"));
|
||||
return new JSONResponse($data);
|
||||
}
|
||||
|
||||
public function admin()
|
||||
public function saveAdmin()
|
||||
{
|
||||
$this->settings->setType($this->settings::TYPE['SYSTEM']);
|
||||
$params = $this->request->getParams();
|
||||
$data = $this->settings->setType(Settings::TYPE["SYSTEM"])->get("ncd_admin_settings", []);
|
||||
|
||||
foreach ($params as $key => $value) {
|
||||
$resp = $this->save($key, $value);
|
||||
if (substr($key, 0, 1) == '_') {
|
||||
continue;
|
||||
}
|
||||
$data[$key] = $value;
|
||||
}
|
||||
$resp = $this->save("ncd_admin_settings", $data, Settings::TYPE["SYSTEM"]);
|
||||
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
|
||||
public function saveAria2Admin()
|
||||
public function saveGlobalAria2()
|
||||
{
|
||||
$this->settings->setType($this->settings::TYPE['SYSTEM']);
|
||||
$params = $this->request->getParams();
|
||||
|
||||
$data = Helper::filterData($params, Helper::aria2Options());
|
||||
Helper::log($data);
|
||||
$resp = $this->settings->save("admin_aria2_settings", $data);
|
||||
$resp = $this->save("global_aria2_config", $data, $this->settings::TYPE['SYSTEM']);
|
||||
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
@@ -86,16 +88,21 @@ class SettingsController extends Controller
|
||||
*
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function getAria2Admin()
|
||||
public function getGlobalAria2()
|
||||
{
|
||||
return new JSONResponse(Helper::getSettings("admin_aria2_settings", "", $this->settings::TYPE['SYSTEM']));
|
||||
return new JSONResponse(Helper::getSettings("global_aria2_config", "", $this->settings::TYPE['SYSTEM']));
|
||||
}
|
||||
/**
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function aria2Save()
|
||||
public function saveCustomAria2()
|
||||
{
|
||||
$noAria2Settings = (bool) Helper::getAdminSettings("disallow_aria2_settings");
|
||||
if (!$noAria2Settings) {
|
||||
$resp = ["error" => "forbidden", "status" => false];
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
$params = $this->request->getParams();
|
||||
$data = Helper::filterData($params, Helper::aria2Options());
|
||||
$resp = $this->settings->save("custom_aria2_settings", json_encode($data));
|
||||
@@ -105,7 +112,7 @@ class SettingsController extends Controller
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function aria2Delete()
|
||||
public function deleteCustomAria2()
|
||||
{
|
||||
$saved = json_decode($this->settings->get("custom_aria2_settings"), 1);
|
||||
$params = $this->request->getParams();
|
||||
@@ -121,13 +128,13 @@ class SettingsController extends Controller
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function ytdlGet()
|
||||
public function getYtdl()
|
||||
{
|
||||
$data = json_decode($this->settings->get("custom_ytdl_settings"));
|
||||
return new JSONResponse($data);
|
||||
}
|
||||
|
||||
public function ytdlSave()
|
||||
public function saveYtdl()
|
||||
{
|
||||
$params = $this->request->getParams();
|
||||
$data = array_filter($params, function ($key) {
|
||||
@@ -140,7 +147,7 @@ class SettingsController extends Controller
|
||||
* @NoAdminRequired
|
||||
* @NoCSRFRequired
|
||||
*/
|
||||
public function ytdlDelete()
|
||||
public function deleteYtdl()
|
||||
{
|
||||
$saved = json_decode($this->settings->get("custom_ytdl_settings"), 1);
|
||||
$params = $this->request->getParams();
|
||||
@@ -150,15 +157,22 @@ class SettingsController extends Controller
|
||||
$resp = $this->settings->save("custom_ytdl_settings", json_encode($saved));
|
||||
return new JSONResponse($resp);
|
||||
}
|
||||
public function save($key, $value)
|
||||
public function save($key, $value, $type = Settings::TYPE["USER"])
|
||||
{
|
||||
//key starting with _ is invalid
|
||||
if (substr($key, 0, 1) == '_') {
|
||||
return;
|
||||
}
|
||||
$key = Helper::sanitize($key);
|
||||
$value = Helper::sanitize($value);
|
||||
if (is_array($value)) {
|
||||
foreach ($value as $k => &$v) {
|
||||
$value[$k] = Helper::sanitize($v);
|
||||
}
|
||||
} else {
|
||||
$value = Helper::sanitize($value);
|
||||
}
|
||||
try {
|
||||
$this->settings->setType($type);
|
||||
$this->settings->save($key, $value);
|
||||
} catch (\Exception $e) {
|
||||
return ['error' => $e->getMessage(), "status" => false];
|
||||
|
||||
Reference in New Issue
Block a user