hasAccess(Auth::user())->with('device')->get()->sortBy('show_name', SORT_NATURAL | SORT_FLAG_CASE)->groupBy('app_type') as $type => $groupedApps) { echo '
'; echo $index > 0 ? '
' : ''; $index++; echo '

' . generate_link($groupedApps->first()->displayName(), ['page' => 'apps', 'app' => $type]) . '

'; /** @var \Illuminate\Support\Collection $groupedApps */ $groupedApps = $groupedApps->sortBy(function ($app) { return $app->device->hostname; }); /** @var Application $app */ foreach ($groupedApps as $app) { $graph_type = $graphs[$app->app_type][0]; $graph_array['type'] = 'application_' . $app->app_type . '_' . $graph_type; $graph_array['id'] = $app->app_id; $graph_array_zoom['type'] = 'application_' . $app->app_type . '_' . $graph_type; $graph_array_zoom['id'] = $app->app_id; $overlib_url = route('device', [$app->device_id, 'apps', "app=$app->app_type"]); $app_state = \LibreNMS\Util\Html::appStateIcon($app->app_state); $app_state_info = ''; $overlib_link = '' . $app_state_info . optional($app->device)->shortDisplayName() . ''; if (! empty($app->app_instance)) { $overlib_link .= '' . $app->app_instance . ''; $content_add = '(' . $app->app_instance . ')'; } $overlib_link .= '
'; $overlib_link .= \LibreNMS\Util\Url::graphTag($graph_array); $overlib_content = generate_overlib_content($graph_array, optional($app->device)->displayName() . ' - ' . $app->displayName() . $content_add); echo "
"; echo \LibreNMS\Util\Url::overlibLink($overlib_url, $overlib_link, $overlib_content); echo '
'; } //end foreach echo '
'; }//end foreach