<?php
$UA_FORCE_DESIGN_V2 = true;
// إدارة الأوامر التلقائية: صفحة واحدة تجمع أدوات الأتمتة ضمن تبويبات
$page_title = 'إدارة الأوامر التلقائية';
$uaAndroidAutomationCommands = ((string)($_GET['ua_android'] ?? '') === '1')
  || stripos((string)($_SERVER['HTTP_USER_AGENT'] ?? ''), 'NetworkCustomersAndroid/') !== false;
if ($uaAndroidAutomationCommands) $UA_PAGE_CSS = ['assets/css/android_automation_commands.css'];

require_once __DIR__ . '/db_bootstrap.php';
require_once __DIR__ . '/settings_store.php';
require_once __DIR__ . '/lang.php';
require_once __DIR__ . '/helpers.php';
require_once __DIR__ . '/auth.php';

$conn = ensure_db(false);
if ($conn instanceof mysqli) {
  $GLOBALS['conn'] = $conn;
  if (function_exists('settings_ensure_table')) @settings_ensure_table($conn);
}

require_login();
if (function_exists('require_perm')) require_perm('can_settings');

if (!($conn instanceof mysqli)) {
  include __DIR__ . '/header.php';
  include __DIR__ . '/sidebar.php';
  echo '<div class="content-wrapper ua-extracted-page"><section class="content"><div class="container-fluid"><div class="alert alert-danger">تعذر الاتصال بقاعدة البيانات. تحقق من خدمة MySQL وملف الاتصال.</div></div></section></div>';
  require_once __DIR__ . '/footer.php';
  return;
}

include __DIR__ . '/header.php';
include __DIR__ . '/sidebar.php';

// Token for scheduler
$token = (string)get_app_setting($conn,'automation_token','');
if($token===''){
  try{ $token = bin2hex(random_bytes(16)); set_app_setting($conn,'automation_token',$token); } catch(Throwable $e){ $token=''; }
}
$runnerUrl = 'api/automation_run.php?token=' . urlencode($token) . '&force=1';

$tab = $_GET['tab'] ?? 'billing';
$allowed_tabs = ['billing','maintenance','reports'];
if (!in_array($tab, $allowed_tabs, true)) $tab = 'billing';

$tabs = [
  'billing' => [
    'title' => 'دورة التحصيل والفوترة',
    'icon'  => 'fa-calendar-check-o',
    'src'   => 'automation_billing.php?embed=1',
  ],
  'maintenance' => [
    'title' => 'صيانة تلقائية',
    'icon'  => 'fa-wrench',
    'src'   => 'automation_maintenance.php?embed=1',
  ],
  'reports' => [
    'title' => 'تقارير أسبوعية',
    'icon'  => 'fa-bar-chart',
    'src'   => 'automation_reports.php?embed=1',
  ],
];
if ($uaAndroidAutomationCommands) {
  require __DIR__ . '/android_automation_commands.php';
  require_once __DIR__ . '/footer.php';
  return;
}
?>

<div class="content-wrapper">
  <section class="content-header">
    <div class="container-fluid">
      <div class="row mb-2">
        <div class="col-sm-6">
          <h1 class="ua-u-fw-900">إدارة الأوامر التلقائية</h1>
        </div>
        <div class="col-sm-6">
          <ol class="breadcrumb float-sm-right">
            <li class="breadcrumb-item"><a href="automation.php">الأتمتة</a></li>
            <li class="breadcrumb-item active">إدارة الأوامر التلقائية</li>
          </ol>
        </div>
      </div>
    </div>
  </section>

  <section class="content">
    <div class="container-fluid">

      <div class="card card-outline card-primary">
        <div class="card-header ua-u-pb-0">
          <ul class="nav nav-tabs card-header-tabs" id="uaAutoCmdTabs" role="tablist">
            <?php foreach($tabs as $k=>$t): $active = ($k===$tab); ?>
              <li class="nav-item" role="presentation">
                <a class="nav-link <?= $active?'active':'' ?>" href="?tab=<?= h($k) ?>" role="tab" aria-selected="<?= $active?'true':'false' ?>">
                  <i class="fa <?= h($t['icon']) ?>"></i>
                  <span class="ua-u-fw-700"><?= h($t['title']) ?></span>
                </a>
              </li>
            <?php endforeach; ?>
          </ul>
        </div>

        <div class="card-body ua-u-p0">
          <div class="ua-auto-command-info">
            <div class="d-flex align-items-center justify-content-between ua-u-flex-wrap-gap10">
              <div class="ua-u-fw-700">
                <i class="fa fa-info-circle"></i>
                اختر القسم المطلوب.
              </div>
              <div class="ua-u-flex-wrap-center">
                <button type="button" class="btn btn-sm btn-success" id="uaRunAutomationNow"><i class="fa fa-play"></i> تشغيل الأتمتة الآن</button>
                <button type="button" class="btn btn-sm btn-outline-secondary" id="uaCopyRunner"><i class="fa fa-copy"></i> نسخ رابط الـ Runner</button>
              </div>
            </div>

            <div class="mt-2 ua-u-small-muted-strong">
              <b>Runner:</b>
              <code class="ua-u-select-all" dir="ltr" id="uaRunnerUrl"><?= h($runnerUrl) ?></code>
            </div>

            <div id="uaAutoRunResult" class="mt-2 ua-u-hidden"></div>
          </div>

          <div class="ua-iframe-wrap">
            <iframe
              id="uaAutoCmdFrame"
              src="<?= h($tabs[$tab]['src']) ?>"
              class="ua-embed-frame"
              loading="lazy"
              referrerpolicy="no-referrer"
            ></iframe>
          </div>
        </div>
      </div>

    </div>
  </section>
</div>

<script>
(function(){
  function qs(s){return document.querySelector(s);} 
  var runBtn = qs('#uaRunAutomationNow');
  var copyBtn = qs('#uaCopyRunner');
  var box = qs('#uaAutoRunResult');
  var url = (qs('#uaRunnerUrl') && qs('#uaRunnerUrl').textContent) ? qs('#uaRunnerUrl').textContent.trim() : '';

  if(copyBtn){
    copyBtn.addEventListener('click', async function(){
      try{
        await navigator.clipboard.writeText(url);
        copyBtn.innerHTML = '<i class="fa fa-check"></i> تم النسخ';
        setTimeout(function(){ copyBtn.innerHTML = '<i class="fa fa-copy"></i> نسخ رابط الـ Runner'; }, 1200);
      }catch(e){
        alert('لم ينجح النسخ تلقائياً. انسخه يدويًا من السطر.');
      }
    });
  }

  async function runNow(){
    if(!url){ return; }
    if(box){
      box.style.display='block';
      box.className='alert alert-info';
      box.textContent='جاري تشغيل الأتمتة...';
    }
    try{
      var resp = await fetch(url, {cache:'no-store'});
      var j = await resp.json();
      if(!j || !j.ok){
        if(box){ box.className='alert alert-danger'; box.textContent = (j && j.error) ? j.error : 'فشل التشغيل'; }
        return;
      }
      if(box){
        box.className='alert alert-success';
        box.textContent = 'تم التشغيل ✅ (تفاصيل في سجل الأتمتة)';
      }
    } catch(e){
      if(box){ box.className='alert alert-danger'; box.textContent = 'خطأ اتصال/JSON: ' + (e && e.message ? e.message : e); }
    }
  }

  if(runBtn){ runBtn.addEventListener('click', runNow); }
})();
</script>

<?php require_once __DIR__ . '/footer.php'; ?>
