2222 */
2323namespace OC \Core \Controller ;
2424
25- use OCP \AppFramework \Controller ;
26- use OCP \AppFramework \Http \ JSONResponse ;
25+ use OCP \AppFramework \Http \ DataResponse ;
26+ use OCP \AppFramework \OCSController ;
2727use OCP \INavigationManager ;
2828use OCP \IRequest ;
2929use OCP \IURLGenerator ;
3030
31- class NavigationController extends Controller {
31+ class NavigationController extends OCSController {
3232
3333 /** @var INavigationManager */
3434 private $ navigationManager ;
@@ -47,41 +47,43 @@ public function __construct(string $appName, IRequest $request, INavigationManag
4747 * @NoCSRFRequired
4848 *
4949 * @param bool $absolute
50- * @return JSONResponse
50+ * @return DataResponse
5151 */
52- public function getAppsNavigation (bool $ absolute = false ) {
53- $ navigation = $ this ->navigationManager ->getAll (' link ' );
52+ public function getAppsNavigation (bool $ absolute = false ): DataResponse {
53+ $ navigation = $ this ->navigationManager ->getAll ();
5454 if ($ absolute ) {
55- $ this ->rewriteToAbsoluteUrls ($ navigation );
55+ $ navigation = $ this ->rewriteToAbsoluteUrls ($ navigation );
5656 }
57- return new JSONResponse ($ navigation );
57+ return new DataResponse ($ navigation );
5858 }
5959
6060 /**
6161 * @NoAdminRequired
6262 * @NoCSRFRequired
6363 *
6464 * @param bool $absolute
65- * @return JSONResponse
65+ * @return DataResponse
6666 */
67- public function getSettingsNavigation (bool $ absolute = false ) {
67+ public function getSettingsNavigation (bool $ absolute = false ): DataResponse {
6868 $ navigation = $ this ->navigationManager ->getAll ('settings ' );
6969 if ($ absolute ) {
70- $ this ->rewriteToAbsoluteUrls ($ navigation );
70+ $ navigation = $ this ->rewriteToAbsoluteUrls ($ navigation );
7171 }
72- return new JSONResponse ($ navigation );
72+ return new DataResponse ($ navigation );
7373 }
7474
7575 /**
7676 * Rewrite href attribute of navigation entries to an absolute URL
7777 *
7878 * @param array $navigation
79+ * @return array
7980 */
80- private function rewriteToAbsoluteUrls (array & $ navigation ) {
81+ private function rewriteToAbsoluteUrls (array $ navigation ): array {
8182 foreach ($ navigation as &$ entry ) {
82- if (substr ($ entry ['href ' ], 0 , strlen ( $ this ->urlGenerator ->getBaseUrl ())) !== $ this -> urlGenerator -> getBaseUrl ( )) {
83+ if (0 !== strpos ($ entry ['href ' ], $ this ->urlGenerator ->getBaseUrl ())) {
8384 $ entry ['href ' ] = $ this ->urlGenerator ->getAbsoluteURL ($ entry ['href ' ]);
8485 }
8586 }
87+ return $ navigation ;
8688 }
8789}
0 commit comments