@@ -21,10 +21,6 @@ public static function register(\Elgg\Event $event): ?MenuItems {
2121 return null ;
2222 }
2323
24- $ current_path = parse_url (elgg_get_current_url (), PHP_URL_PATH );
25- $ site_path = parse_url (elgg_get_site_url (), PHP_URL_PATH );
26- $ parsed_path = substr ($ current_path , strlen ($ site_path ));
27-
2824 /* @var $returnvalue MenuItems */
2925 $ returnvalue = $ event ->getValue ();
3026
@@ -39,40 +35,42 @@ public static function register(\Elgg\Event $event): ?MenuItems {
3935 $ returnvalue [] = \ElggMenuItem::factory ([
4036 'name ' => 'opensearch:stats ' ,
4137 'text ' => elgg_echo ('admin:opensearch:statistics ' ),
42- 'href ' => 'admin/opensearch/statistics ' ,
43- 'selected ' => stristr ($ parsed_path , 'admin/opensearch/statistics ' ) !== false ,
38+ 'href ' => elgg_generate_url ('admin ' , ['segments ' => 'opensearch/statistics ' ]),
4439 'parent_name ' => 'opensearch ' ,
4540 ]);
4641
4742 $ returnvalue [] = \ElggMenuItem::factory ([
4843 'name ' => 'opensearch:indices ' ,
4944 'text ' => elgg_echo ('admin:opensearch:indices ' ),
50- 'href ' => 'admin/opensearch/indices ' ,
51- 'selected ' => stristr ($ parsed_path , 'admin/opensearch/indices ' ) !== false ,
45+ 'href ' => elgg_generate_url ('admin ' , ['segments ' => 'opensearch/indices ' ]),
5246 'parent_name ' => 'opensearch ' ,
5347 ]);
5448
5549 $ returnvalue [] = \ElggMenuItem::factory ([
5650 'name ' => 'opensearch:search ' ,
5751 'text ' => elgg_echo ('admin:opensearch:search ' ),
58- 'href ' => 'admin/opensearch/search ' ,
59- 'selected ' => stristr ($ parsed_path , 'admin/opensearch/search ' ) !== false ,
52+ 'href ' => elgg_generate_url ('admin ' , ['segments ' => 'opensearch/search ' ]),
6053 'parent_name ' => 'opensearch ' ,
6154 ]);
6255
6356 $ returnvalue [] = \ElggMenuItem::factory ([
6457 'name ' => 'opensearch:settings ' ,
6558 'text ' => elgg_echo ('settings ' ),
66- 'href ' => 'admin/plugin_settings/opensearch ' ,
67- 'selected ' => stristr ($ parsed_path , 'admin/plugin_settings/opensearch ' ) !== false ,
59+ 'href ' => elgg_generate_url ('admin:plugin_settings ' , [
60+ 'plugin_id ' => 'opensearch ' ,
61+ ]),
6862 'parent_name ' => 'opensearch ' ,
6963 ]);
7064
7165 $ returnvalue [] = \ElggMenuItem::factory ([
7266 'name ' => 'opensearch:inspect ' ,
7367 'text ' => elgg_echo ('admin:opensearch:inspect ' ),
74- 'href ' => 'admin/opensearch/inspect ' ,
75- 'selected ' => stristr ($ parsed_path , 'admin/opensearch/inspect ' ) !== false ,
68+ 'href ' => elgg_generate_url ('admin ' , ['segments ' => 'opensearch/inspect ' ]),
69+ 'selected ' => elgg_http_url_is_identical (
70+ elgg_get_current_url (),
71+ elgg_generate_url ('admin ' , ['segments ' => 'opensearch/inspect ' ]),
72+ ['guid ' ]
73+ ),
7674 'parent_name ' => 'opensearch ' ,
7775 ]);
7876
0 commit comments