mirror of
https://github.com/Icinga/icingaweb2.git
synced 2025-07-28 00:04:04 +02:00
navigation/dashboard.phtml: Use ipl-web's Icon for fa- icons (#5278)
resolves #5277
This commit is contained in:
commit
e12574f328
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use ipl\Stdlib\Str;
|
||||||
use ipl\Web\Widget\Icon;
|
use ipl\Web\Widget\Icon;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@ -11,7 +12,7 @@ use ipl\Web\Widget\Icon;
|
|||||||
<a class="dashboard-link" href="<?= $this->url($item->getUrl(), $item->getUrlParameters()) ?>"<?= $this->propertiesToString($item->getAttributes()) ?>>
|
<a class="dashboard-link" href="<?= $this->url($item->getUrl(), $item->getUrlParameters()) ?>"<?= $this->propertiesToString($item->getAttributes()) ?>>
|
||||||
<div class="link-icon">
|
<div class="link-icon">
|
||||||
<?php
|
<?php
|
||||||
if (substr($item->getUrl()->getPath(), 0, 9) === 'icingadb/') {
|
if (Str::startsWith($item->getIcon(), 'fa-') || substr($item->getUrl()->getPath(), 0, 9) === 'icingadb/') {
|
||||||
echo new Icon($item->getIcon() ?: 'share', [ 'aria-hidden' => 1]);
|
echo new Icon($item->getIcon() ?: 'share', [ 'aria-hidden' => 1]);
|
||||||
} else {
|
} else {
|
||||||
echo $this->icon($item->getIcon() ?: 'forward', null, array('aria-hidden' => true));
|
echo $this->icon($item->getIcon() ?: 'forward', null, array('aria-hidden' => true));
|
||||||
|
@ -61,6 +61,154 @@ class View extends Zend_View_Abstract
|
|||||||
*/
|
*/
|
||||||
const CHARSET = 'UTF-8';
|
const CHARSET = 'UTF-8';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Legacy icons provided by our old fontello font
|
||||||
|
*
|
||||||
|
* @var array<string, bool>
|
||||||
|
*/
|
||||||
|
private const LEGACY_ICONS = [
|
||||||
|
//<editor-fold desc="Icon names">
|
||||||
|
'dashboard' => true,
|
||||||
|
'user' => true,
|
||||||
|
'users' => true,
|
||||||
|
'ok' => true,
|
||||||
|
'cancel' => true,
|
||||||
|
'plus' => true,
|
||||||
|
'minus' => true,
|
||||||
|
'folder-empty' => true,
|
||||||
|
'download' => true,
|
||||||
|
'upload' => true,
|
||||||
|
'git' => true,
|
||||||
|
'cubes' => true,
|
||||||
|
'database' => true,
|
||||||
|
'gauge' => true,
|
||||||
|
'sitemap' => true,
|
||||||
|
'sort-name-up' => true,
|
||||||
|
'sort-name-down' => true,
|
||||||
|
'megaphone' => true,
|
||||||
|
'bug' => true,
|
||||||
|
'tasks' => true,
|
||||||
|
'filter' => true,
|
||||||
|
'off' => true,
|
||||||
|
'book' => true,
|
||||||
|
'paste' => true,
|
||||||
|
'scissors' => true,
|
||||||
|
'globe' => true,
|
||||||
|
'cloud' => true,
|
||||||
|
'flash' => true,
|
||||||
|
'barchart' => true,
|
||||||
|
'down-dir' => true,
|
||||||
|
'up-dir' => true,
|
||||||
|
'left-dir' => true,
|
||||||
|
'right-dir' => true,
|
||||||
|
'down-open' => true,
|
||||||
|
'right-open' => true,
|
||||||
|
'up-open' => true,
|
||||||
|
'left-open' => true,
|
||||||
|
'up-big' => true,
|
||||||
|
'right-big' => true,
|
||||||
|
'left-big' => true,
|
||||||
|
'down-big' => true,
|
||||||
|
'resize-full-alt' => true,
|
||||||
|
'resize-full' => true,
|
||||||
|
'resize-small' => true,
|
||||||
|
'move' => true,
|
||||||
|
'resize-horizontal' => true,
|
||||||
|
'resize-vertical' => true,
|
||||||
|
'zoom-in' => true,
|
||||||
|
'block' => true,
|
||||||
|
'zoom-out' => true,
|
||||||
|
'lightbulb' => true,
|
||||||
|
'clock' => true,
|
||||||
|
'volume-up' => true,
|
||||||
|
'volume-down' => true,
|
||||||
|
'volume-off' => true,
|
||||||
|
'mute' => true,
|
||||||
|
'mic' => true,
|
||||||
|
'endtime' => true,
|
||||||
|
'starttime' => true,
|
||||||
|
'calendar-empty' => true,
|
||||||
|
'calendar' => true,
|
||||||
|
'wrench' => true,
|
||||||
|
'sliders' => true,
|
||||||
|
'services' => true,
|
||||||
|
'service' => true,
|
||||||
|
'phone' => true,
|
||||||
|
'file-pdf' => true,
|
||||||
|
'file-word' => true,
|
||||||
|
'file-excel' => true,
|
||||||
|
'doc-text' => true,
|
||||||
|
'trash' => true,
|
||||||
|
'comment-empty' => true,
|
||||||
|
'comment' => true,
|
||||||
|
'chat' => true,
|
||||||
|
'chat-empty' => true,
|
||||||
|
'bell' => true,
|
||||||
|
'bell-alt' => true,
|
||||||
|
'attention-alt' => true,
|
||||||
|
'print' => true,
|
||||||
|
'edit' => true,
|
||||||
|
'forward' => true,
|
||||||
|
'reply' => true,
|
||||||
|
'reply-all' => true,
|
||||||
|
'eye' => true,
|
||||||
|
'tag' => true,
|
||||||
|
'tags' => true,
|
||||||
|
'lock-open-alt' => true,
|
||||||
|
'lock-open' => true,
|
||||||
|
'lock' => true,
|
||||||
|
'home' => true,
|
||||||
|
'info' => true,
|
||||||
|
'help' => true,
|
||||||
|
'search' => true,
|
||||||
|
'flapping' => true,
|
||||||
|
'rewind' => true,
|
||||||
|
'chart-line' => true,
|
||||||
|
'bell-off' => true,
|
||||||
|
'bell-off-empty' => true,
|
||||||
|
'plug' => true,
|
||||||
|
'eye-off' => true,
|
||||||
|
'arrows-cw' => true,
|
||||||
|
'cw' => true,
|
||||||
|
'host' => true,
|
||||||
|
'thumbs-up' => true,
|
||||||
|
'thumbs-down' => true,
|
||||||
|
'spinner' => true,
|
||||||
|
'attach' => true,
|
||||||
|
'keyboard' => true,
|
||||||
|
'menu' => true,
|
||||||
|
'wifi' => true,
|
||||||
|
'moon' => true,
|
||||||
|
'chart-pie' => true,
|
||||||
|
'chart-area' => true,
|
||||||
|
'chart-bar' => true,
|
||||||
|
'beaker' => true,
|
||||||
|
'magic' => true,
|
||||||
|
'spin6' => true,
|
||||||
|
'down-small' => true,
|
||||||
|
'left-small' => true,
|
||||||
|
'right-small' => true,
|
||||||
|
'up-small' => true,
|
||||||
|
'pin' => true,
|
||||||
|
'angle-double-left' => true,
|
||||||
|
'angle-double-right' => true,
|
||||||
|
'circle' => true,
|
||||||
|
'info-circled' => true,
|
||||||
|
'twitter' => true,
|
||||||
|
'facebook-squared' => true,
|
||||||
|
'gplus-squared' => true,
|
||||||
|
'attention-circled' => true,
|
||||||
|
'check' => true,
|
||||||
|
'reschedule' => true,
|
||||||
|
'warning-empty' => true,
|
||||||
|
'th-list' => true,
|
||||||
|
'th-thumb-empty' => true,
|
||||||
|
'github-circled' => true,
|
||||||
|
'history' => true,
|
||||||
|
'binoculars' => true
|
||||||
|
//</editor-fold>
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registered helper functions
|
* Registered helper functions
|
||||||
*/
|
*/
|
||||||
|
@ -5,6 +5,7 @@ namespace Icinga\Web\View;
|
|||||||
|
|
||||||
use Icinga\Web\Url;
|
use Icinga\Web\Url;
|
||||||
use Icinga\Exception\ProgrammingError;
|
use Icinga\Exception\ProgrammingError;
|
||||||
|
use ipl\Web\Widget\Icon;
|
||||||
|
|
||||||
$view = $this;
|
$view = $this;
|
||||||
|
|
||||||
@ -108,6 +109,12 @@ $this->addHelperFunction('icon', function ($img, $title = null, array $propertie
|
|||||||
$properties['aria-hidden'] = 'true';
|
$properties['aria-hidden'] = 'true';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! isset($view::LEGACY_ICONS[$img]) || substr($img, 0, 3) === 'fa-') {
|
||||||
|
// This may not be reached, as some legacy icons have equal names as fontawesome ones.
|
||||||
|
// Though, this is a legacy helper, so in that case one gets legacy icons...
|
||||||
|
return new Icon($img, $properties);
|
||||||
|
}
|
||||||
|
|
||||||
if (isset($properties['class'])) {
|
if (isset($properties['class'])) {
|
||||||
$properties['class'] .= ' icon-' . $img;
|
$properties['class'] .= ' icon-' . $img;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user