diff --git a/PhpUpdater.sh b/PhpUpdater.sh new file mode 100644 index 0000000..5d27adb --- /dev/null +++ b/PhpUpdater.sh @@ -0,0 +1,86 @@ +#sysCheck +if [ ! -f "/etc/ICTM/selopts.list" ] || [ ! -f "/etc/ICTM/mainvar.list" ] ; then echo 'This system is not yet setup, please run the main installer first' && exit ; fi + +PKGI="${PKGM} install -y --no-install-recommends" +#Getting variables +source /etc/ICTM/mainvar.list +PPAversion=`apt list php | egrep -o "([0-9]{1,}.)+[0-9]{1,}" | cut -c 3-` && PPAversion=`echo $PPAversion | awk '{print $1; }' | cut -f1 -d"+"` + +msg () { + if [ $IMODE = n ]; then + TERM=ansi whiptail --title "Info" --infobox "$1" 8 52 + fi + if [ $IMODE = l ]; then + echo "$1" + fi +} + + +if [ $IMODE = n ]; then + # Legacy/Main Menu + PKGP="debconf-apt-progress -- apt purge -y" + + #Menu + if (whiptail --title "Set new php version?" --yesno "Install php version $PPAversion ?" 8 78); then + newphpver=$PPAversion + else + newphpver=$(whiptail --inputbox "Please enter the version to install" --title "Custom" 8 39 3>&1 1>&2 2>&3) + fi + + #Install + apt list --installed | less | grep php$phpver | cut -f1 -d"/" | sed "s/$phpver/$newphpver/" | xargs $PKGI + + #Config + cp /etc/php/$phpver/fpm/pool.d/* /etc/php/$newphpver/fpm/pool.d/* + + #Purge + if (whiptail --title "Set new php version?" --yesno "Remove php $phpver ?" 8 78); then + PhpPurge=1 + $PKGP -y php$phpver* + else + PhpPurge=0 + fi +fi + +if [ $IMODE = l ]; then + # Legacy/Main Menu + PKGP="apt purge -y" + + #Menu + while true; do + read -p "Set phpversion to version $PPAversion ? -> yes/no?" yn + case $yn in + [Yy]* ) newphpver=$PPAversion + break;; + [Nn]* ) echo ""; + echo "Please enter php version to install:";read newphpver + break;; + * ) echo "Choose yes of no.";; + esac + done + + #Install + apt list --installed | less | grep php$phpver | cut -f1 -d"/" | sed "s/$phpver/$newphpver/" | xargs $PKGI + + #Config + cp /etc/php/$phpver/fpm/pool.d/* /etc/php/$newphpver/fpm/pool.d/* + + #Purge + while true; do + read -p "Remove php $phpver ? -> yes/no?" yn + case $yn in + [Yy]* ) PhpPurge=1 ; $PKGP php$phpver* + break;; + [Nn]* ) PhpPurge=0 ; echo "" + break;; + * ) echo "Choose yes of no.";; + esac + done +fi + +systemctl reload php$newphpver +sed -i "/phpver/c\phpver=\"$newphpver\"" /etc/ICTM/mainvar.list + +if curl --retry 2 --retry-delay 1 --output /dev/null --silent --head --fail "$repo"/raw/branch/"$branch"/CoreModules/"$webserv"/phpupdate-handeler.sh; then + source <(curl --retry 7 --retry-delay 5 -s "$repo"/raw/branch/"$branch"/CoreModules/"$webserv"/phpupdate-handeler.sh) +fi \ No newline at end of file