<?php
$aslPending=count(array_filter($requests,static fn($r)=>(string)($r['status']??'')==='pending'));
$aslApproved=count(array_filter($requests,static fn($r)=>(string)($r['status']??'')==='approved'));
$aslInternal=count(array_filter($endpoints,static fn($e)=>(string)($e['address_type']??'')==='internal'&&!empty($e['is_enabled'])));
?>
<div class="content-wrapper android-server-links" data-android-server-links>
  <main class="asl-main">
    <header class="asl-heading"><div><span>النسخة الرئيسية</span><h1>الربط الشبكي</h1><p>إدارة الاتصال المحلي وعبر الإنترنت وطلبات النسخ الفرعية والمعتمدين.</p></div><span class="asl-link-state <?= $externalEndpoints?'is-online':'is-warning' ?>"><i class="fa <?= $externalEndpoints?'fa-globe':'fa-exclamation-triangle' ?>"></i><b><?= $externalEndpoints?'الإنترنت مفعّل':'غير مهيأ' ?></b></span></header>
    <div class="asl-stats"><div><strong><?= count($endpoints) ?></strong><span>العناوين</span></div><div class="is-cyan"><strong><?= $aslInternal ?></strong><span>محلي</span></div><div class="is-green"><strong><?= count($externalEndpoints) ?></strong><span>إنترنت</span></div><div class="is-gold"><strong><?= $aslPending ?></strong><span>طلبات معلقة</span></div></div>
    <?php if($msg!==''): ?><div class="asl-message is-ok"><i class="fa fa-check-circle"></i><span><?= h($msg) ?></span></div><?php endif; ?><?php if($err!==''): ?><div class="asl-message is-danger"><i class="fa fa-exclamation-circle"></i><span><?= h($err) ?></span></div><?php endif; ?>
    <div class="asl-internet <?= $externalEndpoints?'is-ready':'is-missing' ?>"><i class="fa fa-globe"></i><div><strong>الاتصال عبر الإنترنت</strong><span><?= $externalEndpoints?'متاح عبر '.count($externalEndpoints).' عنوان HTTPS آمن ويمكن اختياره من تطبيق أندرويد.':'أضف عنوان HTTPS خارجياً موجهاً إلى النسخة الرئيسية لتفعيل الاتصال عبر الإنترنت.' ?></span></div></div>

    <details class="asl-section asl-db"><summary><span><i class="fa fa-database"></i></span><div><small>إعدادات حساسة</small><h2>النسخة الرئيسية وقاعدة البيانات</h2></div><i class="fa fa-chevron-down asl-chevron"></i></summary><form method="post" data-ua-android-native-layout><?php if(function_exists('ua_csrf_field'))ua_csrf_field(); ?><input type="hidden" name="action" value="save_parent_settings"><label><span>اسم النسخة الرئيسية</span><input name="parent_name" value="<?= h($parentName) ?>"></label><div class="asl-pair"><label><span>DB Host</span><input name="db_host" dir="ltr" value="<?= h($currentDb['host']) ?>"></label><label><span>Port</span><input type="number" name="db_port" value="<?= h($currentDb['port']) ?>"></label></div><div class="asl-pair"><label><span>Database</span><input name="db_name" dir="ltr" value="<?= h($currentDb['name']) ?>"></label><label><span>User</span><input name="db_user" dir="ltr" value="<?= h($currentDb['user']) ?>"></label></div><div class="asl-pair"><label><span>Password</span><input type="password" name="db_pass" value="<?= h($currentDb['pass']) ?>"></label><label><span>Charset</span><input name="db_charset" dir="ltr" value="<?= h($currentDb['charset']) ?>"></label></div><button class="asl-save" type="submit"><i class="fa fa-save"></i><span>حفظ إعدادات القاعدة</span></button></form></details>

    <section class="asl-section asl-add"><div class="asl-section-head"><div><span>عنوان اتصال جديد</span><h2>إضافة عنوان للربط</h2></div><i class="fa fa-plus-circle"></i></div><form method="post" data-ua-android-native-layout><?php if(function_exists('ua_csrf_field'))ua_csrf_field(); ?><input type="hidden" name="action" value="save_endpoint"><div class="asl-pair"><label><span>اسم العنوان</span><input name="label" value="عنوان الربط" required></label><label><span>نوع الاتصال</span><select name="address_type"><option value="internal">داخلي / شبكة محلية</option><option value="external">خارجي / إنترنت</option></select></label></div><label><span>الرابط</span><input name="base_url" dir="ltr" value="<?= h($currentUrl) ?>" placeholder="https://portal.example.com/mikrotik" required><small>العنوان الخارجي يجب أن يبدأ بـ HTTPS.</small></label><div class="asl-options"><label><input type="checkbox" name="allow_branch" checked><span>نسخة فرعية</span></label><label><input type="checkbox" name="allow_agent" checked><span>نسخة معتمدين</span></label><label><input type="checkbox" name="is_enabled" checked><span>مفعّل</span></label></div><label><span>ملاحظات</span><input name="notes"></label><button class="asl-save" type="submit"><i class="fa fa-plus"></i><span>إضافة العنوان</span></button></form></section>

    <section class="asl-section"><div class="asl-section-head"><div><span>مسارات الاتصال</span><h2>العناوين المتاحة</h2></div><b><?= count($endpoints) ?></b></div><div class="asl-endpoint-list"><?php foreach($endpoints as $endpoint): ?><?php $eid=(int)$endpoint['id'];$external=(string)$endpoint['address_type']==='external';$enabled=!empty($endpoint['is_enabled']); ?><article class="asl-endpoint <?= $enabled?'is-enabled':'is-disabled' ?>"><header><span><i class="fa <?= $external?'fa-globe':'fa-wifi' ?>"></i></span><div><h3><?= h($endpoint['label']) ?></h3><p><?= $external?'اتصال عبر الإنترنت':'اتصال شبكة محلية' ?></p></div><b><i></i><?= $enabled?'مفعّل':'متوقف' ?></b></header><div class="asl-url" dir="ltr"><?= h($endpoint['base_url']) ?></div><div class="asl-roles"><?php if(!empty($endpoint['allow_branch'])):?><span>نسخة فرعية</span><?php endif; ?><?php if(!empty($endpoint['allow_agent'])):?><span>نسخة معتمدين</span><?php endif; ?></div><?php if(trim((string)$endpoint['notes'])!==''): ?><p><?= h($endpoint['notes']) ?></p><?php endif; ?><form method="post" onsubmit="return confirm('حذف هذا العنوان؟')"><?php if(function_exists('ua_csrf_field'))ua_csrf_field(); ?><input type="hidden" name="action" value="delete_endpoint"><input type="hidden" name="endpoint_id" value="<?= $eid ?>"><button type="submit"><i class="fa fa-trash"></i><span>حذف العنوان</span></button></form></article><?php endforeach; ?><?php if(!$endpoints): ?><div class="asl-empty"><i class="fa fa-link"></i><h3>لا توجد عناوين</h3><p>أضف عنواناً محلياً أو خارجياً من النموذج أعلاه.</p></div><?php endif; ?></div></section>

    <section class="asl-section"><div class="asl-section-head"><div><span>طلبات الأجهزة</span><h2>طلبات الربط</h2></div><b><?= count($requests) ?></b></div><div class="asl-request-list"><?php foreach($requests as $request): ?><?php $rid=(int)$request['id'];$state=(string)$request['status']; ?><article class="asl-request is-<?= h($state) ?>"><header><div><h3><?= h($request['instance_name']) ?></h3><p><?= h(ua_link_install_type_label($request['install_type'])).' · '.h($request['connection_mode']??'local') ?></p></div><b><?= h($state) ?></b></header><div class="asl-request-data"><div><span>العنوان</span><strong><?= h($request['endpoint_label']??'غير محدد') ?></strong></div><div><span>آخر اتصال</span><strong dir="ltr"><?= h($request['last_seen_at']??'—') ?></strong></div><div><span>IP</span><strong dir="ltr"><?= h($request['remote_addr']??'—') ?></strong></div></div><details><summary>عرض روابط الطلب</summary><p dir="ltr"><?= h($request['reported_url']??'') ?></p><p dir="ltr"><?= h($request['server_url']??'') ?></p></details><footer><?php foreach([['approve_request','fa-check','موافقة'],['reject_request','fa-times','رفض'],['block_request','fa-ban','حظر']] as $action): ?><form method="post"><?php if(function_exists('ua_csrf_field'))ua_csrf_field(); ?><input type="hidden" name="request_id" value="<?= $rid ?>"><button name="action" value="<?= $action[0] ?>" class="is-<?= $action[0] ?>" type="submit"><i class="fa <?= $action[1] ?>"></i><span><?= $action[2] ?></span></button></form><?php endforeach; ?></footer></article><?php endforeach; ?><?php if(!$requests): ?><div class="asl-empty"><i class="fa fa-plug"></i><h3>لا توجد طلبات ربط</h3><p>ستظهر طلبات النسخ الفرعية والمعتمدين هنا.</p></div><?php endif; ?></div></section>
  </main>
</div>
