icingaweb2/application/layouts/scripts/body.phtml

68 lines
1.8 KiB
PHTML

<?php
use Icinga\Web\Url;
use Icinga\Web\Notification;
use Icinga\Authentication\Auth;
$moduleName = $this->layout()->moduleName;
if ($moduleName !== 'default') {
$moduleClass = ' icinga-module module-' . $moduleName;
} else {
$moduleClass = '';
}
$refresh = '';
if ($this->layout()->autorefreshInterval) {
$refresh = ' data-icinga-refresh="' . $this->layout()->autorefreshInterval . '"';
}
if ($this->layout()->inlineLayout) {
$inlineLayoutScript = $this->layout()->inlineLayout . '.phtml';
} else {
$inlineLayoutScript = 'inline.phtml';
}
?>
<div id="header">
<div id="announcements" class="container">
<?= $this->widget('announcements') ?>
</div>
<div id="header-logo-container">
<?= $this->qlink(
'',
Auth::getInstance()->isAuthenticated() ? 'dashboard' : '',
null,
array(
'aria-hidden' => 'true',
'data-base-target' => '_main',
'id' => 'header-logo'
)
); ?>
</div>
</div>
<?php if (! $this->layout()->isIframe): ?>
<div id="sidebar">
<?= $this->render('parts/navigation.phtml'); ?>
</div>
<?php endif ?>
<div id="main" role="main">
<div id="col1" class="container<?= $moduleClass ?>"<?php if ($moduleName): ?> data-icinga-module="<?= $moduleName ?>" <?php endif ?> data-icinga-url="<?= Url::fromRequest()->without('renderLayout'); ?>"<?= $refresh; ?> style="display: block">
<?= $this->render($inlineLayoutScript) ?>
</div>
<div id="col2" class="container">
</div>
<div id="col3" class="container">
</div>
</div>
<div id="footer">
<ul role="alert" id="notifications"><?php
$notifications = Notification::getInstance();
if ($notifications->hasMessages()) {
foreach ($notifications->popMessages() as $m) {
echo '<li class="' . $m->type . '">' . $this->escape($m->message) . '</li>';
}
}
?></ul>
</div>