#!/bin/bash

echo "Starting the language symlink updater script..."

# Get the language code using the `cgivalue` utility
LANGUAGE_CODE=$(cgivalue language_code)
echo "Retrieved language code: $LANGUAGE_CODE"

# Validation: Check if the LANGUAGE_CODE is empty
if [ -z "$LANGUAGE_CODE" ]; then
    echo "Received empty language code. Please provide a two-character long language code."
    exit 1
fi

# Define the base directory for language-specific files
LANG_BASE_DIR="/var/www/htdocs/cgi-bin/translations"
echo "Language base directory set to: $LANG_BASE_DIR"

# Check if the directory for the specified language exists
if [ ! -d "${LANG_BASE_DIR}/applet.d/${LANGUAGE_CODE}" ]; then
    echo "Directory for language code ${LANGUAGE_CODE} not found."
    exit 1
else
    echo "Found directory for language code ${LANGUAGE_CODE}. Proceeding..."
fi

# Link the language-specific applet.d files
for file in /etc/ltc/applet.d/*; do
    filename=$(basename "$file")
    
    # Check if the language-specific file exists
    if [ -f "${LANG_BASE_DIR}/applet.d/${LANGUAGE_CODE}/${filename}" ]; then
        echo "Creating symlink for $filename..."
        # Create a symlink (forcefully, so it overwrites existing links)
        ln -sf "${LANG_BASE_DIR}/applet.d/${LANGUAGE_CODE}/${filename}" "/etc/ltc/applet.d/${filename}"
        echo "Symlink for $filename created successfully!"
    else
        echo "Language-specific file for ${filename} not found. Skipping..."
    fi
done

# Link the language-specific captions file
if [ -f "${LANG_BASE_DIR}/captions/${LANGUAGE_CODE}/captions" ]; then
    echo "Creating symlink for captions..."
    ln -sf "${LANG_BASE_DIR}/captions/${LANGUAGE_CODE}/captions" "/tmp/captions"
    echo "Symlink for captions created successfully!"
else
    echo "Language-specific captions file not found."
fi

echo "All symlinks updated for language code: ${LANGUAGE_CODE}"
echo "Script execution complete."
