HEX
Server: nginx/1.18.0
System: Linux hqnl0246134.online-vm.com 5.4.0-135-generic #152-Ubuntu SMP Wed Nov 23 20:19:22 UTC 2022 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: phpinfo,disk_free_space,disk_total_space,diskfreespace,dl,exec,opcache_get_configuration,opcache_get_status,passthru,pclose,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_waitpid,pcntl_wait,pcntl_wexitstatus,pcntl_wifcontinued,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,popen,posix_getpwuid,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_terminate,shell_exec,show_source,system,exec,passthru,shell_exec,system,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
Upload Files
File: /var/lib/dpkg/info/imunify360-php-i360.prerm
#!/bin/bash

set -e

is_cloudways()
{
    CW_REGEXP=".*\.cloudways(apps|stagingapps).com$"
    APM_BIN=/usr/local/sbin/apm

    HOSTNAME=$(hostname -f | sed 's/.*/\L&/g')
    if [[ ${HOSTNAME} =~ ${CW_REGEXP} ]]; then
        return 0
    fi

    if [ -f ${APM_BIN} ];  then
        if ${APM_BIN} info | grep -q "Cloudways"; then
            return 0
        fi
    fi

    return 1
}

case "$1" in
    purge|remove)
        declare -a altphps
        altphps=(`cat "/usr/share/i360-php/altphps.txt"`)
        LIBS=""
        if [ "$(uname -m)" == "x86_64" ]; then
            LIBS="/x86_64-linux-gnu"
        fi

        for value in "${altphps[@]}"; do
            if [ -e "/opt/alt/${value}/etc/php.ini" ]; then
                if grep --silent i360 /opt/alt/${value}/etc/php.ini
                then
                    sed -i '/i360\./d' /opt/alt/${value}/etc/php.ini
                    sed -i '/\[i360\]/d' /opt/alt/${value}/etc/php.ini
                fi
            fi
            if [ -e "/opt/alt/${value}/etc/php.d/i360.ini" ]; then
              rm -f "/opt/alt/${value}/etc/php.d/i360.ini"
            fi
        done

        #detect native php if exists for Plesk
        if [ -e /usr/local/psa/version ]; then
            if [ -e /usr/bin/php ]; then
                VERS=$(/usr/bin/php --version | head -n1 | cut -d' ' -f2 | cut -c 1,3)
                INI_EXISTS=$(/usr/bin/php -i | grep "Scan this dir for additional .ini files" | cut -d"=" -f2 | tr ">" " " | sed 's/^ *//;s/ *$//')
                if [ -e "/opt/alt/php${VERS}/usr/lib${LIBS}/php/modules/" -a -n "$INI_EXISTS" -a -e "$INI_EXISTS" ]; then

                # Will purge i360.so just after i360.ini to avoing nonzero exit code from php -i
                  EXT_DIR=$(/usr/bin/php -i | grep -e "^extension_dir" | cut -d"=" -f2 | tr ">" " " | sed 's/^ *//;s/ *$//')

                #ICPD-675: Fix i360.so
                  INI_PATH=$(dirname $(dirname $(/usr/bin/php -i | grep "Scan this dir for additional .ini files" | cut -d"=" -f2 | tr ">" " " | sed 's/^ *//;s/ *$//')))
                  if [ -e /usr/sbin/phpdismod ];then
                    /usr/sbin/phpdismod i360
                  fi
                  while read ini_name; do
                    is_i360=$(echo "${INI_PATH}/mods-available/${ini_name}" | grep "i360.ini" | cat)
                    if [ -n "$is_i360" ];then
                        rm -f ${INI_PATH}/mods-available/${ini_name}
                    fi
                  done << EOF
                   $(ls -1 "${INI_PATH}/mods-available/")
EOF

                  if [ -e /etc/php.d/i360.ini ]; then
                    rm -f /etc/php.d/i360.ini
                  fi

                  if [ -e "${EXT_DIR}/i360.so" ]; then
                    rm -f ${EXT_DIR}/i360.so
                  fi
                fi
            fi
        fi

        # detect native php if exists for DA
        if [ -e /usr/local/directadmin/custombuild ]; then
          if [ -x /usr/share/i360-php/easyapache3/native_da.hook ]; then
            /usr/share/i360-php/easyapache3/native_da.hook --remove-i360
          fi

          for unit in $(systemctl list-units --state=running "php-fpm*" | grep "loaded active" | awk '{ print $1 }')
          do
            systemctl restart $unit
          done
        fi

        if is_cloudways; then
            if [ -x /usr/share/i360-php/native-php/install-clean.sh ]; then
              /usr/share/i360-php/native-php/install-clean.sh --uninstall-i360

              for unit in $(systemctl list-units --state=running "php-fpm*" | grep "loaded active" | awk '{ print $1 }')
              do
                systemctl restart $unit
              done
            fi
        fi

        for value in "${altphps[@]}"; do
            if [ -f /opt/alt/${value}/usr/lib${LIBS}/php/modules/i360.so ]; then
                rm -f /opt/alt/${value}/usr/lib${LIBS}/php/modules/i360.so
            fi
            if [ -f /opt/alt/${value}/etc/php.d.all/i360.ini ]; then
                rm -f /opt/alt/${value}/etc/php.d.all/i360.ini
            fi
        done
        rm -f /etc/cron.d/i360_pkg_watcher
        ;;
    upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
        ;;
    *)
        echo "postrm called with unknown argument \`$1'" >&2
        exit 1
        ;;
esac

exit 0