HEX
Server: Apache
System: Linux srv13.cpanelhost.cl 3.10.0-962.3.2.lve1.5.38.el7.x86_64 #1 SMP Thu Jun 18 05:28:41 EDT 2020 x86_64
User: cca63905 (4205)
PHP: 7.3.20
Disabled: NONE
Upload Files
File: /home4/cca63905/public_html/guiaweb/dev/build/debian/dolibarr.postrm
#!/bin/sh
# postrm script for dolibarr
#
# see: dh_installdeb(1)

# shellcheck disable=1091,2006,2034,2086,2089,2090

#set -e
set +e

# summary of how this script can be called:
#        * <postrm> `remove'
#        * <postrm> `purge'
#        * <old-postrm> `upgrade' <new-version>
#        * <new-postrm> `failed-upgrade' <old-version>
#        * <new-postrm> `abort-install'
#        * <new-postrm> `abort-install' <old-version>
#        * <new-postrm> `abort-upgrade' <old-version>
#        * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see /usr/share/doc/packaging-manual/



lighttpd_remove() {
	if [ -f /etc/lighttpd/conf-available/50-dolibarr.conf ] ; then
		echo "postrm Remove link for Lighttpd config file"
		rm -f /etc/lighttpd/conf-available/50-dolibarr.conf
		if which lighty-enable-mod >/dev/null 2>&1 ; then
			lighty-disable-mod dolibarr
		else
			echo "postrm Lighttpd not installed, skipping"
		fi
		# See bug #448682
		if [ -h /etc/lighttpd/conf-enabled/50-dolibarr.conf ] ; then
			echo "postrm Manually deleting lighttpd/dolibarr configuration link"
			rm /etc/lighttpd/conf-enabled/50-dolibarr.conf
		fi
	fi
}

apache_remove() {
	if [ -d /etc/$webserver/conf.d ] && [ -L /etc/$webserver/conf.d/dolibarr.conf ]; then
		echo "postrm Remove link for Apache config file"
		rm -f /etc/$webserver/conf.d/dolibarr.conf
	fi
}



if [ -f /usr/share/debconf/confmodule ]; then
	. /usr/share/debconf/confmodule
fi

db_version 2.0

echo Run the dolibarr postrm script


docdir='/var/lib/dolibarr/documents'
config="/etc/dolibarr/conf.php"
lockfile="$docdir/install.lock"



