module_settings_act_thumbnails.go 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. package modules
  2. import (
  3. "os"
  4. "path/filepath"
  5. "strconv"
  6. "golang-fave/engine/wrapper"
  7. "golang-fave/utils"
  8. )
  9. func (this *Modules) RegisterAction_SettingsThumbnails() *Action {
  10. return this.newAction(AInfo{
  11. WantDB: true,
  12. Mount: "settings-thumbnails",
  13. WantAdmin: true,
  14. }, func(wrap *wrapper.Wrapper) {
  15. pf_shop_thumbnail_w_1 := wrap.R.FormValue("shop-thumbnail-w-1")
  16. pf_shop_thumbnail_h_1 := wrap.R.FormValue("shop-thumbnail-h-1")
  17. pf_shop_thumbnail_r_1 := wrap.R.FormValue("shop-thumbnail-r-1")
  18. pf_shop_thumbnail_w_2 := wrap.R.FormValue("shop-thumbnail-w-2")
  19. pf_shop_thumbnail_h_2 := wrap.R.FormValue("shop-thumbnail-h-2")
  20. pf_shop_thumbnail_r_2 := wrap.R.FormValue("shop-thumbnail-r-2")
  21. pf_shop_thumbnail_w_3 := wrap.R.FormValue("shop-thumbnail-w-3")
  22. pf_shop_thumbnail_h_3 := wrap.R.FormValue("shop-thumbnail-h-3")
  23. pf_shop_thumbnail_r_3 := wrap.R.FormValue("shop-thumbnail-r-3")
  24. pf_shop_thumbnail_w_full := wrap.R.FormValue("shop-thumbnail-w-full")
  25. pf_shop_thumbnail_h_full := wrap.R.FormValue("shop-thumbnail-h-full")
  26. pf_shop_thumbnail_r_full := wrap.R.FormValue("shop-thumbnail-r-full")
  27. if _, err := strconv.Atoi(pf_shop_thumbnail_w_1); err != nil {
  28. wrap.MsgError(`Must be integer number`)
  29. return
  30. }
  31. if _, err := strconv.Atoi(pf_shop_thumbnail_h_1); err != nil {
  32. wrap.MsgError(`Must be integer number`)
  33. return
  34. }
  35. if _, err := strconv.Atoi(pf_shop_thumbnail_r_1); err != nil {
  36. wrap.MsgError(`Must be integer number`)
  37. return
  38. }
  39. if _, err := strconv.Atoi(pf_shop_thumbnail_w_2); err != nil {
  40. wrap.MsgError(`Must be integer number`)
  41. return
  42. }
  43. if _, err := strconv.Atoi(pf_shop_thumbnail_h_2); err != nil {
  44. wrap.MsgError(`Must be integer number`)
  45. return
  46. }
  47. if _, err := strconv.Atoi(pf_shop_thumbnail_r_2); err != nil {
  48. wrap.MsgError(`Must be integer number`)
  49. return
  50. }
  51. if _, err := strconv.Atoi(pf_shop_thumbnail_w_3); err != nil {
  52. wrap.MsgError(`Must be integer number`)
  53. return
  54. }
  55. if _, err := strconv.Atoi(pf_shop_thumbnail_h_3); err != nil {
  56. wrap.MsgError(`Must be integer number`)
  57. return
  58. }
  59. if _, err := strconv.Atoi(pf_shop_thumbnail_r_3); err != nil {
  60. wrap.MsgError(`Must be integer number`)
  61. return
  62. }
  63. if _, err := strconv.Atoi(pf_shop_thumbnail_w_full); err != nil {
  64. wrap.MsgError(`Must be integer number`)
  65. return
  66. }
  67. if _, err := strconv.Atoi(pf_shop_thumbnail_h_full); err != nil {
  68. wrap.MsgError(`Must be integer number`)
  69. return
  70. }
  71. if _, err := strconv.Atoi(pf_shop_thumbnail_r_full); err != nil {
  72. wrap.MsgError(`Must be integer number`)
  73. return
  74. }
  75. pfi_shop_thumbnail_w_1 := utils.StrToInt(pf_shop_thumbnail_w_1)
  76. pfi_shop_thumbnail_h_1 := utils.StrToInt(pf_shop_thumbnail_h_1)
  77. pfi_shop_thumbnail_r_1 := utils.StrToInt(pf_shop_thumbnail_r_1)
  78. pfi_shop_thumbnail_w_2 := utils.StrToInt(pf_shop_thumbnail_w_2)
  79. pfi_shop_thumbnail_h_2 := utils.StrToInt(pf_shop_thumbnail_h_2)
  80. pfi_shop_thumbnail_r_2 := utils.StrToInt(pf_shop_thumbnail_r_2)
  81. pfi_shop_thumbnail_w_3 := utils.StrToInt(pf_shop_thumbnail_w_3)
  82. pfi_shop_thumbnail_h_3 := utils.StrToInt(pf_shop_thumbnail_h_3)
  83. pfi_shop_thumbnail_r_3 := utils.StrToInt(pf_shop_thumbnail_r_3)
  84. pfi_shop_thumbnail_w_full := utils.StrToInt(pf_shop_thumbnail_w_full)
  85. pfi_shop_thumbnail_h_full := utils.StrToInt(pf_shop_thumbnail_h_full)
  86. pfi_shop_thumbnail_r_full := utils.StrToInt(pf_shop_thumbnail_r_full)
  87. // Correct some values
  88. if pfi_shop_thumbnail_w_1 < 10 {
  89. pfi_shop_thumbnail_w_1 = 10
  90. }
  91. if pfi_shop_thumbnail_h_1 > 1000 {
  92. pfi_shop_thumbnail_h_1 = 1000
  93. }
  94. if pfi_shop_thumbnail_r_1 > 1 {
  95. pfi_shop_thumbnail_r_1 = 1
  96. }
  97. if pfi_shop_thumbnail_r_1 < 0 {
  98. pfi_shop_thumbnail_r_1 = 0
  99. }
  100. if pfi_shop_thumbnail_w_2 < 10 {
  101. pfi_shop_thumbnail_w_2 = 10
  102. }
  103. if pfi_shop_thumbnail_h_2 > 1000 {
  104. pfi_shop_thumbnail_h_2 = 1000
  105. }
  106. if pfi_shop_thumbnail_r_2 > 1 {
  107. pfi_shop_thumbnail_r_2 = 1
  108. }
  109. if pfi_shop_thumbnail_r_2 < 0 {
  110. pfi_shop_thumbnail_r_2 = 0
  111. }
  112. if pfi_shop_thumbnail_w_3 < 10 {
  113. pfi_shop_thumbnail_w_3 = 10
  114. }
  115. if pfi_shop_thumbnail_h_3 > 1000 {
  116. pfi_shop_thumbnail_h_3 = 1000
  117. }
  118. if pfi_shop_thumbnail_r_3 > 1 {
  119. pfi_shop_thumbnail_r_3 = 1
  120. }
  121. if pfi_shop_thumbnail_r_3 < 0 {
  122. pfi_shop_thumbnail_r_3 = 0
  123. }
  124. if pfi_shop_thumbnail_w_full < 10 {
  125. pfi_shop_thumbnail_w_full = 10
  126. }
  127. if pfi_shop_thumbnail_h_full > 1000 {
  128. pfi_shop_thumbnail_h_full = 1000
  129. }
  130. if pfi_shop_thumbnail_r_full > 1 {
  131. pfi_shop_thumbnail_r_full = 1
  132. }
  133. if pfi_shop_thumbnail_r_full < 0 {
  134. pfi_shop_thumbnail_r_full = 0
  135. }
  136. (*wrap.Config).Shop.Thumbnails.Thumbnail1[0] = pfi_shop_thumbnail_w_1
  137. (*wrap.Config).Shop.Thumbnails.Thumbnail1[1] = pfi_shop_thumbnail_h_1
  138. (*wrap.Config).Shop.Thumbnails.Thumbnail1[2] = pfi_shop_thumbnail_r_1
  139. (*wrap.Config).Shop.Thumbnails.Thumbnail2[0] = pfi_shop_thumbnail_w_2
  140. (*wrap.Config).Shop.Thumbnails.Thumbnail2[1] = pfi_shop_thumbnail_h_2
  141. (*wrap.Config).Shop.Thumbnails.Thumbnail2[2] = pfi_shop_thumbnail_r_2
  142. (*wrap.Config).Shop.Thumbnails.Thumbnail3[0] = pfi_shop_thumbnail_w_3
  143. (*wrap.Config).Shop.Thumbnails.Thumbnail3[1] = pfi_shop_thumbnail_h_3
  144. (*wrap.Config).Shop.Thumbnails.Thumbnail3[2] = pfi_shop_thumbnail_r_3
  145. (*wrap.Config).Shop.Thumbnails.ThumbnailFull[0] = pfi_shop_thumbnail_w_full
  146. (*wrap.Config).Shop.Thumbnails.ThumbnailFull[1] = pfi_shop_thumbnail_h_full
  147. (*wrap.Config).Shop.Thumbnails.ThumbnailFull[2] = pfi_shop_thumbnail_r_full
  148. if err := wrap.ConfigSave(); err != nil {
  149. wrap.MsgError(err.Error())
  150. return
  151. }
  152. // Reset products images cache
  153. pattern := wrap.DHtdocs + string(os.PathSeparator) + "products" + string(os.PathSeparator) + "images" + string(os.PathSeparator) + "*" + string(os.PathSeparator) + "thumb-*"
  154. if files, err := filepath.Glob(pattern); err == nil {
  155. for _, file := range files {
  156. if err := os.Remove(file); err != nil {
  157. wrap.LogError("[settings save] Thumbnail file (%s) delete error: %s", file, err.Error())
  158. }
  159. }
  160. }
  161. // Reload current page
  162. wrap.Write(`window.location.reload(false);`)
  163. })
  164. }