Skip to content

Commit 3a63a6d

Browse files
committed
chore: improved menu item links to admin sections
1 parent 326eeea commit 3a63a6d

File tree

3 files changed

+16
-16
lines changed

3 files changed

+16
-16
lines changed

classes/ColdTrick/OpenSearch/Menus/AdminHeader.php

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

classes/ColdTrick/OpenSearch/Menus/Entity.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ public static function inspect(\Elgg\Event $event): ?MenuItems {
3333
'name' => 'opensearch_inspect',
3434
'icon' => 'search',
3535
'text' => elgg_echo('opensearch:menu:entity:inspect'),
36-
'href' => elgg_http_add_url_query_elements('admin/opensearch/inspect', [
36+
'href' => elgg_generate_url('admin', [
37+
'segments' => 'opensearch/inspect',
3738
'guid' => $entity->guid,
3839
]),
3940
]);

classes/ColdTrick/OpenSearch/Menus/EntityExplorer.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ public static function inspect(\Elgg\Event $event): ?MenuItems {
2929
'name' => 'opensearch_inspect',
3030
'icon' => 'search',
3131
'text' => elgg_echo('opensearch:menu:entity:inspect'),
32-
'href' => elgg_http_add_url_query_elements('admin/opensearch/inspect', [
32+
'href' => elgg_generate_url('admin', [
33+
'segments' => 'opensearch/inspect',
3334
'guid' => $entity->guid,
3435
]),
3536
'link_class' => ['elgg-button', 'elgg-button-action'],

0 commit comments

Comments
 (0)