Anti-spam - Version 7.3.4

Version Description

Download this release

Release Info

Developer alexkovalevv
Plugin Icon 128x128 Anti-spam
Version 7.3.4
Comparing to
See all releases

Code changes from version 7.3.2 to 7.3.4

Files changed (161) hide show
  1. admin/assets/css/dashboard-dashboard.css +3 -3
  2. admin/assets/css/setup/page-setup.css +2 -2
  3. admin/assets/css/titan-security.css +18 -18
  4. admin/assets/js/dashboard.js +19 -19
  5. admin/assets/js/firewall/firewall-block-ip.js +3 -3
  6. admin/assets/js/firewall/firewall-dashboard.js +7 -7
  7. admin/assets/js/import.js +9 -9
  8. admin/assets/js/install-addons.js +15 -15
  9. admin/boot.php +3 -3
  10. admin/class-activation.php +2 -2
  11. admin/class-page-titan-basic.php +6 -6
  12. admin/pages/class-page-backup.php +2 -2
  13. admin/pages/class-page-two-factor.php +2 -2
  14. admin/pages/class-pages-antispam.php +3 -3
  15. admin/pages/class-pages-check.php +4 -4
  16. admin/pages/class-pages-components-license.php +5 -5
  17. admin/pages/class-pages-components.php +5 -5
  18. admin/pages/class-pages-dashboard.php +2 -2
  19. admin/pages/class-pages-license.php +8 -8
  20. admin/pages/class-pages-logs.php +2 -2
  21. admin/pages/class-pages-plugin-settings.php +3 -3
  22. admin/pages/class-pages-scanner.php +3 -3
  23. admin/pages/class-pages-sitechecker.php +2 -2
  24. admin/pages/class-pages-tweaks.php +3 -3
  25. admin/pages/firewall/class-pages-bruteforce.php +3 -3
  26. admin/pages/firewall/class-pages-firewall-attacks-log.php +1 -1
  27. admin/pages/firewall/class-pages-firewall-blocking.php +2 -2
  28. admin/pages/firewall/class-pages-firewall-login-attempts.php +3 -3
  29. admin/pages/firewall/class-pages-firewall-settings.php +2 -2
  30. admin/pages/firewall/class-pages-firewall.php +1 -1
  31. admin/pages/setup/class-pages-setup.php +6 -6
  32. admin/pages/setup/steps/class-step-congratulation.php +3 -3
  33. admin/pages/setup/steps/class-step-default.php +5 -5
  34. admin/pages/setup/steps/class-step-plugins.php +2 -2
  35. admin/pages/setup/steps/class-step-security-audit.php +2 -2
  36. admin/pages/setup/steps/class-step-setting-antispam.php +1 -1
  37. admin/pages/setup/steps/class-step-setting-scan-malware.php +2 -2
  38. admin/pages/setup/steps/class-step-setting-tweaks.php +1 -1
  39. anti-spam.php +9 -9
  40. assets/img/vertical_maintance.jpeg +0 -0
  41. includes/antispam/assets/js/settings.js +2 -2
  42. includes/antispam/classes/class-antispam.php +47 -35
  43. includes/antispam/classes/class-protector.php +2 -2
  44. includes/antispam/functions.php +1 -1
  45. includes/audit/assets/js/audit_ajax.js +2 -2
  46. includes/audit/views/all-audit.php +6 -6
  47. includes/bruteforce/class-helpers.php +1 -1
  48. includes/bruteforce/class-limit-login-attempts.php +3 -3
  49. includes/check/classes/class.check.php +97 -92
  50. includes/check/views/hided.php +2 -2
  51. includes/check/views/main.php +4 -4
  52. includes/class-titan-security-plugin.php +3 -3
  53. includes/class.module-base.php +3 -3
  54. includes/functions.php +3 -3
  55. includes/helpers.php +4 -4
  56. includes/logger/assets/js/base.js +2 -2
  57. includes/logger/class-logger-export.php +1 -1
  58. includes/scanner/assets/js/scanner.js +2 -2
  59. includes/scanner/views/results.php +2 -2
  60. includes/scanner/views/scanner.php +5 -5
  61. includes/sitechecker/assets/js/app.js +3 -3
  62. includes/sitechecker/assets/js/sitechecker.js +3 -3
  63. includes/sitechecker/classes/class.sitechecker.php +104 -97
  64. includes/sitechecker/views/sitechecker.php +5 -5
  65. includes/tweaks/password-requirements/login-interstitial/functions-login-header.php +1 -1
  66. includes/vulnerabilities/assets/js/vulnerability_ajax.js +2 -2
  67. includes/vulnerabilities/views/all-table.php +5 -5
  68. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +1 -1
  69. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +1 -1
  70. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +1 -1
  71. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +1 -1
  72. libs/factory/bootstrap/assets/css-min/bootstrap.datetimepicker.min.css +1 -1
  73. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +1 -1
  74. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +1 -1
  75. libs/factory/bootstrap/assets/css-min/bootstrap.form-metabox.min.css +1 -1
  76. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +1 -1
  77. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +1 -1
  78. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +1 -1
  79. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +1 -1
  80. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +1 -1
  81. libs/factory/bootstrap/assets/css-min/bootstrap.tab.min.css +1 -1
  82. libs/factory/bootstrap/assets/css-min/bootstrap.wp-editor.min.css +1 -1
  83. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +1 -1
  84. libs/factory/bootstrap/assets/css-min/control.color-and-opacity.min.css +1 -1
  85. libs/factory/bootstrap/assets/css-min/control.color.min.css +1 -1
  86. libs/factory/bootstrap/assets/css-min/control.dropdown-and-colors.min.css +1 -1
  87. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +1 -1
  88. libs/factory/bootstrap/assets/css-min/control.fonts.min.css +1 -1
  89. libs/factory/bootstrap/assets/css-min/control.list.min.css +1 -1
  90. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +1 -1
  91. libs/factory/bootstrap/assets/css-min/control.pattern.min.css +1 -1
  92. libs/factory/bootstrap/assets/css-min/control.radio-colors.min.css +1 -1
  93. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +1 -1
  94. libs/factory/bootstrap/assets/css-min/plugin.gradient-picker.min.css +1 -1
  95. libs/factory/bootstrap/assets/css-min/plugin.paddings-editor.min.css +1 -1
  96. libs/factory/bootstrap/assets/css/bootstrap.accordion.css +6 -6
  97. libs/factory/bootstrap/assets/css/bootstrap.blue.css +13 -13
  98. libs/factory/bootstrap/assets/css/bootstrap.coffee.css +13 -13
  99. libs/factory/bootstrap/assets/css/bootstrap.core.css +1773 -1773
  100. libs/factory/bootstrap/assets/css/bootstrap.datetimepicker.css +71 -71
  101. libs/factory/bootstrap/assets/css/bootstrap.ectoplasm.css +13 -13
  102. libs/factory/bootstrap/assets/css/bootstrap.form-group.css +9 -9
  103. libs/factory/bootstrap/assets/css/bootstrap.form-metabox.css +8 -8
  104. libs/factory/bootstrap/assets/css/bootstrap.light.css +13 -13
  105. libs/factory/bootstrap/assets/css/bootstrap.midnight.css +13 -13
  106. libs/factory/bootstrap/assets/css/bootstrap.ocean.css +13 -13
  107. libs/factory/bootstrap/assets/css/bootstrap.separator.css +1 -1
  108. libs/factory/bootstrap/assets/css/bootstrap.sunrise.css +13 -13
  109. libs/factory/bootstrap/assets/css/bootstrap.tab.css +20 -20
  110. libs/factory/bootstrap/assets/css/bootstrap.wp-editor.css +10 -10
  111. libs/factory/bootstrap/assets/css/control.checkbox.css +15 -15
  112. libs/factory/bootstrap/assets/css/control.color-and-opacity.css +6 -6
  113. libs/factory/bootstrap/assets/css/control.color.css +7 -7
  114. libs/factory/bootstrap/assets/css/control.dropdown-and-colors.css +4 -4
  115. libs/factory/bootstrap/assets/css/control.dropdown.css +14 -14
  116. libs/factory/bootstrap/assets/css/control.fonts.css +6 -6
  117. libs/factory/bootstrap/assets/css/control.list.css +13 -13
  118. libs/factory/bootstrap/assets/css/control.multiple-textbox.css +7 -7
  119. libs/factory/bootstrap/assets/css/control.pattern.css +31 -31
  120. libs/factory/bootstrap/assets/css/control.radio-colors.css +6 -6
  121. libs/factory/bootstrap/assets/css/holder.more-link.css +5 -5
  122. libs/factory/bootstrap/assets/css/plugin.gradient-picker.css +23 -23
  123. libs/factory/bootstrap/assets/css/plugin.paddings-editor.css +19 -19
  124. libs/factory/bootstrap/assets/js-min/bootstrap.accordion.min.js +1 -1
  125. libs/factory/bootstrap/assets/js-min/bootstrap.collapse.min.js +1 -1
  126. libs/factory/bootstrap/assets/js-min/bootstrap.datetimepicker.min.js +1 -1
  127. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +1 -1
  128. libs/factory/bootstrap/assets/js-min/bootstrap.modal.min.js +1 -1
  129. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +1 -1
  130. libs/factory/bootstrap/assets/js-min/control.color-and-opacity.min.js +1 -1
  131. libs/factory/bootstrap/assets/js-min/control.color.min.js +1 -1
  132. libs/factory/bootstrap/assets/js-min/control.dropdown-and-colors.min.js +1 -1
  133. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +1 -1
  134. libs/factory/bootstrap/assets/js-min/control.fonts.min.js +1 -1
  135. libs/factory/bootstrap/assets/js-min/control.gradient.min.js +1 -1
  136. libs/factory/bootstrap/assets/js-min/control.integer.min.js +1 -1
  137. libs/factory/bootstrap/assets/js-min/control.list.min.js +1 -1
  138. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +1 -1
  139. libs/factory/bootstrap/assets/js-min/control.pattern.min.js +1 -1
  140. libs/factory/bootstrap/assets/js-min/holder.more-link.min.js +1 -1
  141. libs/factory/bootstrap/assets/js-min/plugin.gradient-picker.min.js +1 -1
  142. libs/factory/bootstrap/assets/js-min/plugin.iris.min.js +1 -1
  143. libs/factory/bootstrap/assets/js-min/plugin.paddings-editor.min.js +1 -1
  144. libs/factory/bootstrap/assets/js/bootstrap.accordion.js +2 -2
  145. libs/factory/bootstrap/assets/js/bootstrap.collapse.js +2 -2
  146. libs/factory/bootstrap/assets/js/bootstrap.datetimepicker.js +25 -25
  147. libs/factory/bootstrap/assets/js/bootstrap.dropdown.js +2 -2
  148. libs/factory/bootstrap/assets/js/bootstrap.modal.js +7 -7
  149. libs/factory/bootstrap/assets/js/control.checkbox.js +4 -4
  150. libs/factory/bootstrap/assets/js/control.color-and-opacity.js +1 -1
  151. libs/factory/bootstrap/assets/js/control.color.js +8 -8
  152. libs/factory/bootstrap/assets/js/control.dropdown-and-colors.js +3 -3
  153. libs/factory/bootstrap/assets/js/control.dropdown.js +3 -3
  154. libs/factory/bootstrap/assets/js/control.fonts.js +3 -3
  155. libs/factory/bootstrap/assets/js/control.gradient.js +3 -3
  156. libs/factory/bootstrap/assets/js/control.integer.js +3 -3
  157. libs/factory/bootstrap/assets/js/control.list.js +3 -3
  158. libs/factory/bootstrap/assets/js/control.multiple-textbox.js +2 -2
  159. libs/factory/bootstrap/assets/js/control.pattern.js +4 -4
  160. libs/factory/bootstrap/assets/js/holder.more-link.js +2 -2
  161. libs/factory/bootstrap/assets/js/plugin.gradient-picker.js +1 -1
admin/assets/css/dashboard-dashboard.css CHANGED
@@ -106,13 +106,13 @@
106
  border-radius: 5px !important;
107
  }
108
 
109
- .factory-bootstrap-459 .factory-buttons-way .factory-on.active {
110
  background-color: #5d05b7 !important;
111
  box-shadow: none !important;
112
  border: none !important;
113
  }
114
 
115
- .factory-bootstrap-459 .factory-buttons-way .factory-off.active {
116
  background-color: #5d05b7 !important;
117
  box-shadow: none !important;
118
  border: none !important;
@@ -122,7 +122,7 @@
122
  background: #fff !important;
123
  }
124
 
125
- .factory-bootstrap-459 .nav-tabs > li.active > a, .factory-bootstrap-459 .nav-tabs > li.active > a:focus, .factory-bootstrap-459 .nav-tabs > li.active > a:hover {
126
  background-color: #efefef !important;
127
  }
128
 
106
  border-radius: 5px !important;
