Allow closing of dialogs by clicking on the background area around it. When the dialog is closed in this manner, if it contains a form with changed data present a warning that there are unsaved changes. Likewise if the user attempts to navigate away from the page, eg page reload, bookmark click, address bar entry. If the dialog does not contain a form or the data remains unchanged no warning messages are shown.
76 lines
3.4 KiB
PHP
76 lines
3.4 KiB
PHP
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<meta name="robots" content="noindex,nofollow">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="referrer" content="no-referrer">
|
|
|
|
<?php if (isset($board_public_refresh_interval)): ?>
|
|
<meta http-equiv="refresh" content="<?= $board_public_refresh_interval ?>">
|
|
<?php endif ?>
|
|
|
|
<?= $this->asset->colorCss() ?>
|
|
<?= $this->asset->css('assets/css/vendor.min.css') ?>
|
|
<?= $this->asset->css('assets/css/app.min.css') ?>
|
|
<?= $this->asset->css('assets/css/print.min.css', true, 'print') ?>
|
|
<?= $this->asset->customCss() ?>
|
|
|
|
<?php if (! isset($not_editable)): ?>
|
|
<?= $this->asset->js('assets/js/vendor.min.js') ?>
|
|
<?= $this->asset->js('assets/js/app.min.js') ?>
|
|
<?php endif ?>
|
|
|
|
<?= $this->hook->asset('css', 'template:layout:css') ?>
|
|
<?= $this->hook->asset('js', 'template:layout:js') ?>
|
|
|
|
<link rel="icon" type="image/png" href="<?= $this->url->dir() ?>assets/img/favicon.png">
|
|
<link rel="apple-touch-icon" href="<?= $this->url->dir() ?>assets/img/touch-icon-iphone.png">
|
|
<link rel="apple-touch-icon" sizes="72x72" href="<?= $this->url->dir() ?>assets/img/touch-icon-ipad.png">
|
|
<link rel="apple-touch-icon" sizes="114x114" href="<?= $this->url->dir() ?>assets/img/touch-icon-iphone-retina.png">
|
|
<link rel="apple-touch-icon" sizes="144x144" href="<?= $this->url->dir() ?>assets/img/touch-icon-ipad-retina.png">
|
|
|
|
<title>
|
|
<?php if (isset($page_title)): ?>
|
|
<?= $this->text->e($page_title) ?>
|
|
<?php elseif (isset($title)): ?>
|
|
<?= $this->text->e($title) ?>
|
|
<?php else: ?>
|
|
Kanboard
|
|
<?php endif ?>
|
|
</title>
|
|
|
|
<?= $this->hook->render('template:layout:head') ?>
|
|
</head>
|
|
<body data-status-url="<?= $this->url->href('UserAjaxController', 'status') ?>"
|
|
data-login-url="<?= $this->url->href('AuthController', 'login') ?>"
|
|
data-keyboard-shortcut-url="<?= $this->url->href('DocumentationController', 'shortcuts') ?>"
|
|
data-timezone="<?= $this->app->getTimezone() ?>"
|
|
data-js-lang="<?= $this->app->jsLang() ?>"
|
|
data-js-date-format="<?= $this->app->getJsDateFormat() ?>"
|
|
data-js-time-format="<?= $this->app->getJsTimeFormat() ?>"
|
|
data-js-modal-close-msg="<?= t('Close window?\\n\\nChanges that you made have not been saved.') ?>"
|
|
>
|
|
|
|
<?php if (isset($no_layout) && $no_layout): ?>
|
|
<?= $this->app->flashMessage() ?>
|
|
<?= $content_for_layout ?>
|
|
<?php else: ?>
|
|
<?= $this->hook->render('template:layout:top') ?>
|
|
<?= $this->render('header', array(
|
|
'title' => $title,
|
|
'description' => isset($description) ? $description : '',
|
|
'board_selector' => isset($board_selector) ? $board_selector : array(),
|
|
'project' => isset($project) ? $project : array(),
|
|
)) ?>
|
|
<section class="page">
|
|
<?= $this->app->flashMessage() ?>
|
|
<?= $content_for_layout ?>
|
|
</section>
|
|
<?= $this->hook->render('template:layout:bottom') ?>
|
|
<?php endif ?>
|
|
</body>
|
|
</html>
|