case "$1" in

		# Call when we upgrade
	upgrade)
		echo "postrm upgrade"
		;;

		# Call when we uninstall
	remove)
		echo "postrm remove"
		rm -f $lockfile

		# Reconfigure web server
		db_get dolibarr/reconfigure-webserver

		webservers="$RET"

		# Restart web servers
		for webserver in $webservers; do
			webserver=${webserver%,}
			if [ "$webserver" = "lighttpd" ] ; then
				lighttpd_remove
			else
				apache_remove $webserver
			fi
			# Redirection of 3 is needed because Debconf uses it and it might
			# be inherited by webserver. See bug #446324.
			if [ -f /etc/init.d/$webserver ] ; then
				if [ -x /usr/sbin/invoke-rc.d ]; then
					invoke-rc.d $webserver reload 3>/dev/null || true
				else
					/etc/init.d/$webserver reload 3>/dev/null || true
				fi
			fi
		done
		;;

		# Call when we uninstall and purge
	purge)
		echo "postrm purge"

		# Ask if we must delete database
		echo "postrm db_input dolibarr/postrm"
		db_input critical dolibarr/postrm || true
		db_go || true

		echo "postrm db_get dolibarr/postrm"
		# We disable set -e to avoid premature end of script if error
		set +e
		db_get dolibarr/postrm
		set -e

		if [ "$RET" = "true" ] ; then
			echo postrm Mysql database deletion
			# Get database configuration
			dbserver="localhost"
			dbuser="dolibarrdebian"
			dbname="dolibarrdebian"
			#db_get "dolibarr/db/name"
			#dbname="$RET"
			superuserlogin=''
			superuserpassword=''
			if [ -f /etc/mysql/debian.cnf ] ; then
				# Load superuser login and pass
				superuserlogin=$(grep --max-count=1 "user" /etc/mysql/debian.cnf | sed -e 's/^user[ =]*//g')
				superuserpassword=$(grep --max-count=1 "password" /etc/mysql/debian.cnf | sed -e 's/^password[ =]*//g')
			fi
			echo postrm Mysql superuser found to use is $superuserlogin
			dbadmin="$superuserlogin"
			dbadmpass="$superuserpassword"
			dbtype="mysql"

			# To delete a mysql user (disabled)
			# Needs:        $dbuser    - the user name to create (or replace).
			#               $dballow   - what hosts to allow (defaults to %).
			#               $dbname    - the database that user should have access to.
			#               $dbpass    - the password to use.
			#               $dbserver  - the server to connect to.
			#               $dbadmin   - the administrator name.
			#               $dbadmpass - the administrator password.
			#               which
			#               mysql
			#               /usr/share/wwwconfig-coomon/mysql.get
			#. /usr/share/wwwconfig-common/${dbtype}-dropuser.sh

			# To delete database
			# Needs:        $dbname    - the database that user should have access to.
			#               $dbserver  - the server to connect to.
			#               $dbadmin   - the administrator name.
			#               $dbadmpass - the administrator password.
			#               which
			#               mysql
			#               /usr/share/wwwconfig-common/mysql.get
			echo "postrm Delete database $dbname on server $dbserver using account $dbadmin"

			# Define mysqlcmd
			if [ -z "$dbserver" ] || [ "$dbserver" = "localhost" ]; then
				hostopt=""
				dbserver=localhost
			else
				case "$dbserver" in
					:*)
						dbsocket=`echo $dbserver | sed -e 's/^://'`
						hostopt="-S $dbsocket"
						;;
					*)
						hostopt="-h $dbserver"
						;;
				esac
			fi
			if [ -z "$dbadmpass" ] ; then
				log="${log}No password used."
				passopt=""
			else
				passopt="--password='"`echo "$dbadmpass" | sed -e "s/'/'"'"'"'"'"'"'/g"`"'"
			fi
			mysqlcmd="mysql $hostopt $passopt -u $dbadmin"
			mysqlcmdnopass="mysql $hostopt -u $dbadmin"

			# Now run the drop user
			if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'localhost';\"" ; then
				echo postrm Database login $dbuser@localhost removed
			else
				error="Unable to run $mysqlcmdnopass -f -e \"DROP USER '$dbuser'@'localhost';\""
				echo postrm $error
			fi
			if eval $mysqlcmd -f -e "\"DROP USER '$dbuser'@'%';\"" ; then
				echo postrm Database login $dbuser@% removed
			else
				error="Unable to run $mysqlcmdnopass -f -e \"DROP USER '$dbuser'@'%';\""
				echo postrm $error
			fi

			# Now run the drop commands
			if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then
				log="${log}Dropping database $dbname."
				if eval $mysqlcmd -f -e "\"DROP DATABASE $dbname;\"" ; then
					if eval $mysqlcmd -f -e "\"show databases;\"" | grep -e "^$dbname" > /dev/null 2>&1 ; then
						error="Database $dbname NOT successfully dropped. You have to do it manually."
						echo postrm $error
					else
						status=drop
					fi
				else
					error="Unable to run the drop database script."
					echo postrm $error
				fi
			else
				status=nothing
				log="${log}Database $dbname already not exists."
			fi

			echo "postrm Remove directory $docdir"
			rm -rf $docdir ;

		else
			echo "postrm Delete of dolibarr database and uploaded files not wanted"
		fi

		rm -rf /etc/dolibarr

		# We clean variable (we ignore errors because db_reset can fails if var was never set)
		set +e
		db_reset dolibarr/reconfigure-webserver
		db_reset dolibarr/postrm
		set -e

		#db_purge
		;;

	failed-upgrade|abort-install|abort-upgrade|disappear)
		;;

	*)
		echo "postrm called with unknown argument $1" >&2
		exit 0
		;;
esac

#DEBHELPER#

db_stop

exit 0