<?php
// Sidebar is a global shell component. Render it once only, and never inside popup/embed iframes.
if (defined('UA_SIDEBAR_RENDERED')) return;
define('UA_SIDEBAR_RENDERED', true);
$ua_sb3_is_popup = (defined('UA_EMBED') && UA_EMBED)
  || (defined('UA_FRAME_CONTEXT') && UA_FRAME_CONTEXT)
  || isset($_GET['embed']) || isset($_GET['popup']) || isset($_GET['modal']) || isset($_GET['iframe']) || isset($_GET['ua_tab']) || isset($_GET['ua_modal'])
  || !empty($GLOBALS['UA_POPUP']) || (defined('UA_POPUP') && UA_POPUP);
if ($ua_sb3_is_popup) return;
// admin/sidebar.php (Armoury Sidebar v3 - RTL right + flyout left)
if (session_status() === PHP_SESSION_NONE) { @session_start(); }
require_once __DIR__ . '/helpers.php';
require_once __DIR__ . '/media_assets_lib.php';

if (defined('UA_SHELL_CHROME') && !UA_SHELL_CHROME) { return; }

$logged = !empty($_SESSION['admin_id']) || !empty($_SESSION['admin_user_id']) || !empty($_SESSION['admin_user']);
if (!$logged) { return; }

$me_name = $_SESSION['admin_username'] ?? ($_SESSION['admin_user'] ?? 'المدير');
$initial = mb_substr(trim((string)$me_name), 0, 1, 'UTF-8');

$current = basename(parse_url($_SERVER['REQUEST_URI'] ?? '', PHP_URL_PATH) ?? '');

$ICON_BASE = 'assets/ua_sidebar_icons/';

if (!function_exists('ua_is_active_new')) {
  function ua_is_active_new(string $href, string $current): bool {
    $hrefBase = basename(parse_url($href, PHP_URL_PATH) ?: $href);
    $aliases = [
      'finance_reports.php' => ['finance_reports.php','finance_cashbox.php','finance_day_report.php','finance_month_close.php','finance_month_report.php','finance_partners.php'],
      'output_devices.php' => ['output_devices.php','output_fleet.php'],
      'invoices.php'        => ['invoices.php','invoices_add.php','invoices_generate_month.php','pay_invoice.php','print_invoice.php','print_preview.php','billing_message_requests.php','billing_limit_requests.php','billing_cut_requests.php'],
      'finance_payments.php'=> ['finance_payments.php','finance_expenses.php'],
      'purchases_report.php'=> ['purchases_report.php','purchases_new.php','purchases_view.php'],
      'subscribers.php'     => ['subscribers.php','subscribers_view.php','subscribers_edit.php','subscribers_add.php','subscribers_history.php','subscribers_archive.php','subscriber_contracts.php','subscriber_router_setup.php','subscriber_credit.php','subscriber_billing_pause.php','android_router_setup.php'],
      'agents.php'          => ['agents.php','agents_portal_preview.php','agents_activity.php','agents_balances.php','agent_transactions.php','agent_portal.php','agent_subscriber_add.php','agent_subscriber_status.php'],
    ];
    if (isset($aliases[$hrefBase])) {
      return in_array($current, $aliases[$hrefBase], true);
    }
    return $hrefBase === $current;
  }
}

if (!function_exists('ua_sb3_icon')) {
  function ua_sb3_icon(string $srcOrText): string {
    $v = trim((string)$srcOrText);
    if ($v === '') return '';
    if (preg_match('~\.(svg|png|webp|jpg|jpeg)$~i', $v)) {
      return '<img src="'.h($v).'" alt="" loading="lazy">';
    }
    if (preg_match('~^(?:fa\s+)?fa-[a-z0-9-]+$~i', $v)) {
      $cls = (stripos($v, 'fa ') === 0) ? $v : ('fa ' . $v);
      return '<i class="'.h($cls).'" aria-hidden="true"></i>';
    }
    return h($v);
  }
}

if (!function_exists('ua_sidebar_page_allowed_for_install')) {
  function ua_sidebar_page_allowed_for_install(string $href): bool {
    if (!function_exists('ua_install_page_allowed')) return true;
    $page = basename(parse_url($href, PHP_URL_PATH) ?: $href);
    return ua_install_page_allowed($page);
  }
}