107
  }
108
 
109
+ .factory-bootstrap-461 .factory-buttons-way .factory-on.active {
110
  background-color: #5d05b7 !important;
111
  box-shadow: none !important;
112
  border: none !important;
113
  }
114
 
115
+ .factory-bootstrap-461 .factory-buttons-way .factory-off.active {
116
  background-color: #5d05b7 !important;
117
  box-shadow: none !important;
118
  border: none !important;
122
  background: #fff !important;
123
  }
124
 
125
+ .factory-bootstrap-461 .nav-tabs > li.active > a, .factory-bootstrap-461 .nav-tabs > li.active > a:focus, .factory-bootstrap-461 .nav-tabs > li.active > a:hover {
126
  background-color: #efefef !important;
127
  }
128
 
admin/assets/css/setup/page-setup.css CHANGED
@@ -1,7 +1,7 @@
1
- .w-factory-templates-110-setup-steps li.active {
2
  border-color: #5d05b7 !important;
3
  }
4
- .w-factory-templates-110-setup-steps li.active::before {
5
  border-color: #5d05b7 !important;
6
  }
7
  .wtitan-status-circular {
1
+ .w-factory-templates-112-setup-steps li.active {
2
  border-color: #5d05b7 !important;
3
  }
4
+ .w-factory-templates-112-setup-steps li.active::before {
5
  border-color: #5d05b7 !important;
6
  }
7
  .wtitan-status-circular {
admin/assets/css/titan-security.css CHANGED
@@ -6,7 +6,7 @@ h2.nav-tab-wrapper {
6
  background-color:#5d05b7 !important;
7
  }
8
 
9
- /*#WBCR .wbcr-factory-pages-457-impressive-page-template .alert
10
  {
11
  padding: 10px !important;
12
  /*position: absolute !important;
@@ -14,39 +14,39 @@ h2.nav-tab-wrapper {
14
 
15
  opacity: 0.8;
16
  }*/
17
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
18
 
19
  /*opacity: 0.8;*/
20
  }
21
 
22
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
23
  border-radius: 5px 5px 0 0;
24
  }
25
 
26
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-page-header {
27
  background-color: #5d05b7 !important;
28
  }
29
 
30
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
31
  border-left: 5px solid #efefef !important;
32
  }
33
 
34
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
35
  border: 0 !important;
36
  }
37
 
38
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a,
39
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:hover {
40
  color: #5d05b7 !important;
41
  border-left: 5px solid #5d05b7 !important;
42
  }
43
 
44
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons,
45
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:hover .dashicons {
46
  color: #5d05b7 !important;
47
  }
48
 
49
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
50
  background-color: #5d05b7 !important;
51
  color: #ffffff !important;
52
  display: block;
@@ -57,36 +57,36 @@ h2.nav-tab-wrapper {
57
  border: 2px solid #ffffff;
58
  }
59
 
60
- #WBCR .wbcr-factory-pages-457-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
61
  background-color: #ffffff !important;
62
  color: #5d05b7 !important;
63
  border-color: #5d05b7 !important;
64
  }
65
 
66
- #WBCR .wbcr-factory-pages-457-impressive-page-template input[type="checkbox"]:checked::before {
67
  content: url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%235d05b7%27%2F%3E%3C%2Fsvg%3E) !important;
68
  }
69
 
70
  /*--------------------------*/
71
- .factory-bootstrap-459 select.form-control {
72
  display: inline;
73
  background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
74
  background-size: 16px 16px !important;
75
  }
76
 
77
- .factory-bootstrap-459 .btn-default.active, .factory-bootstrap-459 .btn-default:active {
78
  background: #b083de !important;
79
  color: #ffffff !important;
80
  }
81
 
82
- .factory-bootstrap-459 .btn-primary {
83
  background: #5d05b7 !important;
84
  border-color: #27004e !important;
85
  box-shadow: none !important;
86
  -webkit-box-shadow: none !important;
87
  }
88
 
89
- .factory-bootstrap-459 .factory-buttons-way .factory-on.active {
90
  background-color: #b083de !important;
91
  -webkit-box-shadow: inset 0 1px 1px #8651bd !important;
92
  box-shadow: inset 0 1px 3px #8651bd !important;
@@ -95,7 +95,7 @@ h2.nav-tab-wrapper {
95
  border-left: 1px solid #8651bd !important;
96
  }
97
 
98
- .factory-bootstrap-459 .factory-buttons-way .factory-off.active {
99
  background-color: #b083de !important;
100
  -webkit-box-shadow: inset 0 1px 1px #8651bd !important;
101
  box-shadow: inset 0 1px 3px #8651bd !important;
6
  background-color:#5d05b7 !important;
7
  }
8
 
9
+ /*#WBCR .wbcr-factory-pages-460-impressive-page-template .alert
10
  {
11
  padding: 10px !important;
12
  /*position: absolute !important;
14
 
15
  opacity: 0.8;
16
  }*/
17
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
18
 
19
  /*opacity: 0.8;*/
20
  }
21
 
22
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
23
  border-radius: 5px 5px 0 0;
24
  }
25
 
26
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-page-header {
27
  background-color: #5d05b7 !important;
28
  }
29
 
30
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
31
  border-left: 5px solid #efefef !important;
32
  }
33
 
34
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
35
  border: 0 !important;
36
  }
37
 
38
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a,
39
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:hover {
40
  color: #5d05b7 !important;
41
  border-left: 5px solid #5d05b7 !important;
42
  }
43
 
44
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons,
45
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a:hover .dashicons {
46
  color: #5d05b7 !important;
47
  }
48
 
49
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
50
  background-color: #5d05b7 !important;
51
  color: #ffffff !important;
52
  display: block;
57
  border: 2px solid #ffffff;
58
  }
59
 
60
+ #WBCR .wbcr-factory-pages-460-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
61
  background-color: #ffffff !important;
62
  color: #5d05b7 !important;
63
  border-color: #5d05b7 !important;
64
  }
65
 
66
+ #WBCR .wbcr-factory-pages-460-impressive-page-template input[type="checkbox"]:checked::before {
67
  content: url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%235d05b7%27%2F%3E%3C%2Fsvg%3E) !important;
68
  }
69
 
70
  /*--------------------------*/
71
+ .factory-bootstrap-461 select.form-control {
72
  display: inline;
73
  background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
74
  background-size: 16px 16px !important;
75
  }
76
 
77
+ .factory-bootstrap-461 .btn-default.active, .factory-bootstrap-461 .btn-default:active {
78
  background: #b083de !important;
79
  color: #ffffff !important;
80
  }
81
 
82
+ .factory-bootstrap-461 .btn-primary {
83
  background: #5d05b7 !important;
84
  border-color: #27004e !important;
85
  box-shadow: none !important;
86
  -webkit-box-shadow: none !important;
87
  }
88
 
89
+ .factory-bootstrap-461 .factory-buttons-way .factory-on.active {
90
  background-color: #b083de !important;
91
  -webkit-box-shadow: inset 0 1px 1px #8651bd !important;
92
  box-shadow: inset 0 1px 3px #8651bd !important;
95
  border-left: 1px solid #8651bd !important;
96
  }
97
 
98
+ .factory-bootstrap-461 .factory-buttons-way .factory-off.active {
99
  background-color: #b083de !important;
100
  -webkit-box-shadow: inset 0 1px 1px #8651bd !important;
101
  box-shadow: inset 0 1px 3px #8651bd !important;
admin/assets/js/dashboard.js CHANGED
@@ -24,11 +24,11 @@ jQuery(document).ready(function ($) {
24
  console.log(data);
25
 
26
  if (data) {
27
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
28
  }
29
 
30
  setTimeout(function () {
31
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
32
  }, 5000);
33
  return;
34
  } else {
@@ -43,7 +43,7 @@ jQuery(document).ready(function ($) {
43
  console.log(xhr.responseText);
44
  console.log(thrownError);
45
 
46
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
47
  }
48
  });
49
  });
@@ -68,13 +68,13 @@ jQuery(document).ready(function ($) {
68
  block.removeClass('wt-block-loading');
69
 
70
  if (data.error_message) {
71
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
72
  } else {
73
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.message, 'success');
74
  }
75
 
76
  setTimeout(function () {
77
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
78
  }, 5000);
79
  return;
80
 
@@ -85,7 +85,7 @@ jQuery(document).ready(function ($) {
85
  console.log(xhr.responseText);
86
  console.log(thrownError);
87
 
88
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
89
  }
90
  });
91
  });
@@ -112,19 +112,19 @@ jQuery(document).ready(function ($) {
112
  if (!data || data.error) {
113
 
114
  if (data) {
115
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
116
  }
117
 
118
  setTimeout(function () {
119
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
120
  }, 5000);
121
  return;
122
  } else {
123
  if (data) {
124
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.message, 'success');
125
  }
126
  setTimeout(function () {
127
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
128
  }, 5000);
129
  }
130
  $('.wt-scanner-speed-button').removeClass('disabled');
@@ -136,7 +136,7 @@ jQuery(document).ready(function ($) {
136
  console.log(xhr.responseText);
137
  console.log(thrownError);
138
 
139
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
140
  }
141
  });
142
 
@@ -164,19 +164,19 @@ jQuery(document).ready(function ($) {
164
  if (!data || data.error) {
165
 
166
  if (data) {
167
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
168
  }
169
 
170
  setTimeout(function () {
171
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
172
  }, 5000);
173
  return;
174
  } else {
175
  if (data) {
176
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.message, 'success');
177
  }
178
  setTimeout(function () {
179
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
180
  }, 5000);
181
  }
182
  $('.wt-scanner-schedule-button').removeClass('disabled');
@@ -188,7 +188,7 @@ jQuery(document).ready(function ($) {
188
  console.log(xhr.responseText);
189
  console.log(thrownError);
190
 
191
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
192
  }
193
  });
194
 
@@ -213,9 +213,9 @@ jQuery(document).ready(function ($) {
213
  jQuery('[data-action="digest-state"][disabled]').removeAttr('disabled');
214
  btn.attr('disabled', 'disabled');
215
 
216
- var noticeId = jQuery.wbcr_factory_templates_110.app.showNotice(msg, type);
217
  setTimeout(function () {
218
- jQuery.wbcr_factory_templates_110.app.hideNotice(noticeId);
219
  }, 5000);
220
  });
221
  })
24
  console.log(data);
25
 
26
  if (data) {
27
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
28
  }
29
 
30
  setTimeout(function () {
31
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
32
  }, 5000);
33
  return;
34
  } else {
43
  console.log(xhr.responseText);
44
  console.log(thrownError);
45
 
46
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
47
  }
48
  });
49
  });
68
  block.removeClass('wt-block-loading');
69
 
70
  if (data.error_message) {
71
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
72
  } else {
73
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.message, 'success');
74
  }
75
 
76
  setTimeout(function () {
77
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
78
  }, 5000);
79
  return;
80
 
85
  console.log(xhr.responseText);
86
  console.log(thrownError);
87
 
88
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
89
  }
90
  });
91
  });
112
  if (!data || data.error) {
113
 
114
  if (data) {
115
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
116
  }
117
 
118
  setTimeout(function () {
119
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
120
  }, 5000);
121
  return;
122
  } else {
123
  if (data) {
124
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.message, 'success');
125
  }
126
  setTimeout(function () {
127
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
128
  }, 5000);
129
  }
130
  $('.wt-scanner-speed-button').removeClass('disabled');
136
  console.log(xhr.responseText);
137
  console.log(thrownError);
138
 
139
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
140
  }
141
  });
142
 
164
  if (!data || data.error) {
165
 
166
  if (data) {
167
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
168
  }
169
 
170
  setTimeout(function () {
171
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
172
  }, 5000);
173
  return;
174
  } else {
175
  if (data) {
176
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.message, 'success');
177
  }
178
  setTimeout(function () {
179
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
180
  }, 5000);
181
  }
182
  $('.wt-scanner-schedule-button').removeClass('disabled');
188
  console.log(xhr.responseText);
189
  console.log(thrownError);
190
 
191
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
192
  }
193
  });
194
 
213
  jQuery('[data-action="digest-state"][disabled]').removeAttr('disabled');
214
  btn.attr('disabled', 'disabled');
215
 
216
+ var noticeId = jQuery.wbcr_factory_templates_112.app.showNotice(msg, type);
217
  setTimeout(function () {
218
+ jQuery.wbcr_factory_templates_112.app.hideNotice(noticeId);
219
  }, 5000);
220
  });
221
  })
admin/assets/js/firewall/firewall-block-ip.js CHANGED
@@ -80,11 +80,11 @@
80
  console.log(data);
81
 
82
  if (data) {
83
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
84
  }
85
 
86
  setTimeout(function () {
87
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
88
  }, 5000);
89
  return data;
90
  }
@@ -96,7 +96,7 @@
96
  console.log(xhr.responseText);
97
  console.log(thrownError);
