<?php
require_once __DIR__ . '/_layout.php';
web_require_perm('settings');
$svc = WEB_ADMIN_ROOT . '/app/Services/SponsorService.php';
if(is_file($svc)) require_once $svc;
if(!function_exists('bot_sponsor_settings')){ http_response_code(500); exit('SponsorService.php لود نشده است.'); }

if($_SERVER['REQUEST_METHOD']==='POST'){
    web_check_csrf();
    $settings = [
        'enabled' => !empty($_POST['enabled']) ? '✅فعال' : '❌غیر فعال',
        'price' => max(0, web_int($_POST['price'] ?? 0)),
        'duration_hours' => max(1, web_int($_POST['duration_hours'] ?? 24)),
        'title' => mb_substr(trim((string)($_POST['title'] ?? 'اسپانسر جوین اجباری')),0,100,'UTF-8'),
        'terms_text' => trim((string)($_POST['terms_text'] ?? '')),
    ];
    bot_sponsor_save_settings($settings);
    web_admin_log('web_sponsor_settings_save','sponsor',null,'ذخیره تنظیمات اسپانسر از پنل وب');
    web_flash('success','تنظیمات اسپانسر ذخیره شد.');
    web_redirect('sponsor.php');
}
$s = bot_sponsor_settings();
$orders = bot_sponsor_orders_read();
$ordersRev = array_reverse($orders, true);
web_header('اسپانسر جوین اجباری');
?>
<section class="grid cards">
<?php
$active=$pending=$paid=$expired=0; $income=0;
foreach($orders as $o){ if(!is_array($o)) continue; $st=(string)($o['status']??''); if($st==='active' && (int)($o['expires_at']??0)>time()) $active++; elseif($st==='active') $expired++; elseif(strpos($st,'awaiting')===0) $pending++; elseif($st==='paid_waiting_channel') $paid++; if(in_array($st,['paid_waiting_channel','active'],true)) $income+=(int)($o['amount']??0); }
web_card('وضعیت', $s['enabled']==='✅فعال'?'فعال':'غیرفعال', number_format((int)$s['price']).' ریال / '.(int)$s['duration_hours'].' ساعت');
web_card('فعال', number_format($active));
web_card('منتظر پرداخت/رسید', number_format($pending));
web_card('پرداخت‌شده منتظر کانال', number_format($paid), number_format($income).' ریال پرداخت ثبت‌شده');
?>
</section>

<section class="card">
<h2>تنظیمات اسپانسر</h2>
<form method="post" class="grid" style="grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px">
<?php web_csrf_input(); ?>
<label class="check"><input type="checkbox" name="enabled" value="1" <?= $s['enabled']==='✅فعال'?'checked':'' ?>> اسپانسر فعال باشد</label>
<div class="field"><label>عنوان</label><input name="title" value="<?=web_h($s['title']??'')?>"></div>
<div class="field"><label>هزینه به ریال</label><input type="number" name="price" value="<?=web_h((int)$s['price'])?>" min="0"></div>
<div class="field"><label>مدت نمایش به ساعت</label><input type="number" name="duration_hours" value="<?=web_h((int)$s['duration_hours'])?>" min="1"></div>
<div class="field" style="grid-column:1/-1"><label>متن قوانین/توضیح برای کاربر</label><textarea name="terms_text" rows="6"><?=web_h($s['terms_text']??'')?></textarea></div>
<div><button>ذخیره تنظیمات اسپانسر</button></div>
</form>
</section>

<section class="card">
<h2>آخرین سفارش‌های اسپانسر</h2>
<?php web_table_start(['زمان','سفارش','کاربر','مبلغ','روش','وضعیت','کانال','انقضا']); ?>
<?php $i=0; foreach($ordersRev as $o): if(!is_array($o)) continue; if(++$i>100) break; ?>
<tr>
<td><?=web_h(date('Y-m-d H:i', (int)($o['created_at']??time())))?></td>
<td><code><?=web_h($o['id']??'')?></code></td>
<td><code><?=web_h($o['user_id']??'')?></code></td>
<td><?=number_format((int)($o['amount']??0))?> ریال</td>
<td><?=web_h($o['method']??'')?></td>
<td><span class="badge"><?=web_h($o['status']??'')?></span></td>
<td><code><?=web_h($o['channel_ref']??'')?></code></td>
<td><?= !empty($o['expires_at']) ? web_h(date('Y-m-d H:i',(int)$o['expires_at'])) : '-' ?></td>
</tr>
<?php endforeach; if($i===0): ?><tr><td colspan="8">هنوز سفارشی ثبت نشده است.</td></tr><?php endif; ?>
<?php web_table_end(); ?>
</section>
<?php web_footer(); ?>
