add add top-menu-apps option in the personal settings

This commit is contained in:
Simon Vieille 2020-08-12 15:59:51 +02:00
commit a1b1396b63
Signed by: deblan
GPG key ID: 03383D15A1D31745
6 changed files with 91 additions and 7 deletions

View file

@ -23,6 +23,8 @@ use OCP\AppFramework\Http\TemplateResponse;
use OCP\AppFramework\Http\Response;
use OCP\IConfig;
use OCP\IRequest;
use OCP\IUserSession;
use OC;
class JsController extends Controller
{
@ -53,6 +55,17 @@ class JsController extends Controller
*/
public function script()
{
$user = OC::$server[IUserSession::class]->getUser();
$topMenuApps = (array) json_decode($this->config->getAppValue('side_menu', 'top-menu-apps', '[]'), true);
if ($user) {
$userTopMenuApps = (array) json_decode($this->config->getUserValue($user->getUid(), 'side_menu', 'top-menu-apps', '[]'), true);
if (!empty($userTopMenuApps)) {
$topMenuApps = $userTopMenuApps;
}
}
$parameters = [
'opener-position' => $this->config->getAppValue('side_menu', 'opener-position', 'before'),
'opener-hover' => (bool) $this->config->getAppValue('side_menu', 'opener-hover', '0'),
@ -61,7 +74,7 @@ class JsController extends Controller
'hide-when-no-apps' => (bool) $this->config->getAppValue('side_menu', 'hide-when-no-apps', '0'),
'loader-enabled' => (bool) $this->config->getAppValue('side_menu', 'loader-enabled', '1'),
'big-menu' => (bool) $this->config->getAppValue('side_menu', 'big-menu', '0'),
'top-menu-apps' => (array) json_decode($this->config->getAppValue('side_menu', 'top-menu-apps', '[]'), true),
'top-menu-apps' => $topMenuApps,
];
$response = new TemplateResponse('side_menu', 'js/script', $parameters, 'blank');