module_settings_act_thumbnails.go 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. package modules
  2. import (
  3. "strconv"
  4. "golang-fave/engine/utils"
  5. "golang-fave/engine/wrapper"
  6. )
  7. func (this *Modules) RegisterAction_SettingsThumbnails() *Action {
  8. return this.newAction(AInfo{
  9. WantDB: true,
  10. Mount: "settings-thumbnails",
  11. WantAdmin: true,
  12. }, func(wrap *wrapper.Wrapper) {
  13. pf_shop_thumbnail_w_1 := utils.Trim(wrap.R.FormValue("shop-thumbnail-w-1"))
  14. pf_shop_thumbnail_h_1 := utils.Trim(wrap.R.FormValue("shop-thumbnail-h-1"))
  15. pf_shop_thumbnail_r_1 := utils.Trim(wrap.R.FormValue("shop-thumbnail-r-1"))
  16. pf_shop_thumbnail_w_2 := utils.Trim(wrap.R.FormValue("shop-thumbnail-w-2"))
  17. pf_shop_thumbnail_h_2 := utils.Trim(wrap.R.FormValue("shop-thumbnail-h-2"))
  18. pf_shop_thumbnail_r_2 := utils.Trim(wrap.R.FormValue("shop-thumbnail-r-2"))
  19. pf_shop_thumbnail_w_3 := utils.Trim(wrap.R.FormValue("shop-thumbnail-w-3"))
  20. pf_shop_thumbnail_h_3 := utils.Trim(wrap.R.FormValue("shop-thumbnail-h-3"))
  21. pf_shop_thumbnail_r_3 := utils.Trim(wrap.R.FormValue("shop-thumbnail-r-3"))
  22. pf_shop_thumbnail_w_full := utils.Trim(wrap.R.FormValue("shop-thumbnail-w-full"))
  23. pf_shop_thumbnail_h_full := utils.Trim(wrap.R.FormValue("shop-thumbnail-h-full"))
  24. pf_shop_thumbnail_r_full := utils.Trim(wrap.R.FormValue("shop-thumbnail-r-full"))
  25. if _, err := strconv.Atoi(pf_shop_thumbnail_w_1); err != nil {
  26. wrap.MsgError(`Must be integer number`)
  27. return
  28. }
  29. if _, err := strconv.Atoi(pf_shop_thumbnail_h_1); err != nil {
  30. wrap.MsgError(`Must be integer number`)
  31. return
  32. }
  33. if _, err := strconv.Atoi(pf_shop_thumbnail_r_1); err != nil {
  34. wrap.MsgError(`Must be integer number`)
  35. return
  36. }
  37. if _, err := strconv.Atoi(pf_shop_thumbnail_w_2); err != nil {
  38. wrap.MsgError(`Must be integer number`)
  39. return
  40. }
  41. if _, err := strconv.Atoi(pf_shop_thumbnail_h_2); err != nil {
  42. wrap.MsgError(`Must be integer number`)
  43. return
  44. }
  45. if _, err := strconv.Atoi(pf_shop_thumbnail_r_2); err != nil {
  46. wrap.MsgError(`Must be integer number`)
  47. return
  48. }
  49. if _, err := strconv.Atoi(pf_shop_thumbnail_w_3); err != nil {
  50. wrap.MsgError(`Must be integer number`)
  51. return
  52. }
  53. if _, err := strconv.Atoi(pf_shop_thumbnail_h_3); err != nil {
  54. wrap.MsgError(`Must be integer number`)
  55. return
  56. }
  57. if _, err := strconv.Atoi(pf_shop_thumbnail_r_3); err != nil {
  58. wrap.MsgError(`Must be integer number`)
  59. return
  60. }
  61. if _, err := strconv.Atoi(pf_shop_thumbnail_w_full); err != nil {
  62. wrap.MsgError(`Must be integer number`)
  63. return
  64. }
  65. if _, err := strconv.Atoi(pf_shop_thumbnail_h_full); err != nil {
  66. wrap.MsgError(`Must be integer number`)
  67. return
  68. }
  69. if _, err := strconv.Atoi(pf_shop_thumbnail_r_full); err != nil {
  70. wrap.MsgError(`Must be integer number`)
  71. return
  72. }
  73. pfi_shop_thumbnail_w_1 := utils.StrToInt(pf_shop_thumbnail_w_1)
  74. pfi_shop_thumbnail_h_1 := utils.StrToInt(pf_shop_thumbnail_h_1)
  75. pfi_shop_thumbnail_r_1 := utils.StrToInt(pf_shop_thumbnail_r_1)
  76. pfi_shop_thumbnail_w_2 := utils.StrToInt(pf_shop_thumbnail_w_2)
  77. pfi_shop_thumbnail_h_2 := utils.StrToInt(pf_shop_thumbnail_h_2)
  78. pfi_shop_thumbnail_r_2 := utils.StrToInt(pf_shop_thumbnail_r_2)
  79. pfi_shop_thumbnail_w_3 := utils.StrToInt(pf_shop_thumbnail_w_3)
  80. pfi_shop_thumbnail_h_3 := utils.StrToInt(pf_shop_thumbnail_h_3)
  81. pfi_shop_thumbnail_r_3 := utils.StrToInt(pf_shop_thumbnail_r_3)
  82. pfi_shop_thumbnail_w_full := utils.StrToInt(pf_shop_thumbnail_w_full)
  83. pfi_shop_thumbnail_h_full := utils.StrToInt(pf_shop_thumbnail_h_full)
  84. pfi_shop_thumbnail_r_full := utils.StrToInt(pf_shop_thumbnail_r_full)
  85. // Correct some values
  86. if pfi_shop_thumbnail_w_1 < 10 {
  87. pfi_shop_thumbnail_w_1 = 10
  88. }
  89. if pfi_shop_thumbnail_h_1 > 1000 {
  90. pfi_shop_thumbnail_h_1 = 1000
  91. }
  92. if pfi_shop_thumbnail_r_1 > 2 {
  93. pfi_shop_thumbnail_r_1 = 1
  94. }
  95. if pfi_shop_thumbnail_r_1 < 0 {
  96. pfi_shop_thumbnail_r_1 = 0
  97. }
  98. if pfi_shop_thumbnail_w_2 < 10 {
  99. pfi_shop_thumbnail_w_2 = 10
  100. }
  101. if pfi_shop_thumbnail_h_2 > 1000 {
  102. pfi_shop_thumbnail_h_2 = 1000
  103. }
  104. if pfi_shop_thumbnail_r_2 > 2 {
  105. pfi_shop_thumbnail_r_2 = 1
  106. }
  107. if pfi_shop_thumbnail_r_2 < 0 {
  108. pfi_shop_thumbnail_r_2 = 0
  109. }
  110. if pfi_shop_thumbnail_w_3 < 10 {
  111. pfi_shop_thumbnail_w_3 = 10
  112. }
  113. if pfi_shop_thumbnail_h_3 > 1000 {
  114. pfi_shop_thumbnail_h_3 = 1000
  115. }
  116. if pfi_shop_thumbnail_r_3 > 2 {
  117. pfi_shop_thumbnail_r_3 = 1
  118. }
  119. if pfi_shop_thumbnail_r_3 < 0 {
  120. pfi_shop_thumbnail_r_3 = 0
  121. }
  122. if pfi_shop_thumbnail_w_full < 10 {
  123. pfi_shop_thumbnail_w_full = 10
  124. }
  125. if pfi_shop_thumbnail_h_full > 1000 {
  126. pfi_shop_thumbnail_h_full = 1000
  127. }
  128. if pfi_shop_thumbnail_r_full > 2 {
  129. pfi_shop_thumbnail_r_full = 1
  130. }
  131. if pfi_shop_thumbnail_r_full < 0 {
  132. pfi_shop_thumbnail_r_full = 0
  133. }
  134. is_changed_tb1 := false
  135. is_changed_tb2 := false
  136. is_changed_tb3 := false
  137. is_changed_tbf := false
  138. if (*wrap.Config).Shop.Thumbnails.Thumbnail1[0] != pfi_shop_thumbnail_w_1 || (*wrap.Config).Shop.Thumbnails.Thumbnail1[1] != pfi_shop_thumbnail_h_1 || (*wrap.Config).Shop.Thumbnails.Thumbnail1[2] != pfi_shop_thumbnail_r_1 {
  139. is_changed_tb1 = true
  140. }
  141. if (*wrap.Config).Shop.Thumbnails.Thumbnail2[0] != pfi_shop_thumbnail_w_2 || (*wrap.Config).Shop.Thumbnails.Thumbnail2[1] != pfi_shop_thumbnail_h_2 || (*wrap.Config).Shop.Thumbnails.Thumbnail2[2] != pfi_shop_thumbnail_r_2 {
  142. is_changed_tb2 = true
  143. }
  144. if (*wrap.Config).Shop.Thumbnails.Thumbnail3[0] != pfi_shop_thumbnail_w_3 || (*wrap.Config).Shop.Thumbnails.Thumbnail3[1] != pfi_shop_thumbnail_h_3 || (*wrap.Config).Shop.Thumbnails.Thumbnail3[2] != pfi_shop_thumbnail_r_3 {
  145. is_changed_tb3 = true
  146. }
  147. if (*wrap.Config).Shop.Thumbnails.ThumbnailFull[0] != pfi_shop_thumbnail_w_full || (*wrap.Config).Shop.Thumbnails.ThumbnailFull[1] != pfi_shop_thumbnail_h_full || (*wrap.Config).Shop.Thumbnails.ThumbnailFull[2] != pfi_shop_thumbnail_r_full {
  148. is_changed_tbf = true
  149. }
  150. (*wrap.Config).Shop.Thumbnails.Thumbnail1[0] = pfi_shop_thumbnail_w_1
  151. (*wrap.Config).Shop.Thumbnails.Thumbnail1[1] = pfi_shop_thumbnail_h_1
  152. (*wrap.Config).Shop.Thumbnails.Thumbnail1[2] = pfi_shop_thumbnail_r_1
  153. (*wrap.Config).Shop.Thumbnails.Thumbnail2[0] = pfi_shop_thumbnail_w_2
  154. (*wrap.Config).Shop.Thumbnails.Thumbnail2[1] = pfi_shop_thumbnail_h_2
  155. (*wrap.Config).Shop.Thumbnails.Thumbnail2[2] = pfi_shop_thumbnail_r_2
  156. (*wrap.Config).Shop.Thumbnails.Thumbnail3[0] = pfi_shop_thumbnail_w_3
  157. (*wrap.Config).Shop.Thumbnails.Thumbnail3[1] = pfi_shop_thumbnail_h_3
  158. (*wrap.Config).Shop.Thumbnails.Thumbnail3[2] = pfi_shop_thumbnail_r_3
  159. (*wrap.Config).Shop.Thumbnails.ThumbnailFull[0] = pfi_shop_thumbnail_w_full
  160. (*wrap.Config).Shop.Thumbnails.ThumbnailFull[1] = pfi_shop_thumbnail_h_full
  161. (*wrap.Config).Shop.Thumbnails.ThumbnailFull[2] = pfi_shop_thumbnail_r_full
  162. if err := wrap.ConfigSave(); err != nil {
  163. wrap.MsgError(err.Error())
  164. return
  165. }
  166. // Reset products images cache
  167. if is_changed_tb1 || is_changed_tb2 || is_changed_tb3 || is_changed_tbf {
  168. if is_changed_tb1 && is_changed_tb2 && is_changed_tb3 && is_changed_tbf {
  169. if err := wrap.RemoveProductImageThumbnails("*", "thumb-*"); err != nil {
  170. wrap.MsgError(err.Error())
  171. return
  172. }
  173. } else {
  174. if is_changed_tb1 {
  175. if err := wrap.RemoveProductImageThumbnails("*", "thumb-1-*"); err != nil {
  176. wrap.MsgError(err.Error())
  177. return
  178. }
  179. }
  180. if is_changed_tb2 {
  181. if err := wrap.RemoveProductImageThumbnails("*", "thumb-2-*"); err != nil {
  182. wrap.MsgError(err.Error())
  183. return
  184. }
  185. }
  186. if is_changed_tb3 {
  187. if err := wrap.RemoveProductImageThumbnails("*", "thumb-3-*"); err != nil {
  188. wrap.MsgError(err.Error())
  189. return
  190. }
  191. }
  192. if is_changed_tbf {
  193. if err := wrap.RemoveProductImageThumbnails("*", "thumb-full-*"); err != nil {
  194. wrap.MsgError(err.Error())
  195. return
  196. }
  197. }
  198. }
  199. }
  200. // Reload current page
  201. wrap.Write(`window.location.reload(false);`)
  202. })
  203. }