$groups = [
  [
    'id' => 'home',
    'label' => 'الرئيسية',
    'icon' => $ICON_BASE.'home.svg',
    'items' => [
      ['dashboard.php', 'لوحة التحكم', '•'],
      ['about.php', 'عن البرنامج', '•'],
      ['support.php', 'الدعم', '•'],
    ],
  ],
  [
    'id' => 'network',
    'label' => 'إدارة الشبكة',
    'icon' => $ICON_BASE.'mikrotik.svg',
    'items' => [
      ['automation_comms.php', 'لوحة الشبكة', '•'],
      ['mikrotik_dashboard.php', 'مراقبة MikroTik', '•'],
      ['security_monitor.php', 'مراقب الشبكة', '•'],
      ['mtwatch_allowlist.php', 'قائمة سماح تنبيهات الشبكة', '•'],
      ['routers.php', 'إدارة الراوترات', '•'],
      ['sectors.php', 'إدارة القطاعات', '•'],
      ['subscribers_distribution.php', 'توزيع المشتركين', '•'],
      ['customer_connect.php', 'ربط الزبائن', '•'],
      ['wizard_network.php', 'معالج الإعداد', '•'],
      ['mikrotik.php', 'إعدادات MikroTik', '•'],
      ['mikrotik_import.php', 'استيراد من MikroTik', '•'],
    ],
  ],
  [
    'id' => 'subs',
    'label' => 'المشتركين',
    'icon' => $ICON_BASE.'subs.svg',
    'items' => [
      ['subscribers.php', 'عرض المشتركين', '•'],
      ['subscribers_add.php', 'إضافة مشترك', '•'],
      ['subscriber_contracts.php', 'عقود المشتركين', 'fa-file-word-o'],
    ],
  ],
  [
    'id' => 'billing_finance',
    'label' => 'الفوترة والمحاسبة',
    'icon' => $ICON_BASE.'finance.svg',
    'items' => [
      ['finance_reports.php', 'الملخص المالي', 'fa-line-chart'],
      ['finance_daily_balances.php', 'الأرصدة اليومية', 'fa-archive'],
      ['invoices.php', 'الفواتير', 'fa-file-text-o'],
      ['finance_payments.php', 'الحركة المالية', 'fa-exchange'],
      ['purchases_report.php', 'المشتريات', 'fa-shopping-bag'],
      ['finance_partners.php', 'الشركاء ورأس المال', 'fa-users'],
    ],
  ],
  [
    'id' => 'agents',
    'label' => 'المعتمدين',
    'icon' => 'fa-users',
    'items' => [
      [
        'agent_portal.php?select=1',
        'واجهة المعتمدين',
        'fa-external-link',
        ['standalone' => true],
      ],
      ['agents.php', 'المعتمدين', 'fa-users'],
      ['agents_activity.php', 'سجل المعتمدين', 'fa-exchange'],
      ['agent_transactions.php', 'حركات رصيد المعتمدين', 'fa-book'],
      ['agents_balances.php', 'أرصدة المعتمدين', 'fa-balance-scale'],
    ],
  ],
  [
    'id' => 'sales',
    'label' => 'المبيعات',
    'icon' => $ICON_BASE.'sales.svg',
    'items' => [
      ['sales.php', 'لوحة المبيعات', '•'],
      ['sales_new.php', 'عملية بيع جديدة', '•'],
      ['sales_products.php', 'الأصناف والمنتجات', '•'],
      ['sales_history.php', 'سجل المبيعات', '•'],
      ['sales_summary.php', 'ملخص المبيعات', '•'],
    ],
  ],
  [
    'id' => 'cards',
    'label' => 'الكروت',
    'icon' => $ICON_BASE.'cards.svg',
    'items' => [
      ['vouchers_settings.php', 'إعدادات الكروت', '•'],
      ['vouchers.php', 'إدارة وبيع الكروت', '•'],
      ['vouchers_generate.php', 'توليد دفعات', '•'],
      ['vouchers_print.php', 'طباعة', '•'],
    ],
  ],
  [
    'id' => 'automation',
    'label' => 'الأتمتة',
    'icon' => $ICON_BASE.'automation.svg',
    'items' => [
      ['automation_billing.php', 'دورة التحصيل والفوترة', '•'],
      ['quota_setup.php', 'نظام الحجم والقص', '•'],
      ['automation_vouchers.php', 'إعدادات الكروت (QR)', '•'],
      ['automation_reports.php', 'تقارير أسبوعية', '•'],
      ['automation_maintenance.php', 'صيانة تلقائية', '•'],
      ['automation_commands.php', 'أوامر الأتمتة', '•'],
      ['automation_log.php', 'سجل الأتمتة', '•'],
    ],
  ],
  [
    'id' => 'messages',
    'label' => 'الرسائل',
    'icon' => $ICON_BASE.'messages.svg',
    'items' => [
      ['messages_outbox.php', 'صندوق الإرسال', 'fa-envelope'],
      ['messages_campaigns.php', 'حملات الرسائل', 'fa-bullhorn'],
      ['messages_templates.php', 'قوالب الرسائل', 'fa-file-text-o'],
      ['device_admin_alerts.php', 'تنبيهات الأجهزة', 'fa-bell'],
      ['message_log.php', 'سجل الرسائل', 'fa-list'],
      ['settings_sms.php', 'إعدادات SMS', 'fa-commenting'],
      ['settings_whatsapp.php', 'إعدادات واتساب', 'fa-whatsapp'],
    ],
  ],
  [
    'id' => 'settings',
    'label' => 'الإعدادات والنظام',
    'icon' => $ICON_BASE.'settings.svg',
    'items' => [
      ['company_admin.php', 'بيانات الشركة', '•'],
      ['packages_prices.php', 'أسعار الباقات والسرعات', '•'],
      ['settings_mikrotik.php', 'MikroTik', '•'],
      ['settings_print.php', 'إعدادات الطباعة', '•'],
      ['output_devices.php', 'الطابعات والماسحات', 'fa-print'],
      ['airmax_monitor_settings.php', 'إدارة الأجهزة', '•'],
      ['server_links.php', 'الربط الشبكي', 'fa-sitemap'],
      ['app_settings.php', 'إعدادات البرنامج', '•'],
      ['user_profile.php', 'ملفي الشخصي', '•'],
      ['security_monitor.php', 'مراقب الشبكة', '•'],
      ['security_alerts.php', 'سجل تنبيهات الأمان', '•'],
      ['users_permissions.php', 'المستخدمون والصلاحيات', '•'],
      ['users.php', 'المستخدمون', 'fa-users'],
      ['roles.php', 'الأدوار', '•'],
      ['maintenance.php', 'صيانة النظام', 'fa-wrench'],
      ['routers.php', 'الراوترات', 'fa-server'],
      ['sectors.php', 'القطاعات', 'fa-sitemap'],
      ['dashboard.php', 'لوحة التحكم', 'fa-dashboard'],
    ],
  ],
  [
    'id' => 'reports',
    'label' => 'التقارير',
    'icon' => $ICON_BASE.'reports.svg',
    'items' => [
      ['finance_reports.php', 'التقارير العامة', '•'],
      ['agents_report.php', 'تقارير المعتمدين', '•'],
    ],
  ],
  [
    'id' => 'tools',
    'label' => 'أدوات النظام',
    'icon' => $ICON_BASE.'tools.svg',
    'items' => [
      ['update_version.php', 'تحديث الإصدار', '•'],
      ['install_setup.php', 'Install Setup', 'fa-cog'],
      ['backup_center.php', 'النسخ الاحتياطي', 'fa-database'],
      ['maintenance.php', 'صيانة النظام', '•'],
      ['template_page.php', 'صفحة قالب', '•'],
    ],
  ],
];