98
 
99
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
100
  reject(thrownError);
101
  Swal.close();
102
  }
80
  console.log(data);
81
 
82
  if (data) {
83
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
84
  }
85
 
86
  setTimeout(function () {
87
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
88
  }, 5000);
89
  return data;
90
  }
96
  console.log(xhr.responseText);
97
  console.log(thrownError);
98
 
99
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
100
  reject(thrownError);
101
  Swal.close();
102
  }
admin/assets/js/firewall/firewall-dashboard.js CHANGED
@@ -40,11 +40,11 @@ jQuery(document).ready(function ($) {
40
  console.log(data);
41
 
42
  if (data) {
43
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
44
  }
45
 
46
  setTimeout(function () {
47
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
48
  }, 5000);
49
  return;
50
  }
@@ -55,7 +55,7 @@ jQuery(document).ready(function ($) {
55
  console.log(xhr.responseText);
56
  console.log(thrownError);
57
 
58
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
59
  }
60
  });
61
  });
@@ -104,11 +104,11 @@ jQuery(document).ready(function ($) {
104
  console.log(data);
105
 
106
  if (data) {
107
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
108
  }
109
 
110
  setTimeout(function () {
111
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
112
  }, 5000);
113
  return data;
114
  }
@@ -120,7 +120,7 @@ jQuery(document).ready(function ($) {
120
  console.log(xhr.responseText);
121
  console.log(thrownError);
122
 
123
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
124
  reject(thrownError)
125
  }
126
  });
@@ -265,7 +265,7 @@ jQuery(document).ready(function ($) {
265
  console.log(xhr.responseText);
266
  console.log(thrownError);
267
 
268
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
269
 
270
  }
271
  });
40
  console.log(data);
41
 
42
  if (data) {
43
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
44
  }
45
 
46
  setTimeout(function () {
47
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
48
  }, 5000);
49
  return;
50
  }
55
  console.log(xhr.responseText);
56
  console.log(thrownError);
57
 
58
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
59
  }
60
  });
61
  });
104
  console.log(data);
105
 
106
  if (data) {
107
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
108
  }
109
 
110
  setTimeout(function () {
111
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
112
  }, 5000);
113
  return data;
114
  }
120
  console.log(xhr.responseText);
121
  console.log(thrownError);
122
 
123
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
124
  reject(thrownError)
125
  }
126
  });
265
  console.log(xhr.responseText);
266
  console.log(thrownError);
267
 
268
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
269
 
270
  }
271
  });
admin/assets/js/import.js CHANGED
@@ -20,12 +20,12 @@
20
  $this = $(this);
21
 
22
  if (!settings) {
23
- $.wbcr_factory_templates_110.app.showNotice('Import options is empty!', 'danger');
24
  return false;
25
  }
26
 
27
  if (void 0 == wtitan_ajax || !wtitan_ajax.import_options_nonce) {
28
- $.wbcr_factory_templates_110.app.showNotice('Unknown Javascript error, most likely the wtitan_ajax variable does not exist!', 'danger');
29
  return false;
30
  }
31
 
@@ -39,7 +39,7 @@
39
  $this.prop('disabled', false);
40
 
41
  if (response.data.update_notice) {
42
- $.wbcr_factory_templates_110.app.showNotice(response.data.update_notice);
43
  } else {
44
  $('.wbcr-clr-update-package').closest('.wbcr-factory-warning-notice').remove();
45
  }
@@ -73,15 +73,15 @@
73
  console.log(data);
74
 
75
  if (data) {
76
- noticeId = $.wbcr_factory_templates_110.app.showNotice(data.error_message, 'danger');
77
  } else {
78
  if (void 0 !== wtitan_ajax) {
79
- noticeId = $.wbcr_factory_templates_110.app.showNotice(wtitan_ajax.i18n.unknown_error, 'danger');
80
  }
81
  }
82
 
83
  setTimeout(function () {
84
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
85
  }, 5000);
86
  return;
87
  }
@@ -90,10 +90,10 @@
90
 
91
  if (!request_data.flush_redirect) {
92
  if (void 0 !== wtitan_ajax) {
93
- noticeId = $.wbcr_factory_templates_110.app.showNotice(wtitan_ajax.i18n.success_update_settings, 'success');
94
 
95
  setTimeout(function () {
96
- $.wbcr_factory_templates_110.app.hideNotice(noticeId);
97
  }, 5000);
98
  }
99
  return;
@@ -108,7 +108,7 @@
108
  console.log(xhr.responseText);
109
  console.log(thrownError);
110
 
111
- var noticeId = $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
112
  }
113
  });
114
  }
20
  $this = $(this);
21
 
22
  if (!settings) {
23
+ $.wbcr_factory_templates_112.app.showNotice('Import options is empty!', 'danger');
24
  return false;
25
  }
26
 
27
  if (void 0 == wtitan_ajax || !wtitan_ajax.import_options_nonce) {
28
+ $.wbcr_factory_templates_112.app.showNotice('Unknown Javascript error, most likely the wtitan_ajax variable does not exist!', 'danger');
29
  return false;
30
  }
31
 
39
  $this.prop('disabled', false);
40
 
41
  if (response.data.update_notice) {
42
+ $.wbcr_factory_templates_112.app.showNotice(response.data.update_notice);
43
  } else {
44
  $('.wbcr-clr-update-package').closest('.wbcr-factory-warning-notice').remove();
45
  }
73
  console.log(data);
74
 
75
  if (data) {
76
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(data.error_message, 'danger');
77
  } else {
78
  if (void 0 !== wtitan_ajax) {
79
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(wtitan_ajax.i18n.unknown_error, 'danger');
80
  }
81
  }
82
 
83
  setTimeout(function () {
84
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
85
  }, 5000);
86
  return;
87
  }
90
 
91
  if (!request_data.flush_redirect) {
92
  if (void 0 !== wtitan_ajax) {
93
+ noticeId = $.wbcr_factory_templates_112.app.showNotice(wtitan_ajax.i18n.success_update_settings, 'success');
94
 
95
  setTimeout(function () {
96
+ $.wbcr_factory_templates_112.app.hideNotice(noticeId);
97
  }, 5000);
98
  }
99
  return;
108
  console.log(xhr.responseText);
109
  console.log(thrownError);
110
 
111
+ var noticeId = $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
112
  }
113
  });
114
  }
admin/assets/js/install-addons.js CHANGED
@@ -53,16 +53,16 @@
53
 
54
  $this.addClass('disabled').text(button_i18n.loading);
55
 
56
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/pre_update', [$this, data]);
57
 
58
  self.sendRequest(data, function (response) {
59
  if (!response || !response.success) {
60
 
61
  if (response.data && response.data.error_message) {
62
- $.wbcr_factory_templates_110.app.showNotice(response.data.error_message, 'danger');
63
  }
64
 
65
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/update_error', [
66
  $this,
67
  data,
68
  response.data.error_message,
@@ -78,7 +78,7 @@
78
  if (storage == 'freemius') {
79
  if (response.data.update_notice) {
80
  if (!$('.wtitan-update-package').length) {
81
- $.wbcr_factory_templates_110.app.showNotice(response.data.update_notice);
82
  }
83
  } else {
84
  if ($('.wtitan-update-package').length) {
@@ -97,7 +97,7 @@
97
  $this.removeClass('button-default').addClass('button-primary');
98
  }
99
 
100
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/installed', [
101
  $this,
102
  data,
103
  response
@@ -148,7 +148,7 @@
148
  $this.closest('.plugin-card').find('.settings-button').show();
149
  }
150
 
151
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/pre_activate', [
152
  $this,
153
  data,
154
  response
@@ -196,7 +196,7 @@
196
  $this.closest('.wbcr-hide-after-action').remove();
197
  }
198
 
199
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/deactivated', [
200
  $this,
201
  data,
202
  response
@@ -219,7 +219,7 @@
219
  $this.remove();
220
  }
221
 
222
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/deleted', [$this, data, response]);
223
  }
224
  } else {
225
  if (plugin_action == 'install') {
@@ -230,10 +230,10 @@
230
  $this.text(button_i18n[plugin_action]);
231
 
232
  if (response.data.need_rewrite_rules && !$('.wtitan-need-rewrite-rules-message').length) {
233
- $.wbcr_factory_templates_110.app.showNotice(response.data.need_rewrite_rules, 'warning');
234
  }
235
 
236
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/updated', [$this, data, response]);
237
  });
238
 
239
  return false;
@@ -256,7 +256,7 @@
256
  self.sendRequest(data, function (response) {
257
  if (!response || !response.success) {
258
  if (response.data && response.data.error_message) {
259
- $.wbcr_factory_templates_110.app.showNotice(response.data.error_message, 'danger');
260
  }
261
  return;
262
  }
@@ -319,17 +319,17 @@
319
  self.setComponentDeactivate(componentButton);
320
 
321
  if (response.data && response.data.error_message) {
322
- $.wbcr_factory_templates_110.app.showNotice(response.data.error_message, 'danger');
323
  }
324
 
325
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
326
  return;
327
  }
328
 
329
  componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
330
  self.setComponentActivate(componentButton);
331
 
332
- $.wbcr_factory_templates_110.hooks.run('clearfy/components/activated', [sendData.plugin]);
333
  });
334
  },
335
 
@@ -348,7 +348,7 @@
348
  console.log(xhr.responseText);
349
  console.log(thrownError);
350
 
351
- $.wbcr_factory_templates_110.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
352
  }
353
  });
354
  }
53
 
54
  $this.addClass('disabled').text(button_i18n.loading);
55
 
56
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/pre_update', [$this, data]);
57
 
58
  self.sendRequest(data, function (response) {
59
  if (!response || !response.success) {
60
 
61
  if (response.data && response.data.error_message) {
62
+ $.wbcr_factory_templates_112.app.showNotice(response.data.error_message, 'danger');
63
  }
64
 
65
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/update_error', [
66
  $this,
67
  data,
68
  response.data.error_message,
78
  if (storage == 'freemius') {
79
  if (response.data.update_notice) {
80
  if (!$('.wtitan-update-package').length) {
81
+ $.wbcr_factory_templates_112.app.showNotice(response.data.update_notice);
82
  }
83
  } else {
84
  if ($('.wtitan-update-package').length) {
97
  $this.removeClass('button-default').addClass('button-primary');
98
  }
99
 
100
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/installed', [
101
  $this,
102
  data,
103
  response
148
  $this.closest('.plugin-card').find('.settings-button').show();
149
  }
150
 
151
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/pre_activate', [
152
  $this,
153
  data,
154
  response
196
  $this.closest('.wbcr-hide-after-action').remove();
197
  }
198
 
199
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/deactivated', [
200
  $this,
201
  data,
202
  response
219
  $this.remove();
220
  }
221
 
222
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/deleted', [$this, data, response]);
223
  }
224
  } else {
225
  if (plugin_action == 'install') {
230
  $this.text(button_i18n[plugin_action]);
231
 
232
  if (response.data.need_rewrite_rules && !$('.wtitan-need-rewrite-rules-message').length) {
233
+ $.wbcr_factory_templates_112.app.showNotice(response.data.need_rewrite_rules, 'warning');
234
  }
235
 
236
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/updated', [$this, data, response]);
237
  });
238
 
239
  return false;
256
  self.sendRequest(data, function (response) {
257
  if (!response || !response.success) {
258
  if (response.data && response.data.error_message) {
259
+ $.wbcr_factory_templates_112.app.showNotice(response.data.error_message, 'danger');
260
  }
261
  return;
262
  }
319
  self.setComponentDeactivate(componentButton);
320
 
321
  if (response.data && response.data.error_message) {
322
+ $.wbcr_factory_templates_112.app.showNotice(response.data.error_message, 'danger');
323
  }
324
 
325
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
326
  return;
327
  }
328
 
329
  componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
330
  self.setComponentActivate(componentButton);
331
 
332
+ $.wbcr_factory_templates_112.hooks.run('clearfy/components/activated', [sendData.plugin]);
333
  });
334
  },
335
 
348
  console.log(xhr.responseText);
349
  console.log(thrownError);
350
 
351
+ $.wbcr_factory_templates_112.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
352
  }
353
  });
354
  }
