#!/usr/bin/env bash

# Kiểm tra có đối số không
if [ -z "$1" ]; then
  echo "Usage: $(basename "$0") <courseid>"
  exit 1
fi

courseid="$1"

# Lưu thư mục hiện tại (nơi chạy script, không phải nơi đặt script)
BASEDIR="$(pwd)"

for dir in */ ; do
    # Bỏ dấu '/' cuối
    dirname="${dir%/}"

    # Cắt phần số trước dấu '.' và trim khoảng trắng
    index=$(echo "$dirname" | cut -d'.' -f1 | tr -d '[:space:]')

    # Bỏ số 0 đầu nếu có
    index_nozero=$(echo "$index" | sed 's/^0*//')

    # Nếu chuỗi rỗng (trường hợp '0')
    if [ -z "$index_nozero" ]; then
        index_nozero=0
    fi

    # Kiểm tra là số hợp lệ
    if [[ "$index_nozero" =~ ^[0-9]+$ ]]; then
        # Tính i-1
        i_minus_1=$((index_nozero - 1))

        echo "===> Đang xử lý thư mục: $dirname (index: $index_nozero, i-1: $i_minus_1)"

        # Chuyển vào thư mục
        cd "$dirname" || { echo "Không thể vào thư mục $dirname"; exit 1; }

        # Gọi online.sh với courseid từ dòng lệnh và i-1
        elearning.sh "$courseid" "$i_minus_1"

        # Quay lại thư mục gốc
        cd "$BASEDIR"
    else
        echo "Bỏ qua $dirname (không bắt đầu bằng số)"
    fi
done
