diff --git a/appinfo/info.xml b/appinfo/info.xml index cf4cfbf..32c8178 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -55,7 +55,7 @@ In case of downtime, you can download **Custom Menu** from [here](https://kim.de https://gitnet.fr/deblan/side_menu/raw/branch/master/screenshots/nc25_default_menu.png - + OCA\SideMenu\Settings\Admin diff --git a/appinfo/routes.php b/appinfo/routes.php deleted file mode 100644 index bdc3fba..0000000 --- a/appinfo/routes.php +++ /dev/null @@ -1,31 +0,0 @@ -. - */ - -return [ - 'routes' => [ - ['name' => 'App#index', 'url' => '/', 'verb' => 'GET'], - ['name' => 'Css#stylesheet', 'url' => '/css/stylesheet', 'verb' => 'GET'], - ['name' => 'Js#script', 'url' => '/js/script', 'verb' => 'GET'], - ['name' => 'Js#config', 'url' => '/js/config', 'verb' => 'GET'], - ['name' => 'Nav#items', 'url' => '/nav/items', 'verb' => 'GET'], - ['name' => 'PersonalSetting#valueSet', 'url' => '/personalSetting/valueSet', 'verb' => 'POST'], - ['name' => 'AdminSetting#removeCache', 'url' => '/admin/cache/remove', 'verb' => 'GET'], - ['name' => 'AdminSetting#exportConfiguration', 'url' => '/admin/config/export', 'verb' => 'GET'], - ], -]; diff --git a/lib/Controller/AdminSettingController.php b/lib/Controller/AdminSettingController.php index 4ecfbea..7632b4a 100644 --- a/lib/Controller/AdminSettingController.php +++ b/lib/Controller/AdminSettingController.php @@ -20,11 +20,13 @@ namespace OCA\SideMenu\Controller; use OCA\SideMenu\AppInfo\Application; use OCP\AppFramework\Controller; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; use OCP\AppFramework\Http\DataDownloadResponse; use OCP\AppFramework\Http\RedirectResponse; use OCP\IConfig; use OCP\IRequest; use OCP\IURLGenerator; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; class AdminSettingController extends Controller { @@ -37,9 +39,8 @@ class AdminSettingController extends Controller parent::__construct($appName, $request); } - /** - * @NoCSRFRequired - */ + #[NoCSRFRequired] + #[FrontpageRoute(verb: 'GET', url: '/admin/cache/remove')] public function removeCache(): RedirectResponse { $this->config->setAppValue(Application::APP_ID, 'cache-categories', '[]'); @@ -49,9 +50,8 @@ class AdminSettingController extends Controller ]).'#more'); } - /** - * @NoCSRFRequired - */ + #[NoCSRFRequired] + #[FrontpageRoute(verb: 'GET', url: '/admin/config/export')] public function exportConfiguration(): DataDownloadResponse { $keys = $this->config->getAppKeys(Application::APP_ID); diff --git a/lib/Controller/AppController.php b/lib/Controller/AppController.php index dd2993e..ea7d19e 100644 --- a/lib/Controller/AppController.php +++ b/lib/Controller/AppController.php @@ -26,6 +26,9 @@ use OCP\AppFramework\Http\RedirectResponse; use OCP\IRequest; use OCP\IURLGenerator; use OCP\IUserSession; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; class AppController extends Controller { @@ -39,10 +42,9 @@ class AppController extends Controller parent::__construct($appName, $request); } - /** - * @NoAdminRequired - * @NoCSRFRequired - */ + #[NoCSRFRequired] + #[NoAdminRequired] + #[FrontpageRoute(verb: 'GET', url: '/')] public function index(): RedirectResponse { $user = OC::$server[IUserSession::class]->getUser(); diff --git a/lib/Controller/CssController.php b/lib/Controller/CssController.php index 93fafb3..7a186ae 100644 --- a/lib/Controller/CssController.php +++ b/lib/Controller/CssController.php @@ -29,6 +29,8 @@ use OCP\AppFramework\Http\Response; use OCP\AppFramework\Http\TemplateResponse; use OCP\IRequest; use OCP\IUserSession; +use OCP\AppFramework\Http\Attribute\PublicPage; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; class CssController extends Controller { @@ -46,11 +48,10 @@ class CssController extends Controller $this->user = OC::$server[IUserSession::class]->getUser(); } - /** - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage - */ + #[NoCSRFRequired] + #[NoAdminRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'GET', url: '/css/stylesheet')] public function stylesheet(): TemplateResponse { $response = new TemplateResponse(Application::APP_ID, 'css/stylesheet', $this->getConfig(), 'blank'); diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php index a1b26e3..d3c43db 100644 --- a/lib/Controller/JsController.php +++ b/lib/Controller/JsController.php @@ -29,6 +29,10 @@ use OCP\AppFramework\Http\TemplateResponse; use OCP\IRequest; use OCP\IUserSession; use OCP\L10N\IFactory; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\PublicPage; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; class JsController extends Controller { @@ -50,11 +54,10 @@ class JsController extends Controller $this->l10nFactory = $l10nFactory; } - /** - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage - */ + #[NoCSRFRequired] + #[NoAdminRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'GET', url: '/js/script')] public function script(): TemplateResponse { $response = new TemplateResponse(Application::APP_ID, 'js/script', $this->getConfig(), 'blank'); @@ -63,11 +66,10 @@ class JsController extends Controller return $response; } - /** - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage - */ + #[NoCSRFRequired] + #[NoAdminRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'GET', url: '/js/config')] public function config(): JSONResponse { return new JSONResponse($this->getConfig()); diff --git a/lib/Controller/NavController.php b/lib/Controller/NavController.php index 21fb23c..0ed0dea 100644 --- a/lib/Controller/NavController.php +++ b/lib/Controller/NavController.php @@ -28,6 +28,10 @@ use OCP\AppFramework\Http\JSONResponse; use OCP\IRequest; use OCP\IUserSession; use OCP\L10N\IFactory; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\PublicPage; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; class NavController extends Controller { @@ -43,11 +47,10 @@ class NavController extends Controller parent::__construct($appName, $request); } - /** - * @NoAdminRequired - * @NoCSRFRequired - * @PublicPage - */ + #[NoCSRFRequired] + #[NoAdminRequired] + #[PublicPage] + #[FrontpageRoute(verb: 'GET', url: '/nav/items')] public function items(): JSONResponse { $user = OC::$server[IUserSession::class]->getUser(); diff --git a/lib/Controller/PersonalSettingController.php b/lib/Controller/PersonalSettingController.php index e4f6331..5ac5a47 100644 --- a/lib/Controller/PersonalSettingController.php +++ b/lib/Controller/PersonalSettingController.php @@ -24,6 +24,9 @@ use OCP\AppFramework\Controller; use OCP\IConfig; use OCP\IRequest; use OCP\IUserSession; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\FrontpageRoute; class PersonalSettingController extends Controller { @@ -37,13 +40,9 @@ class PersonalSettingController extends Controller parent::__construct($appName, $request); } - /** - * @NoAdminRequired - * @NoCSRFRequired - * - * @param mixed $name - * @param mixed $value - */ + #[NoCSRFRequired] + #[NoAdminRequired] + #[FrontpageRoute(verb: 'POST', url: '/personalSetting/valueSet')] public function valueSet($name, $value): array { $doSave = false;