<?php
declare(strict_types=1);
require_once __DIR__ . '/_bootstrap.php';
require_login();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    require_post_csrf();
    $action = (string)($_POST['action'] ?? '');

    if ($action === 'apply') {
        $code = trim((string)($_POST['license_code'] ?? ''));
        if ($code === '') {
            flash_set('シリアルコードを入力してください。', 'err');
        } elseif (!cms_license_valid($code)) {
            flash_set('シリアルコードが正しくありません。発行されたコードをそのままご入力ください。', 'err');
        } else {
            setting_set('license_code', $code);
            flash_set('製品版として解除しました。無料版の表記が外れます。');
        }
        redirect('/admin/license.php');
    }

    if ($action === 'clear') {
        setting_set('license_code', '');
        flash_set('無料版に戻しました。');
        redirect('/admin/license.php');
    }
}

$licensed = cms_is_licensed();
$current  = cms_license_code();

admin_header('ライセンス', 'license');
?>
<h1 class="adm-h1">ライセンス（無料版の解除）</h1>
<?php flash_render(); ?>

<div class="adm-block">
  <div class="adm-block-head"><span class="adm-block-label">現在の状態</span></div>
  <?php if ($licensed): ?>
    <p class="adm-note"><strong style="color:#059669;">製品版（解除済み）</strong>です。無料版の表記は表示されません。<br>
      登録コード：<code><?= h($current) ?></code></p>
  <?php else: ?>
    <p class="adm-note"><strong style="color:#b45309;">Free（無料版）</strong>です。管理画面の透かしと、サイト下部の制作クレジットが表示されています。</p>
  <?php endif; ?>
</div>

<div class="adm-block">
  <div class="adm-block-head"><span class="adm-block-label">シリアルコードの入力</span></div>
  <p class="adm-note">ご購入後にお送りするシリアルコードを入力すると、無料版の表記が外れます。</p>
  <form method="post" class="adm-form adm-narrow" autocomplete="off">
    <input type="hidden" name="_csrf" value="<?= h(csrf_token()) ?>">
    <input type="hidden" name="action" value="apply">
    <div class="fld"><label class="fld-label">シリアルコード</label>
      <input type="text" name="license_code" value="<?= h($current) ?>"></div>
    <button class="adm-btn primary" type="submit">解除する</button>
  </form>

  <div class="note-strong" style="margin-top:1rem;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;border-radius:10px;padding:.9rem 1.1rem;font-size:.9rem;line-height:1.7;">
    <b>ご注意</b><br>
    シリアルコードは、ご購入者ごとに発行される正規のコードです。<b>不正に解除・改変した場合、利用規約に基づき損害賠償を請求する場合があります。</b>
    解除コードはサイトのページソースに記録され、当社の発行履歴と照合できます。
  </div>

  <?php if ($licensed): ?>
  <form method="post" style="margin-top:1rem;" onsubmit="return confirm('無料版に戻しますか？（再度コードを入れれば解除できます）');">
    <input type="hidden" name="_csrf" value="<?= h(csrf_token()) ?>">
    <input type="hidden" name="action" value="clear">
    <button class="adm-btn ghost sm" type="submit">無料版に戻す</button>
  </form>
  <?php endif; ?>
</div>

<?php admin_footer(); ?>
