<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
#!/bin/bash

# 1. ensure /etc/cpanel/ea4/profiles/vendor/cloudlinux exists and is empty
rm -rf /etc/cpanel/ea4/profiles/vendor/cloudlinux
mkdir -p /etc/cpanel/ea4/profiles/vendor/cloudlinux

cl_profile_dir=""
if [ -d /opt/cpanel/ea-profiles-cloudlinux ]; then
    if [ -e /etc/cloudlinux-edition-solo ]; then
        cl_profile_dir="clsolo/"
    else
        cl_profile_dir="clshared/"
    fi
fi

# remove mod_hostinglimits inside container
if [ -e /etc/cloudlinux-container -a -d /opt/cpanel/ea-profiles-cloudlinux/${cl_profile_dir} ]; then
    sed -i '/mod_hostinglimits/d' /opt/cpanel/ea-profiles-cloudlinux/${cl_profile_dir}/*.json
fi

# 2. Make symlinks in /etc/cpanel/ea4/profiles/vendor/cloudlinux/ to profiles in /opt/cpanel/ea-profiles-cloudlinux/
#    - The symlinks are what will be available to EA4 UI/CLI.
#    - There should always be /etc/cpanel/ea4/profiles/vendor/cloudlinux/default.json
SERVER_TYPE=$(readlink -n /usr/local/cpanel/server.type);
num=`ls -1 /opt/cpanel/ea-profiles-cloudlinux/server-type-$SERVER_TYPE-*.json 2> /dev/null | wc -l`
if (( $num > 0 )); then
    # 2. Make symlinks in /etc/cpanel/ea4/profiles/cpanel/ to profiles with the name likeness of server-type-$SERVER-TYPE-*.json
    #    - The symlinks are what will be available to EA4 UI/CLI.
    #    - There should always be /etc/cpanel/ea4/profiles/cpanel/default.json
    #    - if the name is server-type-XYZ-default.json, the final profile will have the name default.json

    echo "Doing “${SERVER_TYPE}” mode EA4 default profile."
    for profile in `ls -1 /opt/cpanel/ea-profiles-cloudlinux/server-type-${SERVER_TYPE}-* | perl -n -e 'if (m/server-type-[^-]+-([^-]+\.json)/) { print "$1\n"; }'`; do
        ln -s /opt/cpanel/ea-profiles-cloudlinux/server-type-${SERVER_TYPE}-${profile} /etc/cpanel/ea4/profiles/vendor/cloudlinux/${profile}
    done
else
    # 2. Make symlinks in /etc/cpanel/ea4/profiles/cpanel/ to profiles in /opt/cpanel/ea-profiles-cpanel/
    #    - The symlinks are what will be available to EA4 UI/CLI.
    #    - There should always be /etc/cpanel/ea4/profiles/cpanel/default.json

    echo "Doing standard EA4 profiles."
    pushd /opt/cpanel/ea-profiles-cloudlinux/${cl_profile_dir} > /dev/null

    for profile in $(ls *.json | grep -v server-type-); do
        ln -s /opt/cpanel/ea-profiles-cloudlinux/${cl_profile_dir}${profile} /etc/cpanel/ea4/profiles/vendor/cloudlinux/${profile}
    done

    popd > /dev/null
fi
