169 lines
7.1 KiB
PHP
169 lines
7.1 KiB
PHP
<!DOCTYPE html>
|
||
<html lang="<?= Yii::$language ?>">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||
|
||
<title><?= $page_title ?? $default_title ?></title>
|
||
|
||
<link rel="icon" type="image/x-icon" href="<?= $favicon->baseUrl ?>/favicon.ico">
|
||
<link rel="icon" type="image/svg+xml" href="<?= $favicon->baseUrl ?>/favicon.svg">
|
||
<link rel="icon" type="image/png" sizes="32x32" href="<?= $favicon->baseUrl ?>/favicon-32x32.png">
|
||
<link rel="icon" type="image/png" sizes="16x16" href="<?= $favicon->baseUrl ?>/favicon-16x16.png">
|
||
<link rel="apple-touch-icon" sizes="180x180" href="<?= $favicon->baseUrl ?>/apple-touch-icon.png">
|
||
<link rel="manifest" href="<?= $favicon->baseUrl ?>/site.webmanifest">
|
||
|
||
<link rel="preload" href="<?= $fontsUrl ?>/Inter-Regular.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="preload" href="<?= $fontsUrl ?>/Inter-Medium.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="preload" href="<?= $fontsUrl ?>/Inter-SemiBold.woff2" as="font" type="font/woff2" crossorigin>
|
||
|
||
<meta name="description" content="Онлайн-сервис для автоматического улучшения качества фотографий и изображений с помощью искусственного интеллекта.">
|
||
|
||
<?php
|
||
$demoDirName = 'demo' . ($indpic === '1' ? '' : '-' . $indpic);
|
||
$baseDemoDir = __DIR__ . "/images/{$demoDirName}/1";
|
||
|
||
$fSrcMob = $baseDemoDir . "/source_mob.avif";
|
||
$fSrcOrig = $baseDemoDir . "/source.avif";
|
||
$vSrcMob = file_exists($fSrcMob) ? filemtime($fSrcMob) : '1';
|
||
$vSrcOrig = file_exists($fSrcOrig) ? filemtime($fSrcOrig) : '1';
|
||
|
||
$fResMob = $baseDemoDir . "/result_mob.avif";
|
||
$fResOrig = $baseDemoDir . "/result.avif";
|
||
$vResMob = file_exists($fResMob) ? filemtime($fResMob) : '1';
|
||
$vResOrig = file_exists($fResOrig) ? filemtime($fResOrig) : '1';
|
||
|
||
$urlSrcMob = "{$assetsUriPrefix}/images/{$demoDirName}/1/source_mob.avif?v={$vSrcMob}";
|
||
$urlSrcOrig = "{$assetsUriPrefix}/images/{$demoDirName}/1/source.avif?v={$vSrcOrig}";
|
||
|
||
$urlResMob = "{$assetsUriPrefix}/images/{$demoDirName}/1/result_mob.avif?v={$vResMob}";
|
||
$urlResOrig = "{$assetsUriPrefix}/images/{$demoDirName}/1/result.avif?v={$vResOrig}";
|
||
?>
|
||
|
||
<link rel="preload" as="image" href="<?= $urlSrcMob ?>" media="(max-width: 767.98px)" type="image/avif" fetchpriority="high">
|
||
<link rel="preload" as="image" href="<?= $urlResMob ?>" media="(max-width: 767.98px)" type="image/avif" fetchpriority="high">
|
||
|
||
<link rel="preload" as="image" href="<?= $urlSrcOrig ?>" media="(min-width: 768px)" type="image/avif" fetchpriority="high">
|
||
<link rel="preload" as="image" href="<?= $urlResOrig ?>" media="(min-width: 768px)" type="image/avif" fetchpriority="high">
|
||
|
||
<!-- <link rel="stylesheet" href="style.min.css"> -->
|
||
</head>
|
||
<body class="<?= (isset($UTM['theme']) && $UTM['theme'] == 'dark') ? 'theme-dark' : '' ?>" style="<?= (isset($UTM['theme']) && $UTM['theme'] == 'dark') ? 'background: black' : '' ?>">
|
||
<div class="wrapper">
|
||
<header class="header">
|
||
<nav class="navbar navbar-dark py-1 py-md-3 px-0">
|
||
<div class="container">
|
||
<span class="navbar-brand" href="<?= $apiHost ?: '/' ?>" >
|
||
<img src="<?= $assetsUriPrefix; ?>/docs/logo.svg" width="160" height="40" alt="Logo">
|
||
<img src="<?= $assetsUriPrefix; ?>/docs/logo-alt.<?= $logoAltExt ?>" width="160" height="40" alt="Logo-Alt">
|
||
</span>
|
||
<div class="d-flex align-items-center">
|
||
</div>
|
||
</div>
|
||
</nav>
|
||
|
||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||
<div class="container">
|
||
<div class="dashboard-nav nav flex-column nav-pills header-navbar" role="tablist" aria-orientation="vertical">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</header>
|
||
<main class="site">
|
||
<div class="py-4 main-section">
|
||
<div class="container">
|
||
<div class="row">
|
||
|
||
<div class="col-md-7 order-md-1">
|
||
<?php renderComponent('examples', ['assetsUriPrefix' => $assetsUriPrefix, 'indpic' => $indpic]); ?>
|
||
<?php renderComponent('process', ['assetsUriPrefix' => $assetsUriPrefix, 'show' => false]); ?>
|
||
</div>
|
||
|
||
<div class="col-md-5">
|
||
<?php renderComponent('form', ['assetsUriPrefix' => $assetsUriPrefix]); ?>
|
||
<?php renderComponent('preview', ['assetsUriPrefix' => $assetsUriPrefix, 'show' => false]); ?>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</main>
|
||
|
||
<footer class="footer">
|
||
|
||
<div class="container">
|
||
<div class="row py-5 footer-main">
|
||
<div class="col-md-4 mb-4 mb-md-0">
|
||
<div class="footer-logo">
|
||
<img src="<?= $assetsUriPrefix; ?>/docs/logo.svg" width="240" height="60" alt="Logo">
|
||
<img src="<?= $assetsUriPrefix; ?>/docs/logo-alt.<?= $logoAltExt ?>" width="240" height="60" alt="Logo">
|
||
</div>
|
||
</div>
|
||
<div class="col-md-4 mb-4 mb-md-0">
|
||
</div>
|
||
<div class="col-md-4">
|
||
<div class="h5 mb-3"><?= Yii::t('app', 'Наши реквизиты') ?></div>
|
||
<?php
|
||
// реквизиты: config.json (requisites — строки) → requisites.html → образец
|
||
$requisites = array_filter((array) ($config['requisites'] ?? []), fn ($line) => is_scalar($line) && trim((string) $line) !== '');
|
||
$requisitesFile = __DIR__ . '/requisites.html';
|
||
if ($requisites) {
|
||
foreach ($requisites as $line) {
|
||
?><p class="mb-0"><?= htmlspecialchars((string) $line, ENT_QUOTES, 'UTF-8') ?></p>
|
||
<?php }
|
||
} elseif (file_exists($requisitesFile) && filesize($requisitesFile) > 0) {
|
||
echo file_get_contents($requisitesFile);
|
||
} else {
|
||
?>
|
||
<p class="mb-0">ИП Иванов Иван Иванович</p>
|
||
<p class="mb-0">123123, г. Москва, Пресненская наб., 12</p>
|
||
<p class="mb-0">ИНН: 123404385406</p>
|
||
<p class="mb-0">ОГРНИП: 123420000019175</p>
|
||
<?php
|
||
}
|
||
?>
|
||
<?php if (Yii::t('app', 'system.hide.footer') == 'false') { ?>
|
||
<img src="<?= $assetsUriPrefix; ?>/images/payment.svg" width="272" height="40" alt="" class="mt-4">
|
||
<?php } ?>
|
||
</div>
|
||
</div>
|
||
<div class="row footer-bottom py-3">
|
||
<div class="col-6">
|
||
<p class="m-0"><?= date('Y') ?>© <?= parse_url($apiHost, PHP_URL_HOST) ?: Yii::$app->request->hostName ?></p>
|
||
</div>
|
||
<?php if (Yii::t('app', 'system.hide.footer') == 'false') { ?>
|
||
<div class="col-6">
|
||
<p class="m-0 text-md-right"><?= Yii::t('app', 'Сайт не является публичной офертой') ?></p>
|
||
</div>
|
||
<?php } ?>
|
||
</div>
|
||
</div>
|
||
|
||
</footer> <!-- .footer -->
|
||
</div> <!-- .wrapper -->
|
||
|
||
<script>
|
||
document.addEventListener('DOMContentLoaded', () => {
|
||
const toggler = document.querySelector('.navbar-toggler');
|
||
const collapse = document.getElementById('navbarSupportedContent');
|
||
if (toggler && collapse) {
|
||
toggler.addEventListener('click', (e) => {
|
||
e.preventDefault();
|
||
const isShown = collapse.classList.contains('show');
|
||
if (isShown) {
|
||
collapse.classList.remove('show');
|
||
toggler.classList.add('collapsed');
|
||
toggler.setAttribute('aria-expanded', 'false');
|
||
} else {
|
||
collapse.classList.add('show');
|
||
toggler.classList.remove('collapsed');
|
||
toggler.setAttribute('aria-expanded', 'true');
|
||
}
|
||
});
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|