if (function_exists('ua_is_agent_install') && ua_is_agent_install()) {
  $filteredGroups = [];
  foreach ($groups as $g) {
    if (!empty($g['href'])) {
      if (ua_sidebar_page_allowed_for_install((string)$g['href'])) {
        $filteredGroups[] = $g;
      }
      continue;
    }
    $items = [];
    foreach (($g['items'] ?? []) as $it) {
      $href = (string)($it[0] ?? '');
      if ($href !== '' && ua_sidebar_page_allowed_for_install($href)) {
        $items[] = $it;
      }
    }
    if ($items) {
      $g['items'] = $items;
      $filteredGroups[] = $g;
    }
  }
  $groups = $filteredGroups;
}
?>
<?php $uaSidebarLogo = function_exists('ua_media_url') ? ua_media_url('sidebar_program_logo', 'assets/img/sidebar_program_logo.png') : 'assets/img/sidebar_program_logo.png'; ?>
<aside class="ua-sb3" id="uaSb3" aria-label="القائمة الجانبية">
  <div class="ua-sb3-head ua-sb3-brand-head">
    <div class="ua-sb3-brand-wrap" title="<?= h($me_name) ?>">
      <img class="ua-sb3-brand-logo"
           src="<?= h($uaSidebarLogo) ?>"
           alt="إدارة الشبكة والعملاء"
           loading="eager"
           decoding="async">
    </div>
  </div>

  <nav class="ua-sb3-nav">
    <?php foreach ($groups as $g): ?>
      <?php
        $gid   = $g['id'];
        $label = $g['label'];
        $icon  = $g['icon'];
        $items = $g['items'] ?? [];
        $href  = $g['href'] ?? '';

        $isActive = false;
        if ($href !== '') {
          $isActive = ua_is_active_new($href, $current);
        } else {
          foreach ($items as $it) {
            $itemHref = $it[0] ?? '';
            if ($itemHref && ua_is_active_new($itemHref, $current)) { $isActive = true; break; }
          }
        }
      ?>

      <?php if ($href !== ''): ?>
        <a class="ua-sb3-item<?= $isActive ? ' is-active' : '' ?>" href="<?= h($href) ?>" data-title="<?= h($label) ?>" data-ua-page-key="<?= h(basename(parse_url($href, PHP_URL_PATH) ?: $href)) ?>" data-ua-section="<?= h($gid) ?>">
          <span class="ua-sb3-ic"><?= ua_sb3_icon($icon) ?></span>
          <span class="ua-sb3-t"><?= h($label) ?></span>
          <span class="ua-sb3-caret" aria-hidden="true"></span>
        </a>
      <?php else: ?>
        <button class="ua-sb3-item<?= $isActive ? ' is-active' : '' ?>" type="button"
                data-sb3-group="<?= h($gid) ?>" aria-haspopup="true" aria-expanded="false">
          <span class="ua-sb3-ic"><?= ua_sb3_icon($icon) ?></span>
          <span class="ua-sb3-t"><?= h($label) ?></span>
          <span class="ua-sb3-caret">▸</span>
        </button>

        <template id="sb3_tpl_<?= h($gid) ?>">
          <div class="ua-sb3-fly ua-sb3-fly--<?= h($gid) ?>">
            <div class="ua-sb3-fly-head"><?= h($label) ?></div>
            <div class="ua-sb3-fly-body">
              <?php foreach ($items as $it): ?>
                <?php
                  $itemHref = $it[0] ?? '#';
                  $txt  = $it[1] ?? '';
                  $options = is_array($it[3] ?? null) ? $it[3] : [];
                  $standalone = !empty($options['standalone']);
                  $act  = ua_is_active_new($itemHref, $current) ? ' is-active' : '';
                ?>
                <a class="ua-sb3-link<?= $act ?>" href="<?= h($itemHref) ?>"
                   data-title="<?= h($txt) ?>"
                   data-ua-page-key="<?= h(basename(parse_url($itemHref, PHP_URL_PATH) ?: $itemHref)) ?>"
                   data-ua-section="<?= h($gid) ?>"
                   <?= $standalone ? 'target="_top" data-no-workspace data-no-frame' : '' ?>>
                  <span class="ua-sb3-t"><?= h($txt) ?></span>
                </a>
              <?php endforeach; ?>
            </div>
          </div>
        </template>
      <?php endif; ?>
    <?php endforeach; ?>
  </nav>

  <div class="ua-sb3-foot ua-sidebar-footnote">
 <div>الإصدار: v<?= h(app_version()) ?></div>
  </div>
</aside>
