add controller and service
This commit is contained in:
parent
a35258acfb
commit
a22ce04317
@ -14,7 +14,7 @@
|
||||
<category>multimedia</category>
|
||||
<website>https://git.project-insanity.org/onny/nextcloud-app-radio</website>
|
||||
<bugs>https://git.project-insanity.org/onny/nextcloud-app-radio/issues</bugs>
|
||||
<screenshot>https://onny.project-insanity.org/files/radio-app.png</screenshot>
|
||||
<screenshot>https://git.project-insanity.org/onny/nextcloud-app-radio/raw/master/screenshot.png</screenshot>
|
||||
<dependencies>
|
||||
<nextcloud min-version="14" max-version="14"/>
|
||||
</dependencies>
|
||||
|
54
controller/settingscontroller.php
Normal file
54
controller/settingscontroller.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
namespace OCA\Radio\Controller;
|
||||
|
||||
use \OCP\AppFramework\Controller;
|
||||
use \OCP\AppFramework\Http\TemplateResponse;
|
||||
use \OCP\IRequest;
|
||||
use \OCA\Radio\Service\ConfigService;
|
||||
|
||||
class SettingsController extends Controller {
|
||||
|
||||
private $userId;
|
||||
private $appConfig;
|
||||
|
||||
public function __construct($appName, IRequest $request, ConfigService $appConfig, $userId) {
|
||||
parent::__construct($appName, $request);
|
||||
$this->userId = $userId;
|
||||
$this->appConfig = $appConfig;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save order for current user
|
||||
*
|
||||
* @NoAdminRequired
|
||||
* @return array response
|
||||
*/
|
||||
public function getMenuState() {
|
||||
$menu_state = $this->appConfig->getUserValue('menu_state', $this->userId);
|
||||
$response = array(
|
||||
'status' => 'success',
|
||||
'data' => array('message' => 'User order saved successfully.'),
|
||||
'menu_state' => $menu_state
|
||||
);
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save order for current user
|
||||
*
|
||||
* @NoAdminRequired
|
||||
* @param $menu_state string
|
||||
* @return array response
|
||||
*/
|
||||
public function saveMenuState($menu_state) {
|
||||
$this->appConfig->setUserValue('menu_state', $this->userId, $menu_state);
|
||||
$response = array(
|
||||
'status' => 'success',
|
||||
'data' => array('message' => 'User order saved successfully.'),
|
||||
'menu_state' => $menu_state
|
||||
);
|
||||
return $response;
|
||||
}
|
||||
|
||||
}
|
25
service/configservice.php
Normal file
25
service/configservice.php
Normal file
@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace OCA\Radio\Service;
|
||||
|
||||
use \OCP\IConfig;
|
||||
|
||||
class ConfigService {
|
||||
|
||||
private $config;
|
||||
private $appName;
|
||||
|
||||
public function __construct(IConfig $config, $appName) {
|
||||
$this->config = $config;
|
||||
$this->appName = $appName;
|
||||
}
|
||||
|
||||
public function getUserValue($key, $userId) {
|
||||
return $this->config->getUserValue($userId, $this->appName, $key);
|
||||
}
|
||||
|
||||
public function setUserValue($key, $userId, $value) {
|
||||
$this->config->setUserValue($userId, $this->appName, $key, $value);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user