public function dashboard() { $settings = $this->app->storage->getKey('cockpit/options', 'dashboard.widgets.' . $this->user["_id"], []); $widgets = new \ArrayObject([]); $this->app->trigger('admin.dashboard.widgets', [$widgets]); $areas = ['main' => new \SplPriorityQueue(), 'aside-left' => new \SplPriorityQueue(), 'aside-right' => new \SplPriorityQueue()]; foreach ($widgets as &$widget) { $name = $widget['name']; $area = isset($widget['area']) && in_array($widget['area'], ['main', 'aside-left', 'aside-right']) ? $widget['area'] : 'main'; $area = \Lime\fetch_from_array($settings, "{$name}/area", $area); $prio = \Lime\fetch_from_array($settings, "{$name}/prio", 0); $areas[$area]->insert($widget, -1 * $prio); } return $this->render('cockpit:views/base/dashboard.php', compact('areas', 'widgets')); }
function thumbnail($image, $width = null, $height = null, $options = array()) { if ($width && is_array($height)) { $options = $height; $height = $width; } else { $height = $height ?: $width; } $url = cockpit("mediamanager")->thumbnail($image, $width, $height, $options); // generate attributes list $attributes = \Lime\fetch_from_array($options, 'attrs', []); if (is_array($attributes)) { $tmp = []; $attributes = array_merge(['alt' => $image], $attributes); foreach ($attributes as $key => $val) { $tmp[] = $key . '="' . $val . '"'; } $attributes = implode(' ', $tmp); } echo '<img src="' . $url . '" ' . $attributes . '>'; }
<?php $modules = new \SplPriorityQueue(); $menuorder = $app->storage->getKey('cockpit/options', 'app.menu.order.' . $app["user"]["_id"], []); if ($app('admin')->data['menu.modules']->count()) { foreach ($app('admin')->data['menu.modules'] as &$item) { $modules->insert($item, -1 * intval(\Lime\fetch_from_array($menuorder, $item['route'], 0))); } } ?> <!doctype html> <html lang="{{ $app('i18n')->locale }}" data-base="@base('/')" data-route="@route('/')" data-version="{{ $app['cockpit/version'] }}" data-locale="{{ $app('i18n')->locale }}"> <head> <meta charset="UTF-8"> <title>{{ $app['app.name'] }}</title> <link rel="icon" href="@base('/favicon.ico')" type="image/x-icon"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script> // App constants var SITE_URL = '{{ rtrim($app->pathToUrl('site:'), '/') }}'; </script> {{ $app->assets($app('admin')->data->get('assets'), $app['cockpit/version']) }} <script src="@route('/cockpit.i18n.data')"></script> <script> App.$data = {{ json_encode($app('admin')->data->get('extract')) }}; </script>