@@ -91,29 +91,29 @@ discard block |
||
91 | 91 | * @since 1.8.0 |
92 | 92 | */ |
93 | 93 | function elgg_register_menu_item($menu_name, $menu_item) { |
94 | - global $CONFIG; |
|
95 | - |
|
96 | - if (is_array($menu_item)) { |
|
97 | - $options = $menu_item; |
|
98 | - $menu_item = \ElggMenuItem::factory($options); |
|
99 | - if (!$menu_item) { |
|
100 | - $menu_item_name = elgg_extract('name', $options, 'MISSING NAME'); |
|
101 | - elgg_log("Unable to add menu item '{$menu_item_name}' to '$menu_name' menu", 'WARNING'); |
|
102 | - return false; |
|
103 | - } |
|
104 | - } |
|
105 | - |
|
106 | - if (!$menu_item instanceof ElggMenuItem) { |
|
107 | - elgg_log('Second argument of elgg_register_menu_item() must be an instance of ' |
|
108 | - . 'ElggMenuItem or an array of menu item factory options', 'ERROR'); |
|
109 | - return false; |
|
110 | - } |
|
111 | - |
|
112 | - if (!isset($CONFIG->menus[$menu_name])) { |
|
113 | - $CONFIG->menus[$menu_name] = []; |
|
114 | - } |
|
115 | - $CONFIG->menus[$menu_name][] = $menu_item; |
|
116 | - return true; |
|
94 | + global $CONFIG; |
|
95 | + |
|
96 | + if (is_array($menu_item)) { |
|
97 | + $options = $menu_item; |
|
98 | + $menu_item = \ElggMenuItem::factory($options); |
|
99 | + if (!$menu_item) { |
|
100 | + $menu_item_name = elgg_extract('name', $options, 'MISSING NAME'); |
|
101 | + elgg_log("Unable to add menu item '{$menu_item_name}' to '$menu_name' menu", 'WARNING'); |
|
102 | + return false; |
|
103 | + } |
|
104 | + } |
|
105 | + |
|
106 | + if (!$menu_item instanceof ElggMenuItem) { |
|
107 | + elgg_log('Second argument of elgg_register_menu_item() must be an instance of ' |
|
108 | + . 'ElggMenuItem or an array of menu item factory options', 'ERROR'); |
|
109 | + return false; |
|
110 | + } |
|
111 | + |
|
112 | + if (!isset($CONFIG->menus[$menu_name])) { |
|
113 | + $CONFIG->menus[$menu_name] = []; |
|
114 | + } |
|
115 | + $CONFIG->menus[$menu_name][] = $menu_item; |
|
116 | + return true; |
|
117 | 117 | } |
118 | 118 | |
119 | 119 | /** |
@@ -126,22 +126,22 @@ discard block |
||
126 | 126 | * @since 1.8.0 |
127 | 127 | */ |
128 | 128 | function elgg_unregister_menu_item($menu_name, $item_name) { |
129 | - global $CONFIG; |
|
130 | - |
|
131 | - if (empty($CONFIG->menus[$menu_name])) { |
|
132 | - return null; |
|
133 | - } |
|
134 | - |
|
135 | - foreach ($CONFIG->menus[$menu_name] as $index => $menu_object) { |
|
136 | - /* @var \ElggMenuItem $menu_object */ |
|
137 | - if ($menu_object instanceof ElggMenuItem && $menu_object->getName() == $item_name) { |
|
138 | - $item = $CONFIG->menus[$menu_name][$index]; |
|
139 | - unset($CONFIG->menus[$menu_name][$index]); |
|
140 | - return $item; |
|
141 | - } |
|
142 | - } |
|
143 | - |
|
144 | - return null; |
|
129 | + global $CONFIG; |
|
130 | + |
|
131 | + if (empty($CONFIG->menus[$menu_name])) { |
|
132 | + return null; |
|
133 | + } |
|
134 | + |
|
135 | + foreach ($CONFIG->menus[$menu_name] as $index => $menu_object) { |
|
136 | + /* @var \ElggMenuItem $menu_object */ |
|
137 | + if ($menu_object instanceof ElggMenuItem && $menu_object->getName() == $item_name) { |
|
138 | + $item = $CONFIG->menus[$menu_name][$index]; |
|
139 | + unset($CONFIG->menus[$menu_name][$index]); |
|
140 | + return $item; |
|
141 | + } |
|
142 | + } |
|
143 | + |
|
144 | + return null; |
|
145 | 145 | } |
146 | 146 | |
147 | 147 | /** |
@@ -154,20 +154,20 @@ discard block |
||
154 | 154 | * @since 1.8.0 |
155 | 155 | */ |
156 | 156 | function elgg_is_menu_item_registered($menu_name, $item_name) { |
157 | - global $CONFIG; |
|
157 | + global $CONFIG; |
|
158 | 158 | |
159 | - if (!isset($CONFIG->menus[$menu_name])) { |
|
160 | - return false; |
|
161 | - } |
|
159 | + if (!isset($CONFIG->menus[$menu_name])) { |
|
160 | + return false; |
|
161 | + } |
|
162 | 162 | |
163 | - foreach ($CONFIG->menus[$menu_name] as $menu_object) { |
|
164 | - /* @var \ElggMenuItem $menu_object */ |
|
165 | - if ($menu_object->getName() == $item_name) { |
|
166 | - return true; |
|
167 | - } |
|
168 | - } |
|
163 | + foreach ($CONFIG->menus[$menu_name] as $menu_object) { |
|
164 | + /* @var \ElggMenuItem $menu_object */ |
|
165 | + if ($menu_object->getName() == $item_name) { |
|
166 | + return true; |
|
167 | + } |
|
168 | + } |
|
169 | 169 | |
170 | - return false; |
|
170 | + return false; |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | /** |
@@ -180,20 +180,20 @@ discard block |
||
180 | 180 | * @since 1.9.0 |
181 | 181 | */ |
182 | 182 | function elgg_get_menu_item($menu_name, $item_name) { |
183 | - global $CONFIG; |
|
183 | + global $CONFIG; |
|
184 | 184 | |
185 | - if (!isset($CONFIG->menus[$menu_name])) { |
|
186 | - return null; |
|
187 | - } |
|
185 | + if (!isset($CONFIG->menus[$menu_name])) { |
|
186 | + return null; |
|
187 | + } |
|
188 | 188 | |
189 | - foreach ($CONFIG->menus[$menu_name] as $index => $menu_object) { |
|
190 | - /* @var \ElggMenuItem $menu_object */ |
|
191 | - if ($menu_object->getName() == $item_name) { |
|
192 | - return $CONFIG->menus[$menu_name][$index]; |
|
193 | - } |
|
194 | - } |
|
189 | + foreach ($CONFIG->menus[$menu_name] as $index => $menu_object) { |
|
190 | + /* @var \ElggMenuItem $menu_object */ |
|
191 | + if ($menu_object->getName() == $item_name) { |
|
192 | + return $CONFIG->menus[$menu_name][$index]; |
|
193 | + } |
|
194 | + } |
|
195 | 195 | |
196 | - return null; |
|
196 | + return null; |
|
197 | 197 | } |
198 | 198 | |
199 | 199 | /** |
@@ -214,25 +214,25 @@ discard block |
||
214 | 214 | */ |
215 | 215 | function elgg_register_title_button($handler = null, $name = 'add', $entity_type = 'all', $entity_subtype = 'all') { |
216 | 216 | |
217 | - if (!$handler) { |
|
218 | - $handler = elgg_get_context(); |
|
219 | - } |
|
220 | - |
|
221 | - $owner = elgg_get_page_owner_entity(); |
|
222 | - if (!$owner) { |
|
223 | - // noone owns the page so this is probably an all site list page |
|
224 | - $owner = elgg_get_logged_in_user_entity(); |
|
225 | - } |
|
226 | - if (!$owner || !$owner->canWriteToContainer(0, $entity_type, $entity_subtype)) { |
|
227 | - return; |
|
228 | - } |
|
229 | - |
|
230 | - elgg_register_menu_item('title', [ |
|
231 | - 'name' => $name, |
|
232 | - 'href' => "$handler/$name/$owner->guid", |
|
233 | - 'text' => elgg_echo("$handler:$name"), |
|
234 | - 'link_class' => 'elgg-button elgg-button-action', |
|
235 | - ]); |
|
217 | + if (!$handler) { |
|
218 | + $handler = elgg_get_context(); |
|
219 | + } |
|
220 | + |
|
221 | + $owner = elgg_get_page_owner_entity(); |
|
222 | + if (!$owner) { |
|
223 | + // noone owns the page so this is probably an all site list page |
|
224 | + $owner = elgg_get_logged_in_user_entity(); |
|
225 | + } |
|
226 | + if (!$owner || !$owner->canWriteToContainer(0, $entity_type, $entity_subtype)) { |
|
227 | + return; |
|
228 | + } |
|
229 | + |
|
230 | + elgg_register_menu_item('title', [ |
|
231 | + 'name' => $name, |
|
232 | + 'href' => "$handler/$name/$owner->guid", |
|
233 | + 'text' => elgg_echo("$handler:$name"), |
|
234 | + 'link_class' => 'elgg-button elgg-button-action', |
|
235 | + ]); |
|
236 | 236 | } |
237 | 237 | |
238 | 238 | /** |
@@ -249,9 +249,9 @@ discard block |
||
249 | 249 | * @see elgg_get_breadcrumbs |
250 | 250 | */ |
251 | 251 | function elgg_push_breadcrumb($title, $link = null) { |
252 | - $breadcrumbs = (array) elgg_get_config('breadcrumbs'); |
|
253 | - $breadcrumbs[] = ['title' => $title, 'link' => $link]; |
|
254 | - elgg_set_config('breadcrumbs', $breadcrumbs); |
|
252 | + $breadcrumbs = (array) elgg_get_config('breadcrumbs'); |
|
253 | + $breadcrumbs[] = ['title' => $title, 'link' => $link]; |
|
254 | + elgg_set_config('breadcrumbs', $breadcrumbs); |
|
255 | 255 | } |
256 | 256 | |
257 | 257 | /** |
@@ -261,16 +261,16 @@ discard block |
||
261 | 261 | * @since 1.8.0 |
262 | 262 | */ |
263 | 263 | function elgg_pop_breadcrumb() { |
264 | - $breadcrumbs = (array) elgg_get_config('breadcrumbs'); |
|
264 | + $breadcrumbs = (array) elgg_get_config('breadcrumbs'); |
|
265 | 265 | |
266 | - if (empty($breadcrumbs)) { |
|
267 | - return []; |
|
268 | - } |
|
266 | + if (empty($breadcrumbs)) { |
|
267 | + return []; |
|
268 | + } |
|
269 | 269 | |
270 | - $popped = array_pop($breadcrumbs); |
|
271 | - elgg_set_config('breadcrumbs', $breadcrumbs); |
|
270 | + $popped = array_pop($breadcrumbs); |
|
271 | + elgg_set_config('breadcrumbs', $breadcrumbs); |
|
272 | 272 | |
273 | - return $popped; |
|
273 | + return $popped; |
|
274 | 274 | } |
275 | 275 | |
276 | 276 | /** |
@@ -294,31 +294,31 @@ discard block |
||
294 | 294 | * @see elgg_prepare_breadcrumbs |
295 | 295 | */ |
296 | 296 | function elgg_get_breadcrumbs(array $breadcrumbs = null) { |
297 | - if (!isset($breadcrumbs)) { |
|
298 | - // if no crumbs set, still allow hook to populate it |
|
299 | - $breadcrumbs = (array) elgg_get_config('breadcrumbs'); |
|
300 | - } |
|
301 | - |
|
302 | - if (!is_array($breadcrumbs)) { |
|
303 | - _elgg_services()->logger->error(__FUNCTION__ . ' expects breadcrumbs as an array'); |
|
304 | - $breadcrumbs = []; |
|
305 | - } |
|
297 | + if (!isset($breadcrumbs)) { |
|
298 | + // if no crumbs set, still allow hook to populate it |
|
299 | + $breadcrumbs = (array) elgg_get_config('breadcrumbs'); |
|
300 | + } |
|
301 | + |
|
302 | + if (!is_array($breadcrumbs)) { |
|
303 | + _elgg_services()->logger->error(__FUNCTION__ . ' expects breadcrumbs as an array'); |
|
304 | + $breadcrumbs = []; |
|
305 | + } |
|
306 | 306 | |
307 | - $params = [ |
|
308 | - 'breadcrumbs' => $breadcrumbs, |
|
309 | - ]; |
|
307 | + $params = [ |
|
308 | + 'breadcrumbs' => $breadcrumbs, |
|
309 | + ]; |
|
310 | 310 | |
311 | - $params['identifier'] = _elgg_services()->request->getFirstUrlSegment(); |
|
312 | - $params['segments'] = _elgg_services()->request->getUrlSegments(); |
|
313 | - array_shift($params['segments']); |
|
311 | + $params['identifier'] = _elgg_services()->request->getFirstUrlSegment(); |
|
312 | + $params['segments'] = _elgg_services()->request->getUrlSegments(); |
|
313 | + array_shift($params['segments']); |
|
314 | 314 | |
315 | - $breadcrumbs = elgg_trigger_plugin_hook('prepare', 'breadcrumbs', $params, $breadcrumbs); |
|
316 | - if (!is_array($breadcrumbs)) { |
|
317 | - _elgg_services()->logger->error('"prepare, breadcrumbs" hook must return an array of breadcrumbs'); |
|
318 | - return []; |
|
319 | - } |
|
315 | + $breadcrumbs = elgg_trigger_plugin_hook('prepare', 'breadcrumbs', $params, $breadcrumbs); |
|
316 | + if (!is_array($breadcrumbs)) { |
|
317 | + _elgg_services()->logger->error('"prepare, breadcrumbs" hook must return an array of breadcrumbs'); |
|
318 | + return []; |
|
319 | + } |
|
320 | 320 | |
321 | - return $breadcrumbs; |
|
321 | + return $breadcrumbs; |
|
322 | 322 | } |
323 | 323 | |
324 | 324 | /** |
@@ -334,17 +334,17 @@ discard block |
||
334 | 334 | * @since 1.11 |
335 | 335 | */ |
336 | 336 | function elgg_prepare_breadcrumbs($hook, $type, $breadcrumbs, $params) { |
337 | - // remove last crumb if not a link |
|
338 | - $last_crumb = end($breadcrumbs); |
|
339 | - if (empty($last_crumb['link'])) { |
|
340 | - array_pop($breadcrumbs); |
|
341 | - } |
|
342 | - |
|
343 | - // apply excerpt to titles |
|
344 | - foreach (array_keys($breadcrumbs) as $i) { |
|
345 | - $breadcrumbs[$i]['title'] = elgg_get_excerpt($breadcrumbs[$i]['title'], 100); |
|
346 | - } |
|
347 | - return $breadcrumbs; |
|
337 | + // remove last crumb if not a link |
|
338 | + $last_crumb = end($breadcrumbs); |
|
339 | + if (empty($last_crumb['link'])) { |
|
340 | + array_pop($breadcrumbs); |
|
341 | + } |
|
342 | + |
|
343 | + // apply excerpt to titles |
|
344 | + foreach (array_keys($breadcrumbs) as $i) { |
|
345 | + $breadcrumbs[$i]['title'] = elgg_get_excerpt($breadcrumbs[$i]['title'], 100); |
|
346 | + } |
|
347 | + return $breadcrumbs; |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | /** |
@@ -359,40 +359,40 @@ discard block |
||
359 | 359 | */ |
360 | 360 | function elgg_get_filter_tabs($context = null, $selected = null, ElggUser $user = null, array $vars = []) { |
361 | 361 | |
362 | - if (!isset($selected)) { |
|
363 | - $selected = 'all'; |
|
364 | - } |
|
365 | - |
|
366 | - if (!$user) { |
|
367 | - $user = elgg_get_logged_in_user_entity(); |
|
368 | - } |
|
369 | - |
|
370 | - $items = []; |
|
371 | - if ($user) { |
|
372 | - $items[] = ElggMenuItem::factory([ |
|
373 | - 'name' => 'all', |
|
374 | - 'text' => elgg_echo('all'), |
|
375 | - 'href' => (isset($vars['all_link'])) ? $vars['all_link'] : "$context/all", |
|
376 | - 'selected' => ($selected == 'all'), |
|
377 | - 'priority' => 200, |
|
378 | - ]); |
|
379 | - $items[] = ElggMenuItem::factory([ |
|
380 | - 'name' => 'mine', |
|
381 | - 'text' => elgg_echo('mine'), |
|
382 | - 'href' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "$context/owner/{$user->username}", |
|
383 | - 'selected' => ($selected == 'mine'), |
|
384 | - 'priority' => 300, |
|
385 | - ]); |
|
386 | - } |
|
387 | - |
|
388 | - $params = [ |
|
389 | - 'selected' => $selected, |
|
390 | - 'user' => $user, |
|
391 | - 'vars' => $vars, |
|
392 | - ]; |
|
393 | - $items = _elgg_services()->hooks->trigger('filter_tabs', $context, $params, $items); |
|
394 | - |
|
395 | - return $items; |
|
362 | + if (!isset($selected)) { |
|
363 | + $selected = 'all'; |
|
364 | + } |
|
365 | + |
|
366 | + if (!$user) { |
|
367 | + $user = elgg_get_logged_in_user_entity(); |
|
368 | + } |
|
369 | + |
|
370 | + $items = []; |
|
371 | + if ($user) { |
|
372 | + $items[] = ElggMenuItem::factory([ |
|
373 | + 'name' => 'all', |
|
374 | + 'text' => elgg_echo('all'), |
|
375 | + 'href' => (isset($vars['all_link'])) ? $vars['all_link'] : "$context/all", |
|
376 | + 'selected' => ($selected == 'all'), |
|
377 | + 'priority' => 200, |
|
378 | + ]); |
|
379 | + $items[] = ElggMenuItem::factory([ |
|
380 | + 'name' => 'mine', |
|
381 | + 'text' => elgg_echo('mine'), |
|
382 | + 'href' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "$context/owner/{$user->username}", |
|
383 | + 'selected' => ($selected == 'mine'), |
|
384 | + 'priority' => 300, |
|
385 | + ]); |
|
386 | + } |
|
387 | + |
|
388 | + $params = [ |
|
389 | + 'selected' => $selected, |
|
390 | + 'user' => $user, |
|
391 | + 'vars' => $vars, |
|
392 | + ]; |
|
393 | + $items = _elgg_services()->hooks->trigger('filter_tabs', $context, $params, $items); |
|
394 | + |
|
395 | + return $items; |
|
396 | 396 | } |
397 | 397 | |
398 | 398 | /** |
@@ -404,83 +404,83 @@ discard block |
||
404 | 404 | */ |
405 | 405 | function _elgg_site_menu_setup($hook, $type, $return, $params) { |
406 | 406 | |
407 | - $featured_menu_names = elgg_get_config('site_featured_menu_names'); |
|
408 | - $custom_menu_items = elgg_get_config('site_custom_menu_items'); |
|
409 | - if ($featured_menu_names || $custom_menu_items) { |
|
410 | - // we have featured or custom menu items |
|
411 | - |
|
412 | - $registered = $return['default']; |
|
413 | - /* @var \ElggMenuItem[] $registered */ |
|
414 | - |
|
415 | - // set up featured menu items |
|
416 | - $featured = []; |
|
417 | - foreach ($featured_menu_names as $name) { |
|
418 | - foreach ($registered as $index => $item) { |
|
419 | - if ($item->getName() == $name) { |
|
420 | - $featured[] = $item; |
|
421 | - unset($registered[$index]); |
|
422 | - } |
|
423 | - } |
|
424 | - } |
|
425 | - |
|
426 | - // add custom menu items |
|
427 | - $n = 1; |
|
428 | - foreach ($custom_menu_items as $title => $url) { |
|
429 | - $item = new \ElggMenuItem("custom$n", $title, $url); |
|
430 | - $featured[] = $item; |
|
431 | - $n++; |
|
432 | - } |
|
433 | - |
|
434 | - $return['default'] = $featured; |
|
435 | - if (count($registered) > 0) { |
|
436 | - $return['more'] = $registered; |
|
437 | - } |
|
438 | - } else { |
|
439 | - // no featured menu items set |
|
440 | - $max_display_items = 5; |
|
441 | - |
|
442 | - // the first n are shown, rest added to more list |
|
443 | - // if only one item on more menu, stick it with the rest |
|
444 | - $num_menu_items = count($return['default']); |
|
445 | - if ($num_menu_items > ($max_display_items + 1)) { |
|
446 | - $return['more'] = array_splice($return['default'], $max_display_items); |
|
447 | - } |
|
448 | - } |
|
407 | + $featured_menu_names = elgg_get_config('site_featured_menu_names'); |
|
408 | + $custom_menu_items = elgg_get_config('site_custom_menu_items'); |
|
409 | + if ($featured_menu_names || $custom_menu_items) { |
|
410 | + // we have featured or custom menu items |
|
411 | + |
|
412 | + $registered = $return['default']; |
|
413 | + /* @var \ElggMenuItem[] $registered */ |
|
414 | + |
|
415 | + // set up featured menu items |
|
416 | + $featured = []; |
|
417 | + foreach ($featured_menu_names as $name) { |
|
418 | + foreach ($registered as $index => $item) { |
|
419 | + if ($item->getName() == $name) { |
|
420 | + $featured[] = $item; |
|
421 | + unset($registered[$index]); |
|
422 | + } |
|
423 | + } |
|
424 | + } |
|
425 | + |
|
426 | + // add custom menu items |
|
427 | + $n = 1; |
|
428 | + foreach ($custom_menu_items as $title => $url) { |
|
429 | + $item = new \ElggMenuItem("custom$n", $title, $url); |
|
430 | + $featured[] = $item; |
|
431 | + $n++; |
|
432 | + } |
|
433 | + |
|
434 | + $return['default'] = $featured; |
|
435 | + if (count($registered) > 0) { |
|
436 | + $return['more'] = $registered; |
|
437 | + } |
|
438 | + } else { |
|
439 | + // no featured menu items set |
|
440 | + $max_display_items = 5; |
|
441 | + |
|
442 | + // the first n are shown, rest added to more list |
|
443 | + // if only one item on more menu, stick it with the rest |
|
444 | + $num_menu_items = count($return['default']); |
|
445 | + if ($num_menu_items > ($max_display_items + 1)) { |
|
446 | + $return['more'] = array_splice($return['default'], $max_display_items); |
|
447 | + } |
|
448 | + } |
|
449 | 449 | |
450 | - // check if we have anything selected |
|
451 | - $selected = false; |
|
452 | - foreach ($return as $section) { |
|
453 | - /* @var \ElggMenuItem[] $section */ |
|
454 | - |
|
455 | - foreach ($section as $item) { |
|
456 | - if ($item->getSelected()) { |
|
457 | - $selected = true; |
|
458 | - break 2; |
|
459 | - } |
|
460 | - } |
|
461 | - } |
|
450 | + // check if we have anything selected |
|
451 | + $selected = false; |
|
452 | + foreach ($return as $section) { |
|
453 | + /* @var \ElggMenuItem[] $section */ |
|
454 | + |
|
455 | + foreach ($section as $item) { |
|
456 | + if ($item->getSelected()) { |
|
457 | + $selected = true; |
|
458 | + break 2; |
|
459 | + } |
|
460 | + } |
|
461 | + } |
|
462 | 462 | |
463 | - if (!$selected) { |
|
464 | - // nothing selected, match name to context or match url |
|
465 | - $current_url = current_page_url(); |
|
466 | - foreach ($return as $section_name => $section) { |
|
467 | - foreach ($section as $key => $item) { |
|
468 | - // only highlight internal links |
|
469 | - if (strpos($item->getHref(), elgg_get_site_url()) === 0) { |
|
470 | - if ($item->getName() == elgg_get_context()) { |
|
471 | - $return[$section_name][$key]->setSelected(true); |
|
472 | - break 2; |
|
473 | - } |
|
474 | - if ($item->getHref() == $current_url) { |
|
475 | - $return[$section_name][$key]->setSelected(true); |
|
476 | - break 2; |
|
477 | - } |
|
478 | - } |
|
479 | - } |
|
480 | - } |
|
481 | - } |
|
482 | - |
|
483 | - return $return; |
|
463 | + if (!$selected) { |
|
464 | + // nothing selected, match name to context or match url |
|
465 | + $current_url = current_page_url(); |
|
466 | + foreach ($return as $section_name => $section) { |
|
467 | + foreach ($section as $key => $item) { |
|
468 | + // only highlight internal links |
|
469 | + if (strpos($item->getHref(), elgg_get_site_url()) === 0) { |
|
470 | + if ($item->getName() == elgg_get_context()) { |
|
471 | + $return[$section_name][$key]->setSelected(true); |
|
472 | + break 2; |
|
473 | + } |
|
474 | + if ($item->getHref() == $current_url) { |
|
475 | + $return[$section_name][$key]->setSelected(true); |
|
476 | + break 2; |
|
477 | + } |
|
478 | + } |
|
479 | + } |
|
480 | + } |
|
481 | + } |
|
482 | + |
|
483 | + return $return; |
|
484 | 484 | } |
485 | 485 | |
486 | 486 | /** |
@@ -492,30 +492,30 @@ discard block |
||
492 | 492 | * @access private |
493 | 493 | */ |
494 | 494 | function _elgg_page_menu_setup(\Elgg\Hook $hook) { |
495 | - $menu = $hook->getValue(); |
|
496 | - |
|
497 | - foreach ($menu as $section => $menu_items) { |
|
498 | - foreach ($menu_items as $menu_item) { |
|
499 | - if ($menu_item instanceof ElggMenuItem) { |
|
500 | - $child_menu_vars = $menu_item->getChildMenuOptions(); |
|
501 | - if (empty($child_menu_vars['display'])) { |
|
502 | - $child_menu_vars['display'] = 'toggle'; |
|
503 | - } |
|
504 | - $menu_item->setChildMenuOptions($child_menu_vars); |
|
505 | - } |
|
506 | - } |
|
507 | - } |
|
508 | - |
|
509 | - $selected_item = $hook->getParam('selected_item'); |
|
510 | - if ($selected_item instanceof \ElggMenuItem) { |
|
511 | - $parent = $selected_item->getParent(); |
|
512 | - while ($parent instanceof \ElggMenuItem) { |
|
513 | - $parent->setSelected(); |
|
514 | - $parent = $parent->getParent(); |
|
515 | - } |
|
516 | - } |
|
517 | - |
|
518 | - return $menu; |
|
495 | + $menu = $hook->getValue(); |
|
496 | + |
|
497 | + foreach ($menu as $section => $menu_items) { |
|
498 | + foreach ($menu_items as $menu_item) { |
|
499 | + if ($menu_item instanceof ElggMenuItem) { |
|
500 | + $child_menu_vars = $menu_item->getChildMenuOptions(); |
|
501 | + if (empty($child_menu_vars['display'])) { |
|
502 | + $child_menu_vars['display'] = 'toggle'; |
|
503 | + } |
|
504 | + $menu_item->setChildMenuOptions($child_menu_vars); |
|
505 | + } |
|
506 | + } |
|
507 | + } |
|
508 | + |
|
509 | + $selected_item = $hook->getParam('selected_item'); |
|
510 | + if ($selected_item instanceof \ElggMenuItem) { |
|
511 | + $parent = $selected_item->getParent(); |
|
512 | + while ($parent instanceof \ElggMenuItem) { |
|
513 | + $parent->setSelected(); |
|
514 | + $parent = $parent->getParent(); |
|
515 | + } |
|
516 | + } |
|
517 | + |
|
518 | + return $menu; |
|
519 | 519 | } |
520 | 520 | |
521 | 521 | /** |
@@ -523,39 +523,39 @@ discard block |
||
523 | 523 | * @access private |
524 | 524 | */ |
525 | 525 | function _elgg_river_menu_setup($hook, $type, $return, $params) { |
526 | - if (elgg_is_logged_in()) { |
|
527 | - $item = $params['item']; |
|
528 | - /* @var \ElggRiverItem $item */ |
|
529 | - $object = $item->getObjectEntity(); |
|
530 | - // add comment link but annotations cannot be commented on |
|
531 | - if ($item->annotation_id == 0) { |
|
532 | - if ($object->canComment()) { |
|
533 | - $options = [ |
|
534 | - 'name' => 'comment', |
|
535 | - 'href' => "#comments-add-{$object->guid}-{$item->id}", |
|
536 | - 'text' => elgg_view_icon('speech-bubble'), |
|
537 | - 'title' => elgg_echo('comment:this'), |
|
538 | - 'rel' => 'toggle', |
|
539 | - 'priority' => 50, |
|
540 | - ]; |
|
541 | - $return[] = \ElggMenuItem::factory($options); |
|
542 | - } |
|
543 | - } |
|
526 | + if (elgg_is_logged_in()) { |
|
527 | + $item = $params['item']; |
|
528 | + /* @var \ElggRiverItem $item */ |
|
529 | + $object = $item->getObjectEntity(); |
|
530 | + // add comment link but annotations cannot be commented on |
|
531 | + if ($item->annotation_id == 0) { |
|
532 | + if ($object->canComment()) { |
|
533 | + $options = [ |
|
534 | + 'name' => 'comment', |
|
535 | + 'href' => "#comments-add-{$object->guid}-{$item->id}", |
|
536 | + 'text' => elgg_view_icon('speech-bubble'), |
|
537 | + 'title' => elgg_echo('comment:this'), |
|
538 | + 'rel' => 'toggle', |
|
539 | + 'priority' => 50, |
|
540 | + ]; |
|
541 | + $return[] = \ElggMenuItem::factory($options); |
|
542 | + } |
|
543 | + } |
|
544 | 544 | |
545 | - if ($item->canDelete()) { |
|
546 | - $options = [ |
|
547 | - 'name' => 'delete', |
|
548 | - 'href' => elgg_add_action_tokens_to_url("action/river/delete?id={$item->id}"), |
|
549 | - 'text' => elgg_view_icon('delete'), |
|
550 | - 'title' => elgg_echo('river:delete'), |
|
551 | - 'confirm' => elgg_echo('deleteconfirm'), |
|
552 | - 'priority' => 200, |
|
553 | - ]; |
|
554 | - $return[] = \ElggMenuItem::factory($options); |
|
555 | - } |
|
556 | - } |
|
557 | - |
|
558 | - return $return; |
|
545 | + if ($item->canDelete()) { |
|
546 | + $options = [ |
|
547 | + 'name' => 'delete', |
|
548 | + 'href' => elgg_add_action_tokens_to_url("action/river/delete?id={$item->id}"), |
|
549 | + 'text' => elgg_view_icon('delete'), |
|
550 | + 'title' => elgg_echo('river:delete'), |
|
551 | + 'confirm' => elgg_echo('deleteconfirm'), |
|
552 | + 'priority' => 200, |
|
553 | + ]; |
|
554 | + $return[] = \ElggMenuItem::factory($options); |
|
555 | + } |
|
556 | + } |
|
557 | + |
|
558 | + return $return; |
|
559 | 559 | } |
560 | 560 | |
561 | 561 | /** |
@@ -563,45 +563,45 @@ discard block |
||
563 | 563 | * @access private |
564 | 564 | */ |
565 | 565 | function _elgg_entity_menu_setup($hook, $type, $return, $params) { |
566 | - if (elgg_in_context('widgets')) { |
|
567 | - return $return; |
|
568 | - } |
|
566 | + if (elgg_in_context('widgets')) { |
|
567 | + return $return; |
|
568 | + } |
|
569 | 569 | |
570 | - $entity = $params['entity']; |
|
571 | - /* @var \ElggEntity $entity */ |
|
572 | - $handler = elgg_extract('handler', $params, false); |
|
570 | + $entity = $params['entity']; |
|
571 | + /* @var \ElggEntity $entity */ |
|
572 | + $handler = elgg_extract('handler', $params, false); |
|
573 | 573 | |
574 | - if ($entity->canEdit() && $handler) { |
|
575 | - // edit link |
|
576 | - $options = [ |
|
577 | - 'name' => 'edit', |
|
578 | - 'text' => elgg_echo('edit'), |
|
579 | - 'title' => elgg_echo('edit:this'), |
|
580 | - 'href' => "$handler/edit/{$entity->getGUID()}", |
|
581 | - 'priority' => 200, |
|
582 | - ]; |
|
583 | - $return[] = \ElggMenuItem::factory($options); |
|
584 | - } |
|
585 | - |
|
586 | - if ($entity->canDelete() && $handler) { |
|
587 | - // delete link |
|
588 | - if (elgg_action_exists("$handler/delete")) { |
|
589 | - $action = "action/$handler/delete"; |
|
590 | - } else { |
|
591 | - $action = "action/entity/delete"; |
|
592 | - } |
|
593 | - $options = [ |
|
594 | - 'name' => 'delete', |
|
595 | - 'text' => elgg_view_icon('delete'), |
|
596 | - 'title' => elgg_echo('delete:this'), |
|
597 | - 'href' => "$action?guid={$entity->getGUID()}", |
|
598 | - 'confirm' => elgg_echo('deleteconfirm'), |
|
599 | - 'priority' => 300, |
|
600 | - ]; |
|
601 | - $return[] = \ElggMenuItem::factory($options); |
|
602 | - } |
|
603 | - |
|
604 | - return $return; |
|
574 | + if ($entity->canEdit() && $handler) { |
|
575 | + // edit link |
|
576 | + $options = [ |
|
577 | + 'name' => 'edit', |
|
578 | + 'text' => elgg_echo('edit'), |
|
579 | + 'title' => elgg_echo('edit:this'), |
|
580 | + 'href' => "$handler/edit/{$entity->getGUID()}", |
|
581 | + 'priority' => 200, |
|
582 | + ]; |
|
583 | + $return[] = \ElggMenuItem::factory($options); |
|
584 | + } |
|
585 | + |
|
586 | + if ($entity->canDelete() && $handler) { |
|
587 | + // delete link |
|
588 | + if (elgg_action_exists("$handler/delete")) { |
|
589 | + $action = "action/$handler/delete"; |
|
590 | + } else { |
|
591 | + $action = "action/entity/delete"; |
|
592 | + } |
|
593 | + $options = [ |
|
594 | + 'name' => 'delete', |
|
595 | + 'text' => elgg_view_icon('delete'), |
|
596 | + 'title' => elgg_echo('delete:this'), |
|
597 | + 'href' => "$action?guid={$entity->getGUID()}", |
|
598 | + 'confirm' => elgg_echo('deleteconfirm'), |
|
599 | + 'priority' => 300, |
|
600 | + ]; |
|
601 | + $return[] = \ElggMenuItem::factory($options); |
|
602 | + } |
|
603 | + |
|
604 | + return $return; |
|
605 | 605 | } |
606 | 606 | |
607 | 607 | /** |
@@ -610,39 +610,39 @@ discard block |
||
610 | 610 | */ |
611 | 611 | function _elgg_widget_menu_setup($hook, $type, $return, $params) { |
612 | 612 | |
613 | - $widget = $params['entity']; |
|
614 | - /* @var \ElggWidget $widget */ |
|
615 | - $show_edit = elgg_extract('show_edit', $params, true); |
|
616 | - |
|
617 | - if ($widget->canEdit()) { |
|
618 | - $delete = [ |
|
619 | - 'name' => 'delete', |
|
620 | - 'text' => elgg_view_icon('delete-alt'), |
|
621 | - 'title' => elgg_echo('widget:delete', [$widget->getTitle()]), |
|
622 | - 'href' => "action/widgets/delete?widget_guid=$widget->guid", |
|
623 | - 'is_action' => true, |
|
624 | - 'link_class' => 'elgg-widget-delete-button', |
|
625 | - 'id' => "elgg-widget-delete-button-$widget->guid", |
|
626 | - 'data-elgg-widget-type' => $widget->handler, |
|
627 | - 'priority' => 900, |
|
628 | - ]; |
|
629 | - $return[] = \ElggMenuItem::factory($delete); |
|
630 | - |
|
631 | - if ($show_edit) { |
|
632 | - $edit = [ |
|
633 | - 'name' => 'settings', |
|
634 | - 'text' => elgg_view_icon('settings-alt'), |
|
635 | - 'title' => elgg_echo('widget:edit'), |
|
636 | - 'href' => "#widget-edit-$widget->guid", |
|
637 | - 'link_class' => "elgg-widget-edit-button", |
|
638 | - 'rel' => 'toggle', |
|
639 | - 'priority' => 800, |
|
640 | - ]; |
|
641 | - $return[] = \ElggMenuItem::factory($edit); |
|
642 | - } |
|
643 | - } |
|
644 | - |
|
645 | - return $return; |
|
613 | + $widget = $params['entity']; |
|
614 | + /* @var \ElggWidget $widget */ |
|
615 | + $show_edit = elgg_extract('show_edit', $params, true); |
|
616 | + |
|
617 | + if ($widget->canEdit()) { |
|
618 | + $delete = [ |
|
619 | + 'name' => 'delete', |
|
620 | + 'text' => elgg_view_icon('delete-alt'), |
|
621 | + 'title' => elgg_echo('widget:delete', [$widget->getTitle()]), |
|
622 | + 'href' => "action/widgets/delete?widget_guid=$widget->guid", |
|
623 | + 'is_action' => true, |
|
624 | + 'link_class' => 'elgg-widget-delete-button', |
|
625 | + 'id' => "elgg-widget-delete-button-$widget->guid", |
|
626 | + 'data-elgg-widget-type' => $widget->handler, |
|
627 | + 'priority' => 900, |
|
628 | + ]; |
|
629 | + $return[] = \ElggMenuItem::factory($delete); |
|
630 | + |
|
631 | + if ($show_edit) { |
|
632 | + $edit = [ |
|
633 | + 'name' => 'settings', |
|
634 | + 'text' => elgg_view_icon('settings-alt'), |
|
635 | + 'title' => elgg_echo('widget:edit'), |
|
636 | + 'href' => "#widget-edit-$widget->guid", |
|
637 | + 'link_class' => "elgg-widget-edit-button", |
|
638 | + 'rel' => 'toggle', |
|
639 | + 'priority' => 800, |
|
640 | + ]; |
|
641 | + $return[] = \ElggMenuItem::factory($edit); |
|
642 | + } |
|
643 | + } |
|
644 | + |
|
645 | + return $return; |
|
646 | 646 | } |
647 | 647 | |
648 | 648 | /** |
@@ -651,23 +651,23 @@ discard block |
||
651 | 651 | */ |
652 | 652 | function _elgg_login_menu_setup($hook, $type, $return, $params) { |
653 | 653 | |
654 | - if (elgg_get_config('allow_registration')) { |
|
655 | - $return[] = \ElggMenuItem::factory([ |
|
656 | - 'name' => 'register', |
|
657 | - 'href' => elgg_get_registration_url(), |
|
658 | - 'text' => elgg_echo('register'), |
|
659 | - 'link_class' => 'registration_link', |
|
660 | - ]); |
|
661 | - } |
|
662 | - |
|
663 | - $return[] = \ElggMenuItem::factory([ |
|
664 | - 'name' => 'forgotpassword', |
|
665 | - 'href' => 'forgotpassword', |
|
666 | - 'text' => elgg_echo('user:password:lost'), |
|
667 | - 'link_class' => 'forgot_link', |
|
668 | - ]); |
|
669 | - |
|
670 | - return $return; |
|
654 | + if (elgg_get_config('allow_registration')) { |
|
655 | + $return[] = \ElggMenuItem::factory([ |
|
656 | + 'name' => 'register', |
|
657 | + 'href' => elgg_get_registration_url(), |
|
658 | + 'text' => elgg_echo('register'), |
|
659 | + 'link_class' => 'registration_link', |
|
660 | + ]); |
|
661 | + } |
|
662 | + |
|
663 | + $return[] = \ElggMenuItem::factory([ |
|
664 | + 'name' => 'forgotpassword', |
|
665 | + 'href' => 'forgotpassword', |
|
666 | + 'text' => elgg_echo('user:password:lost'), |
|
667 | + 'link_class' => 'forgot_link', |
|
668 | + ]); |
|
669 | + |
|
670 | + return $return; |
|
671 | 671 | } |
672 | 672 | |
673 | 673 | /** |
@@ -676,26 +676,26 @@ discard block |
||
676 | 676 | */ |
677 | 677 | function _elgg_extras_menu_setup($hook, $type, $return, $params) { |
678 | 678 | |
679 | - if (!elgg_is_logged_in()) { |
|
680 | - return; |
|
681 | - } |
|
679 | + if (!elgg_is_logged_in()) { |
|
680 | + return; |
|
681 | + } |
|
682 | 682 | |
683 | - if (!_elgg_has_rss_link()) { |
|
684 | - return; |
|
685 | - } |
|
686 | - |
|
687 | - $url = current_page_url(); |
|
688 | - $return[] = ElggMenuItem::factory([ |
|
689 | - 'name' => 'rss', |
|
690 | - 'text' => elgg_echo('feed:rss'), |
|
691 | - 'icon' => 'rss', |
|
692 | - 'href' => elgg_http_add_url_query_elements($url, [ |
|
693 | - 'view' => 'rss', |
|
694 | - ]), |
|
695 | - 'title' => elgg_echo('feed:rss'), |
|
696 | - ]); |
|
697 | - |
|
698 | - return $return; |
|
683 | + if (!_elgg_has_rss_link()) { |
|
684 | + return; |
|
685 | + } |
|
686 | + |
|
687 | + $url = current_page_url(); |
|
688 | + $return[] = ElggMenuItem::factory([ |
|
689 | + 'name' => 'rss', |
|
690 | + 'text' => elgg_echo('feed:rss'), |
|
691 | + 'icon' => 'rss', |
|
692 | + 'href' => elgg_http_add_url_query_elements($url, [ |
|
693 | + 'view' => 'rss', |
|
694 | + ]), |
|
695 | + 'title' => elgg_echo('feed:rss'), |
|
696 | + ]); |
|
697 | + |
|
698 | + return $return; |
|
699 | 699 | } |
700 | 700 | |
701 | 701 | /** |
@@ -703,32 +703,32 @@ discard block |
||
703 | 703 | * @access private |
704 | 704 | */ |
705 | 705 | function _elgg_nav_init() { |
706 | - elgg_register_plugin_hook_handler('prepare', 'breadcrumbs', 'elgg_prepare_breadcrumbs'); |
|
706 | + elgg_register_plugin_hook_handler('prepare', 'breadcrumbs', 'elgg_prepare_breadcrumbs'); |
|
707 | 707 | |
708 | - elgg_register_plugin_hook_handler('prepare', 'menu:site', '_elgg_site_menu_setup'); |
|
709 | - elgg_register_plugin_hook_handler('prepare', 'menu:page', '_elgg_page_menu_setup', 999); |
|
708 | + elgg_register_plugin_hook_handler('prepare', 'menu:site', '_elgg_site_menu_setup'); |
|
709 | + elgg_register_plugin_hook_handler('prepare', 'menu:page', '_elgg_page_menu_setup', 999); |
|
710 | 710 | |
711 | - elgg_register_plugin_hook_handler('register', 'menu:river', '_elgg_river_menu_setup'); |
|
712 | - elgg_register_plugin_hook_handler('register', 'menu:entity', '_elgg_entity_menu_setup'); |
|
713 | - elgg_register_plugin_hook_handler('register', 'menu:widget', '_elgg_widget_menu_setup'); |
|
714 | - elgg_register_plugin_hook_handler('register', 'menu:login', '_elgg_login_menu_setup'); |
|
715 | - elgg_register_plugin_hook_handler('register', 'menu:extras', '_elgg_extras_menu_setup'); |
|
711 | + elgg_register_plugin_hook_handler('register', 'menu:river', '_elgg_river_menu_setup'); |
|
712 | + elgg_register_plugin_hook_handler('register', 'menu:entity', '_elgg_entity_menu_setup'); |
|
713 | + elgg_register_plugin_hook_handler('register', 'menu:widget', '_elgg_widget_menu_setup'); |
|
714 | + elgg_register_plugin_hook_handler('register', 'menu:login', '_elgg_login_menu_setup'); |
|
715 | + elgg_register_plugin_hook_handler('register', 'menu:extras', '_elgg_extras_menu_setup'); |
|
716 | 716 | |
717 | - elgg_register_plugin_hook_handler('public_pages', 'walled_garden', '_elgg_nav_public_pages'); |
|
717 | + elgg_register_plugin_hook_handler('public_pages', 'walled_garden', '_elgg_nav_public_pages'); |
|
718 | 718 | |
719 | - elgg_register_menu_item('footer', \ElggMenuItem::factory([ |
|
720 | - 'name' => 'powered', |
|
721 | - 'text' => elgg_echo("elgg:powered"), |
|
722 | - 'href' => 'http://elgg.org', |
|
723 | - 'title' => 'Elgg ' . elgg_get_version(true), |
|
724 | - 'section' => 'meta', |
|
725 | - ])); |
|
719 | + elgg_register_menu_item('footer', \ElggMenuItem::factory([ |
|
720 | + 'name' => 'powered', |
|
721 | + 'text' => elgg_echo("elgg:powered"), |
|
722 | + 'href' => 'http://elgg.org', |
|
723 | + 'title' => 'Elgg ' . elgg_get_version(true), |
|
724 | + 'section' => 'meta', |
|
725 | + ])); |
|
726 | 726 | |
727 | - elgg_register_ajax_view('navigation/menu/user_hover/contents'); |
|
727 | + elgg_register_ajax_view('navigation/menu/user_hover/contents'); |
|
728 | 728 | |
729 | - // Using a view extension to ensure that themes that have replaced the item view |
|
730 | - // still load the required AMD modules |
|
731 | - elgg_extend_view('navigation/menu/elements/item', 'navigation/menu/elements/item_deps'); |
|
729 | + // Using a view extension to ensure that themes that have replaced the item view |
|
730 | + // still load the required AMD modules |
|
731 | + elgg_extend_view('navigation/menu/elements/item', 'navigation/menu/elements/item_deps'); |
|
732 | 732 | } |
733 | 733 | |
734 | 734 | /** |
@@ -744,13 +744,13 @@ discard block |
||
744 | 744 | * @since 1.11.0 |
745 | 745 | */ |
746 | 746 | function _elgg_nav_public_pages($hook_name, $entity_type, $return_value, $params) { |
747 | - if (is_array($return_value)) { |
|
748 | - $return_value[] = 'navigation/menu/user_hover/contents'; |
|
749 | - } |
|
747 | + if (is_array($return_value)) { |
|
748 | + $return_value[] = 'navigation/menu/user_hover/contents'; |
|
749 | + } |
|
750 | 750 | |
751 | - return $return_value; |
|
751 | + return $return_value; |
|
752 | 752 | } |
753 | 753 | |
754 | 754 | return function(\Elgg\EventsService $events, \Elgg\HooksRegistrationService $hooks) { |
755 | - $events->registerHandler('init', 'system', '_elgg_nav_init'); |
|
755 | + $events->registerHandler('init', 'system', '_elgg_nav_init'); |
|
756 | 756 | }; |