v-list-user-package 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #!/bin/bash
  2. # info: list user package
  3. # options: PACKAGE [FORMAT]
  4. #
  5. # The function for getting the list of system ip parameters.
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. package=$1
  11. PACKAGE=$package
  12. format=${2-shell}
  13. # Includes
  14. source $HESTIA/func/main.sh
  15. # JSON list function
  16. json_list() {
  17. echo '{'
  18. echo ' "'$PACKAGE'": {
  19. "WEB_TEMPLATE": "'$WEB_TEMPLATE'",
  20. "BACKEND_TEMPLATE": "'$BACKEND_TEMPLATE'",
  21. "PROXY_TEMPLATE": "'$PROXY_TEMPLATE'",
  22. "DNS_TEMPLATE": "'$DNS_TEMPLATE'",
  23. "WEB_DOMAINS": "'$WEB_DOMAINS'",
  24. "WEB_ALIASES": "'$WEB_ALIASES'",
  25. "DNS_DOMAINS": "'$DNS_DOMAINS'",
  26. "DNS_RECORDS": "'$DNS_RECORDS'",
  27. "MAIL_DOMAINS": "'$MAIL_DOMAINS'",
  28. "MAIL_ACCOUNTS": "'$MAIL_ACCOUNTS'",
  29. "DATABASES": "'$DATABASES'",
  30. "CRON_JOBS": "'$CRON_JOBS'",
  31. "DISK_QUOTA": "'$DISK_QUOTA'",
  32. "BANDWIDTH": "'$BANDWIDTH'",
  33. "NS": "'$NS'",
  34. "SHELL": "'$SHELL'",
  35. "BACKUPS": "'$BACKUPS'",
  36. "TIME": "'$TIME'",
  37. "DATE": "'$DATE'"
  38. }'
  39. echo '}'
  40. }
  41. # SHELL list function
  42. shell_list() {
  43. echo "PACKAGE: $PACKAGE"
  44. echo "WEB TEMPLATE: $WEB_TEMPLATE"
  45. echo "BACKEND TEMPLATE: $BACKEND_TEMPLATE"
  46. echo "PROXY TEMPLATE: $PROXY_TEMPLATE"
  47. echo "DNS TEMPLATE: $DNS_TEMPLATE"
  48. echo "WEB DOMAINS: $WEB_DOMAINS"
  49. echo "WEB ALIASES: $WEB_ALIASES"
  50. echo "DNS DOMAINS: $DNS_DOMAINS"
  51. echo "DNS RECORDS: $DNS_RECORDS"
  52. echo "MAIL DOMAINS: $MAIL_DOMAINS"
  53. echo "MAIL ACCOUNTS: $MAIL_ACCOUNTS"
  54. echo "DATABASES: $DATABASES"
  55. echo "CRON JOBS: $CRON_JOBS"
  56. echo "DISK QUOTA: $DISK_QUOTA"
  57. echo "BANDWIDTH: $BANDWIDTH"
  58. echo "NS: $NS"
  59. echo "SHELL: $SHELL"
  60. echo "BACKUPS: $BACKUPS"
  61. echo "TIME: $TIME"
  62. echo "DATE: $DATE"
  63. }
  64. # PLAIN list function
  65. plain_list() {
  66. echo -ne "$PACKAGE\t$WEB_TEMPLATE\t$BACKEND_TEMPLATE\t$PROXY_TEMPLATE\t$DNS_TEMPLATE\t"
  67. echo -ne "$WEB_DOMAINS\t$WEB_ALIASES\t$DNS_DOMAINS\t$DNS_RECORDS\t"
  68. echo -ne "$MAIL_DOMAINS\t$MAIL_ACCOUNTS\t$DATABASES\t$CRON_JOBS\t"
  69. echo -e "$DISK_QUOTA\t$BANDWIDTH\t$NS\t$SHELL\t$BACKUPS\t$TIME\t$DATE"
  70. }
  71. # CSV list function
  72. csv_list() {
  73. echo -n "PACKAGE,WEB_TEMPLATE,BACKEND_TEMPLATE,PROXY_TEMPLATE,DNS_TEMPLATE,"
  74. echo -n "WEB_DOMAINS,WEB_ALIASES,DNS_DOMAINS,DNS_RECORDS,"
  75. echo -n "MAIL_DOMAINS,MAIL_ACCOUNTS,DATABASES,CRON_JOBS,"
  76. echo "DISK_QUOTA,BANDWIDTH,NS,SHELL,BACKUPS,TIME,DATE"
  77. echo -n "$PACKAGE,$WEB_TEMPLATE,$BACKEND_TEMPLATE,$PROXY_TEMPLATE,$DNS_TEMPLATE,"
  78. echo -n "$WEB_DOMAINS,$WEB_ALIASES,$DNS_DOMAINS,$DNS_RECORDS,"
  79. echo -n "$MAIL_DOMAINS,$MAIL_ACCOUNTS,$DATABASES,$CRON_JOBS,"
  80. echo "$DISK_QUOTA,$BANDWIDTH,\"$NS\",$SHELL,$BACKUPS,$TIME,$DATE"
  81. }
  82. #----------------------------------------------------------#
  83. # Verifications #
  84. #----------------------------------------------------------#
  85. # Checking args
  86. check_args '1' "$#" 'PACKAGE [FORMAT]'
  87. is_format_valid 'package'
  88. is_package_valid
  89. #----------------------------------------------------------#
  90. # Action #
  91. #----------------------------------------------------------#
  92. # Parsing package
  93. source $HESTIA/data/packages/$PACKAGE.pkg
  94. # Listing data
  95. case $format in
  96. json) json_list ;;
  97. plain) plain_list ;;
  98. csv) csv_list ;;
  99. shell) shell_list ;;
  100. esac
  101. #----------------------------------------------------------#
  102. # Hestia #
  103. #----------------------------------------------------------#
  104. exit