admin/boot.php CHANGED
@@ -67,7 +67,7 @@ add_action('admin_init', function () {
67
  if( \WBCR\Titan\Plugin\Helper::is_need_show_setup_page() ) {
68
  try {
69
  $redirect_url = '';
70
- if( class_exists('Wbcr_FactoryPages457') ) {
71
  $redirect_url = $plugin->getPluginPageUrl('setup', ['wtitan_setup_page_viewed' => 1]);
72
  }
73
  if( $redirect_url ) {
@@ -148,8 +148,8 @@ add_action('wbcr/factory/admin_notices', function ($notices, $plugin_name) {
148
  echo '<div class="alert alert-warning wbcr-factory-warning-notice wtitan-get-plugins-scanner__notice"><p><span class="dashicons dashicons-plugins-checked"></span> ' . $notice_text . '</p></div>';
149
  *///$obj->printWarningNotice($notice_text);
150
 
151
- /** @var \Wbcr_Factory458_Plugin $plugin */
152
- /** @var \Wbcr_FactoryPages457_ImpressiveThemplate $obj */
153
  /*if ( ( \WBCR\Titan\Plugin::app()->premium->is_activate() ) || ( $plugin->getPluginName() != \WBCR\Titan\Plugin::app()->getPluginName() ) || $obj->id == 'license' ) {
154
  return;
155
  }
67
  if( \WBCR\Titan\Plugin\Helper::is_need_show_setup_page() ) {
68
  try {
69
  $redirect_url = '';
70
+ if( class_exists('Wbcr_FactoryPages460') ) {
71
  $redirect_url = $plugin->getPluginPageUrl('setup', ['wtitan_setup_page_viewed' => 1]);
72
  }
73
  if( $redirect_url ) {
148
  echo '<div class="alert alert-warning wbcr-factory-warning-notice wtitan-get-plugins-scanner__notice"><p><span class="dashicons dashicons-plugins-checked"></span> ' . $notice_text . '</p></div>';
149
  *///$obj->printWarningNotice($notice_text);
150
 
151
+ /** @var \Wbcr_Factory460_Plugin $plugin */
152
+ /** @var \Wbcr_FactoryPages460_ImpressiveThemplate $obj */
153
  /*if ( ( \WBCR\Titan\Plugin::app()->premium->is_activate() ) || ( $plugin->getPluginName() != \WBCR\Titan\Plugin::app()->getPluginName() ) || $obj->id == 'license' ) {
154
  return;
155
  }
admin/class-activation.php CHANGED
@@ -7,7 +7,7 @@ namespace WBCR\Titan;
7
  *
8
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
9
  * @copyright (c) 26.10.2019, Webcraftic
10
- * @see Wbcr_Factory458_Activator
11
  * @version 1.0
12
  */
13
 
@@ -16,7 +16,7 @@ if( !defined('ABSPATH') ) {
16
  exit;
17
  }
18
 
19
- class Activation extends \Wbcr_Factory458_Activator {
20
 
21
  /**
22
  * Runs activation actions.
7
  *
8
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
9
  * @copyright (c) 26.10.2019, Webcraftic
10
+ * @see Wbcr_Factory460_Activator
11
  * @version 1.0
12
  */
13
 
16
  exit;
17
  }
18
 
19
+ class Activation extends \Wbcr_Factory460_Activator {
20
 
21
  /**
22
  * Runs activation actions.
admin/class-page-titan-basic.php CHANGED
@@ -14,17 +14,17 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  * @copyright (c) 2020 Creative Motion
15
  * @version 1.0
16
  */
17
- class Base extends \WBCR\Factory_Templates_110\Pages\PageBase {
18
 
19
  /**
20
  * Scanner page constructor.
21
  *
22
- * @param \Wbcr_Factory458_Plugin $plugin
23
  *
24
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
25
  *
26
  */
27
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
28
  parent::__construct( $plugin );
29
  $this->menuIcon = WTITAN_PLUGIN_URL . '/admin/assets/img/titan-icon.png';
30
  }
@@ -69,7 +69,7 @@ class Base extends \WBCR\Factory_Templates_110\Pages\PageBase {
69
  </p>
70
  <ul>
71
  <li><span class="dashicons dashicons-sos"></span>
72
- <a href="<?= $free_support_url ?>" target="_blank"
73
  rel="noopener"><?php _e( 'Get starting free support', 'titan-security' ); ?></a>
74
  </li>
75
  <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
@@ -96,7 +96,7 @@ class Base extends \WBCR\Factory_Templates_110\Pages\PageBase {
96
  $page_url = $args[0];
97
  }
98
 
99
- $page_url = apply_filters( 'wbcr_factory_pages_457_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId() );
100
 
101
  ?>
102
  <div class="wbcr-factory-sidebar-widget">
@@ -113,7 +113,7 @@ class Base extends \WBCR\Factory_Templates_110\Pages\PageBase {
113
  <span class="dashicons dashicons-star-filled"></span>
114
  <span class="dashicons dashicons-star-filled"></span>
115
  </span>
116
- <a href="<?= $page_url ?>" title="Go rate us" target="_blank">
117
  <strong><?php _e( 'Go rate us and push ideas', 'titan-security' ); ?></strong>
118
  </a>
119
  </p>
14
  * @copyright (c) 2020 Creative Motion
15
  * @version 1.0
16
  */
17
+ class Base extends \WBCR\Factory_Templates_112\Pages\PageBase {
18
 
19
  /**
20
  * Scanner page constructor.
21
  *
22
+ * @param \Wbcr_Factory460_Plugin $plugin
23
  *
24
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
25
  *
26
  */
27
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
28
  parent::__construct( $plugin );
29
  $this->menuIcon = WTITAN_PLUGIN_URL . '/admin/assets/img/titan-icon.png';
30
  }
69
  </p>
70
  <ul>
71
  <li><span class="dashicons dashicons-sos"></span>
72
+ <a href="<?php echo esc_url($free_support_url); ?>" target="_blank"
73
  rel="noopener"><?php _e( 'Get starting free support', 'titan-security' ); ?></a>
74
  </li>
75
  <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
96
  $page_url = $args[0];
97
  }
98
 
99
+ $page_url = apply_filters( 'wbcr_factory_pages_460_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId() );
100
 
101
  ?>
102
  <div class="wbcr-factory-sidebar-widget">
113
  <span class="dashicons dashicons-star-filled"></span>
114
  <span class="dashicons dashicons-star-filled"></span>
115
  </span>
116
+ <a href="<?php echo esc_url($page_url); ?>" title="Go rate us" target="_blank">
117
  <strong><?php _e( 'Go rate us and push ideas', 'titan-security' ); ?></strong>
118
  </a>
119
  </p>
admin/pages/class-page-backup.php CHANGED
@@ -11,7 +11,7 @@ class Backup extends Base
11
  * The id of the page in the admin menu.
12
  *
13
  * Mainly used to navigate between pages.
14
- * @see FactoryPages457_AdminPage
15
  *
16
  * @since 1.0.0
17
  * @var string
@@ -63,7 +63,7 @@ class Backup extends Base
63
  *
64
  * @return void
65
  * @since 1.0.0
66
- * @see Wbcr_FactoryPages457_AdminPage
67
  *
68
  */
69
  public function assets( $scripts, $styles )
11
  * The id of the page in the admin menu.
12
  *
13
  * Mainly used to navigate between pages.
14
+ * @see FactoryPages460_AdminPage
15
  *
16
  * @since 1.0.0
17
  * @var string
63
  *
64
  * @return void
65
  * @since 1.0.0
66
+ * @see Wbcr_FactoryPages460_AdminPage
67
  *
68
  */
69
  public function assets( $scripts, $styles )
admin/pages/class-page-two-factor.php CHANGED
@@ -14,7 +14,7 @@ class TwoFactor extends Base
14
  * The id of the page in the admin menu.
15
  *
16
  * Mainly used to navigate between pages.
17
- * @see FactoryPages457_AdminPage
18
  *
19
  * @since 1.0.0
20
  * @var string
@@ -60,7 +60,7 @@ class TwoFactor extends Base
60
  *
61
  * @return void
62
  * @since 1.0.0
63
- * @see Wbcr_FactoryPages457_AdminPage
64
  *
65
  */
66
  public function assets($scripts, $styles)
14
  * The id of the page in the admin menu.
15
  *
16
  * Mainly used to navigate between pages.
17
+ * @see FactoryPages460_AdminPage
18
  *
19
  * @since 1.0.0
20
  * @var string
60
  *
61
  * @return void
62
  * @since 1.0.0
63
+ * @see Wbcr_FactoryPages460_AdminPage
64
  *
65
  */
66
  public function assets($scripts, $styles)
admin/pages/class-pages-antispam.php CHANGED
@@ -84,12 +84,12 @@ class Antispam extends Base {
84
  /**
85
  * Antispam page constructor.
86
  *
87
- * @param \Wbcr_Factory458_Plugin $plugin
88
  *
89
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
90
  *
91
  */
92
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
93
  $this->menu_title = __( 'Anti-spam', 'titan-security' );
94
  $this->page_menu_short_description = __( 'Detected and stoped spam', 'titan-security' );
95
 
@@ -102,7 +102,7 @@ class Antispam extends Base {
102
  *
103
  * @return void
104
  * @since 6.2
105
- * @see Wbcr_FactoryPages457_AdminPage
106
  *
107
  */
108
  public function assets( $scripts, $styles ) {
84
  /**
85
  * Antispam page constructor.
86
  *
87
+ * @param \Wbcr_Factory460_Plugin $plugin
88
  *
89
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
90
  *
91
  */
92
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
93
  $this->menu_title = __( 'Anti-spam', 'titan-security' );
94
  $this->page_menu_short_description = __( 'Detected and stoped spam', 'titan-security' );
95
 
102
  *
103
  * @return void
104
  * @since 6.2
105
+ * @see Wbcr_FactoryPages460_AdminPage
106
  *
107
  */
108
  public function assets( $scripts, $styles ) {
admin/pages/class-pages-check.php CHANGED
@@ -71,12 +71,12 @@ class Check extends Base {
71
  /**
72
  * Scanner page constructor.
73
  *
74
- * @param \Wbcr_Factory458_Plugin $plugin
75
  *
76
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
77
  *
78
  */
79
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
80
  $this->plugin = $plugin;
81
 
82
  $this->menu_title = __( 'Audit', 'titan-security' );
@@ -93,12 +93,12 @@ class Check extends Base {
93
  /**
94
  * {@inheritDoc}
95
  * @param $notices
96
- * @param \Wbcr_Factory458_Plugin $plugin
97
  *
98
  * @return array
99
  * @since 6.5.2
100
  *
101
- * @see \FactoryPages457_ImpressiveThemplate
102
  */
103
  public function getActionNotices( $notices ) {
104
 
71
  /**
72
  * Scanner page constructor.
73
  *
74
+ * @param \Wbcr_Factory460_Plugin $plugin
75
  *
76
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
77
  *
78
  */
79
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
80
  $this->plugin = $plugin;
81
 
82
  $this->menu_title = __( 'Audit', 'titan-security' );
93
  /**
94
  * {@inheritDoc}
95
  * @param $notices
96
+ * @param \Wbcr_Factory460_Plugin $plugin
97
  *
98
  * @return array
99
  * @since 6.5.2
100
  *
101
+ * @see \FactoryPages460_ImpressiveThemplate
102
  */
103
  public function getActionNotices( $notices ) {
104
 
admin/pages/class-pages-components-license.php CHANGED
@@ -58,13 +58,13 @@ class Components_License extends Base {
58
 
59
  /**
60
  * WCL_LicensePage constructor.
61
- * @param \Wbcr_Factory458_Plugin $plugin
62
  *
63
  * @since 7.0.2
64
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
65
  *
66
  */
67
- public function __construct(\Wbcr_Factory458_Plugin $plugin)
68
  {
69
  $this->menu_title = __('License', 'titan-security');
70
  $this->page_menu_short_description = __('Product activation', 'titan-security');
@@ -78,7 +78,7 @@ class Components_License extends Base {
78
  *
79
  * @return void
80
  * @since 7.0.2
81
- * @see FactoryPages457_AdminPage
82
  *
83
  */
84
  public function assets($scripts, $styles)
@@ -88,8 +88,8 @@ class Components_License extends Base {
88
  $this->styles->add(WTITAN_PLUGIN_URL . '/admin/assets/css/components.css');
89
 
90
  /**
91
- * @param \Wbcr_Factory458_StyleList $styles
92
- * @param \Wbcr_Factory458_ScriptList $scripts
93
  *
94
  * @since 7.0.2
95
  *
58
 
59
  /**
60
  * WCL_LicensePage constructor.
61
+ * @param \Wbcr_Factory460_Plugin $plugin
62
  *
63
  * @since 7.0.2
64
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
65
  *
66
  */
67
+ public function __construct(\Wbcr_Factory460_Plugin $plugin)
68
  {
69
  $this->menu_title = __('License', 'titan-security');
70
  $this->page_menu_short_description = __('Product activation', 'titan-security');
78
  *
79
  * @return void
80
  * @since 7.0.2
81
+ * @see FactoryPages460_AdminPage
82
  *
83
  */
84
  public function assets($scripts, $styles)
88
  $this->styles->add(WTITAN_PLUGIN_URL . '/admin/assets/css/components.css');
89
 
90
  /**
91
+ * @param \Wbcr_Factory460_StyleList $styles
92
+ * @param \Wbcr_Factory460_ScriptList $scripts
93
  *
94
  * @since 7.0.2
95
  *
admin/pages/class-pages-components.php CHANGED
@@ -27,7 +27,7 @@ class Components extends Base {
27
  * Mainly used to navigate between pages.
28
  *
29
  * @since 7.0.3
30
- * @see FactoryPages457_AdminPage
31
  *
32
  * @var string
33
  */
@@ -73,7 +73,7 @@ class Components extends Base {
73
  *
74
  * @return void
75
  * @since 7.0.2
76
- * @see FactoryPages457_AdminPage
77
  *
78
  */
79
  public function assets($scripts, $styles)
@@ -83,8 +83,8 @@ class Components extends Base {
83
  $this->styles->add(WTITAN_PLUGIN_URL . '/admin/assets/css/components.css');
84
 
85
  /**
86
- * @param \Wbcr_Factory458_StyleList $styles
87
- * @param \Wbcr_Factory458_ScriptList $scripts
88
  *
89
  * @since 7.0.3
90
  *
@@ -99,7 +99,7 @@ class Components extends Base {
99
  * @param Plugin $plugin
100
  *
101
  * @return array
102
- * @see 'libs\factory\pages\templates\FactoryPages457_ImpressiveThemplate'
103
  */
104
  public function getActionNotices($notices)
105
  {
27
  * Mainly used to navigate between pages.
28
  *
29
  * @since 7.0.3
30
+ * @see FactoryPages460_AdminPage
31
  *
32
  * @var string
33
  */
73
  *
74
  * @return void
75
  * @since 7.0.2
76
+ * @see FactoryPages460_AdminPage
77
  *
78
  */
79
  public function assets($scripts, $styles)
83
  $this->styles->add(WTITAN_PLUGIN_URL . '/admin/assets/css/components.css');
84
 
85
  /**
86
+ * @param \Wbcr_Factory460_StyleList $styles
87
+ * @param \Wbcr_Factory460_ScriptList $scripts
88
  *
89
  * @since 7.0.3
90
  *
99
  * @param Plugin $plugin
100
  *
101
  * @return array
102
+ * @see 'libs\factory\pages\templates\FactoryPages460_ImpressiveThemplate'
103
  */
104
  public function getActionNotices($notices)
105
  {
admin/pages/class-pages-dashboard.php CHANGED
@@ -129,12 +129,12 @@ class Dashboard extends Base {
129
  /**
130
  * Logs constructor.
131
  *
132
- * @param \Wbcr_Factory458_Plugin $plugin
133
  *
134
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
135
  *
136
  */
137
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
138
  $this->plugin = $plugin;
139
 
140
  $this->menu_title = __( 'Titan Anti-spam', 'titan-security' );
129
  /**
130
  * Logs constructor.
131
  *
132
+ * @param \Wbcr_Factory460_Plugin $plugin
133
  *
134
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
135
  *
136
  */
137
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
138
  $this->plugin = $plugin;
139
 
140
  $this->menu_title = __( 'Titan Anti-spam', 'titan-security' );
admin/pages/class-pages-license.php CHANGED
@@ -16,7 +16,7 @@ if( !defined('ABSPATH') ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class License extends \WBCR\Factory_Templates_110\Pages\License {
20
 
21
  /**
22
  * {@inheritdoc}
@@ -58,12 +58,12 @@ class License extends \WBCR\Factory_Templates_110\Pages\License {
58
  /**
59
  * WCL_LicensePage constructor.
60
  *
61
- * @param \Wbcr_Factory458_Plugin $plugin
62
  *
63
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
64
  *
65
  */
66
- public function __construct(\Wbcr_Factory458_Plugin $plugin)
67
  {
68
  $this->menu_title = __('License', 'titan-security');
69
  $this->page_menu_short_description = __('Product activation', 'titan-security');
@@ -126,12 +126,12 @@ class License extends \WBCR\Factory_Templates_110\Pages\License {
126
  /**
127
  * {@inheritDoc}
128
  * @param $notices
129
- * @param \Wbcr_Factory458_Plugin $plugin
130
  *
131
  * @return array
132
  * @since 6.5.2
133
  *
134
- * @see \FactoryPages457_ImpressiveThemplate
135
  */
136
  /*public function getActionNotices($notices)
137
  {
@@ -280,14 +280,14 @@ class License extends \WBCR\Factory_Templates_110\Pages\License {
280
  if( $this->is_premium ):
281
  ?>
282
  <p style="margin-top: 10px;">
283
- <?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'wbcr_factory_templates_110'), $this->plugin->get_support()->get_pricing_url(true, 'license_page')); ?>
284
  </p>
285
  <?php else: ?>
286
  <p style="margin-top: 10px;">
287
- <?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'wbcr_factory_templates_110'), "https://users.freemius.com/") ?>
288
  </p>
289
  <p style="margin-top: 10px;">
290
- <?php printf(__('We use certain personal data, such as your email address. By activating the license, you confirm that you have read the <a href="https://titansitescanner.com/terms-of-use/">Terms of Service</a> and <a href="https://titansitescanner.com/privacy/">Privacy Policy (in accordance with GDPR)</a>', 'wbcr_factory_templates_110'), $this->plugin->get_support()->get_contacts_url(true, 'license_page')) ?>
291
  </p>
292
  <?php endif;
293
  }
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class License extends \WBCR\Factory_Templates_112\Pages\License {
20
 
21
  /**
22
  * {@inheritdoc}
58
  /**
59
  * WCL_LicensePage constructor.
60
  *
61
+ * @param \Wbcr_Factory460_Plugin $plugin
62
  *
63
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
64
  *
65
  */
66
+ public function __construct(\Wbcr_Factory460_Plugin $plugin)
67
  {
68
  $this->menu_title = __('License', 'titan-security');
69
  $this->page_menu_short_description = __('Product activation', 'titan-security');
126
  /**
127
  * {@inheritDoc}
128
  * @param $notices
129
+ * @param \Wbcr_Factory460_Plugin $plugin
130
  *
131
  * @return array
132
  * @since 6.5.2
133
  *
134
+ * @see \FactoryPages460_ImpressiveThemplate
135
  */
136
  /*public function getActionNotices($notices)
137
  {
280
  if( $this->is_premium ):
281
  ?>
282
  <p style="margin-top: 10px;">
283
+ <?php printf(__('<a href="%s" target="_blank" rel="noopener">Lean more</a> about the premium version and get the license key to activate it now!', 'wbcr_factory_templates_112'), $this->plugin->get_support()->get_pricing_url(true, 'license_page')); ?>
284
  </p>
285
  <?php else: ?>
286
  <p style="margin-top: 10px;">
287
+ <?php printf(__('Can’t find your key? Go to <a href="%s" target="_blank" rel="noopener">this page</a> and login using the e-mail address associated with your purchase.', 'wbcr_factory_templates_112'), "https://users.freemius.com/") ?>
288
  </p>
289
  <p style="margin-top: 10px;">
290
+ <?php printf(__('We use certain personal data, such as your email address. By activating the license, you confirm that you have read the <a href="https://titansitescanner.com/terms-of-use/">Terms of Service</a> and <a href="https://titansitescanner.com/privacy/">Privacy Policy (in accordance with GDPR)</a>', 'wbcr_factory_templates_112'), $this->plugin->get_support()->get_contacts_url(true, 'license_page')) ?>
291
  </p>
292
  <?php endif;
293
  }
admin/pages/class-pages-logs.php CHANGED
@@ -50,12 +50,12 @@ class Logs extends Base {
50
  /**
51
  * Logs constructor.
52
  *
53
- * @param \Wbcr_Factory458_Plugin $plugin
54
  *
55
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
  *
57
  */
58
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
59
 
60
  $this->menu_title = __( 'Error Log', 'titan-security' );
61
  $this->page_menu_short_description = __( 'Plugin debug report', 'titan-security' );
50
  /**
51
  * Logs constructor.
52
  *
53
+ * @param \Wbcr_Factory460_Plugin $plugin
54
  *
55
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
  *
57
  */
58
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
59
 
60
  $this->menu_title = __( 'Error Log', 'titan-security' );
61
  $this->page_menu_short_description = __( 'Plugin debug report', 'titan-security' );
admin/pages/class-pages-plugin-settings.php CHANGED
@@ -4,7 +4,7 @@ namespace WBCR\Titan\Page;
4
 
5
  use WBCR\Titan\Plugin;
6
  use WBCR\Titan\Plugin\Helper;
7
- use Wbcr_Factory458_Plugin;
8
 
9
  /**
10
  * The plugin Settings.
@@ -46,9 +46,9 @@ class PluginSettings extends Base {
46
  public $page_menu_position = 2;
47
 
48
  /**
49
- * @param Wbcr_Factory458_Plugin $plugin
50
  */
51
- public function __construct(Wbcr_Factory458_Plugin $plugin)
52
  {
53
  $this->menu_title = __('Settings', 'titan-security');
54
  $this->page_menu_short_description = __('Global plugin settings', 'titan-security');
4
 
5
  use WBCR\Titan\Plugin;
6
  use WBCR\Titan\Plugin\Helper;
7
+ use Wbcr_Factory460_Plugin;
8
 
9
  /**
10
  * The plugin Settings.
46
  public $page_menu_position = 2;
47
 
48
  /**
49
+ * @param Wbcr_Factory460_Plugin $plugin
50
  */
51
+ public function __construct(Wbcr_Factory460_Plugin $plugin)
52
  {
53
  $this->menu_title = __('Settings', 'titan-security');
54
  $this->page_menu_short_description = __('Global plugin settings', 'titan-security');
admin/pages/class-pages-scanner.php CHANGED
@@ -4,7 +4,7 @@ namespace WBCR\Titan\Page;
4
 
5
  use WBCR\Titan;
6
 
7
- use Wbcr_Factory458_Plugin;
8
  use Wbcr_FactoryClearfy000_PageBase;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
@@ -57,10 +57,10 @@ class Scanner extends Base {
57
  /**
58
  * Scanner constructor.
59
  *
60
- * @param Wbcr_Factory458_Plugin $plugin
61
  *
62
  */
63
- public function __construct( Wbcr_Factory458_Plugin $plugin ) {
64
  $this->plugin = $plugin;
65
 
66
  $this->menu_title = __( 'Scanner', 'titan-security' );
4
 
5
  use WBCR\Titan;
6
 
7
+ use Wbcr_Factory460_Plugin;
8
  use Wbcr_FactoryClearfy000_PageBase;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
57
  /**
58
  * Scanner constructor.
59
  *
60
+ * @param Wbcr_Factory460_Plugin $plugin
61
  *
62
  */
63
+ public function __construct( Wbcr_Factory460_Plugin $plugin ) {
64
  $this->plugin = $plugin;
65
 
66
  $this->menu_title = __( 'Scanner', 'titan-security' );
admin/pages/class-pages-sitechecker.php CHANGED
@@ -65,10 +65,10 @@ class SiteChecker extends Base {
65
  /**
66
  * Site Checker constructor.
67
  *
68
- * @param \Wbcr_Factory458_Plugin $plugin
69
  *
70
  */
71
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
72
  $this->plugin = $plugin;
73
 
74
  $this->menu_title = __( 'Site Checker', 'titan-security' );
65
  /**
66
  * Site Checker constructor.
67
  *
68
+ * @param \Wbcr_Factory460_Plugin $plugin
69
  *
70
  */
71
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
72
  $this->plugin = $plugin;
73
 
74
  $this->menu_title = __( 'Site Checker', 'titan-security' );
admin/pages/class-pages-tweaks.php CHANGED
@@ -45,12 +45,12 @@ class Tweaks extends Base {
45
  /**
46
  * WBCR\Page\Settings constructor.
47
  *
48
- * @param \Wbcr_Factory458_Plugin $plugin
49
  *
50
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
51
  *
52
  */
53
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
54
  $this->menu_title = __( 'Tweaks', 'titan-security' );
55
  $this->page_menu_short_description = __( 'Security tweaks', 'titan-security' );
56
 
@@ -66,7 +66,7 @@ class Tweaks extends Base {
66
  *
67
  * @return void
68
  * @since 6.2
69
- * @see Wbcr_FactoryPages457_AdminPage
70
  *
71
  */
72
  public function assets( $scripts, $styles ) {
45
  /**
46
  * WBCR\Page\Settings constructor.
47
  *
48
+ * @param \Wbcr_Factory460_Plugin $plugin
49
  *
50
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
51
  *
52
  */
53
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
54
  $this->menu_title = __( 'Tweaks', 'titan-security' );
55
  $this->page_menu_short_description = __( 'Security tweaks', 'titan-security' );
56
 
66
  *
67
  * @return void
68
  * @since 6.2
69
+ * @see Wbcr_FactoryPages460_AdminPage
70
  *
71
  */
72
  public function assets( $scripts, $styles ) {
admin/pages/firewall/class-pages-bruteforce.php CHANGED
@@ -49,12 +49,12 @@ class Brute_Force extends Base {
49
  /**
50
  * Logs constructor.
51
  *
52
- * @param \Wbcr_Factory458_Plugin $plugin
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  *
56
  */
57
- public function __construct( \Wbcr_Factory458_Plugin $plugin ) {
58
  $this->plugin = $plugin;
59
 
60
  $this->menu_title = __( 'Limit login Attempts', 'titan-security' );
@@ -71,7 +71,7 @@ class Brute_Force extends Base {
71
  *
72
  * @return void
73
  * @since 6.2
74
- * @see Wbcr_FactoryPages457_AdminPage
75
  *
76
  */
77
  public function assets( $scripts, $styles ) {
49
  /**
50
  * Logs constructor.
51
  *
52
+ * @param \Wbcr_Factory460_Plugin $plugin
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  *
56
  */
57
+ public function __construct( \Wbcr_Factory460_Plugin $plugin ) {
58
  $this->plugin = $plugin;
59
 
60
  $this->menu_title = __( 'Limit login Attempts', 'titan-security' );
71
  *
72
  * @return void
73
  * @since 6.2
74
+ * @see Wbcr_FactoryPages460_AdminPage
75
  *
76
  */
77
  public function assets( $scripts, $styles ) {
admin/pages/firewall/class-pages-firewall-attacks-log.php CHANGED
@@ -64,7 +64,7 @@ class Firewall_Attacks_Log extends Base {
64
  /**
65
  * Logs constructor.
66
  *
67
- * @param \Wbcr_Factory458_Plugin $plugin
68
  *
69
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
70
  *
64
  /**
65
  * Logs constructor.
66
  *
67
+ * @param \Wbcr_Factory460_Plugin $plugin
68
  *
69
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
70
  *
admin/pages/firewall/class-pages-firewall-blocking.php CHANGED
@@ -65,7 +65,7 @@ class Firewall_Blocking extends Base {
65
  /**
66
  * WBCR\Page\Settings constructor.
67
  *
68
- * @param \Wbcr_Factory458_Plugin $plugin
69
  *
70
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
71
  *
@@ -85,7 +85,7 @@ class Firewall_Blocking extends Base {
85
  *
86
  * @return void
87
  * @since 6.2
88
- * @see Wbcr_FactoryPages457_AdminPage
89
  *
90
  */
91
  public function assets( $scripts, $styles ) {
65
  /**
66
  * WBCR\Page\Settings constructor.
67
  *
68
+ * @param \Wbcr_Factory460_Plugin $plugin
69
  *
70
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
71
  *
85
  *
86
  * @return void
87
  * @since 6.2
88
+ * @see Wbcr_FactoryPages460_AdminPage
89
  *
90
  */
91
  public function assets( $scripts, $styles ) {
admin/pages/firewall/class-pages-firewall-login-attempts.php CHANGED
@@ -64,7 +64,7 @@ class Firewall_Login_Attempts extends Base {
64
  /**
65
  * Logs constructor.
66
  *
67
- * @param \Wbcr_Factory458_Plugin $plugin
68
  *
69
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
70
  *
@@ -144,8 +144,8 @@ class Firewall_Login_Attempts extends Base {
144
  <td class="wtitan-attacks-log__table-column">
145
  <?php if ( ! empty( $lockouts[ $user_info['ip'] ] ) && $lockouts[ $user_info['ip'] ] > time() ) : ?>
146
  <a href="#" class="button limit-login-unlock"
147
- data-ip="<?= esc_attr( $user_info['ip'] ) ?>"
148
- data-username="<?= esc_attr( $user_info['username'] ) ?>">Unlock</a>
149
  <?php elseif ( $user_info['unlocked'] ): ?>
150
  Unlocked
151
  <?php endif ?>
64
  /**
65
  * Logs constructor.
66
  *
67
+ * @param \Wbcr_Factory460_Plugin $plugin
68
  *
69
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
70
  *
144
  <td class="wtitan-attacks-log__table-column">
145
  <?php if ( ! empty( $lockouts[ $user_info['ip'] ] ) && $lockouts[ $user_info['ip'] ] > time() ) : ?>
146
  <a href="#" class="button limit-login-unlock"
147
+ data-ip="<?php echo esc_attr( $user_info['ip'] ) ?>"
148
+ data-username="<?php echo esc_attr( $user_info['username'] ) ?>">Unlock</a>
149
  <?php elseif ( $user_info['unlocked'] ): ?>
150
  Unlocked
151
  <?php endif ?>
admin/pages/firewall/class-pages-firewall-settings.php CHANGED
@@ -52,7 +52,7 @@ class Firewall_Settings extends Base {
52
  /**
53
  * WBCR\Page\Settings constructor.
54
  *
55
- * @param \Wbcr_Factory458_Plugin $plugin
56
  *
57
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
58
  *
@@ -73,7 +73,7 @@ class Firewall_Settings extends Base {
73
  *
74
  * @return void
75
  * @since 6.2
76
- * @see Wbcr_FactoryPages457_AdminPage
77
  *
78
  */
79
  public function assets( $scripts, $styles ) {
52
  /**
53
  * WBCR\Page\Settings constructor.
54
  *
55
+ * @param \Wbcr_Factory460_Plugin $plugin
56
  *
57
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
58
  *
73
  *
74
  * @return void
75
  * @since 6.2
76
+ * @see Wbcr_FactoryPages460_AdminPage
77
  *
78
  */
79
  public function assets( $scripts, $styles ) {
admin/pages/firewall/class-pages-firewall.php CHANGED
@@ -51,7 +51,7 @@ class Firewall extends Base {
51
  /**
52
  * Logs constructor.
53
  *
54
- * @param \Wbcr_Factory458_Plugin $plugin
55
  *
56
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
57
  *
51
  /**
52
  * Logs constructor.
53
  *
54
+ * @param \Wbcr_Factory460_Plugin $plugin
55
  *
56
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
57
  *
admin/pages/setup/class-pages-setup.php CHANGED
@@ -13,21 +13,21 @@ if( !defined('ABSPATH') ) {
13
  exit;
14
  }
15
 
16
- class Setup extends \WBCR\Factory_Templates_110\Pages\Setup {
17
 
18
  /**
19
- * @param \Wbcr_Factory458_Plugin $plugin
20
  */
21
- public function __construct(\Wbcr_Factory458_Plugin $plugin)
22
  {
23
  parent::__construct($plugin);
24
 
25
  $path = WTITAN_PLUGIN_DIR . '/admin/pages/setup/steps';
26
 
27
- #Step 1 is default \WBCR\Factory_Templates_110\Pages\Step_Plugins
28
  $this->register_step($path . '/class-step-default.php', '\WBCR\Titan\Page\Step_Default');
29
 
30
- #Step 2 \WBCR\Factory_Templates_110\Pages\Step_Plugins
31
  $this->register_step($path . '/class-step-plugins.php', '\WBCR\Titan\Page\Step_Plugins');
32
  #Step 3
33
  $this->register_step($path . '/class-step-security-audit.php', '\WBCR\Titan\Page\Step_Security_Audit');
@@ -53,7 +53,7 @@ class Setup extends \WBCR\Factory_Templates_110\Pages\Setup {
53
  *
54
  * @return void
55
  * @since 1.0.0
56
- * @see FactoryPages457_AdminPage
57
  *
58
  */
59
  public function assets($scripts, $styles)
13
  exit;
14
  }
15
 
16
+ class Setup extends \WBCR\Factory_Templates_112\Pages\Setup {
17
 
18
  /**
19
+ * @param \Wbcr_Factory460_Plugin $plugin
20
  */
21
+ public function __construct(\Wbcr_Factory460_Plugin $plugin)
22
  {
23
  parent::__construct($plugin);
24
 
25
  $path = WTITAN_PLUGIN_DIR . '/admin/pages/setup/steps';
26
 
27
+ #Step 1 is default \WBCR\Factory_Templates_112\Pages\Step_Plugins
28
  $this->register_step($path . '/class-step-default.php', '\WBCR\Titan\Page\Step_Default');
29
 
30
+ #Step 2 \WBCR\Factory_Templates_112\Pages\Step_Plugins
31
  $this->register_step($path . '/class-step-plugins.php', '\WBCR\Titan\Page\Step_Plugins');
32
  #Step 3
33
  $this->register_step($path . '/class-step-security-audit.php', '\WBCR\Titan\Page\Step_Security_Audit');
53
  *
54
  * @return void
55
  * @since 1.0.0
56
+ * @see FactoryPages460_AdminPage
57
  *
58
  */
59
  public function assets($scripts, $styles)
admin/pages/setup/steps/class-step-congratulation.php CHANGED
@@ -8,7 +8,7 @@ namespace WBCR\Titan\Page;
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
- class Step_Congratulation extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
12
 
13
  protected $prev_id = 'step5';
14
  protected $id = 'step6';
@@ -23,7 +23,7 @@ class Step_Congratulation extends \WBCR\Factory_Templates_110\Pages\Step_Custom
23
  *
24
  * @return void
25
  * @since 1.0.0
26
- * @see FactoryPages457_AdminPage
27
  *
28
  */
29
  public function assets($scripts, $styles)
@@ -37,7 +37,7 @@ class Step_Congratulation extends \WBCR\Factory_Templates_110\Pages\Step_Custom
37
  {
38
  $pricing_page_url = $this->plugin->get_support()->get_pricing_url(true, 'setup_wizard');
39
  ?>
40
- <div class="w-factory-templates-110-setup__inner-wrap">
41
  <h3><?php _e("Congratulations, the plugin configuration is complete!", "titan-security"); ?></h3>
42
  <script>
43
  jQuery(document).ready(function($) {
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
+ class Step_Congratulation extends \WBCR\Factory_Templates_112\Pages\Step_Custom {
12
 
13
  protected $prev_id = 'step5';
14
  protected $id = 'step6';
23
  *
24
  * @return void
25
  * @since 1.0.0
26
+ * @see FactoryPages460_AdminPage
27
  *
28
  */
29
  public function assets($scripts, $styles)
37
  {
38
  $pricing_page_url = $this->plugin->get_support()->get_pricing_url(true, 'setup_wizard');
39
  ?>
40
+ <div class="w-factory-templates-112-setup__inner-wrap">
41
  <h3><?php _e("Congratulations, the plugin configuration is complete!", "titan-security"); ?></h3>
42
  <script>
43
  jQuery(document).ready(function($) {
admin/pages/setup/steps/class-step-default.php CHANGED
@@ -8,7 +8,7 @@ namespace WBCR\Titan\Page;
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
- class Step_Default extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
12
 
13
  protected $id = 'step0';
14
  protected $next_id = 'step1';
@@ -21,12 +21,12 @@ class Step_Default extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
21
  public function html()
22
  {
23
  ?>
24
- <div class="w-factory-templates-110-setup__inner-wrap">
25
- <div class="w-factory-templates-110-setup-step__new_onboarding-wrapper">
26
- <p class="w-factory-templates-110-setup-step__new_onboarding-welcome">
27
  <?php _e('Welcome to', 'titan-security') ?>
28
  </p>
29
- <h1 class="w-factory-templates-110-logo">
30
  <img src="<?php echo WTITAN_PLUGIN_URL; ?>/admin/assets/img/logo9.png" alt="">
31
  </h1>
32
  <p><?php _e('Protect your site from external and internal threats in just 2 minutes.', 'titan-security') ?></p>
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
+ class Step_Default extends \WBCR\Factory_Templates_112\Pages\Step_Custom {
12
 
13
  protected $id = 'step0';
14
  protected $next_id = 'step1';
21
  public function html()
22
  {
23
  ?>
24
+ <div class="w-factory-templates-112-setup__inner-wrap">
25
+ <div class="w-factory-templates-112-setup-step__new_onboarding-wrapper">
26
+ <p class="w-factory-templates-112-setup-step__new_onboarding-welcome">
27
  <?php _e('Welcome to', 'titan-security') ?>
28
  </p>
29
+ <h1 class="w-factory-templates-112-logo">
30
  <img src="<?php echo WTITAN_PLUGIN_URL; ?>/admin/assets/img/logo9.png" alt="">
31
  </h1>
32
  <p><?php _e('Protect your site from external and internal threats in just 2 minutes.', 'titan-security') ?></p>
admin/pages/setup/steps/class-step-plugins.php CHANGED
@@ -8,7 +8,7 @@ namespace WBCR\Titan\Page;
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
- class Step_Plugins extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
12
 
13
  protected $prev_id = 'step0';
14
  protected $id = 'step1';
@@ -23,7 +23,7 @@ class Step_Plugins extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
23
  {
24
  $install_hide_login_page_btn = $this->plugin->get_install_component_button('wordpress', 'hide-login-page/hide-login-page.php');
25
  ?>
26
- <div class="w-factory-templates-110-setup__inner-wrap">
27
  <h3><?php _e('Installing plugins', 'titan-security') ?></h3>
28
  <p style="text-align: left;"><?php _e('We analyzed your site and decided that in order to get the maximum result in
29
  optimizing your site, you will need to install additional plugins.', 'titan-security') ?></p>
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
+ class Step_Plugins extends \WBCR\Factory_Templates_112\Pages\Step_Custom {
12
 
13
  protected $prev_id = 'step0';
14
  protected $id = 'step1';
23
  {
24
  $install_hide_login_page_btn = $this->plugin->get_install_component_button('wordpress', 'hide-login-page/hide-login-page.php');
25
  ?>
26
+ <div class="w-factory-templates-112-setup__inner-wrap">
27
  <h3><?php _e('Installing plugins', 'titan-security') ?></h3>
28
  <p style="text-align: left;"><?php _e('We analyzed your site and decided that in order to get the maximum result in
29
  optimizing your site, you will need to install additional plugins.', 'titan-security') ?></p>
admin/pages/setup/steps/class-step-security-audit.php CHANGED
@@ -8,7 +8,7 @@ namespace WBCR\Titan\Page;
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
- class Step_Security_Audit extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
12
 
13
  protected $prev_id = 'step1';
14
  protected $id = 'step2';
@@ -78,7 +78,7 @@ class Step_Security_Audit extends \WBCR\Factory_Templates_110\Pages\Step_Custom
78
  });
79
  });
80
  </script>
81
- <div class="w-factory-templates-110-setup__inner-wrap">
82
  <h3><?php _e("Security Audit", "titan-security"); ?> (<?php _e("Issues", "titan-security"); ?>)</h3>
83
  <p style="text-align: left;">
84
  <?php _e("We will audit your site for potential threats, vulnerabilities and security issues. Please see the list
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
+ class Step_Security_Audit extends \WBCR\Factory_Templates_112\Pages\Step_Custom {
12
 
13
  protected $prev_id = 'step1';
14
  protected $id = 'step2';
78
  });
79
  });
80
  </script>
81
+ <div class="w-factory-templates-112-setup__inner-wrap">
82
  <h3><?php _e("Security Audit", "titan-security"); ?> (<?php _e("Issues", "titan-security"); ?>)</h3>
83
  <p style="text-align: left;">
84
  <?php _e("We will audit your site for potential threats, vulnerabilities and security issues. Please see the list
admin/pages/setup/steps/class-step-setting-antispam.php CHANGED
@@ -8,7 +8,7 @@ namespace WBCR\Titan\Page;
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
- class Step_Setting_Antispam extends \WBCR\Factory_Templates_110\Pages\Step_Form {
12
 
13
  protected $prev_id = 'step4';
14
  protected $id = 'step5';
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
+ class Step_Setting_Antispam extends \WBCR\Factory_Templates_112\Pages\Step_Form {
12
 
13
  protected $prev_id = 'step4';
14
  protected $id = 'step5';
admin/pages/setup/steps/class-step-setting-scan-malware.php CHANGED
@@ -9,7 +9,7 @@ namespace WBCR\Titan\Page;
9
  * @copyright (c) 23.07.2020, Webcraftic
10
  * @version 1.0
11
  */
12
- class Step_Scan_Malware extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
13
 
14
  protected $prev_id = 'step2';
15
  protected $id = 'step3';
@@ -60,7 +60,7 @@ class Step_Scan_Malware extends \WBCR\Factory_Templates_110\Pages\Step_Custom {
60
  }
61
 
62
  ?>
63
- <div class="w-factory-templates-110-setup__inner-wrap">
64
  <h3><?php _e("Scan Malware", 'titan-security'); ?></h3>
65
  <p style="text-align: left;">
66
  <?php _e("Titan Scanner to check your website for viruses and malicious code. After scan, you will receive a detailed report on the crawl of your site.", 'titan-security'); ?>
9
  * @copyright (c) 23.07.2020, Webcraftic
10
  * @version 1.0
11
  */
12
+ class Step_Scan_Malware extends \WBCR\Factory_Templates_112\Pages\Step_Custom {
13
 
14
  protected $prev_id = 'step2';
15
  protected $id = 'step3';
60
  }
61
 
62
  ?>
63
+ <div class="w-factory-templates-112-setup__inner-wrap">
64
  <h3><?php _e("Scan Malware", 'titan-security'); ?></h3>
65
  <p style="text-align: left;">
66
  <?php _e("Titan Scanner to check your website for viruses and malicious code. After scan, you will receive a detailed report on the crawl of your site.", 'titan-security'); ?>
admin/pages/setup/steps/class-step-setting-tweaks.php CHANGED
@@ -8,7 +8,7 @@ namespace WBCR\Titan\Page;
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
- class Step_Setting_Tweaks extends \WBCR\Factory_Templates_110\Pages\Step_Form {
12
 
13
  protected $prev_id = 'step3';
14
  protected $id = 'step4';
8
  * @copyright (c) 23.07.2020, Webcraftic
9
  * @version 1.0
10
  */
11
+ class Step_Setting_Tweaks extends \WBCR\Factory_Templates_112\Pages\Step_Form {
12
 
13
  protected $prev_id = 'step3';
14
  protected $id = 'step4';
anti-spam.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Titan Anti-spam & Security
4
  Plugin URI: http://wordpress.org/plugins/anti-spam/
5
  Description: Titan Security - Anti-spam, Anti-virus, Firewall and Malware Scan
6
- Version: 7.3.2
7
  Author: CreativeMotion
8
  Text Domain: titan-security
9
  Author URI: https://cm-wp.com/
@@ -107,18 +107,18 @@ $wtitan_plugin_info = [
107
 
108
  // FRAMEWORK MODULES
109
  'load_factory_modules' => [
110
- ['libs/factory/bootstrap', 'factory_bootstrap_459', 'admin'],
111
- ['libs/factory/forms', 'factory_forms_455', 'admin'],
112
- ['libs/factory/pages', 'factory_pages_457', 'admin'],
113
- ['libs/factory/templates', 'factory_templates_110', 'all'],
114
- ['libs/factory/freemius', 'factory_freemius_145', 'all'],
115
- ['libs/factory/feedback', 'factory_feedback_118', 'admin']
116
  ],
117
  'load_plugin_components' => []
118
 
119
  ];
120
 
121
- $wtitan_compatibility = new Wbcr_Factory458_Requirements(__FILE__, array_merge($wtitan_plugin_info, [
122
  'plugin_already_activate' => defined('WTITAN_PLUGIN_ACTIVE'),
123
  'required_php_version' => '7.0',
124
  'required_wp_version' => '5.4.0',
@@ -173,7 +173,7 @@ try {
173
 
174
  $wtitan_plugin_error_func = function () use ($e) {
175
  $error = sprintf("The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'CreativeMotion Titan security', $e->getMessage(), $e->getCode());
176
- echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
177
  };
178
 
179
  add_action('admin_notices', $wtitan_plugin_error_func);
3
  Plugin Name: Titan Anti-spam & Security
4
  Plugin URI: http://wordpress.org/plugins/anti-spam/
5
  Description: Titan Security - Anti-spam, Anti-virus, Firewall and Malware Scan
6
+ Version: 7.3.4
7
  Author: CreativeMotion
8
  Text Domain: titan-security
9
  Author URI: https://cm-wp.com/
107
 
108
  // FRAMEWORK MODULES
109
  'load_factory_modules' => [
110
+ ['libs/factory/bootstrap', 'factory_bootstrap_461', 'admin'],
111
+ ['libs/factory/forms', 'factory_forms_457', 'admin'],
112
+ ['libs/factory/pages', 'factory_pages_460', 'admin'],
113
+ ['libs/factory/templates', 'factory_templates_112', 'all'],
114
+ ['libs/factory/freemius', 'factory_freemius_147', 'all'],
115
+ ['libs/factory/feedback', 'factory_feedback_120', 'admin']
116
  ],
117
  'load_plugin_components' => []
118
 
119
  ];
120
 
121
+ $wtitan_compatibility = new Wbcr_Factory460_Requirements(__FILE__, array_merge($wtitan_plugin_info, [
122
  'plugin_already_activate' => defined('WTITAN_PLUGIN_ACTIVE'),
123
  'required_php_version' => '7.0',
124
  'required_wp_version' => '5.4.0',
173
 
174
  $wtitan_plugin_error_func = function () use ($e) {
175
  $error = sprintf("The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'CreativeMotion Titan security', $e->getMessage(), $e->getCode());
176
+ echo '<div class="notice notice-error"><p>' . esc_html($error) . '</p></div>';
177
  };
178
 
179
  add_action('admin_notices', $wtitan_plugin_error_func);
assets/img/vertical_maintance.jpeg ADDED
Binary file
includes/antispam/assets/js/settings.js CHANGED
@@ -12,8 +12,8 @@
12
 
13
  $.wantispam = {};
14
 
15
- if ($.wbcr_factory_templates_110) {
16
- $.wantispam = $.wbcr_factory_templates_110;
17
  }
18
 
19
  $('.factory-checkbox--disabled.wantispam-checkbox-premium-label').click(function (e) {
12
 
13
  $.wantispam = {};
14
 
15
+ if ($.wbcr_factory_templates_112) {
16
+ $.wantispam = $.wbcr_factory_templates_112;
17
  }
18
 
19
  $('.factory-checkbox--disabled.wantispam-checkbox-premium-label').click(function (e) {
includes/antispam/classes/class-antispam.php CHANGED
@@ -3,7 +3,7 @@
3
  namespace WBCR\Titan;
4
 
5
  // Exit if accessed directly
6
- if ( ! defined( 'ABSPATH' ) ) {
7
  exit;
8
  }
9
 
@@ -45,49 +45,52 @@ class Antispam extends Module_Base {
45
  * Vulnerabilities constructor.
46
  *
47
  */
48
- public function __construct() {
 
49
  parent::__construct();
50
  self::$app = $this;
51
 
52
  $this->module_dir = WTITAN_PLUGIN_DIR . "/includes/antispam";
53
  $this->module_url = WTITAN_PLUGIN_URL . "/includes/antispam";
54
 
55
- $this->mode = $this->plugin->getOption( 'antispam_mode', true );
56
 
57
- add_action( 'wp_ajax_wtitan-change-antispam-mode', [ $this, 'change_antispam_mode' ] );
58
  }
59
 
60
  /**
61
  * @return Antispam
62
  * @since 7.0
63
  */
64
- public static function app() {
 
65
  return self::$app;
66
  }
67
 
68
  /**
69
  * AJAX Enable/Disable anti-spam
70
  */
71
- public function change_antispam_mode() {
72
- check_ajax_referer( 'wtitan_change_antispam_mode' );
 
73
 
74
- if ( ! current_user_can( 'manage_options' ) ) {
75
- wp_send_json( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'titan-security' ) ] );
76
  }
77
 
78
- if ( isset( $_POST['mode'] ) ) {
79
 
80
- $mode_name = $_POST['mode'];
81
 
82
- \WBCR\Titan\Plugin::app()->updatePopulateOption( 'antispam_mode', $mode_name );
83
 
84
- if ( (bool) $mode_name ) {
85
- wp_send_json( [
86
- 'message' => __( "Anti-spam successfully enabled", "titan-security" ),
87
- 'mode' => $mode_name,
88
- ] );
89
  } else {
90
- wp_send_json( [ 'message' => __( "Anti-spam successfully disabled", "titan-security" ) ] );
91
  }
92
  }
93
  }
@@ -96,7 +99,8 @@ class Antispam extends Module_Base {
96
  *
97
  * @since 7.0
98
  */
99
- public function showPageContent() {
 
100
  }
101
 
102
  /**
@@ -110,36 +114,44 @@ class Antispam extends Module_Base {
110
  *
111
  */
112
 
113
- public function get_statistic_data() {
 
114
  $key = \WBCR\Titan\Plugin::app()->getPrefix() . 'stats_transient_';
115
 
116
- $cached = get_transient( $key );
117
 
118
- if ( $cached !== false ) {
119
- if ( isset( $cached->error_code ) && isset( $cached->error ) ) {
120
- delete_transient( $key );
121
 
122
- return new \WP_Error( $cached->error_code, $cached->error );
123
  }
124
 
125
  return $cached;
126
  }
127
 
128
- $api = new \WBCR\Titan\Premium\Api\Request();
129
- $data = $api->get_statistic( 7 );
 
130
 
131
- if ( is_wp_error( $data ) ) {
132
- set_transient( $key, (object) [
133
- 'error' => $data->get_error_message(),
134
- 'error_code' => $data->get_error_code(),
135
- ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS );
136
 
137
- return $data;
 
 
 
 
 
138
  }
139
 
140
- set_transient( $key, $data->response, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS );
 
141
 
142
- return $data->response;
143
  }
144
 
145
  }
3
  namespace WBCR\Titan;
4
 
5
  // Exit if accessed directly
6
+ if( !defined('ABSPATH') ) {
7
  exit;
8
  }
9
 
45
  * Vulnerabilities constructor.
46
  *
47
  */
48
+ public function __construct()
49
+ {
50
  parent::__construct();
51
  self::$app = $this;
52
 
53
  $this->module_dir = WTITAN_PLUGIN_DIR . "/includes/antispam";
54
  $this->module_url = WTITAN_PLUGIN_URL . "/includes/antispam";
55
 
56
+ $this->mode = $this->plugin->getOption('antispam_mode', true);
57
 
58
+ add_action('wp_ajax_wtitan-change-antispam-mode', [$this, 'change_antispam_mode']);
59
  }
60
 
61
  /**
62
  * @return Antispam
63
  * @since 7.0
64
  */
65
+ public static function app()
66
+ {
67
  return self::$app;
68
  }
69
 
70
  /**
71
  * AJAX Enable/Disable anti-spam
72
  */
73
+ public function change_antispam_mode()
74
+ {
75
+ check_ajax_referer('wtitan_change_antispam_mode');
76
 
77
+ if( !current_user_can('manage_options') ) {
78
+ wp_send_json(['error_message' => __('You don\'t have enough capability to edit this information.', 'titan-security')]);
79
  }
80
 
81
+ if( isset($_POST['mode']) ) {
82
 
83
+ $mode_name = sanitize_text_field($_POST['mode']);
84
 
85
+ \WBCR\Titan\Plugin::app()->updatePopulateOption('antispam_mode', $mode_name);
86
 
87
+ if( (bool)$mode_name ) {
88
+ wp_send_json([
89
+ 'message' => __("Anti-spam successfully enabled", "titan-security"),
90
+ 'mode' => $mode_name,
91
+ ]);
92
  } else {
93
+ wp_send_json(['message' => __("Anti-spam successfully disabled", "titan-security")]);
94
  }
95
  }
96
  }
99
  *
100
  * @since 7.0
101
  */
102
+ public function showPageContent()
103
+ {
104
  }
105
 
106
  /**
114
  *
115
  */
116
 
117
+ public function get_statistic_data()
118
+ {
119
  $key = \WBCR\Titan\Plugin::app()->getPrefix() . 'stats_transient_';
120
 
121
+ $cached = get_transient($key);
122
 
123
+ if( $cached !== false ) {
124
+ if( isset($cached->error_code) && isset($cached->error) ) {
125
+ delete_transient($key);
126
 
127
+ return new \WP_Error($cached->error_code, $cached->error);
128
  }
129
 
130
  return $cached;
131
  }
132
 
133
+ if( class_exists('\WBCR\Titan\Premium\Api\Request') ) {
134
+ $api = new \WBCR\Titan\Premium\Api\Request();
135
+ $data = $api->get_statistic(7);
136
 
137
+ if( is_wp_error($data) ) {
138
+ set_transient($key, (object)[
139
+ 'error' => $data->get_error_message(),
140
+ 'error_code' => $data->get_error_code(),
141
+ ], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS);
142
 
143
+ return $data;
144
+ }
145
+
146
+ set_transient($key, $data->response, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS);
147
+
148
+ return $data->response;
149
  }
150
 
151
+ $obj = new \stdClass();
152
+ $obj->total = 0;
153
 
154
+ return $obj;
155
  }
156
 
157
  }
includes/antispam/classes/class-protector.php CHANGED
@@ -131,12 +131,12 @@ class Protector {
131
  $commentdata['comment_parent'] = ( 'approved' == $parent_status || 'unapproved' == $parent_status ) ? $commentdata['comment_parent'] : 0;
132
 
133
  if ( ! isset( $commentdata['comment_author_IP'] ) ) {
134
- $commentdata['comment_author_IP'] = $_SERVER['REMOTE_ADDR'];
135
  }
136
  $commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '', $commentdata['comment_author_IP'] );
137
 
138
  if ( ! isset( $commentdata['comment_agent'] ) ) {
139
- $commentdata['comment_agent'] = isset( $_SERVER['HTTP_USER_AGENT'] ) ? $_SERVER['HTTP_USER_AGENT'] : '';
140
  }
141
  $commentdata['comment_agent'] = substr( $commentdata['comment_agent'], 0, 254 );
142
 
131
  $commentdata['comment_parent'] = ( 'approved' == $parent_status || 'unapproved' == $parent_status ) ? $commentdata['comment_parent'] : 0;
132
 
133
  if ( ! isset( $commentdata['comment_author_IP'] ) ) {
134
+ $commentdata['comment_author_IP'] = sanitize_text_field($_SERVER['REMOTE_ADDR']);
135
  }
136
  $commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '', $commentdata['comment_author_IP'] );
137
 
138
  if ( ! isset( $commentdata['comment_agent'] ) ) {
139
+ $commentdata['comment_agent'] = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field($_SERVER['HTTP_USER_AGENT']) : '';
140
  }
141
  $commentdata['comment_agent'] = substr( $commentdata['comment_agent'], 0, 254 );
142
 
includes/antispam/functions.php CHANGED
@@ -70,7 +70,7 @@ function wantispam_display_comment_form_privacy_notice( $echo = false ) {
70
  return $output;
71
  }
72
 
73
- echo $output;
74
  }
75
 
76
  /**
70
  return $output;
71
  }
72
 
73
+ echo esc_html($output);
74
  }
75
 
76
  /**
includes/audit/assets/js/audit_ajax.js CHANGED
@@ -23,9 +23,9 @@ function audit_ajax(action_before = true) {
23
  jQuery('#wt-checker-check').removeAttr('disabled');
24
  } else loader.attr('data-status', loader.attr('data-status') + 1);
25
 
26
- var noticeId = jQuery.wbcr_factory_templates_110.app.showNotice('Security audit success', 'success');
27
  setTimeout(function () {
28
- jQuery.wbcr_factory_templates_110.app.hideNotice(noticeId);
29
  }, 5000);
30
 
31
  if (action_before) {
23
  jQuery('#wt-checker-check').removeAttr('disabled');
24
  } else loader.attr('data-status', loader.attr('data-status') + 1);
25
 
26
+ var noticeId = jQuery.wbcr_factory_templates_112.app.showNotice('Security audit success', 'success');
27
  setTimeout(function () {
28
+ jQuery.wbcr_factory_templates_112.app.hideNotice(noticeId);
29
  }, 5000);
30
 
31
  if (action_before) {
includes/audit/views/all-audit.php CHANGED
@@ -8,7 +8,7 @@ if( is_array($args) && !empty($args) ) {
8
  if( $audit === false ) {
9
  ?>
10
  <div class="wtitan-audit-empty-container">
11
- <?= sprintf(__('Click %1s to perform a security audit', 'titan-security'), '<span class="btn btn-primary wt-nobutton">' . __('Check now', 'titan-security') . '</span>'); ?>
12
  </div>
13
  <?php
14
  } else if( !empty($audit) ) {
@@ -34,13 +34,13 @@ if( is_array($args) && !empty($args) ) {
34
  }
35
  ?>
36
  <tr>
37
- <td class="wtitan-vulner-table__td wt-severity-<?php echo $result->severity; ?> wtitan-vulner-table-first-col"></td>
38
- <td class="wtitan-vulner-table__td wtitan-vulner-table__title"><?php echo $result->title; ?></td>
39
- <td class="wtitan-vulner-table__td wtitan-vulner-table__description"><?php echo $result->description; ?></td>
40
  <td class="wtitan-vulner-table__td"><?php echo date_i18n('d.m.Y H:i', $result->timestamp); ?></td>
41
  <td class="wtitan-vulner-table__td">
42
  <a class="button button-default wt-scanner-hide-button"
43
- data-id="<?php echo $key; ?>"
44
  data-type="audit">Hide it</a>
45
  <?php if( empty($result->fix) ): ?>
46
  <?php elseif( $result->fix == "js" ): ?>
@@ -62,7 +62,7 @@ if( is_array($args) && !empty($args) ) {
62
  } else {
63
  ?>
64
  <div class="wtitan-audit-empty-container">
65
- <?= __('No security issues', 'titan-security'); ?>
66
  </div>
67
  <?php
68
  }
8
  if( $audit === false ) {
9
  ?>
10
  <div class="wtitan-audit-empty-container">
11
+ <?php echo sprintf(__('Click %1s to perform a security audit', 'titan-security'), '<span class="btn btn-primary wt-nobutton">' . __('Check now', 'titan-security') . '</span>'); ?>
12
  </div>
13
  <?php
14
  } else if( !empty($audit) ) {
34
  }
35
  ?>
36
  <tr>
37
+ <td class="wtitan-vulner-table__td wt-severity-<?php echo esc_attr($result->severity); ?> wtitan-vulner-table-first-col"></td>
38
+ <td class="wtitan-vulner-table__td wtitan-vulner-table__title"><?php echo esc_html($result->title); ?></td>
39
+ <td class="wtitan-vulner-table__td wtitan-vulner-table__description"><?php echo esc_html($result->description); ?></td>
40
  <td class="wtitan-vulner-table__td"><?php echo date_i18n('d.m.Y H:i', $result->timestamp); ?></td>
41
  <td class="wtitan-vulner-table__td">
42
  <a class="button button-default wt-scanner-hide-button"
43
+ data-id="<?php echo esc_attr($key); ?>"
44
  data-type="audit">Hide it</a>
45
  <?php if( empty($result->fix) ): ?>
46
  <?php elseif( $result->fix == "js" ): ?>
62
  } else {
63
  ?>
64
  <div class="wtitan-audit-empty-container">
65
+ <?php _e('No security issues', 'titan-security'); ?>
66
  </div>
67
  <?php
68
  }
includes/bruteforce/class-helpers.php CHANGED
@@ -15,7 +15,7 @@ class Helpers {
15
  return;
16
  }
17
 
18
- echo '<div id="message" class="updated fade"><p>' . $msg . '</p></div>';
19
  }
20
 
21
  /**
15
  return;
16
  }
17
 
18
+ echo '<div id="message" class="updated fade"><p>' . esc_html($msg) . '</p></div>';
19
  }
20
 
21
  /**
includes/bruteforce/class-limit-login-attempts.php CHANGED
@@ -923,7 +923,7 @@ class Limit_Login_Attempts {
923
 
924
  if ( isset( $_SERVER[ $origin ] ) && ! empty( $_SERVER[ $origin ] ) ) {
925
 
926
- $ip = $_SERVER[ $origin ];
927
  break;
928
  }
929
  }
@@ -992,7 +992,7 @@ class Limit_Login_Attempts {
992
 
993
  public function ajax_unlock() {
994
  check_ajax_referer( 'limit-login-unlock', 'sec' );
995
- $ip = (string) @$_POST['ip'];
996
 
997
  $lockouts = (array) $this->plugin->getOption( 'bruteforce_lockouts' );
998
 
@@ -1002,7 +1002,7 @@ class Limit_Login_Attempts {
1002
  }
1003
 
1004
  //save to log
1005
- $user_login = @(string) $_POST['username'];
1006
  $log = $this->plugin->getOption( 'bruteforce_logged' );
1007
 
1008
  if ( @$log[ $ip ][ $user_login ] ) {
923
 
924
  if ( isset( $_SERVER[ $origin ] ) && ! empty( $_SERVER[ $origin ] ) ) {
925
 
926
+ $ip = sanitize_text_field($_SERVER[ $origin ]);
927
  break;
928
  }
929
  }
992
 
993
  public function ajax_unlock() {
994
  check_ajax_referer( 'limit-login-unlock', 'sec' );
995
+ $ip = sanitize_text_field($_POST['ip']);
996
 
997
  $lockouts = (array) $this->plugin->getOption( 'bruteforce_lockouts' );
998
 
1002
  }
1003
 
1004
  //save to log
1005
+ $user_login = sanitize_text_field($_POST['username']);
1006
  $log = $this->plugin->getOption( 'bruteforce_logged' );
1007
 
1008
  if ( @$log[ $ip ][ $user_login ] ) {
includes/check/classes/class.check.php CHANGED
@@ -3,7 +3,7 @@
3
  namespace WBCR\Titan;
4
 
5
  // Exit if accessed directly
6
- if ( ! defined( 'ABSPATH' ) ) {
7
  exit;
8
  }
9
 
@@ -44,40 +44,39 @@ class Check extends Module_Base {
44
  * Vulnerabilities_API constructor.
45
  *
46
  */
47
- public function __construct() {
 
48
  parent::__construct();
49
 
50
- $this->module_dir = WTITAN_PLUGIN_DIR . "/includes/check";
51
- $this->module_url = WTITAN_PLUGIN_URL . "/includes/check";
52
  $this->vulnerabilities = new Vulnerabilities();
53
- $this->audit = new Audit();
54
- $this->scanner = new Scanner();
55
 
56
- if ( ! has_action( 'wp_ajax_wtitan_scanner_hide' ) ) {
57
- add_action( 'wp_ajax_wtitan_scanner_hide', <