<?php
require_once __DIR__.'/includes/config.php';
require_login();
if(!is_admin()){
    header('Location: dashboard.php');
    exit;
}


function jp_url_alphabet(){
    return [
        'A'=>'あ','B'=>'い','C'=>'う','D'=>'え','E'=>'お','F'=>'か','G'=>'き','H'=>'く','I'=>'け','J'=>'こ','K'=>'さ','L'=>'し','M'=>'す','N'=>'せ','O'=>'そ','P'=>'た','Q'=>'ち','R'=>'つ','S'=>'て','T'=>'と','U'=>'な','V'=>'に','W'=>'ぬ','X'=>'ね','Y'=>'の','Z'=>'は',
        'a'=>'ひ','b'=>'ふ','c'=>'へ','d'=>'ほ','e'=>'ま','f'=>'み','g'=>'む','h'=>'め','i'=>'も','j'=>'や','k'=>'ゆ','l'=>'よ','m'=>'ら','n'=>'り','o'=>'る','p'=>'れ','q'=>'ろ','r'=>'わ','s'=>'を','t'=>'ん','u'=>'ア','v'=>'イ','w'=>'ウ','x'=>'エ','y'=>'オ','z'=>'カ',
        '0'=>'キ','1'=>'ク','2'=>'ケ','3'=>'コ','4'=>'サ','5'=>'シ','6'=>'ス','7'=>'セ','8'=>'ソ','9'=>'タ','+'=>'チ','/'=>'ツ','='=>'テ'
    ];
}

function jp_encrypt_url($url){
    $url = trim((string)$url);
    if ($url === '') return '';
    $b64 = base64_encode($url);
    return str_replace(array_keys(jp_url_alphabet()), array_values(jp_url_alphabet()), $b64);
}

function jp_decrypt_url($token){
    $token = trim((string)$token);
    if ($token === '') return '';
    $map = jp_url_alphabet();
    $b64 = str_replace(array_values($map), array_keys($map), $token);
    $decoded = base64_decode($b64, true);
    return $decoded === false ? '' : $decoded;
}

$original = '';
$encoded = '';
$decoded = '';
$error = '';
$mode = $_POST['mode'] ?? '';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if ($mode === 'encode') {
        $original = trim($_POST['url_original'] ?? '');
        if ($original === '') {
            $error = 'Informe a URL original para converter.';
        } else {
            if (!preg_match('~^https?://~i', $original)) $original = 'http://' . $original;
            $encoded = jp_encrypt_url($original);
            $decoded = jp_decrypt_url($encoded);
        }
    } elseif ($mode === 'decode') {
        $encoded = trim($_POST['codigo_japones'] ?? '');
        $decoded = jp_decrypt_url($encoded);
        if ($decoded === '') $error = 'Não foi possível decodificar esse código japonês.';
        $original = $decoded;
    }
}
include __DIR__.'/includes/header.php';
?>
<div class="card">
    <h2>㊙️ Link Japonês Criptografado</h2>
    <p class="muted">Cole a URL original do painel/API e gere um código em letras japonesas para colocar no APK. A URL não aparece em texto puro.</p>
    <?php if($error): ?><p class="login-error"><?=h($error)?></p><?php endif; ?>
    <form method="post">
        <input type="hidden" name="mode" value="encode">
        <label>URL original</label>
        <input name="url_original" placeholder="https://sejatopapk.top/base/api/" value="<?=h($original)?>">
        <button class="btn" type="submit">㊙️ Converter para japonês</button>
    </form>
</div>

<?php if($encoded): ?>
<div class="card">
    <h2>Resultado para colocar no APK</h2>
    <label>Link/código japonês</label>
    <textarea id="codigoJapones" rows="5" readonly><?=h($encoded)?></textarea>
    <button class="btn" type="button" onclick="copiarCodigo()">📋 Copiar código</button>
    <p class="muted" style="margin-top:14px">Teste de retorno: <b class="ok"><?=h($decoded)?></b></p>
</div>
<?php endif; ?>

<div class="card">
    <h2>Testar / Decodificar</h2>
    <form method="post">
        <input type="hidden" name="mode" value="decode">
        <label>Código japonês</label>
        <textarea name="codigo_japones" rows="4" placeholder="Cole aqui o código japonês"><?=h($encoded)?></textarea>
        <button class="btn dark" type="submit">🔎 Ver URL original</button>
    </form>
    <?php if($mode==='decode' && $decoded): ?>
        <p class="muted" style="margin-top:14px">URL decodificada: <b class="ok"><?=h($decoded)?></b></p>
    <?php endif; ?>
</div>

<div class="card">
    <h2>Observação importante</h2>
    <p class="muted">Esse modelo funciona como Base64 com alfabeto japonês. Ele oculta a URL de busca simples no APK, mas não é uma criptografia militar. Para proteção mais forte, depois podemos fazer AES + japonês.</p>
</div>

<script>
function copiarCodigo(){
    var campo = document.getElementById('codigoJapones');
    campo.select();
    campo.setSelectionRange(0, 999999);
    document.execCommand('copy');
    alert('Código japonês copiado!');
}
</script>
<?php include __DIR__.'/includes/footer.php'; ?>
