<?php
// admin/section_map.php
// Provides mapping: section => [title, icon, items], and page => section.
function ua_section_map(): array {

  $sections = [
    'home' => [
      'title' => 'الرئيسية',
      'icon'  => 'fa-home',
      'items' => [
        ['dashboard.php','لوحة التحكم','fa-dashboard'],
        ['about.php','عن البرنامج','fa-info-circle'],
      ],
    ],

    'subs' => [
      'title' => 'المشتركين',
      'icon'  => 'fa-users',
      'items' => [
        ['subscribers.php','المشتركين','fa-users'],
        ['subscribers_add.php','إضافة مشترك','fa-user-plus'],
        ['subscribers_distribution.php','توزيع المشتركين','fa-sitemap'],
      ],
    ],

    'sales' => [
      'title' => 'المبيعات',
      'icon'  => 'fa-shopping-cart',
      'items' => [
        ['sales.php','لوحة المبيعات','fa-shopping-cart'],
        ['sales_new.php','عملية بيع جديدة','fa-plus'],
        ['sales_history.php','سجل المبيعات','fa-history'],
        ['sales_summary.php','ملخص المبيعات','fa-bar-chart'],
      ],
    ],

    'billing' => [
      'title' => 'الفوترة',
      'icon'  => 'fa-file-text-o',
      'items' => [
        ['invoices.php','الفواتير','fa-file-text-o'],
        ['invoices_add.php','إضافة فاتورة','fa-plus'],
        ['invoices_generate_month.php','توليد فواتير الشهر','fa-calendar'],
        ['print_invoice.php','طباعة فاتورة','fa-print'],
      ],
    ],

    'finance' => [
      'title' => 'المالية والمحاسبة',
      'icon'  => 'fa-money',
      'items' => [
        ['finance_payments.php','الدفعات','fa-money'],
        ['finance_expenses.php','المصاريف','fa-arrow-down'],
        ['finance_partners.php','الشركاء ورأس المال','fa-users'],
        ['output_fleet.php','مشاركة الطابعات','fa-print'],
        ['finance_daily_balances.php','الأرصدة اليومية','fa-inbox'],
        ['finance_reports.php','التقارير المالية','fa-line-chart'],
      ],
    ],

    'auto' => [
      'title' => 'الأتمتة',
      'icon'  => 'fa-cogs',
      'items' => [
        ['automation_billing.php','دورة التحصيل والفوترة','fa-calendar-check-o'],
        ['automation_reports.php','تقارير الأتمتة','fa-bar-chart'],
        ['automation_maintenance.php','صيانة الأتمتة','fa-wrench'],
      ],
    ],

    'mtk' => [
      'title' => 'إدارة الشبكة',
      'icon'  => 'fa-sitemap',
      'items' => [
        ['automation_comms.php','لوحة الشبكة','fa-sitemap'],
        ['mikrotik_dashboard.php','مراقبة MikroTik','fa-dashboard'],
        ['security_monitor.php','مراقب الشبكة','fa-shield'],
        ['mtwatch_allowlist.php','قائمة سماح تنبيهات الشبكة','fa-shield'],
        ['routers.php','إدارة الراوترات','fa-server'],
        ['sectors.php','إدارة القطاعات','fa-sitemap'],
        ['subscribers_distribution.php','توزيع المشتركين','fa-random'],
        ['customer_connect.php','ربط الزبائن','fa-link'],
        ['wizard_network.php','معالج الإعداد','fa-magic'],
        ['mikrotik.php','إعدادات MikroTik','fa-cog'],
        ['mikrotik_import.php','استيراد من MikroTik','fa-download'],
      ],
    ],

    'msg' => [
      'title' => 'الرسائل',
      'icon'  => 'fa-envelope',
      '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'],
      ],
    ],

    'settings' => [
      'title' => 'الإعدادات',
      'icon'  => 'fa-cog',
      'items' => [
        ['company_admin.php','بيانات الشركة','fa-building'],
        ['packages_prices.php','أسعار الباقات والسرعات','fa-tags'],
        ['settings_mikrotik.php','MikroTik','fa-sitemap'],
        ['settings_print.php','إعدادات الطباعة','fa-print'],
        ['airmax_monitor_settings.php','إدارة الأجهزة','fa-wifi'],
        ['app_settings.php','إعدادات البرنامج','fa-sliders'],
        ['security_monitor.php','مراقب الشبكة','fa-shield'],
        ['security_alerts.php','سجل تنبيهات الأمان','fa-shield'],
      ],
    ],

    'reports' => [
      'title' => 'التقارير',
      'icon'  => 'fa-bar-chart',
      'items' => [
        ['finance_reports.php','التقارير المالية','fa-line-chart'],
        ['agents_report.php','تقارير الوكلاء','fa-users'],
        ['automation_reports.php','تقارير الأتمتة','fa-bar-chart'],
      ],
    ],

    'tools' => [
      'title' => 'أدوات النظام',
      'icon'  => 'fa-wrench',
      'items' => [
        ['backup_center.php','النسخ الاحتياطي','fa-database'],
        ['maintenance.php','صيانة النظام','fa-wrench'],
      ],
    ],
  ];

  $skip = [
    'automation_tabs.php','comms_tabs.php','finance_tabs.php','messages_tabs.php',
    'sales_tabs.php','settings_tabs.php','subscribers_tabs.php',
    'automation_commands.php'
  ];

  $page_to_section = [];
  $page_to_section['dashboard.php'] = 'home';
  $page_to_section['about.php'] = 'home';

  $patterns = [
    'subs'     => ['/^(subscribers|customer)_/i','/^subscribers/i'],
    'sales'    => ['/^(sales|agent_pos|agent_transactions)/i'],
    'billing'  => ['/^(invoices|pay_invoice|print_invoice|unpay_invoice)/i'],
    'finance'  => ['/^(finance_|vouchers_|journal|ledger)/i'],
    'auto'     => ['/^(automation)/i','/^(comms_)/i','/^quota_/i'],
    'mtk'      => ['/^(mikrotik|mtwatch|check_routes|routers)/i','/^settings_hud\.php$/i'],
    'msg'      => ['/^(messages_|message_log)/i'],
    'settings' => ['/^(settings_|app_settings|company_admin|admin_users|user_profile|roles|system|packages_prices|security_alerts|security_monitor)/i'],
    'reports'  => ['/_report(s)?/i','/^finance_reports\.php$/i'],
    'tools'    => ['/^(maintenance|backup|logs)/i'],
  ];

  foreach (glob(__DIR__ . '/*.php') as $p) {
    $f = basename($p);
    foreach ($patterns as $sec => $rules) {
      foreach ($rules as $rx) {
        if (@preg_match($rx, $f)) { $page_to_section[$f] = $sec; break 2; }
      }
    }
  }

  foreach ([
    'automation_comms.php',
    'mikrotik_dashboard.php',
    'security_monitor.php',
    'mtwatch_allowlist.php',
    'routers.php',
    'sectors.php',
    'subscribers_distribution.php',
    'customer_connect.php',
    'wizard_network.php',
    'mikrotik.php',
    'mikrotik_import.php',
  ] as $networkPage) {
    $page_to_section[$networkPage] = 'mtk';
  }

  return ['sections'=>$sections, 'page_to_section'=>$page_to_section, 'skip'=>$skip];
}
