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_v1801_rollback/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /.polana_v1801_rollback/includes__polana_v167_audit.php.backup
<?php
declare(strict_types=1);
/** POLANA V16.7 — internal admin diagnostics, no external app credentials. */
function p167_e($value):string{return htmlspecialchars((string)$value, ENT_QUOTES|ENT_SUBSTITUTE, 'UTF-8');}
function p167_safe_count(string $sql, array $params=[]):?int{
    try {$q=db()->prepare($sql);$q->execute($params);return (int)$q->fetchColumn();}
    catch(Throwable $e){error_log('POLANA V167 count: '.$e->getMessage());return null;}
}
function p167_counts():array{
    return [
        'posts'=>p167_safe_count('SELECT COUNT(*) FROM blog_posts'),
        'published'=>p167_safe_count("SELECT COUNT(*) FROM blog_posts WHERE status='published' AND (publish_at IS NULL OR publish_at<=NOW())"),
        'scheduled'=>p167_safe_count("SELECT COUNT(*) FROM blog_posts WHERE status='scheduled' AND publish_at>NOW()"),
        'posts_missing_seo'=>p167_safe_count("SELECT COUNT(*) FROM blog_posts WHERE status='published' AND (publish_at IS NULL OR publish_at<=NOW()) AND (seo_title IS NULL OR TRIM(seo_title)='' OR seo_description IS NULL OR TRIM(seo_description)='')"),
        'posts_missing_photo'=>p167_safe_count("SELECT COUNT(*) FROM blog_posts WHERE status='published' AND (publish_at IS NULL OR publish_at<=NOW()) AND (featured_image IS NULL OR TRIM(featured_image)='')"),
        'published_menus'=>p167_safe_count("SELECT COUNT(*) FROM menus WHERE status='published'"),
        'translated_review'=>p167_safe_count("SELECT COUNT(*) FROM tklm_v9_jobs WHERE status='review'"),
        'translated_pending'=>p167_safe_count("SELECT COUNT(*) FROM tklm_v9_jobs WHERE status='pending'"),
    ];
}
function p167_checklist():array{
    $root=dirname(__DIR__);
    $ht=is_file($root.'/.htaccess')?(string)file_get_contents($root.'/.htaccess'):'';
    $robots=$root.'/robots.php';$sitemap=$root.'/sitemap.php';
    $counts=p167_counts();
    $domain=setting('site_url','');
    $checks=[
        ['label'=>'Domena główna', 'pass'=>rtrim($domain,'/')==='https://mojapolanasmakow.pl', 'detail'=>'site_url: '.($domain?:'nie ustawiono'), 'url'=>'/admin/settings.php'],
        ['label'=>'Generator sitemap', 'pass'=>is_file($sitemap), 'detail'=>'Plik sitemap.php', 'url'=>'/admin/polana-v166-sitemap.php'],
        ['label'=>'Trasa /sitemap.xml', 'pass'=> (bool)preg_match('~RewriteRule[^\r\n]*sitemap~i',$ht), 'detail'=>'Reguła w .htaccess; sprawdź również test HTTP', 'url'=>'/admin/polana-v166-sitemap.php'],
        ['label'=>'Plik robots', 'pass'=>is_file($robots)||is_file($root.'/robots.txt'), 'detail'=>'robots.php lub robots.txt', 'url'=>'/admin/polana-v166-sitemap.php'],
        ['label'=>'Opublikowane wpisy z meta SEO', 'pass'=> $counts['posts_missing_seo']===0, 'detail'=>($counts['posts_missing_seo']===null?'Nie udało się odczytać bazy':$counts['posts_missing_seo'].' wpisów do poprawy'), 'url'=>'/admin/polana-seo-centrum.php#artykuly'],
        ['label'=>'Zdjęcia wyróżniające wpisy', 'pass'=> $counts['posts_missing_photo']===0, 'detail'=>($counts['posts_missing_photo']===null?'Nie udało się odczytać bazy':$counts['posts_missing_photo'].' wpisów bez zdjęcia'), 'url'=>'/admin/blog.php'],
    ];
    $scored=array_filter($checks,static fn($c)=>$c['pass']!==null);
    $passed=count(array_filter($scored,static fn($c)=>$c['pass']===true));
    $score=count($scored)?(int)round(100*$passed/count($scored)):null;
    return ['checks'=>$checks,'score'=>$score,'counts'=>$counts];
}
function p167_blog_issues(int $limit=75):array{
    try{
        $q=db()->prepare('SELECT id,title,slug,status,publish_at,seo_title,seo_description,featured_image,updated_at FROM blog_posts ORDER BY CASE WHEN status=\'published\' THEN 0 ELSE 1 END, updated_at DESC LIMIT '.max(1,min($limit,150)));
        $q->execute();return $q->fetchAll(PDO::FETCH_ASSOC);
    }catch(Throwable $e){error_log('POLANA V167 blog rows: '.$e->getMessage());return [];}
}
function p167_links(string $role):array{
    // Only local app links and explicit external tools. Visibility mirrors roles; endpoints still enforce RBAC.
    $content=[
        ['href'=>'/admin/polana-menu-centrum.php','title'=>'Menu — wszystko','note'=>'Dania, napoje, wina, ceny, Word/PDF','icon'=>'🍽️','terms'=>'dania ceny eksport'],
        ['href'=>'/admin/menus.php','title'=>'Wszystkie karty','note'=>'Publikacja, wersje, archiwum','icon'=>'📚','terms'=>'menu archiwum'],
        ['href'=>'/admin/import.php','title'=>'Import Word','note'=>'Wczytaj gotową kartę','icon'=>'📥','terms'=>'import docx'],
        ['href'=>'/admin/media.php','title'=>'Zdjęcia','note'=>'Biblioteka zdjęć restauracji','icon'=>'📷','terms'=>'galeria media'],
        ['href'=>'/admin/visuals.php','title'=>'Grafiki','note'=>'Materiały i bannery','icon'=>'🎨','terms'=>'banery'],
        ['href'=>'/admin/qr.php','title'=>'QR menu','note'=>'Kody na stoliki','icon'=>'▦','terms'=>'kod qr'],
        ['href'=>'/admin/blog.php','title'=>'Blog — wszystkie wpisy','note'=>'Edytuj, publikuj i zaplanuj','icon'=>'📰','terms'=>'wpisy artykuły'],
        ['href'=>'/admin/blog-edit.php','title'=>'Dodaj artykuł','note'=>'Edytor z ustawieniami SEO','icon'=>'✍️','terms'=>'nowy wpis'],
        ['href'=>'/admin/polana-v11-harmonogram.php','title'=>'Harmonogram wpisów','note'=>'Losowe daty publikacji','icon'=>'🗓️','terms'=>'terminy blog'],
        ['href'=>'/admin/modules.php','title'=>'Podstrony i sekcje','note'=>'Treści strony głównej','icon'=>'🧩','terms'=>'podstrony'],
        ['href'=>'/admin/socials.php','title'=>'Media społecznościowe','note'=>'Facebook, Instagram, linki','icon'=>'📣','terms'=>'social'],
    ];
    $seo=[
        ['href'=>'/admin/polana-seo-centrum.php','title'=>'SEO Health + audyt','note'=>'Rzeczywiste kontrole i edycja meta wpisów','icon'=>'🔎','terms'=>'seo audyt'],
        ['href'=>'/admin/polana-v164-seo.php','title'=>'Google i sitemap','note'=>'Weryfikacja, canonical i indeksacja','icon'=>'🗺️','terms'=>'xml google'],
        ['href'=>'/admin/polana-v166-sitemap.php','title'=>'Sprawdź mapę XML','note'=>'HTTP, robots i naprawa trasy','icon'=>'📄','terms'=>'sitemap robots'],
        ['href'=>'/admin/seo.php','title'=>'SEO strony i zaślepka','note'=>'Tytuły, opisy i ustawienia publiczne','icon'=>'⚙️','terms'=>'meta'],
        ['href'=>'/admin/settings.php','title'=>'Local SEO — dane firmy','note'=>'Adres, godziny, mapa i dane kontaktowe','icon'=>'📍','terms'=>'opinie wizytówka'],
        ['href'=>'/admin/polana-v16-tlumaczenia.php','title'=>'Tłumaczenia i akceptacja','note'=>'EN/DE/ES dla menu, bloga i stron','icon'=>'🌐','terms'=>'jezyki'],
        ['href'=>'/admin/polana-v14-slownik.php','title'=>'Nazwy chronione','note'=>'Ulice, marki i nazwy własne','icon'=>'📖','terms'=>'słownik'],
        ['href'=>'https://search.google.com/search-console','title'=>'Google Search Console ↗','note'=>'Indeksacja, zapytania i kliknięcia — zewnętrzny serwis','icon'=>'📊','terms'=>'gsc wyniki','external'=>true],
        ['href'=>'https://pagespeed.web.dev/analysis?url=https%3A%2F%2Fmojapolanasmakow.pl%2F','title'=>'PageSpeed Insights ↗','note'=>'Test wydajności na telefonach','icon'=>'⚡','terms'=>'speed','external'=>true],
        ['href'=>'https://business.google.com/','title'=>'Wizytówka Google ↗','note'=>'Godziny, opinie, zdjęcia w Google','icon'=>'⭐','terms'=>'local reviews','external'=>true],
        ['href'=>'https://analytics.google.com/','title'=>'Google Analytics ↗','note'=>'Ruch i konwersje, jeśli usługa jest skonfigurowana','icon'=>'📈','terms'=>'analytics konwersje','external'=>true],
        ['href'=>'https://search.google.com/test/rich-results','title'=>'Test danych strukturalnych ↗','note'=>'Restaurant, Menu i BlogPosting','icon'=>'🧱','terms'=>'schema jsonld','external'=>true],
        ['href'=>'https://www.bing.com/webmasters/','title'=>'Bing Webmaster ↗','note'=>'Wyszukiwarka Bing i IndexNow','icon'=>'🌍','terms'=>'bing indexnow','external'=>true],
    ];
    $ops=[
        ['href'=>'/admin/reservations.php','title'=>'Rezerwacje','note'=>'Goście i potwierdzenia','icon'=>'🪑','terms'=>'rezerwacje'],
        ['href'=>'/admin/today.php','title'=>'Dzisiaj','note'=>'Bieżące zadania restauracji','icon'=>'☀️','terms'=>'dzisiaj'],
        ['href'=>'/admin/schedule.php','title'=>'Grafik','note'=>'Zmiany pracowników','icon'=>'🕒','terms'=>'kalendarz'],
        ['href'=>'/admin/tips.php','title'=>'Napiwki','note'=>'Rozliczenia napiwków','icon'=>'💳','terms'=>'napiwki'],
    ];
    if($role==='admin'){
        $ops[]=['href'=>'/admin/manager-report.php','title'=>'Raport managera','note'=>'Podsumowanie operacji','icon'=>'📋','terms'=>'raport'];
        $ops[]=['href'=>'/admin/users.php','title'=>'Użytkownicy i role','note'=>'Dostępy pracowników','icon'=>'👥','terms'=>'redaktor konta'];
        $ops[]=['href'=>'/admin/database-backup.php','title'=>'Backup SQL','note'=>'Eksport kopii bazy danych','icon'=>'🛡️','terms'=>'backup'];
    }
    $ops[]=['href'=>'/admin/settings.php','title'=>'Ustawienia','note'=>'Kontakt, SMTP, integracje','icon'=>'🔧','terms'=>'poczta'];
    return ['Treści i menu'=>$content,'SEO i widoczność Google'=>($role==='admin'?$seo:array_values(array_filter($seo,static fn($l)=>!empty($l['external'])))),'Restauracja i system'=>$ops];
}

Youez - 2016 - github.com/yon3zu
LinuXploit