#!/bin/bash

########################################################
######################################################## 
# installer for simple management a docker container  ##
# Author: Désiré Werner Menrath                       ##
# Email: polunga40@unity-mail.de                      ##
# Translate German to English with LibreTranslate     ##
# Translatefiles edit with Poedit                     ##
# Use without warranty!                               ##
######################################################## 
########################################################

Encoding=UTF-8

# i18n - Internationalization - Internationalisierung

export TEXTDOMAIN=clidmanager
export TEXTDOMAINDIR="/usr/share/locale"

############################################################################################################ 
############################################################################################################ 

isgroup=$(cat /etc/group | grep docker)

install() {

    exists=$(grep -i "alias dm='sudo clidmanager'" ~/.bashrc) 
    if [ $? -ne 0 ]
        then
            echo "alias dm='sudo clidmanager'" >> ~/.bashrc
    exists=$(grep -i "alias clidmanager='sudo clidmanager'" ~/.bashrc)        
    elif [ $? -ne 0 ]
        then
            echo "alias clidmanager='sudo clidmanager'" >> ~/.bashrc
    exists=$(grep -i "alias dw='source docker_work'" ~/.bashrc)
    elif [ $? -ne 0 ]
        then
            echo "alias dw='source docker_work'" >> ~/.bashrc 
    fi              
    echo "$USER ALL = NOPASSWD:/usr/local/bin/clidmanager" > no_pwd_clidmanager 

    sudo chown 0:0 no_pwd_clidmanager

    sudo cp -f clidmanager docker_work /usr/local/bin/ && sudo mv no_pwd_clidmanager /etc/sudoers.d/
    echo
    echo "clidmanager intalliert."
    echo
    echo "Es wurden aliase angelegt..."
    echo
    echo "Bei der nächten anmeldung können sie clidmanager"
    echo
    echo "entweder über clidmanager oder über dm aufrufen."
    echo

    read -p "Enter zum beenden drücken..."

}

remove() {

    sed -i -e /"alias dm='sudo clidmanager'"/d ~/.bashrc && \
    sed -i -e /"alias clidmanager='sudo clidmanager'"/d ~/.bashrc && \
    sed -i -e /"alias dw='source docker_work'"/d ~/.bashrc 
    sudo rm -f /usr/local/bin/clidmanager docker_work && sudo rm /etc/sudoers.d/no_pwd_clidmanager
    sudo usermod -rG docker $USER
    echo
    echo "clidmanager deintalliert."
    echo
    read -p "Enter zum beenden drücken..."

}

which clidmanager >/dev/null
if [ $? -eq 0 ]
    then
        echo "Möchten sie updaten/reinstallieren oder clidmanager deinstallieren?"
        echo
        read -n 1 -s -r -p "Update/reinstall: y drücken, deinstallieren r drücken" result
        echo
        echo "Abbruch mit jeder anderen Taste..."  
        case $result in
            [y]* ) clear; install; exit;;
            [Y]* ) clear; install; exit;;
            [j]* ) clear; install; exit;;
            [J]* ) clear; install; exit;;
            [r]* ) clear; remove; exit;;
            [R]* ) clear; remove; exit;;

        esac
else 
    docker compose version
    if [ $? -ne 0 ]
        then
        echo "Docker Compose wird für die verwendung von clidmanager benötigt."
        echo "Bitte das Paket docker compose installieren."
        read -p "Zum beenden Enter drücken"
        exit 0
    else
        install
        if [ -z $isgroup ]
            then
                sudo usermod -aG docker $USER
        fi
    fi
fi