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-v14-slownik.php
<?php
declare(strict_types=1);
require_once dirname(__DIR__).'/includes/functions.php';
require_admin_role();
require_once dirname(__DIR__).'/includes/polana_v14_names.php';
$error='';$info='';
try{p14_schema();
 if(($_SERVER['REQUEST_METHOD']??'')==='POST'){
  verify_csrf();$action=(string)($_POST['action']??'');
  if($action==='add'){
   $value=trim(preg_replace('/\\s+/u',' ',(string)($_POST['term']??'')));
   if(mb_strlen($value,'UTF-8')<2||mb_strlen($value,'UTF-8')>250||preg_match('/[<>\\r\\n\\x00-\\x1F]/u',$value))throw new RuntimeException('Wpisz nazwę 2–250 znaków, bez HTML');
   $q=db()->prepare('INSERT IGNORE INTO polana_v14_protected_terms(term) VALUES(?)');$q->execute([$value]);$info='Dodano nazwę: '.$value;
  }elseif($action==='delete'){
   $id=(int)($_POST['id']??0);if($id<=0)throw new RuntimeException('Błędne ID');
   $q=db()->prepare('DELETE FROM polana_v14_protected_terms WHERE id=?');$q->execute([$id]);$info='Usunięto wpis słownika';
  }
 }
 $list=db()->query('SELECT id,term FROM polana_v14_protected_terms ORDER BY term')->fetchAll(PDO::FETCH_ASSOC);
}catch(Throwable $e){$error=$e->getMessage();$list=[];}
render_admin_header('Polana — słownik nazw własnych');
?>
<main style="max-width:1050px;margin:28px auto;padding:16px">
<h1>POLANA — Nazwy własne i ulice</h1>
<p>Podczas tłumaczenia bloga, podstron i menu wyrażenia ze słownika zostają dokładnie takie jak po polsku. Nie tłumaczymy nazwy ulicy, nazw osób ani nazwy restauracji.</p>
<p><b>Ważne:</b> rozpoznawanie wszystkich nazw własnych automatycznie nie jest niezawodne. Dopisuj nowe nazwy do słownika, również ich polskie odmiany, i sprawdzaj podgląd przed publikacją.</p>
<?php if($error): ?><p style="color:#a22"><?=htmlspecialchars($error,ENT_QUOTES,'UTF-8')?></p><?php endif;?>
<?php if($info): ?><p style="color:#275c2e"><?=htmlspecialchars($info,ENT_QUOTES,'UTF-8')?></p><?php endif;?>
<section style="border:1px solid #ddd;border-radius:12px;padding:20px;margin:18px 0">
<h2>Dodaj nazwę do ochrony</h2>
<form method="post" style="display:flex;gap:10px;flex-wrap:wrap;align-items:center">
<?=csrf_field()?>
<input type="hidden" name="action" value="add"><input name="term" required maxlength="250" placeholder="np. ul. Szeroka, Kleparz, Jan Kowalski" style="min-width:330px;padding:10px;border:1px solid #aaa;border-radius:8px">
<button style="padding:10px 18px" type="submit">Dodaj do słownika</button></form>
</section>
<section style="border:1px solid #ddd;border-radius:12px;padding:20px;margin:18px 0">
<h2>Nazwy chronione na stałe</h2><p><?=htmlspecialchars(implode(' · ',p14_builtin_terms()),ENT_QUOTES,'UTF-8')?></p>
<h2>Dodatkowe wpisy</h2>
<?php foreach($list as $r):?>
<form method="post" style="display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #eee;align-items:center">
<?=csrf_field()?><input type="hidden" name="action" value="delete"><input type="hidden" name="id" value="<?=(int)$r['id']?>">
<span><?=htmlspecialchars($r['term'],ENT_QUOTES,'UTF-8')?></span><button type="submit" onclick="return confirm('Usunąć tylko tę dodatkową nazwę?')">Usuń</button></form>
<?php endforeach;?>
<?php if(!$list):?><p>Brak dodatkowych nazw.</p><?php endif;?>
</section>
<p>Po zmianie słownika uruchom ponownie tłumaczenie niewłaściwych wyników z kolejki <b>review</b>. Zatwierdzonych artykułów nie nadpisujemy automatycznie.</p>
<p><a href="/admin/polana-v13-blog.php">Blog — tłumaczenia</a> · <a href="/admin/polana-v12-podstrony.php">Podstrony — tłumaczenia</a> · <a href="/admin/v9-review.php">Menu — tłumaczenia</a></p>
</main>
<?php render_admin_footer(); ?>

Youez - 2016 - github.com/yon3zu
LinuXploit