Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

125 linhas
3.9KB

  1. <%
  2. '=======================================================================================================================
  3. ' Flash Message Class
  4. '=======================================================================================================================
  5. Class Flash_Class
  6. Private m_errors_key
  7. Private m_success_key
  8. Private Sub Class_Initialize
  9. m_errors_key = "mvc.flash.errors_array"
  10. m_success_key = "mvc.flash.success_message"
  11. End Sub
  12. 'helper methods to avoid if..then statements in views
  13. Public Sub ShowErrorsIfPresent
  14. if HasErrors then ShowErrors
  15. End Sub
  16. Public Sub ShowSuccessIfPresent
  17. if HasSuccess then ShowSuccess
  18. End Sub
  19. '---------------------------------------------------------------------------------------------------------------------
  20. ' Errors
  21. '---------------------------------------------------------------------------------------------------------------------
  22. Public Property Get HasErrors
  23. HasErrors = (Not IsEmpty(Session(m_errors_key)))
  24. End Property
  25. Public Property Get Errors
  26. Errors = Session(m_errors_key)
  27. End Property
  28. Public Property Let Errors(ary)
  29. Session(m_errors_key) = ary
  30. End Property
  31. Public Sub AddError(msg)
  32. dim ary
  33. if IsEmpty(Session(m_errors_key)) then
  34. ary = Array()
  35. redim ary(-1)
  36. else
  37. ary = Session(m_errors_key)
  38. end if
  39. redim preserve ary(ubound(ary) + 1)
  40. ary(ubound(ary)) = msg
  41. Session(m_errors_key) = ary
  42. End Sub
  43. 'Public Sub ShowErrors
  44. ' ClearErrors
  45. 'End Sub
  46. Public Sub ShowErrors
  47. if HasErrors then
  48. %>
  49. <div class="alert alert-danger alert-dismissible fade show" role="alert">
  50. <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
  51. <h4 class="alert-heading">Error!</h4>
  52. <ul class="mb-0">
  53. <%
  54. dim ary, i
  55. ary = Errors
  56. if IsArray(ary) then
  57. for i = 0 to ubound(ary)
  58. put "<li>"
  59. put H(ary(i))
  60. put "</li>"
  61. next
  62. else
  63. put "<li>"
  64. put H(ary)
  65. put "</li>"
  66. end if
  67. %>
  68. </ul>
  69. </div>
  70. <%
  71. ClearErrors
  72. end if
  73. End Sub
  74. Public Sub ClearErrors
  75. Session.Contents.Remove(m_errors_key)
  76. End Sub
  77. '---------------------------------------------------------------------------------------------------------------------
  78. ' Success
  79. '---------------------------------------------------------------------------------------------------------------------
  80. Public Property Get HasSuccess
  81. HasSuccess = (Not IsEmpty(Session(m_success_key)))
  82. End Property
  83. Public Property Get Success
  84. Success = Session(m_success_key)
  85. End Property
  86. Public Property Let Success(msg)
  87. Session(m_success_key) = msg
  88. End Property
  89. Public Sub ShowSuccess
  90. if HasSuccess then
  91. %>
  92. <div class="alert alert-success alert-dismissible fade show" role="alert">
  93. <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
  94. <%= H(Success) %>
  95. </div>
  96. <%
  97. ClearSuccess
  98. end if
  99. End Sub
  100. Public Sub ClearSuccess
  101. Session.Contents.Remove(m_success_key)
  102. End Sub
  103. End Class
  104. Function Flash()
  105. set Flash = new Flash_Class
  106. End Function
  107. %>

Powered by TurnKey Linux.