v-list-user-package 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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 $VESTA/func/main.sh
  15. # JSON list function
  16. json_list() {
  17. echo '{'
  18. echo ' "'$PACKAGE'": {
  19. "WEB_TEMPLATE": "'$WEB_TEMPLATE'",
  20. "PROXY_TEMPLATE": "'$PROXY_TEMPLATE'",
  21. "DNS_TEMPLATE": "'$DNS_TEMPLATE'",
  22. "WEB_DOMAINS": "'$WEB_DOMAINS'",
  23. "WEB_ALIASES": "'$WEB_ALIASES'",
  24. "DNS_DOMAINS": "'$DNS_DOMAINS'",
  25. "DNS_RECORDS": "'$DNS_RECORDS'",
  26. "MAIL_DOMAINS": "'$MAIL_DOMAINS'",
  27. "MAIL_ACCOUNTS": "'$MAIL_ACCOUNTS'",
  28. "DATABASES": "'$DATABASES'",
  29. "CRON_JOBS": "'$CRON_JOBS'",
  30. "DISK_QUOTA": "'$DISK_QUOTA'",
  31. "BANDWIDTH": "'$BANDWIDTH'",
  32. "NS": "'$NS'",
  33. "SHELL": "'$SHELL'",
  34. "BACKUPS": "'$BACKUPS'",
  35. "TIME": "'$TIME'",
  36. "DATE": "'$DATE'"
  37. }'
  38. echo '}'
  39. }
  40. # SHELL list function
  41. shell_list() {
  42. echo "PACKAGE: $PACKAGE"
  43. echo "WEB TEMPLATE: $WEB_TEMPLATE"
  44. echo "PROXY TEMPLATE: $PROXY_TEMPLATE"
  45. echo "DNS TEMPLATE: $DNS_TEMPLATE"
  46. echo "WEB DOMAINS: $WEB_DOMAINS"
  47. echo "WEB ALIASES: $WEB_ALIASES"
  48. echo "DNS DOMAINS: $DNS_DOMAINS"
  49. echo "DNS RECORDS: $DNS_RECORDS"
  50. echo "MAIL DOMAINS: $MAIL_DOMAINS"
  51. echo "MAIL ACCOUNTS: $MAIL_ACCOUNTS"
  52. echo "DATABASES: $DATABASES"
  53. echo "CRON JOBS: $CRON_JOBS"
  54. echo "DISK QUOTA: $DISK_QUOTA"
  55. echo "BANDWIDTH: $BANDWIDTH"
  56. echo "NS: $NS"
  57. echo "SHELL: $SHELL"
  58. echo "BACKUPS: $BACKUPS"
  59. echo "TIME: $TIME"
  60. echo "DATE: $DATE"
  61. }
  62. # PLAIN list function
  63. plain_list() {
  64. echo -ne "$PACKAGE\t$WEB_TEMPLATE\t$PROXY_TEMPLATE\t$DNS_TEMPLATE\t"
  65. echo -ne "$WEB_DOMAINS\t$WEB_ALIASES\t$DNS_DOMAINS\t$DNS_RECORDS\t"
  66. echo -ne "$MAIL_DOMAINS\t$MAIL_ACCOUNTS\t$DATABASES\t$CRON_JOBS\t"
  67. echo -e "$DISK_QUOTA\t$BANDWIDTH\t$NS\t$SHELL\t$BACKUPS\t$TIME\t$DATE"
  68. }
  69. # CSV list function
  70. csv_list() {
  71. echo -n "PACKAGE,WEB_TEMPLATE,PROXY_TEMPLATE,DNS_TEMPLATE,"
  72. echo -n "WEB_DOMAINS,WEB_ALIASES,DNS_DOMAINS,DNS_RECORDS,"
  73. echo -n "MAIL_DOMAINS,MAIL_ACCOUNTS,DATABASES,CRON_JOBS,"
  74. echo "DISK_QUOTA,BANDWIDTH,NS,SHELL,BACKUPS,TIME,DATE"
  75. echo -n "$PACKAGE,$WEB_TEMPLATE,$PROXY_TEMPLATE,$DNS_TEMPLATE,"
  76. echo -n "$WEB_DOMAINS,$WEB_ALIASES,$DNS_DOMAINS,$DNS_RECORDS,"
  77. echo -n "$MAIL_DOMAINS,$MAIL_ACCOUNTS,$DATABASES,$CRON_JOBS,"
  78. echo "$DISK_QUOTA,$BANDWIDTH,\"$NS\",$SHELL,$BACKUPS,$TIME,$DATE"
  79. }
  80. #----------------------------------------------------------#
  81. # Verifications #
  82. #----------------------------------------------------------#
  83. # Checking args
  84. check_args '1' "$#" 'PACKAGE [FORMAT]'
  85. is_format_valid 'package'
  86. is_package_valid
  87. #----------------------------------------------------------#
  88. # Action #
  89. #----------------------------------------------------------#
  90. # Parsing package
  91. source $VESTA/data/packages/$PACKAGE.pkg
  92. # Listing data
  93. case $format in
  94. json) json_list ;;
  95. plain) plain_list ;;
  96. csv) csv_list ;;
  97. shell) shell_list ;;
  98. esac
  99. #----------------------------------------------------------#
  100. # Vesta #
  101. #----------------------------------------------------------#
  102. exit