v-list-user-favourites 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. #!/bin/bash
  2. # info: list user favourites
  3. # options: USER [FORMAT]
  4. #
  5. # The function for getting the list of favourite user objects
  6. #----------------------------------------------------------#
  7. # Variable&Function #
  8. #----------------------------------------------------------#
  9. # Argument definition
  10. user=$1
  11. format=${2-shell}
  12. # Includes
  13. source $VESTA/func/main.sh
  14. # JSON list function
  15. json_list() {
  16. echo '{'
  17. echo ' "Favourites": {
  18. "USER": "'$USER'",
  19. "WEB": "'$WEB'",
  20. "DNS": "'$DN'",
  21. "DNS_REC": "'$DNS_REC'",
  22. "MAIL": "'$MAIL'",
  23. "MAIL_ACC": "'$MAIL_ACC'",
  24. "DB": "'$DB'",
  25. "CRON": "'$CRON'",
  26. "BACKUP": "'$BACKUP'",
  27. "IP": "'$IP'",
  28. "PACKAGE": "'$PACKAGE'",
  29. "FIREWALL": "'$FIREWALL'"
  30. }'
  31. echo '}'
  32. }
  33. # SHELL list function
  34. shell_list() {
  35. echo "USER: $USER"
  36. echo "WEB: $WEB"
  37. echo "DNS: $DNS"
  38. echo "DNS RECORD: $DNS_REC"
  39. echo "MAIL: $MAIL"
  40. echo "MAIL USER: $MAIL_ACC"
  41. echo "DATABASE: $DB"
  42. echo "CRON: $CRON"
  43. echo "BACKUP: $BACKUP"
  44. echo "IP: $IP"
  45. echo "PACKAGE: $PACKAGE"
  46. echo "FIREWALL: $FIREWALL"
  47. }
  48. # PLAIN list function
  49. plain_list() {
  50. echo -ne "$USER\t$WEB\t$DNS\t$DNS_REC\t$MAIL\t$MAIL_ACC\t$DB\t$CRON\t"
  51. echo -e "$BACKUP\t$IP\t$PACKAGE\t$FIREWALL"
  52. }
  53. # CSV list function
  54. csv_list() {
  55. echo -n "USER,WEB,DNS,DNS_REC,MAIL,MAIL_ACC,DB,CRON,BACKUP,IP,"
  56. echo "PACKAGE,FIREWALL"
  57. echo -n "\"$USER\",\"$WEB\",\"$DNS\",\"$DNS_REC\",\"$MAIL\","
  58. echo -n "\"$MAIL_ACC\",\"$DB\",\"$CRON\",\"$BACKUP\",\"$IP\","
  59. echo "\"$PACKAGE\",\"$FIREWALL\""
  60. }
  61. #----------------------------------------------------------#
  62. # Verifications #
  63. #----------------------------------------------------------#
  64. # Checking args
  65. check_args '1' "$#" 'USER [FORMAT]'
  66. is_format_valid 'user'
  67. is_object_valid 'user' 'USER' "$user"
  68. #----------------------------------------------------------#
  69. # Action #
  70. #----------------------------------------------------------#
  71. # Flushing vars
  72. USER=''
  73. WEB=''
  74. DNS=''
  75. DNS_REC=''
  76. MAIL=''
  77. MAIL_ACC=''
  78. DB=''
  79. CRON=''
  80. BACKUP=''
  81. IP=''
  82. PACKAGE=''
  83. FIREWALL=''
  84. # Parsing user favourites
  85. if [ -e "$VESTA/data/users/$user/favourites.conf" ]; then
  86. source $VESTA/data/users/$user/favourites.conf
  87. fi
  88. # Listing data
  89. case $format in
  90. json) json_list ;;
  91. plain) plain_list ;;
  92. csv) csv_list ;;
  93. shell) shell_list ;;
  94. esac
  95. #----------------------------------------------------------#
  96. # Vesta #
  97. #----------------------------------------------------------#
  98. exit