| Server IP : 188.114.96.3 / Your IP : 216.73.216.143 Web Server : Apache System : Linux sv058.home.net.pl 6.8.2 husak_dirty_pages_fix #1 SMP PREEMPT_DYNAMIC Tue Apr 2 22:06:51 CEST 2024 x86_64 User : ( 3194769) PHP Version : 8.5.12 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /polana/ |
Upload File : |
<?php
declare(strict_types=1);
/* POLANA_V18_8_REDIRECT — dawna wersja tekstowa teraz jest w /menu */
require_once __DIR__ . '/includes/polana_menu_seo_v188.php';
p188_legacy_redirect();
require_once __DIR__ . '/includes/functions.php';
/* POLANA_V15_MENU_PUBLIC */
require_once __DIR__ . '/includes/polana_v15_menu.php';
render_global_site_splash_if_needed();
require_once __DIR__ . '/includes/menu_placeholder.php';
$menuType = polana_menu_type((string)($_GET['kind'] ?? 'food'));
$dbMenu = p15_active_menu($menuType);
if ($dbMenu) {
$menu = $dbMenu;
$categories = menu_categories_with_items((int)$menu['id']);
$title = setting('menu_seo_title', $menu['seo_title'] ?: ('Menu | ' . setting('site_name', APP_NAME)));
$description = setting('menu_seo_description', $menu['seo_description'] ?: ('Aktualne menu restauracji ' . setting('site_name', APP_NAME) . '.'));
} else {
$placeholder = placeholder_menu();
$menu = [
'name' => $placeholder['name'],
'intro' => $placeholder['intro'],
];
$categories = [];
foreach ($menuType === 'food' && p15_menu_lang() === 'pl' ? $placeholder['categories'] : [] as $category) {
$items = [];
foreach ($category['items'] as $item) {
$items[] = [
'name' => p15_menu_text($item, 'name'),
'description' => '',
'ingredients' => '',
'price' => $item['price'],
'price_text' => '',
'weight' => '',
'allergens' => '',
];
}
$categories[] = [
'name' => p15_menu_text($category, 'name'),
'description' => '',
'items' => $items,
];
}
$title = setting('menu_seo_title', $placeholder['seo_title']);
$description = setting('menu_seo_description', $placeholder['seo_description']);
}
$schemaSections = [];
foreach ($categories as $category) {
$schemaItems = [];
foreach ($category['items'] as $item) {
$entry = [
'@type' => 'MenuItem',
'name' => p15_menu_text($item, 'name'),
];
if (!empty($item['description'])) {
$entry['description'] = p15_menu_text($item, 'description');
}
if ($item['price'] !== null && $item['price'] !== '') {
$entry['offers'] = [
'@type' => 'Offer',
'price' => number_format((float)$item['price'], 2, '.', ''),
'priceCurrency' => 'PLN',
];
}
$schemaItems[] = $entry;
}
$schemaSections[] = [
'@type' => 'MenuSection',
'name' => p15_menu_text($category, 'name'),
'hasMenuItem' => $schemaItems,
];
}
$menuSchema = [
'@context' => 'https://schema.org',
'@type' => 'Menu',
'name' => p15_menu_type_label($menuType) . ' – ' . setting('site_name', APP_NAME),
'url' => site_url(p15_menu_url('/menu-seo',$menuType)),
'inLanguage' => (['pl'=>'pl-PL','en'=>'en-GB','es'=>'es-ES','de'=>'de-DE'][p15_menu_lang()]),
'hasMenuSection' => $schemaSections,
];
$title = p15_menu_type_label($menuType) . ' | ' . setting('site_name', APP_NAME);
if (p15_menu_lang() === 'en') $description = p15_menu_type_label($menuType) . ' at Moja Polana Smaków restaurant, Kraków.';
render_public_head($title, $description, '/menu-seo' . ($menuType === 'food' ? '' : '?kind=' . $menuType), $menuSchema, p15_menu_complete($categories) ? 'index,follow' : 'noindex,follow');
render_public_header('menu');
?>
<main class="menu-seo-page">
<section class="page-hero compact">
<div class="container narrow">
<span class="eyebrow">Moja Polana Smaków</span>
<h1><?= e(p15_menu_type_label($menuType)) ?></h1>
<?php p15_menu_tabs($menuType, '/menu-seo'); ?>
<p><?= e(p15_menu_lang() === 'en' ? 'Explore our seasonal menu and current selection.' : polana_ui(setting('menu_seo_intro', 'Aktualne menu restauracji Moja Polana Smaków.'))) ?></p>
<a class="text-link" href="<?= e(p15_menu_url('/menu',$menuType)) ?>"><?= e(polana_ui('Zobacz kartę graficzną →')) ?></a>
</div>
</section>
<section class="menu-content">
<div class="container menu-container">
<?php foreach ($categories as $category): ?>
<?php if (empty($category['items'])) continue; ?>
<section class="menu-category">
<header class="menu-category-head">
<h2><?= e(p15_menu_text($category, 'name')) ?></h2>
</header>
<div class="menu-items">
<?php foreach ($category['items'] as $item): ?>
<article class="menu-item">
<div class="dish-main">
<div class="dish-line">
<h3><?= e(p15_menu_text($item, 'name')) ?></h3>
<div class="dish-price">
<?php if (!empty($item['price_text'])): ?>
<?= e($item['price_text']) ?>
<?php elseif ($item['price'] !== null && $item['price'] !== ''): ?>
<?= number_format((float)$item['price'], 2, ',', ' ') ?> zł
<?php endif; ?>
</div>
</div>
<?php if (p15_menu_text($item, 'description') !== ''): ?>
<p class="dish-description"><?= e(p15_menu_text($item, 'description')) ?></p>
<?php endif; ?>
<?php if (p15_menu_text($item, 'ingredients') !== ''): ?>
<p class="dish-ingredients">
<strong><?= e(polana_ui('Składniki:')) ?></strong> <?= e(p15_menu_text($item, 'ingredients')) ?>
</p>
<?php endif; ?>
<?php if (p15_menu_text($item, 'allergens') !== '' || !empty($item['weight'])): ?>
<div class="dish-meta">
<?php if (!empty($item['weight'])): ?>
<span><?= e($item['weight']) ?></span>
<?php endif; ?>
<?php if (p15_menu_text($item, 'allergens') !== ''): ?>
<span><?= e(polana_ui('Alergeny:')) ?> <?= e(p15_menu_text($item, 'allergens')) ?></span>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
</article>
<?php endforeach; ?>
</div>
</section>
<?php endforeach; ?>
</div>
</section>
<section class="menu-seo-copy">
<div class="container narrow">
<span class="eyebrow">Andrzej Polan</span>
<h2>Autorska kuchnia, która zmienia się z sezonem.</h2>
<p>
Karta Mojej Polany Smaków powstaje w rytmie sezonu i dostępności produktów.
<?= p15_menu_lang() === 'en' ? 'The latest menu is always available at' : 'Aktualne menu znajdziesz zawsze pod adresem' ?>
<a href="<?= e(site_url(polana_local_path('/menu'))) ?>"><?= e(preg_replace('~^https?://~', '', site_url(polana_local_path('/menu')))) ?></a>.
</p>
</div>
</section>
</main>
<?php render_public_footer(); ?>