function smarty_function_notifications($params, &$smarty)
{
    $user = array_required_var($params, 'user', true, 'IUser');
    $activity_logs = NotificationsActivityLogs::findRecent($user);
    $interface = array_var($params, 'interface', AngieApplication::getPreferedInterface(), true);
    $id = isset($params['id']) && $params['id'] ? $params['id'] : HTML::uniqueId('activity_log');
    $wrapper = '<div id="' . $id . '" class="quick_view_item">';
    $wrapper .= '</div>';
    list($authors, $subjects, $targets) = ActivityLogs::loadRelatedDataFromActivities($activity_logs, $user);
    // Load related data, so we can pass it to callbacks
    return $wrapper .= '<script type="text/javascript">$("#' . $id . '").activityLog(' . JSON::encode(array('entries' => $activity_logs, 'authors' => $authors, 'subjects' => $subjects, 'targets' => $targets, 'callbacks' => ActivityLogs::getCallbacks(), 'decorator' => ActivityLogs::getDecorator($interface), 'interface' => $interface)) . ');</script>';
}
/**
 * Handle wireframe updates even
 *
 * @param array $wireframe_data
 * @param array $response_data
 * @param User $user
 */
function frosso_mail_notify_handle_on_wireframe_updates(&$wireframe_data, &$response_data, &$user)
{
    $response_data['status_bar_badges']['frosso_mn_updates'] = NotificationsActivityLogs::countSinceLastVisit($user);
}
Example #3
0
/**
 * Register status bar items
 *
 * @param StatusBar $status_bar
 * @param IUser $logged_user
 */
function frosso_mail_notify_handle_on_status_bar(StatusBar &$status_bar, IUser &$user)
{
    $status_bar->add('frosso_mn_updates', lang('Notifications'), Router::assemble('frosso_mail_notify'), AngieApplication::getImageUrl('icons/12x12/my-subscriptions.png', FROSSO_MAILN_MODULE), array('group' => StatusBar::GROUP_RIGHT, 'badge' => NotificationsActivityLogs::countSinceLastVisit($user)));
}
 /**
  * Provide ajax functionality for menu badge
  */
 function count_new_messages()
 {
     $this->renderText(NotificationsActivityLogs::countSinceLastVisit($this->logged_user));
 }