#!/bin/bash
#
# Copyright (C) 2002-2021  AfterLogic Corp. (www.afterlogic.com)
# Distributed under the terms of the license described in LICENSE
#

CPANEL_WEBMAIL_DIR="/usr/local/cpanel/base/3rdparty"
PACKAGE_DIR="$CPANEL_WEBMAIL_DIR/afterlogic/webmail"
PACKAGE_OWNER="root"
MYSQL_CONFIG="/root/.my.cnf"

. ./cPanel/messages

if [ ! -z $VERSION_TYPE ]; then
    . ./cPanel/$VERSION_TYPE/functions
fi

function print_platform_usage {
    echo -e "$PLATFORM_USAGE"
}

function init_platform {
    local CPANEL_SERVICE="/etc/init.d/cpanel"
    local CPANEL_SYSTEMD="/etc/systemd/system/cpanel.service"
    if [[ ! -d $CPANEL_WEBMAIL_DIR || ! -f $CPANEL_SERVICE && ! -f $CPANEL_SYSTEMD ]]; then
	echo $PLATFORM_NOT_CPANEL
	return 1
    fi

    return 0
}

function patch_package {
    local WORK_DIR=$1
    cp -Rf ./cPanel/patches/* $WORK_DIR
    sed -i  's/$this->sDataPath.$this->sPath/getenv(\x27HOME\x27).\x27\x2ftmp\x2f\x27/g' $WORK_DIR/system/Managers/Filecache/Storage.php
    return 0
}


function check_installed_package {
    local WORK_DIR=$1
    local PAR_DIR="$(dirname "$WORK_DIR")"
    if [ ! -d $PAR_DIR ]; then
	return 1
    fi
}


function install_action {
    require "SOURCE" "PACKAGE_DIR" "PACKAGE_OWNER" "MYSQL_CONFIG"
    if [ $? -gt 0 ]; then
	return 1
    fi
    
    install_package $SOURCE $PACKAGE_DIR $PACKAGE_OWNER $MYSQL_CONFIG
    if [ $? -gt 0 ]; then
	return 1
    fi
    
    print_footer
}

function upgrade_action {
    require "SOURCE" "PACKAGE_DIR" "PACKAGE_OWNER"
    if [ $? -gt 0 ]; then
	return 1
    fi
    
    upgrade_package $SOURCE $PACKAGE_DIR $PACKAGE_OWNER
    
    return $?
}

function remove_action {
    require "PACKAGE_DIR" "MYSQL_CONFIG"
    local PAR_DIR="$(dirname "$PACKAGE_DIR")"
    if [ $? -gt 0 ]; then
	return 1
    fi
    
    if [ ! -d $PACKAGE_DIR ] && [ ! -d $PAR_DIR ]; then
	echo "$NOT_INSTALLED_MSG: $PACKAGE_DIR"
	return 1
    fi
    
    remove_package $PACKAGE_DIR $MYSQL_CONFIG
    rm -rf "/var/cpanel/webmail/webmail_afterlogic.yaml"

    return 0 
}
