=== Bulk OnDemand Testing Guide ===

## المشكلة:
المستخدم يقول أن جميع أوضاع OnDemand (on, live_ondemand, off) لا تعمل في bulk page.

## الفحص:
1. الكود في السطر 80-84 من streams_bulk.php يظهر أن on_demand select له 3 خيارات:
   - 'on' => 'Make streams OnDemand on selected servers'
   - 'live_ondemand' => 'Live mode with OnDemand'
   - 'off' => 'Remove OnDemand'
   - Default: '' (empty), Label: 'Don't Change'

2. الكود في SaveBulk (السطر 144) يقرأ on_demand من POST:
   ```php
   $on_demand = trim($intro->input->post('on_demand'));
   ```

3. الشروط في SaveBulك:
   - السطر 199: `if( isset($allServers[0]) && intval($allServers[0]) > 0 )`
   - السطر 281: `else if( $on_demand == 'on' || $on_demand == 'live_ondemand' || $on_demand == 'off' )`

## السيناريوهات المحتملة:

### سيناريو 1: تغيير OnDemand mode فقط (بدون اختيار servers)
- المستخدم يختار OnDemand mode من القائمة
- لا يختار أي servers
- النتيجة: سيدخل في ELSE block (السطر 281)
- ✅ هذا يجب أن يعمل

### سيناريو 2: تغيير Servers + OnDemand mode
- المستخدم يختار servers
- يختار OnDemand mode
- النتيجة: سيدخل في IF block (السطر 199)
- ✅ هذا يجب أن يعمل

### سيناريو 3: "Don't Change" (القيمة الافتراضية)
- المستخدم لا يختار أي mode (يترك "Don't Change")
- النتيجة: $on_demand = ''
- لن يدخل في أي شرط ✗

## خطوات التشخيص:

1. افتح: http://15.204.231.210/iptv/index.php/streams_bulk/index

2. اختبر كل سيناريو:
   a) اختر streams فقط، ثم اختر OnDemand mode (on/live_ondemand/off) بدون servers → اضغط Save
   b) اختر streams + servers + OnDemand mode → اضغط Save
   c) اختر streams + servers فقط (لا تختر OnDemand mode) → اضغط Save

3. راقب الـ logs:
   ```bash
   tail -f /var/log/apache2/error.log | grep "SaveBulk"
   ```

4. تحقق من القيم المرسلة:
   - افتح Developer Tools → Network
   - اضغط Save
   - انظر إلى POST data المرسلة

## التوقعات:
- يجب أن تظهر في logs:
  ```
  SaveBulk - on_demand: 'on' (or 'live_ondemand' or 'off')
  SaveBulk - allServers: array(...)
  SaveBulk - Checking sync condition: on_demand='...'
  ```

## الحلول المحتملة:

إذا كانت القيمة لا تُرسل:
1. تحقق من أن select name="on_demand" موجود في الفورم
2. تحقق من أن القيمة المختارة ليست empty string

إذا كانت القيمة تُرسل ولكن الكود لا يُنفذ:
1. تحقق من أن الشروط صحيحة
2. تحقق من أن لا يوجد exit() قبل الوصول للكود

## الملفات المعدلة مع Logging:
- /var/www/html/iptv/apps/streams_bulk.php (خطوط 171-177, 248-250, 283-284, 298, 312, 316)
- /var/www/html/iptv/includes/AdminStreams.php (السطر 464)
