v-delete-user-package 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. # info: delete user package
  3. # options: PACKAGE
  4. # labels: panel
  5. #
  6. # example: v-delete-user-package admin palegreen
  7. #
  8. # The function for deleting user package. It does not allow to delete package
  9. # if it is in use.
  10. #----------------------------------------------------------#
  11. # Variable&Function #
  12. #----------------------------------------------------------#
  13. # Argument definition
  14. package=$1
  15. # Includes
  16. # shellcheck source=/usr/local/hestia/func/main.sh
  17. source $HESTIA/func/main.sh
  18. # shellcheck source=/usr/local/hestia/conf/hestia.conf
  19. source $HESTIA/conf/hestia.conf
  20. # Functions
  21. is_package_in_use() {
  22. check_package=$(grep "PACKAGE='$package'" $USER_DATA/*/user.conf)
  23. if [ ! -z "$check_package" ]; then
  24. echo "Error: package $package is in use"
  25. log_event "$E_INUSE" "$ARGUMENTS"
  26. exit $E_INUSE
  27. fi
  28. }
  29. #----------------------------------------------------------#
  30. # Verifications #
  31. #----------------------------------------------------------#
  32. check_args '1' "$#" 'PACKAGE'
  33. is_format_valid 'package'
  34. is_package_valid
  35. is_package_in_use
  36. # Perform verification if read-only mode is enabled
  37. check_hestia_demo_mode
  38. #----------------------------------------------------------#
  39. # Action #
  40. #----------------------------------------------------------#
  41. # Deleting user package
  42. rm -f $HESTIA/data/packages/$package.pkg
  43. #----------------------------------------------------------#
  44. # Hestia #
  45. #----------------------------------------------------------#
  46. log_history "deleted user package $package" '' 'admin'
  47. log_event "$OK" "$ARGUMENTS"
  48. exit