#!/bin/bash

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;93m'
MAGENTA='\033[0;35m'
NC='\033[0m' # No Color

config_dir="$HOME/.config/uncom/"
logfile="$config_dir/check_size.log"

. /usr/share/appdata/check-syslog-size.conf

function log() {
    echo $1 >> $logfile
}

echo -e "${GREEN}Checking syslog size${NC}"
[[ -d $config_dir ]] || {
    echo -e "${GREEN}Creating config directory${NC}"
    mkdir -p $config_dir
    echo "size: 0" > $config_dir/size_old
    echo "date:" `date +%s` >> $config_dir/size_old
    echo "date_human:" `date +%s` >> $config_dir/size_old
    log "Creating config directory:" `date`
}

size_now=`du -m /var/log/syslog | awk '{print $1}'`
date_now=`date +%s`
date_now_human=`date`
size_old=`cat $config_dir/size_old | grep "size:" | awk '{print $NF}'`
date_old=`cat $config_dir/size_old | grep "date:" | awk '{print $NF}'`
date_old_human=`cat $config_dir/size_old | grep "date_human:" | awk '{print $NF}'`

size_diff=`expr $size_now \- $size_old`

echo -e "${GREEN}Previous size: ${MAGENTA} $size_old Mb ${NC}"
echo -e "${GREEN}Current size:  ${MAGENTA} $size_now Mb ${NC}"
echo
echo -e "${GREEN}Diff:  ${MAGENTA} $size_diff Mb ${NC}"
echo -e "${GREEN}Limit: ${MAGENTA} $daily_grow Mb ${NC}"

log "Check date: $date_now_human"
log "Previous size: $size_old Mb"
log "Current size:  $size_now Mb"
log "Diff:  $size_diff Mb"
log "Limit: $daily_grow Mb"

echo "size: $size_now" > $config_dir/size_old
echo "date: $date_now" >> $config_dir/size_old
echo "date_human: $date_now_human" >> $config_dir/size_old

if [[ $size_diff -lt $daily_grow ]]
then echo -e "${GREEN} OK, exit ${NC}"
    log ""
    exit 0
else echo "${RED} Growing too fast, proceed ${NC}"
    log "Growing too fast, show alert triggerred"
fi

echo $LANG | grep "ru_" ; code=$?
if [ $code -eq 0 ]
then
    title="Внимание"
    text1="Размер системного журнала увеличивается слишком быстро.\nРекомендуем обратиться в поддержку: http://t.me/uncomos"
    text2="Написать сейчас?"
else
    title="Warning"
    text1="System logs are growing unexpectedly. Please contact the support: http://t.me/uncomos"
    text2="Do you want write now?"
fi

zenity  --width=384 --height=128 --question --title "$title"  --text "$text1\n\n$text2"; code=$?
if [ $code -eq 0 ]
    then echo "Proceeding..."
        log "Support link opened"
        log ""
    else echo "Exiting..."
        log "Alert ignored"
        log ""
        exit 1
fi

/usr/bin/xdg-open http://t.me/uncomos 2>&1 | grep "" > /dev/null
