| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 
							- <?php
 
- /**
 
-  * ElggNotification view.
 
-  *
 
-  * @package Notifier
 
-  */
 
- $notification = $vars['entity'];
 
- // Ignore access to make e.g. a hidden group visible in membership invitation
 
- // TODO Find an alternate approach that doesn't risk security
 
- $ia = elgg_set_ignore_access(true);
 
- $target = $notification->getTarget();
 
- elgg_set_ignore_access($ia);
 
- $subjects = $notification->getSubjects();
 
- $subject = $notification->getSubject();
 
- if (empty($target) || empty($subjects)) {
 
- 	$title = $notification->title;
 
- 	$event = $notification->event;
 
- 	$subject = $subject->username;
 
- 	$user = $notification->getOwnerEntity()->username;
 
- 	error_log("NOTICE: Failed to view notification $title ($event) from user $subject to user $user");
 
- 	// The notification is useless with missing information, so it can be deleted
 
- 	$notification->delete();
 
- 	return false;
 
- }
 
- $vars['target'] = $target;
 
- $vars['subject'] = $subject;
 
- $vars['subjects'] = $subjects;
 
- $vars['notification'] = $notification;
 
- $event_view = str_replace(':', '/', $notification->event);
 
- $view = "notifier/messages/$event_view";
 
- if (elgg_view_exists($view)) {
 
- 	// Use special view for this notification type
 
- 	$subtitle = elgg_view($view, $vars);
 
- } else {
 
- 	$subtitle = elgg_view('notifier/messages/create/default', $vars);
 
- }
 
- $time = elgg_view_friendly_time($notification->time_created);
 
- if (elgg_in_context('widgets')) {
 
- 	// Do not show the delete link in widget view
 
- 	$metadata = '';
 
- } else {
 
- 	// Use link instead of entity menu since we don't want any links besides delete
 
- 	$metadata = elgg_view('output/url', array(
 
- 		'name' => 'delete',
 
- 		'href' => "action/notifier/delete?guid={$notification->getGUID()}",
 
- 		'text' => elgg_view_icon('delete'),
 
- 		'data-confirm' => elgg_echo('question:areyousure'),
 
- 		'is_action' => true,
 
- 		'class' => 'float-alt',
 
- 	));
 
- }
 
- $icon = elgg_view_entity_icon($subject, 'tiny');
 
- if ($notification->status === 'unread') {
 
- 	$vars['class'] = 'elgg-notifier-unread';
 
- }
 
- $params = array(
 
- 	'entity' => $notification,
 
- 	'title' => false,
 
- 	'metadata' => $metadata,
 
- 	'subtitle' => "$subtitle $time",
 
- );
 
- $params = $params + $vars;
 
- $body = elgg_view('object/elements/summary', $params);
 
- echo elgg_view_image_block($icon, $body, $vars);
 
 
  |