#!/bin/bash

COURSE_FOLDER="$(pwd)"

# Kiểm tra tham số
if [ -z "$1" ]; then
    echo "Usage: $0 ext1,ext2,..."
    exit 1
fi

# Tạo mảng extension
IFS=',' read -ra EXT_ARRAY <<< "$1"

# Quét tất cả thư mục con
mapfile -t DIRS < <(find "$COURSE_FOLDER" -type d)

for dir in "${DIRS[@]}"; do
    relative_path="${dir#*/vod/}"
    OUTPUT_FILE="$dir/filelist.txt"
    rm -f "$OUTPUT_FILE"

    # Duyệt tất cả file trong thư mục
    for file in "$dir"/*; do
        [ -f "$file" ] || continue
        filename=$(basename "$file")
        ext="${filename##*.}"
        # Kiểm tra extension có trong danh sách không
        for allowed_ext in "${EXT_ARRAY[@]}"; do
            if [[ "${ext,,}" == "${allowed_ext,,}" ]]; then  # ignore case
                echo "$relative_path/$filename" >> "$OUTPUT_FILE"
                break
            fi
        done
    done

    # Sắp xếp tự nhiên filelist.txt
    if [ -s "$OUTPUT_FILE" ]; then
        sort -V -o "$OUTPUT_FILE" "$OUTPUT_FILE"
        echo "File filelist.txt created successfully in $dir."
    fi
done
