Clearfy – WordPress optimization plugin and disable ultimate tweaker - Version 1.6.3

Version Description

(21.01.2020) = * Fixed: Minor bugs. * Fixed: Compatibility with Robin image optimizer 1.4.2 * Fixed: Broken links in plugin interface. * Fixed: Bug with translations of components. * Fixed: [Minify and combine] compatibility php 7.4

Download this release

Release Info

Developer alexkovalevv
Plugin Icon 128x128 Clearfy – WordPress optimization plugin and disable ultimate tweaker
Version 1.6.3
Comparing to
See all releases

Code changes from version 1.6.2 to 1.6.3

Files changed (266) hide show
  1. admin/activation.php +2 -2
  2. admin/ajax/configurate.php +1 -1
  3. admin/ajax/import-settings.php +2 -2
  4. admin/assets/css/base-statistic.css +3 -2
  5. admin/assets/css/general.css +2 -2
  6. admin/assets/css/general.css.map +1 -1
  7. admin/assets/css/install-addons.css +1 -0
  8. admin/assets/img/clearfy-premium-icon-256x256--default.png +0 -0
  9. admin/assets/img/clearfy-premium-icon-256x256--lock.png +0 -0
  10. admin/assets/img/rio-premium-icon-128x128.png +0 -0
  11. admin/assets/img/rio-premium-icon-256x256--default.png +0 -0
  12. admin/assets/img/rio-premium-icon-256x256--lock.png +0 -0
  13. admin/assets/js/general.js +13 -13
  14. admin/assets/js/install-addons.js +15 -15
  15. admin/assets/js/license-manager.js +4 -4
  16. admin/boot.php +6 -6
  17. admin/includes/compatibility.php +4 -4
  18. admin/includes/sidebar-widgets.php +77 -76
  19. admin/pages/class-page.php +31 -1
  20. admin/pages/class-pages-advanced.php +1 -1
  21. admin/pages/class-pages-clearfy-settings.php +2 -2
  22. admin/pages/class-pages-components-license.php +186 -0
  23. admin/pages/class-pages-components.php +6 -6
  24. admin/pages/class-pages-defence.php +2 -2
  25. admin/pages/class-pages-hide-login-page.php +3 -3
  26. admin/pages/class-pages-image-optimization.php +3 -3
  27. admin/pages/class-pages-license.php +97 -58
  28. admin/pages/class-pages-performance-google.php +1 -1
  29. admin/pages/class-pages-quick-start.php +2 -2
  30. admin/pages/class-pages-seo-double-pages.php +1 -1
  31. admin/pages/class-pages-seo.php +1 -1
  32. admin/pages/class-pages-widgets.php +1 -1
  33. assets/css/admin-bar.css +1 -0
  34. assets/css/admin-bar.css.map +1 -0
  35. clearfy.php +43 -44
  36. components/assets-manager/admin/activation.php +2 -2
  37. components/assets-manager/admin/ajax/save-settings.php +1 -1
  38. components/assets-manager/admin/boot.php +3 -3
  39. components/assets-manager/admin/pages/class-pages-more-features.php +1 -1
  40. components/assets-manager/admin/pages/class-pages-settings.php +4 -4
  41. components/assets-manager/assets/css/assets-manager.css.map +1 -1
  42. components/assets-manager/clearfy.php +1 -0
  43. components/assets-manager/gonzales.php +8 -8
  44. components/assets-manager/includes/class-plugin.php +3 -3
  45. components/assets-manager/includes/classes/class-assets-manager-global.php +3 -3
  46. components/assets-manager/includes/classes/class-views.php +4 -4
  47. components/assets-manager/migrations/010100.php +1 -1
  48. components/assets-manager/migrations/010108.php +1 -1
  49. components/assets-manager/mu-plugins/assets-manager.php +1 -1
  50. components/assets-manager/readme.txt +6 -0
  51. components/assets-manager/views/part-assets-manager-info-bar.php +11 -9
  52. components/comments-plus/admin/boot.php +1 -1
  53. components/comments-plus/admin/pages/class-page-comments.php +3 -3
  54. components/comments-plus/admin/pages/class-page-delete-comments.php +6 -6
  55. components/comments-plus/admin/pages/class-page-more-features.php +1 -1
  56. components/comments-plus/clearfy.php +1 -0
  57. components/comments-plus/comments-plus.php +7 -7
  58. components/comments-plus/includes/class-plugin.php +3 -3
  59. components/comments-plus/includes/classes/class-configurate-comments.php +3 -3
  60. components/cyrlitera/admin/activation.php +2 -2
  61. components/cyrlitera/admin/boot.php +1 -1
  62. components/cyrlitera/admin/pages/class-page-cyrlitera.php +4 -4
  63. components/cyrlitera/admin/pages/class-page-more-features.php +1 -1
  64. components/cyrlitera/clearfy.php +1 -0
  65. components/cyrlitera/cyrlitera.php +7 -7
  66. components/cyrlitera/includes/class-plugin.php +3 -3
  67. components/cyrlitera/includes/classes/class-configurate-cyrlitera.php +2 -2
  68. components/cyrlitera/migrations/010004.php +1 -1
  69. components/disable-admin-notices/admin/boot.php +1 -1
  70. components/disable-admin-notices/admin/options.php +2 -2
  71. components/disable-admin-notices/admin/pages/class-pages-more-features.php +1 -1
  72. components/disable-admin-notices/admin/pages/class-pages-notices.php +4 -4
  73. components/disable-admin-notices/clearfy.php +1 -0
  74. components/disable-admin-notices/disable-admin-notices.php +7 -7
  75. components/disable-admin-notices/includes/class-plugin.php +4 -4
  76. components/disable-admin-notices/includes/classes/class-configurate-notices.php +1 -1
  77. components/disable-admin-notices/migrations/010007.php +1 -1
  78. components/ga-cache/admin/activation.php +2 -2
  79. components/ga-cache/admin/boot.php +3 -3
  80. components/ga-cache/admin/options.php +1 -1
  81. components/ga-cache/admin/pages/class-pages-general-settings.php +3 -3
  82. components/ga-cache/admin/pages/class-pages-more-features.php +1 -1
  83. components/ga-cache/clearfy.php +1 -0
  84. components/ga-cache/includes/class-plugin.php +3 -3
  85. components/ga-cache/includes/classes/class-configurate-ga.php +1 -1
  86. components/ga-cache/migrations/030002.php +1 -1
  87. components/ga-cache/simple_google_analytics.php +6 -6
  88. components/html-minify/admin/pages/class-pages-settings.php +3 -3
  89. components/html-minify/clearfy.php +1 -0
  90. components/html-minify/html-minify.php +7 -7
  91. components/html-minify/includes/class-plugin.php +3 -3
  92. components/minify-and-combine/admin/pages/class-pages-settings.php +3 -3
  93. components/minify-and-combine/clearfy.php +1 -0
  94. components/minify-and-combine/includes/class-plugin.php +3 -3
  95. components/minify-and-combine/includes/classes/class-cache.php +1 -1
  96. components/minify-and-combine/includes/classes/class-styles.php +5 -4
  97. components/minify-and-combine/minify-and-combine.php +7 -7
  98. components/updates-manager/admin/activation.php +2 -2
  99. components/updates-manager/admin/assets/js/ajax-components.js +4 -4
  100. components/updates-manager/admin/boot.php +1 -1
  101. components/updates-manager/admin/includes/class-abstract-filters.php +1 -1
  102. components/updates-manager/admin/pages/class-page-advanced.php +5 -5
  103. components/updates-manager/admin/pages/class-page-more-features.php +1 -1
  104. components/updates-manager/admin/pages/class-page-plugins.php +5 -5
  105. components/updates-manager/admin/pages/class-page-themes.php +4 -4
  106. components/updates-manager/admin/pages/class-page-updates.php +5 -5
  107. components/updates-manager/clearfy.php +1 -0
  108. components/updates-manager/includes/class-plugin.php +3 -3
  109. components/updates-manager/includes/classes/class-configurate-updates.php +1 -1
  110. components/updates-manager/migrations/010008.php +1 -1
  111. components/updates-manager/webcraftic-updates-manager.php +7 -7
  112. includes/boot.php +113 -113
  113. includes/class.plugin.php +298 -293
  114. includes/classes/class.configurate-advanced.php +1 -1
  115. includes/classes/class.configurate-google-performance.php +1 -1
  116. includes/classes/class.configurate-performance.php +1 -1
  117. includes/classes/class.configurate-privacy.php +1 -1
  118. includes/classes/class.configurate-security.php +1 -1
  119. includes/classes/class.configurate-seo.php +1 -1
  120. includes/classes/class.licensing.php +70 -71
  121. libs/factory/adverts/boot.php +12 -12
  122. libs/factory/adverts/includes/class-base.php +6 -6
  123. libs/factory/adverts/includes/class-dashboard-widget.php +4 -4
  124. libs/factory/adverts/includes/class-rest-request.php +8 -8
  125. libs/factory/adverts/langs/{wbcr_factory_adverts_104-ru_RU.mo → wbcr_factory_adverts_106-ru_RU.mo} +0 -0
  126. libs/factory/adverts/langs/{wbcr_factory_adverts_104-ru_RU.po → wbcr_factory_adverts_106-ru_RU.po} +0 -0
  127. libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css +1 -1
  128. libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css +1 -1
  129. libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css +1 -1
  130. libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css +2 -2
  131. libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css +1 -1
  132. libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css +1 -1
  133. libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css +1 -1
  134. libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css +1 -1
  135. libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css +1 -1
  136. libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css +1 -1
  137. libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css +1 -1
  138. libs/factory/bootstrap/assets/css-min/control.checkbox.min.css +1 -1
  139. libs/factory/bootstrap/assets/css-min/control.dropdown.min.css +1 -1
  140. libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css +1 -1
  141. libs/factory/bootstrap/assets/css-min/holder.more-link.min.css +1 -1
  142. libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js +1 -1
  143. libs/factory/bootstrap/assets/js-min/control.checkbox.min.js +1 -1
  144. libs/factory/bootstrap/assets/js-min/control.dropdown.min.js +1 -1
  145. libs/factory/bootstrap/assets/js-min/control.list.min.js +1 -1
  146. libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js +1 -1
  147. libs/factory/bootstrap/boot.php +9 -9
  148. libs/factory/bootstrap/includes/functions.php +13 -63
  149. libs/factory/clearfy/assets/css/clearfy-base.css +24 -24
  150. libs/factory/clearfy/assets/css/clearfy-base.css.map +1 -0
  151. libs/factory/clearfy/assets/js/globals.js +15 -15
  152. libs/factory/clearfy/assets/js/license-manager.js +4 -4
  153. libs/factory/clearfy/boot.php +15 -15
  154. libs/factory/clearfy/includes/ajax-handlers.php +8 -8
  155. libs/factory/clearfy/includes/class-configurate.php +3 -3
  156. libs/factory/clearfy/includes/class-helpers.php +1 -97
  157. libs/factory/clearfy/langs/{wbcr_factory_clearfy_214-ru_RU.mo → wbcr_factory_clearfy_217-ru_RU.mo} +0 -0
  158. libs/factory/clearfy/langs/{wbcr_factory_clearfy_214-ru_RU.po → wbcr_factory_clearfy_217-ru_RU.po} +0 -0
  159. libs/factory/clearfy/pages/class-page-license.php +366 -358
  160. libs/factory/clearfy/pages/class-page-more-features.php +23 -23
  161. libs/factory/clearfy/pages/class-pages.php +56 -77
  162. libs/factory/core/boot.php +27 -27
  163. libs/factory/core/includes/activation/class-factory-activator.php +3 -3
  164. libs/factory/core/includes/activation/class-factory-update.php +3 -3
  165. libs/factory/core/includes/assets-managment/class-factory-assets-list.php +4 -4
  166. libs/factory/core/includes/assets-managment/class-factory-script-list.php +2 -2
  167. libs/factory/core/includes/assets-managment/class-factory-style-list.php +1 -1
  168. libs/factory/core/includes/class-check-compatibility.php +3 -3
  169. libs/factory/core/includes/class-factory-migrations.php +13 -13
  170. libs/factory/core/includes/class-factory-notices.php +6 -6
  171. libs/factory/core/includes/class-factory-options.php +2 -2
  172. libs/factory/core/includes/class-factory-plugin-abstract.php +100 -84
  173. libs/factory/core/includes/class-factory-plugin-base.php +25 -25
  174. libs/factory/core/includes/class-factory-requests.php +1 -1
  175. libs/factory/core/includes/class-factory-requirements.php +6 -6
  176. libs/factory/core/includes/entities/class-factory-paths.php +1 -1
  177. libs/factory/core/includes/entities/class-factory-support.php +1 -1
  178. libs/factory/core/includes/functions.php +7 -7
  179. libs/factory/core/includes/premium/class-factory-license-interface.php +1 -1
  180. libs/factory/core/includes/premium/class-factory-manager.php +10 -10
  181. libs/factory/core/includes/premium/class-factory-provider-abstract.php +6 -6
  182. libs/factory/core/includes/updates/class-factory-premium-upgrader.php +11 -11
  183. libs/factory/core/includes/updates/class-factory-upgrader.php +9 -9
  184. libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php +5 -5
  185. libs/factory/core/includes/updates/repositories/class-factory-wordpress.php +4 -4
  186. libs/factory/core/langs/{wbcr_factory_422-ru_RU.mo → wbcr_factory_425-ru_RU.mo} +0 -0
  187. libs/factory/core/langs/{wbcr_factory_422-ru_RU.po → wbcr_factory_425-ru_RU.po} +0 -0
  188. libs/factory/forms/boot.php +103 -103
  189. libs/factory/forms/controls/checkbox.php +4 -4
  190. libs/factory/forms/controls/color-and-opacity.php +4 -4
  191. libs/factory/forms/controls/color.php +2 -2
  192. libs/factory/forms/controls/customs/html.php +2 -2
  193. libs/factory/forms/controls/customs/separator.php +2 -2
  194. libs/factory/forms/controls/datepicker-range.php +4 -4
  195. libs/factory/forms/controls/dropdown-and-colors.php +6 -6
  196. libs/factory/forms/controls/dropdown.php +5 -5
  197. libs/factory/forms/controls/font.php +11 -11
  198. libs/factory/forms/controls/google-font.php +8 -8
  199. libs/factory/forms/controls/gradient.php +4 -4
  200. libs/factory/forms/controls/hidden.php +2 -2
  201. libs/factory/forms/controls/holders/accordion-item.php +2 -2
  202. libs/factory/forms/controls/holders/accordion.php +2 -2
  203. libs/factory/forms/controls/holders/columns.php +2 -2
  204. libs/factory/forms/controls/holders/control-group-item.php +2 -2
  205. libs/factory/forms/controls/holders/control-group.php +3 -3
  206. libs/factory/forms/controls/holders/div.php +2 -2
  207. libs/factory/forms/controls/holders/form-group.php +2 -2
  208. libs/factory/forms/controls/holders/more-link.php +2 -2
  209. libs/factory/forms/controls/holders/tab-item.php +2 -2
  210. libs/factory/forms/controls/holders/tab.php +4 -4
  211. libs/factory/forms/controls/integer.php +2 -2
  212. libs/factory/forms/controls/list.php +4 -4
  213. libs/factory/forms/controls/multiple-textbox.php +3 -3
  214. libs/factory/forms/controls/paddings-editor.php +3 -3
  215. libs/factory/forms/controls/pattern.php +9 -9
  216. libs/factory/forms/controls/radio-colors.php +2 -2
  217. libs/factory/forms/controls/radio.php +2 -2
  218. libs/factory/forms/controls/textarea.php +2 -2
  219. libs/factory/forms/controls/textbox.php +2 -2
  220. libs/factory/forms/controls/url.php +3 -3
  221. libs/factory/forms/controls/wp-editor.php +3 -3
  222. libs/factory/forms/includes/complex-control.class.php +4 -4
  223. libs/factory/forms/includes/control-holder.class.php +5 -5
  224. libs/factory/forms/includes/control.class.php +5 -5
  225. libs/factory/forms/includes/custom-element.class.php +2 -2
  226. libs/factory/forms/includes/form-element.class.php +7 -7
  227. libs/factory/forms/includes/form-layout.class.php +5 -5
  228. libs/factory/forms/includes/form.class.php +39 -39
  229. libs/factory/forms/includes/holder.class.php +6 -6
  230. libs/factory/forms/includes/html-builder.class.php +2 -2
  231. libs/factory/forms/includes/providers/meta-value-provider.class.php +2 -2
  232. libs/factory/forms/includes/providers/options-value-provider.class.php +3 -3
  233. libs/factory/forms/includes/providers/value-provider.interface.php +2 -2
  234. libs/factory/forms/langs/{wbcr_factory_forms_420-ru_RU.mo → wbcr_factory_forms_423-ru_RU.mo} +0 -0
  235. libs/factory/forms/langs/{wbcr_factory_forms_420-ru_RU.po → wbcr_factory_forms_423-ru_RU.po} +0 -0
  236. libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php +7 -7
  237. libs/factory/freemius/boot.php +18 -18
  238. libs/factory/freemius/includes/class-freemius-api.php +7 -7
  239. libs/factory/freemius/includes/entities/class-freemius-entity.php +1 -1
  240. libs/factory/freemius/includes/entities/class-freemius-license.php +361 -354
  241. libs/factory/freemius/includes/entities/class-freemius-plugin.php +1 -1
  242. libs/factory/freemius/includes/entities/class-freemius-scope.php +1 -1
  243. libs/factory/freemius/includes/entities/class-freemius-site.php +1 -1
  244. libs/factory/freemius/includes/entities/class-freemius-user.php +1 -1
  245. libs/factory/freemius/includes/licensing/class-freemius-provider.php +18 -18
  246. libs/factory/freemius/includes/updates/class-freemius-repository.php +7 -7
  247. libs/factory/pages/boot.php +10 -10
  248. libs/factory/pages/includes/admin-page.class.php +6 -6
  249. libs/factory/pages/includes/page.class.php +7 -7
  250. libs/factory/pages/langs/{wbcr_factory_pages_422-fr_FR.mo → wbcr_factory_pages_425-fr_FR.mo} +0 -0
  251. libs/factory/pages/langs/{wbcr_factory_pages_422-fr_FR.po → wbcr_factory_pages_425-fr_FR.po} +0 -0
  252. libs/factory/pages/langs/{wbcr_factory_pages_422-ru_RU.mo → wbcr_factory_pages_425-ru_RU.mo} +0 -0
  253. libs/factory/pages/langs/{wbcr_factory_pages_422-ru_RU.po → wbcr_factory_pages_425-ru_RU.po} +0 -0
  254. libs/factory/pages/pages.php +11 -11
  255. libs/factory/pages/templates/assets/css/impressive.page.template.css +116 -116
  256. libs/factory/pages/templates/impressive-page.class.php +31 -31
  257. migrations/010103.php +1 -1
  258. migrations/010108.php +1 -1
  259. migrations/010200.php +1 -1
  260. migrations/010300.php +1 -1
  261. migrations/010402.php +1 -1
  262. migrations/010501.php +1 -1
  263. migrations/010504.php +1 -1
  264. migrations/010505.php +2 -2
  265. migrations/010601.php +1 -1
  266. readme.txt +8 -1
admin/activation.php CHANGED
@@ -4,7 +4,7 @@
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 09.09.2017, Webcraftic
7
- * @see Factory422_Activator
8
  * @version 1.0
9
  */
10
 
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_Activation extends Wbcr_Factory422_Activator {
17
 
18
  /**
19
  * Runs activation actions.
4
  *
5
  * @author Webcraftic <wordpress.webraftic@gmail.com>
6
  * @copyright (c) 09.09.2017, Webcraftic
7
+ * @see Factory425_Activator
8
  * @version 1.0
9
  */
10
 
13
  exit;
14
  }
15
 
16
+ class WCL_Activation extends Wbcr_Factory425_Activator {
17
 
18
  /**
19
  * Runs activation actions.
admin/ajax/configurate.php CHANGED
@@ -57,7 +57,7 @@
57
  }
58
 
59
  if( !$flush_redirect ) {
60
- WbcrFactoryClearfy214_Helpers::flushPageCache();
61
  }
62
 
63
  do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
57
  }
58
 
59
  if( !$flush_redirect ) {
60
+ WbcrFactoryClearfy217_Helpers::flushPageCache();
61
  }
62
 
63
  do_action('wbcr_clearfy_configurated_quick_mode', $mode_name);
admin/ajax/import-settings.php CHANGED
@@ -62,7 +62,7 @@
62
  }
63
 
64
  if( is_array($option_value) || is_object($option_value) ) {
65
- $option_value = WbcrFactoryClearfy214_Helpers::recursiveSanitizeArray($option_value, 'wp_kses_post');
66
  $option_value = maybe_serialize($option_value);
67
  } else {
68
  $option_value = wp_kses_post($option_value);
@@ -140,7 +140,7 @@
140
  //$send_data['update_notice'] = $package_plugin->getUpdateNotice();
141
 
142
  // Сбрасываем кеш для кеширующих плагинов
143
- WbcrFactoryClearfy214_Helpers::flushPageCache();
144
 
145
  do_action('wbcr_clearfy_imported_settings');
146
 
62
  }
63
 
64
  if( is_array($option_value) || is_object($option_value) ) {
65
+ $option_value = WbcrFactoryClearfy217_Helpers::recursiveSanitizeArray($option_value, 'wp_kses_post');
66
  $option_value = maybe_serialize($option_value);
67
  } else {
68
  $option_value = wp_kses_post($option_value);
140
  //$send_data['update_notice'] = $package_plugin->getUpdateNotice();
141
 
142
  // Сбрасываем кеш для кеширующих плагинов
143
+ WbcrFactoryClearfy217_Helpers::flushPageCache();
144
 
145
  do_action('wbcr_clearfy_imported_settings');
146
 
admin/assets/css/base-statistic.css CHANGED
@@ -201,7 +201,7 @@
201
  }
202
  #WBCR .wio-progress {
203
  height: 8px;
204
- transition: width .3s;
205
  /*.wio-bar-negative {
206
  width: 92% !important;
207
  }*/
@@ -223,7 +223,7 @@
223
  margin-right: -5.25em;
224
  text-align: right;
225
  font-weight: bold;
226
- line-height: .8;
227
  }
228
  #WBCR .wio-chart {
229
  position: relative;
@@ -403,3 +403,4 @@
403
  margin-top: 3em;
404
  }
405
  }
 
201
  }
202
  #WBCR .wio-progress {
203
  height: 8px;
204
+ transition: width 0.3s;
205
  /*.wio-bar-negative {
206
  width: 92% !important;
207
  }*/
223
  margin-right: -5.25em;
224
  text-align: right;
225
  font-weight: bold;
226
+ line-height: 0.8;
227
  }
228
  #WBCR .wio-chart {
229
  position: relative;
403
  margin-top: 3em;
404
  }
405
  }
406
+ /*# sourceMappingURL=base-statistic.css.map */
admin/assets/css/general.css CHANGED
@@ -33,10 +33,10 @@
33
  //float: right;
34
  }*/
35
  }
36
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header {
37
  height: 80px !important;
38
  }
39
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo span {
40
  display: inline-block !important;
41
  }
42
  #WBCR .row {
33
  //float: right;
34
  }*/
35
  }
36
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header {
37
  height: 80px !important;
38
  }
39
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo span {
40
  display: inline-block !important;
41
  }
42
  #WBCR .row {
admin/assets/css/general.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["general.less"],"names":[],"mappings":";;;;;AAMA;EACE,aAAA;EACA,kBAAA;EACA,MAAA;EACA,WAAA;EACA,QAAA;EACA,SAAA;EACA,oCAAA;EACA,UAAA;;AAGF;;;;;;;;;;;;;;;;;;;;AAAA,KAIE,iDACE;EACE,uBAAA;;AANN,KAIE,iDACE,0BAGE,0BACE;EACE,qBAAA;;AAVV,KAmBE;EACE,yBAAA;EACA,sBAAA;EACA,6BAAA;;AAEA,KALF,KAKI;EACA,yBAAA;EACA,qBAAA;;AA1BN,KA8BE;EACE,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,2CAAA;EACA,8CAAA;;AAEA,KAPF,qBAOG;EACC,SAAS,EAAT;EACA,cAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,YAAA;EACA,6EAAA;;AAGF,KAlBF,qBAkBG;EACC,cAAA;EACA,yBAAA;;AAGF,KAvBF,qBAuBG;EACC,cAAA;EACA,yBAAA;;AAvDN,KA2DE;AA3DF,KA2DyB;EACrB,qBAAA;EACA,mBAAA;;AA7DJ,KAgEE;EACE,WAAA;;AAjEJ,KA6EE,+BACE;EACE,kBAAA;EACA,qBAAA;EACA,iBAAA;EACA,mBAAA;EACA,UAAA;EACA,kBAAA;EACA,aAAA;EACA,gBAAA;EACA,2BAAA;;AAEA,KAZJ,+BACE,2BAWI;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;;AA5FR,KAqGE,kCACE;EACE,8BAAA;;AAvGN,KAqGE,kCAKE;EACE,8BAAA;;AA3GN,KAqGE,kCASE,yBACE;EACE,oBAAA;EACA,WAAA;;AAEA,KAdN,kCASE,yBACE,0BAII;EACA,WAAA;;AApHV,KA0HE;EACE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EACA,kBAAA;;AAEA,KAPF,6BAOG;AAAQ,KAPX,6BAOY;EACR,YAAA;EACA,UAAA;EACA,yBAAA;EACA,SAAS,GAAT;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,oBAAA;;AAGF,KAlBF,6BAkBG;EACC,oCAAA;EACA,4BAAA;EACA,kBAAA;;AAGF,KAxBF,6BAwBG;EACC,oCAAA;EACA,4BAAA;EACA,kBAAA;;AArJN,KAyJE;EACE,mBAAA;EACA,yBAAA;EACA,cAAA;EACA,sCAAA;;AAEA,KANF,2BAMG;EACC,aAAA;;AAhKN,KAyJE,2BAUE;EACE,eAAA;;AApKN,KAyJE,2BAcE;EACE,cAAA;EACA,eAAA;;AAzKN,KAsLE,+BAEE;EACE,gBAAA;;AAzLN,KA6LE,yCACE;EACE,kBAAA;EACA,YAAA;EACA,aAAA;;AAjMN,KA6LE,yCACE,0BAKE;EACE,UAAA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,wBAAA;EACA,YAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,cAAA;EACA,8BAAA;EACA,yBAAA;EACA,gCAAA;EACA,4BAAA;EACA,2BAAA;EACA,oCAAA;EACA,kBAAA;EACA,aAAA;EAEA,kCAAA;EACA,+BAAA;EACA,6BAAA;EACA,0BAAA;;AAGF,KAjCJ,yCACE,0BAgCG,MAAO;EACN,cAAA;EACA,UAAA;;AAGF,KAtCJ,yCACE,0BAqCG,MAAO,6BAA6B;EACnC,YAAA;;AApOR,KA6LE,yCACE,0BAyCE,6BACE;EACE,WAAA;EAEA,iCAAA;EACA,8BAAA;EACA,4BAAA;EACA,yBAAA;;AA9OV,KAoPE;AApPF,KAoPwC;EACpC,aAAA;EACA,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;;AA1PJ,KA6PE;EACE,mBAAA;EACA,gCAAA;EACA,cAAA;;AAhQJ,KAmQE;EACE,mBAAA;EACA,gCAAA;EACA,cAAA;;AAtQJ,KAyQE;EACE,oBAAA;;AA1QJ,KA6QE;EACE,eAAA;EACA,iBAAA;;AA/QJ,KA6QE,4BAIE;EACE,cAAA;EACA,WAAA;EACA,gBAAA;EACA,cAAA;;AArRN,KA6QE,4BAWE;EACE,WAAA;EACA,sBAAA;EACA,aAAA;EACA,oBAAA;EACA,SAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,sBAAA;EACA,yBAAA;EACA,yBAAA;EACA,WAAA;EACA,6BAAA;EACA,wBAAA;;AAtSN,KA6QE,4BA4BE;EACE,qBAAA;EACA,gBAAA;;AA3SN,KAgTE;EAEE,aAAA;;AAlTJ,KAgTE,+BAIE;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,mBAAA;EACA,cAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,wCAAA;EAEA,qCAAA;EACA,kCAAA;EACA,gCAAA;EACA,6BAAA;;;;;;;;;;;AAEA,KAvBJ,+BAIE,qBAmBG;EACC,cAAA;EACA,WAAA;;AAzUR,KAgTE,+BAIE,qBAwBE;AA5UN,KAgTE,+BAIE,qBAwBO;EAEH,eAAA;;AA9UR,KAgTE,+BAIE,qBA6BE;AAjVN,KAgTE,+BAIE,qBA6BO;AAjVX,KAgTE,+BAIE,qBA6BmB;EACf,qBAAA;;AAlVR,KAgTE,+BAIE,qBAiCE;EACE,iBAAA;EACA,eAAA;;AAGF,KA1CJ,+BAIE,qBAsCG;;;;;;;;;;;;AAAD,KA1CJ,+BAIE,qBAsCG,oBAYC;EACE,oCAAA;EACA,yBAAA;EACA,eAAA;;AAIJ,KA7DJ,+BAIE,qBAyDG,+BACC;EACE,YAAA;;AAFJ,KA7DJ,+BAIE,qBAyDG,+BACC,kCAGE;EACE,YAAA;EACA,yBAAA;EACA,cAAA;;AAEA,KAtEV,+BAIE,qBAyDG,+BACC,kCAGE,mCAKG;EACC,yBAAA;;AAMR,KA7EJ,+BAIE,qBAyEG,qCACC;AADF,KA7EJ,+BAIE,qBAyEG,qCACM,WAAU;EACb,cAAA;;AAFJ,KA7EJ,+BAIE,qBAyEG,qCAKC;EACE,yBAAA;EACA,cAAA;;AAEA,KAtFR,+BAIE,qBAyEG,qCAKC,mCAIG;EACC,yBAAA;;AAeN,KAtGJ,+BAIE,qBAkGG,qBACC,kCACE;EACE,gBAAgB,wDAAhB;EACA,oCAAA;EACA,YAAA;EACA,0BAAA;;AA5ZZ,KAgTE,+BAIE,qBA6GE;EACE,kBAAA;EAGA,MAAA;EACA,WAAA;EACA,SAAA;EACA,YAAA;EAEA,iBAAA;EACA,qCAAA;EACA,kCAAA;EACA,gCAAA;EACA,6BAAA;;AA9aR,KAgTE,+BAIE,qBA6GE,kCAeE;EACE,qBAAA;EACA,YAAA;EACA,gBAAA;EACA,SAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EACA,aAAA;EACA,yBAAA;EACA,cAAA;;;;;;;;;;;;;;;;;;AAEA,KA9IR,+BAIE,qBA6GE,kCAeE,OAcG;EACC,yBAAA;;AAoBF,KAnKR,+BAIE,qBA6GE,kCAeE,OAmCG;EACC,8CAAA;;AApdZ,KA2dE;EACE,aAAA;EACA,eAAA;EACA,QAAA;EACA,SAAA;EACA,YAAA;EACA,aAAA;EACA,yBAAA;EACA,aAAA;EACA,qCAAA;EACA,sCAAA;EACA,2CAAA;EACA,WAAA;;AAveJ,KA2dE,4BAcE;EACE,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,eAAA;;AA7eN,KA2dE,4BAqBE;EACE,aAAA;EACA,kBAAA;;AAlfN,KA2dE,4BA0BE;EACE,aAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,mBAAA;EACA,cAAA;;AAOF,KAxCF,4BAwCG,qCACC;EACE,cAAA;;AAIJ,KA9CF,4BA8CG;EACC,aAAA;EACA,yBAAA;;AAFF,KA9CF,4BA8CG,mCAIC;EACE,cAAA;EACA,cAAA;;AA/gBR,KA2dE,4BAwDE;EACE,kBAAA;EACA,aAAA;;AArhBN,KA2dE,4BAwDE,4BAIE;EACE,qBAAA;EACA,iBAAA;EACA,gBAAA;EACA,SAAA;EACA,iBAAA;;AAEA,KAnEN,4BAwDE,4BAIE;AAOK,KAnET,4BAwDE,4BAIE,OAOM;EACF,qBAAA;EACA,2BAAA;;AAGF,KAxEN,4BAwDE,4BAIE,OAYG;EACC,mBAAA;EACA,cAAA;;AAGF,KA7EN,4BAwDE,4BAIE,OAiBG;EACC,mBAAA;EACA,cAAA;;AAQV,mBAAsC;EACpC,KACE;IACE,gBAAA;IACA,gBAAA;;EAHJ,KAME;EANF,KAMyB;IACrB,WAAA;;EAPJ,KAUE;IACE,gBAAA;;;AAKN,mBAAqC;EACnC,KACE;IACE,eAAA;;EAFJ,KAKE;EALF,KAKyB;IACrB,WAAA;;EANJ,KASE;IACE,WAAA;IACA,eAAA;;;AAKN,mBAAqC;EACnC,KACE,+BACE,qBAAqB;IACnB,uBAAA","file":"general.css"}
1
+ {"version":3,"sources":["general.less"],"names":[],"mappings":";;;;;AAMA;EACE,aAAA;EACA,kBAAA;EACA,MAAA;EACA,WAAA;EACA,QAAA;EACA,SAAA;EACA,oCAAA;EACA,UAAA;;AAGF;;;;;;;;;;;;;;;;;;;;AAAA,KAIE,iDACE;EACE,uBAAA;;AANN,KAIE,iDACE,0BAGE,0BACE;EACE,qBAAA;;AAVV,KAmBE;EACE,yBAAA;EACA,sBAAA;EACA,6BAAA;;AAEA,KALF,KAKI;EACA,yBAAA;EACA,qBAAA;;AA1BN,KA8BE;EACE,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,2CAAA;EACA,8CAAA;;AAEA,KAPF,qBAOG;EACC,SAAS,EAAT;EACA,cAAA;EACA,kBAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,YAAA;EACA,6EAAA;;AAGF,KAlBF,qBAkBG;EACC,cAAA;EACA,yBAAA;;AAGF,KAvBF,qBAuBG;EACC,cAAA;EACA,yBAAA;;AAvDN,KA2DE;AA3DF,KA2DyB;EACrB,qBAAA;EACA,mBAAA;;AA7DJ,KAgEE;EACE,WAAA;;AAjEJ,KA6EE,+BACE;EACE,kBAAA;EACA,qBAAA;EACA,iBAAA;EACA,mBAAA;EACA,UAAA;EACA,kBAAA;EACA,aAAA;EACA,gBAAA;EACA,2BAAA;;AAEA,KAZJ,+BACE,2BAWI;EACA,kBAAA;EACA,iBAAA;EACA,gBAAA;;AA5FR,KAqGE,kCACE;EACE,8BAAA;;AAvGN,KAqGE,kCAKE;EACE,8BAAA;;AA3GN,KAqGE,kCASE,yBACE;EACE,oBAAA;EACA,WAAA;;AAEA,KAdN,kCASE,yBACE,0BAII;EACA,WAAA;;AApHV,KA0HE;EACE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EACA,kBAAA;;AAEA,KAPF,6BAOG;AAAQ,KAPX,6BAOY;EACR,YAAA;EACA,UAAA;EACA,yBAAA;EACA,SAAS,GAAT;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,oBAAA;;AAGF,KAlBF,6BAkBG;EACC,oCAAA;EACA,4BAAA;EACA,kBAAA;;AAGF,KAxBF,6BAwBG;EACC,oCAAA;EACA,4BAAA;EACA,kBAAA;;AArJN,KAyJE;EACE,mBAAA;EACA,yBAAA;EACA,cAAA;EACA,sCAAA;;AAEA,KANF,2BAMG;EACC,aAAA;;AAhKN,KAyJE,2BAUE;EACE,eAAA;;AApKN,KAyJE,2BAcE;EACE,cAAA;EACA,eAAA;;AAzKN,KAsLE,+BAEE;EACE,gBAAA;;AAzLN,KA6LE,yCACE;EACE,kBAAA;EACA,YAAA;EACA,aAAA;;AAjMN,KA6LE,yCACE,0BAKE;EACE,UAAA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,wBAAA;EACA,YAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,cAAA;EACA,mBAAA;EACA,cAAA;EACA,gCAAA;EACA,4BAAA;EACA,2BAAA;EACA,yBAAA;EACA,kBAAA;EACA,aAAA;EAEA,kCAAA;EACA,+BAAA;EACA,6BAAA;EACA,0BAAA;;AAGF,KAjCJ,yCACE,0BAgCG,MAAO;EACN,cAAA;EACA,UAAA;;AAGF,KAtCJ,yCACE,0BAqCG,MAAO,6BAA6B;EACnC,YAAA;;AApOR,KA6LE,yCACE,0BAyCE,6BACE;EACE,WAAA;EAEA,iCAAA;EACA,8BAAA;EACA,4BAAA;EACA,yBAAA;;AA9OV,KAoPE;AApPF,KAoPwC;EACpC,aAAA;EACA,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;;AA1PJ,KA6PE;EACE,mBAAA;EACA,gCAAA;EACA,cAAA;;AAhQJ,KAmQE;EACE,mBAAA;EACA,gCAAA;EACA,cAAA;;AAtQJ,KAyQE;EACE,oBAAA;;AA1QJ,KA6QE;EACE,eAAA;EACA,iBAAA;;AA/QJ,KA6QE,4BAIE;EACE,cAAA;EACA,WAAA;EACA,gBAAA;EACA,cAAA;;AArRN,KA6QE,4BAWE;EACE,WAAA;EACA,sBAAA;EACA,aAAA;EACA,oBAAA;EACA,SAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,sBAAA;EACA,yBAAA;EACA,yBAAA;EACA,WAAA;EACA,6BAAA;EACA,wBAAA;;AAtSN,KA6QE,4BA4BE;EACE,qBAAA;EACA,gBAAA;;AA3SN,KAgTE;EAEE,aAAA;;AAlTJ,KAgTE,+BAIE;EACE,kBAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,mBAAA;EACA,cAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,gBAAA;EACA,wCAAA;EAEA,qCAAA;EACA,kCAAA;EACA,gCAAA;EACA,6BAAA;;;;;;;;;;;AAEA,KAvBJ,+BAIE,qBAmBG;EACC,cAAA;EACA,WAAA;;AAzUR,KAgTE,+BAIE,qBAwBE;AA5UN,KAgTE,+BAIE,qBAwBO;EAEH,eAAA;;AA9UR,KAgTE,+BAIE,qBA6BE;AAjVN,KAgTE,+BAIE,qBA6BO;AAjVX,KAgTE,+BAIE,qBA6BmB;EACf,qBAAA;;AAlVR,KAgTE,+BAIE,qBAiCE;EACE,iBAAA;EACA,eAAA;;AAGF,KA1CJ,+BAIE,qBAsCG;;;;;;;;;;;;AAAD,KA1CJ,+BAIE,qBAsCG,oBAYC;EACE,yBAAA;EACA,cAAA;EACA,eAAA;;AAIJ,KA7DJ,+BAIE,qBAyDG,+BACC;EACE,YAAA;;AAFJ,KA7DJ,+BAIE,qBAyDG,+BACC,kCAGE;EACE,YAAA;EACA,yBAAA;EACA,cAAA;;AAEA,KAtEV,+BAIE,qBAyDG,+BACC,kCAGE,mCAKG;EACC,yBAAA;;AAMR,KA7EJ,+BAIE,qBAyEG,qCACC;AADF,KA7EJ,+BAIE,qBAyEG,qCACM,WAAU;EACb,cAAA;;AAFJ,KA7EJ,+BAIE,qBAyEG,qCAKC;EACE,yBAAA;EACA,cAAA;;AAEA,KAtFR,+BAIE,qBAyEG,qCAKC,mCAIG;EACC,yBAAA;;AAeN,KAtGJ,+BAIE,qBAkGG,qBACC,kCACE;EACE,gBAAgB,wDAAhB;EACA,yBAAA;EACA,YAAA;EACA,0BAAA;;AA5ZZ,KAgTE,+BAIE,qBA6GE;EACE,kBAAA;EAGA,MAAA;EACA,WAAA;EACA,SAAA;EACA,YAAA;EAEA,iBAAA;EACA,qCAAA;EACA,kCAAA;EACA,gCAAA;EACA,6BAAA;;AA9aR,KAgTE,+BAIE,qBA6GE,kCAeE;EACE,qBAAA;EACA,YAAA;EACA,gBAAA;EACA,SAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EACA,aAAA;EACA,yBAAA;EACA,cAAA;;;;;;;;;;;;;;;;;;AAEA,KA9IR,+BAIE,qBA6GE,kCAeE,OAcG;EACC,yBAAA;;AAoBF,KAnKR,+BAIE,qBA6GE,kCAeE,OAmCG;EACC,8CAAA;;AApdZ,KA2dE;EACE,aAAA;EACA,eAAA;EACA,QAAA;EACA,SAAA;EACA,YAAA;EACA,aAAA;EACA,yBAAA;EACA,aAAA;EACA,qCAAA;EACA,sCAAA;EACA,2CAAA;EACA,WAAA;;AAveJ,KA2dE,4BAcE;EACE,eAAA;EACA,kBAAA;EACA,iBAAA;EACA,eAAA;;AA7eN,KA2dE,4BAqBE;EACE,aAAA;EACA,kBAAA;;AAlfN,KA2dE,4BA0BE;EACE,aAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,mBAAA;EACA,cAAA;;AAOF,KAxCF,4BAwCG,qCACC;EACE,cAAA;;AAIJ,KA9CF,4BA8CG;EACC,aAAA;EACA,yBAAA;;AAFF,KA9CF,4BA8CG,mCAIC;EACE,cAAA;EACA,cAAA;;AA/gBR,KA2dE,4BAwDE;EACE,kBAAA;EACA,aAAA;;AArhBN,KA2dE,4BAwDE,4BAIE;EACE,qBAAA;EACA,iBAAA;EACA,gBAAA;EACA,SAAA;EACA,iBAAA;;AAEA,KAnEN,4BAwDE,4BAIE;AAOK,KAnET,4BAwDE,4BAIE,OAOM;EACF,qBAAA;EACA,2BAAA;;AAGF,KAxEN,4BAwDE,4BAIE,OAYG;EACC,mBAAA;EACA,cAAA;;AAGF,KA7EN,4BAwDE,4BAIE,OAiBG;EACC,mBAAA;EACA,cAAA;;AAQV,mBAAsC;EACpC,KACE;IACE,gBAAA;IACA,gBAAA;;EAHJ,KAME;EANF,KAMyB;IACrB,WAAA;;EAPJ,KAUE;IACE,gBAAA;;;AAKN,mBAAqC;EACnC,KACE;IACE,eAAA;;EAFJ,KAKE;EALF,KAKyB;IACrB,WAAA;;EANJ,KASE;IACE,WAAA;IACA,eAAA;;;AAKN,mBAAqC;EACnC,KACE,+BACE,qBAAqB;IACnB,uBAAA","file":"general.css"}
admin/assets/css/install-addons.css CHANGED
@@ -29,3 +29,4 @@
29
  outline: none !important;
30
  box-shadow: none !important;
31
  }
 
29
  outline: none !important;
30
  box-shadow: none !important;
31
  }
32
+ /*# sourceMappingURL=install-addons.css.map */
admin/assets/img/clearfy-premium-icon-256x256--default.png ADDED
Binary file
admin/assets/img/clearfy-premium-icon-256x256--lock.png ADDED
Binary file
admin/assets/img/rio-premium-icon-128x128.png ADDED
Binary file
admin/assets/img/rio-premium-icon-256x256--default.png ADDED
Binary file
admin/assets/img/rio-premium-icon-256x256--lock.png ADDED
Binary file
admin/assets/js/general.js CHANGED
@@ -87,13 +87,13 @@
87
  * Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
88
  * результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
89
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
90
- * $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated',
91
  * function(noticeId) {});
92
  * @param {string} modeName - имя режима конфигурации
93
  * @param {object} data
94
  */
95
 
96
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/quick_start/configurated_error', [
97
  modeName,
98
  data
99
  ]);
@@ -110,12 +110,12 @@
110
  * Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
111
  * конфигурации Реализация системы фильтров и хуков в файле
112
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
113
- * $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated', function(noticeId)
114
  * {});
115
  * @param {string} modeName - имя режима конфигурации
116
  * @param {object} data
117
  */
118
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/quick_start/configurated', [modeName, data]);
119
 
120
  if( modeName != 'reset' ) {
121
  switcher.addClass('wbcr-clearfy-active');
@@ -183,12 +183,12 @@
183
  $this = $(this);
184
 
185
  if( !settings ) {
186
- $.wbcr_factory_clearfy_214.app.showNotice('Import options is empty!', 'danger');
187
  return false;
188
  }
189
 
190
  if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
191
- $.wbcr_factory_clearfy_214.app.showNotice('Unknown Javascript error, most likely the wbcr_clearfy_ajax variable does not exist!', 'danger');
192
  return false;
193
  }
194
 
@@ -203,7 +203,7 @@
203
 
204
  if( response.data.update_notice ) {
205
  if( !$('.wbcr-clr-update-package').length ) {
206
- $.wbcr_factory_clearfy_214.app.showNotice(response.data.update_notice);
207
  }
208
  } else {
209
  if( $('.wbcr-clr-update-package').length ) {
@@ -240,15 +240,15 @@
240
  console.log(data);
241
 
242
  if( data ) {
243
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice(data.error_message, 'danger');
244
  } else {
245
  if( void 0 != wbcr_clearfy_ajax ) {
246
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
247
  }
248
  }
249
 
250
  setTimeout(function() {
251
- $.wbcr_factory_clearfy_214.app.hideNotice(noticeId);
252
  }, 5000);
253
  return;
254
  }
@@ -257,10 +257,10 @@
257
 
258
  if( !request_data.flush_redirect ) {
259
  if( void 0 != wbcr_clearfy_ajax ) {
260
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
261
 
262
  setTimeout(function() {
263
- $.wbcr_factory_clearfy_214.app.hideNotice(noticeId);
264
  }, 5000);
265
  }
266
  return;
@@ -275,7 +275,7 @@
275
  console.log(xhr.responseText);
276
  console.log(thrownError);
277
 
278
- var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
279
  }
280
  });
281
  }
87
  * Хук выполняет проивольную функцию, после того как получен ajax ответ о том, что в
88
  * результате конфигурации произошла ошибка Реализация системы фильтров и хуков в файле
89
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
90
+ * $.wbcr_factory_clearfy_217.hooks.add('wbcr/factory_clearfy_217/updated',
91
  * function(noticeId) {});
92
  * @param {string} modeName - имя режима конфигурации
93
  * @param {object} data
94
  */
95
 
96
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/quick_start/configurated_error', [
97
  modeName,
98
  data
99
  ]);
110
  * Хук выполняет проивольную функцию, после того как получен ajax ответ об успешном выполнении
111
  * конфигурации Реализация системы фильтров и хуков в файле
112
  * libs/clearfy/admin/assests/js/global.js Пример регистрации хука
113
+ * $.wbcr_factory_clearfy_217.hooks.add('wbcr/factory_clearfy_217/updated', function(noticeId)
114
  * {});
115
  * @param {string} modeName - имя режима конфигурации
116
  * @param {object} data
117
  */
118
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/quick_start/configurated', [modeName, data]);
119
 
120
  if( modeName != 'reset' ) {
121
  switcher.addClass('wbcr-clearfy-active');
183
  $this = $(this);
184
 
185
  if( !settings ) {
186
+ $.wbcr_factory_clearfy_217.app.showNotice('Import options is empty!', 'danger');
187
  return false;
188
  }
189
 
190
  if( void 0 == wbcr_clearfy_ajax || !wbcr_clearfy_ajax.import_options_nonce ) {
191
+ $.wbcr_factory_clearfy_217.app.showNotice('Unknown Javascript error, most likely the wbcr_clearfy_ajax variable does not exist!', 'danger');
192
  return false;
193
  }
194
 
203
 
204
  if( response.data.update_notice ) {
205
  if( !$('.wbcr-clr-update-package').length ) {
206
+ $.wbcr_factory_clearfy_217.app.showNotice(response.data.update_notice);
207
  }
208
  } else {
209
  if( $('.wbcr-clr-update-package').length ) {
240
  console.log(data);
241
 
242
  if( data ) {
243
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice(data.error_message, 'danger');
244
  } else {
245
  if( void 0 != wbcr_clearfy_ajax ) {
246
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice(wbcr_clearfy_ajax.i18n.unknown_error, 'danger');
247
  }
248
  }
249
 
250
  setTimeout(function() {
251
+ $.wbcr_factory_clearfy_217.app.hideNotice(noticeId);
252
  }, 5000);
253
  return;
254
  }
257
 
258
  if( !request_data.flush_redirect ) {
259
  if( void 0 != wbcr_clearfy_ajax ) {
260
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice(wbcr_clearfy_ajax.i18n.success_update_settings, 'success');
261
 
262
  setTimeout(function() {
263
+ $.wbcr_factory_clearfy_217.app.hideNotice(noticeId);
264
  }, 5000);
265
  }
266
  return;
275
  console.log(xhr.responseText);
276
  console.log(thrownError);
277
 
278
+ var noticeId = $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
279
  }
280
  });
281
  }
admin/assets/js/install-addons.js CHANGED
@@ -53,16 +53,16 @@
53
 
54
  $this.addClass('disabled').text(button_i18n.loading);
55
 
56
- $.wbcr_factory_clearfy_214.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_clearfy_214.app.showNotice(response.data.error_message, 'danger');
63
  }
64
 
65
- $.wbcr_factory_clearfy_214.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( !$('.wbcr-clr-update-package').length ) {
81
- $.wbcr_factory_clearfy_214.app.showNotice(response.data.update_notice);
82
  }
83
  } else {
84
  if( $('.wbcr-clr-update-package').length ) {
@@ -97,7 +97,7 @@
97
  $this.removeClass('button-default').addClass('button-primary');
98
  }
99
 
100
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/installed', [
101
  $this,
102
  data,
103
  response
@@ -147,7 +147,7 @@
147
  $this.closest('.plugin-card').find('.delete-now').remove();
148
  }
149
 
150
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/pre_activate', [
151
  $this,
152
  data,
153
  response
@@ -194,7 +194,7 @@
194
  $this.closest('.wbcr-hide-after-action').remove();
195
  }
196
 
197
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/deactivated', [
198
  $this,
199
  data,
200
  response
@@ -217,7 +217,7 @@
217
  $this.remove();
218
  }
219
 
220
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/deleted', [$this, data, response]);
221
  }
222
  } else {
223
  if( plugin_action == 'install' ) {
@@ -228,10 +228,10 @@
228
  $this.text(button_i18n[plugin_action]);
229
 
230
  if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
231
- $.wbcr_factory_clearfy_214.app.showNotice(response.data.need_rewrite_rules, 'warning');
232
  }
233
 
234
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/updated', [$this, data, response]);
235
  });
236
 
237
  return false;
@@ -254,7 +254,7 @@
254
  self.sendRequest(data, function(response) {
255
  if( !response || !response.success ) {
256
  if( response.data && response.data.error_message ) {
257
- $.wbcr_factory_clearfy_214.app.showNotice(response.data.error_message, 'danger');
258
  }
259
  return;
260
  }
@@ -317,17 +317,17 @@
317
  self.setComponentDeactivate(componentButton);
318
 
319
  if( response.data && response.data.error_message ) {
320
- $.wbcr_factory_clearfy_214.app.showNotice(response.data.error_message, 'danger');
321
  }
322
 
323
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
324
  return;
325
  }
326
 
327
  componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
328
  self.setComponentActivate(componentButton);
329
 
330
- $.wbcr_factory_clearfy_214.hooks.run('clearfy/components/activated', [sendData.plugin]);
331
  });
332
  },
333
 
@@ -346,7 +346,7 @@
346
  console.log(xhr.responseText);
347
  console.log(thrownError);
348
 
349
- $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
350
  }
351
  });
352
  }
53
 
54
  $this.addClass('disabled').text(button_i18n.loading);
55
 
56
+ $.wbcr_factory_clearfy_217.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_clearfy_217.app.showNotice(response.data.error_message, 'danger');
63
  }
64
 
65
+ $.wbcr_factory_clearfy_217.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( !$('.wbcr-clr-update-package').length ) {
81
+ $.wbcr_factory_clearfy_217.app.showNotice(response.data.update_notice);
82
  }
83
  } else {
84
  if( $('.wbcr-clr-update-package').length ) {
97
  $this.removeClass('button-default').addClass('button-primary');
98
  }
99
 
100
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/installed', [
101
  $this,
102
  data,
103
  response
147
  $this.closest('.plugin-card').find('.delete-now').remove();
148
  }
149
 
150
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/pre_activate', [
151
  $this,
152
  data,
153
  response
194
  $this.closest('.wbcr-hide-after-action').remove();
195
  }
196
 
197
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/deactivated', [
198
  $this,
199
  data,
200
  response
217
  $this.remove();
218
  }
219
 
220
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/deleted', [$this, data, response]);
221
  }
222
  } else {
223
  if( plugin_action == 'install' ) {
228
  $this.text(button_i18n[plugin_action]);
229
 
230
  if( response.data.need_rewrite_rules && !$('.wbcr-clr-need-rewrite-rules-message').length ) {
231
+ $.wbcr_factory_clearfy_217.app.showNotice(response.data.need_rewrite_rules, 'warning');
232
  }
233
 
234
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/updated', [$this, data, response]);
235
  });
236
 
237
  return false;
254
  self.sendRequest(data, function(response) {
255
  if( !response || !response.success ) {
256
  if( response.data && response.data.error_message ) {
257
+ $.wbcr_factory_clearfy_217.app.showNotice(response.data.error_message, 'danger');
258
  }
259
  return;
260
  }
317
  self.setComponentDeactivate(componentButton);
318
 
319
  if( response.data && response.data.error_message ) {
320
+ $.wbcr_factory_clearfy_217.app.showNotice(response.data.error_message, 'danger');
321
  }
322
 
323
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/activated_error', [sendData.plugin]);
324
  return;
325
  }
326
 
327
  componentButton.removeClass('button-primary').text(button_i18n['deactivate']);
328
  self.setComponentActivate(componentButton);
329
 
330
+ $.wbcr_factory_clearfy_217.hooks.run('clearfy/components/activated', [sendData.plugin]);
331
  });
332
  },
333
 
346
  console.log(xhr.responseText);
347
  console.log(thrownError);
348
 
349
+ $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
350
  }
351
  });
352
  }
admin/assets/js/license-manager.js CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
20
  // Глобальные уведомления не трогаем
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
- $.wbcr_factory_clearfy_214.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
@@ -55,7 +55,7 @@ jQuery(function($) {
55
 
56
  if( response.data ) {
57
  console.log(response.data.error_message);
58
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
59
  allNotices.push(noticeId);
60
  } else {
61
  console.log(response);
@@ -65,7 +65,7 @@ jQuery(function($) {
65
  }
66
 
67
  if( response.data && response.data.message ) {
68
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice(response.data.message, 'success');
69
  allNotices.push(noticeId);
70
 
71
  // todo: доработать генерацию формы, вместо перезагрузки страницы
@@ -82,7 +82,7 @@ jQuery(function($) {
82
  console.log(xhr.responseText);
83
  console.log(thrownError);
84
 
85
- var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
86
 
87
  allNotices.push(noticeId);
88
  }
20
  // Глобальные уведомления не трогаем
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
+ $.wbcr_factory_clearfy_217.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
55
 
56
  if( response.data ) {
57
  console.log(response.data.error_message);
58
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
59
  allNotices.push(noticeId);
60
  } else {
61
  console.log(response);
65
  }
66
 
67
  if( response.data && response.data.message ) {
68
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice(response.data.message, 'success');
69
  allNotices.push(noticeId);
70
 
71
  // todo: доработать генерацию формы, вместо перезагрузки страницы
82
  console.log(xhr.responseText);
83
  console.log(thrownError);
84
 
85
+ var noticeId = $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
86
 
87
  allNotices.push(noticeId);
88
  }
admin/boot.php CHANGED
@@ -33,8 +33,8 @@ add_action( 'wbcr/factory/pages/impressive/header', function ( $plugin_name ) {
33
 
34
  /**
35
  * @param $form
36
- * @param Wbcr_Factory422_Plugin $plugin
37
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
38
  */
39
  function wbcr_clearfy_multisite_before_save( $form, $plugin, $obj ) {
40
  if ( $plugin->getPluginName() !== WCL_Plugin::app()->getPluginName() ) {
@@ -74,7 +74,7 @@ add_action( 'admin_enqueue_scripts', function () {
74
  wp_enqueue_style( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', [], WCL_Plugin::app()->getPluginVersion() );
75
  wp_enqueue_script( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', [
76
  'jquery',
77
- 'wbcr-factory-clearfy-214-global'
78
  ], WCL_Plugin::app()->getPluginVersion() );
79
  } );
80
 
@@ -83,7 +83,7 @@ add_action( 'admin_enqueue_scripts', function () {
83
  * Уведомление будет показано на всех страницах Clearfy и его компонентах.
84
  *
85
  * @param WCL_Plugin $plugin
86
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
87
  */
88
  function wbcr_clearfy_print_notice_rewrite_rules( $plugin, $obj ) {
89
  if ( WCL_Plugin::app()->getPopulateOption( 'need_rewrite_rules' ) ) {
@@ -106,7 +106,7 @@ add_action( 'flush_rewrite_rules_hard', 'wbcr_clearfy_flush_rewrite_rules' );
106
  * Обновить постоынные ссылки, после выполнения быстрых настроек
107
  *
108
  * @param WHM_Plugin $plugin
109
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
110
  */
111
  function wbcr_clearfy_after_form_save( $plugin, $obj ) {
112
  if ( ! WCL_Plugin::app()->currentUserCan() ) {
@@ -128,7 +128,7 @@ add_action( 'wbcr/factory/pages/impressive/after_form_save', 'wbcr_clearfy_after
128
  *
129
  * @param array $widgets
130
  * @param string $position
131
- * @param Wbcr_Factory422_Plugin $plugin
132
  */
133
 
134
  add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
33
 
34
  /**
35
  * @param $form
36
+ * @param Wbcr_Factory425_Plugin $plugin
37
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $obj
38
  */
39
  function wbcr_clearfy_multisite_before_save( $form, $plugin, $obj ) {
40
  if ( $plugin->getPluginName() !== WCL_Plugin::app()->getPluginName() ) {
74
  wp_enqueue_style( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/css/install-addons.css', [], WCL_Plugin::app()->getPluginVersion() );
75
  wp_enqueue_script( 'wbcr-clearfy-install-components', WCL_PLUGIN_URL . '/admin/assets/js/install-addons.js', [
76
  'jquery',
77
+ 'wbcr-factory-clearfy-217-global'
78
  ], WCL_Plugin::app()->getPluginVersion() );
79
  } );
80
 
83
  * Уведомление будет показано на всех страницах Clearfy и его компонентах.
84
  *
85
  * @param WCL_Plugin $plugin
86
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $obj
87
  */
88
  function wbcr_clearfy_print_notice_rewrite_rules( $plugin, $obj ) {
89
  if ( WCL_Plugin::app()->getPopulateOption( 'need_rewrite_rules' ) ) {
106
  * Обновить постоынные ссылки, после выполнения быстрых настроек
107
  *
108
  * @param WHM_Plugin $plugin
109
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $obj
110
  */
111
  function wbcr_clearfy_after_form_save( $plugin, $obj ) {
112
  if ( ! WCL_Plugin::app()->currentUserCan() ) {
128
  *
129
  * @param array $widgets
130
  * @param string $position
131
+ * @param Wbcr_Factory425_Plugin $plugin
132
  */
133
 
134
  add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
admin/includes/compatibility.php CHANGED
@@ -22,8 +22,8 @@ add_action( 'plugins_loaded', function () {
22
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
23
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
24
  *
25
- * @param Wbcr_Factory422_Plugin $plugin
26
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
27
  *
28
  * @return bool
29
  */
@@ -52,8 +52,8 @@ add_action( 'plugins_loaded', function () {
52
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
53
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
54
  *
55
- * @param Wbcr_Factory422_Plugin $plugin
56
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
57
  *
58
  * @return bool
59
  */
22
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
23
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
24
  *
25
+ * @param Wbcr_Factory425_Plugin $plugin
26
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $obj
27
  *
28
  * @return bool
29
  */
52
  * Это необходимо, чтоб напомнить пользователю обновить конфигурацию компонентов плагина,
53
  * иначе вновь активированные компоненты не будет зайдествованы в работе плагина.
54
  *
55
+ * @param Wbcr_Factory425_Plugin $plugin
56
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $obj
57
  *
58
  * @return bool
59
  */
admin/includes/sidebar-widgets.php CHANGED
@@ -1,83 +1,84 @@
1
  <?php
2
- /**
3
- * Sidebar widgets
4
- *
5
- * @author Webcraftic <wordpress.webraftic@gmail.com>
6
- * @copyright (c) 01.12.2018, Webcraftic
7
- * @version 1.0
8
- */
9
-
10
- /**
11
- * Return premium widget markup
12
- *
13
- * @return string
14
- */
15
- function wbcr_clearfy_get_sidebar_premium_widget() {
16
-
17
- $buy_premium_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'pricing', 'license_page' );
18
-
19
- ob_start();
20
- ?>
21
- <div id="wbcr-clr-go-to-premium-widget" class="wbcr-factory-sidebar-widget">
22
- <p>
23
- <strong><?php _e( 'Activation Clearfy Business', 'clearfy' ); ?></strong>
24
- </p>
25
- <div class="wbcr-clr-go-to-premium-widget-body">
26
- <p><?php _e( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) ?></p>
27
- <p><?php _e( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) ?></p>
28
- <a href="<?= $buy_premium_url ?>" class="wbcr-clr-purchase-premium" target="_blank" rel="noopener">
29
  <span class="btn btn-gold btn-inner-wrap">
30
  <i class="fa fa-star"></i> <?php _e( 'Upgrade to Clearfy Business', 'clearfy' ) ?>
31
  <i class="fa fa-star"></i>
32
  </span>
33
- </a>
 
34
  </div>
35
- </div>
36
- <?php
37
-
38
- $output = ob_get_contents();
39
-
40
- ob_end_clean();
41
-
42
- return $output;
43
- }
44
-
45
- /**
46
- * Return support widget markup
47
- *
48
- * @return string
49
- */
50
- function wbcr_clearfy_get_sidebar_support_widget() {
51
-
52
- $output = '';
53
-
54
- $free_support_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'support', 'support_widget' );
55
- $page_hot_support_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'hot-support', 'support_widget' );
56
-
57
- ob_start();
58
- ?>
59
- <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
60
- <p><strong><?php _e( 'Having Issues?', 'clearfy' ); ?></strong></p>
61
- <div class="wbcr-clr-support-widget-body">
62
- <p>
63
- <?php _e( 'We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you!', 'clearfy' ); ?>
64
- </p>
65
- <ul>
66
- <li><span class="dashicons dashicons-sos"></span>
67
- <a href="<?= $free_support_url ?>" target="_blank" rel="noopener"><?php _e( 'Get starting free support', 'clearfy' ); ?></a>
68
- </li>
69
- <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
70
- <span class="dashicons dashicons-warning"></span>
71
- <?php printf( __( 'If you find a php error or a vulnerability in plugin, you can <a href="%s" target="_blank" rel="noopener">create ticket</a> in hot support that we responded instantly.', 'clearfy' ), $page_hot_support_url ); ?>
72
- </li>
73
- </ul>
 
74
  </div>
75
- </div>
76
- <?php
77
-
78
- $output = ob_get_contents();
79
-
80
- ob_end_clean();
81
-
82
- return $output;
83
- }
1
  <?php
2
+ /**
3
+ * Sidebar widgets
4
+ *
5
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
6
+ * @copyright (c) 01.12.2018, Webcraftic
7
+ * @version 1.0
8
+ */
9
+
10
+ /**
11
+ * Return premium widget markup
12
+ *
13
+ * @return string
14
+ */
15
+ function wbcr_clearfy_get_sidebar_premium_widget() {
16
+
17
+ $buy_premium_url = WCL_Plugin::app()->get_support()->get_pricing_url( true, 'license_page' );
18
+
19
+ ob_start();
20
+ ?>
21
+ <div id="wbcr-clr-go-to-premium-widget" class="wbcr-factory-sidebar-widget">
22
+ <p>
23
+ <strong><?php _e( 'Activation Clearfy Business', 'clearfy' ); ?></strong>
24
+ </p>
25
+ <div class="wbcr-clr-go-to-premium-widget-body">
26
+ <p><?php _e( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) ?></p>
27
+ <p><?php _e( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) ?></p>
28
+ <a href="<?= $buy_premium_url ?>" class="wbcr-clr-purchase-premium" target="_blank" rel="noopener">
29
  <span class="btn btn-gold btn-inner-wrap">
30
  <i class="fa fa-star"></i> <?php _e( 'Upgrade to Clearfy Business', 'clearfy' ) ?>
31
  <i class="fa fa-star"></i>
32
  </span>
33
+ </a>
34
+ </div>
35
  </div>
36
+ <?php
37
+
38
+ $output = ob_get_contents();
39
+
40
+ ob_end_clean();
41
+
42
+ return $output;
43
+ }
44
+
45
+ /**
46
+ * Return support widget markup
47
+ *
48
+ * @return string
49
+ */
50
+ function wbcr_clearfy_get_sidebar_support_widget() {
51
+
52
+ $output = '';
53
+
54
+ $free_support_url = WCL_Plugin::app()->get_support()->get_contacts_url( true, 'support_widget' );
55
+ $page_hot_support_url = WCL_Plugin::app()->get_support()->get_tracking_page_url( 'hot-support', 'support_widget' );
56
+
57
+ ob_start();
58
+ ?>
59
+ <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
60
+ <p><strong><?php _e( 'Having Issues?', 'clearfy' ); ?></strong></p>
61
+ <div class="wbcr-clr-support-widget-body">
62
+ <p>
63
+ <?php _e( 'We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you!', 'clearfy' ); ?>
64
+ </p>
65
+ <ul>
66
+ <li><span class="dashicons dashicons-sos"></span>
67
+ <a href="<?= $free_support_url ?>" target="_blank"
68
+ rel="noopener"><?php _e( 'Get starting free support', 'clearfy' ); ?></a>
69
+ </li>
70
+ <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
71
+ <span class="dashicons dashicons-warning"></span>
72
+ <?php printf( __( 'If you find a php error or a vulnerability in plugin, you can <a href="%s" target="_blank" rel="noopener">create ticket</a> in hot support that we responded instantly.', 'clearfy' ), $page_hot_support_url ); ?>
73
+ </li>
74
+ </ul>
75
+ </div>
76
  </div>
77
+ <?php
78
+
79
+ $output = ob_get_contents();
80
+
81
+ ob_end_clean();
82
+
83
+ return $output;
84
+ }
 
admin/pages/class-page.php CHANGED
@@ -7,6 +7,36 @@
7
  * @version 1.0
8
  */
9
 
10
- class WCL_Page extends Wbcr_FactoryClearfy214_PageBase {
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  }
7
  * @version 1.0
8
  */
9
 
10
+ class WCL_Page extends Wbcr_FactoryClearfy217_PageBase {
11
 
12
+ /**
13
+ * Действие выполняется для всех страниц Clearfy и его компонентах.
14
+ * Это простое предложение перейти на PRO версию.
15
+ */
16
+ public function multisiteProAction() {
17
+ if ( is_multisite() && $this->plugin->isNetworkActive() ) {
18
+
19
+ $license_page_url = $this->getBaseUrl( 'clearfy_license' );
20
+ $upgrade_url = $this->plugin->get_support()->get_pricing_url( true, 'multisite_save_settings' );
21
+
22
+ $html = '<div class="wbcr-factory-clearfy-217-multisite-suggetion">';
23
+ $html .= '<div class="wbcr-factory-inner-contanier">';
24
+ $html .= '<h3>' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_217' ) . '</h3>';
25
+ $html .= '<p>' . __( 'Oops... Sorry for the inconvenience caused!', 'wbcr_factory_clearfy_217' ) . '</p>';
26
+ $html .= '<p>' . __( 'Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_clearfy_217' ) . '</p>';
27
+ $html .= '<p>' . __( 'You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', 'wbcr_factory_clearfy_217' ) . '</p>';
28
+ $html .= '<p style="margin-top:20px">';
29
+ $html .= '<a href="' . $license_page_url . '" class="wbcr-factory-activate-premium" rel="noopener">' . __( 'Activate license ', 'wbcr_factory_clearfy_217' ) . '</a> ';
30
+ $html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_217' ) . '</a>';
31
+ $html .= '</p>';
32
+ $html .= '</div>';
33
+ $html .= '</div>';
34
+
35
+ $this->showPage( $html );
36
+
37
+ return;
38
+ }
39
+
40
+ $this->redirectToAction( 'index' );
41
+ }
42
  }
admin/pages/class-pages-advanced.php CHANGED
@@ -17,7 +17,7 @@
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages422_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages425_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
admin/pages/class-pages-clearfy-settings.php CHANGED
@@ -19,7 +19,7 @@ class WCL_ClearfySettingsPage extends WCL_Page {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
- * @see FactoryPages422_AdminPage
23
  *
24
  * @var string
25
  */
@@ -58,7 +58,7 @@ class WCL_ClearfySettingsPage extends WCL_Page {
58
  *
59
  * @since 1.0.0
60
  * @return void
61
- * @see FactoryPages422_AdminPage
62
  *
63
  */
64
  public function assets( $scripts, $styles ) {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages425_AdminPage
23
  *
24
  * @var string
25
  */
58
  *
59
  * @since 1.0.0
60
  * @return void
61
+ * @see FactoryPages425_AdminPage
62
  *
63
  */
64
  public function assets( $scripts, $styles ) {
admin/pages/class-pages-components-license.php ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
7
+ /**
8
+ * Страница лицензирования плагина.
9
+ *
10
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
11
+ *
12
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
+ *
14
+ * @copyright (c) 2018 Webraftic Ltd
15
+ */
16
+ class WCL_ComponentsLicensePage extends WCL_Page {
17
+
18
+ /**
19
+ * {@inheritdoc}
20
+ *
21
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
22
+ * @since 1.6.0
23
+ * @var string
24
+ */
25
+ public $id = 'clearfy_components_license';
26
+
27
+ /**
28
+ * {@inheritdoc}
29
+ *
30
+ * @var string
31
+ */
32
+ public $type = 'page';
33
+
34
+ /**
35
+ * {@inheritdoc}
36
+ *
37
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
38
+ * @since 1.6.0
39
+ * @var string
40
+ */
41
+ public $page_parent_page;
42
+
43
+ /**
44
+ * @var int
45
+ */
46
+ public $page_menu_position = 0;
47
+
48
+ /**
49
+ * {@inheritdoc}
50
+ *
51
+ * @var bool
52
+ */
53
+ public $show_right_sidebar_in_options = false;
54
+
55
+ /**
56
+ * WCL_LicensePage constructor.
57
+ *
58
+ * @param \Wbcr_Factory425_Plugin $plugin
59
+ *
60
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
+ *
62
+ */
63
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
64
+ $this->menu_title = __( 'License', 'robin-image-optimizer' );
65
+ $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
66
+ $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
67
+
68
+ parent::__construct( $plugin );
69
+ }
70
+
71
+ /**
72
+ * Requests assets (js and css) for the page.
73
+ *
74
+ * @return void
75
+ * @since 1.0.0
76
+ * @see FactoryPages425_AdminPage
77
+ *
78
+ */
79
+ public function assets( $scripts, $styles ) {
80
+ parent::assets( $scripts, $styles );
81
+
82
+ $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/components.css' );
83
+
84
+ /**
85
+ * @param Wbcr_Factory425_StyleList $styles
86
+ * @param Wbcr_Factory425_ScriptList $scripts
87
+ *
88
+ * @since 1.4.0
89
+ *
90
+ */
91
+ do_action( 'wbcr/clearfy/components/page_assets', $scripts, $styles );
92
+ }
93
+
94
+ /**
95
+ * This method simply show contents of the component page.
96
+ *
97
+ * @throws Exception
98
+ */
99
+ public function showPageContent() {
100
+
101
+ /**
102
+ * @since 1.4.0
103
+ *
104
+ */
105
+ $components = apply_filters( 'wbcr/clearfy/license/list_components', [] );
106
+
107
+ ?>
108
+ <div class="wbcr-factory-page-group-header"><?php _e( '<strong>Products activation</strong>.', 'clearfy' ) ?>
109
+ <p>
110
+ <?php _e( 'These are components of the plugin bundle. When you activate the plugin, all the components turned on by default. If you don’t need some function, you can easily turn it off on this page.', 'clearfy' ) ?>
111
+ </p>
112
+ </div>
113
+ <div class="wbcr-clearfy-components">
114
+ <?php
115
+ /**
116
+ * @param array $components
117
+ *
118
+ * @since 1.6.2
119
+ */
120
+ do_action( 'wbcr/clearfy/license/custom_plugins_card', $components );
121
+ ?>
122
+
123
+ <?php foreach ( (array) $components as $component ): ?>
124
+ <div class="plugin-card">
125
+ <div class="plugin-card-top">
126
+ <div class="name column-name">
127
+ <h3>
128
+ <a href="<?php echo esc_url( $component['url'] ) ?>"
129
+ class="thickbox open-plugin-details-modal">
130
+ You use <?php echo esc_html( $component['title'] ) ?>
131
+ <img src="<?php echo esc_attr( $component['icon'] ) ?>" class="plugin-icon"
132
+ alt="<?php echo esc_attr( $component['title'] ) ?>">
133
+ </a>
134
+ </h3>
135
+ </div>
136
+ <div class="desc column-description">
137
+ <?php if ( 'premium' === $component['build'] ): ?>
138
+ <ul>
139
+ <?php if ( ! empty( $component['key'] ) ): ?>
140
+ <li>
141
+ <strong><?php _e( 'License key', 'clearfy' ) ?>:
142
+ </strong> <?php echo esc_html( $component['key'] ) ?>
143
+ </li>
144
+ <?php endif; ?>
145
+ <?php if ( ! empty( $component['plan'] ) ): ?>
146
+ <li>
147
+ <strong><?php _e( 'Plan', 'clearfy' ) ?>:</strong>
148
+ <?php echo esc_html( $component['plan'] ) ?>
149
+ </li>
150
+ <?php endif; ?>
151
+ <?php if ( ! empty( $component['subscription'] ) ): ?>
152
+ <li>
153
+ <strong><?php _e( 'Type', 'clearfy' ) ?>:</strong>
154
+ <?php echo esc_html( $component['subscription'] ) ?>
155
+ </li>
156
+ <?php endif; ?>
157
+ <?php if ( ! empty( $component['plan'] ) ): ?>
158
+ <li>
159
+ <strong><?php _e( 'Expired', 'clearfy' ) ?>:
160
+ </strong> <?php echo esc_html( $component['expiration_days'] ) ?> <?php _e( 'days remained', 'clearfy' ) ?>
161
+ </li>
162
+ <?php endif; ?>
163
+ </ul>
164
+ <?php else: ?>
165
+ <p><?php echo esc_html( $component['description'] ); ?></p>
166
+ <?php endif; ?>
167
+ </div>
168
+ </div>
169
+ <div class="plugin-card-bottom">
170
+ <a href="<?php echo $this->getBaseUrl( $component['license_page_id'] ); ?>"
171
+ class="button">
172
+ <?php if ( 'premium' === $component['build'] ): ?>
173
+ <?php _e( 'License details' ) ?>
174
+ <?php else: ?>
175
+ <?php _e( 'Activate Premium License' ) ?>
176
+ <?php endif; ?>
177
+ </a>
178
+ </div>
179
+ </div>
180
+ <?php endforeach; ?>
181
+ <div class="clearfix"></div>
182
+ </div>
183
+ <?php
184
+ }
185
+
186
+ }
admin/pages/class-pages-components.php CHANGED
@@ -21,7 +21,7 @@ class WCL_ComponentsPage extends WCL_Page {
21
  * Mainly used to navigate between pages.
22
  *
23
  * @since 1.0.0
24
- * @see FactoryPages422_AdminPage
25
  *
26
  * @var string
27
  */
@@ -54,7 +54,7 @@ class WCL_ComponentsPage extends WCL_Page {
54
  *
55
  * @since 1.0.0
56
  * @return void
57
- * @see FactoryPages422_AdminPage
58
  *
59
  */
60
  public function assets( $scripts, $styles ) {
@@ -65,8 +65,8 @@ class WCL_ComponentsPage extends WCL_Page {
65
  /**
66
  * @since 1.4.0
67
  *
68
- * @param Wbcr_Factory422_StyleList $styles
69
- * @param Wbcr_Factory422_ScriptList $scripts
70
  */
71
  do_action( 'wbcr/clearfy/components/page_assets', $scripts, $styles );
72
  }
@@ -75,10 +75,10 @@ class WCL_ComponentsPage extends WCL_Page {
75
  * We register notifications for some actions
76
  *
77
  * @param $notices
78
- * @param Wbcr_Factory422_Plugin $plugin
79
  *
80
  * @return array
81
- * @see libs\factory\pages\themplates\FactoryPages422_ImpressiveThemplate
82
  */
83
  public function getActionNotices( $notices ) {
84
  $notices[] = [
21
  * Mainly used to navigate between pages.
22
  *
23
  * @since 1.0.0
24
+ * @see FactoryPages425_AdminPage
25
  *
26
  * @var string
27
  */
54
  *
55
  * @since 1.0.0
56
  * @return void
57
+ * @see FactoryPages425_AdminPage
58
  *
59
  */
60
  public function assets( $scripts, $styles ) {
65
  /**
66
  * @since 1.4.0
67
  *
68
+ * @param Wbcr_Factory425_StyleList $styles
69
+ * @param Wbcr_Factory425_ScriptList $scripts
70
  */
71
  do_action( 'wbcr/clearfy/components/page_assets', $scripts, $styles );
72
  }
75
  * We register notifications for some actions
76
  *
77
  * @param $notices
78
+ * @param Wbcr_Factory425_Plugin $plugin
79
  *
80
  * @return array
81
+ * @see libs\factory\pages\themplates\FactoryPages425_ImpressiveThemplate
82
  */
83
  public function getActionNotices( $notices ) {
84
  $notices[] = [
admin/pages/class-pages-defence.php CHANGED
@@ -17,7 +17,7 @@ class WCL_DefencePage extends WCL_Page {
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages422_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -132,7 +132,7 @@ class WCL_DefencePage extends WCL_Page {
132
  //'cssClass' => 'postbox'
133
  );
134
 
135
- return wbcr_factory_422_apply_filters_deprecated( 'wbcr_clr_defence_form_options', array(
136
  $form_options,
137
  $this
138
  ), '1.3.1', 'wbcr_clearfy_defence_form_options' );
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages425_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
132
  //'cssClass' => 'postbox'
133
  );
134
 
135
+ return wbcr_factory_425_apply_filters_deprecated( 'wbcr_clr_defence_form_options', array(
136
  $form_options,
137
  $this
138
  ), '1.3.1', 'wbcr_clearfy_defence_form_options' );
admin/pages/class-pages-hide-login-page.php CHANGED
@@ -17,7 +17,7 @@
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages422_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -78,7 +78,7 @@
78
  ?>
79
  <script>
80
  jQuery(document).ready(function($) {
81
- $.wbcr_factory_clearfy_214.hooks.add('clearfy/components/updated', function(button, component_name) {
82
  if( component_name.plugin_action == 'install' ) {
83
  button.removeClass('wbcr-factory-purchase-premium');
84
  button.addClass('wbcr-factory-activate-premium');
@@ -91,7 +91,7 @@
91
  });
92
  });
93
  </script>
94
- <div class="wbcr-factory-clearfy-214-multisite-suggetion">
95
  <div class="wbcr-factory-inner-contanier">
96
  <h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
97
 
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages425_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
78
  ?>
79
  <script>
80
  jQuery(document).ready(function($) {
81
+ $.wbcr_factory_clearfy_217.hooks.add('clearfy/components/updated', function(button, component_name) {
82
  if( component_name.plugin_action == 'install' ) {
83
  button.removeClass('wbcr-factory-purchase-premium');
84
  button.addClass('wbcr-factory-activate-premium');
91
  });
92
  });
93
  </script>
94
+ <div class="wbcr-factory-clearfy-217-multisite-suggetion">
95
  <div class="wbcr-factory-inner-contanier">
96
  <h3><?php _e('Install Hide login page component', 'clearfy') ?></h3>
97
 
admin/pages/class-pages-image-optimization.php CHANGED
@@ -19,7 +19,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
- * @see FactoryPages422_AdminPage
23
  *
24
  * @var string
25
  */
@@ -79,7 +79,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
79
  ?>
80
  <script>
81
  jQuery(document).ready(function($) {
82
- $.wbcr_factory_clearfy_214.hooks.add('clearfy/components/updated', function(button, component_name) {
83
  if( component_name.plugin_action == 'install' ) {
84
  button.removeClass('wbcr-factory-purchase-premium');
85
  button.addClass('wbcr-factory-activate-premium');
@@ -92,7 +92,7 @@ class WCL_ImageOptimizationPage extends WCL_Page {
92
  });
93
  });
94
  </script>
95
- <div class="wbcr-factory-clearfy-214-multisite-suggetion">
96
  <div class="wbcr-factory-inner-contanier">
97
  <h3><?php _e( 'Install Robin Image Optimizer component', 'clearfy' ) ?></h3>
98
  <p><?php _e( 'To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy' ) ?></p>
19
  * Mainly used to navigate between pages.
20
  *
21
  * @since 1.0.0
22
+ * @see FactoryPages425_AdminPage
23
  *
24
  * @var string
25
  */
79
  ?>
80
  <script>
81
  jQuery(document).ready(function($) {
82
+ $.wbcr_factory_clearfy_217.hooks.add('clearfy/components/updated', function(button, component_name) {
83
  if( component_name.plugin_action == 'install' ) {
84
  button.removeClass('wbcr-factory-purchase-premium');
85
  button.addClass('wbcr-factory-activate-premium');
92
  });
93
  });
94
  </script>
95
+ <div class="wbcr-factory-clearfy-217-multisite-suggetion">
96
  <div class="wbcr-factory-inner-contanier">
97
  <h3><?php _e( 'Install Robin Image Optimizer component', 'clearfy' ) ?></h3>
98
  <p><?php _e( 'To start optimizing images, you need to install the additional component Robin image optimizer!', 'clearfy' ) ?></p>
admin/pages/class-pages-license.php CHANGED
@@ -1,64 +1,103 @@
1
  <?php
2
- // Exit if accessed directly
3
- if ( ! defined( 'ABSPATH' ) ) {
4
- exit;
5
- }
6
-
7
- /**
8
- * Страница лицензирования плагина.
9
- *
10
- * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
11
- *
12
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
- *
14
- * @copyright (c) 2018 Webraftic Ltd
15
- */
16
- class WCL_LicensePage extends Wbcr_FactoryClearfy214_LicensePage {
17
-
18
- /**
19
- * {@inheritdoc}
20
- *
21
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
22
- * @since 1.6.0
23
- * @var string
24
- */
25
- public $id = 'clearfy_license';
26
-
27
- /**
28
- * {@inheritdoc}
29
- *
30
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
31
- * @since 1.6.0
32
- * @var string
33
- */
34
- public $page_parent_page;
35
-
36
  /**
37
- * WCL_LicensePage constructor.
38
  *
39
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
40
  *
41
- * @param \Wbcr_Factory422_Plugin $plugin
42
- */
43
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
44
- $this->menu_title = __( 'License', 'robin-image-optimizer' );
45
- $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
46
- $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
47
-
48
- parent::__construct( $plugin );
49
- }
50
-
51
- /**
52
- * {@inheritdoc}
53
  *
54
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
- * @since 1.6.0
56
- * @return string
57
  */
58
- public function get_plan_description() {
59
- $description = '<p style="font-size: 16px;">' . __( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '</p>';
60
- $description .= '<p style="font-size: 16px;">' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '</p>';
61
-
62
- return $description;
63
- }
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
+ // Exit if accessed directly
3
+ if ( ! defined( 'ABSPATH' ) ) {
4
+ exit;
5
+ }
6
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  /**
8
+ * Страница лицензирования плагина.
9
  *
10
+ * Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
11
  *
12
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
 
 
 
 
 
 
 
 
 
 
 
13
  *
14
+ * @copyright (c) 2018 Webraftic Ltd
 
 
15
  */
16
+ class WCL_LicensePage extends Wbcr_FactoryClearfy217_LicensePage {
17
+
18
+ /**
19
+ * {@inheritdoc}
20
+ *
21
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
22
+ * @since 1.6.0
23
+ * @var string
24
+ */
25
+ public $id = 'clearfy_license';
26
+
27
+ /**
28
+ * {@inheritdoc}
29
+ *
30
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
31
+ * @since 1.6.0
32
+ * @var string
33
+ */
34
+ public $page_parent_page;
35
+
36
+ /**
37
+ * WCL_LicensePage constructor.
38
+ *
39
+ * @param \Wbcr_Factory425_Plugin $plugin
40
+ *
41
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
42
+ *
43
+ */
44
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
45
+ $this->menu_title = __( 'License', 'robin-image-optimizer' );
46
+ $this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
47
+ $this->plan_name = __( 'Clearfy Business', 'robin-image-optimizer' );
48
+
49
+ if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
50
+ $this->page_parent_page = 'none';
51
+ }
52
+
53
+ parent::__construct( $plugin );
54
+
55
+ /**
56
+ * Adds a new plugin card to license components page
57
+ *
58
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
59
+ * @since 1.6.2
60
+ */
61
+ add_filter( 'wbcr/clearfy/license/list_components', function ( $components ) {
62
+ $title = 'Free';
63
+ $icon = 'clearfy-premium-icon-256x256--lock.png';
64
+
65
+ if ( $this->is_premium ) {
66
+ $title = 'Premium';
67
+ $icon = 'clearfy-premium-icon-256x256--default.png';
68
+ }
69
+
70
+ $components[] = [
71
+ 'name' => 'clearfy',
72
+ 'title' => sprintf( __( 'Clearfy [%s]', 'clearfy' ), $title ),
73
+ 'type' => 'internal',
74
+ 'build' => $this->is_premium ? 'premium' : 'free',
75
+ 'key' => $this->get_hidden_license_key(),
76
+ 'plan' => $this->get_plan(),
77
+ 'expiration_days' => $this->get_expiration_days(),
78
+ 'quota' => $this->is_premium ? $this->premium_license->get_count_active_sites() . ' ' . __( 'of', 'clearfy' ) . ' ' . $this->premium_license->get_sites_quota() : null,
79
+ 'subscription' => $this->is_premium && $this->premium_has_subscription ? sprintf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ) : null,
80
+ 'url' => 'https://clearfy.pro/',
81
+ 'icon' => WCL_PLUGIN_URL . '/admin/assets/img/' . $icon,
82
+ 'description' => __( 'Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'clearfy' ),
83
+ 'license_page_id' => 'clearfy_license'
84
+ ];
85
+
86
+ return $components;
87
+ } );
88
+ }
89
+
90
+ /**
91
+ * {@inheritdoc}
92
+ *
93
+ * @return string
94
+ * @since 1.6.0
95
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
96
+ */
97
+ public function get_plan_description() {
98
+ $description = '<p style="font-size: 16px;">' . __( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '</p>';
99
+ $description .= '<p style="font-size: 16px;">' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '</p>';
100
+
101
+ return $description;
102
+ }
103
+ }
admin/pages/class-pages-performance-google.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages422_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages425_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-quick-start.php CHANGED
@@ -17,7 +17,7 @@
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
- * @see FactoryPages422_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
@@ -79,7 +79,7 @@
79
  /**
80
  * Requests assets (js and css) for the page.
81
  *
82
- * @see FactoryPages422_AdminPage
83
  *
84
  * @since 1.0.0
85
  * @return void
17
  * The id of the page in the admin menu.
18
  *
19
  * Mainly used to navigate between pages.
20
+ * @see FactoryPages425_AdminPage
21
  *
22
  * @since 1.0.0
23
  * @var string
79
  /**
80
  * Requests assets (js and css) for the page.
81
  *
82
+ * @see FactoryPages425_AdminPage
83
  *
84
  * @since 1.0.0
85
  * @return void
admin/pages/class-pages-seo-double-pages.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages422_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages425_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-seo.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages422_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages425_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
admin/pages/class-pages-widgets.php CHANGED
@@ -16,7 +16,7 @@
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
- * @see FactoryPages422_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
16
  * The id of the page in the admin menu.
17
  *
18
  * Mainly used to navigate between pages.
19
+ * @see FactoryPages425_AdminPage
20
  *
21
  * @since 1.0.0
22
  * @var string
assets/css/admin-bar.css CHANGED
@@ -45,3 +45,4 @@
45
  #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-star-filled {
46
  color: #ffbe00;
47
  }
 
45
  #wp-admin-bar-clearfy-menu .ab-item .dashicons.dashicons-star-filled {
46
  color: #ffbe00;
47
  }
48
+ /*# sourceMappingURL=admin-bar.css.map */
assets/css/admin-bar.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["admin-bar.less"],"names":[],"mappings":";;;;;AAMA;EASE,mBAAA;;AARA,0BAAC;EACC,WAAA;;AAFJ,0BAKE;EACE,0BAAA;;AANJ,0BAWE;EACE,mBAAA;;AAZJ,0BAeE;EACE,qBAAA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,iBAAA;EACA,WAAA;EACA,gEAAA;;AAtBJ,0BAyBE;EACE,qBAAA;EACA,gBAAA;;AA3BJ,0BAyBE,mCAIE;EACE,0BAAA;EACA,yBAAA;;AA/BN,0BAmCE,SACE;EACE,eAAA;EACA,cAAA;;AAEA,0BALJ,SACE,WAIG;EACC,cAAA;;AAGF,0BATJ,SACE,WAQG;EACC,cAAA;;AAGF,0BAbJ,SACE,WAYG;EACC,cAAA","file":"admin-bar.css"}
clearfy.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin URI: https://wordpress.org/plugins/clearfy/
5
  * Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 1.6.2
8
  * Text Domain: clearfy
9
  * Domain Path: /languages/
10
  * Author URI: http://clearfy.pro
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -29,11 +29,11 @@ require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-r
29
 
30
  // @formatter:off
31
  $plugin_info = array(
32
- 'prefix' => 'wbcr_clearfy_',
33
- 'plugin_name' => 'wbcr_clearfy',
34
- 'plugin_title' => __( 'Clearfy', 'clearfy' ),
35
  // PLUGIN SUPPORT
36
- 'support_details' => array(
37
  'url' => 'http://clearfy.pro',
38
  'pages_map' => array(
39
  'features' => 'premium-features', // {site}/premium-features
@@ -43,18 +43,18 @@ $plugin_info = array(
43
  )
44
  ),
45
  //todo: for compatibility with Robin image optimizer
46
- 'freemius_plugin_id' => '2315',
47
- 'freemius_public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
48
 
49
  // PLUGIN PREMIUM SETTINGS
50
  'has_premium' => true,
51
  'license_settings' => array(
52
- 'provider' => 'freemius',
53
- 'slug' => 'clearfy_package',
54
- 'plugin_id' => '2315',
55
- 'public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
56
- 'price' => 35,
57
- 'has_updates' => true,
58
  'updates_settings' => array(
59
  'maybe_rollback' => true,
60
  'rollback_settings' => array(
@@ -63,52 +63,52 @@ $plugin_info = array(
63
  )
64
  ),
65
  // PLUGIN ADVERTS
66
- 'render_adverts' => true,
67
- 'adverts_settings' => array(
68
  'dashboard_widget' => true, // show dashboard widget (default: false)
69
  'right_sidebar' => true, // show adverts sidebar (default: false)
70
  'notice' => true, // show notice message (default: false)
71
  ),
72
  // FRAMEWORK MODULES
73
- 'load_factory_modules' => array(
74
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
75
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
76
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
77
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
78
- array( 'libs/factory/freemius', 'factory_freemius_110', 'all' ),
79
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
80
  ),
81
  'load_plugin_components' => array(
82
- 'disable_notices' => array(
83
- 'autoload' => 'components/disable-admin-notices/clearfy.php',
84
  'plugin_prefix' => 'WDN_'
85
  ),
86
- 'cyrlitera' => array(
87
- 'autoload' => 'components/cyrlitera/clearfy.php',
88
  'plugin_prefix' => 'WCTR_'
89
  ),
90
- 'updates_manager' => array(
91
- 'autoload' => 'components/updates-manager/clearfy.php',
92
  'plugin_prefix' => 'WUPM_'
93
  ),
94
- 'comments_tools' => array(
95
- 'autoload' => 'components/comments-plus/clearfy.php',
96
  'plugin_prefix' => 'WCM_'
97
  ),
98
- 'ga_cache' => array(
99
- 'autoload' => 'components/ga-cache/clearfy.php',
100
  'plugin_prefix' => 'WGA_'
101
  ),
102
- 'assets_manager' => array(
103
- 'autoload' => 'components/assets-manager/clearfy.php',
104
  'plugin_prefix' => 'WGZ_'
105
  ),
106
  'minify_and_combine' => array(
107
- 'autoload' => 'components/minify-and-combine/clearfy.php',
108
  'plugin_prefix' => 'WMAC_'
109
  ),
110
- 'html_minify' => array(
111
- 'autoload' => 'components/html-minify/clearfy.php',
112
  'plugin_prefix' => 'WHTM_'
113
  ),
114
  )
@@ -116,14 +116,13 @@ $plugin_info = array(
116
 
117
 
118
 
119
- $clearfy_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $plugin_info, array(
120
  'plugin_already_activate' => defined( 'WCL_PLUGIN_ACTIVE' ),
121
  'required_php_version' => '5.4',
122
  'required_wp_version' => '4.2.0',
123
  'required_clearfy_check_component' => false
124
  ) ) );
125
 
126
-
127
  /**
128
  * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
129
  * and the user will throw a warning.
@@ -148,7 +147,7 @@ define( 'WBCR_CLEARFY_PLUGIN_ACTIVE', true );
148
 
149
  // Plugin version
150
  define( 'WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version() );
151
- define( 'WCL_FRAMEWORK_VER', 'FACTORY_422_VERSION' );
152
 
153
  define( 'WCL_PLUGIN_DIR', dirname( __FILE__ ) );
154
  define( 'WCL_PLUGIN_BASE', plugin_basename( __FILE__ ) );
@@ -168,11 +167,10 @@ try {
168
  require_once( WCL_PLUGIN_DIR . '/libs/factory/core/boot.php' );
169
  require_once( WCL_PLUGIN_DIR . '/includes/class.plugin.php' );
170
 
171
- new WCL_Plugin( __FILE__, array_merge( $plugin_info, array(
172
  'plugin_version' => WCL_PLUGIN_VERSION,
173
  'plugin_text_domain' => $clearfy_compatibility->get_text_domain(),
174
- ) ) );
175
-
176
  } catch( Exception $e ) {
177
  // Plugin wasn't initialized due to an error
178
  define( 'WRIO_PLUGIN_THROW_ERROR', true );
@@ -186,3 +184,4 @@ try {
186
  add_action( 'network_admin_notices', $clearfy_plugin_error_func );
187
  }
188
  // @formatter:on
 
4
  * Plugin URI: https://wordpress.org/plugins/clearfy/
5
  * Description: Disables unused Wordpress features, improves performance and increases SEO rankings, using Clearfy, which makes WordPress very easy.
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
+ * Version: 1.6.3
8
  * Text Domain: clearfy
9
  * Domain Path: /languages/
10
  * Author URI: http://clearfy.pro
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  // Exit if accessed directly
29
 
30
  // @formatter:off
31
  $plugin_info = array(
32
+ 'prefix' => 'wbcr_clearfy_',
33
+ 'plugin_name' => 'wbcr_clearfy',
34
+ 'plugin_title' => __( 'Clearfy', 'clearfy' ),
35
  // PLUGIN SUPPORT
36
+ 'support_details' => array(
37
  'url' => 'http://clearfy.pro',
38
  'pages_map' => array(
39
  'features' => 'premium-features', // {site}/premium-features
43
  )
44
  ),
45
  //todo: for compatibility with Robin image optimizer
46
+ 'freemius_plugin_id' => '2315',
47
+ 'freemius_public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
48
 
49
  // PLUGIN PREMIUM SETTINGS
50
  'has_premium' => true,
51
  'license_settings' => array(
52
+ 'provider' => 'freemius',
53
+ 'slug' => 'clearfy_package',
54
+ 'plugin_id' => '2315',
55
+ 'public_key' => 'pk_70e226af07d37d2b9a69720e0952c',
56
+ 'price' => 29,
57
+ 'has_updates' => true,
58
  'updates_settings' => array(
59
  'maybe_rollback' => true,
60
  'rollback_settings' => array(
63
  )
64
  ),
65
  // PLUGIN ADVERTS
66
+ 'render_adverts' => true,
67
+ 'adverts_settings' => array(
68
  'dashboard_widget' => true, // show dashboard widget (default: false)
69
  'right_sidebar' => true, // show adverts sidebar (default: false)
70
  'notice' => true, // show notice message (default: false)
71
  ),
72
  // FRAMEWORK MODULES
73
+ 'load_factory_modules' => array(
74
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
75
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
76
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
77
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
78
+ array( 'libs/factory/freemius', 'factory_freemius_113', 'all' ),
79
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin' )
80
  ),
81
  'load_plugin_components' => array(
82
+ 'disable_notices' => array(
83
+ 'autoload' => 'components/disable-admin-notices/clearfy.php',
84
  'plugin_prefix' => 'WDN_'
85
  ),
86
+ 'cyrlitera' => array(
87
+ 'autoload' => 'components/cyrlitera/clearfy.php',
88
  'plugin_prefix' => 'WCTR_'
89
  ),
90
+ 'updates_manager' => array(
91
+ 'autoload' => 'components/updates-manager/clearfy.php',
92
  'plugin_prefix' => 'WUPM_'
93
  ),
94
+ 'comments_tools' => array(
95
+ 'autoload' => 'components/comments-plus/clearfy.php',
96
  'plugin_prefix' => 'WCM_'
97
  ),
98
+ 'ga_cache' => array(
99
+ 'autoload' => 'components/ga-cache/clearfy.php',
100
  'plugin_prefix' => 'WGA_'
101
  ),
102
+ 'assets_manager' => array(
103
+ 'autoload' => 'components/assets-manager/clearfy.php',
104
  'plugin_prefix' => 'WGZ_'
105
  ),
106
  'minify_and_combine' => array(
107
+ 'autoload' => 'components/minify-and-combine/clearfy.php',
108
  'plugin_prefix' => 'WMAC_'
109
  ),
110
+ 'html_minify' => array(
111
+ 'autoload' => 'components/html-minify/clearfy.php',
112
  'plugin_prefix' => 'WHTM_'
113
  ),
114
  )
116
 
117
 
118
 
119
+ $clearfy_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $plugin_info, array(
120
  'plugin_already_activate' => defined( 'WCL_PLUGIN_ACTIVE' ),
121
  'required_php_version' => '5.4',
122
  'required_wp_version' => '4.2.0',
123
  'required_clearfy_check_component' => false
124
  ) ) );
125
 
 
126
  /**
127
  * If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
128
  * and the user will throw a warning.
147
 
148
  // Plugin version
149
  define( 'WCL_PLUGIN_VERSION', $clearfy_compatibility->get_plugin_version() );
150
+ define( 'WCL_FRAMEWORK_VER', 'FACTORY_425_VERSION' );
151
 
152
  define( 'WCL_PLUGIN_DIR', dirname( __FILE__ ) );
153
  define( 'WCL_PLUGIN_BASE', plugin_basename( __FILE__ ) );
167
  require_once( WCL_PLUGIN_DIR . '/libs/factory/core/boot.php' );
168
  require_once( WCL_PLUGIN_DIR . '/includes/class.plugin.php' );
169
 
170
+ new WCL_Plugin( __FILE__, array_merge( $plugin_info, array(
171
  'plugin_version' => WCL_PLUGIN_VERSION,
172
  'plugin_text_domain' => $clearfy_compatibility->get_text_domain(),
173
+ ) ) );
 
174
  } catch( Exception $e ) {
175
  // Plugin wasn't initialized due to an error
176
  define( 'WRIO_PLUGIN_THROW_ERROR', true );
184
  add_action( 'network_admin_notices', $clearfy_plugin_error_func );
185
  }
186
  // @formatter:on
187
+
components/assets-manager/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
- * @see Wbcr_Factory422_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WGNZ_Activation extends Wbcr_Factory422_Activator {
18
 
19
  /**
20
  * Runs activation actions.
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
+ * @see Wbcr_Factory425_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WGNZ_Activation extends Wbcr_Factory425_Activator {
18
 
19
  /**
20
  * Runs activation actions.
components/assets-manager/admin/ajax/save-settings.php CHANGED
@@ -203,7 +203,7 @@ function wam_save_settings_action() {
203
  wbcr_gnz_deploy_mu_plugin();
204
 
205
  // Flush cache for all cache plugins
206
- WbcrFactoryClearfy214_Helpers::flushPageCache();
207
  }
208
 
209
  wp_send_json_success( [
203
  wbcr_gnz_deploy_mu_plugin();
204
 
205
  // Flush cache for all cache plugins
206
+ WbcrFactoryClearfy217_Helpers::flushPageCache();
207
  }
208
 
209
  wp_send_json_success( [
components/assets-manager/admin/boot.php CHANGED
@@ -167,7 +167,7 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
167
  *
168
  * @param array $widgets
169
  * @param string $position
170
- * @param Wbcr_Factory422_Plugin $plugin
171
  */
172
  add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
173
  if ( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
@@ -208,7 +208,7 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
208
 
209
  function wbcr_gnz_set_plugin_meta( $links, $file ) {
210
  if ( $file == WGZ_PLUGIN_BASE ) {
211
- $url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WGZ_Plugin::app()->getPluginName(), 'assets-manager', 'plugin_row' );
212
  $links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get premium', 'gonzales' ) . '</a>';
213
  }
214
 
@@ -225,5 +225,5 @@ if ( defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
225
  return $page_url;
226
  }
227
 
228
- add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2 );
229
  }
167
  *
168
  * @param array $widgets
169
  * @param string $position
170
+ * @param Wbcr_Factory425_Plugin $plugin
171
  */
172
  add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
173
  if ( $plugin->getPluginName() == WGZ_Plugin::app()->getPluginName() ) {
208
 
209
  function wbcr_gnz_set_plugin_meta( $links, $file ) {
210
  if ( $file == WGZ_PLUGIN_BASE ) {
211
+ $url = WGZ_Plugin::app()->get_support()->get_tracking_page_url( 'assets-manager', 'plugin_row' );
212
  $links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get premium', 'gonzales' ) . '</a>';
213
  }
214
 
225
  return $page_url;
226
  }
227
 
228
+ add_filter( 'wbcr_factory_pages_425_imppage_rating_widget_url', 'wbcr_gnz_rating_widget_url', 10, 2 );
229
  }
components/assets-manager/admin/pages/class-pages-more-features.php CHANGED
@@ -17,6 +17,6 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  *
18
  * @copyright (c) 2018 Webraftic Ltd
19
  */
20
- class WGZ_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
21
 
22
  }
17
  *
18
  * @copyright (c) 2018 Webraftic Ltd
19
  */
20
+ class WGZ_MoreFeaturesPage extends Wbcr_FactoryClearfy217_MoreFeaturesPage {
21
 
22
  }
components/assets-manager/admin/pages/class-pages-settings.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  * The id of the page in the admin menu.
@@ -24,7 +24,7 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy214_PageBase {
24
  * Mainly used to navigate between pages.
25
  *
26
  * @since 1.0.0
27
- * @see FactoryPages422_AdminPage
28
  *
29
  * @var string
30
  */
@@ -48,9 +48,9 @@ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy214_PageBase {
48
  public $available_for_multisite = true;
49
 
50
  /**
51
- * @param Wbcr_Factory422_Plugin $plugin
52
  */
53
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
54
  $this->menu_title = __( 'Assets manager', 'gonzales' );
55
 
56
  if ( ! defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WGZ_AssetsManagerPage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  * The id of the page in the admin menu.
24
  * Mainly used to navigate between pages.
25
  *
26
  * @since 1.0.0
27
+ * @see FactoryPages425_AdminPage
28
  *
29
  * @var string
30
  */
48
  public $available_for_multisite = true;
49
 
50
  /**
51
+ * @param Wbcr_Factory425_Plugin $plugin
52
  */
53
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
54
  $this->menu_title = __( 'Assets manager', 'gonzales' );
55
 
56
  if ( ! defined( 'LOADING_ASSETS_MANAGER_AS_ADDON' ) ) {
components/assets-manager/assets/css/assets-manager.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["assets-manager.less","reset.less","tables.less","tooltip.less","float-panel.less","tabs.less"],"names":[],"mappings":";;;;;AAMA;AAAM;EACJ,2BAAA;;AAGF;EACE,iBAAA;EACA,yCAAA;EACA,sBAAA;;AAGF;EACE,oBAAA;EACA,qBAAA;EACA,gBAAA;;AAEA;AALF,IAKK;EACD,oBAAoB,4BAApB;;AAIJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,QCpBA;ADoBA,QCpBG,EAAC;ADoBJ,QCpBa,EAAC;EACZ,8BAAA;EACA,2BAAA;EACA,sBAAA;;AAGF;ADcA,QCbA;ADaA,QCbI;ADaJ,QCbQ;ADaR,QCbY;ADaZ,QCbgB;ADahB,QCZA;ADYA,QCZG;ADYH,QCZW;ADYX,QCZc;ADYd,QCXA;ADWA,QCXI;ADWJ,QCXO;ADWP,QCXU;ADWV,QCXe;ADWf,QCVA;ADUA,QCVS;ADUT,QCVa;ADUb,QCTA,MAAK;ADSL,QCTsB,MAAK;ADS3B,QCRA;EACE,oBAAoB,4BAApB;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,iBAAA;;ADEF,QCCA;EACE,cAAA;EACA,gBAAA;;ADHF,QCMA;EACE,uBAAA;EACA,SAAA;EACA,iBAAA;;ADTF,QCYA;EACE,iCAAA;EACA,cAAA;;ADdF,QCiBA;EACE,6BAAA;;ADlBF,QCqBA,KAAI;EACF,mBAAA;EACA,iCAAA;;ADvBF,QC0BA;AD1BA,QC0BG;EACD,mBAAA;;AD3BF,QC8BA;AD9BA,QC8BM;AD9BN,QC8BW;EACT,iCAAA;EACA,cAAA;;ADhCF,QCmCA;EACE,cAAA;;ADpCF,QCuCA;ADvCA,QCuCK;EACH,cAAA;EACA,cAAA;EACA,kBAAA;EACA,wBAAA;;AD3CF,QC8CA;EACE,eAAA;;AD/CF,QCkDA;EACE,WAAA;;ADnDF,QCsDA;EACE,kBAAA;;ADvDF,QC0DA;AD1DA,QC2DA;AD3DA,QC4DA;AD5DA,QC6DA;AD7DA,QC8DA;EACE,oBAAA;EACA,eAAA;EACA,iBAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;;AACA,QAXF;AAWE,QAVF;AAUE,QATF;AASE,QARF;AAQE,QAPF;AAOK,QAXL,OAWM;AAAD,QAVL,MAUM;AAAD,QATL,SASM;AAAD,QARL,OAQM;AAAD,QAPL,SAOM;AAAQ,QAXd,OAWe;AAAD,QAVd,MAUe;AAAD,QATd,SASe;AAAD,QARd,OAQe;AAAD,QAPd,SAOe;EACX,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ADzEJ,QC6EA;AD7EA,QC8EA;EACE,iBAAA;;AD/EF,QCkFA;ADlFA,QCmFA;EACE,oBAAA;;ADpFF,QCuFA;ADvFA,QCwFA;ADxFA,QCyFA;ADzFA,QC0FA;EACE,0BAAA;;AD3FF,QC8FA,OAAM;AD9FN,QC+FA,gBAAe;AD/Ff,QCgGA,eAAc;ADhGd,QCiGA,gBAAe;EACb,kBAAA;EACA,UAAA;;ADnGF,QCsGA,OAAM;ADtGN,QCuGA,gBAAe;ADvGf,QCwGA,eAAc;ADxGd,QCyGA,gBAAe;EACb,8BAAA;;AD1GF,QC6GA;EACE,8BAAA;;AD9GF,QCiHA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADvHF,QC0HA;EACE,cAAA;;AD3HF,QC8HA;AD9HA,QC+HA;EACE,sBAAA;EACA,UAAA;;ADjIF,QCoIA,gBAAe;ADpIf,QCqIA,gBAAe;EACb,YAAA;;ADtIF,QCyIA;EACE,6BAAA;EACA,oBAAA;;AD3IF,QC8IA,gBAAe;EACb,wBAAA;;AD/IF,QCkJA;EACE,0BAAA;EACA,aAAA;;ADpJF,QCuJA;EACE,8BAAA;;ADxJF,QC2JA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADjKF,QCoKA;EACE,wBAAA;;ADrKF,QCwKA;EACE,cAAA;;ADzKF,QC4KA;AD5KA,QC4KiB;EACf,sBAAA;EACA,UAAA;;AD9KF,QCiLA,cAAa;ADjLb,QCiL0C,cAAa;EACrD,YAAA;;ADlLF,QCqLA;EACE,6BAAA;EACA,oBAAA;;ADvLF,QC0LA,cAAa;EACX,wBAAA;;AD3LF,QC8LA;EACE,0BAAA;EACA,aAAA;;ADhMF,QCmMA;EACE,cAAA;;ADpMF,QCuMA;EACE,kBAAA;;ADxMF,QC2MA;EACE,aAAA;;AD5MF,QC+MA;EACE,aAAA;;ADhNF,QCmNA;ADnNA,QCmNO;ADnNP,QCmNgB;ADnNhB,QCmNuB;ADnNvB,QCmN8B;ADnN9B,QCmNqC;ADnNrC,QCmNyC;ADnNzC,QCmN6C;EAC3C,SAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,sBAAA;EACA,gBAAA;;AD1NF,QC6NA;EACE,kBAAA;EACA,yBAAA;EACA,iBAAA;;ADhOF,QAIE;EACE,eAAA;EACA,SAAA;;AANJ,QAaE,MAAK,aAAa;EAChB,cAAA;;AAdJ,QAiBE,MAAK,aAAa;AAjBpB,QAiBiD,SAAQ;EACrD,cAAA;;AAlBJ,QAqBE,MAAK,aAAa;AArBpB,QAqB4C,SAAQ;EAChD,cAAA;;AAtBJ,QAyBE,MAAK,aAAa;AAzBpB,QAyB6C,SAAQ;EACjD,cAAA;;AA1BJ,QA6BE,MAAK,aAAa;AA7BpB,QA6BmC,SAAQ;EACvC,cAAA;;AA9BJ,QAiCE;EACE,qBAAA;EACA,cAAA;EACA,YAAA;EACA,gBAAA;;AAEA,QANF,EAMG;EACC,0BAAA;EACA,eAAA;EACA,mBAAA;;AA1CN,QA8CE;AA9CF,QA8CU;EACN,YAAA;EACA,gBAAA;EACA,UAAA;EACA,gBAAA;;AAlDJ,QAqDE;EACE,YAAA;EACA,SAAA;EACA,gBAAA;;AAxDJ,QA2DE;AA3DF,QA2DU;EACN,YAAA;;AA5DJ,QA+DE;EACE,kBAAA;EACA,gBAAA;EACA,MAAM,aAAN;EACA,mBAAmB,WAAnB;EACA,WAAW,WAAX;EACA,UAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,SAAA;;AA1EJ,QEnBA;EAEE,WAAA;EACA,sBAAA;EACA,mBAAA;EACA,yBAAA;;AAEA,QAPF,WAOG;EACC,gBAAA;;AADF,QAPF,WAOG,aAGC;AAHF,QAPF,WAOG,aAGO;EACJ,0BAAA;;AAJJ,QAPF,WAOG,aAOC;EACE,UAAA;EACA,0BAAA;;AFGN,QEnBA,WAoBE,GAAE,UAAU,IAAK;EACf,mBAAA;;AFFJ,QEnBA,WAyBE;EACE,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;;AFXJ,QEnBA,WAiCE,GAAE,IAAI;EACJ,4BAAA;;AAIF,QAtCF,WAsCG;EACC,YAAA;;AAGF,QA1CF,WA0CG;EACC,YAAA;;AAGF,QA9CF,WA8CG;EACC,YAAA;;AAGF,QAlDF,WAkDG;EACC,YAAA;;AAGF,QAtDF,WAsDG;AAAmB,QAtDtB,WAsDuB;EACnB,YAAA;;AFpCJ,QEnBA,WA0DE;EACE,kBAAA;EACA,mBAAA;EAGA,gBAAA;EACA,gBAAA;;AAGF,QAnEF,WAmEG;EACC,sBAAA;;AAGF,QAvEF,WAuEG;EACC,qBAAA;;AAGF,QA3EF,WA2EG;AAAuB,QA3E1B,WA2E2B;EACvB,UAAA;EACA,aAAA;EACA,gBAAA;;AF3DJ,QEnBA,WAiFE;EACE,mBAAA;EACA,YAAA;;AAGF,QAtFF,WAsFG;EACC,aAAA;EACA,mBAAA;EACA,cAAA;EACA,eAAA;EACA,2BAAA;;AAEA,QA7FJ,WAsFG,2BAOG;EACA,yBAAA;;AF3EN,QGnBA;EACE,kBAAA;;AHkBF,QGfA,aAAY;EACV,SAAS,EAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;;AHQF,QGLA,aAAY;EACV,SAAS,kBAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;EACA,cAAA;EACA,mBAAA;EACA,eAAA;EACA,mBAAA;EACA,gBAAA;;AHPF,QGUA,iBAAgB;EACd,YAAA;EACA,YAAY,qFAAZ;;AHZF,QGeA,iBAAgB;EACd,YAAA;EACA,gBAAA;EACA,4BAAA;;AHlBF,QGqBA,qBAAoB;EAClB,SAAA;EACA,YAAY,oFAAZ;;AHvBF,QG0BA,qBAAoB;EAClB,SAAA;EACA,gBAAA;EACA,4BAAA;;AH7BF,QGgCA,aAAY,MAAM;AHhClB,QGiCA,aAAY,MAAM;EAChB,cAAA;;AHlCF,QInBA;EACE,eAAA;EACA,WAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,sBAAA;EACA,sCAAA;EACA,8BAAA;EACA,YAAA;EACA,eAAA;EACA,SAAA;EACA,WAAA;EACA,mBAAA;EACA,eAAA;EACA,6BAAA;;AAEA,QArBF,iBAqBG;EACC,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;;AAEA,QA7BJ,iBAqBG,SAQE;EACC,eAAA;;AATJ,QArBF,iBAqBG,SAYC;EACE,kBAAA;EACA,YAAA;EACA,QAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,cAAA;EACA,mBAAA;EACA,WAAA;EACA,kBAAA;EACA,kBAAA;EACA,oBAAA;EACA,gBAAA;;AAGF,QAjDJ,iBAqBG,SA4BE;EACC,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;;AAIJ,QA7DF,iBA6DG;AACD,QA9DF,iBA8DG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;;AAGF,QAvEF,iBAuEG;EACC,gBAAA;EACA,kBAAA;;AAGF,QA5EF,iBA4EG;EACC,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAgB,ymEAAhB;;AAGF,QAnFF,iBAmFG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;EACA,eAAA;EACA,UAAA;EACA,gBAAA;;AAGF,QA/FF,iBA+FG,MAAM,IAAI;EACT,kBAAA;;AAGF,QAnGF,iBAmGG;EACC,cAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;;AAGF,QA3GF,iBA2GG;EACC,aAAA;EACA,kBAAA;;AAGF,QAhHF,iBAgHG,aAAc;EACb,sBAAA;;AAGF,QApHF,iBAoHG;EACC,eAAA;EACA,cAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAKA,QA9HJ,iBA4HG;AAEC,QA9HJ,iBA6HG;AACI,QA9HP,iBA4HG,OAEK,MAAM;AAAP,QA9HP,iBA6HG,MACK,MAAM;EACR,qBAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,oCAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;;AAKJ,QA9IF,iBA8IG,OAAO;AACR,QA/IF,iBA+IG,MAAM;AACP,QAhJF,iBAgJG,OAAO;AACR,QAjJF,iBAiJG,MAAM;EACL,aAAA;EACA,qBAAA;;AAGF,QAtJF,iBAsJG,OAAO;AACR,QAvJF,iBAuJG,MAAM;EACL,mBAAmB,eAAnB;EACA,WAAW,eAAX;;AAIA,QA7JJ,iBA4JG;AACI,QA7JP,iBA4JG,OACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,yBAAA;;AAIJ,QAtKF,iBAsKG,OAAO;AACR,QAvKF,iBAuKG,OAAO;EACN,mBAAA;;AAGF,QA3KF,iBA2KG,OAAO;EACN,yBAAA;;AAIA,QAhLJ,iBA+KG;AACI,QAhLP,iBA+KG,MACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;;AAGF,QAzLJ,iBA+KG,MAUE;AAAQ,QAzLb,iBA+KG,MAUW;EACR,mBAAA;EACA,yBAAA;;AAGF,QA9LJ,iBA+KG,MAeE;EACC,mBAAA;EACA,yBAAA;;AAGF,QAnMJ,iBA+KG,MAoBG;EACA,SAAA;;AAIJ,QAxMF,iBAwMG;EACC,eAAA;EACA,eAAA;EACA,eAAA;;AAGF,QA9MF,iBA8MG;AAAiB,QA9MpB,iBA8MqB;EACjB,kBAAA;EACA,mBAAA;;AAEA,QAlNJ,iBA8MG,eAIE;AAAD,QAlNJ,iBA8MqB,uBAIhB;EACC,SAAS,EAAT;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,mBAAA;;AAOE,QAjOR,iBA8NG,gBACE,QACG,kCACC;AAAD,QAjOR,iBA8NG,gBACE,QACwC,0CACpC;EACC,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,mBAAmB,cAAnB;EACA,WAAW,cAAX;EACA,kBAAA;EACA,yBAAA;;AAMR,QAjPF,iBAiPG;EACC,eAAA;EACA,+BAAA;;AAFF,QAjPF,iBAiPG,uBAIC;EACE,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,WAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAGF,QAnQJ,iBAiPG,uBAkBE;EACC,oCAAA;;AAIJ,QAxQF,iBAwQG;AAAS,QAxQZ,iBAwQa,OAAO;EAChB,WAAA;EACA,YAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAgB,ijBAAhB;;AAOA,QAvRJ,iBAwQG,OAeE;AAAD,QAvRJ,iBAwQa,OAAO,MAef;EACC,YAAA;EACA,aAAA;;AJtQN,QKnBA;EACE,eAAA;EACA,SAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,wCAAA;;ALSF,QKnBA,sBAYE;EACE,SAAA;EACA,UAAA;;ALKJ,QKDA;EACE,kBAAA;EACA,cAAA;EACA,WAAA;EACA,aAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;AAEA,QAfF,8BAeG;AAAQ,QAfX,8BAeY;AAAQ,QAfpB,8BAeqB;AAAQ,QAf7B,8BAe8B;AAAS,QAfvC,8BAewC,MAAM;AAAQ,QAftD,8BAeuD,OAAO;EAC1D,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ALlBJ,QKsBA,8BAA6B;EAC3B,SAAS,EAAT;EACA,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,aAAA;;AL7BF,QKgCA,oCAAmC;EACjC,gBAAgB,+8FAAhB;;ALjCF,QKoCA,qCAAoC;EAClC,gBAAgB,unEAAhB;;ALrCF,QKwCA,uCAAsC;EACpC,gBAAgB,2iHAAhB;;ALzCF,QK4CA,8BAA6B;AL5C7B,QK6CA,8BAA6B;EAC3B,aAAA;EACA,mBAAA;;AL/CF,QKkDA,8BAA6B,MAAM;ALlDnC,QKmDA,8BAA6B,MAAM;EACjC,UAAA;;AAIA,QADF,8BACG;EACC,mBAAA;;AAEA,QAJJ,8BACG,4BAGE;EACC,UAAA;;AL5DN,QKiEA;EACE,aAAA;EACA,kBAAA;;AAIA,QADF,6BACG;EACC,yBAAA;;ALxEJ,QK8EA;EAEE,UAAA;EACA,SAAA;EACA,gBAAA;;ALlFF,QK8EA,iBAME;EACE,kBAAA;EACA,gBAAA;EACA,kBAAA;;ALvFJ,QK8EA,iBAME,sBAKE;EACE,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,WAAA;;AL7FN,QK8EA,iBAME,sBAKE,EAME;AL/FN,QK8EA,iBAME,sBAKE,EAMU;EACN,cAAA;;ALhGR,QK8EA,iBAME,sBAKE,EAUE;EACE,eAAA;EACA,cAAA;;AAIJ,QA3BJ,iBAME,sBAqBG,MACC;EACE,mBAAA;EACA,qBAAA;;AAIJ,QAlCJ,iBAME,sBA4BG,6BACC;EACE,mBAAA;;AAIJ,QAxCJ,iBAME,sBAkCG,kBAAkB;AACnB,QAzCJ,iBAME,sBAmCG,0BAA0B;AAC3B,QA1CJ,iBAME,sBAoCG,0BAA0B;EACzB,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,YAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;;AAGF,QAzDJ,iBAME,sBAmDG,0BAA0B;AAC3B,QA1DJ,iBAME,sBAoDG,0BAA0B;EACzB,mBAAA;;ALzIN,QK8IA;EAEE,aAAA;;AA1KD,QAwKD,8BAxKE;EA6KE,yBAAA;;ALnJJ,QAuGE;EACE,qBAAA;EACA,kBAAA;EACA,0DAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,SAAA;;AA/GJ,QAkHE;EACE,qBAAA;EACA,iBAAA;EACA,eAAA;EACA,yBAAA;EACA,kBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;;AAEA,QAVF,gBAUG;EACC,mBAAA;EACA,cAAA;;AAGF,QAfF,gBAeG;EACC,mBAAA;EACA,cAAA;;AAnIN,QAuIE;EACE,UAAA;;AAxIJ,QA2IE;EACE,WAAA;;AA5IJ,QAiJE;EAGE,qBAAA;EACA,sBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,kBAAA;;AAEA,QAXF,YAWG;EACC,gBAAA;EACA,eAAA;;AKxLL,QL2KC,YK3KA;EL4LI,aAAA;;AAGF,QApBF,YAoBG;EACC,eAAA;EACA,qBAAA;EACA,gBAAA;;AAGF,QA1BF,YA0BG;EACC,aAAA;EACA,gBAAA;;AAGF,QA/BF,YA+BG;EACC,YAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;;AK9ML,QL2KC,YK3KA;ELkNI,gBAAgB,mCAAhB;;AKlNL,QL2KC,YK3KA;ELsNI,gBAAgB,oCAAhB;;AAGF,QA9CF,YA8CG;EACC,yBAAA;EACA,WAAA;EACA,yBAAA;;AAEA,QAnDJ,YA8CG,SAKE;EACC,eAAA;EACA,sBAAA;EACA,yBAAA;;AAIJ,QA1DF,YA0DG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QAhEJ,YA0DG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAIJ,QAvEF,YAuEG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QA7EJ,YAuEG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAjOR,QA0OE;EAGE,qBAAA;EACA,sBAAA;EACA,YAAA;EACA,iBAAA;;AK1QH,QLoQC,YKpQA;EL6QI,mBAAA;EACA,cAAA;EACA,yBAAA;;AK/QL,QLoQC,YKpQA;ELmRI,mBAAA;EACA,yBAAA;EACA,cAAA;;AAGF,QApBF,YAoBG;EACC,aAAA;EACA,gBAAA;;AAMJ,QAAC;EACC,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,gBAAA;EACA,gBAAA;;AA/QJ,QAkRE;EACE,cAAA;EACA,WAAA;EACA,SAAA;EACA,sBAAA;;AAtRJ,QAyRE;EACE,cAAA;EAEA,oBAAA;EACA,cAAA;EACA,eAAA;EACA,iBAAA;;AA/RJ,QAyRE,kBAQE;EACE,eAAA;EACA,SAAA;;AAEA,QAZJ,kBAQE,EAIG,IAAI;EACH,mBAAA;;AAtSR,QAyRE,kBAiBE;AA1SJ,QAyRE,kBAiB8B;EAC1B,mBAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,mBAAA;EAEA,4BAAA;;AAlTN,QAyRE,kBA6BE;EACE,mBAAA;EAEA,2BAAA;EACA,iBAAA;;AA1TN,QAyRE,kBA6BE,iCAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,gBAAA;EACA,gCAAA;EACA,sBAAA;;AAlUR,QAyRE,kBA6BE,iCAME,GAQE;EACE,cAAA;EACA,eAAA;EACA,gBAAA;EACA,cAAA;EACA,yBAAA;;AAzUV,QAyRE,kBA6BE,iCAuBE;EACE,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAjVR,QAyRE,kBA6BE,iCAuBE,GAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;;AAEA,QAjER,kBA6BE,iCAuBE,GAME,GAOG;EACC,SAAS,GAAT;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,6BAAA;EACA,OAAA;EACA,kBAAA;EACA,mBAAmB,aAAnB;EACA,gBAAgB,aAAhB;EACA,cAAc,aAAd;EACA,WAAW,aAAX;;AAtWZ,QA6WE;EAEE,oBAAA;;AAEA,QAJF,qBAIG;EACC,mBAAA;;AAlXN,QA6WE,qBKvYD;ELgZK,aAAA;EACA,aAAA;;AAKN,mBAAsC;EACpC,KACE;IACE,eAAA;;EAFJ,KAKE;IACE,sBAAA;;EANJ,KASE,uBACE;IACE,cAAA;;EAXN,KAeE,wBACE;IACE,eAAA;;EAjBN,KAeE,wBAKE;EApBJ,KAeE,wBAK2B;IACvB,eAAA;;EArBN,KAeE,wBASE;IACE,eAAA;IACA,cAAA;IACA,gBAAA;;EA3BN,KAeE,wBAgBE;IACE,WAAA;IACA,YAAA;IACA,qBAAA;IACA,sBAAA;;EAnCN,KAuCE;IACE,UAAA;;EAEA,KAHF;EAvCF,KAuCE,kBAGK;IACD,eAAA;;EA3CN,KAuCE,kBAOE;IACE,uBAAA;;EA/CN,KAmDE;IACE,eAAA;;EApDJ,KAuDE;IACE,SAAA;;EAxDJ,KAuDE,WAGE;IACE,eAAA;;EA3DN,KAuDE,WAOE,iBACE;IACE,eAAA;;EAIA,KAbN,WAOE,iBAKE;EACE,KAbN,WAOE,iBAK2B;EACvB,KAbN,WAOE,iBAKqD;EAnEzD,KAuDE,WAOE,iBAKE,wBACK;EApEX,KAuDE,WAOE,iBAK2B,yBACpB;EApEX,KAuDE,WAOE,iBAKqD,qBAC9C;IACD,eAAA;;EArEV,KAuDE,WAmBE;IACE,eAAA;;EA3EN,KAuDE,WAmBE,wBAGE;IACE,eAAA;IACA,oBAAA;IACA,gBAAA;IACA,iBAAA;;EAjFR,KAuDE,WA8BE,wBACE;IACE,eAAA;;EAvFR,KAuDE,WAoCE;IACE,UAAA;;EA5FN,KAuDE,WAoCE,0BAGE;EA9FN,KAuDE,WAoCE,0BAGkC;IAC9B,eAAA;;EA/FR,KAuDE,WAoCE,0BAOE;IACE,eAAA;;EAnGR,KAuDE,WAgDE;IACE,UAAA;;;AAMR,mBAAsC;EACpC,KACE;IACE,aAAA;;EAFJ,KAKE;IACE,cAAA","file":"assets-manager.css"}
1
+ {"version":3,"sources":["assets-manager.less","reset.less","tables.less","tooltip.less","float-panel.less","tabs.less"],"names":[],"mappings":";;;;;AAMA;AAAM;EACJ,2BAAA;;AAGF;EACE,iBAAA;EACA,yCAAA;EACA,sBAAA;;AAGF;EACE,oBAAA;EACA,qBAAA;EACA,gBAAA;;AAEA;AALF,IAKK;EACD,oBAAoB,4BAApB;;AAIJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,QCpBA;ADoBA,QCpBG,EAAC;ADoBJ,QCpBa,EAAC;EACZ,8BAAA;EACA,2BAAA;EACA,sBAAA;;AAGF;ADcA,QCbA;ADaA,QCbI;ADaJ,QCbQ;ADaR,QCbY;ADaZ,QCbgB;ADahB,QCZA;ADYA,QCZG;ADYH,QCZW;ADYX,QCZc;ADYd,QCXA;ADWA,QCXI;ADWJ,QCXO;ADWP,QCXU;ADWV,QCXe;ADWf,QCVA;ADUA,QCVS;ADUT,QCVa;ADUb,QCTA,MAAK;ADSL,QCTsB,MAAK;ADS3B,QCRA;EACE,oBAAoB,4BAApB;EACA,eAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,iBAAA;;ADEF,QCCA;EACE,cAAA;EACA,gBAAA;;ADHF,QCMA;EACE,uBAAA;EACA,SAAA;EACA,iBAAA;;ADTF,QCYA;EACE,iCAAA;EACA,cAAA;;ADdF,QCiBA;EACE,6BAAA;;ADlBF,QCqBA,KAAI;EACF,mBAAA;EACA,iCAAA;;ADvBF,QC0BA;AD1BA,QC0BG;EACD,mBAAA;;AD3BF,QC8BA;AD9BA,QC8BM;AD9BN,QC8BW;EACT,iCAAA;EACA,cAAA;;ADhCF,QCmCA;EACE,cAAA;;ADpCF,QCuCA;ADvCA,QCuCK;EACH,cAAA;EACA,cAAA;EACA,kBAAA;EACA,wBAAA;;AD3CF,QC8CA;EACE,eAAA;;AD/CF,QCkDA;EACE,WAAA;;ADnDF,QCsDA;EACE,kBAAA;;ADvDF,QC0DA;AD1DA,QC2DA;AD3DA,QC4DA;AD5DA,QC6DA;AD7DA,QC8DA;EACE,oBAAA;EACA,eAAA;EACA,iBAAA;EACA,SAAA;EACA,YAAA;EACA,WAAA;;AACA,QAXF;AAWE,QAVF;AAUE,QATF;AASE,QARF;AAQE,QAPF;AAOK,QAXL,OAWM;AAAD,QAVL,MAUM;AAAD,QATL,SASM;AAAD,QARL,OAQM;AAAD,QAPL,SAOM;AAAQ,QAXd,OAWe;AAAD,QAVd,MAUe;AAAD,QATd,SASe;AAAD,QARd,OAQe;AAAD,QAPd,SAOe;EACX,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ADzEJ,QC6EA;AD7EA,QC8EA;EACE,iBAAA;;AD/EF,QCkFA;ADlFA,QCmFA;EACE,oBAAA;;ADpFF,QCuFA;ADvFA,QCwFA;ADxFA,QCyFA;ADzFA,QC0FA;EACE,0BAAA;;AD3FF,QC8FA,OAAM;AD9FN,QC+FA,gBAAe;AD/Ff,QCgGA,eAAc;ADhGd,QCiGA,gBAAe;EACb,kBAAA;EACA,UAAA;;ADnGF,QCsGA,OAAM;ADtGN,QCuGA,gBAAe;ADvGf,QCwGA,eAAc;ADxGd,QCyGA,gBAAe;EACb,8BAAA;;AD1GF,QC6GA;EACE,8BAAA;;AD9GF,QCiHA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADvHF,QC0HA;EACE,cAAA;;AD3HF,QC8HA;AD9HA,QC+HA;EACE,sBAAA;EACA,UAAA;;ADjIF,QCoIA,gBAAe;ADpIf,QCqIA,gBAAe;EACb,YAAA;;ADtIF,QCyIA;EACE,6BAAA;EACA,oBAAA;;AD3IF,QC8IA,gBAAe;EACb,wBAAA;;AD/IF,QCkJA;EACE,0BAAA;EACA,aAAA;;ADpJF,QCuJA;EACE,8BAAA;;ADxJF,QC2JA;EACE,sBAAA;EACA,cAAA;EACA,cAAA;EACA,eAAA;EACA,UAAA;EACA,mBAAA;;ADjKF,QCoKA;EACE,wBAAA;;ADrKF,QCwKA;EACE,cAAA;;ADzKF,QC4KA;AD5KA,QC4KiB;EACf,sBAAA;EACA,UAAA;;AD9KF,QCiLA,cAAa;ADjLb,QCiL0C,cAAa;EACrD,YAAA;;ADlLF,QCqLA;EACE,6BAAA;EACA,oBAAA;;ADvLF,QC0LA,cAAa;EACX,wBAAA;;AD3LF,QC8LA;EACE,0BAAA;EACA,aAAA;;ADhMF,QCmMA;EACE,cAAA;;ADpMF,QCuMA;EACE,kBAAA;;ADxMF,QC2MA;EACE,aAAA;;AD5MF,QC+MA;EACE,aAAA;;ADhNF,QCmNA;ADnNA,QCmNO;ADnNP,QCmNgB;ADnNhB,QCmNuB;ADnNvB,QCmN8B;ADnN9B,QCmNqC;ADnNrC,QCmNyC;ADnNzC,QCmN6C;EAC3C,SAAA;EACA,UAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,sBAAA;EACA,gBAAA;;AD1NF,QC6NA;EACE,kBAAA;EACA,yBAAA;EACA,iBAAA;;ADhOF,QAIE;EACE,eAAA;EACA,SAAA;;AANJ,QAaE,MAAK,aAAa;EAChB,cAAA;;AAdJ,QAiBE,MAAK,aAAa;AAjBpB,QAiBiD,SAAQ;EACrD,cAAA;;AAlBJ,QAqBE,MAAK,aAAa;AArBpB,QAqB4C,SAAQ;EAChD,cAAA;;AAtBJ,QAyBE,MAAK,aAAa;AAzBpB,QAyB6C,SAAQ;EACjD,cAAA;;AA1BJ,QA6BE,MAAK,aAAa;AA7BpB,QA6BmC,SAAQ;EACvC,cAAA;;AA9BJ,QAiCE;EACE,qBAAA;EACA,cAAA;EACA,YAAA;EACA,gBAAA;;AAEA,QANF,EAMG;EACC,0BAAA;EACA,eAAA;EACA,mBAAA;;AA1CN,QA8CE;AA9CF,QA8CU;EACN,YAAA;EACA,gBAAA;EACA,UAAA;EACA,gBAAA;;AAlDJ,QAqDE;EACE,YAAA;EACA,SAAA;EACA,gBAAA;;AAxDJ,QA2DE;AA3DF,QA2DU;EACN,YAAA;;AA5DJ,QA+DE;EACE,kBAAA;EACA,gBAAA;EACA,MAAM,aAAN;EACA,mBAAmB,WAAnB;EACA,WAAW,WAAX;EACA,UAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;EACA,SAAA;;AA1EJ,QEnBA;EAEE,WAAA;EACA,sBAAA;EACA,mBAAA;EACA,yBAAA;;AAEA,QAPF,WAOG;EACC,gBAAA;;AADF,QAPF,WAOG,aAGC;AAHF,QAPF,WAOG,aAGO;EACJ,0BAAA;;AAJJ,QAPF,WAOG,aAOC;EACE,UAAA;EACA,0BAAA;;AFGN,QEnBA,WAoBE,GAAE,UAAU,IAAK;EACf,mBAAA;;AFFJ,QEnBA,WAyBE;EACE,kBAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;;AFXJ,QEnBA,WAiCE,GAAE,IAAI;EACJ,4BAAA;;AAIF,QAtCF,WAsCG;EACC,YAAA;;AAGF,QA1CF,WA0CG;EACC,YAAA;;AAGF,QA9CF,WA8CG;EACC,YAAA;;AAGF,QAlDF,WAkDG;EACC,YAAA;;AAGF,QAtDF,WAsDG;AAAmB,QAtDtB,WAsDuB;EACnB,YAAA;;AFpCJ,QEnBA,WA0DE;EACE,kBAAA;EACA,mBAAA;EAGA,gBAAA;EACA,gBAAA;;AAGF,QAnEF,WAmEG;EACC,sBAAA;;AAGF,QAvEF,WAuEG;EACC,qBAAA;;AAGF,QA3EF,WA2EG;AAAuB,QA3E1B,WA2E2B;EACvB,UAAA;EACA,aAAA;EACA,gBAAA;;AF3DJ,QEnBA,WAiFE;EACE,mBAAA;EACA,YAAA;;AAGF,QAtFF,WAsFG;EACC,aAAA;EACA,mBAAA;EACA,cAAA;EACA,eAAA;EACA,2BAAA;;AAEA,QA7FJ,WAsFG,2BAOG;EACA,yBAAA;;AF3EN,QGnBA;EACE,kBAAA;;AHkBF,QGfA,aAAY;EACV,SAAS,EAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;;AHQF,QGLA,aAAY;EACV,SAAS,kBAAT;EACA,kBAAA;EACA,WAAA;EACA,SAAA;EACA,aAAA;EACA,gBAAA;EACA,iBAAA;EACA,cAAA;EACA,mBAAA;EACA,eAAA;EACA,mBAAA;EACA,gBAAA;;AHPF,QGUA,iBAAgB;EACd,YAAA;EACA,YAAY,qFAAZ;;AHZF,QGeA,iBAAgB;EACd,YAAA;EACA,gBAAA;EACA,4BAAA;;AHlBF,QGqBA,qBAAoB;EAClB,SAAA;EACA,YAAY,oFAAZ;;AHvBF,QG0BA,qBAAoB;EAClB,SAAA;EACA,gBAAA;EACA,4BAAA;;AH7BF,QGgCA,aAAY,MAAM;AHhClB,QGiCA,aAAY,MAAM;EAChB,cAAA;;AHlCF,QInBA;EACE,eAAA;EACA,WAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,sBAAA;EACA,sCAAA;EACA,8BAAA;EACA,YAAA;EACA,eAAA;EACA,SAAA;EACA,WAAA;EACA,mBAAA;EACA,eAAA;EACA,6BAAA;;AAEA,QArBF,iBAqBG;EACC,kBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;;AAEA,QA7BJ,iBAqBG,SAQE;EACC,eAAA;;AATJ,QArBF,iBAqBG,SAYC;EACE,kBAAA;EACA,YAAA;EACA,QAAA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,cAAA;EACA,mBAAA;EACA,WAAA;EACA,kBAAA;EACA,kBAAA;EACA,oBAAA;EACA,gBAAA;;AAGF,QAjDJ,iBAqBG,SA4BE;EACC,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;;AAIJ,QA7DF,iBA6DG;AACD,QA9DF,iBA8DG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;;AAGF,QAvEF,iBAuEG;EACC,gBAAA;EACA,kBAAA;;AAGF,QA5EF,iBA4EG;EACC,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAgB,ymEAAhB;;AAGF,QAnFF,iBAmFG;EACC,qBAAA;EACA,oBAAA;EACA,aAAA;EACA,2BAAA;EACA,mBAAA;EACA,sBAAA;EACA,eAAA;EACA,UAAA;EACA,gBAAA;;AAGF,QA/FF,iBA+FG,MAAM,IAAI;EACT,kBAAA;;AAGF,QAnGF,iBAmGG;EACC,cAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;;AAGF,QA3GF,iBA2GG;EACC,aAAA;EACA,kBAAA;;AAGF,QAhHF,iBAgHG,aAAc;EACb,sBAAA;;AAGF,QApHF,iBAoHG;EACC,eAAA;EACA,cAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAKA,QA9HJ,iBA4HG;AAEC,QA9HJ,iBA6HG;AACI,QA9HP,iBA4HG,OAEK,MAAM;AAAP,QA9HP,iBA6HG,MACK,MAAM;EACR,qBAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,oCAAA;EACA,YAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,WAAA;;AAKJ,QA9IF,iBA8IG,OAAO;AACR,QA/IF,iBA+IG,MAAM;AACP,QAhJF,iBAgJG,OAAO;AACR,QAjJF,iBAiJG,MAAM;EACL,aAAA;EACA,qBAAA;;AAGF,QAtJF,iBAsJG,OAAO;AACR,QAvJF,iBAuJG,MAAM;EACL,mBAAmB,eAAnB;EACA,WAAW,eAAX;;AAIA,QA7JJ,iBA4JG;AACI,QA7JP,iBA4JG,OACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,yBAAA;;AAIJ,QAtKF,iBAsKG,OAAO;AACR,QAvKF,iBAuKG,OAAO;EACN,mBAAA;;AAGF,QA3KF,iBA2KG,OAAO;EACN,yBAAA;;AAIA,QAhLJ,iBA+KG;AACI,QAhLP,iBA+KG,MACK,MAAM;EACR,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,WAAA;EACA,mBAAA;EACA,yBAAA;;AAGF,QAzLJ,iBA+KG,MAUE;AAAQ,QAzLb,iBA+KG,MAUW;EACR,mBAAA;EACA,yBAAA;;AAGF,QA9LJ,iBA+KG,MAeE;EACC,mBAAA;EACA,yBAAA;;AAGF,QAnMJ,iBA+KG,MAoBG;EACA,SAAA;;AAIJ,QAxMF,iBAwMG;EACC,eAAA;EACA,eAAA;EACA,eAAA;;AAGF,QA9MF,iBA8MG;AAAiB,QA9MpB,iBA8MqB;EACjB,kBAAA;EACA,mBAAA;;AAEA,QAlNJ,iBA8MG,eAIE;AAAD,QAlNJ,iBA8MqB,uBAIhB;EACC,SAAS,EAAT;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,mBAAA;;AAOE,QAjOR,iBA8NG,gBACE,QACG,kCACC;AAAD,QAjOR,iBA8NG,gBACE,QACwC,0CACpC;EACC,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,WAAA;EACA,mBAAmB,cAAnB;EACA,WAAW,cAAX;EACA,kBAAA;EACA,yBAAA;;AAMR,QAjPF,iBAiPG;EACC,eAAA;EACA,+BAAA;;AAFF,QAjPF,iBAiPG,uBAIC;EACE,qBAAA;EACA,cAAA;EACA,gBAAA;EACA,WAAA;EACA,mBAAA;EACA,WAAA;EACA,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,kBAAA;EACA,gBAAA;;AAGF,QAnQJ,iBAiPG,uBAkBE;EACC,oCAAA;;AAIJ,QAxQF,iBAwQG;AAAS,QAxQZ,iBAwQa,OAAO;EAChB,WAAA;EACA,YAAA;EACA,qBAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAgB,ijBAAhB;;AAOA,QAvRJ,iBAwQG,OAeE;AAAD,QAvRJ,iBAwQa,OAAO,MAef;EACC,YAAA;EACA,aAAA;;AJtQN,QKnBA;EACE,eAAA;EACA,SAAA;EACA,SAAA;EACA,OAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,wCAAA;;ALSF,QKnBA,sBAYE;EACE,SAAA;EACA,UAAA;;ALKJ,QKDA;EACE,kBAAA;EACA,cAAA;EACA,WAAA;EACA,aAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;AAEA,QAfF,8BAeG;AAAQ,QAfX,8BAeY;AAAQ,QAfpB,8BAeqB;AAAQ,QAf7B,8BAe8B;AAAS,QAfvC,8BAewC,MAAM;AAAQ,QAftD,8BAeuD,OAAO;EAC1D,qBAAA;EACA,oBAAA;EACA,wBAAA;EACA,mBAAA;;ALlBJ,QKsBA,8BAA6B;EAC3B,SAAS,EAAT;EACA,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,aAAA;;AL7BF,QKgCA,oCAAmC;EACjC,gBAAgB,+8FAAhB;;ALjCF,QKoCA,qCAAoC;EAClC,gBAAgB,unEAAhB;;ALrCF,QKwCA,uCAAsC;EACpC,gBAAgB,2iHAAhB;;ALzCF,QK4CA,8BAA6B;AL5C7B,QK6CA,8BAA6B;EAC3B,aAAA;EACA,mBAAA;;AL/CF,QKkDA,8BAA6B,MAAM;ALlDnC,QKmDA,8BAA6B,MAAM;EACjC,UAAA;;AAIA,QADF,8BACG;EACC,mBAAA;;AAEA,QAJJ,8BACG,4BAGE;EACC,UAAA;;AL5DN,QKiEA;EACE,aAAA;EACA,kBAAA;;AAIA,QADF,6BACG;EACC,yBAAA;;ALxEJ,QK8EA;EAEE,UAAA;EACA,SAAA;EACA,gBAAA;;ALlFF,QK8EA,iBAME;EACE,kBAAA;EACA,gBAAA;EACA,kBAAA;;ALvFJ,QK8EA,iBAME,sBAKE;EACE,cAAA;EACA,kBAAA;EACA,mBAAA;EACA,WAAA;;AL7FN,QK8EA,iBAME,sBAKE,EAME;AL/FN,QK8EA,iBAME,sBAKE,EAMU;EACN,cAAA;;ALhGR,QK8EA,iBAME,sBAKE,EAUE;EACE,eAAA;EACA,cAAA;;AAIJ,QA3BJ,iBAME,sBAqBG,MACC;EACE,mBAAA;EACA,qBAAA;;AAIJ,QAlCJ,iBAME,sBA4BG,6BACC;EACE,mBAAA;;AAIJ,QAxCJ,iBAME,sBAkCG,kBAAkB;AACnB,QAzCJ,iBAME,sBAmCG,0BAA0B;AAC3B,QA1CJ,iBAME,sBAoCG,0BAA0B;EACzB,cAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,YAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;;AAGF,QAzDJ,iBAME,sBAmDG,0BAA0B;AAC3B,QA1DJ,iBAME,sBAoDG,0BAA0B;EACzB,mBAAA;;ALzIN,QK8IA;EAEE,aAAA;;AJ1KD,QIwKD,8BJxKE;EI6KE,yBAAA;;ALnJJ,QAuGE;EACE,qBAAA;EACA,kBAAA;EACA,0DAAA;EACA,YAAA;EACA,WAAA;EACA,YAAA;EACA,sBAAA;EACA,SAAA;;AA/GJ,QAkHE;EACE,qBAAA;EACA,iBAAA;EACA,eAAA;EACA,yBAAA;EACA,kBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;;AAEA,QAVF,gBAUG;EACC,mBAAA;EACA,cAAA;;AAGF,QAfF,gBAeG;EACC,mBAAA;EACA,cAAA;;AAnIN,QAuIE;EACE,UAAA;;AAxIJ,QA2IE;EACE,WAAA;;AA5IJ,QAiJE;EAGE,qBAAA;EACA,sBAAA;EACA,iBAAA;EACA,qBAAA;EACA,gBAAA;EACA,gBAAA;EACA,kBAAA;;AAEA,QAXF,YAWG;EACC,gBAAA;EACA,eAAA;;ACxLL,QD2KC,YC3KA;ED4LI,aAAA;;AAGF,QApBF,YAoBG;EACC,eAAA;EACA,qBAAA;EACA,gBAAA;;AAGF,QA1BF,YA0BG;EACC,aAAA;EACA,gBAAA;;AAGF,QA/BF,YA+BG;EACC,YAAA;EACA,WAAA;EACA,YAAA;EACA,cAAA;;AC9ML,QD2KC,YC3KA;EDkNI,gBAAgB,mCAAhB;;AClNL,QD2KC,YC3KA;EDsNI,gBAAgB,oCAAhB;;AAGF,QA9CF,YA8CG;EACC,yBAAA;EACA,WAAA;EACA,yBAAA;;AAEA,QAnDJ,YA8CG,SAKE;EACC,eAAA;EACA,sBAAA;EACA,yBAAA;;AAIJ,QA1DF,YA0DG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QAhEJ,YA0DG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAIJ,QAvEF,YAuEG;EAEC,sBAAA;EACA,cAAA;EACA,yBAAA;;AAEA,QA7EJ,YAuEG,QAME;EACC,sBAAA;EACA,WAAA;EACA,yBAAA;;AAjOR,QA0OE;EAGE,qBAAA;EACA,sBAAA;EACA,YAAA;EACA,iBAAA;;AC1QH,QDoQC,YCpQA;ED6QI,mBAAA;EACA,cAAA;EACA,yBAAA;;AC/QL,QDoQC,YCpQA;EDmRI,mBAAA;EACA,yBAAA;EACA,cAAA;;AAGF,QApBF,YAoBG;EACC,aAAA;EACA,gBAAA;;AAMJ,QAAC;EACC,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,MAAA;EACA,SAAA;EACA,OAAA;EACA,QAAA;EACA,gBAAA;EACA,gBAAA;;AA/QJ,QAkRE;EACE,cAAA;EACA,WAAA;EACA,SAAA;EACA,sBAAA;;AAtRJ,QAyRE;EACE,cAAA;EAEA,oBAAA;EACA,cAAA;EACA,eAAA;EACA,iBAAA;;AA/RJ,QAyRE,kBAQE;EACE,eAAA;EACA,SAAA;;AAEA,QAZJ,kBAQE,EAIG,IAAI;EACH,mBAAA;;AAtSR,QAyRE,kBAiBE;AA1SJ,QAyRE,kBAiB8B;EAC1B,mBAAA;EACA,UAAA;EACA,gBAAA;EACA,mBAAA;EACA,aAAA;EACA,mBAAA;EAEA,4BAAA;;AAlTN,QAyRE,kBA6BE;EACE,mBAAA;EAEA,2BAAA;EACA,iBAAA;;AA1TN,QAyRE,kBA6BE,iCAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,gBAAA;EACA,gCAAA;EACA,sBAAA;;AAlUR,QAyRE,kBA6BE,iCAME,GAQE;EACE,cAAA;EACA,eAAA;EACA,gBAAA;EACA,cAAA;EACA,yBAAA;;AAzUV,QAyRE,kBA6BE,iCAuBE;EACE,gBAAA;EACA,gBAAA;EACA,mBAAA;EACA,UAAA;;AAjVR,QAyRE,kBA6BE,iCAuBE,GAME;EACE,kBAAA;EACA,gBAAA;EACA,eAAA;EACA,cAAA;EACA,UAAA;;AAEA,QAjER,kBA6BE,iCAuBE,GAME,GAOG;EACC,SAAS,GAAT;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,6BAAA;EACA,OAAA;EACA,kBAAA;EACA,mBAAmB,aAAnB;EACA,gBAAgB,aAAhB;EACA,cAAc,aAAd;EACA,WAAW,aAAX;;AAtWZ,QA6WE;EAEE,oBAAA;;AAEA,QAJF,qBAIG;EACC,mBAAA;;AAlXN,QA6WE,qBCvYD;EDgZK,aAAA;EACA,aAAA;;AAKN,mBAAsC;EACpC,KACE;IACE,eAAA;;EAFJ,KAKE;IACE,sBAAA;;EANJ,KASE,uBACE;IACE,cAAA;;EAXN,KAeE,wBACE;IACE,eAAA;;EAjBN,KAeE,wBAKE;EApBJ,KAeE,wBAK2B;IACvB,eAAA;;EArBN,KAeE,wBASE;IACE,eAAA;IACA,cAAA;IACA,gBAAA;;EA3BN,KAeE,wBAgBE;IACE,WAAA;IACA,YAAA;IACA,qBAAA;IACA,sBAAA;;EAnCN,KAuCE;IACE,UAAA;;EAEA,KAHF;EAvCF,KAuCE,kBAGK;IACD,eAAA;;EA3CN,KAuCE,kBAOE;IACE,uBAAA;;EA/CN,KAmDE;IACE,eAAA;;EApDJ,KAuDE;IACE,SAAA;;EAxDJ,KAuDE,WAGE;IACE,eAAA;;EA3DN,KAuDE,WAOE,iBACE;IACE,eAAA;;EAIA,KAbN,WAOE,iBAKE;EACE,KAbN,WAOE,iBAK2B;EACvB,KAbN,WAOE,iBAKqD;EAnEzD,KAuDE,WAOE,iBAKE,wBACK;EApEX,KAuDE,WAOE,iBAK2B,yBACpB;EApEX,KAuDE,WAOE,iBAKqD,qBAC9C;IACD,eAAA;;EArEV,KAuDE,WAmBE;IACE,eAAA;;EA3EN,KAuDE,WAmBE,wBAGE;IACE,eAAA;IACA,oBAAA;IACA,gBAAA;IACA,iBAAA;;EAjFR,KAuDE,WA8BE,wBACE;IACE,eAAA;;EAvFR,KAuDE,WAoCE;IACE,UAAA;;EA5FN,KAuDE,WAoCE,0BAGE;EA9FN,KAuDE,WAoCE,0BAGkC;IAC9B,eAAA;;EA/FR,KAuDE,WAoCE,0BAOE;IACE,eAAA;;EAnGR,KAuDE,WAgDE;IACE,UAAA;;;AAMR,mBAAsC;EACpC,KACE;IACE,aAAA;;EAFJ,KAKE;IACE,cAAA","file":"assets-manager.css"}
components/assets-manager/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WGZ_PLUGIN_ACTIVE' ) ) {
18
  define( 'WGZ_PLUGIN_VERSION', '2.0.3' );
 
19
  define( 'WGZ_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WGZ_PLUGIN_ACTIVE' ) ) {
18
  define( 'WGZ_PLUGIN_VERSION', '2.0.3' );
19
+ define( 'WGZ_TEXT_DOMAIN', 'gonzales' );
20
  define( 'WGZ_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/assets-manager/gonzales.php CHANGED
@@ -4,11 +4,11 @@
4
  * Plugin URI: https://wordpress.org/plugins/gonzales/
5
  * Description: Increase the speed of the pages by disabling unused scripts (.JS) and styles (.CSS). Make your website REACTIVE!
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
- * Version: 2.0.3
8
  * Text Domain: gonzales
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wgnz_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
72
  )
73
  );
74
 
75
- $wgnz_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wgnz_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WGZ_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
4
  * Plugin URI: https://wordpress.org/plugins/gonzales/
5
  * Description: Increase the speed of the pages by disabling unused scripts (.JS) and styles (.CSS). Make your website REACTIVE!
6
  * Author: Webcraftic <wordpress.webraftic@gmail.com>
7
+ * Version: 2.0.4
8
  * Text Domain: gonzales
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
72
  )
73
  );
74
 
75
+ $wgnz_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $wgnz_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WGZ_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/assets-manager/includes/class-plugin.php CHANGED
@@ -11,11 +11,11 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  * @version 1.0
13
  */
14
- class WGZ_Plugin extends Wbcr_Factory422_Plugin {
15
 
16
  /**
17
  * @see self::app()
18
- * @var Wbcr_Factory422_Plugin
19
  */
20
  private static $app;
21
 
@@ -53,7 +53,7 @@ class WGZ_Plugin extends Wbcr_Factory422_Plugin {
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
- * @return \Wbcr_Factory422_Plugin|\WGZ_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  * @version 1.0
13
  */
14
+ class WGZ_Plugin extends Wbcr_Factory425_Plugin {
15
 
16
  /**
17
  * @see self::app()
18
+ * @var Wbcr_Factory425_Plugin
19
  */
20
  private static $app;
21
 
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
+ * @return \Wbcr_Factory425_Plugin|\WGZ_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
components/assets-manager/includes/classes/class-assets-manager-global.php CHANGED
@@ -21,9 +21,9 @@ class WGZ_Assets_Manager_Public {
21
  public $collection = [];
22
 
23
  /**
24
- * @param Wbcr_Factory422_Plugin $plugin
25
  */
26
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
 
29
  $this->register_hooks();
@@ -1075,7 +1075,7 @@ class WGZ_Assets_Manager_Public {
1075
  'id' => 'location-page',
1076
  'title' => __( 'Custom URL', 'gonzales' ) . $pro_label,
1077
  'type' => 'text',
1078
- 'description' => __( 'An URL of the current page where a user who views your website is located.', 'gonzales' ),
1079
  'disabled' => ! defined( 'WGZP_PLUGIN_ACTIVE' )
1080
  ],
1081
  [
21
  public $collection = [];
22
 
23
  /**
24
+ * @param Wbcr_Factory425_Plugin $plugin
25
  */
26
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
 
29
  $this->register_hooks();
1075
  'id' => 'location-page',
1076
  'title' => __( 'Custom URL', 'gonzales' ) . $pro_label,
1077
  'type' => 'text',
1078
+ 'description' => __( 'An URL of the current page where a user who views your website is located. If you use the equals operator, paste in field the request url without the query string. For example: "/my-page" or "/my-page/subpage". If you use the "Contains" operator, use the request url part. For example: "page" will match 2 in the pages "/my-page/subpage" and "/my-page".', 'gonzales' ),
1079
  'disabled' => ! defined( 'WGZP_PLUGIN_ACTIVE' )
1080
  ],
1081
  [
components/assets-manager/includes/classes/class-views.php CHANGED
@@ -63,11 +63,11 @@ class WGZ_Views {
63
  *
64
  * @param string $template The template name.
65
  * @param mixed $data Some data to pass to the template.
66
- * @param Wbcr_FactoryClearfy214_PageBase $page
67
  *
68
  * @return bool|string The page contents. False if the template doesn't exist.
69
  */
70
- public function get_template( $template, $data = [], Wbcr_FactoryClearfy214_PageBase $page = null ) {
71
  $template = str_replace( '_', '-', $template );
72
  $path = $this->plugin_dir . '/views/' . $template . '.php';
73
 
@@ -92,9 +92,9 @@ class WGZ_Views {
92
  *
93
  * @param string $template The template name.
94
  * @param mixed $data Some data to pass to the template.
95
- * @param Wbcr_FactoryClearfy214_PageBase $page
96
  */
97
- public function print_template( $template, $data = [], Wbcr_FactoryClearfy214_PageBase $page = null ) {
98
  echo $this->get_template( $template, $data, $page );
99
  }
100
  }
63
  *
64
  * @param string $template The template name.
65
  * @param mixed $data Some data to pass to the template.
66
+ * @param Wbcr_FactoryClearfy217_PageBase $page
67
  *
68
  * @return bool|string The page contents. False if the template doesn't exist.
69
  */
70
+ public function get_template( $template, $data = [], Wbcr_FactoryClearfy217_PageBase $page = null ) {
71
  $template = str_replace( '_', '-', $template );
72
  $path = $this->plugin_dir . '/views/' . $template . '.php';
73
 
92
  *
93
  * @param string $template The template name.
94
  * @param mixed $data Some data to pass to the template.
95
+ * @param Wbcr_FactoryClearfy217_PageBase $page
96
  */
97
+ public function print_template( $template, $data = [], Wbcr_FactoryClearfy217_PageBase $page = null ) {
98
  echo $this->get_template( $template, $data, $page );
99
  }
100
  }
components/assets-manager/migrations/010100.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGZUpdate010100 extends Wbcr_Factory422_Update {
8
 
9
  public function install()
10
  {
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGZUpdate010100 extends Wbcr_Factory425_Update {
8
 
9
  public function install()
10
  {
components/assets-manager/migrations/010108.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGZUpdate010108 extends Wbcr_Factory422_Update {
8
 
9
  /**
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGZUpdate010108 extends Wbcr_Factory425_Update {
8
 
9
  /**
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
components/assets-manager/mu-plugins/assets-manager.php CHANGED
@@ -3,7 +3,7 @@
3
  * Webcraftic AM plugin load filter
4
  * Dynamically activated only plugins that you have selected in each page. [Note] Webcraftic AM has been automatically installed/deleted by Activate/Deactivate of "load filter plugin".
5
  * Version: 1.0.8
6
- * Framework Version: FACTORY_422_VERSION
7
  */
8
 
9
  // todo: проверить, как работает кеширование
3
  * Webcraftic AM plugin load filter
4
  * Dynamically activated only plugins that you have selected in each page. [Note] Webcraftic AM has been automatically installed/deleted by Activate/Deactivate of "load filter plugin".
5
  * Version: 1.0.8
6
+ * Framework Version: FACTORY_425_VERSION
7
  */
8
 
9
  // todo: проверить, как работает кеширование
components/assets-manager/readme.txt CHANGED
@@ -59,6 +59,12 @@ We invite you to check out a few other related free plugins that our team has al
59
  2. Assets manager
60
 
61
  == Changelog ==
 
 
 
 
 
 
62
  = 2.0.3 (13.11.2019) =
63
  * Fixed: Minor bugs. Comment head of mu plugin determined as main.
64
 
59
  2. Assets manager
60
 
61
  == Changelog ==
62
+ = 2.0.4 (10.12.2019) =
63
+ * Fixed: Bug "[Warning message when open the Customize](https://wordpress.org/support/topic/warning-message-when-open-the-customize/)".
64
+ * Fixed: Conditional logic in the premium plugin didn't work in previous version due an error.
65
+ * Added: You can control asset requires. Now if you disabled asset and it required for which other asset, you will get prompt with warning.
66
+ * Added: If you click on the "requires" tag, you will be gone to the asset for which require the current asset.
67
+
68
  = 2.0.3 (13.11.2019) =
69
  * Fixed: Minor bugs. Comment head of mu plugin determined as main.
70
 
components/assets-manager/views/part-assets-manager-info-bar.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
-
3
- defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
4
-
5
- /**
6
- * @var array $data
7
- * @var WGZ_Views $this
8
- */
9
  ?>
10
  <div class="wam-info-section">
11
  <div class="wam-info-section__warning">
@@ -22,10 +22,12 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
22
  To enable the changes for other users, uncheck Safe mode.', 'gonzales' ) ?>
23
  </p>
24
  <p>
25
- <?php echo sprintf( __( 'For more details and user guides, check the plugin’s <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.', 'gonzales' ), WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WGZ_Plugin::app()->getPluginName(), 'docs' ) ) ?>
26
  </p>
27
  </div>
28
- <a class="wbcr-gnz-button__pro" href="<?php echo WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WGZ_Plugin::app()->getPluginName(), 'assets-manager' ) ?>" target="_blank" rel="noreferrer noopener">'
 
 
29
  <?php _e( 'Upgrade to Premium', 'gonzales' ) ?></a>
30
  <div class="wam-info-section__go-to-premium">
31
  <h3>
1
  <?php
2
+
3
+ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
4
+
5
+ /**
6
+ * @var array $data
7
+ * @var WGZ_Views $this
8
+ */
9
  ?>
10
  <div class="wam-info-section">
11
  <div class="wam-info-section__warning">
22
  To enable the changes for other users, uncheck Safe mode.', 'gonzales' ) ?>
23
  </p>
24
  <p>
25
+ <?php echo sprintf( __( 'For more details and user guides, check the plugin’s <a href="%s" target="_blank" rel="noreferrer noopener">documentation</a>.', 'gonzales' ), WGZ_Plugin::app()->get_support()->get_docs_url( true, 'docs' ) ) ?>
26
  </p>
27
  </div>
28
+ <a class="wbcr-gnz-button__pro"
29
+ href="<?php echo WGZ_Plugin::app()->get_support()->get_tracking_page_url( 'assets-manager', 'assets-manager' ) ?>"
30
+ target="_blank" rel="noreferrer noopener">'
31
  <?php _e( 'Upgrade to Premium', 'gonzales' ) ?></a>
32
  <div class="wam-info-section__go-to-premium">
33
  <h3>
components/comments-plus/admin/boot.php CHANGED
@@ -101,7 +101,7 @@ if ( ! defined( 'LOADING_COMMENTS_PLUS_AS_ADDON' ) ) {
101
  return $page_url;
102
  }
103
 
104
- add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2 );
105
 
106
  /**
107
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
101
  return $page_url;
102
  }
103
 
104
+ add_filter( 'wbcr_factory_pages_425_imppage_rating_widget_url', 'wbcr_cmp_rating_widget_url', 10, 2 );
105
 
106
  /**
107
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
components/comments-plus/admin/pages/class-page-comments.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy214_PageBase {
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
- * @param \Wbcr_Factory422_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
58
  $this->menu_title = __( 'Disable comments', 'comments-plus' );
59
  $this->page_menu_short_description = __( 'Manage site comments', 'comments-plus' );
60
 
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WbcrCmp_CommentsPage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory425_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
58
  $this->menu_title = __( 'Disable comments', 'comments-plus' );
59
  $this->page_menu_short_description = __( 'Manage site comments', 'comments-plus' );
60
 
components/comments-plus/admin/pages/class-page-delete-comments.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -66,9 +66,9 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy214_PageBase {
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
- * @param \Wbcr_Factory422_Plugin $plugin
70
  */
71
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
72
  $this->menu_title = __( 'Comments cleaner', 'comments-plus' );
73
 
74
  parent::__construct( $plugin );
@@ -78,10 +78,10 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy214_PageBase {
78
  * {@inheritDoc}
79
  *
80
  * @param $notices
81
- * @param Wbcr_Factory422_Plugin $plugin
82
  *
83
  * @return array
84
- * @see libs\factory\pages\themplates\FactoryPages422_ImpressiveThemplate
85
  */
86
  public function getActionNotices( $notices ) {
87
 
@@ -200,7 +200,7 @@ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy214_PageBase {
200
  /**
201
  * Prints the content of the page
202
  *
203
- * @see libs\factory\pages\themplates\FactoryPages422_ImpressiveThemplate
204
  */
205
  public function showPageContent() {
206
  $stats = $this->getStats();
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WbcrCmp_DeleteCommentsPage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
+ * @param \Wbcr_Factory425_Plugin $plugin
70
  */
71
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
72
  $this->menu_title = __( 'Comments cleaner', 'comments-plus' );
73
 
74
  parent::__construct( $plugin );
78
  * {@inheritDoc}
79
  *
80
  * @param $notices
81
+ * @param Wbcr_Factory425_Plugin $plugin
82
  *
83
  * @return array
84
+ * @see libs\factory\pages\themplates\FactoryPages425_ImpressiveThemplate
85
  */
86
  public function getActionNotices( $notices ) {
87
 
200
  /**
201
  * Prints the content of the page
202
  *
203
+ * @see libs\factory\pages\themplates\FactoryPages425_ImpressiveThemplate
204
  */
205
  public function showPageContent() {
206
  $stats = $this->getStats();
components/comments-plus/admin/pages/class-page-more-features.php CHANGED
@@ -19,6 +19,6 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @copyright (c) 2018 Webraftic Ltd
21
  */
22
- class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
23
 
24
  }
19
  *
20
  * @copyright (c) 2018 Webraftic Ltd
21
  */
22
+ class WbcrCmp_MoreFeaturesPage extends Wbcr_FactoryClearfy217_MoreFeaturesPage {
23
 
24
  }
components/comments-plus/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WCM_PLUGIN_ACTIVE' ) ) {
18
  define( 'WCM_PLUGIN_VERSION', '1.1.0' );
 
19
  define( 'WCM_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WCM_PLUGIN_ACTIVE' ) ) {
18
  define( 'WCM_PLUGIN_VERSION', '1.1.0' );
19
+ define( 'WCM_TEXT_DOMAIN', 'comments-plus' );
20
  define( 'WCM_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/comments-plus/comments-plus.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wcm_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
72
  )
73
  );
74
 
75
- $wcm_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wcm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: comments-plus
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
72
  )
73
  );
74
 
75
+ $wcm_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $wcm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/comments-plus/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WCM_Plugin extends Wbcr_Factory422_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory422_Plugin
18
  */
19
  private static $app;
20
 
@@ -59,7 +59,7 @@ class WCM_Plugin extends Wbcr_Factory422_Plugin {
59
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
60
  * классам.
61
  *
62
- * @return \Wbcr_Factory422_Plugin|\WCM_Plugin
63
  */
64
  public static function app() {
65
  return self::$app;
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WCM_Plugin extends Wbcr_Factory425_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory425_Plugin
18
  */
19
  private static $app;
20
 
59
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
60
  * классам.
61
  *
62
+ * @return \Wbcr_Factory425_Plugin|\WCM_Plugin
63
  */
64
  public static function app() {
65
  return self::$app;
components/comments-plus/includes/classes/class-configurate-comments.php CHANGED
@@ -12,14 +12,14 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  *
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
- class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy214_Configurate {
16
 
17
  private $modified_types = [];
18
 
19
  /**
20
- * @param Wbcr_Factory422_Plugin $plugin
21
  */
22
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
23
  parent::__construct( $plugin );
24
  $this->plugin = $plugin;
25
  }
12
  *
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
+ class WbcrCmp_ConfigComments extends Wbcr_FactoryClearfy217_Configurate {
16
 
17
  private $modified_types = [];
18
 
19
  /**
20
+ * @param Wbcr_Factory425_Plugin $plugin
21
  */
22
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
23
  parent::__construct( $plugin );
24
  $this->plugin = $plugin;
25
  }
components/cyrlitera/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
- * @see Wbcr_Factory422_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WCTR_Activation extends Wbcr_Factory422_Activator {
18
 
19
  /**
20
  * Runs activation actions.
5
  *
6
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.03.2018, Webcraftic
8
+ * @see Wbcr_Factory425_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WCTR_Activation extends Wbcr_Factory425_Activator {
18
 
19
  /**
20
  * Runs activation actions.
components/cyrlitera/admin/boot.php CHANGED
@@ -135,7 +135,7 @@ if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
135
  return $page_url;
136
  }
137
 
138
- add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2 );
139
 
140
  /**
141
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
135
  return $page_url;
136
  }
137
 
138
+ add_filter( 'wbcr_factory_pages_425_imppage_rating_widget_url', 'wbcr_cyrlitera_rating_widget_url', 10, 2 );
139
 
140
  /**
141
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
components/cyrlitera/admin/pages/class-page-cyrlitera.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
- class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -59,9 +59,9 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy214_PageBase {
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
- * @param \Wbcr_Factory422_Plugin $plugin
63
  */
64
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
65
  $this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
66
 
67
  if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
@@ -202,7 +202,7 @@ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy214_PageBase {
202
  }
203
 
204
  /**
205
- * @param $html_builder Wbcr_FactoryForms420_Html
206
  */
207
  public function rollbackButton( $html_builder ) {
208
  $form_name = $html_builder->getFormName();
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
+ class WCTR_CyrliteraPage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
59
  *
60
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
61
  *
62
+ * @param \Wbcr_Factory425_Plugin $plugin
63
  */
64
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
65
  $this->menu_title = __( 'Cyrlitera', 'cyrlitera' );
66
 
67
  if ( ! defined( 'LOADING_CYRLITERA_AS_ADDON' ) ) {
202
  }
203
 
204
  /**
205
+ * @param $html_builder Wbcr_FactoryForms423_Html
206
  */
207
  public function rollbackButton( $html_builder ) {
208
  $form_name = $html_builder->getFormName();
components/cyrlitera/admin/pages/class-page-more-features.php CHANGED
@@ -18,6 +18,6 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
  * @copyright (c) 2018 Webraftic Ltd
20
  */
21
- class WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
22
 
23
  }
18
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
19
  * @copyright (c) 2018 Webraftic Ltd
20
  */
21
+ class WCTR_MoreFeaturesPage extends Wbcr_FactoryClearfy217_MoreFeaturesPage {
22
 
23
  }
components/cyrlitera/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WCTR_PLUGIN_ACTIVE' ) ) {
18
  define( 'WCTR_PLUGIN_VERSION', '1.1.1' );
 
19
  define( 'WCTR_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WCTR_PLUGIN_ACTIVE' ) ) {
18
  define( 'WCTR_PLUGIN_VERSION', '1.1.1' );
19
+ define( 'WCTR_TEXT_DOMAIN', 'cyrlitera' );
20
  define( 'WCTR_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/cyrlitera/cyrlitera.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: cyrlitera
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wctr_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
72
  )
73
  );
74
 
75
- $wctr_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wctr_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCTR_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: cyrlitera
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
72
  )
73
  );
74
 
75
+ $wctr_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $wctr_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WCTR_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/cyrlitera/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WCTR_Plugin extends Wbcr_Factory422_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory422_Plugin
18
  */
19
  private static $app;
20
 
@@ -57,7 +57,7 @@ class WCTR_Plugin extends Wbcr_Factory422_Plugin {
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
- * @return \Wbcr_Factory422_Plugin|\WCTR_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
10
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WCTR_Plugin extends Wbcr_Factory425_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory425_Plugin
18
  */
19
  private static $app;
20
 
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
+ * @return \Wbcr_Factory425_Plugin|\WCTR_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
components/cyrlitera/includes/classes/class-configurate-cyrlitera.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy214_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
 
@@ -235,7 +235,7 @@ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy214_Configurate {
235
  * Перенаправление со старых url, которые были уже преобразованы
236
  */
237
  public function redirectFromOldUrls() {
238
- if ( ! WbcrFactoryClearfy214_Helpers::isPermalink() ) {
239
  return;
240
  }
241
  $is404 = is_404();
12
  exit;
13
  }
14
 
15
+ class WCTR_ConfigurateCyrlitera extends Wbcr_FactoryClearfy217_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
 
235
  * Перенаправление со старых url, которые были уже преобразованы
236
  */
237
  public function redirectFromOldUrls() {
238
+ if ( ! WbcrFactoryClearfy217_Helpers::isPermalink() ) {
239
  return;
240
  }
241
  $is404 = is_404();
components/cyrlitera/migrations/010004.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WCTR_Update010004 extends Wbcr_Factory422_Update {
8
 
9
  public function install() {
10
  WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WCTR_Update010004 extends Wbcr_Factory425_Update {
8
 
9
  public function install() {
10
  WCTR_Plugin::app()->deletePopulateOption( 'custom_symbols_pack' );
components/disable-admin-notices/admin/boot.php CHANGED
@@ -44,7 +44,7 @@ if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
44
  *
45
  * @return string
46
  */
47
- add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
48
  if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
49
  return 'https://goo.gl/68ucHp';
50
  }
44
  *
45
  * @return string
46
  */
47
+ add_filter( 'wbcr_factory_pages_425_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
48
  if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
49
  return 'https://goo.gl/68ucHp';
50
  }
components/disable-admin-notices/admin/options.php CHANGED
@@ -131,7 +131,7 @@ function wbcr_dan_get_plugin_options() {
131
  * с настройками этого плагина, потому что это ухудшает юзабилити.
132
  *
133
  * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
134
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $page Экземпляр страницы
135
  *
136
  * @return mixed Отсортированный массив с группой опций
137
  */
@@ -161,7 +161,7 @@ add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_op
161
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
162
  * @since 1.0
163
  *
164
- * @param @param $html_builder Wbcr_FactoryForms420_Html
165
  */
166
  function wbcr_dan_reset_notices_button( $html_builder ) {
167
  global $wpdb;
131
  * с настройками этого плагина, потому что это ухудшает юзабилити.
132
  *
133
  * @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
134
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $page Экземпляр страницы
135
  *
136
  * @return mixed Отсортированный массив с группой опций
137
  */
161
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
162
  * @since 1.0
163
  *
164
+ * @param @param $html_builder Wbcr_FactoryForms423_Html
165
  */
166
  function wbcr_dan_reset_notices_button( $html_builder ) {
167
  global $wpdb;
components/disable-admin-notices/admin/pages/class-pages-more-features.php CHANGED
@@ -22,6 +22,6 @@ if ( ! defined( 'ABSPATH' ) ) {
22
  exit;
23
  }
24
 
25
- class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
26
 
27
  }
22
  exit;
23
  }
24
 
25
+ class WDN_MoreFeaturesPage extends Wbcr_FactoryClearfy217_MoreFeaturesPage {
26
 
27
  }
components/disable-admin-notices/admin/pages/class-pages-notices.php CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  exit;
20
  }
21
 
22
- class WDN_NoticesPage extends Wbcr_FactoryClearfy214_PageBase {
23
 
24
  /**
25
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WDN_NoticesPage extends Wbcr_FactoryClearfy214_PageBase {
52
 
53
 
54
  /**
55
- * @param Wbcr_Factory422_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
58
  $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
59
 
60
  $this->internal = false;
@@ -86,7 +86,7 @@ class WDN_NoticesPage extends Wbcr_FactoryClearfy214_PageBase {
86
  'wbcr_dan_code' => 'interal_error'
87
  ),
88
  'type' => 'danger',
89
- 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_422')
90
  );*/
91
 
92
  return $notices;
19
  exit;
20
  }
21
 
22
+ class WDN_NoticesPage extends Wbcr_FactoryClearfy217_PageBase {
23
 
24
  /**
25
  * {@inheritDoc}
52
 
53
 
54
  /**
55
+ * @param Wbcr_Factory425_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
58
  $this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
59
 
60
  $this->internal = false;
86
  'wbcr_dan_code' => 'interal_error'
87
  ),
88
  'type' => 'danger',
89
+ 'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_425')
90
  );*/
91
 
92
  return $notices;
components/disable-admin-notices/clearfy.php CHANGED
@@ -19,6 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
 
20
  if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
21
  define( 'WDN_PLUGIN_VERSION', '1.1.0' );
 
22
  define( 'WDN_PLUGIN_ACTIVE', true );
23
 
24
  // Этот плагин загружен, как аддон для плагина Clearfy
19
 
20
  if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
21
  define( 'WDN_PLUGIN_VERSION', '1.1.0' );
22
+ define( 'WDN_TEXT_DOMAIN', 'disable-admin-notices' );
23
  define( 'WDN_PLUGIN_ACTIVE', true );
24
 
25
  // Этот плагин загружен, как аддон для плагина Clearfy
components/disable-admin-notices/disable-admin-notices.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  /**
@@ -64,15 +64,15 @@ $wdan_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
72
  )
73
  );
74
 
75
- $wdan_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: disable-admin-notices
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  /**
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
72
  )
73
  );
74
 
75
+ $wdan_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $wdan_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
components/disable-admin-notices/includes/class-plugin.php CHANGED
@@ -9,16 +9,16 @@
9
  */
10
 
11
  // Exit if accessed directly
12
- //use WBCR\Factory_Adverts_104\Base;
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
- class WDN_Plugin extends Wbcr_Factory422_Plugin {
19
 
20
  /**
21
- * @var Wbcr_Factory422_Plugin
22
  */
23
  private static $app;
24
  private $plugin_data;
@@ -44,7 +44,7 @@ class WDN_Plugin extends Wbcr_Factory422_Plugin {
44
  }
45
 
46
  /**
47
- * @return Wbcr_Factory422_Plugin
48
  */
49
  public static function app() {
50
  return self::$app;
9
  */
10
 
11
  // Exit if accessed directly
12
+ //use WBCR\Factory_Adverts_106\Base;
13
 
14
  if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
+ class WDN_Plugin extends Wbcr_Factory425_Plugin {
19
 
20
  /**
21
+ * @var Wbcr_Factory425_Plugin
22
  */
23
  private static $app;
24
  private $plugin_data;
44
  }
45
 
46
  /**
47
+ * @return Wbcr_Factory425_Plugin
48
  */
49
  public static function app() {
50
  return self::$app;
components/disable-admin-notices/includes/classes/class-configurate-notices.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  exit;
16
  }
17
 
18
- class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy214_Configurate {
19
 
20
  public function registerActionsAndFilters() {
21
  if ( is_admin() ) {
15
  exit;
16
  }
17
 
18
+ class WDN_ConfigHideNotices extends Wbcr_FactoryClearfy217_Configurate {
19
 
20
  public function registerActionsAndFilters() {
21
  if ( is_admin() ) {
components/disable-admin-notices/migrations/010007.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WDNUpdate010007 extends Wbcr_Factory422_Update {
8
 
9
  public function install()
10
  {
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WDNUpdate010007 extends Wbcr_Factory425_Update {
8
 
9
  public function install()
10
  {
components/ga-cache/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
- * @see Factory422_Activator
9
  * @version 1.0
10
  */
11
 
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- class WGA_Activation extends Wbcr_Factory422_Activator {
18
 
19
  /**
20
  * Runs activation actions.
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
+ * @see Factory425_Activator
9
  * @version 1.0
10
  */
11
 
14
  exit;
15
  }
16
 
17
+ class WGA_Activation extends Wbcr_Factory425_Activator {
18
 
19
  /**
20
  * Runs activation actions.
components/ga-cache/admin/boot.php CHANGED
@@ -23,13 +23,13 @@ if ( ! defined( 'ABSPATH' ) ) {
23
  *
24
  * @since 3.0.1
25
  *
26
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $page
27
  *
28
- * @param Wbcr_Factory422_Plugin $plugin
29
  *
30
  * @return void
31
  */
32
- add_action( 'wbcr_factory_422_imppage_after_form_save', function ( $plugin, $page ) {
33
  if ( WGA_Plugin::app()->getPluginName() != $plugin->getPluginName() ) {
34
  return;
35
  }
23
  *
24
  * @since 3.0.1
25
  *
26
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $page
27
  *
28
+ * @param Wbcr_Factory425_Plugin $plugin
29
  *
30
  * @return void
31
  */
32
+ add_action( 'wbcr_factory_425_imppage_after_form_save', function ( $plugin, $page ) {
33
  if ( WGA_Plugin::app()->getPluginName() != $plugin->getPluginName() ) {
34
  return;
35
  }
components/ga-cache/admin/options.php CHANGED
@@ -117,7 +117,7 @@ function wbcr_ga_get_plugin_options() {
117
 
118
  /**
119
  * @param $form
120
- * @param $page Wbcr_FactoryPages422_ImpressiveThemplate
121
  *
122
  * @return mixed
123
  */
117
 
118
  /**
119
  * @param $form
120
+ * @param $page Wbcr_FactoryPages425_ImpressiveThemplate
121
  *
122
  * @return mixed
123
  */
components/ga-cache/admin/pages/class-pages-general-settings.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
- class WGA_CachePage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -48,9 +48,9 @@ class WGA_CachePage extends Wbcr_FactoryClearfy214_PageBase {
48
  public $show_right_sidebar_in_options = true;
49
 
50
  /**
51
- * @param Wbcr_Factory422_Plugin $plugin
52
  */
53
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
54
  $this->menu_title = __( 'Local Google Analytics', 'simple-google-analytics' );
55
 
56
  if ( ! defined( 'LOADING_GA_CACHE_AS_ADDON' ) ) {
16
  * @copyright (c) 2018 Webraftic Ltd
17
  * @version 1.0
18
  */
19
+ class WGA_CachePage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
48
  public $show_right_sidebar_in_options = true;
49
 
50
  /**
51
+ * @param Wbcr_Factory425_Plugin $plugin
52
  */
53
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
54
  $this->menu_title = __( 'Local Google Analytics', 'simple-google-analytics' );
55
 
56
  if ( ! defined( 'LOADING_GA_CACHE_AS_ADDON' ) ) {
components/ga-cache/admin/pages/class-pages-more-features.php CHANGED
@@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WGA_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
20
 
21
  }
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WGA_MoreFeaturesPage extends Wbcr_FactoryClearfy217_MoreFeaturesPage {
20
 
21
  }
components/ga-cache/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WGA_PLUGIN_ACTIVE' ) ) {
18
  define( 'WGA_PLUGIN_VERSION', '3.1.1' );
 
19
  define( 'WGA_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WGA_PLUGIN_ACTIVE' ) ) {
18
  define( 'WGA_PLUGIN_VERSION', '3.1.1' );
19
+ define( 'WGA_TEXT_DOMAIN', 'simple-google-analytics' );
20
  define( 'WGA_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/ga-cache/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WGA_Plugin extends Wbcr_Factory422_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory422_Plugin
18
  */
19
  private static $app;
20
 
@@ -58,7 +58,7 @@ class WGA_Plugin extends Wbcr_Factory422_Plugin {
58
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
59
  * классам.
60
  *
61
- * @return \Wbcr_Factory422_Plugin|\WGA_Plugin
62
  */
63
  public static function app() {
64
  return self::$app;
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WGA_Plugin extends Wbcr_Factory425_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory425_Plugin
18
  */
19
  private static $app;
20
 
58
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
59
  * классам.
60
  *
61
+ * @return \Wbcr_Factory425_Plugin|\WGA_Plugin
62
  */
63
  public static function app() {
64
  return self::$app;
components/ga-cache/includes/classes/class-configurate-ga.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WGA_ConfigGACache extends Wbcr_FactoryClearfy214_Configurate {
16
 
17
 
18
  public function registerActionsAndFilters() {
12
  exit;
13
  }
14
 
15
+ class WGA_ConfigGACache extends Wbcr_FactoryClearfy217_Configurate {
16
 
17
 
18
  public function registerActionsAndFilters() {
components/ga-cache/migrations/030002.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WGACUpdate030002 extends Wbcr_Factory422_Update {
8
 
9
  public function install() {
10
  /**
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WGACUpdate030002 extends Wbcr_Factory425_Update {
8
 
9
  public function install() {
10
  /**
components/ga-cache/simple_google_analytics.php CHANGED
@@ -63,15 +63,15 @@ $plugin_info = array(
63
 
64
  // FRAMEWORK MODULES
65
  'load_factory_modules' => array(
66
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
67
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
68
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
69
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
70
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
71
  )
72
  );
73
 
74
- $wga_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $plugin_info, array(
75
  'plugin_already_activate' => defined( 'WGA_PLUGIN_ACTIVE' ),
76
  'required_php_version' => '5.4',
77
  'required_wp_version' => '4.2.0',
63
 
64
  // FRAMEWORK MODULES
65
  'load_factory_modules' => array(
66
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
67
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
68
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
69
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
70
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
71
  )
72
  );
73
 
74
+ $wga_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $plugin_info, array(
75
  'plugin_already_activate' => defined( 'WGA_PLUGIN_ACTIVE' ),
76
  'required_php_version' => '5.4',
77
  'required_wp_version' => '4.2.0',
components/html-minify/admin/pages/class-pages-settings.php CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  *
10
  * @since 1.0.0
11
  */
12
- class WHTM_SettingsPage extends Wbcr_FactoryClearfy214_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WHTM_SettingsPage extends Wbcr_FactoryClearfy214_PageBase {
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
- * @param \Wbcr_Factory422_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
58
  // Заголовок страницы
59
  $this->menu_title = __( 'HTML Minify', 'html-minify' );
60
 
9
  *
10
  * @since 1.0.0
11
  */
12
+ class WHTM_SettingsPage extends Wbcr_FactoryClearfy217_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory425_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
58
  // Заголовок страницы
59
  $this->menu_title = __( 'HTML Minify', 'html-minify' );
60
 
components/html-minify/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WHTM_PLUGIN_ACTIVE' ) ) {
18
  define( 'WHTM_PLUGIN_VERSION', '1.1.0' );
 
19
  define( 'WHTM_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WHTM_PLUGIN_ACTIVE' ) ) {
18
  define( 'WHTM_PLUGIN_VERSION', '1.1.0' );
19
+ define( 'WHTM_TEXT_DOMAIN', 'html-minify' );
20
  define( 'WHTM_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/html-minify/html-minify.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: html-minify
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  /*
@@ -59,15 +59,15 @@ $whtml_plugin_info = array(
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
63
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
64
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
65
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
66
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
67
  )
68
  );
69
 
70
- $whtml_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $whtml_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WHTM_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
8
  * Text Domain: html-minify
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  /*
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
63
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
64
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
65
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
66
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
67
  )
68
  );
69
 
70
+ $whtml_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $whtml_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WHTM_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
components/html-minify/includes/class-plugin.php CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  }
14
 
15
 
16
- class WHTM_Plugin extends Wbcr_Factory422_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
- * @var Wbcr_Factory422_Plugin
21
  */
22
  private static $app;
23
 
@@ -53,7 +53,7 @@ class WHTM_Plugin extends Wbcr_Factory422_Plugin {
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
- * @return \Wbcr_Factory422_Plugin|\WCM_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
13
  }
14
 
15
 
16
+ class WHTM_Plugin extends Wbcr_Factory425_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
+ * @var Wbcr_Factory425_Plugin
21
  */
22
  private static $app;
23
 
53
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
54
  * классам.
55
  *
56
+ * @return \Wbcr_Factory425_Plugin|\WCM_Plugin
57
  */
58
  public static function app() {
59
  return self::$app;
components/minify-and-combine/admin/pages/class-pages-settings.php CHANGED
@@ -9,7 +9,7 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  *
10
  * @since 1.0.0
11
  */
12
- class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy214_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
@@ -52,9 +52,9 @@ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy214_PageBase
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
- * @param \Wbcr_Factory422_Plugin $plugin
56
  */
57
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
58
  $this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
59
 
60
  if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
9
  *
10
  * @since 1.0.0
11
  */
12
+ class WMAC_MinifyAndCombineSettingsPage extends Wbcr_FactoryClearfy217_PageBase {
13
 
14
  /**
15
  * {@inheritDoc}
52
  *
53
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
54
  *
55
+ * @param \Wbcr_Factory425_Plugin $plugin
56
  */
57
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
58
  $this->menu_title = __( 'Minify (JS/CSS)', 'minify-and-combine' );
59
 
60
  if ( ! defined( 'LOADING_MINIFY_AND_COMBINE_AS_ADDON' ) ) {
components/minify-and-combine/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WMAC_PLUGIN_ACTIVE' ) ) {
18
  define( 'WMAC_PLUGIN_VERSION', '1.1.0' );
 
19
  define( 'WMAC_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WMAC_PLUGIN_ACTIVE' ) ) {
18
  define( 'WMAC_PLUGIN_VERSION', '1.1.0' );
19
+ define( 'WMAC_TEXT_DOMAIN', 'minify-and-combine' );
20
  define( 'WMAC_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/minify-and-combine/includes/class-plugin.php CHANGED
@@ -13,11 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  }
14
 
15
 
16
- class WMAC_Plugin extends Wbcr_Factory422_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
- * @var Wbcr_Factory422_Plugin
21
  */
22
  private static $app;
23
 
@@ -55,7 +55,7 @@ class WMAC_Plugin extends Wbcr_Factory422_Plugin {
55
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
56
  * классам.
57
  *
58
- * @return \Wbcr_Factory422_Plugin|\WCM_Plugin
59
  */
60
  public static function app() {
61
  return self::$app;
13
  }
14
 
15
 
16
+ class WMAC_Plugin extends Wbcr_Factory425_Plugin {
17
 
18
  /**
19
  * @see self::app()
20
+ * @var Wbcr_Factory425_Plugin
21
  */
22
  private static $app;
23
 
55
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
56
  * классам.
57
  *
58
+ * @return \Wbcr_Factory425_Plugin|\WCM_Plugin
59
  */
60
  public static function app() {
61
  return self::$app;
components/minify-and-combine/includes/classes/class-cache.php CHANGED
@@ -385,7 +385,7 @@ class WMAC_PluginCache {
385
  }
386
  }
387
  add_action( 'shutdown', 'wmac_do_cachepurged_action', 11 );
388
- add_action( 'wmac_action_cachepurged', [ 'WbcrFactoryClearfy214_Helpers', 'flushPageCache' ], 10, 0 );
389
  }
390
 
391
  // Warm cache (part of speedupper)!
385
  }
386
  }
387
  add_action( 'shutdown', 'wmac_do_cachepurged_action', 11 );
388
+ add_action( 'wmac_action_cachepurged', [ 'WbcrFactoryClearfy217_Helpers', 'flushPageCache' ], 10, 0 );
389
  }
390
 
391
  // Warm cache (part of speedupper)!
components/minify-and-combine/includes/classes/class-styles.php CHANGED
@@ -418,7 +418,7 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
418
  * Rewrites/Replaces any ASSETS_REGEX-matching urls in a string.
419
  * Replacements are performed in a `longest-match-replaced-first` way.
420
  *
421
- * @param string $code CSS code.
422
  *
423
  * @return string
424
  */
@@ -862,7 +862,8 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
862
  }
863
 
864
  $url = $noQurl;
865
- if ( '/' === $url{0} || preg_match( '#^(https?://|ftp://|data:)#i', $url ) ) {
 
866
  // URL is protocol-relative, host-relative or something we don't touch.
867
  continue;
868
  } else {
@@ -960,8 +961,8 @@ class WMAC_PluginStyles extends WMAC_PluginBase {
960
  * Minifies a single local css file
961
  * and returns its (cached) url.
962
  *
963
- * @param string $filepath Filepath.
964
- * @param bool $cache_miss Optional. Force a cache miss. Default false.
965
  *
966
  * @return bool|string Url pointing to the minified css file or false.
967
  */
418
  * Rewrites/Replaces any ASSETS_REGEX-matching urls in a string.
419
  * Replacements are performed in a `longest-match-replaced-first` way.
420
  *
421
+ * @param string $code CSS code.
422
  *
423
  * @return string
424
  */
862
  }
863
 
864
  $url = $noQurl;
865
+
866
+ if ( '/' === $url[0] || preg_match( '#^(https?://|ftp://|data:)#i', $url ) ) {
867
  // URL is protocol-relative, host-relative or something we don't touch.
868
  continue;
869
  } else {
961
  * Minifies a single local css file
962
  * and returns its (cached) url.
963
  *
964
+ * @param string $filepath Filepath.
965
+ * @param bool $cache_miss Optional. Force a cache miss. Default false.
966
  *
967
  * @return bool|string Url pointing to the minified css file or false.
968
  */
components/minify-and-combine/minify-and-combine.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: minify-and-combine
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  /*
@@ -59,15 +59,15 @@ $wmac_plugin_info = array(
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
63
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
64
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
65
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
66
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
67
  )
68
  );
69
 
70
- $wmac_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wmac_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WMAC_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
8
  * Text Domain: minify-and-combine
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  /*
59
 
60
  // FRAMEWORK MODULES
61
  'load_factory_modules' => array(
62
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
63
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
64
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
65
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
66
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
67
  )
68
  );
69
 
70
+ $wmac_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $wmac_plugin_info, array(
71
  'plugin_already_activate' => defined( 'WMAC_PLUGIN_ACTIVE' ),
72
  'required_php_version' => '5.4',
73
  'required_wp_version' => '4.2.0',
components/updates-manager/admin/activation.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
- * @see Factory422_Activator
9
  */
10
 
11
  // Exit if accessed directly
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WUPM_Activation extends Wbcr_Factory422_Activator {
17
 
18
  /**
19
  * Runs activation actions.
5
  *
6
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
7
  * @copyright (c) 09.09.2017, Webcraftic
8
+ * @see Factory425_Activator
9
  */
10
 
11
  // Exit if accessed directly
13
  exit;
14
  }
15
 
16
+ class WUPM_Activation extends Wbcr_Factory425_Activator {
17
 
18
  /**
19
  * Runs activation actions.
components/updates-manager/admin/assets/js/ajax-components.js CHANGED
@@ -59,15 +59,15 @@ jQuery(function($) {
59
 
60
  if( !response || !response.success ) {
61
  if( response.data.error_message ) {
62
- $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
63
  }
64
  return false;
65
  }
66
 
67
- /*var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Settings successfully updated', 'success');
68
 
69
  setTimeout(function() {
70
- $.wbcr_factory_clearfy_214.app.hideNotice(noticeId);
71
  }, 5000);*/
72
  },
73
  error: function(xhr, ajaxOptions, thrownError) {
@@ -75,7 +75,7 @@ jQuery(function($) {
75
  console.log(xhr.responseText);
76
  console.log(thrownError);
77
 
78
- $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
79
  }
80
  });
81
  });
59
 
60
  if( !response || !response.success ) {
61
  if( response.data.error_message ) {
62
+ $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
63
  }
64
  return false;
65
  }
66
 
67
+ /*var noticeId = $.wbcr_factory_clearfy_217.app.showNotice('Settings successfully updated', 'success');
68
 
69
  setTimeout(function() {
70
+ $.wbcr_factory_clearfy_217.app.hideNotice(noticeId);
71
  }, 5000);*/
72
  },
73
  error: function(xhr, ajaxOptions, thrownError) {
75
  console.log(xhr.responseText);
76
  console.log(thrownError);
77
 
78
+ $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
79
  }
80
  });
81
  });
components/updates-manager/admin/boot.php CHANGED
@@ -48,7 +48,7 @@ if ( ! defined( 'LOADING_UPDATES_MANAGER_AS_ADDON' ) ) {
48
  return $page_url;
49
  }
50
 
51
- add_filter( 'wbcr_factory_pages_422_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2 );
52
 
53
  /**
54
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
48
  return $page_url;
49
  }
50
 
51
+ add_filter( 'wbcr_factory_pages_425_imppage_rating_widget_url', 'wbcr_upm_rating_widget_url', 10, 2 );
52
 
53
  /**
54
  * Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
components/updates-manager/admin/includes/class-abstract-filters.php CHANGED
@@ -14,7 +14,7 @@ abstract class WUPM_AbstractFilters {
14
  protected $is_disable_translation_updates;
15
 
16
 
17
- function __construct( Wbcr_Factory422_Plugin $plugin ) {
18
  $this->plugin = $plugin;
19
  $this->load();
20
  }
14
  protected $is_disable_translation_updates;
15
 
16
 
17
+ function __construct( Wbcr_Factory425_Plugin $plugin ) {
18
  $this->plugin = $plugin;
19
  $this->load();
20
  }
components/updates-manager/admin/pages/class-page-advanced.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WUPM_AdvancedPage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
@@ -66,9 +66,9 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy214_PageBase {
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
- * @param \Wbcr_Factory422_Plugin $plugin
70
  */
71
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
72
  $this->menu_title = __( 'Advanced', 'webcraftic-updates-manager' );
73
 
74
  parent::__construct( $plugin );
@@ -79,8 +79,8 @@ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy214_PageBase {
79
  *
80
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
81
  *
82
- * @param \Wbcr_Factory422_ScriptList $scripts
83
- * @param \Wbcr_Factory422_StyleList $styles
84
  */
85
  public function assets( $scripts, $styles ) {
86
  parent::assets( $scripts, $styles );
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_AdvancedPage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  * {@inheritDoc}
66
  *
67
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
68
  *
69
+ * @param \Wbcr_Factory425_Plugin $plugin
70
  */
71
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
72
  $this->menu_title = __( 'Advanced', 'webcraftic-updates-manager' );
73
 
74
  parent::__construct( $plugin );
79
  *
80
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
81
  *
82
+ * @param \Wbcr_Factory425_ScriptList $scripts
83
+ * @param \Wbcr_Factory425_StyleList $styles
84
  */
85
  public function assets( $scripts, $styles ) {
86
  parent::assets( $scripts, $styles );
components/updates-manager/admin/pages/class-page-more-features.php CHANGED
@@ -16,6 +16,6 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WUPM_MoreFeaturesPage extends Wbcr_FactoryClearfy214_MoreFeaturesPage {
20
 
21
  }
16
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_MoreFeaturesPage extends Wbcr_FactoryClearfy217_MoreFeaturesPage {
20
 
21
  }
components/updates-manager/admin/pages/class-page-plugins.php CHANGED
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
- class WUPM_PluginsPage extends Wbcr_FactoryClearfy214_PageBase {
20
 
21
  /**
22
  *{@inheritDoc}
@@ -83,9 +83,9 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy214_PageBase {
83
  *
84
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
85
  *
86
- * @param \Wbcr_Factory422_Plugin $plugin
87
  */
88
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
89
  $this->menu_title = __( 'Plugins', 'webcraftic-updates-manager' );
90
 
91
  parent::__construct( $plugin );
@@ -121,8 +121,8 @@ class WUPM_PluginsPage extends Wbcr_FactoryClearfy214_PageBase {
121
  *
122
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
123
  *
124
- * @param \Wbcr_Factory422_ScriptList $scripts
125
- * @param \Wbcr_Factory422_StyleList $styles
126
  */
127
  public function assets( $scripts, $styles ) {
128
  parent::assets( $scripts, $styles );
16
  *
17
  * @copyright (c) 2018 Webraftic Ltd
18
  */
19
+ class WUPM_PluginsPage extends Wbcr_FactoryClearfy217_PageBase {
20
 
21
  /**
22
  *{@inheritDoc}
83
  *
84
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
85
  *
86
+ * @param \Wbcr_Factory425_Plugin $plugin
87
  */
88
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
89
  $this->menu_title = __( 'Plugins', 'webcraftic-updates-manager' );
90
 
91
  parent::__construct( $plugin );
121
  *
122
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
123
  *
124
+ * @param \Wbcr_Factory425_ScriptList $scripts
125
+ * @param \Wbcr_Factory425_StyleList $styles
126
  */
127
  public function assets( $scripts, $styles ) {
128
  parent::assets( $scripts, $styles );
components/updates-manager/admin/pages/class-page-themes.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
- class WUPM_ThemesPage extends Wbcr_FactoryClearfy214_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -85,9 +85,9 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy214_PageBase {
85
  private $themes_update_filters = [];
86
 
87
  /**
88
- * @param Wbcr_Factory422_Plugin $plugin
89
  */
90
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
91
  $this->menu_title = __( 'Themes', 'webcraftic-updates-manager' );
92
 
93
  parent::__construct( $plugin );
@@ -123,7 +123,7 @@ class WUPM_ThemesPage extends Wbcr_FactoryClearfy214_PageBase {
123
  *
124
  * @since 1.0.0
125
  * @return void
126
- * @see FactoryPages422_AdminPage
127
  *
128
  */
129
  public function assets( $scripts, $styles ) {
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
+ class WUPM_ThemesPage extends Wbcr_FactoryClearfy217_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
85
  private $themes_update_filters = [];
86
 
87
  /**
88
+ * @param Wbcr_Factory425_Plugin $plugin
89
  */
90
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
91
  $this->menu_title = __( 'Themes', 'webcraftic-updates-manager' );
92
 
93
  parent::__construct( $plugin );
123
  *
124
  * @since 1.0.0
125
  * @return void
126
+ * @see FactoryPages425_AdminPage
127
  *
128
  */
129
  public function assets( $scripts, $styles ) {
components/updates-manager/admin/pages/class-page-updates.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
- class WUPM_UpdatesPage extends Wbcr_FactoryClearfy214_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -51,9 +51,9 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy214_PageBase {
51
  *
52
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
53
  *
54
- * @param \Wbcr_Factory422_Plugin $plugin
55
  */
56
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
57
  $this->menu_title = __( 'Updates manager', 'webcraftic-updates-manager' );
58
  $this->page_menu_short_description = __( 'Manage all site updates', 'webcraftic-updates-manager' );
59
 
@@ -85,8 +85,8 @@ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy214_PageBase {
85
  *
86
  * @author Alexander Kovalev <alex.kovalevv@gmail.com> *
87
  *
88
- * @param \Wbcr_Factory422_ScriptList $scripts
89
- * @param \Wbcr_Factory422_StyleList $styles
90
  */
91
  public function assets( $scripts, $styles ) {
92
  parent::assets( $scripts, $styles );
15
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
16
  * @copyright (c) 2018 Webraftic Ltd
17
  */
18
+ class WUPM_UpdatesPage extends Wbcr_FactoryClearfy217_PageBase {
19
 
20
  /**
21
  * {@inheritDoc}
51
  *
52
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
53
  *
54
+ * @param \Wbcr_Factory425_Plugin $plugin
55
  */
56
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
57
  $this->menu_title = __( 'Updates manager', 'webcraftic-updates-manager' );
58
  $this->page_menu_short_description = __( 'Manage all site updates', 'webcraftic-updates-manager' );
59
 
85
  *
86
  * @author Alexander Kovalev <alex.kovalevv@gmail.com> *
87
  *
88
+ * @param \Wbcr_Factory425_ScriptList $scripts
89
+ * @param \Wbcr_Factory425_StyleList $styles
90
  */
91
  public function assets( $scripts, $styles ) {
92
  parent::assets( $scripts, $styles );
components/updates-manager/clearfy.php CHANGED
@@ -16,6 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
16
 
17
  if ( ! defined( 'WUPM_PLUGIN_ACTIVE' ) ) {
18
  define( 'WUPM_PLUGIN_VERSION', '1.1.0' );
 
19
  define( 'WUPM_PLUGIN_ACTIVE', true );
20
 
21
  // Этот плагин загружен, как аддон для плагина Clearfy
16
 
17
  if ( ! defined( 'WUPM_PLUGIN_ACTIVE' ) ) {
18
  define( 'WUPM_PLUGIN_VERSION', '1.1.0' );
19
+ define( 'WUPM_TEXT_DOMAIN', 'webcraftic-updates-manager' );
20
  define( 'WUPM_PLUGIN_ACTIVE', true );
21
 
22
  // Этот плагин загружен, как аддон для плагина Clearfy
components/updates-manager/includes/class-plugin.php CHANGED
@@ -10,11 +10,11 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
- class WUPM_Plugin extends Wbcr_Factory422_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
- * @var Wbcr_Factory422_Plugin
18
  */
19
  private static $app;
20
 
@@ -57,7 +57,7 @@ class WUPM_Plugin extends Wbcr_Factory422_Plugin {
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
- * @return \Wbcr_Factory422_Plugin|\WUPM_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
10
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
11
  * @copyright (c) 19.02.2018, Webcraftic
12
  */
13
+ class WUPM_Plugin extends Wbcr_Factory425_Plugin {
14
 
15
  /**
16
  * @see self::app()
17
+ * @var Wbcr_Factory425_Plugin
18
  */
19
  private static $app;
20
 
57
  * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
58
  * классам.
59
  *
60
+ * @return \Wbcr_Factory425_Plugin|\WUPM_Plugin
61
  */
62
  public static function app() {
63
  return self::$app;
components/updates-manager/includes/classes/class-configurate-updates.php CHANGED
@@ -12,7 +12,7 @@ require_once WUPM_PLUGIN_DIR . '/admin/includes/class-plugin-filters.php';
12
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
- class WUPM_ConfigUpdates extends Wbcr_FactoryClearfy214_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
  /**
12
  * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
13
  * @copyright (c) 2017 Webraftic Ltd
14
  */
15
+ class WUPM_ConfigUpdates extends Wbcr_FactoryClearfy217_Configurate {
16
 
17
  public function registerActionsAndFilters() {
18
  /**
components/updates-manager/migrations/010008.php CHANGED
@@ -4,7 +4,7 @@
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
- class WUPMUpdate010008 extends Wbcr_Factory422_Update {
8
 
9
  public function install()
10
  {
4
  * Updates for altering the table used to store statistics data.
5
  * Adds new columns and renames existing ones in order to add support for the new social buttons.
6
  */
7
+ class WUPMUpdate010008 extends Wbcr_Factory425_Update {
8
 
9
  public function install()
10
  {
components/updates-manager/webcraftic-updates-manager.php CHANGED
@@ -8,7 +8,7 @@
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
- * Framework Version: FACTORY_422_VERSION
12
  */
13
 
14
  // Exit if accessed directly
@@ -64,15 +64,15 @@ $wupm_plugin_info = array(
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
- array( 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ),
68
- array( 'libs/factory/forms', 'factory_forms_420', 'admin' ),
69
- array( 'libs/factory/pages', 'factory_pages_422', 'admin' ),
70
- array( 'libs/factory/clearfy', 'factory_clearfy_214', 'all' ),
71
- array( 'libs/factory/adverts', 'factory_adverts_104', 'admin')
72
  )
73
  );
74
 
75
- $wupm_compatibility = new Wbcr_Factory422_Requirements( __FILE__, array_merge( $wupm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WUPM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
8
  * Text Domain: webcraftic-updates-manager
9
  * Domain Path: /languages/
10
  * Author URI: https://webcraftic.com
11
+ * Framework Version: FACTORY_425_VERSION
12
  */
13
 
14
  // Exit if accessed directly
64
 
65
  // FRAMEWORK MODULES
66
  'load_factory_modules' => array(
67
+ array( 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ),
68
+ array( 'libs/factory/forms', 'factory_forms_423', 'admin' ),
69
+ array( 'libs/factory/pages', 'factory_pages_425', 'admin' ),
70
+ array( 'libs/factory/clearfy', 'factory_clearfy_217', 'all' ),
71
+ array( 'libs/factory/adverts', 'factory_adverts_106', 'admin')
72
  )
73
  );
74
 
75
+ $wupm_compatibility = new Wbcr_Factory425_Requirements( __FILE__, array_merge( $wupm_plugin_info, array(
76
  'plugin_already_activate' => defined( 'WUPM_PLUGIN_ACTIVE' ),
77
  'required_php_version' => '5.4',
78
  'required_wp_version' => '4.2.0',
includes/boot.php CHANGED
@@ -1,123 +1,123 @@
1
  <?php
2
- /**
3
- * Global boot file
4
- *
5
- * @author Webcraftic <wordpress.webraftic@gmail.com>
6
- * @copyright (c) 01.07.2018, Webcraftic
7
- * @version 1.0
8
- */
9
-
10
- // Exit if accessed directly
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- /**
16
- * Подключает скрипты для дополнительного меню Clearfy, на всех страницах сайта.
17
- * Скрипты могут быть добавлены только, если пользователь администратор и в настройках Clearfy
18
- * не отключено дополнительное меню.
19
- */
20
- function wbcr_clr_enqueue_admin_bar_scripts() {
21
- $disable_menu = WCL_Plugin::app()->getPopulateOption( 'disable_clearfy_extra_menu', false );
22
-
23
- if ( ! WCL_Plugin::app()->currentUserCan() || $disable_menu ) {
24
- return;
25
- }
26
-
27
- wp_enqueue_style( 'wbcr-clearfy-adminbar-styles', WCL_PLUGIN_URL . '/assets/css/admin-bar.css', [], WCL_Plugin::app()->getPluginVersion() );
28
- }
29
-
30
- add_action( 'admin_enqueue_scripts', 'wbcr_clr_enqueue_admin_bar_scripts' );
31
- add_action( 'wp_enqueue_scripts', 'wbcr_clr_enqueue_admin_bar_scripts' );
32
-
33
- /**
34
- * Создает дополнительное меню Clearfy на верхней панели администратора.
35
- * По умолчанию выводятся пункты:
36
- * - Документация
37
- * - Нравится ли вам плагин?
38
- * - Обновится до премиум
39
- * Все остальные пункты меню могут быть получены с помощью фильтра wbcr/clearfy/adminbar_menu_items.
40
- * Меню может быть отключено опционально или если не имеет ни одного пукнта.
41
- *
42
- * @param WP_Admin_Bar $wp_admin_bar
43
- */
44
- function wbcr_clr_admin_bar_menu( $wp_admin_bar ) {
45
- $disable_menu = WCL_Plugin::app()->getPopulateOption( 'disable_clearfy_extra_menu', false );
46
-
47
- if ( ! WCL_Plugin::app()->currentUserCan() || $disable_menu ) {
48
- return;
49
  }
50
-
51
- $menu_items = [];
52
-
53
  /**
54
- * @since 1.1.3 - добавлен
55
- * @since 1.1.4 - является устаревшим
 
56
  */
57
- $menu_items = wbcr_factory_422_apply_filters_deprecated( 'wbcr_clearfy_admin_bar_menu_items', [ $menu_items ], '1.4.0', 'wbcr/clearfy/adminbar_menu_items' );
58
-
 
 
 
 
 
 
 
 
 
 
 
59
  /**
60
- * @since 1.1.3 - добавлен
61
- * @since 1.1.4 - изменено имя
 
 
 
 
 
 
 
62
  */
63
- $menu_items = apply_filters( 'wbcr/clearfy/adminbar_menu_items', $menu_items );
64
-
65
- $menu_items['clearfy-docs'] = [
66
- 'id' => 'clearfy-docs',
67
- 'title' => '<span class="dashicons dashicons-book"></span> ' . __( 'Documentation', 'gonzales' ),
68
- 'href' => WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'docs', 'adminbar_menu' )
69
- ];
70
-
71
- $menu_items['clearfy-rating'] = [
72
- 'id' => 'clearfy-rating',
73
- 'title' => '<span class="dashicons dashicons-heart"></span> ' . __( 'Do you like our plugin?', 'gonzales' ),
74
- 'href' => 'https://wordpress.org/support/plugin/clearfy/reviews/'
75
- ];
76
- $menu_items['clearfy-support'] = [
77
- 'id' => 'clearfy-rating',
78
- 'title' => '<span class="dashicons dashicons-sos"></span> ' . __( 'Getting started free support', 'gonzales' ),
79
- 'href' => WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'support', 'adminbar_menu' )
80
- ];
81
-
82
- if ( ! WCL_Plugin::app()->premium->is_activate() ) {
83
- $menu_items['clearfy-premium'] = [
84
- 'id' => 'clearfy-premium',
85
- 'title' => '<span class="dashicons dashicons-star-filled"></span> ' . __( 'Upgrade to premium', 'gonzales' ),
86
- 'href' => WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( WCL_Plugin::app()->getPluginName(), 'pricing', 'adminbar_menu' )
 
87
  ];
88
- }
89
-
90
- if ( empty( $menu_items ) ) {
91
- return;
92
- }
93
-
94
- if ( WCL_Plugin::app()->isNetworkActive() ) {
95
- $clearfy_settings_url = network_admin_url( 'settings.php' );
96
- } else {
97
- $clearfy_settings_url = admin_url( 'options-general.php' );
98
- }
99
-
100
- $clearfy_settings_url = $clearfy_settings_url . '?page=quick_start-' . WCL_Plugin::app()->getPluginName();
101
- $clearfy_extra_menu_title = apply_filters( 'wbcr/clearfy/adminbar_menu_title', __( 'Clearfy', 'clearfy' ) );
102
-
103
- $wp_admin_bar->add_menu( [
104
- 'id' => 'clearfy-menu',
105
- //'parent' => 'top-secondary',
106
- 'title' => '<span class="wbcr-clearfy-admin-bar-menu-icon"></span><span class="wbcr-clearfy-admin-bar-menu-title">' . $clearfy_extra_menu_title . ' <span class="dashicons dashicons-arrow-down"></span></span>',
107
- 'href' => $clearfy_settings_url
108
- ] );
109
-
110
- foreach ( (array) $menu_items as $id => $item ) {
 
 
 
 
 
 
 
 
 
 
111
  $wp_admin_bar->add_menu( [
112
- 'id' => $id,
113
- 'parent' => 'clearfy-menu',
114
- 'title' => $item['title'],
115
- 'href' => $item['href'],
116
- 'meta' => [
117
- 'class' => isset( $item['class'] ) ? $item['class'] : ''
118
- ]
119
  ] );
 
 
 
 
 
 
 
 
 
 
 
 
120
  }
121
- }
122
-
123
- add_action( 'admin_bar_menu', 'wbcr_clr_admin_bar_menu', 80 );
1
  <?php
2
+ /**
3
+ * Global boot file
4
+ *
5
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
6
+ * @copyright (c) 01.07.2018, Webcraftic
7
+ * @version 1.0
8
+ */
9
+
10
+ // Exit if accessed directly
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  }
14
+
 
 
15
  /**
16
+ * Подключает скрипты для дополнительного меню Clearfy, на всех страницах сайта.
17
+ * Скрипты могут быть добавлены только, если пользователь администратор и в настройках Clearfy
18
+ * не отключено дополнительное меню.
19
  */
20
+ function wbcr_clr_enqueue_admin_bar_scripts() {
21
+ $disable_menu = WCL_Plugin::app()->getPopulateOption( 'disable_clearfy_extra_menu', false );
22
+
23
+ if ( ! WCL_Plugin::app()->currentUserCan() || $disable_menu ) {
24
+ return;
25
+ }
26
+
27
+ wp_enqueue_style( 'wbcr-clearfy-adminbar-styles', WCL_PLUGIN_URL . '/assets/css/admin-bar.css', [], WCL_Plugin::app()->getPluginVersion() );
28
+ }
29
+
30
+ add_action( 'admin_enqueue_scripts', 'wbcr_clr_enqueue_admin_bar_scripts' );
31
+ add_action( 'wp_enqueue_scripts', 'wbcr_clr_enqueue_admin_bar_scripts' );
32
+
33
  /**
34
+ * Создает дополнительное меню Clearfy на верхней панели администратора.
35
+ * По умолчанию выводятся пункты:
36
+ * - Документация
37
+ * - Нравится ли вам плагин?
38
+ * - Обновится до премиум
39
+ * Все остальные пункты меню могут быть получены с помощью фильтра wbcr/clearfy/adminbar_menu_items.
40
+ * Меню может быть отключено опционально или если не имеет ни одного пукнта.
41
+ *
42
+ * @param WP_Admin_Bar $wp_admin_bar
43
  */
44
+ function wbcr_clr_admin_bar_menu( $wp_admin_bar ) {
45
+ $disable_menu = WCL_Plugin::app()->getPopulateOption( 'disable_clearfy_extra_menu', false );
46
+
47
+ if ( ! WCL_Plugin::app()->currentUserCan() || $disable_menu ) {
48
+ return;
49
+ }
50
+
51
+ $menu_items = [];
52
+
53
+ /**
54
+ * @since 1.1.3 - добавлен
55
+ * @since 1.1.4 - является устаревшим
56
+ */
57
+ $menu_items = wbcr_factory_425_apply_filters_deprecated( 'wbcr_clearfy_admin_bar_menu_items', [ $menu_items ], '1.4.0', 'wbcr/clearfy/adminbar_menu_items' );
58
+
59
+ /**
60
+ * @since 1.1.3 - добавлен
61
+ * @since 1.1.4 - изменено имя
62
+ */
63
+ $menu_items = apply_filters( 'wbcr/clearfy/adminbar_menu_items', $menu_items );
64
+
65
+ $menu_items['clearfy-docs'] = [
66
+ 'id' => 'clearfy-docs',
67
+ 'title' => '<span class="dashicons dashicons-book"></span> ' . __( 'Documentation', 'gonzales' ),
68
+ 'href' => WCL_Plugin::app()->get_support()->get_docs_url( true, 'adminbar_menu' )
69
  ];
70
+
71
+ $menu_items['clearfy-rating'] = [
72
+ 'id' => 'clearfy-rating',
73
+ 'title' => '<span class="dashicons dashicons-heart"></span> ' . __( 'Do you like our plugin?', 'gonzales' ),
74
+ 'href' => 'https://wordpress.org/support/plugin/clearfy/reviews/'
75
+ ];
76
+ $menu_items['clearfy-support'] = [
77
+ 'id' => 'clearfy-rating',
78
+ 'title' => '<span class="dashicons dashicons-sos"></span> ' . __( 'Getting started free support', 'gonzales' ),
79
+ 'href' => WCL_Plugin::app()->get_support()->get_contacts_url( true, 'support', 'adminbar_menu' )
80
+ ];
81
+
82
+ if ( ! WCL_Plugin::app()->premium->is_activate() ) {
83
+ $menu_items['clearfy-premium'] = [
84
+ 'id' => 'clearfy-premium',
85
+ 'title' => '<span class="dashicons dashicons-star-filled"></span> ' . __( 'Upgrade to premium', 'gonzales' ),
86
+ 'href' => WCL_Plugin::app()->get_support()->get_pricing_url( true, 'adminbar_menu' )
87
+ ];
88
+ }
89
+
90
+ if ( empty( $menu_items ) ) {
91
+ return;
92
+ }
93
+
94
+ if ( WCL_Plugin::app()->isNetworkActive() ) {
95
+ $clearfy_settings_url = network_admin_url( 'settings.php' );
96
+ } else {
97
+ $clearfy_settings_url = admin_url( 'options-general.php' );
98
+ }
99
+
100
+ $clearfy_settings_url = $clearfy_settings_url . '?page=quick_start-' . WCL_Plugin::app()->getPluginName();
101
+ $clearfy_extra_menu_title = apply_filters( 'wbcr/clearfy/adminbar_menu_title', __( 'Clearfy', 'clearfy' ) );
102
+
103
  $wp_admin_bar->add_menu( [
104
+ 'id' => 'clearfy-menu',
105
+ //'parent' => 'top-secondary',
106
+ 'title' => '<span class="wbcr-clearfy-admin-bar-menu-icon"></span><span class="wbcr-clearfy-admin-bar-menu-title">' . $clearfy_extra_menu_title . ' <span class="dashicons dashicons-arrow-down"></span></span>',
107
+ 'href' => $clearfy_settings_url
 
 
 
108
  ] );
109
+
110
+ foreach ( (array) $menu_items as $id => $item ) {
111
+ $wp_admin_bar->add_menu( [
112
+ 'id' => $id,
113
+ 'parent' => 'clearfy-menu',
114
+ 'title' => $item['title'],
115
+ 'href' => $item['href'],
116
+ 'meta' => [
117
+ 'class' => isset( $item['class'] ) ? $item['class'] : ''
118
+ ]
119
+ ] );
120
+ }
121
  }
122
+
123
+ add_action( 'admin_bar_menu', 'wbcr_clr_admin_bar_menu', 80 );
 
includes/class.plugin.php CHANGED
@@ -1,317 +1,322 @@
1
  <?php
2
- /**
3
- * Clearfy core class
4
- *
5
- * @author Webcraftic <wordpress.webraftic@gmail.com>
6
- * @copyright (c) 19.02.2018, Webcraftic
7
- * @version 1.0
8
- */
9
-
10
- // Exit if accessed directly
11
- if ( ! defined( 'ABSPATH' ) ) {
12
- exit;
13
- }
14
-
15
- class WCL_Plugin extends Wbcr_Factory422_Plugin {
16
-
17
  /**
18
- * @see self::app()
19
- * @var Wbcr_Factory422_Plugin
20
- */
21
- private static $app;
22
-
23
-
24
- /**
25
- * Конструктор
26
- *
27
- * Применяет конструктор родительского класса и записывает экземпляр текущего класса в свойство $app.
28
- * Подробнее о свойстве $app см. self::app()
29
- *
30
- * @param string $plugin_path
31
- * @param array $data
32
- *
33
- * @throws Exception
34
- */
35
- public function __construct( $plugin_path, $data ) {
36
- self::$app = $this;
37
- parent::__construct( $plugin_path, $data );
38
-
39
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.licensing.php' );
40
-
41
- if ( is_admin() ) {
42
- require_once( WCL_PLUGIN_DIR . '/admin/includes/classes/class.option.php' );
43
- require_once( WCL_PLUGIN_DIR . '/admin/includes/classes/class.group.php' );
44
-
45
- require_once( WCL_PLUGIN_DIR . '/admin/activation.php' );
46
-
47
- if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
48
- require( WCL_PLUGIN_DIR . '/admin/ajax/configurate.php' );
49
- require( WCL_PLUGIN_DIR . '/admin/ajax/import-settings.php' );
50
- require( WCL_PLUGIN_DIR . '/admin/ajax/install-addons.php' );
51
- }
52
-
53
- require_once( WCL_PLUGIN_DIR . '/admin/includes/compatibility.php' );
54
- require_once( WCL_PLUGIN_DIR . '/admin/boot.php' );
55
-
56
- $this->register_activator();
57
- }
58
-
59
- $this->global_scripts();
60
-
61
- add_action( 'plugins_loaded', [ $this, 'plugins_loaded' ] );
62
- }
63
-
64
- /**
65
- * Статический метод для быстрого доступа к интерфейсу плагина.
66
  *
67
- * Позволяет разработчику глобально получить доступ к экземпляру класса плагина в любом месте
68
- * плагина, но при этом разработчик не может вносить изменения в основной класс плагина.
69
- *
70
- * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
71
- * классам.
72
- *
73
- * @return \Wbcr_Factory422_Plugin|\WCL_Plugin
74
- */
75
- public static function app() {
76
- return self::$app;
77
- }
78
-
79
-
80
- /**
81
- * Выполняет php сценарии, когда все Wordpress плагины будут загружены
82
- *
83
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
84
- * @since 1.0.0
85
- * @throws \Exception
86
  */
87
- public function plugins_loaded() {
88
- if ( is_admin() ) {
89
- $this->register_pages();
90
- }
91
-
92
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-advanced.php' );
93
- new WCL_ConfigAdvanced( $this );
94
  }
95
-
96
- /**
97
- * Исключаем загрузку отключенных компонентов плагина
98
- *
99
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
100
- * @since 1.6.0
101
- * @return array
102
- */
103
- public function get_load_plugin_components() {
104
- $load_components = parent::get_load_plugin_components();
105
-
106
- $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
107
-
108
- if ( ! empty( $deactivate_components ) ) {
109
- foreach ( (array) $load_components as $component_ID => $component ) {
110
- if ( in_array( $component_ID, $deactivate_components ) ) {
111
- unset( $load_components[ $component_ID ] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  }
 
 
 
 
 
113
  }
 
 
 
 
114
  }
115
-
116
- if ( is_plugin_active( 'gonzales/gonzales.php' ) ) {
117
- unset( $load_components['assets_manager'] );
 
 
 
 
 
 
 
 
 
 
 
118
  }
119
-
120
- return $load_components;
121
- }
122
-
123
- /**
124
- * Регистрируем активатор плагина
125
- *
126
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
127
- * @since 1.0.0
128
- */
129
- protected function register_activator() {
130
- include_once( WCL_PLUGIN_DIR . '/admin/activation.php' );
131
- $this->registerActivation( 'WCL_Activation' );
132
- }
133
-
134
- /**
135
- * Регистрирует классы страниц в плагине
136
- *
137
- * Мы указываем плагину, где найти файлы страниц и какое имя у их класса. Чтобы плагин
138
- * выполнил подключение классов страниц. После регистрации, страницы будут доступные по url
139
- * и в меню боковой панели администратора. Регистрируемые страницы будут связаны с текущим плагином
140
- * все операции выполняемые внутри классов страниц, имеют отношение только текущему плагину.
141
- *
142
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
143
- * @throws \Exception
144
- */
145
- private function register_pages() {
146
- require_once( WCL_PLUGIN_DIR . '/admin/pages/class-page.php' );
147
-
148
- try {
149
- $this->registerPage( 'WCL_QuickStartPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-quick-start.php' );
150
- $this->registerPage( 'WCL_AdvancedPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-advanced.php' );
151
- $this->registerPage( 'WCL_PerformancePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-performance.php' );
152
- $this->registerPage( 'WCL_PerformanceGooglePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-performance-google.php' );
153
- $this->registerPage( 'WCL_ComponentsPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-components.php' );
154
- $this->registerPage( 'WCL_SeoPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-seo.php' );
155
- $this->registerPage( 'WCL_DoublePagesPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-seo-double-pages.php' );
156
- $this->registerPage( 'WCL_DefencePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-defence.php' );
157
- $this->registerPage( 'WCL_LicensePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-license.php' );
158
-
159
- if ( $this->isActivateComponent( 'widget_tools' ) ) {
160
- $this->registerPage( 'WCL_WidgetsPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-widgets.php' );
161
  }
162
-
163
- $this->registerPage( 'WCL_ClearfySettingsPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-clearfy-settings.php' );
164
-
165
- if ( ! defined( 'WIO_PLUGIN_ACTIVE' ) ) {
166
- $this->registerPage( 'WCL_ImageOptimizationPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-image-optimization.php' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
167
  }
168
-
169
- if ( ! defined( 'WHLP_PLUGIN_ACTIVE' ) ) {
170
- $this->registerPage( 'WCL_HideLoginPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-hide-login-page.php' );
171
  }
172
- } catch( Exception $e ) {
173
- throw new Exception( $e->getMessage() );
174
  }
175
- }
176
-
177
- /**
178
- * Выполняет глобальные php сценарии
179
- *
180
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
181
- * @since 1.0.0
182
- */
183
- private function global_scripts() {
184
-
185
- require_once( WCL_PLUGIN_DIR . '/includes/boot.php' );
186
-
187
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-performance.php' );
188
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-google-performance.php' );
189
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-privacy.php' );
190
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-security.php' );
191
- require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-seo.php' );
192
-
193
- new WCL_ConfigPerformance( $this );
194
- new WCL_ConfigGooglePerformance( $this );
195
- new WCL_ConfigPrivacy( $this );
196
- new WCL_ConfigSecurity( $this );
197
- new WCL_ConfigSeo( $this );
198
- }
199
-
200
- /**
201
- * @return bool
202
- */
203
- public function currentUserCan() {
204
- $permission = $this->isNetworkActive() ? 'manage_network' : 'manage_options';
205
-
206
- return current_user_can( $permission );
207
- }
208
-
209
- /**
210
- * @param string $component_name
211
- *
212
- * @return bool
213
- */
214
- public function isActivateComponent( $component_name ) {
215
- if ( ! is_string( $component_name ) ) {
216
- return false;
217
  }
218
-
219
- $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
220
-
221
- if ( ! is_array( $deactivate_components ) ) {
222
- $deactivate_components = [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
223
  }
224
-
225
- if ( $deactivate_components && in_array( $component_name, $deactivate_components ) ) {
226
- return false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
228
-
229
- return true;
230
- }
231
-
232
- /**
233
- * @param string $component_name
234
- *
235
- * @return bool
236
- */
237
- public function deactivateComponent( $component_name ) {
238
- if ( ! $this->isActivateComponent( $component_name ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  return true;
240
  }
241
-
242
- do_action( 'wbcr_clearfy_pre_deactivate_component', $component_name );
243
-
244
- $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
245
-
246
- if ( ! empty( $deactivate_components ) && is_array( $deactivate_components ) ) {
247
- $deactivate_components[] = $component_name;
248
- } else {
249
- $deactivate_components = [];
250
- $deactivate_components[] = $component_name;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
251
  }
252
-
253
- $this->updatePopulateOption( 'deactive_preinstall_components', $deactivate_components );
254
-
255
- do_action( 'wbcr_clearfy_deactivated_component', $component_name );
256
-
257
- return true;
258
- }
259
-
260
- /**
261
- * @param string $component_name
262
- *
263
- * @return bool
264
- */
265
- public function activateComponent( $component_name ) {
266
- if ( $this->isActivateComponent( $component_name ) ) {
 
 
 
 
 
 
 
 
 
 
 
267
  return true;
268
  }
269
-
270
- do_action( 'wbcr_clearfy_pre_activate_component', $component_name );
271
-
272
- $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
273
-
274
- if ( ! empty( $deactivate_components ) && is_array( $deactivate_components ) ) {
275
- $index = array_search( $component_name, $deactivate_components );
276
- unset( $deactivate_components[ $index ] );
 
 
 
 
 
 
277
  }
278
-
279
- if ( empty( $deactivate_components ) ) {
280
- $this->deletePopulateOption( 'deactive_preinstall_components' );
281
- } else {
282
- $this->updatePopulateOption( 'deactive_preinstall_components', $deactivate_components );
 
 
 
 
 
 
 
 
 
283
  }
284
-
285
- return true;
286
- }
287
-
288
- /**
289
- * Allows you to get a button to install the plugin component
290
- *
291
- * @param $component_type
292
- * @param $slug
293
- * param $premium
294
- *
295
- * @return WCL_InstallPluginsButton
296
- */
297
- public function getInstallComponentsButton( $component_type, $slug ) {
298
- require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
299
-
300
- return new WCL_InstallPluginsButton( $component_type, $slug );
301
- }
302
-
303
- /**
304
- * Allows you to get a button to delete the plugin component
305
- *
306
- * @param $component_type
307
- * @param $slug
308
- *
309
- * @return WCL_InstallPluginsButton
310
- */
311
- public function getDeleteComponentsButton( $component_type, $slug ) {
312
- require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
313
- require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.delete-plugins-button.php';
314
-
315
- return new WCL_DeletePluginsButton( $component_type, $slug );
316
  }
317
- }
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  /**
3
+ * Clearfy core class
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
+ * @author Webcraftic <wordpress.webraftic@gmail.com>
6
+ * @copyright (c) 19.02.2018, Webcraftic
7
+ * @version 1.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  */
9
+
10
+ // Exit if accessed directly
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit;
 
 
 
13
  }
14
+
15
+ class WCL_Plugin extends Wbcr_Factory425_Plugin {
16
+
17
+ /**
18
+ * @see self::app()
19
+ * @var Wbcr_Factory425_Plugin
20
+ */
21
+ private static $app;
22
+
23
+
24
+ /**
25
+ * Конструктор
26
+ *
27
+ * Применяет конструктор родительского класса и записывает экземпляр текущего класса в свойство $app.
28
+ * Подробнее о свойстве $app см. self::app()
29
+ *
30
+ * @param string $plugin_path
31
+ * @param array $data
32
+ *
33
+ * @throws Exception
34
+ */
35
+ public function __construct( $plugin_path, $data ) {
36
+ self::$app = $this;
37
+ parent::__construct( $plugin_path, $data );
38
+
39
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.licensing.php' );
40
+
41
+ if ( is_admin() ) {
42
+ require_once( WCL_PLUGIN_DIR . '/admin/includes/classes/class.option.php' );
43
+ require_once( WCL_PLUGIN_DIR . '/admin/includes/classes/class.group.php' );
44
+
45
+ require_once( WCL_PLUGIN_DIR . '/admin/activation.php' );
46
+
47
+ if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
48
+ require( WCL_PLUGIN_DIR . '/admin/ajax/configurate.php' );
49
+ require( WCL_PLUGIN_DIR . '/admin/ajax/import-settings.php' );
50
+ require( WCL_PLUGIN_DIR . '/admin/ajax/install-addons.php' );
51
  }
52
+
53
+ require_once( WCL_PLUGIN_DIR . '/admin/includes/compatibility.php' );
54
+ require_once( WCL_PLUGIN_DIR . '/admin/boot.php' );
55
+
56
+ $this->register_activator();
57
  }
58
+
59
+ $this->global_scripts();
60
+
61
+ add_action( 'plugins_loaded', [ $this, 'plugins_loaded' ] );
62
  }
63
+
64
+ /**
65
+ * Статический метод для быстрого доступа к интерфейсу плагина.
66
+ *
67
+ * Позволяет разработчику глобально получить доступ к экземпляру класса плагина в любом месте
68
+ * плагина, но при этом разработчик не может вносить изменения в основной класс плагина.
69
+ *
70
+ * Используется для получения настроек плагина, информации о плагине, для доступа к вспомогательным
71
+ * классам.
72
+ *
73
+ * @return \Wbcr_Factory425_Plugin|\WCL_Plugin
74
+ */
75
+ public static function app() {
76
+ return self::$app;
77
  }
78
+
79
+
80
+ /**
81
+ * Выполняет php сценарии, когда все Wordpress плагины будут загружены
82
+ *
83
+ * @throws \Exception
84
+ * @since 1.0.0
85
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
86
+ */
87
+ public function plugins_loaded() {
88
+ if ( is_admin() ) {
89
+ $this->register_pages();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  }
91
+
92
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-advanced.php' );
93
+ new WCL_ConfigAdvanced( $this );
94
+ }
95
+
96
+ /**
97
+ * Исключаем загрузку отключенных компонентов плагина
98
+ *
99
+ * @return array
100
+ * @since 1.6.0
101
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
102
+ */
103
+ public function get_load_plugin_components() {
104
+ $load_components = parent::get_load_plugin_components();
105
+
106
+ $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
107
+
108
+ if ( ! empty( $deactivate_components ) ) {
109
+ foreach ( (array) $load_components as $component_ID => $component ) {
110
+ if ( in_array( $component_ID, $deactivate_components ) ) {
111
+ unset( $load_components[ $component_ID ] );
112
+ }
113
+ }
114
  }
115
+
116
+ if ( is_plugin_active( 'gonzales/gonzales.php' ) ) {
117
+ unset( $load_components['assets_manager'] );
118
  }
119
+
120
+ return $load_components;
121
  }
122
+
123
+ /**
124
+ * Регистрируем активатор плагина
125
+ *
126
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
127
+ * @since 1.0.0
128
+ */
129
+ protected function register_activator() {
130
+ include_once( WCL_PLUGIN_DIR . '/admin/activation.php' );
131
+ $this->registerActivation( 'WCL_Activation' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  }
133
+
134
+ /**
135
+ * Регистрирует классы страниц в плагине
136
+ *
137
+ * Мы указываем плагину, где найти файлы страниц и какое имя у их класса. Чтобы плагин
138
+ * выполнил подключение классов страниц. После регистрации, страницы будут доступные по url
139
+ * и в меню боковой панели администратора. Регистрируемые страницы будут связаны с текущим плагином
140
+ * все операции выполняемые внутри классов страниц, имеют отношение только текущему плагину.
141
+ *
142
+ * @throws \Exception
143
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
144
+ */
145
+ private function register_pages() {
146
+ require_once( WCL_PLUGIN_DIR . '/admin/pages/class-page.php' );
147
+
148
+ try {
149
+ $this->registerPage( 'WCL_QuickStartPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-quick-start.php' );
150
+ $this->registerPage( 'WCL_AdvancedPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-advanced.php' );
151
+ $this->registerPage( 'WCL_PerformancePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-performance.php' );
152
+ $this->registerPage( 'WCL_PerformanceGooglePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-performance-google.php' );
153
+ $this->registerPage( 'WCL_ComponentsPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-components.php' );
154
+ $this->registerPage( 'WCL_SeoPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-seo.php' );
155
+ $this->registerPage( 'WCL_DoublePagesPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-seo-double-pages.php' );
156
+ $this->registerPage( 'WCL_DefencePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-defence.php' );
157
+
158
+ if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
159
+ $this->registerPage( 'WCL_ComponentsLicensePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-components-license.php' );
160
+ }
161
+
162
+ $this->registerPage( 'WCL_LicensePage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-license.php' );
163
+
164
+ if ( $this->isActivateComponent( 'widget_tools' ) ) {
165
+ $this->registerPage( 'WCL_WidgetsPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-widgets.php' );
166
+ }
167
+
168
+ $this->registerPage( 'WCL_ClearfySettingsPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-clearfy-settings.php' );
169
+
170
+ if ( ! defined( 'WIO_PLUGIN_ACTIVE' ) ) {
171
+ $this->registerPage( 'WCL_ImageOptimizationPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-image-optimization.php' );
172
+ }
173
+
174
+ if ( ! defined( 'WHLP_PLUGIN_ACTIVE' ) ) {
175
+ $this->registerPage( 'WCL_HideLoginPage', WCL_PLUGIN_DIR . '/admin/pages/class-pages-hide-login-page.php' );
176
+ }
177
+ } catch( Exception $e ) {
178
+ throw new Exception( $e->getMessage() );
179
+ }
180
  }
181
+
182
+ /**
183
+ * Выполняет глобальные php сценарии
184
+ *
185
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
186
+ * @since 1.0.0
187
+ */
188
+ private function global_scripts() {
189
+
190
+ require_once( WCL_PLUGIN_DIR . '/includes/boot.php' );
191
+
192
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-performance.php' );
193
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-google-performance.php' );
194
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-privacy.php' );
195
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-security.php' );
196
+ require_once( WCL_PLUGIN_DIR . '/includes/classes/class.configurate-seo.php' );
197
+
198
+ new WCL_ConfigPerformance( $this );
199
+ new WCL_ConfigGooglePerformance( $this );
200
+ new WCL_ConfigPrivacy( $this );
201
+ new WCL_ConfigSecurity( $this );
202
+ new WCL_ConfigSeo( $this );
203
  }
204
+
205
+ /**
206
+ * @return bool
207
+ */
208
+ public function currentUserCan() {
209
+ $permission = $this->isNetworkActive() ? 'manage_network' : 'manage_options';
210
+
211
+ return current_user_can( $permission );
212
+ }
213
+
214
+ /**
215
+ * @param string $component_name
216
+ *
217
+ * @return bool
218
+ */
219
+ public function isActivateComponent( $component_name ) {
220
+ if ( ! is_string( $component_name ) ) {
221
+ return false;
222
+ }
223
+
224
+ $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
225
+
226
+ if ( ! is_array( $deactivate_components ) ) {
227
+ $deactivate_components = [];
228
+ }
229
+
230
+ if ( $deactivate_components && in_array( $component_name, $deactivate_components ) ) {
231
+ return false;
232
+ }
233
+
234
  return true;
235
  }
236
+
237
+ /**
238
+ * @param string $component_name
239
+ *
240
+ * @return bool
241
+ */
242
+ public function deactivateComponent( $component_name ) {
243
+ if ( ! $this->isActivateComponent( $component_name ) ) {
244
+ return true;
245
+ }
246
+
247
+ do_action( 'wbcr_clearfy_pre_deactivate_component', $component_name );
248
+
249
+ $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
250
+
251
+ if ( ! empty( $deactivate_components ) && is_array( $deactivate_components ) ) {
252
+ $deactivate_components[] = $component_name;
253
+ } else {
254
+ $deactivate_components = [];
255
+ $deactivate_components[] = $component_name;
256
+ }
257
+
258
+ $this->updatePopulateOption( 'deactive_preinstall_components', $deactivate_components );
259
+
260
+ do_action( 'wbcr_clearfy_deactivated_component', $component_name );
261
+
262
+ return true;
263
  }
264
+
265
+ /**
266
+ * @param string $component_name
267
+ *
268
+ * @return bool
269
+ */
270
+ public function activateComponent( $component_name ) {
271
+ if ( $this->isActivateComponent( $component_name ) ) {
272
+ return true;
273
+ }
274
+
275
+ do_action( 'wbcr_clearfy_pre_activate_component', $component_name );
276
+
277
+ $deactivate_components = $this->getPopulateOption( 'deactive_preinstall_components', [] );
278
+
279
+ if ( ! empty( $deactivate_components ) && is_array( $deactivate_components ) ) {
280
+ $index = array_search( $component_name, $deactivate_components );
281
+ unset( $deactivate_components[ $index ] );
282
+ }
283
+
284
+ if ( empty( $deactivate_components ) ) {
285
+ $this->deletePopulateOption( 'deactive_preinstall_components' );
286
+ } else {
287
+ $this->updatePopulateOption( 'deactive_preinstall_components', $deactivate_components );
288
+ }
289
+
290
  return true;
291
  }
292
+
293
+ /**
294
+ * Allows you to get a button to install the plugin component
295
+ *
296
+ * @param $component_type
297
+ * @param $slug
298
+ * param $premium
299
+ *
300
+ * @return WCL_InstallPluginsButton
301
+ */
302
+ public function getInstallComponentsButton( $component_type, $slug ) {
303
+ require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
304
+
305
+ return new WCL_InstallPluginsButton( $component_type, $slug );
306
  }
307
+
308
+ /**
309
+ * Allows you to get a button to delete the plugin component
310
+ *
311
+ * @param $component_type
312
+ * @param $slug
313
+ *
314
+ * @return WCL_InstallPluginsButton
315
+ */
316
+ public function getDeleteComponentsButton( $component_type, $slug ) {
317
+ require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.install-plugins-button.php';
318
+ require_once WCL_PLUGIN_DIR . '/admin/includes/classes/class.delete-plugins-button.php';
319
+
320
+ return new WCL_DeletePluginsButton( $component_type, $slug );
321
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
322
  }
 
includes/classes/class.configurate-advanced.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
12
  }
13
 
14
- class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy214_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
11
  exit;
12
  }
13
 
14
+ class WCL_ConfigAdvanced extends Wbcr_FactoryClearfy217_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-google-performance.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy214_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
12
  exit;
13
  }
14
 
15
+ class WCL_ConfigGooglePerformance extends Wbcr_FactoryClearfy217_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-performance.php CHANGED
@@ -12,7 +12,7 @@ if ( ! defined( 'ABSPATH' ) ) {
12
  exit;
13
  }
14
 
15
- class WCL_ConfigPerformance extends Wbcr_FactoryClearfy214_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
12
  exit;
13
  }
14
 
15
+ class WCL_ConfigPerformance extends Wbcr_FactoryClearfy217_Configurate {
16
 
17
  /**
18
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-privacy.php CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy214_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
13
  exit;
14
  }
15
 
16
+ class WCL_ConfigPrivacy extends Wbcr_FactoryClearfy217_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-security.php CHANGED
@@ -11,7 +11,7 @@
11
  exit;
12
  }
13
 
14
- class WCL_ConfigSecurity extends Wbcr_FactoryClearfy214_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
11
  exit;
12
  }
13
 
14
+ class WCL_ConfigSecurity extends Wbcr_FactoryClearfy217_Configurate {
15
 
16
  /**
17
  * @param WCL_Plugin $plugin
includes/classes/class.configurate-seo.php CHANGED
@@ -13,7 +13,7 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  exit;
14
  }
15
 
16
- class WCL_ConfigSeo extends Wbcr_FactoryClearfy214_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
13
  exit;
14
  }
15
 
16
+ class WCL_ConfigSeo extends Wbcr_FactoryClearfy217_Configurate {
17
 
18
  /**
19
  * @param WCL_Plugin $plugin
includes/classes/class.licensing.php CHANGED
@@ -1,81 +1,80 @@
1
  <?php
2
- /**
3
- * Class for working with the licensing system
4
- *
5
- * @author Webcraftic
6
- * Developed: Evgeniy Jokerov <jokerov@gmail.com>, Edited: Alex Kovalev <alex.kovalevv@gmail.com>
7
- * @copyright (c) 2018 Webraftic Ltd
8
- * @version 1.0
9
- */
10
-
11
- // Exit if accessed directly
12
- if ( ! defined( 'ABSPATH' ) ) {
13
- exit;
14
- }
15
-
16
- class WCL_Licensing {
17
-
18
- public $id;
19
- public $secret_key;
20
-
21
  /**
22
- * @since 1.0
23
- * @var WCL_Licensing
24
- */
25
- private static $instance;
26
-
27
- /**
28
- * Initialization of the licensing system
29
  *
 
 
 
30
  */
31
- private function __construct() {
32
- if ( WCL_Plugin::app()->premium->is_activate() ) {
33
- $this->id = 1;
34
- $this->secret_key = WCL_Plugin::app()->premium->get_license()->get_key();
35
- }
36
  }
37
-
38
- /**
39
- * Getting a licensing system
40
- *
41
- * @return WCL_Licensing
42
- */
43
- public static function instance() {
44
- if ( self::$instance ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  return self::$instance;
46
  }
47
-
48
- self::$instance = new self();
49
-
50
- return self::$instance;
51
- }
52
-
53
- /**
54
- * Returns a storage object
55
- *
56
- * @return WCL_Licensing
57
- */
58
- public function getStorage() {
59
- return self::instance();
60
- }
61
-
62
- /**
63
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
64
- * @since 1.1
65
- * @return \WCL_Licensing
66
- */
67
- public function getLicense() {
68
- return self::instance();
69
- }
70
-
71
- /**
72
- * Checks if current license has expired
73
- *
74
- * @return bool
75
- */
76
- public function isLicenseValid() {
77
- return WCL_Plugin::app()->premium->is_activate();
78
  }
79
- }
80
 
81
 
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  /**
3
+ * Class for working with the licensing system
 
 
 
 
 
 
4
  *
5
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>
6
+ * @copyright (c) 2018 Webraftic Ltd
7
+ * @version 1.0
8
  */
9
+
10
+ // Exit if accessed directly
11
+ if ( ! defined( 'ABSPATH' ) ) {
12
+ exit;
 
13
  }
14
+
15
+ class WCL_Licensing {
16
+
17
+ public $id;
18
+ public $secret_key;
19
+
20
+ /**
21
+ * @since 1.0
22
+ * @var WCL_Licensing
23
+ */
24
+ private static $instance;
25
+
26
+ /**
27
+ * Initialization of the licensing system
28
+ *
29
+ */
30
+ private function __construct() {
31
+ if ( WCL_Plugin::app()->premium->is_activate() ) {
32
+ $this->id = 1;
33
+ $this->secret_key = WCL_Plugin::app()->premium->get_license()->get_key();
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Getting a licensing system
39
+ *
40
+ * @return WCL_Licensing
41
+ */
42
+ public static function instance() {
43
+ if ( self::$instance ) {
44
+ return self::$instance;
45
+ }
46
+
47
+ self::$instance = new self();
48
+
49
  return self::$instance;
50
  }
51
+
52
+ /**
53
+ * Returns a storage object
54
+ *
55
+ * @return WCL_Licensing
56
+ */
57
+ public function getStorage() {
58
+ return self::instance();
59
+ }
60
+
61
+ /**
62
+ * @return \WCL_Licensing
63
+ * @since 1.1
64
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
65
+ */
66
+ public function getLicense() {
67
+ return self::instance();
68
+ }
69
+
70
+ /**
71
+ * Checks if current license has expired
72
+ *
73
+ * @return bool
74
+ */
75
+ public function isLicenseValid() {
76
+ return WCL_Plugin::app()->premium->is_activate();
77
+ }
 
 
 
 
78
  }
 
79
 
80
 
libs/factory/adverts/boot.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- use WBCR\Factory_Adverts_104\Base;
4
 
5
  /**
6
  * Factory Adverts
@@ -20,31 +20,31 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  exit;
21
  }
22
 
23
- if ( defined( 'FACTORY_ADVERTS_104_LOADED' ) || ( defined( 'FACTORY_ADVERTS_BLOCK' ) && FACTORY_ADVERTS_BLOCK ) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
- define( 'FACTORY_ADVERTS_104_LOADED', true );
29
 
30
  # Устанавливаем версию модуля
31
- define( 'FACTORY_ADVERTS_104_VERSION', '1.0.4' );
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
- load_plugin_textdomain( 'wbcr_factory_adverts_104', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
35
 
36
  # Устанавливаем директорию модуля
37
- define( 'FACTORY_ADVERTS_104_DIR', dirname( __FILE__ ) );
38
 
39
  # Устанавливаем url модуля
40
- define( 'FACTORY_ADVERTS_104_URL', plugins_url( null, __FILE__ ) );
41
 
42
- require_once( FACTORY_ADVERTS_104_DIR . '/includes/class-rest-request.php' );
43
- require_once( FACTORY_ADVERTS_104_DIR . '/includes/class-base.php' );
44
 
45
  /**
46
- * @param Wbcr_Factory422_Plugin $plugin
47
  */
48
- add_action( 'wbcr_factory_adverts_104_plugin_created', function ( $plugin ) {
49
- $plugin->set_adverts_manager( "WBCR\Factory_Adverts_104\Base" );
50
  } );
1
  <?php
2
 
3
+ use WBCR\Factory_Adverts_106\Base;
4
 
5
  /**
6
  * Factory Adverts
20
  exit;
21
  }
22
 
23
+ if ( defined( 'FACTORY_ADVERTS_106_LOADED' ) || ( defined( 'FACTORY_ADVERTS_BLOCK' ) && FACTORY_ADVERTS_BLOCK ) ) {
24
  return;
25
  }
26
 
27
  # Устанавливаем константу, что модуль уже загружен
28
+ define( 'FACTORY_ADVERTS_106_LOADED', true );
29
 
30
  # Устанавливаем версию модуля
31
+ define( 'FACTORY_ADVERTS_106_VERSION', '1.0.6' );
32
 
33
  # Регистрируем тектовый домен, для интернализации интерфейса модуля
34
+ load_plugin_textdomain( 'wbcr_factory_adverts_106', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
35
 
36
  # Устанавливаем директорию модуля
37
+ define( 'FACTORY_ADVERTS_106_DIR', dirname( __FILE__ ) );
38
 
39
  # Устанавливаем url модуля
40
+ define( 'FACTORY_ADVERTS_106_URL', plugins_url( null, __FILE__ ) );
41
 
42
+ require_once( FACTORY_ADVERTS_106_DIR . '/includes/class-rest-request.php' );
43
+ require_once( FACTORY_ADVERTS_106_DIR . '/includes/class-base.php' );
44
 
45
  /**
46
+ * @param Wbcr_Factory425_Plugin $plugin
47
  */
48
+ add_action( 'wbcr_factory_adverts_106_plugin_created', function ( $plugin ) {
49
+ $plugin->set_adverts_manager( "WBCR\Factory_Adverts_106\Base" );
50
  } );
libs/factory/adverts/includes/class-base.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_104;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -28,7 +28,7 @@ class Base {
28
  *
29
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
  * @since 1.0.1
31
- * @var \Wbcr_Factory422_Plugin
32
  */
33
  private $plugin;
34
 
@@ -53,7 +53,7 @@ class Base {
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  * @since 1.0.1
56
- * @var \WBCR\Factory_Adverts_104\Creative_Motion_API
57
  */
58
  private $api;
59
 
@@ -82,9 +82,9 @@ class Base {
82
  *
83
  * @since 1.0.0 Added
84
  *
85
- * @param \Wbcr_Factory422_Plugin $plugin
86
  */
87
- public function __construct( \Wbcr_Factory422_Plugin $plugin, $settings ) {
88
  $this->plugin = $plugin;
89
 
90
  $this->settings = wp_parse_args( $settings, [
@@ -257,7 +257,7 @@ class Base {
257
  $content = $this->get_debug_message( 'dashboard_widget' );
258
  }
259
 
260
- require_once FACTORY_ADVERTS_104_DIR . '/includes/class-dashboard-widget.php';
261
  new Dashboard_Widget( $this->plugin, $content );
262
  }
263
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_106;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
28
  *
29
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
30
  * @since 1.0.1
31
+ * @var \Wbcr_Factory425_Plugin
32
  */
33
  private $plugin;
34
 
53
  *
54
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
55
  * @since 1.0.1
56
+ * @var \WBCR\Factory_Adverts_106\Creative_Motion_API
57
  */
58
  private $api;
59
 
82
  *
83
  * @since 1.0.0 Added
84
  *
85
+ * @param \Wbcr_Factory425_Plugin $plugin
86
  */
87
+ public function __construct( \Wbcr_Factory425_Plugin $plugin, $settings ) {
88
  $this->plugin = $plugin;
89
 
90
  $this->settings = wp_parse_args( $settings, [
257
  $content = $this->get_debug_message( 'dashboard_widget' );
258
  }
259
 
260
+ require_once FACTORY_ADVERTS_106_DIR . '/includes/class-dashboard-widget.php';
261
  new Dashboard_Widget( $this->plugin, $content );
262
  }
263
  }
libs/factory/adverts/includes/class-dashboard-widget.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_104;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -35,7 +35,7 @@ class Dashboard_Widget {
35
  *
36
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
  * @since 1.0.1
38
- * @var \Wbcr_Factory422_Plugin
39
  */
40
  private $plugin;
41
 
@@ -46,10 +46,10 @@ class Dashboard_Widget {
46
  *
47
  * @since 1.0.0 Added
48
  *
49
- * @param \Wbcr_Factory422_Plugin $plugin
50
  * @param string $content
51
  */
52
- public function __construct( \Wbcr_Factory422_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_106;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
35
  *
36
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
37
  * @since 1.0.1
38
+ * @var \Wbcr_Factory425_Plugin
39
  */
40
  private $plugin;
41
 
46
  *
47
  * @since 1.0.0 Added
48
  *
49
+ * @param \Wbcr_Factory425_Plugin $plugin
50
  * @param string $content
51
  */
52
+ public function __construct( \Wbcr_Factory425_Plugin $plugin, $content ) {
53
 
54
  $this->plugin = $plugin;
55
  $this->content = $content;
libs/factory/adverts/includes/class-rest-request.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Adverts_104;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
@@ -65,7 +65,7 @@ class Creative_Motion_API {
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
- * @var \Wbcr_Factory422_Plugin
69
  */
70
  private $plugin;
71
 
@@ -77,9 +77,9 @@ class Creative_Motion_API {
77
  *
78
  * @since 1.0.0 Added
79
  *
80
- * @param \Wbcr_Factory422_Plugin $plugin_name
81
  */
82
- public function __construct( \Wbcr_Factory422_Plugin $plugin ) {
83
  $this->plugin = $plugin;
84
  }
85
 
@@ -125,7 +125,7 @@ class Creative_Motion_API {
125
  return $this->do_api_request( $position );
126
  }
127
 
128
- $key = $this->plugin->getPrefix() . md5( $position . 'advert_transient_' );
129
 
130
  $cached = get_transient( $key );
131
 
@@ -133,7 +133,7 @@ class Creative_Motion_API {
133
  if ( isset( $cached['error_code'] ) && isset( $cached['error'] ) ) {
134
  return new \WP_Error( $cached['error_code'], $cached['error'] );
135
  }
136
-
137
  return $cached;
138
  }
139
 
@@ -147,8 +147,8 @@ class Creative_Motion_API {
147
 
148
  return $data;
149
  }
150
-
151
- set_transient( $key, $data, $data['expires'] );
152
 
153
  return $data;
154
  }
1
  <?php
2
 
3
+ namespace WBCR\Factory_Adverts_106;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
65
  *
66
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
67
  * @since 1.0.1
68
+ * @var \Wbcr_Factory425_Plugin
69
  */
70
  private $plugin;
71
 
77
  *
78
  * @since 1.0.0 Added
79
  *
80
+ * @param \Wbcr_Factory425_Plugin $plugin_name
81
  */
82
+ public function __construct( \Wbcr_Factory425_Plugin $plugin ) {
83
  $this->plugin = $plugin;
84
  }
85
 
125
  return $this->do_api_request( $position );
126
  }
127
 
128
+ $key = $this->plugin->getPrefix() . md5( $position . 'adverts_transient_' );
129
 
130
  $cached = get_transient( $key );
131
 
133
  if ( isset( $cached['error_code'] ) && isset( $cached['error'] ) ) {
134
  return new \WP_Error( $cached['error_code'], $cached['error'] );
135
  }
136
+
137
  return $cached;
138
  }
139
 
147
 
148
  return $data;
149
  }
150
+
151
+ set_transient( $key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS );
152
 
153
  return $data;
154
  }
libs/factory/adverts/langs/{wbcr_factory_adverts_104-ru_RU.mo → wbcr_factory_adverts_106-ru_RU.mo} RENAMED
File without changes
libs/factory/adverts/langs/{wbcr_factory_adverts_104-ru_RU.po → wbcr_factory_adverts_106-ru_RU.po} RENAMED
File without changes
libs/factory/bootstrap/assets/css-min/bootstrap.accordion.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-423 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-423 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-423 .factory-accordion-item{display:none}.factory-bootstrap-423 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-423 .factory-accordion>h3.active:hover{cursor:default}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-426 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-426 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-426 .factory-accordion-item{display:none}.factory-bootstrap-426 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-426 .factory-accordion>h3.active:hover{cursor:default}
libs/factory/bootstrap/assets/css-min/bootstrap.blue.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}
libs/factory/bootstrap/assets/css-min/bootstrap.coffee.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}
libs/factory/bootstrap/assets/css-min/bootstrap.core.min.css CHANGED
@@ -8,7 +8,7 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 article,.factory-bootstrap-423 aside,.factory-bootstrap-423 details,.factory-bootstrap-423 figcaption,.factory-bootstrap-423 figure,.factory-bootstrap-423 footer,.factory-bootstrap-423 header,.factory-bootstrap-423 hgroup,.factory-bootstrap-423 main,.factory-bootstrap-423 nav,.factory-bootstrap-423 section,.factory-bootstrap-423 summary{display:block}.factory-bootstrap-423 audio,.factory-bootstrap-423 canvas,.factory-bootstrap-423 video{display:inline-block}.factory-bootstrap-423 audio:not([controls]){display:none;height:0}.factory-bootstrap-423 [hidden],.factory-bootstrap-423 template{display:none}.factory-bootstrap-423 body{margin:0}.factory-bootstrap-423 a{background:0 0}.factory-bootstrap-423 a:focus{outline:thin dotted}.factory-bootstrap-423 a:active,.factory-bootstrap-423 a:hover{outline:0}.factory-bootstrap-423 h1{margin:.67em 0}.factory-bootstrap-423 b,.factory-bootstrap-423 strong{font-weight:700}.factory-bootstrap-423 dfn{font-style:italic}.factory-bootstrap-423 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-423 mark{color:#000;background:#ff0}.factory-bootstrap-423 code,.factory-bootstrap-423 kbd,.factory-bootstrap-423 pre,.factory-bootstrap-423 samp{font-size:1em}.factory-bootstrap-423 pre{white-space:pre-wrap}.factory-bootstrap-423 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-423 sub,.factory-bootstrap-423 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-423 sup{top:-.5em}.factory-bootstrap-423 sub{bottom:-.25em}.factory-bootstrap-423 img{border:0}.factory-bootstrap-423 svg:not(:root){overflow:hidden}.factory-bootstrap-423 figure{margin:0}.factory-bootstrap-423 button,.factory-bootstrap-423 input,.factory-bootstrap-423 select,.factory-bootstrap-423 textarea{margin:0}.factory-bootstrap-423 button,.factory-bootstrap-423 select{text-transform:none}.factory-bootstrap-423 select{padding-right:4px!important}.factory-bootstrap-423 button,.factory-bootstrap-423 input[type=reset],.factory-bootstrap-423 input[type=submit],html .factory-bootstrap-423 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-423 button[disabled],html .factory-bootstrap-423 input[disabled]{cursor:default}.factory-bootstrap-423 input[type=checkbox],.factory-bootstrap-423 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-423 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-423 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-423 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-423 button::-moz-focus-inner,.factory-bootstrap-423 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-423 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-423 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-423 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-423 a,.factory-bootstrap-423 a:visited{text-decoration:underline}.factory-bootstrap-423 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-423 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-423 a[href^="javascript:"]:after,.factory-bootstrap-423 a[href^="#"]:after{content:""}.factory-bootstrap-423 blockquote,.factory-bootstrap-423 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-423 thead{display:table-header-group}.factory-bootstrap-423 img,.factory-bootstrap-423 tr{page-break-inside:avoid}.factory-bootstrap-423 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-423 h2,.factory-bootstrap-423 h3,.factory-bootstrap-423 p{orphans:3;widows:3}.factory-bootstrap-423 h2,.factory-bootstrap-423 h3{page-break-after:avoid}.factory-bootstrap-423 select{background:#fff!important}.factory-bootstrap-423 .navbar{display:none}.factory-bootstrap-423 .table td,.factory-bootstrap-423 .table th{background-color:#fff!important}.factory-bootstrap-423 .btn>.caret,.factory-bootstrap-423 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-423 .label{border:1px solid #000}.factory-bootstrap-423 .table{border-collapse:collapse!important}.factory-bootstrap-423 .table-bordered td,.factory-bootstrap-423 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-423 *,.factory-bootstrap-423 :after,.factory-bootstrap-423 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-423{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-423 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-423 button,.factory-bootstrap-423 input,.factory-bootstrap-423 select,.factory-bootstrap-423 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-423 img{vertical-align:middle}.factory-bootstrap-423 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-423 .img-rounded{border-radius:6px}.factory-bootstrap-423 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-423 .img-circle{border-radius:50%}.factory-bootstrap-423 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-423 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-423 .h1,.factory-bootstrap-423 .h2,.factory-bootstrap-423 .h3,.factory-bootstrap-423 .h4,.factory-bootstrap-423 .h5,.factory-bootstrap-423 .h6,.factory-bootstrap-423 h1,.factory-bootstrap-423 h2,.factory-bootstrap-423 h3,.factory-bootstrap-423 h4,.factory-bootstrap-423 h5,.factory-bootstrap-423 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-423 .h1 .small,.factory-bootstrap-423 .h1 small,.factory-bootstrap-423 .h2 .small,.factory-bootstrap-423 .h2 small,.factory-bootstrap-423 .h3 .small,.factory-bootstrap-423 .h3 small,.factory-bootstrap-423 .h4 .small,.factory-bootstrap-423 .h4 small,.factory-bootstrap-423 .h5 .small,.factory-bootstrap-423 .h5 small,.factory-bootstrap-423 .h6 .small,.factory-bootstrap-423 .h6 small,.factory-bootstrap-423 h1 .small,.factory-bootstrap-423 h1 small,.factory-bootstrap-423 h2 .small,.factory-bootstrap-423 h2 small,.factory-bootstrap-423 h3 .small,.factory-bootstrap-423 h3 small,.factory-bootstrap-423 h4 .small,.factory-bootstrap-423 h4 small,.factory-bootstrap-423 h5 .small,.factory-bootstrap-423 h5 small,.factory-bootstrap-423 h6 .small,.factory-bootstrap-423 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-423 h1,.factory-bootstrap-423 h2,.factory-bootstrap-423 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-423 h1 .small,.factory-bootstrap-423 h1 small,.factory-bootstrap-423 h2 .small,.factory-bootstrap-423 h2 small,.factory-bootstrap-423 h3 .small,.factory-bootstrap-423 h3 small{font-size:65%}.factory-bootstrap-423 h4,.factory-bootstrap-423 h5,.factory-bootstrap-423 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-423 h4 .small,.factory-bootstrap-423 h4 small,.factory-bootstrap-423 h5 .small,.factory-bootstrap-423 h5 small,.factory-bootstrap-423 h6 .small,.factory-bootstrap-423 h6 small{font-size:75%}.factory-bootstrap-423 .h1,.factory-bootstrap-423 h1{font-size:36px}.factory-bootstrap-423 .h2,.factory-bootstrap-423 h2{font-size:30px}.factory-bootstrap-423 .h3,.factory-bootstrap-423 h3{font-size:24px}.factory-bootstrap-423 .h4,.factory-bootstrap-423 h4{font-size:18px}.factory-bootstrap-423 .h5,.factory-bootstrap-423 h5{font-size:14px}.factory-bootstrap-423 .h6,.factory-bootstrap-423 h6{font-size:12px}.factory-bootstrap-423 p{margin:0 0 10px}.factory-bootstrap-423 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-423 .small,.factory-bootstrap-423 small{font-size:85%}.factory-bootstrap-423 cite{font-style:normal}.factory-bootstrap-423 .text-muted{color:#999}.factory-bootstrap-423 .text-primary{color:#428bca}.factory-bootstrap-423 .text-primary:hover{color:#3071a9}.factory-bootstrap-423 .text-warning{color:#8a6d3b}.factory-bootstrap-423 .text-warning:hover{color:#66512c}.factory-bootstrap-423 .text-danger{color:#a94442}.factory-bootstrap-423 .text-danger:hover{color:#843534}.factory-bootstrap-423 .text-success{color:#3c763d}.factory-bootstrap-423 .text-success:hover{color:#2b542c}.factory-bootstrap-423 .text-info{color:#31708f}.factory-bootstrap-423 .text-info:hover{color:#245269}.factory-bootstrap-423 .text-left{text-align:left}.factory-bootstrap-423 .text-right{text-align:right}.factory-bootstrap-423 .text-center{text-align:center}.factory-bootstrap-423 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-423 ol,.factory-bootstrap-423 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-423 ol ol,.factory-bootstrap-423 ol ul,.factory-bootstrap-423 ul ol,.factory-bootstrap-423 ul ul{margin-bottom:0}.factory-bootstrap-423 .list-inline,.factory-bootstrap-423 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-423 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-423 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-423 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-423 dd,.factory-bootstrap-423 dt{line-height:1.428571429}.factory-bootstrap-423 dt{font-weight:700}.factory-bootstrap-423 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-423 abbr[data-original-title],.factory-bootstrap-423 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-423 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-423 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-423 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-423 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-423 blockquote .small,.factory-bootstrap-423 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-423 blockquote .small:before,.factory-bootstrap-423 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-423 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-423 blockquote.pull-right .small,.factory-bootstrap-423 blockquote.pull-right p,.factory-bootstrap-423 blockquote.pull-right small{text-align:right}.factory-bootstrap-423 blockquote.pull-right .small:before,.factory-bootstrap-423 blockquote.pull-right small:before{content:''}.factory-bootstrap-423 blockquote.pull-right .small:after,.factory-bootstrap-423 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-423 blockquote:after,.factory-bootstrap-423 blockquote:before{content:""}.factory-bootstrap-423 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-423 code,.factory-bootstrap-423 kbd,.factory-bootstrap-423 pre,.factory-bootstrap-423 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-423 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-423 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-423 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-423 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-423 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-423 .container:after,.factory-bootstrap-423 .container:before{display:table;content:" "}.factory-bootstrap-423 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-423 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-423 .row:after,.factory-bootstrap-423 .row:before{display:table;content:" "}.factory-bootstrap-423 .row:after{clear:both}.factory-bootstrap-423 .col-lg-1,.factory-bootstrap-423 .col-lg-10,.factory-bootstrap-423 .col-lg-11,.factory-bootstrap-423 .col-lg-12,.factory-bootstrap-423 .col-lg-2,.factory-bootstrap-423 .col-lg-3,.factory-bootstrap-423 .col-lg-4,.factory-bootstrap-423 .col-lg-5,.factory-bootstrap-423 .col-lg-6,.factory-bootstrap-423 .col-lg-7,.factory-bootstrap-423 .col-lg-8,.factory-bootstrap-423 .col-lg-9,.factory-bootstrap-423 .col-md-1,.factory-bootstrap-423 .col-md-10,.factory-bootstrap-423 .col-md-11,.factory-bootstrap-423 .col-md-12,.factory-bootstrap-423 .col-md-2,.factory-bootstrap-423 .col-md-3,.factory-bootstrap-423 .col-md-4,.factory-bootstrap-423 .col-md-5,.factory-bootstrap-423 .col-md-6,.factory-bootstrap-423 .col-md-7,.factory-bootstrap-423 .col-md-8,.factory-bootstrap-423 .col-md-9,.factory-bootstrap-423 .col-sm-1,.factory-bootstrap-423 .col-sm-10,.factory-bootstrap-423 .col-sm-11,.factory-bootstrap-423 .col-sm-12,.factory-bootstrap-423 .col-sm-2,.factory-bootstrap-423 .col-sm-3,.factory-bootstrap-423 .col-sm-4,.factory-bootstrap-423 .col-sm-5,.factory-bootstrap-423 .col-sm-6,.factory-bootstrap-423 .col-sm-7,.factory-bootstrap-423 .col-sm-8,.factory-bootstrap-423 .col-sm-9,.factory-bootstrap-423 .col-xs-1,.factory-bootstrap-423 .col-xs-10,.factory-bootstrap-423 .col-xs-11,.factory-bootstrap-423 .col-xs-12,.factory-bootstrap-423 .col-xs-2,.factory-bootstrap-423 .col-xs-3,.factory-bootstrap-423 .col-xs-4,.factory-bootstrap-423 .col-xs-5,.factory-bootstrap-423 .col-xs-6,.factory-bootstrap-423 .col-xs-7,.factory-bootstrap-423 .col-xs-8,.factory-bootstrap-423 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-423 .col-xs-1,.factory-bootstrap-423 .col-xs-10,.factory-bootstrap-423 .col-xs-11,.factory-bootstrap-423 .col-xs-12,.factory-bootstrap-423 .col-xs-2,.factory-bootstrap-423 .col-xs-3,.factory-bootstrap-423 .col-xs-4,.factory-bootstrap-423 .col-xs-5,.factory-bootstrap-423 .col-xs-6,.factory-bootstrap-423 .col-xs-7,.factory-bootstrap-423 .col-xs-8,.factory-bootstrap-423 .col-xs-9{float:left}.factory-bootstrap-423 .col-xs-12{width:100%}.factory-bootstrap-423 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-423 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-423 .col-xs-9{width:75%}.factory-bootstrap-423 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-423 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-423 .col-xs-6{width:50%}.factory-bootstrap-423 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-423 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-423 .col-xs-3{width:25%}.factory-bootstrap-423 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-423 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-423 .col-xs-pull-12{right:100%}.factory-bootstrap-423 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-423 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-423 .col-xs-pull-9{right:75%}.factory-bootstrap-423 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-423 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-423 .col-xs-pull-6{right:50%}.factory-bootstrap-423 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-423 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-423 .col-xs-pull-3{right:25%}.factory-bootstrap-423 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-423 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-423 .col-xs-pull-0{right:0}.factory-bootstrap-423 .col-xs-push-12{left:100%}.factory-bootstrap-423 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-423 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-423 .col-xs-push-9{left:75%}.factory-bootstrap-423 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-423 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-423 .col-xs-push-6{left:50%}.factory-bootstrap-423 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-423 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-423 .col-xs-push-3{left:25%}.factory-bootstrap-423 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-423 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-423 .col-xs-push-0{left:0}.factory-bootstrap-423 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-423 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-423 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-423 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-423 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-423 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-423 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-423 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-423 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-423 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-423 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-423 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-423 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-423 table{max-width:100%;background-color:transparent}.factory-bootstrap-423 th{text-align:left}.factory-bootstrap-423 .table{width:100%;margin-bottom:20px}.factory-bootstrap-423 .table>tbody>tr>td,.factory-bootstrap-423 .table>tbody>tr>th,.factory-bootstrap-423 .table>tfoot>tr>td,.factory-bootstrap-423 .table>tfoot>tr>th,.factory-bootstrap-423 .table>thead>tr>td,.factory-bootstrap-423 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-423 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-423 .table>caption+thead>tr:first-child>td,.factory-bootstrap-423 .table>caption+thead>tr:first-child>th,.factory-bootstrap-423 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-423 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-423 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-423 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-423 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-423 .table .table{background-color:#fff}.factory-bootstrap-423 .table-condensed>tbody>tr>td,.factory-bootstrap-423 .table-condensed>tbody>tr>th,.factory-bootstrap-423 .table-condensed>tfoot>tr>td,.factory-bootstrap-423 .table-condensed>tfoot>tr>th,.factory-bootstrap-423 .table-condensed>thead>tr>td,.factory-bootstrap-423 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-423 .table-bordered,.factory-bootstrap-423 .table-bordered>tbody>tr>td,.factory-bootstrap-423 .table-bordered>tbody>tr>th,.factory-bootstrap-423 .table-bordered>tfoot>tr>td,.factory-bootstrap-423 .table-bordered>tfoot>tr>th,.factory-bootstrap-423 .table-bordered>thead>tr>td,.factory-bootstrap-423 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-423 .table-bordered>thead>tr>td,.factory-bootstrap-423 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-423 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-423 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-423 .table-hover>tbody>tr:hover>td,.factory-bootstrap-423 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-423 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-423 table td[class*=col-],.factory-bootstrap-423 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-423 .table>tbody>.active>td,.factory-bootstrap-423 .table>tbody>.active>th,.factory-bootstrap-423 .table>tbody>tr>.active,.factory-bootstrap-423 .table>tfoot>.active>td,.factory-bootstrap-423 .table>tfoot>.active>th,.factory-bootstrap-423 .table>tfoot>tr>.active,.factory-bootstrap-423 .table>thead>.active>td,.factory-bootstrap-423 .table>thead>.active>th,.factory-bootstrap-423 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-423 .table-hover>tbody>.active:hover>td,.factory-bootstrap-423 .table-hover>tbody>.active:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-423 .table>tbody>.success>td,.factory-bootstrap-423 .table>tbody>.success>th,.factory-bootstrap-423 .table>tbody>tr>.success,.factory-bootstrap-423 .table>tfoot>.success>td,.factory-bootstrap-423 .table>tfoot>.success>th,.factory-bootstrap-423 .table>tfoot>tr>.success,.factory-bootstrap-423 .table>thead>.success>td,.factory-bootstrap-423 .table>thead>.success>th,.factory-bootstrap-423 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-423 .table-hover>tbody>.success:hover>td,.factory-bootstrap-423 .table-hover>tbody>.success:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-423 .table>tbody>.danger>td,.factory-bootstrap-423 .table>tbody>.danger>th,.factory-bootstrap-423 .table>tbody>tr>.danger,.factory-bootstrap-423 .table>tfoot>.danger>td,.factory-bootstrap-423 .table>tfoot>.danger>th,.factory-bootstrap-423 .table>tfoot>tr>.danger,.factory-bootstrap-423 .table>thead>.danger>td,.factory-bootstrap-423 .table>thead>.danger>th,.factory-bootstrap-423 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-423 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-423 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-423 .table>tbody>.warning>td,.factory-bootstrap-423 .table>tbody>.warning>th,.factory-bootstrap-423 .table>tbody>tr>.warning,.factory-bootstrap-423 .table>tfoot>.warning>td,.factory-bootstrap-423 .table>tfoot>.warning>th,.factory-bootstrap-423 .table>tfoot>tr>.warning,.factory-bootstrap-423 .table>thead>.warning>td,.factory-bootstrap-423 .table>thead>.warning>th,.factory-bootstrap-423 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-423 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-423 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-423 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-423 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-423 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-423 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-423 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-423 input[type=checkbox],.factory-bootstrap-423 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-423 input[type=file]{display:block}.factory-bootstrap-423 select[multiple],.factory-bootstrap-423 select[size]{height:auto}.factory-bootstrap-423 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-423 input[type=checkbox]:focus,.factory-bootstrap-423 input[type=file]:focus,.factory-bootstrap-423 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-423 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-423 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-423 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-423 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-423 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-423 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-423 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-423 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-423 .form-control[disabled],.factory-bootstrap-423 .form-control[readonly],.factory-bootstrap-423 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-423 textarea.form-control{height:auto}.factory-bootstrap-423 .form-group{margin-bottom:15px}.factory-bootstrap-423 .checkbox,.factory-bootstrap-423 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-423 .checkbox label,.factory-bootstrap-423 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-423 .checkbox input[type=checkbox],.factory-bootstrap-423 .checkbox-inline input[type=checkbox],.factory-bootstrap-423 .radio input[type=radio],.factory-bootstrap-423 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-423 .checkbox+.checkbox,.factory-bootstrap-423 .radio+.radio{margin-top:-5px}.factory-bootstrap-423 .checkbox-inline,.factory-bootstrap-423 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-423 .checkbox-inline+.checkbox-inline,.factory-bootstrap-423 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-423 .checkbox-inline[disabled],.factory-bootstrap-423 .checkbox[disabled],.factory-bootstrap-423 .radio-inline[disabled],.factory-bootstrap-423 .radio[disabled],.factory-bootstrap-423 fieldset[disabled] .checkbox,.factory-bootstrap-423 fieldset[disabled] .checkbox-inline,.factory-bootstrap-423 fieldset[disabled] .radio,.factory-bootstrap-423 fieldset[disabled] .radio-inline,.factory-bootstrap-423 fieldset[disabled] input[type=checkbox],.factory-bootstrap-423 fieldset[disabled] input[type=radio],.factory-bootstrap-423 input[type=checkbox][disabled],.factory-bootstrap-423 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-423 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-423 textarea.input-sm{height:auto}.factory-bootstrap-423 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-423 textarea.input-lg{height:auto}.factory-bootstrap-423 .has-warning .checkbox,.factory-bootstrap-423 .has-warning .checkbox-inline,.factory-bootstrap-423 .has-warning .control-label,.factory-bootstrap-423 .has-warning .help-block,.factory-bootstrap-423 .has-warning .radio,.factory-bootstrap-423 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-423 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-423 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-423 .has-error .checkbox,.factory-bootstrap-423 .has-error .checkbox-inline,.factory-bootstrap-423 .has-error .control-label,.factory-bootstrap-423 .has-error .help-block,.factory-bootstrap-423 .has-error .radio,.factory-bootstrap-423 .has-error .radio-inline{color:#a94442}.factory-bootstrap-423 .controls{display:block}.factory-bootstrap-423 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-423 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-423 .has-success .checkbox,.factory-bootstrap-423 .has-success .checkbox-inline,.factory-bootstrap-423 .has-success .control-label,.factory-bootstrap-423 .has-success .help-block,.factory-bootstrap-423 .has-success .radio,.factory-bootstrap-423 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-423 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-423 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-423 .form-control-static{margin-bottom:0}.factory-bootstrap-423 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-423 .form-horizontal .checkbox,.factory-bootstrap-423 .form-horizontal .checkbox-inline,.factory-bootstrap-423 .form-horizontal .control-label,.factory-bootstrap-423 .form-horizontal .radio,.factory-bootstrap-423 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-423 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-423 .form-horizontal .checkbox,.factory-bootstrap-423 .form-horizontal .radio{min-height:27px}.factory-bootstrap-423 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-423 .form-horizontal .form-group:after,.factory-bootstrap-423 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-423 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-423 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-423 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-423 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-423 .btn{text-decoration:none}.factory-bootstrap-423 .btn:focus,.factory-bootstrap-423 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-423 .btn.disabled,.factory-bootstrap-423 .btn[disabled],.factory-bootstrap-423 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .btn-default:focus,.factory-bootstrap-423 .btn-default:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-423 .btn-default.disabled,.factory-bootstrap-423 .btn-default.disabled.active,.factory-bootstrap-423 .btn-default.disabled:active,.factory-bootstrap-423 .btn-default.disabled:focus,.factory-bootstrap-423 .btn-default.disabled:hover,.factory-bootstrap-423 .btn-default[disabled],.factory-bootstrap-423 .btn-default[disabled].active,.factory-bootstrap-423 .btn-default[disabled]:active,.factory-bootstrap-423 .btn-default[disabled]:focus,.factory-bootstrap-423 .btn-default[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-default,.factory-bootstrap-423 fieldset[disabled] .btn-default.active,.factory-bootstrap-423 fieldset[disabled] .btn-default:active,.factory-bootstrap-423 fieldset[disabled] .btn-default:focus,.factory-bootstrap-423 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-423 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-423 .btn-primary.disabled,.factory-bootstrap-423 .btn-primary.disabled.active,.factory-bootstrap-423 .btn-primary.disabled:active,.factory-bootstrap-423 .btn-primary.disabled:focus,.factory-bootstrap-423 .btn-primary.disabled:hover,.factory-bootstrap-423 .btn-primary[disabled],.factory-bootstrap-423 .btn-primary[disabled].active,.factory-bootstrap-423 .btn-primary[disabled]:active,.factory-bootstrap-423 .btn-primary[disabled]:focus,.factory-bootstrap-423 .btn-primary[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-primary,.factory-bootstrap-423 fieldset[disabled] .btn-primary.active,.factory-bootstrap-423 fieldset[disabled] .btn-primary:active,.factory-bootstrap-423 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-423 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-423 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-423 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active,.factory-bootstrap-423 .btn-warning:focus,.factory-bootstrap-423 .btn-warning:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-423 .btn-warning.disabled,.factory-bootstrap-423 .btn-warning.disabled.active,.factory-bootstrap-423 .btn-warning.disabled:active,.factory-bootstrap-423 .btn-warning.disabled:focus,.factory-bootstrap-423 .btn-warning.disabled:hover,.factory-bootstrap-423 .btn-warning[disabled],.factory-bootstrap-423 .btn-warning[disabled].active,.factory-bootstrap-423 .btn-warning[disabled]:active,.factory-bootstrap-423 .btn-warning[disabled]:focus,.factory-bootstrap-423 .btn-warning[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-warning,.factory-bootstrap-423 fieldset[disabled] .btn-warning.active,.factory-bootstrap-423 fieldset[disabled] .btn-warning:active,.factory-bootstrap-423 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-423 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-423 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-423 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .btn-success:focus,.factory-bootstrap-423 .btn-success:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-423 .btn-success.disabled,.factory-bootstrap-423 .btn-success.disabled.active,.factory-bootstrap-423 .btn-success.disabled:active,.factory-bootstrap-423 .btn-success.disabled:focus,.factory-bootstrap-423 .btn-success.disabled:hover,.factory-bootstrap-423 .btn-success[disabled],.factory-bootstrap-423 .btn-success[disabled].active,.factory-bootstrap-423 .btn-success[disabled]:active,.factory-bootstrap-423 .btn-success[disabled]:focus,.factory-bootstrap-423 .btn-success[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-success,.factory-bootstrap-423 fieldset[disabled] .btn-success.active,.factory-bootstrap-423 fieldset[disabled] .btn-success:active,.factory-bootstrap-423 fieldset[disabled] .btn-success:focus,.factory-bootstrap-423 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-423 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-423 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .btn-info:focus,.factory-bootstrap-423 .btn-info:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-423 .btn-info.disabled,.factory-bootstrap-423 .btn-info.disabled.active,.factory-bootstrap-423 .btn-info.disabled:active,.factory-bootstrap-423 .btn-info.disabled:focus,.factory-bootstrap-423 .btn-info.disabled:hover,.factory-bootstrap-423 .btn-info[disabled],.factory-bootstrap-423 .btn-info[disabled].active,.factory-bootstrap-423 .btn-info[disabled]:active,.factory-bootstrap-423 .btn-info[disabled]:focus,.factory-bootstrap-423 .btn-info[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-info,.factory-bootstrap-423 fieldset[disabled] .btn-info.active,.factory-bootstrap-423 fieldset[disabled] .btn-info:active,.factory-bootstrap-423 fieldset[disabled] .btn-info:focus,.factory-bootstrap-423 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-423 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-423 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-423 .btn-link,.factory-bootstrap-423 .btn-link:active,.factory-bootstrap-423 .btn-link[disabled],.factory-bootstrap-423 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-link,.factory-bootstrap-423 .btn-link:active,.factory-bootstrap-423 .btn-link:focus,.factory-bootstrap-423 .btn-link:hover{border-color:transparent}.factory-bootstrap-423 .btn-link:focus,.factory-bootstrap-423 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-423 .btn-link[disabled]:focus,.factory-bootstrap-423 .btn-link[disabled]:hover,.factory-bootstrap-423 fieldset[disabled] .btn-link:focus,.factory-bootstrap-423 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-423 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-423 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-423 input[type=button].btn-block,.factory-bootstrap-423 input[type=reset].btn-block,.factory-bootstrap-423 input[type=submit].btn-block{width:100%}.factory-bootstrap-423 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-423 .fade.in{opacity:1}.factory-bootstrap-423 .collapse{display:none}.factory-bootstrap-423 .collapse.in{display:block}.factory-bootstrap-423 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-423 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-423 .glyphicon:empty{width:1em}.factory-bootstrap-423 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-423 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-423 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-423 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-423 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-423 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-423 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-423 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-423 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-423 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-423 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-423 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-423 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-423 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-423 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-423 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-423 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-423 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-423 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-423 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-423 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-423 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-423 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-423 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-423 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-423 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-423 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-423 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-423 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-423 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-423 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-423 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-423 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-423 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-423 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-423 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-423 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-423 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-423 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-423 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-423 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-423 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-423 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-423 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-423 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-423 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-423 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-423 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-423 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-423 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-423 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-423 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-423 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-423 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-423 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-423 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-423 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-423 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-423 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-423 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-423 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-423 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-423 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-423 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-423 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-423 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-423 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-423 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-423 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-423 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-423 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-423 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-423 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-423 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-423 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-423 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-423 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-423 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-423 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-423 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-423 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-423 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-423 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-423 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-423 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-423 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-423 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-423 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-423 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-423 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-423 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-423 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-423 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-423 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-423 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-423 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-423 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-423 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-423 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-423 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-423 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-423 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-423 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-423 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-423 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-423 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-423 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-423 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-423 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-423 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-423 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-423 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-423 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-423 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-423 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-423 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-423 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-423 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-423 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-423 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-423 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-423 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-423 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-423 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-423 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-423 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-423 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-423 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-423 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-423 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-423 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-423 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-423 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-423 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-423 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-423 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-423 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-423 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-423 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-423 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-423 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-423 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-423 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-423 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-423 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-423 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-423 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-423 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-423 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-423 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-423 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-423 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-423 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-423 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-423 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-423 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-423 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-423 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-423 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-423 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-423 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-423 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-423 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-423 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-423 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-423 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-423 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-423 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-423 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-423 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-423 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-423 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-423 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-423 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-423 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-423 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-423 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-423 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-423 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-423 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-423 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-423 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-423 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-423 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-423 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-423 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-423 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-423 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-423 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-423 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-423 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-423 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-423 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-423 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-423 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-423 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-423 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-423 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-423 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-423 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-423 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-423 .dropdown{position:relative}.factory-bootstrap-423 .dropdown-toggle:focus{outline:0}.factory-bootstrap-423 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-423 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-423 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-423 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-423 .dropdown-menu>li>a:focus,.factory-bootstrap-423 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-423 .dropdown-menu>.active>a,.factory-bootstrap-423 .dropdown-menu>.active>a:focus,.factory-bootstrap-423 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-423 .dropdown-menu>.disabled>a,.factory-bootstrap-423 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-423 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-423 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-423 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .open>.dropdown-menu{display:block}.factory-bootstrap-423 .open>a{outline:0}.factory-bootstrap-423 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-423 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-423 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-423 .dropup .caret,.factory-bootstrap-423 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-423 .dropup .dropdown-menu,.factory-bootstrap-423 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-423 .btn-group,.factory-bootstrap-423 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-423 .btn-group-vertical>.btn,.factory-bootstrap-423 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-423 .btn-group-vertical>.btn.active,.factory-bootstrap-423 .btn-group-vertical>.btn:active,.factory-bootstrap-423 .btn-group-vertical>.btn:focus,.factory-bootstrap-423 .btn-group-vertical>.btn:hover,.factory-bootstrap-423 .btn-group>.btn.active,.factory-bootstrap-423 .btn-group>.btn:active,.factory-bootstrap-423 .btn-group>.btn:focus,.factory-bootstrap-423 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-423 .btn-group-vertical>.btn:focus,.factory-bootstrap-423 .btn-group>.btn:focus{outline:0}.factory-bootstrap-423 .btn-group .btn+.btn,.factory-bootstrap-423 .btn-group .btn+.btn-group,.factory-bootstrap-423 .btn-group .btn-group+.btn,.factory-bootstrap-423 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-423 .btn-toolbar:after,.factory-bootstrap-423 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-423 .btn-toolbar:after{clear:both}.factory-bootstrap-423 .btn-toolbar .btn-group{float:left}.factory-bootstrap-423 .btn-toolbar>.btn+.btn,.factory-bootstrap-423 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-423 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-423 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-423 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-423 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-423 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-423 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group>.btn-group{float:left}.factory-bootstrap-423 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-423 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-423 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group .dropdown-toggle:active,.factory-bootstrap-423 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-423 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-423 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-423 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-423 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-423 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-423 .btn .caret{margin-left:0}.factory-bootstrap-423 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-423 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-423 .btn-group-vertical>.btn,.factory-bootstrap-423 .btn-group-vertical>.btn-group,.factory-bootstrap-423 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-423 .btn-group-vertical>.btn-group:after,.factory-bootstrap-423 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-423 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-423 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-423 .btn-group-vertical>.btn+.btn,.factory-bootstrap-423 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-423 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-423 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-423 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-423 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-423 .btn-group-justified>.btn,.factory-bootstrap-423 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-423 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-423 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-423 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-423 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-423 .input-group-lg>.form-control,.factory-bootstrap-423 .input-group-lg>.input-group-addon,.factory-bootstrap-423 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-423 select.input-group-lg>.form-control,.factory-bootstrap-423 select.input-group-lg>.input-group-addon,.factory-bootstrap-423 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-423 textarea.input-group-lg>.form-control,.factory-bootstrap-423 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-423 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-423 .input-group-sm>.form-control,.factory-bootstrap-423 .input-group-sm>.input-group-addon,.factory-bootstrap-423 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-423 select.input-group-sm>.form-control,.factory-bootstrap-423 select.input-group-sm>.input-group-addon,.factory-bootstrap-423 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-423 textarea.input-group-sm>.form-control,.factory-bootstrap-423 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-423 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-423 .input-group .form-control,.factory-bootstrap-423 .input-group-addon,.factory-bootstrap-423 .input-group-btn{display:table-cell}.factory-bootstrap-423 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-423 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-423 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-423 .input-group-addon,.factory-bootstrap-423 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-423 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-423 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-423 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-423 .input-group-addon input[type=checkbox],.factory-bootstrap-423 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-423 .input-group .form-control:first-child,.factory-bootstrap-423 .input-group-addon:first-child,.factory-bootstrap-423 .input-group-btn:first-child>.btn,.factory-bootstrap-423 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-423 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-423 .input-group-addon:first-child{border-right:0}.factory-bootstrap-423 .input-group .form-control:last-child,.factory-bootstrap-423 .input-group-addon:last-child,.factory-bootstrap-423 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-423 .input-group-btn:last-child>.btn,.factory-bootstrap-423 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .input-group-addon:last-child{border-left:0}.factory-bootstrap-423 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-423 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-423 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-423 .input-group-btn>.btn{position:relative}.factory-bootstrap-423 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-423 .input-group-btn>.btn:active,.factory-bootstrap-423 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-423 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-423 .nav:after,.factory-bootstrap-423 .nav:before{display:table;content:" "}.factory-bootstrap-423 .nav:after{clear:both}.factory-bootstrap-423 .nav>li{position:relative;display:block}.factory-bootstrap-423 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-423 .nav>li>a:focus,.factory-bootstrap-423 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-423 .nav>li.disabled>a{color:#999}.factory-bootstrap-423 .nav>li.disabled>a:focus,.factory-bootstrap-423 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-423 .nav .open>a,.factory-bootstrap-423 .nav .open>a:focus,.factory-bootstrap-423 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-423 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-423 .nav>li>a>img{max-width:none}.factory-bootstrap-423 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-423 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-423 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-423 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-423 .nav-tabs>li.active>a,.factory-bootstrap-423 .nav-tabs>li.active>a:focus,.factory-bootstrap-423 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-423 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-423 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-423 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-423 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-423 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-423 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-423 .nav-pills>li{float:left}.factory-bootstrap-423 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-423 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-423 .nav-pills>li.active>a,.factory-bootstrap-423 .nav-pills>li.active>a:focus,.factory-bootstrap-423 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-423 .nav-stacked>li{float:none}.factory-bootstrap-423 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-423 .nav-justified{width:100%}.factory-bootstrap-423 .nav-justified>li{float:none}.factory-bootstrap-423 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-423 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-423 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-423 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-423 .nav-tabs-justified>.active>a,.factory-bootstrap-423 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-423 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-423 .tab-content>.tab-pane{display:none}.factory-bootstrap-423 .tab-content>.active{display:block}.factory-bootstrap-423 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-423 .navbar:after,.factory-bootstrap-423 .navbar:before{display:table;content:" "}.factory-bootstrap-423 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-423 .navbar-header:after,.factory-bootstrap-423 .navbar-header:before{display:table;content:" "}.factory-bootstrap-423 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-423 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-423 .navbar-collapse:after,.factory-bootstrap-423 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-423 .navbar-collapse:after{clear:both}.factory-bootstrap-423 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-423 .container>.navbar-collapse,.factory-bootstrap-423 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-423 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-423 .navbar-fixed-bottom,.factory-bootstrap-423 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-423 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-423 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-423 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-423 .navbar-brand:focus,.factory-bootstrap-423 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-423 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-423 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-423 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-423 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-423 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-423 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-423 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-423 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-423 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-423 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-423 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-423 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-423 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-423 .navbar-default .navbar-brand:focus,.factory-bootstrap-423 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-nav>li>a,.factory-bootstrap-423 .navbar-default .navbar-text{color:#777}.factory-bootstrap-423 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-423 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-423 .navbar-default .navbar-toggle:focus,.factory-bootstrap-423 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-423 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-423 .navbar-default .navbar-collapse,.factory-bootstrap-423 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-423 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-423 .navbar-default .navbar-link{color:#777}.factory-bootstrap-423 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-423 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-423 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-423 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-423 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-423 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-423 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-423 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-423 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-423 .navbar-inverse .navbar-collapse,.factory-bootstrap-423 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-423 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-423 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-423 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-423 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-423 .breadcrumb>li{display:inline-block}.factory-bootstrap-423 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-423 .breadcrumb>.active{color:#999}.factory-bootstrap-423 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-423 .pagination>li{display:inline}.factory-bootstrap-423 .pagination>li>a,.factory-bootstrap-423 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-423 .pagination>li:first-child>a,.factory-bootstrap-423 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-423 .pagination>li:last-child>a,.factory-bootstrap-423 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-423 .pagination>li>a:focus,.factory-bootstrap-423 .pagination>li>a:hover,.factory-bootstrap-423 .pagination>li>span:focus,.factory-bootstrap-423 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-423 .pagination>.disabled>a,.factory-bootstrap-423 .pagination>.disabled>a:focus,.factory-bootstrap-423 .pagination>.disabled>a:hover,.factory-bootstrap-423 .pagination>.disabled>span,.factory-bootstrap-423 .pagination>.disabled>span:focus,.factory-bootstrap-423 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-423 .pagination-lg>li>a,.factory-bootstrap-423 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-423 .pagination-lg>li:first-child>a,.factory-bootstrap-423 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-423 .pagination-lg>li:last-child>a,.factory-bootstrap-423 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-423 .pagination-sm>li>a,.factory-bootstrap-423 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-423 .pagination-sm>li:first-child>a,.factory-bootstrap-423 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-423 .pagination-sm>li:last-child>a,.factory-bootstrap-423 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-423 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-423 .pager:after,.factory-bootstrap-423 .pager:before{display:table;content:" "}.factory-bootstrap-423 .pager:after{clear:both}.factory-bootstrap-423 .pager li{display:inline}.factory-bootstrap-423 .pager li>a,.factory-bootstrap-423 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-423 .pager li>a:focus,.factory-bootstrap-423 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-423 .pager .next>a,.factory-bootstrap-423 .pager .next>span{float:right}.factory-bootstrap-423 .pager .previous>a,.factory-bootstrap-423 .pager .previous>span{float:left}.factory-bootstrap-423 .pager .disabled>a,.factory-bootstrap-423 .pager .disabled>a:focus,.factory-bootstrap-423 .pager .disabled>a:hover,.factory-bootstrap-423 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-423 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-423 .label[href]:focus,.factory-bootstrap-423 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-423 .label:empty{display:none}.factory-bootstrap-423 .btn .label{position:relative;top:-1px}.factory-bootstrap-423 .label-default{background-color:#999}.factory-bootstrap-423 .label-default[href]:focus,.factory-bootstrap-423 .label-default[href]:hover{background-color:gray}.factory-bootstrap-423 .label-primary{background-color:#428bca}.factory-bootstrap-423 .label-primary[href]:focus,.factory-bootstrap-423 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-423 .label-success{background-color:#5cb85c}.factory-bootstrap-423 .label-success[href]:focus,.factory-bootstrap-423 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-423 .label-info{background-color:#5bc0de}.factory-bootstrap-423 .label-info[href]:focus,.factory-bootstrap-423 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-423 .label-warning{background-color:#f0ad4e}.factory-bootstrap-423 .label-warning[href]:focus,.factory-bootstrap-423 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-423 .label-danger{background-color:#d9534f}.factory-bootstrap-423 .label-danger[href]:focus,.factory-bootstrap-423 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-423 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-423 .badge:empty{display:none}.factory-bootstrap-423 .btn .badge{position:relative;top:-1px}.factory-bootstrap-423 a.badge:focus,.factory-bootstrap-423 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-423 .nav-pills>.active>a>.badge,.factory-bootstrap-423 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-423 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-423 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-423 .jumbotron .h1,.factory-bootstrap-423 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-423 .jumbotron p{line-height:1.4}.factory-bootstrap-423 .container .jumbotron{border-radius:6px}.factory-bootstrap-423 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-423 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-423 .thumbnail a>img,.factory-bootstrap-423 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-423 a.thumbnail.active,.factory-bootstrap-423 a.thumbnail:focus,.factory-bootstrap-423 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-423 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-423 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-423 .alert .alert-link{font-weight:700}.factory-bootstrap-423 .alert>p,.factory-bootstrap-423 .alert>ul{margin-bottom:0}.factory-bootstrap-423 .alert>p+p{margin-top:5px}.factory-bootstrap-423 .alert-dismissable{padding-right:35px}.factory-bootstrap-423 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-423 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-423 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-423 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-423 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-423 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-423 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-423 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-423 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-423 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-423 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-423 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-423 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-423 .media,.factory-bootstrap-423 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-423 .media,.factory-bootstrap-423 .media .media{margin-top:15px}.factory-bootstrap-423 .media:first-child{margin-top:0}.factory-bootstrap-423 .media-object{display:block}.factory-bootstrap-423 .media-heading{margin:0 0 5px}.factory-bootstrap-423 .media>.pull-left{margin-right:10px}.factory-bootstrap-423 .media>.pull-right{margin-left:10px}.factory-bootstrap-423 .media-list{padding-left:0;list-style:none}.factory-bootstrap-423 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-423 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-423 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-423 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-423 .list-group-item>.badge{float:right}.factory-bootstrap-423 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-423 a.list-group-item{color:#555}.factory-bootstrap-423 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-423 a.list-group-item:focus,.factory-bootstrap-423 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-423 a.list-group-item.active,.factory-bootstrap-423 a.list-group-item.active:focus,.factory-bootstrap-423 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-423 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-423 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-423 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-423 a.list-group-item.active .list-group-item-text,.factory-bootstrap-423 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-423 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-423 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-423 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-423 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-423 .panel-body{padding:15px}.factory-bootstrap-423 .panel-body:after,.factory-bootstrap-423 .panel-body:before{display:table;content:" "}.factory-bootstrap-423 .panel-body:after{clear:both}.factory-bootstrap-423 .panel>.list-group{margin-bottom:0}.factory-bootstrap-423 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-423 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-423 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-423 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-423 .panel>.table,.factory-bootstrap-423 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-423 .panel>.panel-body+.table,.factory-bootstrap-423 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-423 .panel>.table>tbody:first-child td,.factory-bootstrap-423 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-423 .panel>.table-bordered,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-423 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-423 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-423 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-423 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-423 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-423 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-423 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-423 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-423 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-423 .panel-title>a{color:inherit}.factory-bootstrap-423 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-423 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-423 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-423 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-423 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-423 .panel-group .panel-footer{border-top:0}.factory-bootstrap-423 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-423 .panel-default{border-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-423 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-423 .panel-primary{border-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-423 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-423 .panel-success{border-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-423 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-423 .panel-warning{border-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-423 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-423 .panel-danger{border-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-423 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-423 .panel-info{border-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-423 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-423 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-423 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-423 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-423 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-423 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-423 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-423 .close:focus,.factory-bootstrap-423 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-423 .modal-open{overflow:hidden}.factory-bootstrap-423 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-423 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-423 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-423 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-423 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-423 .modal-backdrop,.factory-bootstrap-423-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-423 .modal-backdrop.fade,.factory-bootstrap-423-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-423 .modal-backdrop.in,.factory-bootstrap-423-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-423 .modal-header .close{margin-top:-2px}.factory-bootstrap-423 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-423 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-423 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-423 .modal-footer:after,.factory-bootstrap-423 .modal-footer:before{display:table;content:" "}.factory-bootstrap-423 .modal-footer:after{clear:both}.factory-bootstrap-423 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-423 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-423 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-423 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-423 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-423 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-423 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-423 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-423 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-423 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-423 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-423 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-423 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-423 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-423 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-423 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-423 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-423 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-423 .popover.top{margin-top:-10px}.factory-bootstrap-423 .popover.right{margin-left:10px}.factory-bootstrap-423 .popover.bottom{margin-top:10px}.factory-bootstrap-423 .popover.left{margin-left:-10px}.factory-bootstrap-423 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-423 .popover-content{padding:9px 14px}.factory-bootstrap-423 .popover .arrow,.factory-bootstrap-423 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-423 .popover .arrow{border-width:11px}.factory-bootstrap-423 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-423 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-423 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-423 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-423 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-423 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-423 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-423 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-423 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-423 .carousel{position:relative}.factory-bootstrap-423 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-423 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-423 .carousel-inner>.item>a>img,.factory-bootstrap-423 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-423 .carousel-inner>.active,.factory-bootstrap-423 .carousel-inner>.next,.factory-bootstrap-423 .carousel-inner>.prev{display:block}.factory-bootstrap-423 .carousel-inner>.active{left:0}.factory-bootstrap-423 .carousel-inner>.next,.factory-bootstrap-423 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-423 .carousel-inner>.next{left:100%}.factory-bootstrap-423 .carousel-inner>.prev{left:-100%}.factory-bootstrap-423 .carousel-inner>.next.left,.factory-bootstrap-423 .carousel-inner>.prev.right{left:0}.factory-bootstrap-423 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-423 .carousel-inner>.active.right{left:100%}.factory-bootstrap-423 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-423 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-423 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-423 .carousel-control:focus,.factory-bootstrap-423 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-423 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-423 .carousel-control .icon-next,.factory-bootstrap-423 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-423 .carousel-control .icon-prev{left:50%}.factory-bootstrap-423 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-423 .carousel-control .icon-next{right:50%}.factory-bootstrap-423 .carousel-control .icon-next,.factory-bootstrap-423 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-423 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-423 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-423 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-423 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-423 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-423 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-423 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-423 .clearfix:after,.factory-bootstrap-423 .clearfix:before{display:table;content:" "}.factory-bootstrap-423 .clearfix:after{clear:both}.factory-bootstrap-423 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-423 .pull-right{float:right!important}.factory-bootstrap-423 .pull-left{float:left!important}.factory-bootstrap-423 .hide{display:none!important}.factory-bootstrap-423 .show{display:block!important}.factory-bootstrap-423 .invisible{visibility:hidden}.factory-bootstrap-423 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-423 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-423 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-423 .visible-lg,.factory-bootstrap-423 .visible-md,.factory-bootstrap-423 .visible-sm,.factory-bootstrap-423 .visible-xs,.factory-bootstrap-423 td.visible-lg,.factory-bootstrap-423 td.visible-md,.factory-bootstrap-423 td.visible-sm,.factory-bootstrap-423 td.visible-xs,.factory-bootstrap-423 th.visible-lg,.factory-bootstrap-423 th.visible-md,.factory-bootstrap-423 th.visible-sm,.factory-bootstrap-423 th.visible-xs,.factory-bootstrap-423 tr.visible-lg,.factory-bootstrap-423 tr.visible-md,.factory-bootstrap-423 tr.visible-sm,.factory-bootstrap-423 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-423 .hidden-xs{display:block!important}.factory-bootstrap-423 table.hidden-xs{display:table}.factory-bootstrap-423 tr.hidden-xs{display:table-row!important}.factory-bootstrap-423 td.hidden-xs,.factory-bootstrap-423 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-423 .hidden-sm{display:block!important}.factory-bootstrap-423 table.hidden-sm{display:table}.factory-bootstrap-423 tr.hidden-sm{display:table-row!important}.factory-bootstrap-423 td.hidden-sm,.factory-bootstrap-423 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-423 .hidden-md{display:block!important}.factory-bootstrap-423 table.hidden-md{display:table}.factory-bootstrap-423 tr.hidden-md{display:table-row!important}.factory-bootstrap-423 td.hidden-md,.factory-bootstrap-423 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-423 .hidden-lg{display:block!important}.factory-bootstrap-423 table.hidden-lg{display:table}.factory-bootstrap-423 tr.hidden-lg{display:table-row!important}.factory-bootstrap-423 td.hidden-lg,.factory-bootstrap-423 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-423 .hidden-lg.hidden-xs,.factory-bootstrap-423 td.hidden-lg.hidden-xs,.factory-bootstrap-423 th.hidden-lg.hidden-xs,.factory-bootstrap-423 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-423 .hidden-lg.hidden-sm,.factory-bootstrap-423 td.hidden-lg.hidden-sm,.factory-bootstrap-423 th.hidden-lg.hidden-sm,.factory-bootstrap-423 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-423 .hidden-lg.hidden-md,.factory-bootstrap-423 td.hidden-lg.hidden-md,.factory-bootstrap-423 th.hidden-lg.hidden-md,.factory-bootstrap-423 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-423 .hidden-lg,.factory-bootstrap-423 td.hidden-lg,.factory-bootstrap-423 th.hidden-lg,.factory-bootstrap-423 tr.hidden-lg{display:none!important}}.factory-bootstrap-423 .visible-print,.factory-bootstrap-423 td.visible-print,.factory-bootstrap-423 th.visible-print,.factory-bootstrap-423 tr.visible-print{display:none!important}@media print{.factory-bootstrap-423 .visible-print{display:block!important}.factory-bootstrap-423 table.visible-print{display:table}.factory-bootstrap-423 tr.visible-print{display:table-row!important}.factory-bootstrap-423 td.visible-print,.factory-bootstrap-423 th.visible-print{display:table-cell!important}.factory-bootstrap-423 .hidden-print,.factory-bootstrap-423 td.hidden-print,.factory-bootstrap-423 th.hidden-print,.factory-bootstrap-423 tr.hidden-print{display:none!important}}/*!
12
  * Factory Default Bootstrap Theme
13
  *
14
  * The code is based on Bootstrap v2.1.1
@@ -22,4 +22,4 @@
22
  *
23
  * @package factory-bootstrap
24
  * @since 1.0.0
25
- */.factory-bootstrap-423 .btn-danger,.factory-bootstrap-423 .btn-default,.factory-bootstrap-423 .btn-info,.factory-bootstrap-423 .btn-primary,.factory-bootstrap-423 .btn-success,.factory-bootstrap-423 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-423 .btn-danger.active,.factory-bootstrap-423 .btn-danger:active,.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active,.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active,.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active,.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active,.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-423 .btn.active,.factory-bootstrap-423 .btn:active{background-image:none}.factory-bootstrap-423 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-423 .btn-default.active,.factory-bootstrap-423 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-423 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-423 .btn-gold:focus,.factory-bootstrap-423 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-423 .btn-gold.active,.factory-bootstrap-423 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-423 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-423 .btn-primary.active,.factory-bootstrap-423 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-423 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .btn-success:focus,.factory-bootstrap-423 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-423 .btn-success.active,.factory-bootstrap-423 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-423 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .btn-warning:focus,.factory-bootstrap-423 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-423 .btn-warning.active,.factory-bootstrap-423 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-423 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-423 .btn-danger.active,.factory-bootstrap-423 .btn-danger:active,.factory-bootstrap-423 .btn-danger:focus,.factory-bootstrap-423 .btn-danger:hover,.factory-bootstrap-423 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-423 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .btn-info:focus,.factory-bootstrap-423 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-423 .btn-info.active,.factory-bootstrap-423 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-423 .img-thumbnail,.factory-bootstrap-423 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-423 .dropdown-menu>li>a:focus,.factory-bootstrap-423 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-423 .dropdown-menu>.active>a,.factory-bootstrap-423 .dropdown-menu>.active>a:focus,.factory-bootstrap-423 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-423 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-423 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-423 .navbar-brand,.factory-bootstrap-423 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-423 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-423 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-423 .navbar-inverse .navbar-brand,.factory-bootstrap-423 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-423 .navbar-fixed-bottom,.factory-bootstrap-423 .navbar-fixed-top,.factory-bootstrap-423 .navbar-static-top{border-radius:0}.factory-bootstrap-423 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-423 .alert .actions{padding-top:10px}.factory-bootstrap-423 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-423 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-423 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-423 .alert-normal,.factory-bootstrap-423 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-423 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-423 .alert-danger a:not(.btn),.factory-bootstrap-423 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-423 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-423 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-423 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-423 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-423 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-423 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-423 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-423 .list-group-item.active,.factory-bootstrap-423 .list-group-item.active:focus,.factory-bootstrap-423 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-423 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-423 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-423 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-423 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-423 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-423 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-423 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-423 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-423 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-423 .factory-hidden{display:none}.factory-bootstrap-423 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 article,.factory-bootstrap-426 aside,.factory-bootstrap-426 details,.factory-bootstrap-426 figcaption,.factory-bootstrap-426 figure,.factory-bootstrap-426 footer,.factory-bootstrap-426 header,.factory-bootstrap-426 hgroup,.factory-bootstrap-426 main,.factory-bootstrap-426 nav,.factory-bootstrap-426 section,.factory-bootstrap-426 summary{display:block}.factory-bootstrap-426 audio,.factory-bootstrap-426 canvas,.factory-bootstrap-426 video{display:inline-block}.factory-bootstrap-426 audio:not([controls]){display:none;height:0}.factory-bootstrap-426 [hidden],.factory-bootstrap-426 template{display:none}.factory-bootstrap-426 body{margin:0}.factory-bootstrap-426 a{background:0 0}.factory-bootstrap-426 a:focus{outline:thin dotted}.factory-bootstrap-426 a:active,.factory-bootstrap-426 a:hover{outline:0}.factory-bootstrap-426 h1{margin:.67em 0}.factory-bootstrap-426 b,.factory-bootstrap-426 strong{font-weight:700}.factory-bootstrap-426 dfn{font-style:italic}.factory-bootstrap-426 hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-426 mark{color:#000;background:#ff0}.factory-bootstrap-426 code,.factory-bootstrap-426 kbd,.factory-bootstrap-426 pre,.factory-bootstrap-426 samp{font-size:1em}.factory-bootstrap-426 pre{white-space:pre-wrap}.factory-bootstrap-426 q{quotes:"\201C" "\201D" "\2018" "\2019"}.factory-bootstrap-426 sub,.factory-bootstrap-426 sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}.factory-bootstrap-426 sup{top:-.5em}.factory-bootstrap-426 sub{bottom:-.25em}.factory-bootstrap-426 img{border:0}.factory-bootstrap-426 svg:not(:root){overflow:hidden}.factory-bootstrap-426 figure{margin:0}.factory-bootstrap-426 button,.factory-bootstrap-426 input,.factory-bootstrap-426 select,.factory-bootstrap-426 textarea{margin:0}.factory-bootstrap-426 button,.factory-bootstrap-426 select{text-transform:none}.factory-bootstrap-426 select{padding-right:4px!important}.factory-bootstrap-426 button,.factory-bootstrap-426 input[type=reset],.factory-bootstrap-426 input[type=submit],html .factory-bootstrap-426 input[type=button]{cursor:pointer;-webkit-appearance:button}.factory-bootstrap-426 button[disabled],html .factory-bootstrap-426 input[disabled]{cursor:default}.factory-bootstrap-426 input[type=checkbox],.factory-bootstrap-426 input[type=radio]{padding:0;box-sizing:border-box}.factory-bootstrap-426 input[type=search]{-webkit-appearance:textfield}.factory-bootstrap-426 input[type=search]::-webkit-search-cancel-button,.factory-bootstrap-426 input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.factory-bootstrap-426 button::-moz-focus-inner,.factory-bootstrap-426 input::-moz-focus-inner{padding:0;border:0}.factory-bootstrap-426 textarea{overflow:auto;vertical-align:top}.factory-bootstrap-426 table{border-collapse:collapse;border-spacing:0}@media print{.factory-bootstrap-426 *{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}.factory-bootstrap-426 a,.factory-bootstrap-426 a:visited{text-decoration:underline}.factory-bootstrap-426 a[href]:after{content:" (" attr(href) ")"}.factory-bootstrap-426 abbr[title]:after{content:" (" attr(title) ")"}.factory-bootstrap-426 a[href^="javascript:"]:after,.factory-bootstrap-426 a[href^="#"]:after{content:""}.factory-bootstrap-426 blockquote,.factory-bootstrap-426 pre{border:1px solid #999;page-break-inside:avoid}.factory-bootstrap-426 thead{display:table-header-group}.factory-bootstrap-426 img,.factory-bootstrap-426 tr{page-break-inside:avoid}.factory-bootstrap-426 img{max-width:100%!important}@page{margin:2cm .5cm}.factory-bootstrap-426 h2,.factory-bootstrap-426 h3,.factory-bootstrap-426 p{orphans:3;widows:3}.factory-bootstrap-426 h2,.factory-bootstrap-426 h3{page-break-after:avoid}.factory-bootstrap-426 select{background:#fff!important}.factory-bootstrap-426 .navbar{display:none}.factory-bootstrap-426 .table td,.factory-bootstrap-426 .table th{background-color:#fff!important}.factory-bootstrap-426 .btn>.caret,.factory-bootstrap-426 .dropup>.btn>.caret{border-top-color:#000!important}.factory-bootstrap-426 .label{border:1px solid #000}.factory-bootstrap-426 .table{border-collapse:collapse!important}.factory-bootstrap-426 .table-bordered td,.factory-bootstrap-426 .table-bordered th{border:1px solid #ddd!important}}.factory-bootstrap-426 *,.factory-bootstrap-426 :after,.factory-bootstrap-426 :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html .factory-bootstrap-426{-webkit-tap-highlight-color:rgba(0,0,0,0)}.factory-bootstrap-426 body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}.factory-bootstrap-426 button,.factory-bootstrap-426 input,.factory-bootstrap-426 select,.factory-bootstrap-426 textarea{font-family:inherit;font-size:inherit;line-height:inherit}.factory-bootstrap-426 img{vertical-align:middle}.factory-bootstrap-426 .img-responsive{display:block;height:auto;max-width:100%}.factory-bootstrap-426 .img-rounded{border-radius:6px}.factory-bootstrap-426 .img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-426 .img-circle{border-radius:50%}.factory-bootstrap-426 hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.factory-bootstrap-426 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.factory-bootstrap-426 .h1,.factory-bootstrap-426 .h2,.factory-bootstrap-426 .h3,.factory-bootstrap-426 .h4,.factory-bootstrap-426 .h5,.factory-bootstrap-426 .h6,.factory-bootstrap-426 h1,.factory-bootstrap-426 h2,.factory-bootstrap-426 h3,.factory-bootstrap-426 h4,.factory-bootstrap-426 h5,.factory-bootstrap-426 h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1;color:inherit}.factory-bootstrap-426 .h1 .small,.factory-bootstrap-426 .h1 small,.factory-bootstrap-426 .h2 .small,.factory-bootstrap-426 .h2 small,.factory-bootstrap-426 .h3 .small,.factory-bootstrap-426 .h3 small,.factory-bootstrap-426 .h4 .small,.factory-bootstrap-426 .h4 small,.factory-bootstrap-426 .h5 .small,.factory-bootstrap-426 .h5 small,.factory-bootstrap-426 .h6 .small,.factory-bootstrap-426 .h6 small,.factory-bootstrap-426 h1 .small,.factory-bootstrap-426 h1 small,.factory-bootstrap-426 h2 .small,.factory-bootstrap-426 h2 small,.factory-bootstrap-426 h3 .small,.factory-bootstrap-426 h3 small,.factory-bootstrap-426 h4 .small,.factory-bootstrap-426 h4 small,.factory-bootstrap-426 h5 .small,.factory-bootstrap-426 h5 small,.factory-bootstrap-426 h6 .small,.factory-bootstrap-426 h6 small{font-weight:400;line-height:1;color:#999}.factory-bootstrap-426 h1,.factory-bootstrap-426 h2,.factory-bootstrap-426 h3{margin-top:20px;margin-bottom:10px}.factory-bootstrap-426 h1 .small,.factory-bootstrap-426 h1 small,.factory-bootstrap-426 h2 .small,.factory-bootstrap-426 h2 small,.factory-bootstrap-426 h3 .small,.factory-bootstrap-426 h3 small{font-size:65%}.factory-bootstrap-426 h4,.factory-bootstrap-426 h5,.factory-bootstrap-426 h6{margin-top:10px;margin-bottom:10px}.factory-bootstrap-426 h4 .small,.factory-bootstrap-426 h4 small,.factory-bootstrap-426 h5 .small,.factory-bootstrap-426 h5 small,.factory-bootstrap-426 h6 .small,.factory-bootstrap-426 h6 small{font-size:75%}.factory-bootstrap-426 .h1,.factory-bootstrap-426 h1{font-size:36px}.factory-bootstrap-426 .h2,.factory-bootstrap-426 h2{font-size:30px}.factory-bootstrap-426 .h3,.factory-bootstrap-426 h3{font-size:24px}.factory-bootstrap-426 .h4,.factory-bootstrap-426 h4{font-size:18px}.factory-bootstrap-426 .h5,.factory-bootstrap-426 h5{font-size:14px}.factory-bootstrap-426 .h6,.factory-bootstrap-426 h6{font-size:12px}.factory-bootstrap-426 p{margin:0 0 10px}.factory-bootstrap-426 .lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.factory-bootstrap-426 .small,.factory-bootstrap-426 small{font-size:85%}.factory-bootstrap-426 cite{font-style:normal}.factory-bootstrap-426 .text-muted{color:#999}.factory-bootstrap-426 .text-primary{color:#428bca}.factory-bootstrap-426 .text-primary:hover{color:#3071a9}.factory-bootstrap-426 .text-warning{color:#8a6d3b}.factory-bootstrap-426 .text-warning:hover{color:#66512c}.factory-bootstrap-426 .text-danger{color:#a94442}.factory-bootstrap-426 .text-danger:hover{color:#843534}.factory-bootstrap-426 .text-success{color:#3c763d}.factory-bootstrap-426 .text-success:hover{color:#2b542c}.factory-bootstrap-426 .text-info{color:#31708f}.factory-bootstrap-426 .text-info:hover{color:#245269}.factory-bootstrap-426 .text-left{text-align:left}.factory-bootstrap-426 .text-right{text-align:right}.factory-bootstrap-426 .text-center{text-align:center}.factory-bootstrap-426 .page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}.factory-bootstrap-426 ol,.factory-bootstrap-426 ul{margin-top:0;margin-bottom:10px}.factory-bootstrap-426 ol ol,.factory-bootstrap-426 ol ul,.factory-bootstrap-426 ul ol,.factory-bootstrap-426 ul ul{margin-bottom:0}.factory-bootstrap-426 .list-inline,.factory-bootstrap-426 .list-unstyled{padding-left:0;list-style:none}.factory-bootstrap-426 .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.factory-bootstrap-426 .list-inline>li:first-child{padding-left:0}.factory-bootstrap-426 dl{margin-top:0;margin-bottom:20px}.factory-bootstrap-426 dd,.factory-bootstrap-426 dt{line-height:1.428571429}.factory-bootstrap-426 dt{font-weight:700}.factory-bootstrap-426 dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:" "}.dl-horizontal dd:after{clear:both}}.factory-bootstrap-426 abbr[data-original-title],.factory-bootstrap-426 abbr[title]{cursor:help;border-bottom:1px dotted #999}.factory-bootstrap-426 .initialism{font-size:90%;text-transform:uppercase}.factory-bootstrap-426 blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}.factory-bootstrap-426 blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}.factory-bootstrap-426 blockquote p:last-child{margin-bottom:0}.factory-bootstrap-426 blockquote .small,.factory-bootstrap-426 blockquote small{display:block;line-height:1.428571429;color:#999}.factory-bootstrap-426 blockquote .small:before,.factory-bootstrap-426 blockquote small:before{content:'\2014 \00A0'}.factory-bootstrap-426 blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}.factory-bootstrap-426 blockquote.pull-right .small,.factory-bootstrap-426 blockquote.pull-right p,.factory-bootstrap-426 blockquote.pull-right small{text-align:right}.factory-bootstrap-426 blockquote.pull-right .small:before,.factory-bootstrap-426 blockquote.pull-right small:before{content:''}.factory-bootstrap-426 blockquote.pull-right .small:after,.factory-bootstrap-426 blockquote.pull-right small:after{content:'\00A0 \2014'}.factory-bootstrap-426 blockquote:after,.factory-bootstrap-426 blockquote:before{content:""}.factory-bootstrap-426 address{margin-bottom:20px;font-style:normal;line-height:1.428571429}.factory-bootstrap-426 code,.factory-bootstrap-426 kbd,.factory-bootstrap-426 pre,.factory-bootstrap-426 samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}.factory-bootstrap-426 code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}.factory-bootstrap-426 pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-426 pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.factory-bootstrap-426 .pre-scrollable{max-height:340px;overflow-y:scroll}.factory-bootstrap-426 .container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.factory-bootstrap-426 .container:after,.factory-bootstrap-426 .container:before{display:table;content:" "}.factory-bootstrap-426 .container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.factory-bootstrap-426 .row{margin-right:-15px;margin-left:-15px}.factory-bootstrap-426 .row:after,.factory-bootstrap-426 .row:before{display:table;content:" "}.factory-bootstrap-426 .row:after{clear:both}.factory-bootstrap-426 .col-lg-1,.factory-bootstrap-426 .col-lg-10,.factory-bootstrap-426 .col-lg-11,.factory-bootstrap-426 .col-lg-12,.factory-bootstrap-426 .col-lg-2,.factory-bootstrap-426 .col-lg-3,.factory-bootstrap-426 .col-lg-4,.factory-bootstrap-426 .col-lg-5,.factory-bootstrap-426 .col-lg-6,.factory-bootstrap-426 .col-lg-7,.factory-bootstrap-426 .col-lg-8,.factory-bootstrap-426 .col-lg-9,.factory-bootstrap-426 .col-md-1,.factory-bootstrap-426 .col-md-10,.factory-bootstrap-426 .col-md-11,.factory-bootstrap-426 .col-md-12,.factory-bootstrap-426 .col-md-2,.factory-bootstrap-426 .col-md-3,.factory-bootstrap-426 .col-md-4,.factory-bootstrap-426 .col-md-5,.factory-bootstrap-426 .col-md-6,.factory-bootstrap-426 .col-md-7,.factory-bootstrap-426 .col-md-8,.factory-bootstrap-426 .col-md-9,.factory-bootstrap-426 .col-sm-1,.factory-bootstrap-426 .col-sm-10,.factory-bootstrap-426 .col-sm-11,.factory-bootstrap-426 .col-sm-12,.factory-bootstrap-426 .col-sm-2,.factory-bootstrap-426 .col-sm-3,.factory-bootstrap-426 .col-sm-4,.factory-bootstrap-426 .col-sm-5,.factory-bootstrap-426 .col-sm-6,.factory-bootstrap-426 .col-sm-7,.factory-bootstrap-426 .col-sm-8,.factory-bootstrap-426 .col-sm-9,.factory-bootstrap-426 .col-xs-1,.factory-bootstrap-426 .col-xs-10,.factory-bootstrap-426 .col-xs-11,.factory-bootstrap-426 .col-xs-12,.factory-bootstrap-426 .col-xs-2,.factory-bootstrap-426 .col-xs-3,.factory-bootstrap-426 .col-xs-4,.factory-bootstrap-426 .col-xs-5,.factory-bootstrap-426 .col-xs-6,.factory-bootstrap-426 .col-xs-7,.factory-bootstrap-426 .col-xs-8,.factory-bootstrap-426 .col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.factory-bootstrap-426 .col-xs-1,.factory-bootstrap-426 .col-xs-10,.factory-bootstrap-426 .col-xs-11,.factory-bootstrap-426 .col-xs-12,.factory-bootstrap-426 .col-xs-2,.factory-bootstrap-426 .col-xs-3,.factory-bootstrap-426 .col-xs-4,.factory-bootstrap-426 .col-xs-5,.factory-bootstrap-426 .col-xs-6,.factory-bootstrap-426 .col-xs-7,.factory-bootstrap-426 .col-xs-8,.factory-bootstrap-426 .col-xs-9{float:left}.factory-bootstrap-426 .col-xs-12{width:100%}.factory-bootstrap-426 .col-xs-11{width:91.66666666666666%}.factory-bootstrap-426 .col-xs-10{width:83.33333333333334%}.factory-bootstrap-426 .col-xs-9{width:75%}.factory-bootstrap-426 .col-xs-8{width:66.66666666666666%}.factory-bootstrap-426 .col-xs-7{width:58.333333333333336%}.factory-bootstrap-426 .col-xs-6{width:50%}.factory-bootstrap-426 .col-xs-5{width:41.66666666666667%}.factory-bootstrap-426 .col-xs-4{width:33.33333333333333%}.factory-bootstrap-426 .col-xs-3{width:25%}.factory-bootstrap-426 .col-xs-2{width:16.666666666666664%}.factory-bootstrap-426 .col-xs-1{width:8.333333333333332%}.factory-bootstrap-426 .col-xs-pull-12{right:100%}.factory-bootstrap-426 .col-xs-pull-11{right:91.66666666666666%}.factory-bootstrap-426 .col-xs-pull-10{right:83.33333333333334%}.factory-bootstrap-426 .col-xs-pull-9{right:75%}.factory-bootstrap-426 .col-xs-pull-8{right:66.66666666666666%}.factory-bootstrap-426 .col-xs-pull-7{right:58.333333333333336%}.factory-bootstrap-426 .col-xs-pull-6{right:50%}.factory-bootstrap-426 .col-xs-pull-5{right:41.66666666666667%}.factory-bootstrap-426 .col-xs-pull-4{right:33.33333333333333%}.factory-bootstrap-426 .col-xs-pull-3{right:25%}.factory-bootstrap-426 .col-xs-pull-2{right:16.666666666666664%}.factory-bootstrap-426 .col-xs-pull-1{right:8.333333333333332%}.factory-bootstrap-426 .col-xs-pull-0{right:0}.factory-bootstrap-426 .col-xs-push-12{left:100%}.factory-bootstrap-426 .col-xs-push-11{left:91.66666666666666%}.factory-bootstrap-426 .col-xs-push-10{left:83.33333333333334%}.factory-bootstrap-426 .col-xs-push-9{left:75%}.factory-bootstrap-426 .col-xs-push-8{left:66.66666666666666%}.factory-bootstrap-426 .col-xs-push-7{left:58.333333333333336%}.factory-bootstrap-426 .col-xs-push-6{left:50%}.factory-bootstrap-426 .col-xs-push-5{left:41.66666666666667%}.factory-bootstrap-426 .col-xs-push-4{left:33.33333333333333%}.factory-bootstrap-426 .col-xs-push-3{left:25%}.factory-bootstrap-426 .col-xs-push-2{left:16.666666666666664%}.factory-bootstrap-426 .col-xs-push-1{left:8.333333333333332%}.factory-bootstrap-426 .col-xs-push-0{left:0}.factory-bootstrap-426 .col-xs-offset-12{margin-left:100%}.factory-bootstrap-426 .col-xs-offset-11{margin-left:91.66666666666666%}.factory-bootstrap-426 .col-xs-offset-10{margin-left:83.33333333333334%}.factory-bootstrap-426 .col-xs-offset-9{margin-left:75%}.factory-bootstrap-426 .col-xs-offset-8{margin-left:66.66666666666666%}.factory-bootstrap-426 .col-xs-offset-7{margin-left:58.333333333333336%}.factory-bootstrap-426 .col-xs-offset-6{margin-left:50%}.factory-bootstrap-426 .col-xs-offset-5{margin-left:41.66666666666667%}.factory-bootstrap-426 .col-xs-offset-4{margin-left:33.33333333333333%}.factory-bootstrap-426 .col-xs-offset-3{margin-left:25%}.factory-bootstrap-426 .col-xs-offset-2{margin-left:16.666666666666664%}.factory-bootstrap-426 .col-xs-offset-1{margin-left:8.333333333333332%}.factory-bootstrap-426 .col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}.factory-bootstrap-426 table{max-width:100%;background-color:transparent}.factory-bootstrap-426 th{text-align:left}.factory-bootstrap-426 .table{width:100%;margin-bottom:20px}.factory-bootstrap-426 .table>tbody>tr>td,.factory-bootstrap-426 .table>tbody>tr>th,.factory-bootstrap-426 .table>tfoot>tr>td,.factory-bootstrap-426 .table>tfoot>tr>th,.factory-bootstrap-426 .table>thead>tr>td,.factory-bootstrap-426 .table>thead>tr>th{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.factory-bootstrap-426 .table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.factory-bootstrap-426 .table>caption+thead>tr:first-child>td,.factory-bootstrap-426 .table>caption+thead>tr:first-child>th,.factory-bootstrap-426 .table>colgroup+thead>tr:first-child>td,.factory-bootstrap-426 .table>colgroup+thead>tr:first-child>th,.factory-bootstrap-426 .table>thead:first-child>tr:first-child>td,.factory-bootstrap-426 .table>thead:first-child>tr:first-child>th{border-top:0}.factory-bootstrap-426 .table>tbody+tbody{border-top:2px solid #ddd}.factory-bootstrap-426 .table .table{background-color:#fff}.factory-bootstrap-426 .table-condensed>tbody>tr>td,.factory-bootstrap-426 .table-condensed>tbody>tr>th,.factory-bootstrap-426 .table-condensed>tfoot>tr>td,.factory-bootstrap-426 .table-condensed>tfoot>tr>th,.factory-bootstrap-426 .table-condensed>thead>tr>td,.factory-bootstrap-426 .table-condensed>thead>tr>th{padding:5px}.factory-bootstrap-426 .table-bordered,.factory-bootstrap-426 .table-bordered>tbody>tr>td,.factory-bootstrap-426 .table-bordered>tbody>tr>th,.factory-bootstrap-426 .table-bordered>tfoot>tr>td,.factory-bootstrap-426 .table-bordered>tfoot>tr>th,.factory-bootstrap-426 .table-bordered>thead>tr>td,.factory-bootstrap-426 .table-bordered>thead>tr>th{border:1px solid #ddd}.factory-bootstrap-426 .table-bordered>thead>tr>td,.factory-bootstrap-426 .table-bordered>thead>tr>th{border-bottom-width:2px}.factory-bootstrap-426 .table-striped>tbody>tr:nth-child(odd)>td,.factory-bootstrap-426 .table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.factory-bootstrap-426 .table-hover>tbody>tr:hover>td,.factory-bootstrap-426 .table-hover>tbody>tr:hover>th{background-color:#f5f5f5}.factory-bootstrap-426 table col[class*=col-]{position:static;display:table-column;float:none}.factory-bootstrap-426 table td[class*=col-],.factory-bootstrap-426 table th[class*=col-]{display:table-cell;float:none}.factory-bootstrap-426 .table>tbody>.active>td,.factory-bootstrap-426 .table>tbody>.active>th,.factory-bootstrap-426 .table>tbody>tr>.active,.factory-bootstrap-426 .table>tfoot>.active>td,.factory-bootstrap-426 .table>tfoot>.active>th,.factory-bootstrap-426 .table>tfoot>tr>.active,.factory-bootstrap-426 .table>thead>.active>td,.factory-bootstrap-426 .table>thead>.active>th,.factory-bootstrap-426 .table>thead>tr>.active{background-color:#f5f5f5}.factory-bootstrap-426 .table-hover>tbody>.active:hover>td,.factory-bootstrap-426 .table-hover>tbody>.active:hover>th,.factory-bootstrap-426 .table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.factory-bootstrap-426 .table>tbody>.success>td,.factory-bootstrap-426 .table>tbody>.success>th,.factory-bootstrap-426 .table>tbody>tr>.success,.factory-bootstrap-426 .table>tfoot>.success>td,.factory-bootstrap-426 .table>tfoot>.success>th,.factory-bootstrap-426 .table>tfoot>tr>.success,.factory-bootstrap-426 .table>thead>.success>td,.factory-bootstrap-426 .table>thead>.success>th,.factory-bootstrap-426 .table>thead>tr>.success{background-color:#dff0d8}.factory-bootstrap-426 .table-hover>tbody>.success:hover>td,.factory-bootstrap-426 .table-hover>tbody>.success:hover>th,.factory-bootstrap-426 .table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.factory-bootstrap-426 .table>tbody>.danger>td,.factory-bootstrap-426 .table>tbody>.danger>th,.factory-bootstrap-426 .table>tbody>tr>.danger,.factory-bootstrap-426 .table>tfoot>.danger>td,.factory-bootstrap-426 .table>tfoot>.danger>th,.factory-bootstrap-426 .table>tfoot>tr>.danger,.factory-bootstrap-426 .table>thead>.danger>td,.factory-bootstrap-426 .table>thead>.danger>th,.factory-bootstrap-426 .table>thead>tr>.danger{background-color:#f2dede}.factory-bootstrap-426 .table-hover>tbody>.danger:hover>td,.factory-bootstrap-426 .table-hover>tbody>.danger:hover>th,.factory-bootstrap-426 .table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.factory-bootstrap-426 .table>tbody>.warning>td,.factory-bootstrap-426 .table>tbody>.warning>th,.factory-bootstrap-426 .table>tbody>tr>.warning,.factory-bootstrap-426 .table>tfoot>.warning>td,.factory-bootstrap-426 .table>tfoot>.warning>th,.factory-bootstrap-426 .table>tfoot>tr>.warning,.factory-bootstrap-426 .table>thead>.warning>td,.factory-bootstrap-426 .table>thead>.warning>th,.factory-bootstrap-426 .table>thead>tr>.warning{background-color:#fcf8e3}.factory-bootstrap-426 .table-hover>tbody>.warning:hover>td,.factory-bootstrap-426 .table-hover>tbody>.warning:hover>th,.factory-bootstrap-426 .table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd;-ms-overflow-style:-ms-autohiding-scrollbar;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.factory-bootstrap-426 fieldset{padding:0;margin:0;border:0}.factory-bootstrap-426 legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-426 label{display:inline-block;margin-bottom:5px;font-weight:700}.factory-bootstrap-426 input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-426 input[type=checkbox],.factory-bootstrap-426 input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.factory-bootstrap-426 input[type=file]{display:block}.factory-bootstrap-426 select[multiple],.factory-bootstrap-426 select[size]{height:auto}.factory-bootstrap-426 select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}.factory-bootstrap-426 input[type=checkbox]:focus,.factory-bootstrap-426 input[type=file]:focus,.factory-bootstrap-426 input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-426 input[type=number]::-webkit-inner-spin-button,.factory-bootstrap-426 input[type=number]::-webkit-outer-spin-button{height:auto}.factory-bootstrap-426 output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle}.factory-bootstrap-426 .form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.factory-bootstrap-426 .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-426 .form-control:-moz-placeholder{color:#999}.factory-bootstrap-426 .form-control::-moz-placeholder{color:#999;opacity:1}.factory-bootstrap-426 .form-control:-ms-input-placeholder{color:#999}.factory-bootstrap-426 .form-control::-webkit-input-placeholder{color:#999}.factory-bootstrap-426 .form-control[disabled],.factory-bootstrap-426 .form-control[readonly],.factory-bootstrap-426 fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}.factory-bootstrap-426 textarea.form-control{height:auto}.factory-bootstrap-426 .form-group{margin-bottom:15px}.factory-bootstrap-426 .checkbox,.factory-bootstrap-426 .radio{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.factory-bootstrap-426 .checkbox label,.factory-bootstrap-426 .radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.factory-bootstrap-426 .checkbox input[type=checkbox],.factory-bootstrap-426 .checkbox-inline input[type=checkbox],.factory-bootstrap-426 .radio input[type=radio],.factory-bootstrap-426 .radio-inline input[type=radio]{float:left;margin-left:-20px}.factory-bootstrap-426 .checkbox+.checkbox,.factory-bootstrap-426 .radio+.radio{margin-top:-5px}.factory-bootstrap-426 .checkbox-inline,.factory-bootstrap-426 .radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.factory-bootstrap-426 .checkbox-inline+.checkbox-inline,.factory-bootstrap-426 .radio-inline+.radio-inline{margin-top:0;margin-left:10px}.factory-bootstrap-426 .checkbox-inline[disabled],.factory-bootstrap-426 .checkbox[disabled],.factory-bootstrap-426 .radio-inline[disabled],.factory-bootstrap-426 .radio[disabled],.factory-bootstrap-426 fieldset[disabled] .checkbox,.factory-bootstrap-426 fieldset[disabled] .checkbox-inline,.factory-bootstrap-426 fieldset[disabled] .radio,.factory-bootstrap-426 fieldset[disabled] .radio-inline,.factory-bootstrap-426 fieldset[disabled] input[type=checkbox],.factory-bootstrap-426 fieldset[disabled] input[type=radio],.factory-bootstrap-426 input[type=checkbox][disabled],.factory-bootstrap-426 input[type=radio][disabled]{cursor:not-allowed}.factory-bootstrap-426 .input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-426 select.input-sm{height:30px;line-height:30px}.factory-bootstrap-426 textarea.input-sm{height:auto}.factory-bootstrap-426 .input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-426 select.input-lg{height:46px;line-height:46px}.factory-bootstrap-426 textarea.input-lg{height:auto}.factory-bootstrap-426 .has-warning .checkbox,.factory-bootstrap-426 .has-warning .checkbox-inline,.factory-bootstrap-426 .has-warning .control-label,.factory-bootstrap-426 .has-warning .help-block,.factory-bootstrap-426 .has-warning .radio,.factory-bootstrap-426 .has-warning .radio-inline{color:#8a6d3b}.factory-bootstrap-426 .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-426 .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.factory-bootstrap-426 .has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.factory-bootstrap-426 .has-error .checkbox,.factory-bootstrap-426 .has-error .checkbox-inline,.factory-bootstrap-426 .has-error .control-label,.factory-bootstrap-426 .has-error .help-block,.factory-bootstrap-426 .has-error .radio,.factory-bootstrap-426 .has-error .radio-inline{color:#a94442}.factory-bootstrap-426 .controls{display:block}.factory-bootstrap-426 .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-426 .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.factory-bootstrap-426 .has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.factory-bootstrap-426 .has-success .checkbox,.factory-bootstrap-426 .has-success .checkbox-inline,.factory-bootstrap-426 .has-success .control-label,.factory-bootstrap-426 .has-success .help-block,.factory-bootstrap-426 .has-success .radio,.factory-bootstrap-426 .has-success .radio-inline{color:#3c763d}.factory-bootstrap-426 .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-426 .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.factory-bootstrap-426 .has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.factory-bootstrap-426 .form-control-static{margin-bottom:0}.factory-bootstrap-426 .help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373;font-weight:400}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.factory-bootstrap-426 .form-horizontal .checkbox,.factory-bootstrap-426 .form-horizontal .checkbox-inline,.factory-bootstrap-426 .form-horizontal .control-label,.factory-bootstrap-426 .form-horizontal .radio,.factory-bootstrap-426 .form-horizontal .radio-inline{position:relative;padding-top:7px;margin-top:0;margin-bottom:0}.factory-bootstrap-426 .form-horizontal .control-label{max-width:200px}.factory-bootstrap-426 .form-horizontal .checkbox,.factory-bootstrap-426 .form-horizontal .radio{min-height:27px}.factory-bootstrap-426 .form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.factory-bootstrap-426 .form-horizontal .form-group:after,.factory-bootstrap-426 .form-horizontal .form-group:before{display:table;content:" "}.factory-bootstrap-426 .form-horizontal .form-group:after{clear:both}.factory-bootstrap-426 .form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.factory-bootstrap-426 .btn{display:inline-block;padding:5px 12px;margin-bottom:0;font-size:13px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.factory-bootstrap-426 .btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.factory-bootstrap-426 .btn{text-decoration:none}.factory-bootstrap-426 .btn:focus,.factory-bootstrap-426 .btn:hover{color:#333;text-decoration:none}.factory-bootstrap-426 .btn.disabled,.factory-bootstrap-426 .btn[disabled],.factory-bootstrap-426 fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-426 .btn-default.active,.factory-bootstrap-426 .btn-default:active,.factory-bootstrap-426 .btn-default:focus,.factory-bootstrap-426 .btn-default:hover,.factory-bootstrap-426 .open .dropdown-toggle.btn-default{background:#fafafa;border-color:#999;color:#222}.factory-bootstrap-426 .btn-default.active,.factory-bootstrap-426 .btn-default:active,.factory-bootstrap-426 .open .dropdown-toggle.btn-default{background-image:none}.factory-bootstrap-426 .btn-default.disabled,.factory-bootstrap-426 .btn-default.disabled.active,.factory-bootstrap-426 .btn-default.disabled:active,.factory-bootstrap-426 .btn-default.disabled:focus,.factory-bootstrap-426 .btn-default.disabled:hover,.factory-bootstrap-426 .btn-default[disabled],.factory-bootstrap-426 .btn-default[disabled].active,.factory-bootstrap-426 .btn-default[disabled]:active,.factory-bootstrap-426 .btn-default[disabled]:focus,.factory-bootstrap-426 .btn-default[disabled]:hover,.factory-bootstrap-426 fieldset[disabled] .btn-default,.factory-bootstrap-426 fieldset[disabled] .btn-default.active,.factory-bootstrap-426 fieldset[disabled] .btn-default:active,.factory-bootstrap-426 fieldset[disabled] .btn-default:focus,.factory-bootstrap-426 fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.factory-bootstrap-426 .btn-default .badge{color:#fff;background-color:#fff}.factory-bootstrap-426 .btn-primary.active,.factory-bootstrap-426 .btn-primary:active,.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover,.factory-bootstrap-426 .open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.factory-bootstrap-426 .btn-primary.active,.factory-bootstrap-426 .btn-primary:active,.factory-bootstrap-426 .open .dropdown-toggle.btn-primary{background-image:none}.factory-bootstrap-426 .btn-primary.disabled,.factory-bootstrap-426 .btn-primary.disabled.active,.factory-bootstrap-426 .btn-primary.disabled:active,.factory-bootstrap-426 .btn-primary.disabled:focus,.factory-bootstrap-426 .btn-primary.disabled:hover,.factory-bootstrap-426 .btn-primary[disabled],.factory-bootstrap-426 .btn-primary[disabled].active,.factory-bootstrap-426 .btn-primary[disabled]:active,.factory-bootstrap-426 .btn-primary[disabled]:focus,.factory-bootstrap-426 .btn-primary[disabled]:hover,.factory-bootstrap-426 fieldset[disabled] .btn-primary,.factory-bootstrap-426 fieldset[disabled] .btn-primary.active,.factory-bootstrap-426 fieldset[disabled] .btn-primary:active,.factory-bootstrap-426 fieldset[disabled] .btn-primary:focus,.factory-bootstrap-426 fieldset[disabled] .btn-primary:hover{background-color:#428bca;border-color:#357ebd}.factory-bootstrap-426 .btn-primary .badge{color:#428bca;background-color:#fff}.factory-bootstrap-426 .btn-warning{color:#fff;background-color:#f0ad4e}.factory-bootstrap-426 .btn-warning.active,.factory-bootstrap-426 .btn-warning:active,.factory-bootstrap-426 .btn-warning:focus,.factory-bootstrap-426 .btn-warning:hover,.factory-bootstrap-426 .open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.factory-bootstrap-426 .btn-warning.active,.factory-bootstrap-426 .btn-warning:active,.factory-bootstrap-426 .open .dropdown-toggle.btn-warning{background-image:none}.factory-bootstrap-426 .btn-warning.disabled,.factory-bootstrap-426 .btn-warning.disabled.active,.factory-bootstrap-426 .btn-warning.disabled:active,.factory-bootstrap-426 .btn-warning.disabled:focus,.factory-bootstrap-426 .btn-warning.disabled:hover,.factory-bootstrap-426 .btn-warning[disabled],.factory-bootstrap-426 .btn-warning[disabled].active,.factory-bootstrap-426 .btn-warning[disabled]:active,.factory-bootstrap-426 .btn-warning[disabled]:focus,.factory-bootstrap-426 .btn-warning[disabled]:hover,.factory-bootstrap-426 fieldset[disabled] .btn-warning,.factory-bootstrap-426 fieldset[disabled] .btn-warning.active,.factory-bootstrap-426 fieldset[disabled] .btn-warning:active,.factory-bootstrap-426 fieldset[disabled] .btn-warning:focus,.factory-bootstrap-426 fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.factory-bootstrap-426 .btn-warning .badge{color:#f0ad4e;background-color:#fff}.factory-bootstrap-426 .btn-success{color:#fff;background-color:#5cb85c}.factory-bootstrap-426 .btn-success.active,.factory-bootstrap-426 .btn-success:active,.factory-bootstrap-426 .btn-success:focus,.factory-bootstrap-426 .btn-success:hover,.factory-bootstrap-426 .open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.factory-bootstrap-426 .btn-success.active,.factory-bootstrap-426 .btn-success:active,.factory-bootstrap-426 .open .dropdown-toggle.btn-success{background-image:none}.factory-bootstrap-426 .btn-success.disabled,.factory-bootstrap-426 .btn-success.disabled.active,.factory-bootstrap-426 .btn-success.disabled:active,.factory-bootstrap-426 .btn-success.disabled:focus,.factory-bootstrap-426 .btn-success.disabled:hover,.factory-bootstrap-426 .btn-success[disabled],.factory-bootstrap-426 .btn-success[disabled].active,.factory-bootstrap-426 .btn-success[disabled]:active,.factory-bootstrap-426 .btn-success[disabled]:focus,.factory-bootstrap-426 .btn-success[disabled]:hover,.factory-bootstrap-426 fieldset[disabled] .btn-success,.factory-bootstrap-426 fieldset[disabled] .btn-success.active,.factory-bootstrap-426 fieldset[disabled] .btn-success:active,.factory-bootstrap-426 fieldset[disabled] .btn-success:focus,.factory-bootstrap-426 fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.factory-bootstrap-426 .btn-success .badge{color:#5cb85c;background-color:#fff}.factory-bootstrap-426 .btn-info{color:#fff;background-color:#5bc0de}.factory-bootstrap-426 .btn-info.active,.factory-bootstrap-426 .btn-info:active,.factory-bootstrap-426 .btn-info:focus,.factory-bootstrap-426 .btn-info:hover,.factory-bootstrap-426 .open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.factory-bootstrap-426 .btn-info.active,.factory-bootstrap-426 .btn-info:active,.factory-bootstrap-426 .open .dropdown-toggle.btn-info{background-image:none}.factory-bootstrap-426 .btn-info.disabled,.factory-bootstrap-426 .btn-info.disabled.active,.factory-bootstrap-426 .btn-info.disabled:active,.factory-bootstrap-426 .btn-info.disabled:focus,.factory-bootstrap-426 .btn-info.disabled:hover,.factory-bootstrap-426 .btn-info[disabled],.factory-bootstrap-426 .btn-info[disabled].active,.factory-bootstrap-426 .btn-info[disabled]:active,.factory-bootstrap-426 .btn-info[disabled]:focus,.factory-bootstrap-426 .btn-info[disabled]:hover,.factory-bootstrap-426 fieldset[disabled] .btn-info,.factory-bootstrap-426 fieldset[disabled] .btn-info.active,.factory-bootstrap-426 fieldset[disabled] .btn-info:active,.factory-bootstrap-426 fieldset[disabled] .btn-info:focus,.factory-bootstrap-426 fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.factory-bootstrap-426 .btn-info .badge{color:#5bc0de;background-color:#fff}.factory-bootstrap-426 .btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.factory-bootstrap-426 .btn-link,.factory-bootstrap-426 .btn-link:active,.factory-bootstrap-426 .btn-link[disabled],.factory-bootstrap-426 fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-426 .btn-link,.factory-bootstrap-426 .btn-link:active,.factory-bootstrap-426 .btn-link:focus,.factory-bootstrap-426 .btn-link:hover{border-color:transparent}.factory-bootstrap-426 .btn-link:focus,.factory-bootstrap-426 .btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.factory-bootstrap-426 .btn-link[disabled]:focus,.factory-bootstrap-426 .btn-link[disabled]:hover,.factory-bootstrap-426 fieldset[disabled] .btn-link:focus,.factory-bootstrap-426 fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.factory-bootstrap-426 .btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-426 .btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-426 .btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-426 .btn-block{display:block;width:100%;padding-right:0;padding-left:0}.factory-bootstrap-426 .btn-block+.btn-block{margin-top:5px}.factory-bootstrap-426 input[type=button].btn-block,.factory-bootstrap-426 input[type=reset].btn-block,.factory-bootstrap-426 input[type=submit].btn-block{width:100%}.factory-bootstrap-426 .fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.factory-bootstrap-426 .fade.in{opacity:1}.factory-bootstrap-426 .collapse{display:none}.factory-bootstrap-426 .collapse.in{display:block}.factory-bootstrap-426 .collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular) format('svg')}.factory-bootstrap-426 .glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:400;line-height:1;-moz-osx-font-smoothing:grayscale}.factory-bootstrap-426 .glyphicon:empty{width:1em}.factory-bootstrap-426 .glyphicon-asterisk:before{content:"\2a"}.factory-bootstrap-426 .glyphicon-plus:before{content:"\2b"}.factory-bootstrap-426 .glyphicon-euro:before{content:"\20ac"}.factory-bootstrap-426 .glyphicon-minus:before{content:"\2212"}.factory-bootstrap-426 .glyphicon-cloud:before{content:"\2601"}.factory-bootstrap-426 .glyphicon-envelope:before{content:"\2709"}.factory-bootstrap-426 .glyphicon-pencil:before{content:"\270f"}.factory-bootstrap-426 .glyphicon-glass:before{content:"\e001"}.factory-bootstrap-426 .glyphicon-music:before{content:"\e002"}.factory-bootstrap-426 .glyphicon-search:before{content:"\e003"}.factory-bootstrap-426 .glyphicon-heart:before{content:"\e005"}.factory-bootstrap-426 .glyphicon-star:before{content:"\e006"}.factory-bootstrap-426 .glyphicon-star-empty:before{content:"\e007"}.factory-bootstrap-426 .glyphicon-user:before{content:"\e008"}.factory-bootstrap-426 .glyphicon-film:before{content:"\e009"}.factory-bootstrap-426 .glyphicon-th-large:before{content:"\e010"}.factory-bootstrap-426 .glyphicon-th:before{content:"\e011"}.factory-bootstrap-426 .glyphicon-th-list:before{content:"\e012"}.factory-bootstrap-426 .glyphicon-ok:before{content:"\e013"}.factory-bootstrap-426 .glyphicon-remove:before{content:"\e014"}.factory-bootstrap-426 .glyphicon-zoom-in:before{content:"\e015"}.factory-bootstrap-426 .glyphicon-zoom-out:before{content:"\e016"}.factory-bootstrap-426 .glyphicon-off:before{content:"\e017"}.factory-bootstrap-426 .glyphicon-signal:before{content:"\e018"}.factory-bootstrap-426 .glyphicon-cog:before{content:"\e019"}.factory-bootstrap-426 .glyphicon-trash:before{content:"\e020"}.factory-bootstrap-426 .glyphicon-home:before{content:"\e021"}.factory-bootstrap-426 .glyphicon-file:before{content:"\e022"}.factory-bootstrap-426 .glyphicon-time:before{content:"\e023"}.factory-bootstrap-426 .glyphicon-road:before{content:"\e024"}.factory-bootstrap-426 .glyphicon-download-alt:before{content:"\e025"}.factory-bootstrap-426 .glyphicon-download:before{content:"\e026"}.factory-bootstrap-426 .glyphicon-upload:before{content:"\e027"}.factory-bootstrap-426 .glyphicon-inbox:before{content:"\e028"}.factory-bootstrap-426 .glyphicon-play-circle:before{content:"\e029"}.factory-bootstrap-426 .glyphicon-repeat:before{content:"\e030"}.factory-bootstrap-426 .glyphicon-refresh:before{content:"\e031"}.factory-bootstrap-426 .glyphicon-list-alt:before{content:"\e032"}.factory-bootstrap-426 .glyphicon-lock:before{content:"\e033"}.factory-bootstrap-426 .glyphicon-flag:before{content:"\e034"}.factory-bootstrap-426 .glyphicon-headphones:before{content:"\e035"}.factory-bootstrap-426 .glyphicon-volume-off:before{content:"\e036"}.factory-bootstrap-426 .glyphicon-volume-down:before{content:"\e037"}.factory-bootstrap-426 .glyphicon-volume-up:before{content:"\e038"}.factory-bootstrap-426 .glyphicon-qrcode:before{content:"\e039"}.factory-bootstrap-426 .glyphicon-barcode:before{content:"\e040"}.factory-bootstrap-426 .glyphicon-tag:before{content:"\e041"}.factory-bootstrap-426 .glyphicon-tags:before{content:"\e042"}.factory-bootstrap-426 .glyphicon-book:before{content:"\e043"}.factory-bootstrap-426 .glyphicon-bookmark:before{content:"\e044"}.factory-bootstrap-426 .glyphicon-print:before{content:"\e045"}.factory-bootstrap-426 .glyphicon-camera:before{content:"\e046"}.factory-bootstrap-426 .glyphicon-font:before{content:"\e047"}.factory-bootstrap-426 .glyphicon-bold:before{content:"\e048"}.factory-bootstrap-426 .glyphicon-italic:before{content:"\e049"}.factory-bootstrap-426 .glyphicon-text-height:before{content:"\e050"}.factory-bootstrap-426 .glyphicon-text-width:before{content:"\e051"}.factory-bootstrap-426 .glyphicon-align-left:before{content:"\e052"}.factory-bootstrap-426 .glyphicon-align-center:before{content:"\e053"}.factory-bootstrap-426 .glyphicon-align-right:before{content:"\e054"}.factory-bootstrap-426 .glyphicon-align-justify:before{content:"\e055"}.factory-bootstrap-426 .glyphicon-list:before{content:"\e056"}.factory-bootstrap-426 .glyphicon-indent-left:before{content:"\e057"}.factory-bootstrap-426 .glyphicon-indent-right:before{content:"\e058"}.factory-bootstrap-426 .glyphicon-facetime-video:before{content:"\e059"}.factory-bootstrap-426 .glyphicon-picture:before{content:"\e060"}.factory-bootstrap-426 .glyphicon-map-marker:before{content:"\e062"}.factory-bootstrap-426 .glyphicon-adjust:before{content:"\e063"}.factory-bootstrap-426 .glyphicon-tint:before{content:"\e064"}.factory-bootstrap-426 .glyphicon-edit:before{content:"\e065"}.factory-bootstrap-426 .glyphicon-share:before{content:"\e066"}.factory-bootstrap-426 .glyphicon-check:before{content:"\e067"}.factory-bootstrap-426 .glyphicon-move:before{content:"\e068"}.factory-bootstrap-426 .glyphicon-step-backward:before{content:"\e069"}.factory-bootstrap-426 .glyphicon-fast-backward:before{content:"\e070"}.factory-bootstrap-426 .glyphicon-backward:before{content:"\e071"}.factory-bootstrap-426 .glyphicon-play:before{content:"\e072"}.factory-bootstrap-426 .glyphicon-pause:before{content:"\e073"}.factory-bootstrap-426 .glyphicon-stop:before{content:"\e074"}.factory-bootstrap-426 .glyphicon-forward:before{content:"\e075"}.factory-bootstrap-426 .glyphicon-fast-forward:before{content:"\e076"}.factory-bootstrap-426 .glyphicon-step-forward:before{content:"\e077"}.factory-bootstrap-426 .glyphicon-eject:before{content:"\e078"}.factory-bootstrap-426 .glyphicon-chevron-left:before{content:"\e079"}.factory-bootstrap-426 .glyphicon-chevron-right:before{content:"\e080"}.factory-bootstrap-426 .glyphicon-plus-sign:before{content:"\e081"}.factory-bootstrap-426 .glyphicon-minus-sign:before{content:"\e082"}.factory-bootstrap-426 .glyphicon-remove-sign:before{content:"\e083"}.factory-bootstrap-426 .glyphicon-ok-sign:before{content:"\e084"}.factory-bootstrap-426 .glyphicon-question-sign:before{content:"\e085"}.factory-bootstrap-426 .glyphicon-info-sign:before{content:"\e086"}.factory-bootstrap-426 .glyphicon-screenshot:before{content:"\e087"}.factory-bootstrap-426 .glyphicon-remove-circle:before{content:"\e088"}.factory-bootstrap-426 .glyphicon-ok-circle:before{content:"\e089"}.factory-bootstrap-426 .glyphicon-ban-circle:before{content:"\e090"}.factory-bootstrap-426 .glyphicon-arrow-left:before{content:"\e091"}.factory-bootstrap-426 .glyphicon-arrow-right:before{content:"\e092"}.factory-bootstrap-426 .glyphicon-arrow-up:before{content:"\e093"}.factory-bootstrap-426 .glyphicon-arrow-down:before{content:"\e094"}.factory-bootstrap-426 .glyphicon-share-alt:before{content:"\e095"}.factory-bootstrap-426 .glyphicon-resize-full:before{content:"\e096"}.factory-bootstrap-426 .glyphicon-resize-small:before{content:"\e097"}.factory-bootstrap-426 .glyphicon-exclamation-sign:before{content:"\e101"}.factory-bootstrap-426 .glyphicon-gift:before{content:"\e102"}.factory-bootstrap-426 .glyphicon-leaf:before{content:"\e103"}.factory-bootstrap-426 .glyphicon-fire:before{content:"\e104"}.factory-bootstrap-426 .glyphicon-eye-open:before{content:"\e105"}.factory-bootstrap-426 .glyphicon-eye-close:before{content:"\e106"}.factory-bootstrap-426 .glyphicon-warning-sign:before{content:"\e107"}.factory-bootstrap-426 .glyphicon-plane:before{content:"\e108"}.factory-bootstrap-426 .glyphicon-calendar:before{content:"\e109"}.factory-bootstrap-426 .glyphicon-random:before{content:"\e110"}.factory-bootstrap-426 .glyphicon-comment:before{content:"\e111"}.factory-bootstrap-426 .glyphicon-magnet:before{content:"\e112"}.factory-bootstrap-426 .glyphicon-chevron-up:before{content:"\e113"}.factory-bootstrap-426 .glyphicon-chevron-down:before{content:"\e114"}.factory-bootstrap-426 .glyphicon-retweet:before{content:"\e115"}.factory-bootstrap-426 .glyphicon-shopping-cart:before{content:"\e116"}.factory-bootstrap-426 .glyphicon-folder-close:before{content:"\e117"}.factory-bootstrap-426 .glyphicon-folder-open:before{content:"\e118"}.factory-bootstrap-426 .glyphicon-resize-vertical:before{content:"\e119"}.factory-bootstrap-426 .glyphicon-resize-horizontal:before{content:"\e120"}.factory-bootstrap-426 .glyphicon-hdd:before{content:"\e121"}.factory-bootstrap-426 .glyphicon-bullhorn:before{content:"\e122"}.factory-bootstrap-426 .glyphicon-bell:before{content:"\e123"}.factory-bootstrap-426 .glyphicon-certificate:before{content:"\e124"}.factory-bootstrap-426 .glyphicon-thumbs-up:before{content:"\e125"}.factory-bootstrap-426 .glyphicon-thumbs-down:before{content:"\e126"}.factory-bootstrap-426 .glyphicon-hand-right:before{content:"\e127"}.factory-bootstrap-426 .glyphicon-hand-left:before{content:"\e128"}.factory-bootstrap-426 .glyphicon-hand-up:before{content:"\e129"}.factory-bootstrap-426 .glyphicon-hand-down:before{content:"\e130"}.factory-bootstrap-426 .glyphicon-circle-arrow-right:before{content:"\e131"}.factory-bootstrap-426 .glyphicon-circle-arrow-left:before{content:"\e132"}.factory-bootstrap-426 .glyphicon-circle-arrow-up:before{content:"\e133"}.factory-bootstrap-426 .glyphicon-circle-arrow-down:before{content:"\e134"}.factory-bootstrap-426 .glyphicon-globe:before{content:"\e135"}.factory-bootstrap-426 .glyphicon-wrench:before{content:"\e136"}.factory-bootstrap-426 .glyphicon-tasks:before{content:"\e137"}.factory-bootstrap-426 .glyphicon-filter:before{content:"\e138"}.factory-bootstrap-426 .glyphicon-briefcase:before{content:"\e139"}.factory-bootstrap-426 .glyphicon-fullscreen:before{content:"\e140"}.factory-bootstrap-426 .glyphicon-dashboard:before{content:"\e141"}.factory-bootstrap-426 .glyphicon-paperclip:before{content:"\e142"}.factory-bootstrap-426 .glyphicon-heart-empty:before{content:"\e143"}.factory-bootstrap-426 .glyphicon-link:before{content:"\e144"}.factory-bootstrap-426 .glyphicon-phone:before{content:"\e145"}.factory-bootstrap-426 .glyphicon-pushpin:before{content:"\e146"}.factory-bootstrap-426 .glyphicon-usd:before{content:"\e148"}.factory-bootstrap-426 .glyphicon-gbp:before{content:"\e149"}.factory-bootstrap-426 .glyphicon-sort:before{content:"\e150"}.factory-bootstrap-426 .glyphicon-sort-by-alphabet:before{content:"\e151"}.factory-bootstrap-426 .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.factory-bootstrap-426 .glyphicon-sort-by-order:before{content:"\e153"}.factory-bootstrap-426 .glyphicon-sort-by-order-alt:before{content:"\e154"}.factory-bootstrap-426 .glyphicon-sort-by-attributes:before{content:"\e155"}.factory-bootstrap-426 .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.factory-bootstrap-426 .glyphicon-unchecked:before{content:"\e157"}.factory-bootstrap-426 .glyphicon-expand:before{content:"\e158"}.factory-bootstrap-426 .glyphicon-collapse-down:before{content:"\e159"}.factory-bootstrap-426 .glyphicon-collapse-up:before{content:"\e160"}.factory-bootstrap-426 .glyphicon-log-in:before{content:"\e161"}.factory-bootstrap-426 .glyphicon-flash:before{content:"\e162"}.factory-bootstrap-426 .glyphicon-log-out:before{content:"\e163"}.factory-bootstrap-426 .glyphicon-new-window:before{content:"\e164"}.factory-bootstrap-426 .glyphicon-record:before{content:"\e165"}.factory-bootstrap-426 .glyphicon-save:before{content:"\e166"}.factory-bootstrap-426 .glyphicon-open:before{content:"\e167"}.factory-bootstrap-426 .glyphicon-saved:before{content:"\e168"}.factory-bootstrap-426 .glyphicon-import:before{content:"\e169"}.factory-bootstrap-426 .glyphicon-export:before{content:"\e170"}.factory-bootstrap-426 .glyphicon-send:before{content:"\e171"}.factory-bootstrap-426 .glyphicon-floppy-disk:before{content:"\e172"}.factory-bootstrap-426 .glyphicon-floppy-saved:before{content:"\e173"}.factory-bootstrap-426 .glyphicon-floppy-remove:before{content:"\e174"}.factory-bootstrap-426 .glyphicon-floppy-save:before{content:"\e175"}.factory-bootstrap-426 .glyphicon-floppy-open:before{content:"\e176"}.factory-bootstrap-426 .glyphicon-credit-card:before{content:"\e177"}.factory-bootstrap-426 .glyphicon-transfer:before{content:"\e178"}.factory-bootstrap-426 .glyphicon-cutlery:before{content:"\e179"}.factory-bootstrap-426 .glyphicon-header:before{content:"\e180"}.factory-bootstrap-426 .glyphicon-compressed:before{content:"\e181"}.factory-bootstrap-426 .glyphicon-earphone:before{content:"\e182"}.factory-bootstrap-426 .glyphicon-phone-alt:before{content:"\e183"}.factory-bootstrap-426 .glyphicon-tower:before{content:"\e184"}.factory-bootstrap-426 .glyphicon-stats:before{content:"\e185"}.factory-bootstrap-426 .glyphicon-sd-video:before{content:"\e186"}.factory-bootstrap-426 .glyphicon-hd-video:before{content:"\e187"}.factory-bootstrap-426 .glyphicon-subtitles:before{content:"\e188"}.factory-bootstrap-426 .glyphicon-sound-stereo:before{content:"\e189"}.factory-bootstrap-426 .glyphicon-sound-dolby:before{content:"\e190"}.factory-bootstrap-426 .glyphicon-sound-5-1:before{content:"\e191"}.factory-bootstrap-426 .glyphicon-sound-6-1:before{content:"\e192"}.factory-bootstrap-426 .glyphicon-sound-7-1:before{content:"\e193"}.factory-bootstrap-426 .glyphicon-copyright-mark:before{content:"\e194"}.factory-bootstrap-426 .glyphicon-registration-mark:before{content:"\e195"}.factory-bootstrap-426 .glyphicon-cloud-download:before{content:"\e197"}.factory-bootstrap-426 .glyphicon-cloud-upload:before{content:"\e198"}.factory-bootstrap-426 .glyphicon-tree-conifer:before{content:"\e199"}.factory-bootstrap-426 .glyphicon-tree-deciduous:before{content:"\e200"}.factory-bootstrap-426 .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.factory-bootstrap-426 .dropdown{position:relative}.factory-bootstrap-426 .dropdown-toggle:focus{outline:0}.factory-bootstrap-426 .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.factory-bootstrap-426 .dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-426 .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-426 .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.factory-bootstrap-426 .dropdown-menu>li>a:focus,.factory-bootstrap-426 .dropdown-menu>li>a:hover{color:#262626;text-decoration:none}.factory-bootstrap-426 .dropdown-menu>.active>a,.factory-bootstrap-426 .dropdown-menu>.active>a:focus,.factory-bootstrap-426 .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0}.factory-bootstrap-426 .dropdown-menu>.disabled>a,.factory-bootstrap-426 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-426 .dropdown-menu>.disabled>a:hover{color:#999}.factory-bootstrap-426 .dropdown-menu>.disabled>a:focus,.factory-bootstrap-426 .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-426 .open>.dropdown-menu{display:block}.factory-bootstrap-426 .open>a{outline:0}.factory-bootstrap-426 .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.factory-bootstrap-426 .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.factory-bootstrap-426 .pull-right>.dropdown-menu{right:0;left:auto}.factory-bootstrap-426 .dropup .caret,.factory-bootstrap-426 .navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.factory-bootstrap-426 .dropup .dropdown-menu,.factory-bootstrap-426 .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.factory-bootstrap-426 .btn-group,.factory-bootstrap-426 .btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.factory-bootstrap-426 .btn-group-vertical>.btn,.factory-bootstrap-426 .btn-group>.btn{position:relative;float:left}.factory-bootstrap-426 .btn-group-vertical>.btn.active,.factory-bootstrap-426 .btn-group-vertical>.btn:active,.factory-bootstrap-426 .btn-group-vertical>.btn:focus,.factory-bootstrap-426 .btn-group-vertical>.btn:hover,.factory-bootstrap-426 .btn-group>.btn.active,.factory-bootstrap-426 .btn-group>.btn:active,.factory-bootstrap-426 .btn-group>.btn:focus,.factory-bootstrap-426 .btn-group>.btn:hover{z-index:2}.factory-bootstrap-426 .btn-group-vertical>.btn:focus,.factory-bootstrap-426 .btn-group>.btn:focus{outline:0}.factory-bootstrap-426 .btn-group .btn+.btn,.factory-bootstrap-426 .btn-group .btn+.btn-group,.factory-bootstrap-426 .btn-group .btn-group+.btn,.factory-bootstrap-426 .btn-group .btn-group+.btn-group{margin-left:-1px}.factory-bootstrap-426 .btn-toolbar:after,.factory-bootstrap-426 .btn-toolbar:before{display:table;content:" "}.factory-bootstrap-426 .btn-toolbar:after{clear:both}.factory-bootstrap-426 .btn-toolbar .btn-group{float:left}.factory-bootstrap-426 .btn-toolbar>.btn+.btn,.factory-bootstrap-426 .btn-toolbar>.btn+.btn-group,.factory-bootstrap-426 .btn-toolbar>.btn-group+.btn,.factory-bootstrap-426 .btn-toolbar>.btn-group+.btn-group{margin-left:5px}.factory-bootstrap-426 .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.factory-bootstrap-426 .btn-group>.btn:first-child{margin-left:0}.factory-bootstrap-426 .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-426 .btn-group>.btn:last-child:not(:first-child),.factory-bootstrap-426 .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .btn-group>.btn-group{float:left}.factory-bootstrap-426 .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-426 .btn-group>.btn-group:first-child>.btn:last-child,.factory-bootstrap-426 .btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-426 .btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .btn-group .dropdown-toggle:active,.factory-bootstrap-426 .btn-group.open .dropdown-toggle{outline:0}.factory-bootstrap-426 .btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-426 .btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-426 .btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-426 .btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.factory-bootstrap-426 .btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.factory-bootstrap-426 .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.factory-bootstrap-426 .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-426 .btn-group{border:4px solid #f9f9f9;border-radius:4px}.factory-bootstrap-426 .btn-group .btn.active.value{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-426 .btn .caret{margin-left:0}.factory-bootstrap-426 .btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.factory-bootstrap-426 .dropup .btn-lg .caret{border-width:0 5px 5px}.factory-bootstrap-426 .btn-group-vertical>.btn,.factory-bootstrap-426 .btn-group-vertical>.btn-group,.factory-bootstrap-426 .btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.factory-bootstrap-426 .btn-group-vertical>.btn-group:after,.factory-bootstrap-426 .btn-group-vertical>.btn-group:before{display:table;content:" "}.factory-bootstrap-426 .btn-group-vertical>.btn-group:after{clear:both}.factory-bootstrap-426 .btn-group-vertical>.btn-group>.btn{float:none}.factory-bootstrap-426 .btn-group-vertical>.btn+.btn,.factory-bootstrap-426 .btn-group-vertical>.btn+.btn-group,.factory-bootstrap-426 .btn-group-vertical>.btn-group+.btn,.factory-bootstrap-426 .btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.factory-bootstrap-426 .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-426 .btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-426 .btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.factory-bootstrap-426 .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.factory-bootstrap-426 .btn-group-vertical>.btn-group:first-child>.btn:last-child,.factory-bootstrap-426 .btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-426 .btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.factory-bootstrap-426 .btn-group-justified>.btn,.factory-bootstrap-426 .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.factory-bootstrap-426 .btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{display:none}.factory-bootstrap-426 .input-group{position:relative;display:table;border-collapse:separate}.factory-bootstrap-426 .input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.factory-bootstrap-426 .input-group .form-control{width:100%;margin-bottom:0}.factory-bootstrap-426 .input-group-lg>.form-control,.factory-bootstrap-426 .input-group-lg>.input-group-addon,.factory-bootstrap-426 .input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.factory-bootstrap-426 select.input-group-lg>.form-control,.factory-bootstrap-426 select.input-group-lg>.input-group-addon,.factory-bootstrap-426 select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.factory-bootstrap-426 textarea.input-group-lg>.form-control,.factory-bootstrap-426 textarea.input-group-lg>.input-group-addon,.factory-bootstrap-426 textarea.input-group-lg>.input-group-btn>.btn{height:auto}.factory-bootstrap-426 .input-group-sm>.form-control,.factory-bootstrap-426 .input-group-sm>.input-group-addon,.factory-bootstrap-426 .input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.factory-bootstrap-426 select.input-group-sm>.form-control,.factory-bootstrap-426 select.input-group-sm>.input-group-addon,.factory-bootstrap-426 select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.factory-bootstrap-426 textarea.input-group-sm>.form-control,.factory-bootstrap-426 textarea.input-group-sm>.input-group-addon,.factory-bootstrap-426 textarea.input-group-sm>.input-group-btn>.btn{height:auto}.factory-bootstrap-426 .input-group .form-control,.factory-bootstrap-426 .input-group-addon,.factory-bootstrap-426 .input-group-btn{display:table-cell}.factory-bootstrap-426 .input-group .form-control:not(:first-child):not(:last-child),.factory-bootstrap-426 .input-group-addon:not(:first-child):not(:last-child),.factory-bootstrap-426 .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.factory-bootstrap-426 .input-group-addon,.factory-bootstrap-426 .input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.factory-bootstrap-426 .input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.factory-bootstrap-426 .input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.factory-bootstrap-426 .input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.factory-bootstrap-426 .input-group-addon input[type=checkbox],.factory-bootstrap-426 .input-group-addon input[type=radio]{margin-top:0}.factory-bootstrap-426 .input-group .form-control:first-child,.factory-bootstrap-426 .input-group-addon:first-child,.factory-bootstrap-426 .input-group-btn:first-child>.btn,.factory-bootstrap-426 .input-group-btn:first-child>.dropdown-toggle,.factory-bootstrap-426 .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-426 .input-group-addon:first-child{border-right:0}.factory-bootstrap-426 .input-group .form-control:last-child,.factory-bootstrap-426 .input-group-addon:last-child,.factory-bootstrap-426 .input-group-btn:first-child>.btn:not(:first-child),.factory-bootstrap-426 .input-group-btn:last-child>.btn,.factory-bootstrap-426 .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .input-group-addon:last-child{border-left:0}.factory-bootstrap-426 .input-group-btn{position:relative;white-space:nowrap}.factory-bootstrap-426 .input-group-btn:first-child>.btn{margin-right:-1px}.factory-bootstrap-426 .input-group-btn:last-child>.btn{margin-left:-1px}.factory-bootstrap-426 .input-group-btn>.btn{position:relative}.factory-bootstrap-426 .input-group-btn>.btn+.btn{margin-left:-4px}.factory-bootstrap-426 .input-group-btn>.btn:active,.factory-bootstrap-426 .input-group-btn>.btn:hover{z-index:2}.factory-bootstrap-426 .nav{padding-left:0;margin-bottom:0;list-style:none}.factory-bootstrap-426 .nav:after,.factory-bootstrap-426 .nav:before{display:table;content:" "}.factory-bootstrap-426 .nav:after{clear:both}.factory-bootstrap-426 .nav>li{position:relative;display:block}.factory-bootstrap-426 .nav>li>a{position:relative;display:block;padding:10px 15px}.factory-bootstrap-426 .nav>li>a:focus,.factory-bootstrap-426 .nav>li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-426 .nav>li.disabled>a{color:#999}.factory-bootstrap-426 .nav>li.disabled>a:focus,.factory-bootstrap-426 .nav>li.disabled>a:hover{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.factory-bootstrap-426 .nav .open>a,.factory-bootstrap-426 .nav .open>a:focus,.factory-bootstrap-426 .nav .open>a:hover{background-color:#eee;border-color:#428bca}.factory-bootstrap-426 .nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.factory-bootstrap-426 .nav>li>a>img{max-width:none}.factory-bootstrap-426 .nav-tabs{border-bottom:1px solid #ddd}.factory-bootstrap-426 .nav-tabs>li{float:left;margin-bottom:-1px}.factory-bootstrap-426 .nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.factory-bootstrap-426 .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.factory-bootstrap-426 .nav-tabs>li.active>a,.factory-bootstrap-426 .nav-tabs>li.active>a:focus,.factory-bootstrap-426 .nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.factory-bootstrap-426 .nav-tabs.nav-justified{width:100%;border-bottom:0}.factory-bootstrap-426 .nav-tabs.nav-justified>li{float:none}.factory-bootstrap-426 .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-426 .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-426 .nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-426 .nav-tabs.nav-justified>.active>a,.factory-bootstrap-426 .nav-tabs.nav-justified>.active>a:focus,.factory-bootstrap-426 .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-426 .nav-pills>li{float:left}.factory-bootstrap-426 .nav-pills>li>a{border-radius:4px}.factory-bootstrap-426 .nav-pills>li+li{margin-left:2px}.factory-bootstrap-426 .nav-pills>li.active>a,.factory-bootstrap-426 .nav-pills>li.active>a:focus,.factory-bootstrap-426 .nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.factory-bootstrap-426 .nav-stacked>li{float:none}.factory-bootstrap-426 .nav-stacked>li+li{margin-top:2px;margin-left:0}.factory-bootstrap-426 .nav-justified{width:100%}.factory-bootstrap-426 .nav-justified>li{float:none}.factory-bootstrap-426 .nav-justified>li>a{margin-bottom:5px;text-align:center}.factory-bootstrap-426 .nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.factory-bootstrap-426 .nav-tabs-justified{border-bottom:0}.factory-bootstrap-426 .nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.factory-bootstrap-426 .nav-tabs-justified>.active>a,.factory-bootstrap-426 .nav-tabs-justified>.active>a:focus,.factory-bootstrap-426 .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.factory-bootstrap-426 .tab-content>.tab-pane{display:none}.factory-bootstrap-426 .tab-content>.active{display:block}.factory-bootstrap-426 .nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.factory-bootstrap-426 .navbar:after,.factory-bootstrap-426 .navbar:before{display:table;content:" "}.factory-bootstrap-426 .navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.factory-bootstrap-426 .navbar-header:after,.factory-bootstrap-426 .navbar-header:before{display:table;content:" "}.factory-bootstrap-426 .navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.factory-bootstrap-426 .navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.factory-bootstrap-426 .navbar-collapse:after,.factory-bootstrap-426 .navbar-collapse:before{display:table;content:" "}.factory-bootstrap-426 .navbar-collapse:after{clear:both}.factory-bootstrap-426 .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.factory-bootstrap-426 .container>.navbar-collapse,.factory-bootstrap-426 .container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.factory-bootstrap-426 .navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.factory-bootstrap-426 .navbar-fixed-bottom,.factory-bootstrap-426 .navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.factory-bootstrap-426 .navbar-fixed-top{top:0;border-width:0 0 1px}.factory-bootstrap-426 .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.factory-bootstrap-426 .navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px}.factory-bootstrap-426 .navbar-brand:focus,.factory-bootstrap-426 .navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.factory-bootstrap-426 .navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.factory-bootstrap-426 .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.factory-bootstrap-426 .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.factory-bootstrap-426 .navbar-nav{margin:7.5px -15px}.factory-bootstrap-426 .navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.factory-bootstrap-426 .navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form select.form-control{width:auto}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.factory-bootstrap-426 .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.factory-bootstrap-426 .navbar-nav.pull-right>li>.dropdown-menu,.factory-bootstrap-426 .navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.factory-bootstrap-426 .navbar-btn{margin-top:8px;margin-bottom:8px}.factory-bootstrap-426 .navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.factory-bootstrap-426 .navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.factory-bootstrap-426 .navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.factory-bootstrap-426 .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.factory-bootstrap-426 .navbar-default .navbar-brand{color:#777}.factory-bootstrap-426 .navbar-default .navbar-brand:focus,.factory-bootstrap-426 .navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.factory-bootstrap-426 .navbar-default .navbar-nav>li>a,.factory-bootstrap-426 .navbar-default .navbar-text{color:#777}.factory-bootstrap-426 .navbar-default .navbar-nav>li>a:focus,.factory-bootstrap-426 .navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.factory-bootstrap-426 .navbar-default .navbar-nav>.active>a,.factory-bootstrap-426 .navbar-default .navbar-nav>.active>a:focus,.factory-bootstrap-426 .navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.factory-bootstrap-426 .navbar-default .navbar-nav>.disabled>a,.factory-bootstrap-426 .navbar-default .navbar-nav>.disabled>a:focus,.factory-bootstrap-426 .navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.factory-bootstrap-426 .navbar-default .navbar-toggle{border-color:#ddd}.factory-bootstrap-426 .navbar-default .navbar-toggle:focus,.factory-bootstrap-426 .navbar-default .navbar-toggle:hover{background-color:#ddd}.factory-bootstrap-426 .navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.factory-bootstrap-426 .navbar-default .navbar-collapse,.factory-bootstrap-426 .navbar-default .navbar-form{border-color:#e7e7e7}.factory-bootstrap-426 .navbar-default .navbar-nav>.open>a,.factory-bootstrap-426 .navbar-default .navbar-nav>.open>a:focus,.factory-bootstrap-426 .navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.factory-bootstrap-426 .navbar-default .navbar-link{color:#777}.factory-bootstrap-426 .navbar-default .navbar-link:hover{color:#333}.factory-bootstrap-426 .navbar-inverse{background-color:#222;border-color:#080808}.factory-bootstrap-426 .navbar-inverse .navbar-brand{color:#999}.factory-bootstrap-426 .navbar-inverse .navbar-brand:focus,.factory-bootstrap-426 .navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.factory-bootstrap-426 .navbar-inverse .navbar-nav>li>a,.factory-bootstrap-426 .navbar-inverse .navbar-text{color:#999}.factory-bootstrap-426 .navbar-inverse .navbar-nav>li>a:focus,.factory-bootstrap-426 .navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.factory-bootstrap-426 .navbar-inverse .navbar-nav>.active>a,.factory-bootstrap-426 .navbar-inverse .navbar-nav>.active>a:focus,.factory-bootstrap-426 .navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.factory-bootstrap-426 .navbar-inverse .navbar-nav>.disabled>a,.factory-bootstrap-426 .navbar-inverse .navbar-nav>.disabled>a:focus,.factory-bootstrap-426 .navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.factory-bootstrap-426 .navbar-inverse .navbar-toggle{border-color:#333}.factory-bootstrap-426 .navbar-inverse .navbar-toggle:focus,.factory-bootstrap-426 .navbar-inverse .navbar-toggle:hover{background-color:#333}.factory-bootstrap-426 .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.factory-bootstrap-426 .navbar-inverse .navbar-collapse,.factory-bootstrap-426 .navbar-inverse .navbar-form{border-color:#101010}.factory-bootstrap-426 .navbar-inverse .navbar-nav>.open>a,.factory-bootstrap-426 .navbar-inverse .navbar-nav>.open>a:focus,.factory-bootstrap-426 .navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.factory-bootstrap-426 .navbar-inverse .navbar-link{color:#999}.factory-bootstrap-426 .navbar-inverse .navbar-link:hover{color:#fff}.factory-bootstrap-426 .breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.factory-bootstrap-426 .breadcrumb>li{display:inline-block}.factory-bootstrap-426 .breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.factory-bootstrap-426 .breadcrumb>.active{color:#999}.factory-bootstrap-426 .pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.factory-bootstrap-426 .pagination>li{display:inline}.factory-bootstrap-426 .pagination>li>a,.factory-bootstrap-426 .pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-426 .pagination>li:first-child>a,.factory-bootstrap-426 .pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.factory-bootstrap-426 .pagination>li:last-child>a,.factory-bootstrap-426 .pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.factory-bootstrap-426 .pagination>li>a:focus,.factory-bootstrap-426 .pagination>li>a:hover,.factory-bootstrap-426 .pagination>li>span:focus,.factory-bootstrap-426 .pagination>li>span:hover{background-color:#eee}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#1e8cbe;border-color:#0074a2}.factory-bootstrap-426 .pagination>.disabled>a,.factory-bootstrap-426 .pagination>.disabled>a:focus,.factory-bootstrap-426 .pagination>.disabled>a:hover,.factory-bootstrap-426 .pagination>.disabled>span,.factory-bootstrap-426 .pagination>.disabled>span:focus,.factory-bootstrap-426 .pagination>.disabled>span:hover{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.factory-bootstrap-426 .pagination-lg>li>a,.factory-bootstrap-426 .pagination-lg>li>span{padding:10px 16px;font-size:18px}.factory-bootstrap-426 .pagination-lg>li:first-child>a,.factory-bootstrap-426 .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.factory-bootstrap-426 .pagination-lg>li:last-child>a,.factory-bootstrap-426 .pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.factory-bootstrap-426 .pagination-sm>li>a,.factory-bootstrap-426 .pagination-sm>li>span{padding:5px 10px;font-size:12px}.factory-bootstrap-426 .pagination-sm>li:first-child>a,.factory-bootstrap-426 .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.factory-bootstrap-426 .pagination-sm>li:last-child>a,.factory-bootstrap-426 .pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.factory-bootstrap-426 .pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.factory-bootstrap-426 .pager:after,.factory-bootstrap-426 .pager:before{display:table;content:" "}.factory-bootstrap-426 .pager:after{clear:both}.factory-bootstrap-426 .pager li{display:inline}.factory-bootstrap-426 .pager li>a,.factory-bootstrap-426 .pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.factory-bootstrap-426 .pager li>a:focus,.factory-bootstrap-426 .pager li>a:hover{text-decoration:none;background-color:#eee}.factory-bootstrap-426 .pager .next>a,.factory-bootstrap-426 .pager .next>span{float:right}.factory-bootstrap-426 .pager .previous>a,.factory-bootstrap-426 .pager .previous>span{float:left}.factory-bootstrap-426 .pager .disabled>a,.factory-bootstrap-426 .pager .disabled>a:focus,.factory-bootstrap-426 .pager .disabled>a:hover,.factory-bootstrap-426 .pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.factory-bootstrap-426 .label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.factory-bootstrap-426 .label[href]:focus,.factory-bootstrap-426 .label[href]:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-426 .label:empty{display:none}.factory-bootstrap-426 .btn .label{position:relative;top:-1px}.factory-bootstrap-426 .label-default{background-color:#999}.factory-bootstrap-426 .label-default[href]:focus,.factory-bootstrap-426 .label-default[href]:hover{background-color:gray}.factory-bootstrap-426 .label-primary{background-color:#428bca}.factory-bootstrap-426 .label-primary[href]:focus,.factory-bootstrap-426 .label-primary[href]:hover{background-color:#3071a9}.factory-bootstrap-426 .label-success{background-color:#5cb85c}.factory-bootstrap-426 .label-success[href]:focus,.factory-bootstrap-426 .label-success[href]:hover{background-color:#449d44}.factory-bootstrap-426 .label-info{background-color:#5bc0de}.factory-bootstrap-426 .label-info[href]:focus,.factory-bootstrap-426 .label-info[href]:hover{background-color:#31b0d5}.factory-bootstrap-426 .label-warning{background-color:#f0ad4e}.factory-bootstrap-426 .label-warning[href]:focus,.factory-bootstrap-426 .label-warning[href]:hover{background-color:#ec971f}.factory-bootstrap-426 .label-danger{background-color:#d9534f}.factory-bootstrap-426 .label-danger[href]:focus,.factory-bootstrap-426 .label-danger[href]:hover{background-color:#c9302c}.factory-bootstrap-426 .badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.factory-bootstrap-426 .badge:empty{display:none}.factory-bootstrap-426 .btn .badge{position:relative;top:-1px}.factory-bootstrap-426 a.badge:focus,.factory-bootstrap-426 a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.factory-bootstrap-426 .nav-pills>.active>a>.badge,.factory-bootstrap-426 a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.factory-bootstrap-426 .nav-pills>li>a>.badge{margin-left:3px}.factory-bootstrap-426 .jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.factory-bootstrap-426 .jumbotron .h1,.factory-bootstrap-426 .jumbotron h1{line-height:1;color:inherit}.factory-bootstrap-426 .jumbotron p{line-height:1.4}.factory-bootstrap-426 .container .jumbotron{border-radius:6px}.factory-bootstrap-426 .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.factory-bootstrap-426 .thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.factory-bootstrap-426 .thumbnail a>img,.factory-bootstrap-426 .thumbnail>img{display:block;height:auto;max-width:100%;margin-right:auto;margin-left:auto}.factory-bootstrap-426 a.thumbnail.active,.factory-bootstrap-426 a.thumbnail:focus,.factory-bootstrap-426 a.thumbnail:hover{border-color:#428bca}.factory-bootstrap-426 .thumbnail .caption{padding:9px;color:#333}.factory-bootstrap-426 .alert{border:1px solid transparent;border-radius:4px}.factory-bootstrap-426 .alert h4{margin-top:0;color:inherit}.factory-bootstrap-426 .alert .alert-link{font-weight:700}.factory-bootstrap-426 .alert>p,.factory-bootstrap-426 .alert>ul{margin-bottom:0}.factory-bootstrap-426 .alert>p+p{margin-top:5px}.factory-bootstrap-426 .alert-dismissable{padding-right:35px}.factory-bootstrap-426 .alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.factory-bootstrap-426 .alert-info{color:#31708f;background-color:#d9edf7}.factory-bootstrap-426 .alert-info hr{border-top-color:#a6e1ec}.factory-bootstrap-426 .alert-info .alert-link{color:#245269}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.factory-bootstrap-426 .progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.factory-bootstrap-426 .progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#2ea2cc;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.factory-bootstrap-426 .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.factory-bootstrap-426 .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.factory-bootstrap-426 .progress-bar-success{background-color:#5cb85c}.factory-bootstrap-426 .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-426 .progress-bar-info{background-color:#5bc0de}.factory-bootstrap-426 .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-426 .progress-bar-warning{background-color:#f0ad4e}.factory-bootstrap-426 .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-426 .progress-bar-danger{background-color:#d9534f}.factory-bootstrap-426 .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.factory-bootstrap-426 .media,.factory-bootstrap-426 .media-body{overflow:hidden;zoom:1}.factory-bootstrap-426 .media,.factory-bootstrap-426 .media .media{margin-top:15px}.factory-bootstrap-426 .media:first-child{margin-top:0}.factory-bootstrap-426 .media-object{display:block}.factory-bootstrap-426 .media-heading{margin:0 0 5px}.factory-bootstrap-426 .media>.pull-left{margin-right:10px}.factory-bootstrap-426 .media>.pull-right{margin-left:10px}.factory-bootstrap-426 .media-list{padding-left:0;list-style:none}.factory-bootstrap-426 .list-group{padding-left:0;margin-bottom:20px}.factory-bootstrap-426 .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.factory-bootstrap-426 .list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.factory-bootstrap-426 .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.factory-bootstrap-426 .list-group-item>.badge{float:right}.factory-bootstrap-426 .list-group-item>.badge+.badge{margin-right:5px}.factory-bootstrap-426 a.list-group-item{color:#555}.factory-bootstrap-426 a.list-group-item .list-group-item-heading{color:#333}.factory-bootstrap-426 a.list-group-item:focus,.factory-bootstrap-426 a.list-group-item:hover{text-decoration:none;background-color:#f5f5f5}.factory-bootstrap-426 a.list-group-item.active,.factory-bootstrap-426 a.list-group-item.active:focus,.factory-bootstrap-426 a.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-426 a.list-group-item.active .list-group-item-heading,.factory-bootstrap-426 a.list-group-item.active:focus .list-group-item-heading,.factory-bootstrap-426 a.list-group-item.active:hover .list-group-item-heading{color:inherit}.factory-bootstrap-426 a.list-group-item.active .list-group-item-text,.factory-bootstrap-426 a.list-group-item.active:focus .list-group-item-text,.factory-bootstrap-426 a.list-group-item.active:hover .list-group-item-text{color:#e1edf7}.factory-bootstrap-426 .list-group-item-heading{margin-top:0;margin-bottom:5px}.factory-bootstrap-426 .list-group-item-text{margin-bottom:0;line-height:1.3}.factory-bootstrap-426 .panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px}.factory-bootstrap-426 .panel-body{padding:15px}.factory-bootstrap-426 .panel-body:after,.factory-bootstrap-426 .panel-body:before{display:table;content:" "}.factory-bootstrap-426 .panel-body:after{clear:both}.factory-bootstrap-426 .panel>.list-group{margin-bottom:0}.factory-bootstrap-426 .panel>.list-group .list-group-item{border-width:1px 0}.factory-bootstrap-426 .panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.factory-bootstrap-426 .panel>.list-group .list-group-item:last-child{border-bottom:0}.factory-bootstrap-426 .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.factory-bootstrap-426 .panel>.table,.factory-bootstrap-426 .panel>.table-responsive>.table{margin-bottom:0}.factory-bootstrap-426 .panel>.panel-body+.table,.factory-bootstrap-426 .panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.factory-bootstrap-426 .panel>.table>tbody:first-child td,.factory-bootstrap-426 .panel>.table>tbody:first-child th{border-top:0}.factory-bootstrap-426 .panel>.table-bordered,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered{border:0}.factory-bootstrap-426 .panel>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-426 .panel>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-426 .panel>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-426 .panel>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-426 .panel>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-426 .panel>.table-bordered>thead>tr>th:first-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.factory-bootstrap-426 .panel>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-426 .panel>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-426 .panel>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-426 .panel>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-426 .panel>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-426 .panel>.table-bordered>thead>tr>th:last-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.factory-bootstrap-426 .panel>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-426 .panel>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-426 .panel>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-426 .panel>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-426 .panel>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-426 .panel>.table-bordered>thead>tr:last-child>th,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.factory-bootstrap-426 .panel>.table-responsive>.table-bordered>thead>tr:last-child>th{border-bottom:0}.factory-bootstrap-426 .panel>.table-responsive{margin-bottom:0;border:0}.factory-bootstrap-426 .panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.factory-bootstrap-426 .panel-heading>.dropdown .dropdown-toggle{color:inherit}.factory-bootstrap-426 .panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.factory-bootstrap-426 .panel-title>a{color:inherit}.factory-bootstrap-426 .panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.factory-bootstrap-426 .panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.factory-bootstrap-426 .panel-group .panel+.panel{margin-top:5px}.factory-bootstrap-426 .panel-group .panel-heading{border-bottom:0}.factory-bootstrap-426 .panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.factory-bootstrap-426 .panel-group .panel-footer{border-top:0}.factory-bootstrap-426 .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.factory-bootstrap-426 .panel-default{border-color:#ddd}.factory-bootstrap-426 .panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.factory-bootstrap-426 .panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.factory-bootstrap-426 .panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.factory-bootstrap-426 .panel-primary{border-color:#428bca}.factory-bootstrap-426 .panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.factory-bootstrap-426 .panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.factory-bootstrap-426 .panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.factory-bootstrap-426 .panel-success{border-color:#d6e9c6}.factory-bootstrap-426 .panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.factory-bootstrap-426 .panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.factory-bootstrap-426 .panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.factory-bootstrap-426 .panel-warning{border-color:#faebcc}.factory-bootstrap-426 .panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.factory-bootstrap-426 .panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.factory-bootstrap-426 .panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.factory-bootstrap-426 .panel-danger{border-color:#ebccd1}.factory-bootstrap-426 .panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.factory-bootstrap-426 .panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.factory-bootstrap-426 .panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.factory-bootstrap-426 .panel-info{border-color:#bce8f1}.factory-bootstrap-426 .panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.factory-bootstrap-426 .panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.factory-bootstrap-426 .panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.factory-bootstrap-426 .well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px}.factory-bootstrap-426 .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.factory-bootstrap-426 .well-lg{padding:24px;border-radius:6px}.factory-bootstrap-426 .well-sm{padding:9px;border-radius:3px}.factory-bootstrap-426 .close{float:right;font-size:14px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.3;filter:alpha(opacity=30)}.factory-bootstrap-426 .alert .close{position:relative;top:-8px;right:-7px}.factory-bootstrap-426 .close:focus,.factory-bootstrap-426 .close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-426 button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.factory-bootstrap-426 .modal-open{overflow:hidden}.factory-bootstrap-426 .modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll;width:auto;margin-left:0;background-color:transparent;border:0}.factory-bootstrap-426 .modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.factory-bootstrap-426 .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.factory-bootstrap-426 .modal-dialog{position:relative;z-index:1050;width:auto;margin:10px}.factory-bootstrap-426 .modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box}.factory-bootstrap-426 .modal-backdrop,.factory-bootstrap-426-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.factory-bootstrap-426 .modal-backdrop.fade,.factory-bootstrap-426-modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.factory-bootstrap-426 .modal-backdrop.in,.factory-bootstrap-426-modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-426 .modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.factory-bootstrap-426 .modal-header .close{margin-top:-2px}.factory-bootstrap-426 .modal-title{margin:0;line-height:1.428571429}.factory-bootstrap-426 .modal-body{position:relative;padding:20px;max-height:none}.factory-bootstrap-426 .modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.factory-bootstrap-426 .modal-footer:after,.factory-bootstrap-426 .modal-footer:before{display:table;content:" "}.factory-bootstrap-426 .modal-footer:after{clear:both}.factory-bootstrap-426 .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.factory-bootstrap-426 .modal-footer .btn-group .btn+.btn{margin-left:-1px}.factory-bootstrap-426 .modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.factory-bootstrap-426 .modal-dialog{width:600px;margin:30px auto}.factory-bootstrap-426 .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}}.factory-bootstrap-426 .tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.factory-bootstrap-426 .tooltip.in{opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-426 .tooltip.top{padding:5px 0;margin-top:-3px}.factory-bootstrap-426 .tooltip.right{padding:0 5px;margin-left:3px}.factory-bootstrap-426 .tooltip.bottom{padding:5px 0;margin-top:3px}.factory-bootstrap-426 .tooltip.left{padding:0 5px;margin-left:-3px}.factory-bootstrap-426 .tooltip-inner{width:400px;padding:15px 20px;color:#fff;text-align:left;text-decoration:none;background-color:#673ab7;border-radius:3px}.factory-bootstrap-426 .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-426 .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-426 .tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-426 .tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#673ab7;border-width:5px 5px 0}.factory-bootstrap-426 .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#673ab7;border-width:5px 5px 5px 0}.factory-bootstrap-426 .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#673ab7;border-width:5px 0 5px 5px}.factory-bootstrap-426 .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-426 .tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-426 .tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#673ab7;border-width:0 5px 5px}.factory-bootstrap-426 .popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);background-clip:padding-box}.factory-bootstrap-426 .popover.top{margin-top:-10px}.factory-bootstrap-426 .popover.right{margin-left:10px}.factory-bootstrap-426 .popover.bottom{margin-top:10px}.factory-bootstrap-426 .popover.left{margin-left:-10px}.factory-bootstrap-426 .popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.factory-bootstrap-426 .popover-content{padding:9px 14px}.factory-bootstrap-426 .popover .arrow,.factory-bootstrap-426 .popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.factory-bootstrap-426 .popover .arrow{border-width:11px}.factory-bootstrap-426 .popover .arrow:after{border-width:10px;content:""}.factory-bootstrap-426 .popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.factory-bootstrap-426 .popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.factory-bootstrap-426 .popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.factory-bootstrap-426 .popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.factory-bootstrap-426 .popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0}.factory-bootstrap-426 .popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.factory-bootstrap-426 .popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0}.factory-bootstrap-426 .popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.factory-bootstrap-426 .carousel{position:relative}.factory-bootstrap-426 .carousel-inner{position:relative;width:100%;overflow:hidden}.factory-bootstrap-426 .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.factory-bootstrap-426 .carousel-inner>.item>a>img,.factory-bootstrap-426 .carousel-inner>.item>img{display:block;height:auto;max-width:100%;line-height:1}.factory-bootstrap-426 .carousel-inner>.active,.factory-bootstrap-426 .carousel-inner>.next,.factory-bootstrap-426 .carousel-inner>.prev{display:block}.factory-bootstrap-426 .carousel-inner>.active{left:0}.factory-bootstrap-426 .carousel-inner>.next,.factory-bootstrap-426 .carousel-inner>.prev{position:absolute;top:0;width:100%}.factory-bootstrap-426 .carousel-inner>.next{left:100%}.factory-bootstrap-426 .carousel-inner>.prev{left:-100%}.factory-bootstrap-426 .carousel-inner>.next.left,.factory-bootstrap-426 .carousel-inner>.prev.right{left:0}.factory-bootstrap-426 .carousel-inner>.active.left{left:-100%}.factory-bootstrap-426 .carousel-inner>.active.right{left:100%}.factory-bootstrap-426 .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);opacity:.5;filter:alpha(opacity=50)}.factory-bootstrap-426 .carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.factory-bootstrap-426 .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.factory-bootstrap-426 .carousel-control:focus,.factory-bootstrap-426 .carousel-control:hover{color:#fff;text-decoration:none;outline:0;opacity:.9;filter:alpha(opacity=90)}.factory-bootstrap-426 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-426 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-426 .carousel-control .icon-next,.factory-bootstrap-426 .carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.factory-bootstrap-426 .carousel-control .glyphicon-chevron-left,.factory-bootstrap-426 .carousel-control .icon-prev{left:50%}.factory-bootstrap-426 .carousel-control .glyphicon-chevron-right,.factory-bootstrap-426 .carousel-control .icon-next{right:50%}.factory-bootstrap-426 .carousel-control .icon-next,.factory-bootstrap-426 .carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.factory-bootstrap-426 .carousel-control .icon-prev:before{content:'\2039'}.factory-bootstrap-426 .carousel-control .icon-next:before{content:'\203a'}.factory-bootstrap-426 .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.factory-bootstrap-426 .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.factory-bootstrap-426 .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.factory-bootstrap-426 .carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.factory-bootstrap-426 .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.factory-bootstrap-426 .clearfix:after,.factory-bootstrap-426 .clearfix:before{display:table;content:" "}.factory-bootstrap-426 .clearfix:after{clear:both}.factory-bootstrap-426 .center-block{display:block;margin-right:auto;margin-left:auto}.factory-bootstrap-426 .pull-right{float:right!important}.factory-bootstrap-426 .pull-left{float:left!important}.factory-bootstrap-426 .hide{display:none!important}.factory-bootstrap-426 .show{display:block!important}.factory-bootstrap-426 .invisible{visibility:hidden}.factory-bootstrap-426 .text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.factory-bootstrap-426 .hidden{display:none!important;visibility:hidden!important}.factory-bootstrap-426 .affix{position:fixed}@-ms-viewport{width:device-width}.factory-bootstrap-426 .visible-lg,.factory-bootstrap-426 .visible-md,.factory-bootstrap-426 .visible-sm,.factory-bootstrap-426 .visible-xs,.factory-bootstrap-426 td.visible-lg,.factory-bootstrap-426 td.visible-md,.factory-bootstrap-426 td.visible-sm,.factory-bootstrap-426 td.visible-xs,.factory-bootstrap-426 th.visible-lg,.factory-bootstrap-426 th.visible-md,.factory-bootstrap-426 th.visible-sm,.factory-bootstrap-426 th.visible-xs,.factory-bootstrap-426 tr.visible-lg,.factory-bootstrap-426 tr.visible-md,.factory-bootstrap-426 tr.visible-sm,.factory-bootstrap-426 tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.factory-bootstrap-426 .hidden-xs{display:block!important}.factory-bootstrap-426 table.hidden-xs{display:table}.factory-bootstrap-426 tr.hidden-xs{display:table-row!important}.factory-bootstrap-426 td.hidden-xs,.factory-bootstrap-426 th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.factory-bootstrap-426 .hidden-sm{display:block!important}.factory-bootstrap-426 table.hidden-sm{display:table}.factory-bootstrap-426 tr.hidden-sm{display:table-row!important}.factory-bootstrap-426 td.hidden-sm,.factory-bootstrap-426 th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.factory-bootstrap-426 .hidden-md{display:block!important}.factory-bootstrap-426 table.hidden-md{display:table}.factory-bootstrap-426 tr.hidden-md{display:table-row!important}.factory-bootstrap-426 td.hidden-md,.factory-bootstrap-426 th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.factory-bootstrap-426 .hidden-lg{display:block!important}.factory-bootstrap-426 table.hidden-lg{display:table}.factory-bootstrap-426 tr.hidden-lg{display:table-row!important}.factory-bootstrap-426 td.hidden-lg,.factory-bootstrap-426 th.hidden-lg{display:table-cell!important}@media (max-width:767px){.factory-bootstrap-426 .hidden-lg.hidden-xs,.factory-bootstrap-426 td.hidden-lg.hidden-xs,.factory-bootstrap-426 th.hidden-lg.hidden-xs,.factory-bootstrap-426 tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.factory-bootstrap-426 .hidden-lg.hidden-sm,.factory-bootstrap-426 td.hidden-lg.hidden-sm,.factory-bootstrap-426 th.hidden-lg.hidden-sm,.factory-bootstrap-426 tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.factory-bootstrap-426 .hidden-lg.hidden-md,.factory-bootstrap-426 td.hidden-lg.hidden-md,.factory-bootstrap-426 th.hidden-lg.hidden-md,.factory-bootstrap-426 tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.factory-bootstrap-426 .hidden-lg,.factory-bootstrap-426 td.hidden-lg,.factory-bootstrap-426 th.hidden-lg,.factory-bootstrap-426 tr.hidden-lg{display:none!important}}.factory-bootstrap-426 .visible-print,.factory-bootstrap-426 td.visible-print,.factory-bootstrap-426 th.visible-print,.factory-bootstrap-426 tr.visible-print{display:none!important}@media print{.factory-bootstrap-426 .visible-print{display:block!important}.factory-bootstrap-426 table.visible-print{display:table}.factory-bootstrap-426 tr.visible-print{display:table-row!important}.factory-bootstrap-426 td.visible-print,.factory-bootstrap-426 th.visible-print{display:table-cell!important}.factory-bootstrap-426 .hidden-print,.factory-bootstrap-426 td.hidden-print,.factory-bootstrap-426 th.hidden-print,.factory-bootstrap-426 tr.hidden-print{display:none!important}}/*!
12
  * Factory Default Bootstrap Theme
13
  *
14
  * The code is based on Bootstrap v2.1.1
22
  *
23
  * @package factory-bootstrap
24
  * @since 1.0.0
25
+ */.factory-bootstrap-426 .btn-danger,.factory-bootstrap-426 .btn-default,.factory-bootstrap-426 .btn-info,.factory-bootstrap-426 .btn-primary,.factory-bootstrap-426 .btn-success,.factory-bootstrap-426 .btn-warning{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.factory-bootstrap-426 .btn-danger.active,.factory-bootstrap-426 .btn-danger:active,.factory-bootstrap-426 .btn-default.active,.factory-bootstrap-426 .btn-default:active,.factory-bootstrap-426 .btn-info.active,.factory-bootstrap-426 .btn-info:active,.factory-bootstrap-426 .btn-primary.active,.factory-bootstrap-426 .btn-primary:active,.factory-bootstrap-426 .btn-success.active,.factory-bootstrap-426 .btn-success:active,.factory-bootstrap-426 .btn-warning.active,.factory-bootstrap-426 .btn-warning:active{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.1);box-shadow:inset 0 1px 1px rgba(0,0,0,.1)}.factory-bootstrap-426 .btn.active,.factory-bootstrap-426 .btn:active{background-image:none}.factory-bootstrap-426 .btn-default{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.factory-bootstrap-426 .btn-default.active,.factory-bootstrap-426 .btn-default:active{background-color:#fff;border-color:#dbdbdb}.factory-bootstrap-426 .btn-gold{font-weight:700;padding:7px 12px;cursor:pointer;line-height:16px;display:inline-block;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;box-shadow:#e3e3e3 0 1px 1px;-moz-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);-webkit-box-shadow:0 1px 1px rgba(000,000,000,.1),inset 0 1px 1px rgba(255,255,255,.7);text-shadow:1px 1px 0 #ffe8b2;color:#7c5d1b;border:1px solid #d6a437;background:#feeb80}.factory-bootstrap-426 .btn-gold:focus,.factory-bootstrap-426 .btn-gold:hover{background:#fef0a1}.factory-bootstrap-426 .btn-gold.active,.factory-bootstrap-426 .btn-gold:active{background:#fef0a1;-webkit-box-shadow:inset 0 3px 8px 0 #f8ba36;box-shadow:inset 0 3px 8px 0 #f8ba36}.factory-bootstrap-426 .btn-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.factory-bootstrap-426 .btn-primary.active,.factory-bootstrap-426 .btn-primary:active{background-color:#2d6ca2;border-color:#2b669a}.factory-bootstrap-426 .btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);background-repeat:repeat-x;border-color:#3e8f3e;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-426 .btn-success:focus,.factory-bootstrap-426 .btn-success:hover{background-color:#419641;background-position:0 -15px}.factory-bootstrap-426 .btn-success.active,.factory-bootstrap-426 .btn-success:active{background-color:#419641;border-color:#3e8f3e}.factory-bootstrap-426 .btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);background-repeat:repeat-x;border-color:#e38d13;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-426 .btn-warning:focus,.factory-bootstrap-426 .btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.factory-bootstrap-426 .btn-warning.active,.factory-bootstrap-426 .btn-warning:active{background-color:#eb9316;border-color:#e38d13}.factory-bootstrap-426 .btn-danger{color:#fff;background:#d9534f;border-color:#d43f3a}.factory-bootstrap-426 .btn-danger.active,.factory-bootstrap-426 .btn-danger:active,.factory-bootstrap-426 .btn-danger:focus,.factory-bootstrap-426 .btn-danger:hover,.factory-bootstrap-426 .open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.factory-bootstrap-426 .btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);background-repeat:repeat-x;border-color:#28a4c9;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-426 .btn-info:focus,.factory-bootstrap-426 .btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.factory-bootstrap-426 .btn-info.active,.factory-bootstrap-426 .btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.factory-bootstrap-426 .img-thumbnail,.factory-bootstrap-426 .thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-426 .dropdown-menu>li>a:focus,.factory-bootstrap-426 .dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-426 .dropdown-menu>.active>a,.factory-bootstrap-426 .dropdown-menu>.active>a:focus,.factory-bootstrap-426 .dropdown-menu>.active>a:hover{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-426 .navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.factory-bootstrap-426 .navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.factory-bootstrap-426 .navbar-brand,.factory-bootstrap-426 .navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.factory-bootstrap-426 .navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.factory-bootstrap-426 .navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.factory-bootstrap-426 .navbar-inverse .navbar-brand,.factory-bootstrap-426 .navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.factory-bootstrap-426 .navbar-fixed-bottom,.factory-bootstrap-426 .navbar-fixed-top,.factory-bootstrap-426 .navbar-static-top{border-radius:0}.factory-bootstrap-426 .alert{-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-426 .alert .actions{padding-top:10px}.factory-bootstrap-426 .alert-success{color:#3c763d;background-color:#dff0d8;border-bottom:2px solid #c8e5bc}.factory-bootstrap-426 .alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;border-color:#9acfea;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0)}.factory-bootstrap-426 .alert{text-shadow:none;box-shadow:none;margin:0;margin-top:10px;margin-bottom:10px;padding:10px}.factory-bootstrap-426 .alert-normal,.factory-bootstrap-426 .alert-warning{background:#fcf8e3;color:#8a6d3b;border:1px solid #b8823b}.factory-bootstrap-426 .alert-danger{background:#cf4944;color:#fff;border-bottom:2px solid #b23e3a}.factory-bootstrap-426 .alert-danger a:not(.btn),.factory-bootstrap-426 .alert-error a:not(.btn){color:#fff}.factory-bootstrap-426 .progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.factory-bootstrap-426 .progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.factory-bootstrap-426 .progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.factory-bootstrap-426 .progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.factory-bootstrap-426 .progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.factory-bootstrap-426 .progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.factory-bootstrap-426 .list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.factory-bootstrap-426 .list-group-item.active,.factory-bootstrap-426 .list-group-item.active:focus,.factory-bootstrap-426 .list-group-item.active:hover{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;border-color:#3278b3;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0)}.factory-bootstrap-426 .panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.factory-bootstrap-426 .panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.factory-bootstrap-426 .panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.factory-bootstrap-426 .panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.factory-bootstrap-426 .panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.factory-bootstrap-426 .panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.factory-bootstrap-426 .panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.factory-bootstrap-426 .well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;border-color:#dcdcdc;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}.factory-bootstrap-426 .factory-after{margin-left:7px;display:inline-block}.factory-bootstrap-426 .factory-hidden{display:none}.factory-bootstrap-426 .factory-ajax-loader{width:25px;height:25px;background:url(../assets/images/loader-sm-tr.gif)}.factory-control-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:5px;padding:4px 10px 3px;max-width:500px;display:inline-block}.factory-control-error i{margin:0 7px 0 1px}
libs/factory/bootstrap/assets/css-min/bootstrap.ectoplasm.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}
libs/factory/bootstrap/assets/css-min/bootstrap.form-group.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-423 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-423 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-423 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-423 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-423 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-423 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-423 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-423 .factory-form-group legend+.control-group{margin-top:0}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-426 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-426 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-426 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-426 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-426 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-426 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-426 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-426 .factory-form-group legend+.control-group{margin-top:0}
libs/factory/bootstrap/assets/css-min/bootstrap.light.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}
libs/factory/bootstrap/assets/css-min/bootstrap.midnight.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}
libs/factory/bootstrap/assets/css-min/bootstrap.ocean.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}
libs/factory/bootstrap/assets/css-min/bootstrap.separator.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}
libs/factory/bootstrap/assets/css-min/bootstrap.sunrise.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:focus,.factory-bootstrap-423 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-423 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-423 .btn-primary:disabled,.factory-bootstrap-423 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-423 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-423 .pagination>.active>a,.factory-bootstrap-423 .pagination>.active>a:focus,.factory-bootstrap-423 .pagination>.active>a:hover,.factory-bootstrap-423 .pagination>.active>span,.factory-bootstrap-423 .pagination>.active>span:focus,.factory-bootstrap-423 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:focus,.factory-bootstrap-426 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-426 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-426 .btn-primary:disabled,.factory-bootstrap-426 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-426 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-426 .pagination>.active>a,.factory-bootstrap-426 .pagination>.active>a:focus,.factory-bootstrap-426 .pagination>.active>a:hover,.factory-bootstrap-426 .pagination>.active>span,.factory-bootstrap-426 .pagination>.active>span:focus,.factory-bootstrap-426 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}
libs/factory/bootstrap/assets/css-min/control.checkbox.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- #side-sortables .factory-bootstrap-423 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-423 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-423 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-423 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-423 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-423 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
8
  */
9
 
10
 
11
+ #side-sortables .factory-bootstrap-426 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-426 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-426 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-426 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-426 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-426 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-426 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}
libs/factory/bootstrap/assets/css-min/control.dropdown.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-423 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-423 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-423 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-423 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-423 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-423 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-423 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-426 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-426 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-426 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-426 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-426 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-426 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-426 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}
libs/factory/bootstrap/assets/css-min/control.multiple-textbox.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-423 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-423 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-423 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-423 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-423 .factory-mtextbox-add-item{display:block;margin-top:10px}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-426 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-426 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-426 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-426 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-426 .factory-mtextbox-add-item{display:block;margin-top:10px}
libs/factory/bootstrap/assets/css-min/holder.more-link.min.css CHANGED
@@ -8,4 +8,4 @@
8
  */
9
 
10
 
11
- .factory-bootstrap-423 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-423 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-423 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-423 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-423 .factory-tab .factory-more-link-hide:hover{color:#999}
8
  */
9
 
10
 
11
+ .factory-bootstrap-426 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-426 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-426 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-426 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-426 .factory-tab .factory-more-link-hide:hover{color:#999}
libs/factory/bootstrap/assets/js-min/bootstrap.dropdown.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap423_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap423_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ +function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=factory-dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown"),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}},a.fn.factoryBootstrap426_dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.factoryBootstrap426_dropdown.Constructor=f,a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(jQuery);
libs/factory/bootstrap/assets/js-min/control.checkbox.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap423_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap423_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-423 .factory-checkbox.factory-buttons-way").factoryBootstrap423_checkboxControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;this.$element=a(b),this.$result=this.$element.find(".factory-result"),this.$on=this.$element.find(".factory-on"),this.$off=this.$element.find(".factory-off");var d=this.$element.is(".factory-tumbler"),e=this.$element.is(".factory-has-tumbler-hint"),f=this.$element.data("tumbler-function"),g=this.$element.data("tumbler-delay");g||(g=3e3),this.callByPath=function(a,b){for(var c=a.split("."),d=window,e=0;e<c.length;e++)d=d[c[e]];d.apply(d,b)},this.$on.click(function(){return c.$off.removeClass("active"),c.$on.addClass("active"),d?setTimeout(function(){c.$on.removeClass("active"),c.$off.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.attr("checked","checked"),c.$result.val(1),c.$result.trigger("change")),!1}),this.$off.click(function(){return c.$on.removeClass("active"),c.$off.addClass("active"),d?setTimeout(function(){c.$off.removeClass("active"),c.$on.addClass("active");var a=e?c.$element.next():null;f?c.callByPath(f,[c.$element,a]):e&&(c.$element.next().fadeIn(300),setTimeout(function(){c.$element.next().fadeOut(500)},g))},300):(c.$result.removeAttr("checked"),c.$result.val(0),c.$result.trigger("change")),!1}),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){(void 0!==window.__factory_checkbox_control_events_off_data||void 0!==window.__factory_checkbox_control_events_on_data)&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.prop("checked"),f=window.__factory_checkbox_control_events_on_data[d],g=window.__factory_checkbox_control_events_off_data[d];if(f||g){var h,i;void 0===window.__factory_checkbox_control_detach_elements&&(window.__factory_checkbox_control_detach_elements={}),h=window.__factory_checkbox_control_detach_elements,i=e?f:g;for(var j in i)if(i.hasOwnProperty(j)){var k,l=i[j];a.isArray(l)||(k=c.hashCode(d+l));var m;switch(j){case"hide":"string"==typeof l&&a(l).hide(0);break;case"show":"string"==typeof l&&a(l).fadeIn(200);break;case"detach":"string"==typeof l&&a(l).each(function(b){h[k]||(h[k]={}),h[k][b]||(h[k][b]={}),h[k][b].recovery_contanier=a(this).parent(),h[k][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(h[k]){for(var n in h[k])h[k].hasOwnProperty(n)&&h[k][n].recovery_contanier&&h[k][n].element&&h[k][n].recovery_contanier.append(h[k][n].element);delete h[k]}break;case"removeClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).removeClass(l[m]);break;case"addClasses":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&l[m]&&a(m).addClass(l[m]);break;case"setValue":if("object"==typeof l)for(m in l)l.hasOwnProperty(m)&&void 0!==l[m]&&null!==l[m]&&(console.log(l[m]),a(m).val(l[m]))}}}},this.executeEvents(this.$result)};a.fn.factoryBootstrap426_checkboxControl=function(c){if("string"==typeof c){var d=a(this).data("factory.checkbox.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.checkbox.control");d||c.data("factory.checkbox.control",d=new b(this))})},a.fn.factoryBootstrap426_checkboxControl.Constructor=b,a(function(){a(".factory-bootstrap-426 .factory-checkbox.factory-buttons-way").factoryBootstrap426_checkboxControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.dropdown.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap423_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap423_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-423 .factory-dropdown").factoryBootstrap423_dropdownControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name")||this.$element.attr("name"),this.hashCode=function(a){var b=0;if(!a||0===a.length)return b;for(var c=0;c<a.length;c++){var d=a.charCodeAt(c);b=(b<<5)-b+d,b&=b}return b=b.toString(16),b=b.replace("-","")},this.executeEvents=function(a){void 0!==window.factory_dropdown_control_events_data&&(a.change(function(){c.eventsProcess(a)}),c.eventsProcess(a))},this.eventsProcess=function(b){var d=b.attr("name"),e=b.val(),f=window.factory_dropdown_control_events_data[d];if(f&&f[e]){var g;void 0===window.__factory_dropdown_control_detach_elements&&(window.__factory_dropdown_control_detach_elements={}),g=window.__factory_dropdown_control_detach_elements;for(var h in f[e])if(f[e].hasOwnProperty(h)){var i,j=f[e][h];switch(a.isArray(j)||(i=c.hashCode(d+j)),h){case"hide":"string"==typeof j&&a(j).hide(0);break;case"show":"string"==typeof j&&a(j).fadeIn(200);break;case"detach":"string"==typeof j&&a(j).each(function(b){g[i]||(g[i]={}),g[i][b]||(g[i][b]={}),g[i][b].recovery_contanier=a(this).parent(),g[i][b].element=a(this).clone(!0),a(this).remove()});break;case"recovery":if(g[i]){for(var k in g[i])g[i].hasOwnProperty(k)&&g[i][k].recovery_contanier&&g[i][k].element&&g[i][k].recovery_contanier.append(g[i][k].element);delete g[i]}break;case"removeClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).removeClass(j[l]);break;case"addClasses":if("object"==typeof j)for(var l in j)j.hasOwnProperty(l)&&j[l]&&a(l).addClass(j[l])}}}},"buttons"===this.way)this.$result=this.$element.find(".factory-result"),this.$hints=this.$element.find(".factory-hints"),this.$buttons=this.$element.find(".btn"),c.executeEvents(this.$result),this.$buttons.click(function(){var b=a(this).data("value");return c.$buttons.removeClass("active"),a(this).addClass("active"),c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+b).fadeIn(),c.$result.val(b),c.$result.trigger("change"),!1});else if("ddslick"===this.way){c.executeEvents(c.$element.find(".factory-result"));var d=window["factory_"+this.name+"_data"],e=this.$element.find(".factory-ddslick"),f=this.$element.data("width")||300,g=this.$element.data("align")||"right";a(d).each(function(){return this.imageHoverSrc?void(a("<img/>")[0].src=this.imageHoverSrc):!0}),e.ddslick({data:d,width:f,imagePosition:g,selectText:"- select -",onSelected:function(a){a.selectedData.imageHoverSrc&&c.$element.find(".dd-selected-image").attr("src",a.selectedData.imageHoverSrc);var b=c.$element.find(".factory-result").val(a.selectedData.value);b.change()}})}else{c.executeEvents(this.$element),this.$hints=this.$element.next(),this.$hints.hasClass("factory-hints")&&(this.$element.change(function(){return c.updateHints(),!1}),this.updateHints=function(){var a=c.$element.val();c.$hints.find(".factory-hint").hide(),c.$hints.find(".factory-hint-"+a).show()},c.updateHints()),this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(a){console&&console.log&&console.log(a.responseText),c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length)for(var d in a){var e=a[d];c.addListItem(e)}else this.$element.append("<option>"+b.emptyList+"</li>");this.$element.trigger("factory-loaded")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<option />").attr("value",b.value).text(b.title).appendTo(this.$element),e=c.getAjaxData();e.selected&&e.selected==b.value&&d.attr("selected","selected")},this.showError=function(b){this.clearList();var d=a("<div class='factory-control-error'></div>").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),e=c.getAjaxData();this.$element.append("<option>"+e.emptyList+"</li>"),this.$element.after(d),this.$element.addClass("factory-has-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var h=this.$element.data("ajax");h&&this.loadData()}};a.fn.factoryBootstrap426_dropdownControl=function(c){if("string"==typeof c){var d=a(this).data("factory.dropdown.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.dropdown.control");d||c.data("factory.dropdown.control",d=new b(this))})},a.fn.factoryBootstrap426_dropdownControl.Constructor=b,a(function(){a(".factory-bootstrap-426 .factory-dropdown").factoryBootstrap426_dropdownControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.list.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap423_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap423_listControl.Constructor=b,a(function(){a(".factory-bootstrap-423 .factory-list").factoryBootstrap423_listControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){var b=function(b){var c=this;if(this.$element=a(b),this.way=this.$element.data("way"),this.name=this.$element.data("name"),"checklist"===this.way){this.getAjaxData=function(){var a=c.$element.data("ajax-data-id");return window[a]},this.loadData=function(){var b=c.getAjaxData();a.ajax({url:b.url,data:b.data,dataType:"json",success:function(a){return a.error?c.showError(a.error):void c.fill(a.items)},error:function(){c.showError("Unexpected error occurred during the ajax request.")},complete:function(){c.removeLoader()}})},this.fill=function(a){this.clearList();var b=c.getAjaxData();if(a&&a.length){this.$element.removeClass("factory-empty");for(var d in a){var e=a[d];c.addListItem(e)}}else this.$element.addClass("factory-empty"),this.$element.append("<li>"+b.emptyList+"</li>")},this.clearList=function(){this.$element.html("")},this.addListItem=function(b){var d=a("<li>"),e=a("<label>").attr("for","factory-checklist-"+c.name+"-"+b.value).appendTo(d),f=a("<span>").appendTo(e),g=a("<input />").attr("type","checkbox").attr("name",c.name+"[]").val(b.value).attr("id","factory-checklist-"+c.name+"-"+b.value).appendTo(f),h=(a("<span>"+b.title+"</span>").appendTo(e),c.getAjaxData());h.selected.length&&a.inArray(b.value,h.selected)>=0&&g.attr("checked","checked"),this.$element.append(d)},this.showError=function(b){this.$element.html("").append(a("<i class='fa fa-exclamation-triangle'></i>")).append(b),this.$element.addClass("factory-list-error")},this.removeLoader=function(){this.$element.removeClass("factory-hidden");var b=c.getAjaxData();a(b.loader).remove()};var d=this.$element.data("ajax");d&&this.loadData()}};a.fn.factoryBootstrap426_listControl=function(c){if("string"==typeof c){var d=a(this).data("factory.list.control");return d?d[c]():null}return this.each(function(){var c=a(this),d=c.data("factory.list.control");d||c.data("factory.list.control",d=new b(this))})},a.fn.factoryBootstrap426_listControl.Constructor=b,a(function(){a(".factory-bootstrap-426 .factory-list").factoryBootstrap426_listControl()})}(jQuery);
libs/factory/bootstrap/assets/js-min/control.multiple-textbox.min.js CHANGED
@@ -7,4 +7,4 @@
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
- !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap423_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-423 .factory-multiple-textbox-group").factoryBootstrap423_MultipleTextboxControl()})}(jQuery);
7
  * Support: http://webcraftic.com/contact-us/
8
  */
9
 
10
+ !function(a){"use strict";var b=function(b){this.$element=a(b);var c=a(".factory-mtextbox-item",this.$element).eq(0).clone(!0);a(".factory-mtextbox-add-item",this.$element).on("click",function(){var b=a(this).closest(".factory-multiple-textbox-group").find(".factory-mtextbox-items"),d=c.clone(!0),e=a('<button class="btn btn-default btn-small factory-mtextbox-remove-item"><i class="fa fa-times" aria-hidden="true"></i></button>');return b.append(d.append(e)),d.find('input[type="text"]').val("").focus(),!1}),a(document).on("click",".factory-mtextbox-remove-item",function(){return a(this).closest(".factory-mtextbox-item").remove(),!1})};a.fn.factoryBootstrap426_MultipleTextboxControl=function(){return this.each(function(){new b(this)})},a(function(){a(".factory-bootstrap-426 .factory-multiple-textbox-group").factoryBootstrap426_MultipleTextboxControl()})}(jQuery);
libs/factory/bootstrap/boot.php CHANGED
@@ -19,27 +19,27 @@ if ( ! is_admin() ) {
19
  return;
20
  }
21
 
22
- if ( defined( 'FACTORY_BOOTSTRAP_423_LOADED' ) ) {
23
  return;
24
  }
25
 
26
- define( 'FACTORY_BOOTSTRAP_423_VERSION', '4.2.3' );
27
- define( 'FACTORY_BOOTSTRAP_423_LOADED', true );
28
 
29
  if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
30
  define( 'FACTORY_FLAT_ADMIN', true );
31
  }
32
 
33
- define( 'FACTORY_BOOTSTRAP_423_DIR', dirname( __FILE__ ) );
34
- define( 'FACTORY_BOOTSTRAP_423_URL', plugins_url( null, __FILE__ ) );
35
 
36
- require_once( FACTORY_BOOTSTRAP_423_DIR . '/includes/functions.php' );
37
 
38
  /**
39
- * @param Wbcr_Factory422_Plugin $plugin
40
  */
41
- add_action( 'wbcr_factory_bootstrap_423_plugin_created', function ( $plugin ) {
42
- $manager = new Wbcr_FactoryBootstrap423_Manager( $plugin );
43
  $plugin->setBootstap( $manager );
44
  } );
45
 
19
  return;
20
  }
21
 
22
+ if ( defined( 'FACTORY_BOOTSTRAP_426_LOADED' ) ) {
23
  return;
24
  }
25
 
26
+ define( 'FACTORY_BOOTSTRAP_426_VERSION', '4.2.6' );
27
+ define( 'FACTORY_BOOTSTRAP_426_LOADED', true );
28
 
29
  if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
30
  define( 'FACTORY_FLAT_ADMIN', true );
31
  }
32
 
33
+ define( 'FACTORY_BOOTSTRAP_426_DIR', dirname( __FILE__ ) );
34
+ define( 'FACTORY_BOOTSTRAP_426_URL', plugins_url( null, __FILE__ ) );
35
 
36
+ require_once( FACTORY_BOOTSTRAP_426_DIR . '/includes/functions.php' );
37
 
38
  /**
39
+ * @param Wbcr_Factory425_Plugin $plugin
40
  */
41
+ add_action( 'wbcr_factory_bootstrap_426_plugin_created', function ( $plugin ) {
42
+ $manager = new Wbcr_FactoryBootstrap426_Manager( $plugin );
43
  $plugin->setBootstap( $manager );
44
  } );
45
 
libs/factory/bootstrap/includes/functions.php CHANGED
@@ -20,13 +20,13 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 3.2.0
22
  */
23
- class Wbcr_FactoryBootstrap423_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
- * @var Wbcr_Factory422_Plugin
30
  */
31
  public $plugin;
32
 
@@ -51,7 +51,7 @@ class Wbcr_FactoryBootstrap423_Manager {
51
  *
52
  * @since 1.0.0
53
  */
54
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
55
  $this->plugin = $plugin;
56
 
57
  add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
@@ -111,8 +111,8 @@ class Wbcr_FactoryBootstrap423_Manager {
111
  */
112
  public function loadAssets( $hook ) {
113
 
114
- do_action( 'wbcr_factory_422_bootstrap_enqueue_scripts', $hook );
115
- do_action( 'wbcr_factory_422_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
 
117
  $dependencies = [];
118
  if ( ! empty( $this->scripts ) ) {
@@ -137,64 +137,14 @@ class Wbcr_FactoryBootstrap423_Manager {
137
  if ( ! empty( $this->styles ) ) {
138
  $this->enqueueScripts( $this->styles, 'css', $dependencies );
139
  }
140
-
141
- $user_id = get_current_user_id();
142
- $color_name = get_user_meta( $user_id, 'admin_color', true );
143
-
144
- if ( $color_name !== 'fresh' ) {
145
- if ( file_exists( FACTORY_BOOTSTRAP_423_DIR . '/assets/flat/css/bootstrap.' . $color_name . '.css' ) ) {
146
- wp_enqueue_style( 'wbcr-factory-bootstrap-423-colors', FACTORY_BOOTSTRAP_423_URL . '/assets/flat/css/bootstrap.' . $color_name . '.css' );
147
- }
148
- }
149
-
150
- if ( $color_name == 'light' ) {
151
- $primary_dark = '#037c9a';
152
- $primary_light = '#04a4cc';
153
- } else if ( $color_name == 'blue' ) {
154
- $primary_dark = '#d39323';
155
- $primary_light = '#e1a948';
156
- } else if ( $color_name == 'coffee' ) {
157
- $primary_dark = '#b78a66';
158
- $primary_light = '#c7a589';
159
- } else if ( $color_name == 'ectoplasm' ) {
160
- $primary_dark = '#839237';
161
- $primary_light = '#a3b745';
162
- } else if ( $color_name == 'ocean' ) {
163
- $primary_dark = '#80a583';
164
- $primary_light = '#9ebaa0';
165
- } else if ( $color_name == 'midnight' ) {
166
- $primary_dark = '#d02a21';
167
- $primary_light = '#e14d43';
168
- } else if ( $color_name == 'sunrise' ) {
169
- $primary_dark = '#c36822';
170
- $primary_light = '#dd823b';
171
- } else {
172
- $primary_dark = '#0074a2';
173
- $primary_light = '#2ea2cc';
174
- }
175
-
176
- ?>
177
- <script>
178
- if( !window.factory ) {
179
- window.factory = {};
180
- }
181
- if( !window.factory.factoryBootstrap423 ) {
182
- window.factory.factoryBootstrap423 = {};
183
- }
184
- window.factory.factoryBootstrap423.colors = {
185
- primaryDark: '<?php echo $primary_dark ?>',
186
- primaryLight: '<?php echo $primary_light ?>'
187
- };
188
- </script>
189
- <?php
190
  }
191
 
192
  /**
193
- * @param array $sripts
194
  * @param string $type
195
  * @param array $dependencies
196
  */
197
- protected function enqueueScripts( array $sripts, $type = 'js', array $dependencies ) {
198
 
199
  $is_first = true;
200
 
@@ -206,8 +156,8 @@ class Wbcr_FactoryBootstrap423_Manager {
206
  $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
207
 
208
  $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
209
- $cache_dir_path = FACTORY_BOOTSTRAP_423_DIR . '/assets/cache/';
210
- $cache_dir_url = FACTORY_BOOTSTRAP_423_URL . '/assets/cache/';
211
 
212
  $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
213
  $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
@@ -231,10 +181,10 @@ class Wbcr_FactoryBootstrap423_Manager {
231
  }
232
 
233
  $concat_files = [];
234
- foreach ( $sripts as $script_to_load ) {
235
  $script_to_load = sanitize_text_field( $script_to_load );
236
  if ( $cache_enable && $cache_dir_exists ) {
237
- $fname = FACTORY_BOOTSTRAP_423_DIR . "/assets/$type-min/$script_to_load.min." . $type;
238
  if ( file_exists( $fname ) ) {
239
  $f = @fopen( $fname, 'r' );
240
  $concat_files[] = @fread( $f, filesize( $fname ) );
@@ -242,9 +192,9 @@ class Wbcr_FactoryBootstrap423_Manager {
242
  }
243
  } else {
244
  if ( $type == 'js' ) {
245
- wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_423_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
246
  } else {
247
- wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_423_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
248
  }
249
  $is_first = false;
250
  }
20
  *
21
  * @since 3.2.0
22
  */
23
+ class Wbcr_FactoryBootstrap426_Manager {
24
 
25
  /**
26
  * A plugin for which the manager was created.
27
  *
28
  * @since 3.2.0
29
+ * @var Wbcr_Factory425_Plugin
30
  */
31
  public $plugin;
32
 
51
  *
52
  * @since 1.0.0
53
  */
54
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
55
  $this->plugin = $plugin;
56
 
57
  add_action( 'admin_enqueue_scripts', [ $this, 'loadAssets' ] );
111
  */
112
  public function loadAssets( $hook ) {
113
 
114
+ do_action( 'wbcr_factory_425_bootstrap_enqueue_scripts', $hook );
115
+ do_action( 'wbcr_factory_425_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), $hook );
116
 
117
  $dependencies = [];
118
  if ( ! empty( $this->scripts ) ) {
137
  if ( ! empty( $this->styles ) ) {
138
  $this->enqueueScripts( $this->styles, 'css', $dependencies );
139
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  }
141
 
142
  /**
143
+ * @param array $scripts
144
  * @param string $type
145
  * @param array $dependencies
146
  */
147
+ protected function enqueueScripts( array $scripts, $type, array $dependencies ) {
148
 
149
  $is_first = true;
150
 
156
  $cache_enable = apply_filters( 'wbcr/factory/bootstrap/cache_enable', true );
157
 
158
  $cache_id = md5( implode( ',', $this->scripts ) . $type . $this->plugin->getPluginVersion() );
159
+ $cache_dir_path = FACTORY_BOOTSTRAP_426_DIR . '/assets/cache/';
160
+ $cache_dir_url = FACTORY_BOOTSTRAP_426_URL . '/assets/cache/';
161
 
162
  $cache_filepath = $cache_dir_path . $cache_id . ".min." . $type;
163
  $cache_fileurl = $cache_dir_url . $cache_id . ".min." . $type;
181
  }
182
 
183
  $concat_files = [];
184
+ foreach ( $scripts as $script_to_load ) {
185
  $script_to_load = sanitize_text_field( $script_to_load );
186
  if ( $cache_enable && $cache_dir_exists ) {
187
+ $fname = FACTORY_BOOTSTRAP_426_DIR . "/assets/$type-min/$script_to_load.min." . $type;
188
  if ( file_exists( $fname ) ) {
189
  $f = @fopen( $fname, 'r' );
190
  $concat_files[] = @fread( $f, filesize( $fname ) );
192
  }
193
  } else {
194
  if ( $type == 'js' ) {
195
+ wp_enqueue_script( md5( $script_to_load ), FACTORY_BOOTSTRAP_426_URL . "/assets/$type-min/$script_to_load.min." . $type, $is_first ? $dependencies : false, $this->plugin->getPluginVersion() );
196
  } else {
197
+ wp_enqueue_style( md5( $script_to_load ), FACTORY_BOOTSTRAP_426_URL . "/assets/$type-min/$script_to_load.min." . $type, [], $this->plugin->getPluginVersion() );
198
  }
199
  $is_first = false;
200
  }
libs/factory/clearfy/assets/css/clearfy-base.css CHANGED
@@ -5,18 +5,18 @@
5
  * @copyright Webcraftic 06.10.2018
6
  * @sicne 2.0.5
7
  */
8
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion {
9
  padding: 30px 80px;
10
  }
11
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion h3 {
12
  margin: 0 0 20px;
13
  }
14
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-inner-contanier {
15
  border: 2px dashed #8bc34a;
16
  background: #fff;
17
  padding: 20px;
18
  }
19
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-activate-premium {
20
  display: inline-block;
21
  cursor: pointer;
22
  line-height: 16px;
@@ -35,16 +35,16 @@
35
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
36
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
37
  }
38
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-activate-premium:active {
39
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
40
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
41
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
42
  }
43
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-activate-premium:focus {
44
  outline: none;
45
  border: 0;
46
  }
47
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-purchase-premium {
48
  display: inline-block;
49
  cursor: pointer;
50
  line-height: 16px;
@@ -63,22 +63,22 @@
63
  -moz-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
64
  -webkit-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
65
  }
66
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-purchase-premium:active {
67
  box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
68
  -moz-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
69
  -webkit-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
70
  }
71
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-suggetion .wbcr-factory-purchase-premium:focus {
72
  outline: none;
73
  border: 0;
74
  }
75
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion {
76
  background: #fff;
77
  color: #353535;
78
  font-weight: 600;
79
  border: 2px dashed #8bc34a;
80
  }
81
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion h3 {
82
  margin: 0 0 20px;
83
  padding: 10px 0;
84
  text-align: center;
@@ -89,16 +89,16 @@
89
  vertical-align: middle;
90
  text-transform: uppercase;
91
  }
92
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul {
93
  position: relative;
94
  margin-bottom: 20px;
95
  }
96
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li {
97
  font-size: 15px;
98
  padding: 7px;
99
  padding-left: 20px;
100
  }
101
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li:before {
102
  content: " ";
103
  display: inline-block;
104
  width: 0.4em;
@@ -112,7 +112,7 @@
112
  -o-transform: rotate(45deg);
113
  transform: rotate(45deg);
114
  }
115
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium {
116
  display: block;
117
  cursor: pointer;
118
  line-height: 16px;
@@ -131,44 +131,44 @@
131
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
132
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
133
  }
134
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium:active {
135
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
136
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
137
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
138
  }
139
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium:focus {
140
  outline: none;
141
  border: 0;
142
  }
143
  @media screen and (max-width: 1550px) {
144
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-clearfy-214-multisite-pro-suggetion {
145
  padding: 10px 80px;
146
  }
147
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion {
148
  padding: 10px;
149
  }
150
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion h3 {
151
  margin: 0 0 20px;
152
  padding: 10px 0;
153
  font-size: 13px;
154
  font-weight: 600;
155
  }
156
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul {
157
  margin-bottom: 20px;
158
  }
159
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li {
160
  font-size: 13px;
161
  padding: 2px;
162
  padding-left: 10px;
163
  }
164
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion ul li:before {
165
  width: 0.4em;
166
  height: 0.7em;
167
  border-width: 0 0.2em 0.2em 0;
168
  left: 0;
169
  margin-right: 10px;
170
  }
171
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-214-pro-suggettion .wbcr-factory-purchase-premium {
172
  font-weight: 700;
173
  line-height: 16px;
174
  font-size: 12px;
5
  * @copyright Webcraftic 06.10.2018
6
  * @sicne 2.0.5
7
  */
8
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion {
9
  padding: 30px 80px;
10
  }
11
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion h3 {
12
  margin: 0 0 20px;
13
  }
14
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-inner-contanier {
15
  border: 2px dashed #8bc34a;
16
  background: #fff;
17
  padding: 20px;
18
  }
19
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-activate-premium {
20
  display: inline-block;
21
  cursor: pointer;
22
  line-height: 16px;
35
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
36
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
37
  }
38
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-activate-premium:active {
39
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
40
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
41
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
42
  }
43
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-activate-premium:focus {
44
  outline: none;
45
  border: 0;
46
  }
47
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-purchase-premium {
48
  display: inline-block;
49
  cursor: pointer;
50
  line-height: 16px;
63
  -moz-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
64
  -webkit-box-shadow: 0 1px 0 rgba(60, 45, 2, 0.31);
65
  }
66
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-purchase-premium:active {
67
  box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
68
  -moz-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
69
  -webkit-box-shadow: inset 0 1px 0 rgba(60, 45, 2, 0.31);
70
  }
71
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-suggetion .wbcr-factory-purchase-premium:focus {
72
  outline: none;
73
  border: 0;
74
  }
75
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion {
76
  background: #fff;
77
  color: #353535;
78
  font-weight: 600;
79
  border: 2px dashed #8bc34a;
80
  }
81
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion h3 {
82
  margin: 0 0 20px;
83
  padding: 10px 0;
84
  text-align: center;
89
  vertical-align: middle;
90
  text-transform: uppercase;
91
  }
92
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion ul {
93
  position: relative;
94
  margin-bottom: 20px;
95
  }
96
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion ul li {
97
  font-size: 15px;
98
  padding: 7px;
99
  padding-left: 20px;
100
  }
101
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion ul li:before {
102
  content: " ";
103
  display: inline-block;
104
  width: 0.4em;
112
  -o-transform: rotate(45deg);
113
  transform: rotate(45deg);
114
  }
115
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion .wbcr-factory-purchase-premium {
116
  display: block;
117
  cursor: pointer;
118
  line-height: 16px;
131
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
132
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
133
  }
134
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion .wbcr-factory-purchase-premium:active {
135
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
136
  -moz-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
137
  -webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.2);
138
  }
139
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion .wbcr-factory-purchase-premium:focus {
140
  outline: none;
141
  border: 0;
142
  }
143
  @media screen and (max-width: 1550px) {
144
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-clearfy-217-multisite-pro-suggetion {
145
  padding: 10px 80px;
146
  }
147
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion {
148
  padding: 10px;
149
  }
150
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion h3 {
151
  margin: 0 0 20px;
152
  padding: 10px 0;
153
  font-size: 13px;
154
  font-weight: 600;
155
  }
156
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion ul {
157
  margin-bottom: 20px;
158
  }
159
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion ul li {
160
  font-size: 13px;
161
  padding: 2px;
162
  padding-left: 10px;
163
  }
164
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion ul li:before {
165
  width: 0.4em;
166
  height: 0.7em;
167
  border-width: 0 0.2em 0.2em 0;
168
  left: 0;
169
  margin-right: 10px;
170
  }
171
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-clearfy-217-pro-suggettion .wbcr-factory-purchase-premium {
172
  font-weight: 700;
173
  line-height: 16px;
174
  font-size: 12px;
libs/factory/clearfy/assets/css/clearfy-base.css.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"sources":["clearfy-base.less"],"names":[],"mappings":";;;;;;;AAoCA,KAEE,iDACE;EACE,kBAAA;;AAJN,KAEE,iDACE,8CAGE;EACE,gBAAA;;AAPR,KAEE,iDACE,8CAOE;EACE,0BAAA;EACA,gBAAA;EACA,aAAA;;AAbR,KAEE,iDACE,8CAaE;EACE,qBAAA;EA5CN,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,sCAAA;EACA,2CAAA;EACA,8CAAA;;AACA,KAaA,iDACE,8CAaE,+BA3BH;EACC,4CAAA;EACA,iDAAA;EACA,oDAAA;;AAEF,KAQA,iDACE,8CAaE,+BAtBH;EACC,aAAA;EACA,SAAA;;AAIJ,KAEE,iDACE,8CAiBE;EACE,qBAAA;EAhDN,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,yCAAA;EACA,8CAAA;EACA,iDAAA;;AACA,KAaA,iDACE,8CAiBE,+BA/BH;EACC,+CAAA;EACA,oDAAA;EACA,uDAAA;;AAEF,KAQA,iDACE,8CAiBE,+BA1BH;EACC,aAAA;EACA,SAAA;;AAIJ,KAEE,iDAwBE,oCACE;EACE,gBAAA;EACA,cAAA;EACA,gBAAA;EACA,0BAAA;;AA/BR,KAEE,iDAwBE,oCACE,yCAME;EACE,gBAAA;EACA,eAAA;EACA,kBAAA;EACA,gCAAA;EACA,cAAA;EACA,eAAA;EACA,gBAAA;EACA,sBAAA;EACA,yBAAA;;AA1CV,KAEE,iDAwBE,oCACE,yCAkBE;EAEE,kBAAA;EACA,mBAAA;;AAhDV,KAEE,iDAwBE,oCACE,yCAkBE,GAKE;EACE,eAAA;EACA,YAAA;EACA,kBAAA;;AAIA,KAvDV,iDAwBE,oCACE,yCAkBE,GAKE,GAOG;EACC,SAAS,GAAT;EACA,qBAAA;EACA,YAAA;EACA,aAAA;EACA,qBAAA;EACA,6BAAA;EACA,OAAA;EACA,kBAAA;EACA,mBAAmB,aAAnB;EACA,gBAAgB,aAAhB;EACA,cAAc,aAAd;EACA,WAAW,aAAX;;AArEd,KAEE,iDAwBE,oCACE,yCAgDE;EACE,cAAA;EAvGR,eAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,kBAAA;EACA,qBAAA;EACA,yBAAA;EACA,kBAAA;EACA,uBAAA;EACA,0BAAA;EACA,cAAA;EACA,mBAAA;EACA,sCAAA;EACA,2CAAA;EACA,8CAAA;;AACA,KAaA,iDAwBE,oCACE,yCAgDE,+BAtFL;EACC,4CAAA;EACA,iDAAA;EACA,oDAAA;;AAEF,KAQA,iDAwBE,oCACE,yCAgDE,+BAjFL;EACC,aAAA;EACA,SAAA;;AAwFJ,mBAAsC;EACpC,KACE,iDACE;IACE,kBAAA;;EAHN,KACE,iDAKE,oCACE;IACE,aAAA;;EARR,KACE,iDAKE,oCACE,yCAGE;IACE,gBAAA;IACA,eAAA;IACA,eAAA;IACA,gBAAA;;EAdV,KACE,iDAKE,oCACE,yCAUE;IACE,mBAAA;;EAlBV,KACE,iDAKE,oCACE,yCAUE,GAGE;IACE,eAAA;IACA,YAAA;IACA,kBAAA;;EAEA,KAxBV,iDAKE,oCACE,yCAUE,GAGE,GAKG;IACC,YAAA;IACA,aAAA;IACA,6BAAA;IACA,OAAA;IACA,kBAAA;;EA9Bd,KACE,iDAKE,oCACE,yCA4BE;IACE,gBAAA;IACA,iBAAA;IACA,eAAA;IACA,iBAAA;IACA,kBAAA;IACA,uBAAA;IACA,0BAAA","file":"clearfy-base.css"}
libs/factory/clearfy/assets/js/globals.js CHANGED
@@ -2,8 +2,8 @@
2
  * Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
3
  * и самого Clearfy.
4
  *
5
- * $.wbcr_factory_clearfy_214.app - методы для работы с приложением. Скрыть, показать уведомления.
6
- * $.wbcr_factory_clearfy_214.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
7
  *
8
  * Copyright 2018, Webcraftic, http://webcraftic.com
9
  *
@@ -13,11 +13,11 @@
13
  (function($) {
14
  'use strict';
15
 
16
- if( !$.wbcr_factory_clearfy_214 ) {
17
- $.wbcr_factory_clearfy_214 = {};
18
  }
19
 
20
- $.wbcr_factory_clearfy_214.app = $.wbcr_factory_clearfy_214.app || {
21
  /**
22
  * Создает и показывает уведомление внутри интерфейса Clearfy
23
  *
@@ -63,12 +63,12 @@
63
  /**
64
  * Хук выполняет проивольную функцию, после того как уведомление отображено
65
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
66
- * Пример регистрации хука $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated',
67
  * function(noticeId) {});
68
  * @param {string} noticeId - id уведомления
69
  */
70
- $.wbcr_factory_clearfy_214.hooks.run('wbcr/factory_clearfy_214/showed_notice', [noticeId]);
71
- $.wbcr_factory_clearfy_214.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
72
  });
73
 
74
  return noticeId;
@@ -93,13 +93,13 @@
93
  /**
94
  * Хук выполняет проивольную функцию, после того как уведомление скрыто
95
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
96
- * Пример регистрации хука $.wbcr_factory_clearfy_214.hooks.add('wbcr/factory_clearfy_214/updated',
97
  * function(noticeId)
98
  * {});
99
  * @param {string} noticeId - id уведомления
100
  */
101
- $.wbcr_factory_clearfy_214.hooks.run('wbcr/factory_clearfy_214/hidded_notice', [noticeId]);
102
- $.wbcr_factory_clearfy_214.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
103
  });
104
  },
105
 
@@ -116,7 +116,7 @@
116
 
117
  };
118
 
119
- $.wbcr_factory_clearfy_214.filters = $.wbcr_factory_clearfy_214.filters || {
120
 
121
  /**
122
  * A set of registered filters.
@@ -183,20 +183,20 @@
183
  }
184
  };
185
 
186
- $.wbcr_factory_clearfy_214.hooks = $.wbcr_factory_clearfy_214.hooks || {
187
 
188
  /**
189
  * Applies filters to a given input value.
190
  */
191
  run: function(filterName, args) {
192
- $.wbcr_factory_clearfy_214.filters.run(filterName, args);
193
  },
194
 
195
  /**
196
  * Registers a new filter.
197
  */
198
  add: function(filterName, callback, priority) {
199
- $.wbcr_factory_clearfy_214.filters.add(filterName, callback, priority);
200
  }
201
  };
202
 
2
  * Глобальный JS файл, который регистрирует глобальные переменные с общими методами для всех компонентов Clearfy
3
  * и самого Clearfy.
4
  *
5
+ * $.wbcr_factory_clearfy_217.app - методы для работы с приложением. Скрыть, показать уведомления.
6
+ * $.wbcr_factory_clearfy_217.hooks - это иммитация хуков и фильтров аналогично тем, что используются в Wordpress
7
  *
8
  * Copyright 2018, Webcraftic, http://webcraftic.com
9
  *
13
  (function($) {
14
  'use strict';
15
 
16
+ if( !$.wbcr_factory_clearfy_217 ) {
17
+ $.wbcr_factory_clearfy_217 = {};
18
  }
19
 
20
+ $.wbcr_factory_clearfy_217.app = $.wbcr_factory_clearfy_217.app || {
21
  /**
22
  * Создает и показывает уведомление внутри интерфейса Clearfy
23
  *
63
  /**
64
  * Хук выполняет проивольную функцию, после того как уведомление отображено
65
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
66
+ * Пример регистрации хука $.wbcr_factory_clearfy_217.hooks.add('wbcr/factory_clearfy_217/updated',
67
  * function(noticeId) {});
68
  * @param {string} noticeId - id уведомления
69
  */
70
+ $.wbcr_factory_clearfy_217.hooks.run('wbcr/factory_clearfy_217/showed_notice', [noticeId]);
71
+ $.wbcr_factory_clearfy_217.hooks.run('wbcr/clearfy/showed_notice', [noticeId]);
72
  });
73
 
74
  return noticeId;
93
  /**
94
  * Хук выполняет проивольную функцию, после того как уведомление скрыто
95
  * Реализация системы фильтров и хуков в файле libs/clearfy/admin/assests/js/global.js
96
+ * Пример регистрации хука $.wbcr_factory_clearfy_217.hooks.add('wbcr/factory_clearfy_217/updated',
97
  * function(noticeId)
98
  * {});
99
  * @param {string} noticeId - id уведомления
100
  */
101
+ $.wbcr_factory_clearfy_217.hooks.run('wbcr/factory_clearfy_217/hidded_notice', [noticeId]);
102
+ $.wbcr_factory_clearfy_217.hooks.run('wbcr/clearfy/hidded_notice', [noticeId]);
103
  });
104
  },
105
 
116
 
117
  };
118
 
119
+ $.wbcr_factory_clearfy_217.filters = $.wbcr_factory_clearfy_217.filters || {
120
 
121
  /**
122
  * A set of registered filters.
183
  }
184
  };
185
 
186
+ $.wbcr_factory_clearfy_217.hooks = $.wbcr_factory_clearfy_217.hooks || {
187
 
188
  /**
189
  * Applies filters to a given input value.
190
  */
191
  run: function(filterName, args) {
192
+ $.wbcr_factory_clearfy_217.filters.run(filterName, args);
193
  },
194
 
195
  /**
196
  * Registers a new filter.
197
  */
198
  add: function(filterName, callback, priority) {
199
+ $.wbcr_factory_clearfy_217.filters.add(filterName, callback, priority);
200
  }
201
  };
202
 
libs/factory/clearfy/assets/js/license-manager.js CHANGED
@@ -20,7 +20,7 @@ jQuery(function($) {
20
  licenseAction = $(this).data('action');
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
- $.wbcr_factory_clearfy_214.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
@@ -53,7 +53,7 @@ jQuery(function($) {
53
 
54
  if( response.data ) {
55
  console.log(response.data.error_message);
56
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
57
  allNotices.push(noticeId);
58
  } else {
59
  console.log(response);
@@ -63,7 +63,7 @@ jQuery(function($) {
63
  }
64
 
65
  if( response.data && response.data.message ) {
66
- noticeId = $.wbcr_factory_clearfy_214.app.showNotice(response.data.message, 'success');
67
  allNotices.push(noticeId);
68
 
69
  // todo: доработать генерацию формы, вместо перезагрузки страницы
@@ -80,7 +80,7 @@ jQuery(function($) {
80
  console.log(xhr.responseText);
81
  console.log(thrownError);
82
 
83
- var noticeId = $.wbcr_factory_clearfy_214.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
84
 
85
  allNotices.push(noticeId);
86
  }
20
  licenseAction = $(this).data('action');
21
 
22
  for( i = 0; i < allNotices.length; i++ ) {
23
+ $.wbcr_factory_clearfy_217.app.hideNotice(allNotices[i]);
24
  }
25
 
26
  $('.wcl-control-btn').hide();
53
 
54
  if( response.data ) {
55
  console.log(response.data.error_message);
56
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + response.data.error_message + ']', 'danger');
57
  allNotices.push(noticeId);
58
  } else {
59
  console.log(response);
63
  }
64
 
65
  if( response.data && response.data.message ) {
66
+ noticeId = $.wbcr_factory_clearfy_217.app.showNotice(response.data.message, 'success');
67
  allNotices.push(noticeId);
68
 
69
  // todo: доработать генерацию формы, вместо перезагрузки страницы
80
  console.log(xhr.responseText);
81
  console.log(thrownError);
82
 
83
+ var noticeId = $.wbcr_factory_clearfy_217.app.showNotice('Error: [' + thrownError + '] Status: [' + xhr.status + '] Error massage: [' + xhr.responseText + ']', 'danger');
84
 
85
  allNotices.push(noticeId);
86
  }
libs/factory/clearfy/boot.php CHANGED
@@ -14,22 +14,22 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( defined( 'FACTORY_CLEARFY_214_LOADED' ) ) {
18
  return;
19
  }
20
 
21
- define( 'FACTORY_CLEARFY_214_LOADED', true );
22
 
23
- define( 'FACTORY_CLEARFY_214', '2.1.4' );
24
 
25
- define( 'FACTORY_CLEARFY_214_DIR', dirname( __FILE__ ) );
26
- define( 'FACTORY_CLEARFY_214_URL', plugins_url( null, __FILE__ ) );
27
 
28
- load_plugin_textdomain( 'wbcr_factory_clearfy_214', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
29
 
30
- require( FACTORY_CLEARFY_214_DIR . '/includes/ajax-handlers.php' );
31
- require( FACTORY_CLEARFY_214_DIR . '/includes/class-helpers.php' );
32
- require( FACTORY_CLEARFY_214_DIR . '/includes/class-configurate.php' );
33
 
34
  // module provides function only for the admin area
35
  if ( is_admin() ) {
@@ -38,12 +38,12 @@ if ( is_admin() ) {
38
  * на все страницы админпанели.
39
  */
40
  add_action( 'admin_enqueue_scripts', function () {
41
- wp_enqueue_script( 'wbcr-factory-clearfy-214-global', FACTORY_CLEARFY_214_URL . '/assets/js/globals.js', [ 'jquery' ], FACTORY_CLEARFY_214 );
42
  } );
43
-
44
- if ( defined( 'FACTORY_PAGES_422_LOADED' ) ) {
45
- require( FACTORY_CLEARFY_214_DIR . '/pages/class-pages.php' );
46
- require( FACTORY_CLEARFY_214_DIR . '/pages/class-page-more-features.php' );
47
- require( FACTORY_CLEARFY_214_DIR . '/pages/class-page-license.php' );
48
  }
49
  }
14
  exit;
15
  }
16
 
17
+ if ( defined( 'FACTORY_CLEARFY_217_LOADED' ) ) {
18
  return;
19
  }
20
 
21
+ define( 'FACTORY_CLEARFY_217_LOADED', true );
22
 
23
+ define( 'FACTORY_CLEARFY_217', '2.1.7' );
24
 
25
+ define( 'FACTORY_CLEARFY_217_DIR', dirname( __FILE__ ) );
26
+ define( 'FACTORY_CLEARFY_217_URL', plugins_url( null, __FILE__ ) );
27
 
28
+ load_plugin_textdomain( 'wbcr_factory_clearfy_217', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
29
 
30
+ require( FACTORY_CLEARFY_217_DIR . '/includes/ajax-handlers.php' );
31
+ require( FACTORY_CLEARFY_217_DIR . '/includes/class-helpers.php' );
32
+ require( FACTORY_CLEARFY_217_DIR . '/includes/class-configurate.php' );
33
 
34
  // module provides function only for the admin area
35
  if ( is_admin() ) {
38
  * на все страницы админпанели.
39
  */
40
  add_action( 'admin_enqueue_scripts', function () {
41
+ wp_enqueue_script( 'wbcr-factory-clearfy-217-global', FACTORY_CLEARFY_217_URL . '/assets/js/globals.js', [ 'jquery' ], FACTORY_CLEARFY_217 );
42
  } );
43
+
44
+ if ( defined( 'FACTORY_PAGES_425_LOADED' ) ) {
45
+ require( FACTORY_CLEARFY_217_DIR . '/pages/class-pages.php' );
46
+ require( FACTORY_CLEARFY_217_DIR . '/pages/class-page-more-features.php' );
47
+ require( FACTORY_CLEARFY_217_DIR . '/pages/class-page-license.php' );
48
  }
49
  }
libs/factory/clearfy/includes/ajax-handlers.php CHANGED
@@ -17,10 +17,10 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  *
18
  * @since 2.0.7
19
  *
20
- * @param Wbcr_Factory422_Plugin $plugin_instance
21
  *
22
  */
23
- function wbcr_factory_clearfy_214_check_license( $plugin_instance ) {
24
 
25
  $plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
26
 
@@ -34,7 +34,7 @@ function wbcr_factory_clearfy_214_check_license( $plugin_instance ) {
34
  check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
35
 
36
  if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
37
- wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'wbcr_factory_clearfy_214' ) ] );
38
  die();
39
  }
40
 
@@ -45,23 +45,23 @@ function wbcr_factory_clearfy_214_check_license( $plugin_instance ) {
45
  switch ( $action ) {
46
  case 'activate':
47
  if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
48
- wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'wbcr_factory_clearfy_214' ) ] );
49
  } else {
50
  $plugin_instance->premium->activate( $license_key );
51
- $success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_214' );
52
  }
53
  break;
54
  case 'deactivate':
55
  $plugin_instance->premium->deactivate();
56
- $success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_214' );
57
  break;
58
  case 'sync':
59
  $plugin_instance->premium->sync();
60
- $success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_214' );
61
  break;
62
  case 'unsubscribe':
63
  $plugin_instance->premium->cancel_paid_subscription();
64
- $success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_214' );
65
  break;
66
  }
67
  } catch( Exception $e ) {
17
  *
18
  * @since 2.0.7
19
  *
20
+ * @param Wbcr_Factory425_Plugin $plugin_instance
21
  *
22
  */
23
+ function wbcr_factory_clearfy_217_check_license( $plugin_instance ) {
24
 
25
  $plugin_name = $plugin_instance->request->post( 'plugin_name', null, true );
26
 
34
  check_admin_referer( "clearfy_activate_license_for_{$plugin_name}" );
35
 
36
  if ( empty( $action ) || ! in_array( $action, [ 'activate', 'deactivate', 'sync', 'unsubscribe' ] ) ) {
37
+ wp_send_json_error( [ 'error_message' => __( 'Licensing action not passed or this action is prohibited!', 'wbcr_factory_clearfy_217' ) ] );
38
  die();
39
  }
40
 
45
  switch ( $action ) {
46
  case 'activate':
47
  if ( empty( $license_key ) || strlen( $license_key ) > 32 ) {
48
+ wp_send_json_error( [ 'error_message' => __( 'License key is empty or license key too long (license key is 32 characters long)', 'wbcr_factory_clearfy_217' ) ] );
49
  } else {
50
  $plugin_instance->premium->activate( $license_key );
51
+ $success_message = __( 'Your license has been successfully activated', 'wbcr_factory_clearfy_217' );
52
  }
53
  break;
54
  case 'deactivate':
55
  $plugin_instance->premium->deactivate();
56
+ $success_message = __( 'The license is deactivated', 'wbcr_factory_clearfy_217' );
57
  break;
58
  case 'sync':
59
  $plugin_instance->premium->sync();
60
+ $success_message = __( 'The license has been updated', 'wbcr_factory_clearfy_217' );
61
  break;
62
  case 'unsubscribe':
63
  $plugin_instance->premium->cancel_paid_subscription();
64
+ $success_message = __( 'Subscription success cancelled', 'wbcr_factory_clearfy_217' );
65
  break;
66
  }
67
  } catch( Exception $e ) {
libs/factory/clearfy/includes/class-configurate.php CHANGED
@@ -13,12 +13,12 @@ if ( ! defined( 'ABSPATH' ) ) {
13
  * @copyright (c) 2018, Webcraftic Ltd
14
  *
15
  */
16
- abstract class Wbcr_FactoryClearfy214_Configurate {
17
 
18
  /**
19
- * @param Wbcr_Factory422_Plugin $plugin
20
  */
21
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
22
  $this->plugin = $plugin;
23
  $this->registerActionsAndFilters();
24
  }
13
  * @copyright (c) 2018, Webcraftic Ltd
14
  *
15
  */
16
+ abstract class Wbcr_FactoryClearfy217_Configurate {
17
 
18
  /**
19
+ * @param Wbcr_Factory425_Plugin $plugin
20
  */
21
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
22
  $this->plugin = $plugin;
23
  $this->registerActionsAndFilters();
24
  }
libs/factory/clearfy/includes/class-helpers.php CHANGED
@@ -14,103 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  * @copyright (c) 2018, Webcraftic Ltd
15
  *
16
  */
17
- class WbcrFactoryClearfy214_Helpers {
18
-
19
- /**
20
- * Ссылка по умолчанию (анг)
21
- */
22
- const WEBCRAFTIC_SITE_URL = 'https://clearfy.pro';
23
-
24
- /**
25
- * Русская локализация сайта
26
- */
27
- const WEBCRAFTIC_RU_SITE_URL = 'https://ru.clearfy.pro';
28
- /**
29
- * Украинская локализация сайта
30
- */
31
- const WEBCRAFTIC_UA_SITE_URL = 'https://ua.clearfy.pro';
32
- /**
33
- * Испанская
34
- */
35
- const WEBCRAFTIC_ES_SITE_URL = 'https://es.clearfy.pro';
36
- /**
37
- * Французкая
38
- */
39
- const WEBCRAFTIC_DE_SITE_URL = 'https://de.clearfy.pro';
40
-
41
- /**
42
- * @since 2.0.5
43
- *
44
- * @param int $price
45
- *
46
- * @return int
47
- */
48
- public static function getClearfyBusinessPrice( $price = 19 ) {
49
- return (int) apply_filters( 'wbcr/clearfy/business_price', $price );
50
- }
51
-
52
- /**
53
- * @since 2.0.5
54
- *
55
- * @param int $price
56
- *
57
- * @return int
58
- */
59
- public static function getClearfyBusinessRevPrice( $price = 69 ) {
60
- return (int) apply_filters( 'wbcr/clearfy/business_rev_price', $price );
61
- }
62
-
63
- /**
64
- * Get a link to the official website of the developer
65
- *
66
- * @return string|null
67
- */
68
- public static function getWebcrafticSiteUrl() {
69
- if ( get_locale() == 'ru_RU' ) {
70
- return self::WEBCRAFTIC_RU_SITE_URL;
71
- }
72
-
73
- return self::WEBCRAFTIC_SITE_URL;
74
- }
75
-
76
- /**
77
- * /**
78
- * Get a link to the official website of the developer
79
- *
80
- * @since 2.0.5
81
- *
82
- * @param string $plugin_name
83
- * @param string $page - page address
84
- * @param string $utm_content - from which page or part of the plugin user moved to the site
85
- * @param string $urm_source
86
- *
87
- * @return string
88
- */
89
- public static function getWebcrafticSitePageUrl( $plugin_name, $page, $utm_content = null, $urm_source = 'wordpress.org' ) {
90
- $args = [ 'utm_source' => $urm_source ];
91
-
92
- if ( ! empty( $plugin_name ) ) {
93
- $args['utm_campaign'] = $plugin_name;
94
- }
95
-
96
- if ( ! empty( $utm_content ) ) {
97
- $args['utm_content'] = $utm_content;
98
- }
99
-
100
- $raw_url = add_query_arg( $args, self::getWebcrafticSiteUrl() . '/' . $page . '/' );
101
- $url = esc_url( $raw_url );
102
-
103
- /**
104
- * @param string $url
105
- * @param string $raw_url
106
- * @param string $plugin_name
107
- * @param string $page - page address
108
- * @param string $utm_content - from which page or part of the plugin user moved to the site
109
- * @param string $urm_source
110
- */
111
-
112
- return apply_filters( 'wbcr/clearfy/webcraftic_site_page_url', $url, $raw_url, $plugin_name, $page, $utm_content, $urm_source );
113
- }
114
 
115
  /**
116
  * Recursive sanitation for an array
14
  * @copyright (c) 2018, Webcraftic Ltd
15
  *
16
  */
17
+ class WbcrFactoryClearfy217_Helpers {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
 
19
  /**
20
  * Recursive sanitation for an array
libs/factory/clearfy/langs/{wbcr_factory_clearfy_214-ru_RU.mo → wbcr_factory_clearfy_217-ru_RU.mo} RENAMED
File without changes
libs/factory/clearfy/langs/{wbcr_factory_clearfy_214-ru_RU.po → wbcr_factory_clearfy_217-ru_RU.po} RENAMED
File without changes
libs/factory/clearfy/pages/class-page-license.php CHANGED
@@ -1,393 +1,401 @@
1
  <?php
2
-
3
- // Exit if accessed directly
4
- if ( ! defined( 'ABSPATH' ) ) {
5
- exit;
6
- }
7
-
8
- /**
9
- * Class Wbcr_FactoryLicense000_LicensePage is used as template to display form to active premium functionality.
10
- *
11
- * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
12
- * @since 2.0.7
13
- */
14
- class Wbcr_FactoryClearfy214_LicensePage extends Wbcr_FactoryClearfy214_PageBase {
15
-
16
- /**
17
- * {@inheritdoc}
18
- *
19
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
20
- * @since 2.1.2
21
- * @var string
22
- */
23
- public $type = "page";
24
-
25
- /**
26
- * {@inheritdoc}
27
- *
28
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
29
- * @since 2.1.2
30
- * @var string
31
- */
32
- public $page_menu_dashicon = 'dashicons-admin-network';
33
-
34
- /**
35
- * {@inheritdoc}
36
- *
37
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
38
- * @since 2.1.2
39
- * @var bool
40
- */
41
- public $show_right_sidebar_in_options = false;
42
-
43
- /**
44
- * {@inheritdoc}
45
- *
46
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
47
- * @since 2.1.2
48
- * @var int
49
- */
50
- public $page_menu_position = 0;
51
-
52
- /**
53
- * {@inheritdoc}
54
- *
55
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
- * @since 2.1.2
57
- * @var bool
58
- */
59
- public $available_for_multisite = true;
60
-
61
- /**
62
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
63
- * @since 2.1.2
64
- * @var string
65
- */
66
- public $plugin_name;
67
-
68
- /**
69
- * @var string Name of the paid plan.
70
- */
71
- public $plan_name;
72
-
73
- // PREMIUM SECTION
74
- // ------------------------------------------------------------------
75
- /**
76
- * @since 2.0.7
77
- * @var bool
78
- */
79
- protected $is_premium;
80
-
81
- /**
82
- * @since 2.0.7
83
- * @var \WBCR\Factory_422\Premium\Provider
84
- */
85
- protected $premium;
86
-
87
- /**
88
- * @since 2.0.7
89
- * @var bool
90
- */
91
- protected $is_premium_active;
92
-
93
- /**
94
- * @since 2.0.7
95
- * @var bool
96
- */
97
- protected $premium_has_subscription;
98
-
99
- /**
100
- * @since 2.0.7
101
- * @var \WBCR\Factory_422\Premium\Interfaces\License
102
- */
103
- protected $premium_license;
104
-
105
- // END PREMIUM SECTION
106
- // ------------------------------------------------------------------
107
-
108
- /**
109
- * {@inheritdoc}
110
- * @param Wbcr_Factory422_Plugin $plugin
111
- */
112
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
113
- $this->plugin = $plugin;
114
-
115
- parent::__construct( $plugin );
116
-
117
- if ( ! $this->id ) {
118
- $this->id = $this->plugin->getPrefix() . 'license';
119
- }
120
-
121
- $this->plugin_name = $this->plugin->getPluginName();
122
- $this->premium = $plugin->premium;
123
- $this->is_premium = $this->premium->is_activate();
124
- $this->is_premium_active = $this->premium->is_active();
125
- $this->premium_has_subscription = $this->premium->has_paid_subscription();
126
- $this->premium_license = $this->premium->get_license();
127
-
128
- add_action( "wp_ajax_wbcr-clearfy-activate-license-for-{$this->plugin_name}", [ $this, 'ajax_handler' ] );
129
  }
130
-
131
  /**
132
- * [MAGIC] Magic method that configures assets for a page.
133
- */
134
- public function assets( $scripts, $styles ) {
135
- parent::assets( $scripts, $styles );
136
-
137
- $this->styles->add( FACTORY_CLEARFY_214_URL . '/assets/css/license-manager.css' );
138
- $this->scripts->add( FACTORY_CLEARFY_214_URL . '/assets/js/license-manager.js' );
139
- }
140
-
141
- /**
142
- * Регистрируем ajax обработчик для текущей страницы
143
  *
144
- * @since 2.0.7
145
- */
146
- public function ajax_handler() {
147
- wbcr_factory_clearfy_214_check_license( $this->plugin );
148
- }
149
-
150
- /**
151
- * {@inheritdoc}
152
  */
153
- public function showPageContent() {
154
- ?>
155
- <div id="wcl-license-wrapper"
156
- data-loader="<?php echo FACTORY_CLEARFY_214_URL . '/assets/img/loader.gif'; ?>"
157
- data-plugin-name="<?php echo esc_attr( $this->plugin_name ); ?>"
158
- data-nonce="<?php echo wp_create_nonce( "clearfy_activate_license_for_{$this->plugin_name}" ) ?>">
159
- <?php $this->show_license_form(); ?>
160
- </div>
161
- <?php
162
- }
163
-
164
- /**
165
- * Get before content.
166
- *
167
- * @return string Before content.
168
- */
169
- protected function get_plan_description() {
170
- return '';
171
- }
172
-
173
- /**
174
- * @return string
175
- */
176
- protected function get_hidden_license_key() {
177
- if ( ! $this->is_premium ) {
178
- return '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  }
180
-
181
- return $this->premium_license->get_hidden_key();
182
- }
183
-
184
- /**
185
- * @return string
186
- */
187
- protected function get_plan() {
188
- if ( ! $this->is_premium ) {
189
- return 'free';
190
  }
191
-
192
- return $this->premium->get_plan();
193
- }
194
-
195
- /**
196
- * @return mixed
197
- */
198
- protected function get_expiration_days() {
199
- return $this->premium_license->get_expiration_time( 'days' );
200
- }
201
-
202
- /**
203
- * @return string
204
- */
205
- protected function get_billing_cycle_readable() {
206
- if ( ! $this->is_premium ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  return '';
208
  }
209
-
210
- $billing_cycle = $this->premium->get_billing_cycle();
211
- $billing = 'lifetime';
212
-
213
- if ( 1 == $billing_cycle ) {
214
- $billing = 'month';
215
- } else if ( 12 == $billing_cycle ) {
216
- $billing = 'year';
 
 
217
  }
218
-
219
- return $billing;
220
- }
221
-
222
- /**
223
- * Тип лицензии, цветовое оформление для формы лицензирования
224
- * free - бесплатная
225
- * gift - пожизненная лицензия, лицензия на особых условиях
226
- * trial - красный цвет, применяется для триалов, если лиценизия истекла или заблокирована
227
- * paid - обычная оплаченная лицензия, в данный момент активна.
228
- *
229
- * @return string
230
- */
231
- protected function get_license_type() {
232
- if ( ! $this->is_premium ) {
233
- return 'free';
234
  }
235
-
236
- $license = $this->premium_license;
237
-
238
- if ( $license->is_lifetime() ) {
239
- return 'gift';
240
- } else if ( $license->get_expiration_time( 'days' ) < 1 ) {
241
- return 'trial';
 
 
 
242
  }
243
-
244
- return 'paid';
245
- }
246
-
247
- /**
248
- * @param bool|WP_Error $notice
249
- */
250
- public function show_license_form( $notice = false ) {
251
- ?>
252
- <div id="license-manager"
253
- class="factory-bootstrap-423 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
254
- <div>
255
- <h3><?php printf( __( 'Activate %s', 'wbcr_factory_clearfy_214' ), $this->plan_name ) ?></h3>
256
- <?php echo $this->get_plan_description() ?>
257
- </div>
258
- <br>
259
- <?php if ( is_wp_error( $notice ) ) : ?>
260
- <div class="license-message <?= $this->get_license_type() ?>-license-message">
261
- <div class="alert <?php echo esc_attr( $notice->get_error_code() ); ?>">
262
- <h4 class="alert-heading"><?php _e( $notice->get_error_message(), 'wbcr_factory_clearfy_214' ) ?></h4>
263
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
  </div>
265
- <?php endif; ?>
266
- <div class="onp-container">
267
- <div class="license-details">
268
- <?php if ( $this->get_license_type() == 'free' ): ?>
269
- <a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
270
- class="purchase-premium" target="_blank" rel="noopener">
 
 
 
 
 
 
 
271
  <span class="btn btn-gold btn-inner-wrap">
272
- <?php _e( 'Upgrade to Premium', 'wbcr_factory_clearfy_214' ) ?>
273
  </span>
274
- </a>
275
- <p><?php printf( __( 'Your current license for %1$s:', 'wbcr_factory_clearfy_214' ), $this->plugin->getPluginTitle() ) ?></p>
276
- <?php endif; ?>
277
- <div class="license-details-block <?= $this->get_license_type() ?>-details-block">
278
- <?php if ( $this->is_premium ): ?>
279
- <a data-action="deactivate" href="#"
280
- class="btn btn-default btn-small license-delete-button wcl-control-btn">
281
- <?php _e( 'Delete Key', 'wbcr_factory_clearfy_214' ) ?>
282
- </a>
283
- <a data-action="sync" href="#"
284
- class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
285
- <?php _e( 'Synchronization', 'wbcr_factory_clearfy_214' ) ?>
286
  </a>
 
287
  <?php endif; ?>
288
- <h3>
289
- <?php echo ucfirst( $this->get_plan() ); ?>
290
-
291
- <?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
292
- <span style="font-size: 15px;">
 
 
 
 
 
 
 
 
 
 
 
293
  (<?php printf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ); ?>)
294
  </span>
 
 
 
 
 
 
295
  <?php endif; ?>
296
- </h3>
297
- <?php if ( $this->is_premium ): ?>
298
- <div class="license-key-identity">
299
- <code><?= esc_attr( $this->get_hidden_license_key() ) ?></code>
 
 
 
 
 
 
 
 
 
 
 
 
 
300
  </div>
301
- <?php endif; ?>
302
- <div class="license-key-description">
303
- <p><?php _e( 'Public License is a GPLv2 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'wbcr_factory_clearfy_214' ) ?>
304
- </p>
305
- <?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
306
- <p class="activate-trial-hint">
307
- <?php _e( 'You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wcl-control-btn" href="#">cancel subscription</a>', 'wbcr_factory_clearfy_214' ) ?>
308
- </p>
309
- <?php endif; ?>
310
-
311
- <?php if ( $this->get_license_type() == 'trial' ): ?>
312
- <p class="activate-error-hint">
313
- <?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'wbcr_factory_clearfy_214' ), '' ) ?>
314
- </p>
315
- <?php endif; ?>
316
- </div>
317
- <table class="license-params" colspacing="0" colpadding="0">
318
- <tr>
319
- <!--<td class="license-param license-param-domain">
320
  <span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
321
- <span class="license-value-name"><?php _e( 'domain', 'wbcr_factory_clearfy_214' ) ?></span>
322
  </td>-->
323
- <td class="license-param license-param-days">
324
- <span class="license-value"><?= $this->get_plan() ?></span>
325
- <span class="license-value-name"><?php _e( 'plan', 'wbcr_factory_clearfy_214' ) ?></span>
326
- </td>
327
- <?php if ( $this->is_premium ) : ?>
328
- <td class="license-param license-param-sites">
329
  <span class="license-value">
330
  <?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
331
- <?php _e( 'of', 'wbcr_factory_clearfy_214' ) ?>
332
  <?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
333
- <span class="license-value-name"><?php _e( 'active sites', 'wbcr_factory_clearfy_214' ) ?></span>
 
 
 
 
 
334
  </td>
335
- <?php endif; ?>
336
- <td class="license-param license-param-version">
337
- <span class="license-value"><?= $this->plugin->getPluginVersion() ?></span>
338
- <span class="license-value-name"><span>version</span></span>
339
- </td>
340
- <?php if ( $this->is_premium ): ?>
341
- <td class="license-param license-param-days">
342
- <?php if ( $this->get_license_type() == 'trial' ): ?>
343
- <span class="license-value"><?php _e( 'EXPIRED!', 'wbcr_factory_clearfy_214' ) ?></span>
344
- <span class="license-value-name"><?php _e( 'please update the key', 'wbcr_factory_clearfy_214' ) ?></span>
345
- <?php else: ?>
346
- <span class="license-value">
347
  <?php
348
- if ( $this->premium_license->is_lifetime() ) {
349
- echo 'infiniate';
350
- } else {
351
- echo $this->get_expiration_days();
352
- }
353
  ?>
354
- <small> <?php _e( 'day(s)', 'wbcr_factory_clearfy_214' ) ?></small>
355
  </span>
356
- <span class="license-value-name"><?php _e( 'remained', 'wbcr_factory_clearfy_214' ) ?></span>
357
- <?php endif; ?>
358
- </td>
359
- <?php endif; ?>
360
- </tr>
361
- </table>
362
- </div>
363
- </div>
364
- <div class="license-input">
365
- <form action="" method="post">
366
- <?php if ( $this->is_premium ): ?>
367
- <p><?php _e( 'Have a key to activate the premium version? Paste it here:', 'wbcr_factory_clearfy_214' ) ?><p>
368
- <?php else: ?>
369
- <p><?php _e( 'Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_214' ) ?>
370
- <p>
371
- <?php endif; ?>
372
- <button data-action="activate" class="btn btn-default wcl-control-btn" type="button" id="license-submit">
373
- <?php _e( 'Submit Key', 'wbcr_factory_clearfy_214' ) ?>
374
- </button>
375
- <div class="license-key-wrap">
376
- <input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
377
  </div>
378
- <?php if ( $this->is_premium ): ?>
379
- <p style="margin-top: 10px;">
380
- <?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_clearfy_214' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
381
- </p>
 
382
  <?php else: ?>
383
- <p style="margin-top: 10px;">
384
- <?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_clearfy_214' ), $this->plugin->get_support()->get_contacts_url( true, 'license_page' ) ) ?>
385
- </p>
386
- <?php endif; ?>
387
- </form>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  </div>
389
  </div>
390
- </div>
391
- <?php
392
  }
393
- }
1
  <?php
2
+
3
+ // Exit if accessed directly
4
+ if ( ! defined( 'ABSPATH' ) ) {
5
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  }
7
+
8
  /**
9
+ * Class Wbcr_FactoryLicense000_LicensePage is used as template to display form to active premium functionality.
 
 
 
 
 
 
 
 
 
 
10
  *
11
+ * @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
12
+ * @since 2.0.7
 
 
 
 
 
 
13
  */
14
+ class Wbcr_FactoryClearfy217_LicensePage extends Wbcr_FactoryClearfy217_PageBase {
15
+
16
+ /**
17
+ * {@inheritdoc}
18
+ *
19
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
20
+ * @since 2.1.2
21
+ * @var string
22
+ */
23
+ public $type = "page";
24
+
25
+ /**
26
+ * {@inheritdoc}
27
+ *
28
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
29
+ * @since 2.1.2
30
+ * @var string
31
+ */
32
+ public $page_menu_dashicon = 'dashicons-admin-network';
33
+
34
+ /**
35
+ * {@inheritdoc}
36
+ *
37
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
38
+ * @since 2.1.2
39
+ * @var bool
40
+ */
41
+ public $show_right_sidebar_in_options = false;
42
+
43
+ /**
44
+ * {@inheritdoc}
45
+ *
46
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
47
+ * @since 2.1.2
48
+ * @var int
49
+ */
50
+ public $page_menu_position = 0;
51
+
52
+ /**
53
+ * {@inheritdoc}
54
+ *
55
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
56
+ * @since 2.1.2
57
+ * @var bool
58
+ */
59
+ public $available_for_multisite = true;
60
+
61
+ /**
62
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
63
+ * @since 2.1.2
64
+ * @var string
65
+ */
66
+ public $plugin_name;
67
+
68
+ /**
69
+ * @var string Name of the paid plan.
70
+ */
71
+ public $plan_name;
72
+
73
+ // PREMIUM SECTION
74
+ // ------------------------------------------------------------------
75
+ /**
76
+ * @since 2.0.7
77
+ * @var bool
78
+ */
79
+ protected $is_premium;
80
+
81
+ /**
82
+ * @since 2.0.7
83
+ * @var \WBCR\Factory_425\Premium\Provider
84
+ */
85
+ protected $premium;
86
+
87
+ /**
88
+ * @since 2.0.7
89
+ * @var bool
90
+ */
91
+ protected $is_premium_active;
92
+
93
+ /**
94
+ * @since 2.0.7
95
+ * @var bool
96
+ */
97
+ protected $premium_has_subscription;
98
+
99
+ /**
100
+ * @since 2.0.7
101
+ * @var \WBCR\Factory_425\Premium\Interfaces\License
102
+ */
103
+ protected $premium_license;
104
+
105
+ // END PREMIUM SECTION
106
+ // ------------------------------------------------------------------
107
+
108
+ /**
109
+ * {@inheritdoc}
110
+ * @param Wbcr_Factory425_Plugin $plugin
111
+ */
112
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
113
+ $this->plugin = $plugin;
114
+
115
+ parent::__construct( $plugin );
116
+
117
+ if ( ! $this->id ) {
118
+ $this->id = $this->plugin->getPrefix() . 'license';
119
+ }
120
+
121
+ $this->plugin_name = $this->plugin->getPluginName();
122
+ $this->premium = $plugin->premium;
123
+ $this->is_premium = $this->premium->is_activate();
124
+ $this->is_premium_active = $this->premium->is_active();
125
+ $this->premium_has_subscription = $this->premium->has_paid_subscription();
126
+ $this->premium_license = $this->premium->get_license();
127
+
128
+ add_action( "wp_ajax_wbcr-clearfy-activate-license-for-{$this->plugin_name}", [ $this, 'ajax_handler' ] );
129
  }
130
+
131
+ /**
132
+ * [MAGIC] Magic method that configures assets for a page.
133
+ */
134
+ public function assets( $scripts, $styles ) {
135
+ parent::assets( $scripts, $styles );
136
+
137
+ $this->styles->add( FACTORY_CLEARFY_217_URL . '/assets/css/license-manager.css' );
138
+ $this->scripts->add( FACTORY_CLEARFY_217_URL . '/assets/js/license-manager.js' );
 
139
  }
140
+
141
+ /**
142
+ * Регистрируем ajax обработчик для текущей страницы
143
+ *
144
+ * @since 2.0.7
145
+ */
146
+ public function ajax_handler() {
147
+ wbcr_factory_clearfy_217_check_license( $this->plugin );
148
+ }
149
+
150
+ /**
151
+ * {@inheritdoc}
152
+ */
153
+ public function showPageContent() {
154
+ ?>
155
+ <div id="wcl-license-wrapper"
156
+ data-loader="<?php echo FACTORY_CLEARFY_217_URL . '/assets/img/loader.gif'; ?>"
157
+ data-plugin-name="<?php echo esc_attr( $this->plugin_name ); ?>"
158
+ data-nonce="<?php echo wp_create_nonce( "clearfy_activate_license_for_{$this->plugin_name}" ) ?>">
159
+ <?php $this->show_license_form(); ?>
160
+ </div>
161
+ <?php
162
+ }
163
+
164
+ /**
165
+ * Get before content.
166
+ *
167
+ * @return string Before content.
168
+ */
169
+ protected function get_plan_description() {
170
  return '';
171
  }
172
+
173
+ /**
174
+ * @return string
175
+ */
176
+ protected function get_hidden_license_key() {
177
+ if ( ! $this->is_premium ) {
178
+ return '';
179
+ }
180
+
181
+ return $this->premium_license->get_hidden_key();
182
  }
183
+
184
+ /**
185
+ * @return string
186
+ */
187
+ protected function get_plan() {
188
+ if ( ! $this->is_premium ) {
189
+ return 'free';
190
+ }
191
+
192
+ return $this->premium->get_plan();
 
 
 
 
 
 
193
  }
194
+
195
+ /**
196
+ * @return mixed
197
+ */
198
+ protected function get_expiration_days() {
199
+ if ( ! $this->is_premium ) {
200
+ return '';
201
+ }
202
+
203
+ return $this->premium_license->get_expiration_time( 'days' );
204
  }
205
+
206
+ /**
207
+ * @return string
208
+ */
209
+ protected function get_billing_cycle_readable() {
210
+ if ( ! $this->is_premium ) {
211
+ return '';
212
+ }
213
+
214
+ $billing_cycle = $this->premium->get_billing_cycle();
215
+ $billing = 'lifetime';
216
+
217
+ if ( 1 == $billing_cycle ) {
218
+ $billing = 'month';
219
+ } else if ( 12 == $billing_cycle ) {
220
+ $billing = 'year';
221
+ }
222
+
223
+ return $billing;
224
+ }
225
+
226
+ /**
227
+ * Тип лицензии, цветовое оформление для формы лицензирования
228
+ * free - бесплатная
229
+ * gift - пожизненная лицензия, лицензия на особых условиях
230
+ * trial - красный цвет, применяется для триалов, если лиценизия истекла или заблокирована
231
+ * paid - обычная оплаченная лицензия, в данный момент активна.
232
+ *
233
+ * @return string
234
+ */
235
+ protected function get_license_type() {
236
+ if ( ! $this->is_premium ) {
237
+ return 'free';
238
+ }
239
+
240
+ $license = $this->premium_license;
241
+
242
+ if ( $license->is_lifetime() ) {
243
+ return 'gift';
244
+ } else if ( $license->get_expiration_time( 'days' ) < 1 ) {
245
+ return 'trial';
246
+ }
247
+
248
+ return 'paid';
249
+ }
250
+
251
+ /**
252
+ * @param bool|WP_Error $notice
253
+ */
254
+ public function show_license_form( $notice = false ) {
255
+ ?>
256
+ <div id="license-manager"
257
+ class="factory-bootstrap-426 onp-page-wrap <?= $this->get_license_type() ?>-license-manager-content">
258
+ <div>
259
+ <h3><?php printf( __( 'Activate %s', 'wbcr_factory_clearfy_217' ), $this->plan_name ) ?></h3>
260
+ <?php echo $this->get_plan_description() ?>
261
  </div>
262
+ <br>
263
+ <?php if ( is_wp_error( $notice ) ) : ?>
264
+ <div class="license-message <?= $this->get_license_type() ?>-license-message">
265
+ <div class="alert <?php echo esc_attr( $notice->get_error_code() ); ?>">
266
+ <h4 class="alert-heading"><?php _e( $notice->get_error_message(), 'wbcr_factory_clearfy_217' ) ?></h4>
267
+ </div>
268
+ </div>
269
+ <?php endif; ?>
270
+ <div class="onp-container">
271
+ <div class="license-details">
272
+ <?php if ( $this->get_license_type() == 'free' ): ?>
273
+ <a href="<?php echo $this->plugin->get_support()->get_pricing_url( true, 'license_page' ); ?>"
274
+ class="purchase-premium" target="_blank" rel="noopener">
275
  <span class="btn btn-gold btn-inner-wrap">
276
+ <?php _e( 'Upgrade to Premium', 'wbcr_factory_clearfy_217' ) ?>
277
  </span>
 
 
 
 
 
 
 
 
 
 
 
 
278
  </a>
279
+ <p><?php printf( __( 'Your current license for %1$s:', 'wbcr_factory_clearfy_217' ), $this->plugin->getPluginTitle() ) ?></p>
280
  <?php endif; ?>
281
+ <div class="license-details-block <?= $this->get_license_type() ?>-details-block">
282
+ <?php if ( $this->is_premium ): ?>
283
+ <a data-action="deactivate" href="#"
284
+ class="btn btn-default btn-small license-delete-button wcl-control-btn">
285
+ <?php _e( 'Delete Key', 'wbcr_factory_clearfy_217' ) ?>
286
+ </a>
287
+ <a data-action="sync" href="#"
288
+ class="btn btn-default btn-small license-synchronization-button wcl-control-btn">
289
+ <?php _e( 'Synchronization', 'wbcr_factory_clearfy_217' ) ?>
290
+ </a>
291
+ <?php endif; ?>
292
+ <h3>
293
+ <?php echo ucfirst( $this->get_plan() ); ?>
294
+
295
+ <?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
296
+ <span style="font-size: 15px;">
297
  (<?php printf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ); ?>)
298
  </span>
299
+ <?php endif; ?>
300
+ </h3>
301
+ <?php if ( $this->is_premium ): ?>
302
+ <div class="license-key-identity">
303
+ <code><?= esc_attr( $this->get_hidden_license_key() ) ?></code>
304
+ </div>
305
  <?php endif; ?>
306
+ <div class="license-key-description">
307
+ <?php if ( ! $this->is_premium ): ?>
308
+ <p><?php _e( 'Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'wbcr_factory_clearfy_217' ) ?></p>
309
+ <?php else: ?>
310
+ <p><?php _e( 'Сommercial license, only to the premium add-on to this free plugin. You cannot distribute or modify the premium add-on. But free plugin is a GPLv3 compatible license allowing you to change and use this version of the plugin for free.', 'wbcr_factory_clearfy_217' ) ?></p>
311
+ <?php endif; ?>
312
+ <?php if ( $this->is_premium && $this->premium_has_subscription ): ?>
313
+ <p class="activate-trial-hint">
314
+ <?php _e( 'You use a paid subscription for the plugin updates. In case you don’t want to receive paid updates, please, click <a data-action="unsubscribe" class="wcl-control-btn" href="#">cancel subscription</a>', 'wbcr_factory_clearfy_217' ) ?>
315
+ </p>
316
+ <?php endif; ?>
317
+
318
+ <?php if ( $this->get_license_type() == 'trial' ): ?>
319
+ <p class="activate-error-hint">
320
+ <?php printf( __( 'Your license has expired, please extend the license to get updates and support.', 'wbcr_factory_clearfy_217' ), '' ) ?>
321
+ </p>
322
+ <?php endif; ?>
323
  </div>
324
+ <table class="license-params" colspacing="0" colpadding="0">
325
+ <tr>
326
+ <!--<td class="license-param license-param-domain">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  <span class="license-value"><?php echo esc_attr( $_SERVER['SERVER_NAME'] ); ?></span>
328
+ <span class="license-value-name"><?php _e( 'domain', 'wbcr_factory_clearfy_217' ) ?></span>
329
  </td>-->
330
+ <td class="license-param license-param-days">
331
+ <span class="license-value"><?= $this->get_plan() ?></span>
332
+ <span class="license-value-name"><?php _e( 'plan', 'wbcr_factory_clearfy_217' ) ?></span>
333
+ </td>
334
+ <?php if ( $this->is_premium ) : ?>
335
+ <td class="license-param license-param-sites">
336
  <span class="license-value">
337
  <?php echo esc_attr( $this->premium_license->get_count_active_sites() ); ?>
338
+ <?php _e( 'of', 'wbcr_factory_clearfy_217' ) ?>
339
  <?php echo esc_attr( $this->premium_license->get_sites_quota() ); ?></span>
340
+ <span class="license-value-name"><?php _e( 'active sites', 'wbcr_factory_clearfy_217' ) ?></span>
341
+ </td>
342
+ <?php endif; ?>
343
+ <td class="license-param license-param-version">
344
+ <span class="license-value"><?= $this->plugin->getPluginVersion() ?></span>
345
+ <span class="license-value-name"><span>version</span></span>
346
  </td>
347
+ <?php if ( $this->is_premium ): ?>
348
+ <td class="license-param license-param-days">
349
+ <?php if ( $this->get_license_type() == 'trial' ): ?>
350
+ <span class="license-value"><?php _e( 'EXPIRED!', 'wbcr_factory_clearfy_217' ) ?></span>
351
+ <span class="license-value-name"><?php _e( 'please update the key', 'wbcr_factory_clearfy_217' ) ?></span>
352
+ <?php else: ?>
353
+ <span class="license-value">
 
 
 
 
 
354
  <?php
355
+ if ( $this->premium_license->is_lifetime() ) {
356
+ echo 'infiniate';
357
+ } else {
358
+ echo $this->get_expiration_days();
359
+ }
360
  ?>
361
+ <small> <?php _e( 'day(s)', 'wbcr_factory_clearfy_217' ) ?></small>
362
  </span>
363
+ <span class="license-value-name"><?php _e( 'remained', 'wbcr_factory_clearfy_217' ) ?></span>
364
+ <?php endif; ?>
365
+ </td>
366
+ <?php endif; ?>
367
+ </tr>
368
+ </table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
369
  </div>
370
+ </div>
371
+ <div class="license-input">
372
+ <form action="" method="post">
373
+ <?php if ( $this->is_premium ): ?>
374
+ <p><?php _e( 'Have a key to activate the premium version? Paste it here:', 'wbcr_factory_clearfy_217' ) ?><p>
375
  <?php else: ?>
376
+ <p><?php _e( 'Have a key to activate the plugin? Paste it here:', 'wbcr_factory_clearfy_217' ) ?>
377
+ <p>
378
+ <?php endif; ?>
379
+ <button data-action="activate" class="btn btn-default wcl-control-btn" type="button"
380
+ id="license-submit">
381
+ <?php _e( 'Submit Key', 'wbcr_factory_clearfy_217' ) ?>
382
+ </button>
383
+ <div class="license-key-wrap">
384
+ <input type="text" id="license-key" name="licensekey" value="" class="form-control"/>
385
+ </div>
386
+ <?php if ( $this->is_premium ): ?>
387
+ <p style="margin-top: 10px;">
388
+ <?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_clearfy_217' ), $this->plugin->get_support()->get_pricing_url( true, 'license_page' ) ); ?>
389
+ </p>
390
+ <?php else: ?>
391
+ <p style="margin-top: 10px;">
392
+ <?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_clearfy_217' ), $this->plugin->get_support()->get_contacts_url( true, 'license_page' ) ) ?>
393
+ </p>
394
+ <?php endif; ?>
395
+ </form>
396
+ </div>
397
  </div>
398
  </div>
399
+ <?php
400
+ }
401
  }
 
libs/factory/clearfy/pages/class-page-more-features.php CHANGED
@@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) {
15
  }
16
 
17
 
18
- class Wbcr_FactoryClearfy214_MoreFeaturesPage extends Wbcr_FactoryPages422_ImpressiveThemplate {
19
 
20
  /**
21
  * {@inheritDoc}
@@ -60,8 +60,8 @@ class Wbcr_FactoryClearfy214_MoreFeaturesPage extends Wbcr_FactoryPages422_Impre
60
  */
61
  public $internal = true;
62
 
63
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
64
- $this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_214' );
65
 
66
  parent::__construct( $plugin );
67
 
@@ -74,7 +74,7 @@ class Wbcr_FactoryClearfy214_MoreFeaturesPage extends Wbcr_FactoryPages422_Impre
74
  * @return string
75
  */
76
  public function getPageTitle() {
77
- return __( 'More features', 'wbcr_factory_clearfy_214' );
78
  }
79
 
80
  /**
@@ -88,66 +88,66 @@ class Wbcr_FactoryClearfy214_MoreFeaturesPage extends Wbcr_FactoryPages422_Impre
88
  <div class="col-sm-4">
89
  <div class="wbcr-factory-feature-box">
90
  <span class="dashicons dashicons-yes"></span>
91
- <h3><?php _e( 'Code cleaning', 'wbcr_factory_clearfy_214' ) ?></h3>
92
- <p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_214' ) ?></p>
93
  </div>
94
  </div>
95
  <div class="col-sm-4">
96
  <div class="wbcr-factory-feature-box">
97
  <span class="dashicons dashicons-chart-bar"></span>
98
- <h3><?php _e( 'Improve SEO', 'wbcr_factory_clearfy_214' ) ?></h3>
99
- <p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_214' ) ?></p>
100
  </div>
101
  </div>
102
  <div class="col-sm-4">
103
  <div class="wbcr-factory-feature-box">
104
  <span class="dashicons dashicons-shield-alt"></span>
105
- <h3><?php _e( 'Site protection', 'wbcr_factory_clearfy_214' ) ?></h3>
106
- <p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_214' ) ?></p>
107
  </div>
108
  </div>
109
  <div class="col-sm-4">
110
  <div class="wbcr-factory-feature-box">
111
  <span class="dashicons dashicons-welcome-comments"></span>
112
- <h3><?php _e( 'Disable comments', 'wbcr_factory_clearfy_214' ) ?></h3>
113
- <p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_214' ) ?></p>
114
  </div>
115
  </div>
116
  <div class="col-sm-4">
117
  <div class="wbcr-factory-feature-box">
118
  <span class="dashicons dashicons-update"></span>
119
- <h3><?php _e( 'Manage updates', 'wbcr_factory_clearfy_214' ) ?></h3>
120
  <p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
121
- to disable all updates.', 'wbcr_factory_clearfy_214' ) ?></p>
122
  </div>
123
  </div>
124
  <div class="col-sm-4">
125
  <div class="wbcr-factory-feature-box">
126
  <span class="dashicons dashicons-admin-plugins"></span>
127
- <h3><?php _e( 'Manage widgets', 'wbcr_factory_clearfy_214' ) ?></h3>
128
- <p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_214' ) ?></p>
129
  </div>
130
  </div>
131
  <div class="col-sm-4">
132
  <div class="wbcr-factory-feature-box">
133
  <span class="dashicons dashicons-dashboard"></span>
134
- <h3><?php _e( 'Speed Optimization', 'wbcr_factory_clearfy_214' ) ?></h3>
135
- <p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_214' ) ?></p>
136
  </div>
137
  </div>
138
  <div class="col-sm-4">
139
  <div class="wbcr-factory-feature-box">
140
  <span class="dashicons dashicons-visibility"></span>
141
- <h3><?php _e( 'Site privacy', 'wbcr_factory_clearfy_214' ) ?></h3>
142
  <p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
143
- WordPress.', 'wbcr_factory_clearfy_214' ) ?></p>
144
  </div>
145
  </div>
146
  <div class="col-sm-4">
147
  <div class="wbcr-factory-feature-box">
148
  <span class="dashicons dashicons-admin-settings"></span>
149
- <h3><?php _e( 'Easy setup', 'wbcr_factory_clearfy_214' ) ?></h3>
150
- <p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_214' ) ?></p>
151
  </div>
152
  </div>
153
  </div>
@@ -161,7 +161,7 @@ class Wbcr_FactoryClearfy214_MoreFeaturesPage extends Wbcr_FactoryPages422_Impre
161
  $url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
162
  ?>
163
  <a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
164
- <?php _e( 'Get the ultimate plugin 100% FREE', 'wbcr_factory_clearfy_214' ) ?>
165
  </a>
166
  </div>
167
  <?php
15
  }
16
 
17
 
18
+ class Wbcr_FactoryClearfy217_MoreFeaturesPage extends Wbcr_FactoryPages425_ImpressiveThemplate {
19
 
20
  /**
21
  * {@inheritDoc}
60
  */
61
  public $internal = true;
62
 
63
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
64
+ $this->menu_title = __( 'More features (<b>free</b>)', 'wbcr_factory_clearfy_217' );
65
 
66
  parent::__construct( $plugin );
67
 
74
  * @return string
75
  */
76
  public function getPageTitle() {
77
+ return __( 'More features', 'wbcr_factory_clearfy_217' );
78
  }
79
 
80
  /**
88
  <div class="col-sm-4">
89
  <div class="wbcr-factory-feature-box">
90
  <span class="dashicons dashicons-yes"></span>
91
+ <h3><?php _e( 'Code cleaning', 'wbcr_factory_clearfy_217' ) ?></h3>
92
+ <p><?php _e( 'Clears the source code of the page from unused code.', 'wbcr_factory_clearfy_217' ) ?></p>
93
  </div>
94
  </div>
95
  <div class="col-sm-4">
96
  <div class="wbcr-factory-feature-box">
97
  <span class="dashicons dashicons-chart-bar"></span>
98
+ <h3><?php _e( 'Improve SEO', 'wbcr_factory_clearfy_217' ) ?></h3>
99
+ <p><?php _e( 'Removes duplicate pages, closes external links, changes the headers of the server.', 'wbcr_factory_clearfy_217' ) ?></p>
100
  </div>
101
  </div>
102
  <div class="col-sm-4">
103
  <div class="wbcr-factory-feature-box">
104
  <span class="dashicons dashicons-shield-alt"></span>
105
+ <h3><?php _e( 'Site protection', 'wbcr_factory_clearfy_217' ) ?></h3>
106
+ <p><?php _e( 'Enables and disables features that improve the protection of your site.', 'wbcr_factory_clearfy_217' ) ?></p>
107
  </div>
108
  </div>
109
  <div class="col-sm-4">
110
  <div class="wbcr-factory-feature-box">
111
  <span class="dashicons dashicons-welcome-comments"></span>
112
+ <h3><?php _e( 'Disable comments', 'wbcr_factory_clearfy_217' ) ?></h3>
113
+ <p><?php _e( 'Disables comments on the entire site or on specific pages.', 'wbcr_factory_clearfy_217' ) ?></p>
114
  </div>
115
  </div>
116
  <div class="col-sm-4">
117
  <div class="wbcr-factory-feature-box">
118
  <span class="dashicons dashicons-update"></span>
119
+ <h3><?php _e( 'Manage updates', 'wbcr_factory_clearfy_217' ) ?></h3>
120
  <p><?php _e( 'Enables or disables automatically updates for plugins, themes and core. It is also possible
121
+ to disable all updates.', 'wbcr_factory_clearfy_217' ) ?></p>
122
  </div>
123
  </div>
124
  <div class="col-sm-4">
125
  <div class="wbcr-factory-feature-box">
126
  <span class="dashicons dashicons-admin-plugins"></span>
127
+ <h3><?php _e( 'Manage widgets', 'wbcr_factory_clearfy_217' ) ?></h3>
128
+ <p><?php _e( 'Allows you to remove unused widgets.', 'wbcr_factory_clearfy_217' ) ?></p>
129
  </div>
130
  </div>
131
  <div class="col-sm-4">
132
  <div class="wbcr-factory-feature-box">
133
  <span class="dashicons dashicons-dashboard"></span>
134
+ <h3><?php _e( 'Speed Optimization', 'wbcr_factory_clearfy_217' ) ?></h3>
135
+ <p><?php _e( 'Increases performance by disabling unused functions and reducing the number of requests.', 'wbcr_factory_clearfy_217' ) ?></p>
136
  </div>
137
  </div>
138
  <div class="col-sm-4">
139
  <div class="wbcr-factory-feature-box">
140
  <span class="dashicons dashicons-visibility"></span>
141
+ <h3><?php _e( 'Site privacy', 'wbcr_factory_clearfy_217' ) ?></h3>
142
  <p><?php _e( 'Allows you to hide the version of the site and plugins. Allows you to hide your
143
+ WordPress.', 'wbcr_factory_clearfy_217' ) ?></p>
144
  </div>
145
  </div>
146
  <div class="col-sm-4">
147
  <div class="wbcr-factory-feature-box">
148
  <span class="dashicons dashicons-admin-settings"></span>
149
+ <h3><?php _e( 'Easy setup', 'wbcr_factory_clearfy_217' ) ?></h3>
150
+ <p><?php _e( 'In quick mode, you can easily configure the plugin according to your needs.', 'wbcr_factory_clearfy_217' ) ?></p>
151
  </div>
152
  </div>
153
  </div>
161
  $url .= '?utm_source=wordpress.org&utm_campaign=' . $this->plugin->getPluginName();
162
  ?>
163
  <a href="<?= $url ?>" class="wbcr-factory-premium-button" target="_blank">
164
+ <?php _e( 'Get the ultimate plugin 100% FREE', 'wbcr_factory_clearfy_217' ) ?>
165
  </a>
166
  </div>
167
  <?php
libs/factory/clearfy/pages/class-pages.php CHANGED
@@ -14,7 +14,7 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  }
15
 
16
  /**
17
- * Class Wbcr_FactoryPages422_ImpressiveThemplate
18
  *
19
  * @method string getInfoWidget() - get widget content information
20
  * @method string getRatingWidget( array $args = [] ) - get widget content rating
@@ -22,7 +22,7 @@ if ( ! defined( 'ABSPATH' ) ) {
22
  * @method string getBusinessSuggetionWidget()
23
  * @method string getSupportWidget
24
  */
25
- class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThemplate {
26
 
27
  /**
28
  * {@inheritDoc}
@@ -49,9 +49,9 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
49
  public $internal = true;
50
 
51
  /**
52
- * @param Wbcr_Factory422_Plugin $plugin
53
  */
54
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
55
  parent::__construct( $plugin );
56
  }
57
 
@@ -81,24 +81,24 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
81
  /**
82
  * Requests assets (js and css) for the page.
83
  *
84
- * @param Wbcr_Factory422_ScriptList $scripts
85
- * @param Wbcr_Factory422_StyleList $styles
86
  *
87
  * @return void
88
- * @see Wbcr_FactoryPages422_AdminPage
89
  *
90
  */
91
  public function assets( $scripts, $styles ) {
92
  parent::assets( $scripts, $styles );
93
 
94
- $this->styles->add( FACTORY_CLEARFY_214_URL . '/assets/css/clearfy-base.css' );
95
 
96
  // todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
97
  if ( defined( 'WCL_PLUGIN_URL' ) ) {
98
  $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/general.css' );
99
  }
100
 
101
- wbcr_factory_422_do_action_deprecated( 'wbcr_clearfy_page_enqueue_scripts', [
102
  $this->getResultId(),
103
  $scripts,
104
  $styles
@@ -114,19 +114,19 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
114
  }
115
 
116
  /**
117
- * @return Wbcr_Factory422_Request
118
  */
119
  public function request() {
120
  return $this->plugin->request;
121
  }
122
 
123
  /**
124
- * @since 2.0.5
125
- *
126
  * @param $option_name
127
- * @param bool $default *
128
  *
129
  * @return mixed|void
 
 
130
  */
131
  public function getPopulateOption( $option_name, $default = false ) {
132
  return $this->plugin->getPopulateOption( $option_name, $default );
@@ -180,38 +180,6 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
180
  $this->plugin->deleteOption( $option_name );
181
  }
182
 
183
-
184
- /**
185
- * Действие выполняется для всех страниц Clearfy и его компонентах.
186
- * Это простое предложение перейти на PRO версию.
187
- */
188
- public function multisiteProAction() {
189
- if ( is_multisite() && $this->plugin->isNetworkActive() ) {
190
-
191
- $license_page_url = $this->getBaseUrl( 'license' );
192
- $upgrade_url = WbcrFactoryClearfy214_Helpers::getWebcrafticSitePageUrl( $this->plugin->getPluginName(), 'pricing', 'multisite_save_settings' );
193
-
194
- $html = '<div class="wbcr-factory-clearfy-214-multisite-suggetion">';
195
- $html .= '<div class="wbcr-factory-inner-contanier">';
196
- $html .= '<h3>' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_214' ) . '</h3>';
197
- $html .= '<p>' . __( 'Oops... Sorry for the inconvenience caused!', 'wbcr_factory_clearfy_214' ) . '</p>';
198
- $html .= '<p>' . __( 'Complete multisite support is available in Clearfy Business and Clearfy Business Revolution packages only!', 'wbcr_factory_clearfy_214' ) . '</p>';
199
- $html .= '<p>' . __( 'You can activate the plugin on each website and use it with zero limitations. But you can’t save the plugin’s settings under the Super Administrator role!', 'wbcr_factory_clearfy_214' ) . '</p>';
200
- $html .= '<p style="margin-top:20px">';
201
- $html .= '<a href="' . $license_page_url . '" class="wbcr-factory-activate-premium" rel="noopener">' . __( 'Activate license ', 'wbcr_factory_clearfy_214' ) . '</a> ';
202
- $html .= '<a href="' . $upgrade_url . '" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">' . __( 'Upgrade to Clearfy Business', 'wbcr_factory_clearfy_214' ) . '</a>';
203
- $html .= '</p>';
204
- $html .= '</div>';
205
- $html .= '</div>';
206
-
207
- $this->showPage( $html );
208
-
209
- return;
210
- }
211
-
212
- $this->redirectToAction( 'index' );
213
- }
214
-
215
  /**
216
  * @param string $position
217
  *
@@ -234,7 +202,7 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
234
  /**
235
  * @since 4.0.9 - является устаревшим
236
  */
237
- $widgets = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_pages_422_imppage_get_widgets', [
238
  $widgets,
239
  $position,
240
  $this->plugin,
@@ -262,24 +230,24 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
262
  $purchase_url = $this->plugin->get_support()->get_pricing_url( true, 'right_sidebar_ads' );
263
 
264
  $default_features = [
265
- '4_premium' => __( '4 premium components now;', 'wbcr_factory_clearfy_214' ),
266
- '40_premium' => __( '40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_214' ),
267
- 'multisite_support' => __( 'Multisite support;', 'wbcr_factory_clearfy_214' ),
268
- 'advance_settings' => __( 'Advanced settings;', 'wbcr_factory_clearfy_214' ),
269
- 'no_ads' => __( 'No ads;', 'wbcr_factory_clearfy_214' ),
270
- 'perfect_support' => __( 'Perfect support.', 'wbcr_factory_clearfy_214' )
271
  ];
272
 
273
  /**
274
  * @since 2.0.8 - added
275
  */
276
- $suggetion_title = __( 'MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_214' );
277
  $suggetion_title = apply_filters( 'wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id );
278
 
279
  /**
280
  * @since 2.0.8 - deprecated
281
  */
282
- $suggetion_features = wbcr_factory_422_apply_filters_deprecated( 'wbcr/clearfy/page_bussines_suggetion_features', [
283
  $default_features,
284
  $this->plugin->getPluginName(),
285
  $this->id
@@ -295,7 +263,7 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
295
  $suggetion_features = $default_features;
296
  }
297
  ?>
298
- <div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-214-pro-suggettion">
299
  <h3><?php echo $suggetion_title; ?></h3>
300
  <ul>
301
  <?php if ( ! empty( $suggetion_features ) ): ?>
@@ -304,8 +272,9 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
304
  <?php endforeach; ?>
305
  <?php endif; ?>
306
  </ul>
307
- <a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank" rel="noopener">
308
- <?php printf( __( 'Upgrade for $%s', 'wbcr_factory_clearfy_214' ), $upgrade_price ) ?>
 
309
  </a>
310
  </div>
311
  <?php
@@ -323,25 +292,28 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
323
  <ul>
324
  <li>
325
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
326
- <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
 
327
  </span>
328
- - <?php _e( 'A neutral setting that can not harm your site, but you must be sure that you need to use it.', 'wbcr_factory_clearfy_214' ); ?>
329
  </li>
330
  <li>
331
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
332
- <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
 
333
  </span>
334
- - <?php _e( 'When set this option, you must be careful. Plugins and themes may depend on this function. You must be sure that you can disable this feature for the site.', 'wbcr_factory_clearfy_214' ); ?>
335
  </li>
336
  <li>
337
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
338
- <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC" alt=""/>
 
339
  </span>
340
- - <?php _e( 'Absolutely safe setting, We recommend to use.', 'wbcr_factory_clearfy_214' ); ?>
341
  </li>
342
  </ul>
343
  ----------<br>
344
- <p><?php _e( 'Hover to the icon to get help for the feature you selected.', 'wbcr_factory_clearfy_214' ); ?></p>
345
  </div>
346
  <?php
347
  }
@@ -349,10 +321,11 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
349
  /**
350
  * Создает html разметку виджета рейтинга
351
  *
352
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
 
353
  * @since 2.0.0
354
  *
355
- * @param array $args
356
  */
357
  public function showRatingWidget( array $args ) {
358
  if ( ! isset( $args[0] ) || empty( $args[0] ) ) {
@@ -361,19 +334,19 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
361
  $page_url = $args[0];
362
  }
363
 
364
- $page_url = apply_filters( 'wbcr_factory_pages_422_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId() );
365
 
366
  ?>
367
  <div class="wbcr-factory-sidebar-widget">
368
  <p>
369
- <strong><?php _e( 'Do you want the plugin to improved and update?', 'wbcr_factory_clearfy_214' ); ?></strong>
370
  </p>
371
- <p><?php _e( 'Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.', 'wbcr_factory_clearfy_214' ); ?></p>
372
- <p><?php _e( 'And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_214' ); ?></p>
373
  <p>
374
  <i class="wbcr-factory-icon-5stars"></i>
375
  <a href="<?= $page_url ?>" title="Go rate us" target="_blank">
376
- <strong><?php _e( 'Go rate us and push ideas', 'wbcr_factory_clearfy_214' ); ?></strong>
377
  </a>
378
  </p>
379
  </div>
@@ -390,17 +363,21 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
390
  ?>
391
  <div class="wbcr-factory-sidebar-widget">
392
  <p>
393
- <strong><?php _e( 'Donation for plugin development', 'wbcr_factory_clearfy_214' ); ?></strong>
394
  </p>
395
  <?php if ( get_locale() !== 'ru_RU' ): ?>
396
- <form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
 
397
  <input type="hidden" name="cmd" value="_s-xclick">
398
  <input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
399
  <div class="wbcr-factory-donation-price">5$</div>
400
- <input type="image" src="<?= FACTORY_PAGES_422_URL ?>/templates/assets/img/paypal-donate.png" border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
 
401
  </form>
402
  <?php else: ?>
403
- <iframe frameborder="0" allowtransparency="true" scrolling="no" src="https://money.yandex.ru/embed/donate.xml?account=410011242846510&quickpay=donate&payment-type-choice=on&mobile-payment-type-choice=on&default-sum=300&targets=%D0%9D%D0%B0+%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D1%83+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9.+&target-visibility=on&project-name=Webcraftic&project-site=&button-text=05&comment=on&hint=%D0%9A%D0%B0%D0%BA%D1%83%D1%8E+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%3F&mail=on&successURL=" width="508" height="187"></iframe>
 
 
404
  <?php endif; ?>
405
  </div>
406
  <?php
@@ -414,7 +391,8 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
414
  */
415
  public function showSupportWidget() {
416
  $free_support_url = $this->plugin->get_support()->get_contacts_url();
417
- $hot_support_url = 'https://webcraftic.com/other-questions-support/';
 
418
  ?>
419
  <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
420
  <p><strong><?php _e( 'Having Issues?', 'clearfy' ); ?></strong></p>
@@ -424,7 +402,8 @@ class Wbcr_FactoryClearfy214_PageBase extends Wbcr_FactoryPages422_ImpressiveThe
424
  </p>
425
  <ul>
426
  <li><span class="dashicons dashicons-sos"></span>
427
- <a href="<?= $free_support_url ?>" target="_blank" rel="noopener"><?php _e( 'Get starting free support', 'clearfy' ); ?></a>
 
428
  </li>
429
  <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
430
  <span class="dashicons dashicons-warning"></span>
14
  }
15
 
16
  /**
17
+ * Class Wbcr_FactoryPages425_ImpressiveThemplate
18
  *
19
  * @method string getInfoWidget() - get widget content information
20
  * @method string getRatingWidget( array $args = [] ) - get widget content rating
22
  * @method string getBusinessSuggetionWidget()
23
  * @method string getSupportWidget
24
  */
25
+ class Wbcr_FactoryClearfy217_PageBase extends Wbcr_FactoryPages425_ImpressiveThemplate {
26
 
27
  /**
28
  * {@inheritDoc}
49
  public $internal = true;
50
 
51
  /**
52
+ * @param Wbcr_Factory425_Plugin $plugin
53
  */
54
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
55
  parent::__construct( $plugin );
56
  }
57
 
81
  /**
82
  * Requests assets (js and css) for the page.
83
  *
84
+ * @param Wbcr_Factory425_ScriptList $scripts
85
+ * @param Wbcr_Factory425_StyleList $styles
86
  *
87
  * @return void
88
+ * @see Wbcr_FactoryPages425_AdminPage
89
  *
90
  */
91
  public function assets( $scripts, $styles ) {
92
  parent::assets( $scripts, $styles );
93
 
94
+ $this->styles->add( FACTORY_CLEARFY_217_URL . '/assets/css/clearfy-base.css' );
95
 
96
  // todo: вынести все общие скрипты и стили фреймворка, продумать совместимость с другими плагинами
97
  if ( defined( 'WCL_PLUGIN_URL' ) ) {
98
  $this->styles->add( WCL_PLUGIN_URL . '/admin/assets/css/general.css' );
99
  }
100
 
101
+ wbcr_factory_425_do_action_deprecated( 'wbcr_clearfy_page_enqueue_scripts', [
102
  $this->getResultId(),
103
  $scripts,
104
  $styles
114
  }
115
 
116
  /**
117
+ * @return Wbcr_Factory425_Request
118
  */
119
  public function request() {
120
  return $this->plugin->request;
121
  }
122
 
123
  /**
 
 
124
  * @param $option_name
125
+ * @param bool $default *
126
  *
127
  * @return mixed|void
128
+ * @since 2.0.5
129
+ *
130
  */
131
  public function getPopulateOption( $option_name, $default = false ) {
132
  return $this->plugin->getPopulateOption( $option_name, $default );
180
  $this->plugin->deleteOption( $option_name );
181
  }
182
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  /**
184
  * @param string $position
185
  *
202
  /**
203
  * @since 4.0.9 - является устаревшим
204
  */
205
+ $widgets = wbcr_factory_425_apply_filters_deprecated( 'wbcr_factory_pages_425_imppage_get_widgets', [
206
  $widgets,
207
  $position,
208
  $this->plugin,
230
  $purchase_url = $this->plugin->get_support()->get_pricing_url( true, 'right_sidebar_ads' );
231
 
232
  $default_features = [
233
+ '4_premium' => __( '4 premium components now;', 'wbcr_factory_clearfy_217' ),
234
+ '40_premium' => __( '40 new premium components within a year for the single price;', 'wbcr_factory_clearfy_217' ),
235
+ 'multisite_support' => __( 'Multisite support;', 'wbcr_factory_clearfy_217' ),
236
+ 'advance_settings' => __( 'Advanced settings;', 'wbcr_factory_clearfy_217' ),
237
+ 'no_ads' => __( 'No ads;', 'wbcr_factory_clearfy_217' ),
238
+ 'perfect_support' => __( 'Perfect support.', 'wbcr_factory_clearfy_217' )
239
  ];
240
 
241
  /**
242
  * @since 2.0.8 - added
243
  */
244
+ $suggetion_title = __( 'MORE IN CLEARFY <span>BUSINESS</span>', 'wbcr_factory_clearfy_217' );
245
  $suggetion_title = apply_filters( 'wbcr/clearfy/pages/suggetion_title', $suggetion_title, $plugin_name, $this->id );
246
 
247
  /**
248
  * @since 2.0.8 - deprecated
249
  */
250
+ $suggetion_features = wbcr_factory_425_apply_filters_deprecated( 'wbcr/clearfy/page_bussines_suggetion_features', [
251
  $default_features,
252
  $this->plugin->getPluginName(),
253
  $this->id
263
  $suggetion_features = $default_features;
264
  }
265
  ?>
266
+ <div class="wbcr-factory-sidebar-widget wbcr-factory-clearfy-217-pro-suggettion">
267
  <h3><?php echo $suggetion_title; ?></h3>
268
  <ul>
269
  <?php if ( ! empty( $suggetion_features ) ): ?>
272
  <?php endforeach; ?>
273
  <?php endif; ?>
274
  </ul>
275
+ <a href="<?php echo $purchase_url ?>" class="wbcr-factory-purchase-premium" target="_blank"
276
+ rel="noopener">
277
+ <?php printf( __( 'Upgrade for $%s', 'wbcr_factory_clearfy_217' ), $upgrade_price ) ?>
278
  </a>
279
  </div>
280
  <?php
292
  <ul>
293
  <li>
294
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-red">
295
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
296
+ alt=""/>
297
  </span>
298
+ - <?php _e( 'A neutral setting that can not harm your site, but you must be sure that you need to use it.', 'wbcr_factory_clearfy_217' ); ?>
299
  </li>
300
  <li>
301
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-grey">
302
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
303
+ alt=""/>
304
  </span>
305
+ - <?php _e( 'When set this option, you must be careful. Plugins and themes may depend on this function. You must be sure that you can disable this feature for the site.', 'wbcr_factory_clearfy_217' ); ?>
306
  </li>
307
  <li>
308
  <span class="wbcr-factory-hint-icon-simple wbcr-factory-simple-green">
309
+ <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
310
+ alt=""/>
311
  </span>
312
+ - <?php _e( 'Absolutely safe setting, We recommend to use.', 'wbcr_factory_clearfy_217' ); ?>
313
  </li>
314
  </ul>
315
  ----------<br>
316
+ <p><?php _e( 'Hover to the icon to get help for the feature you selected.', 'wbcr_factory_clearfy_217' ); ?></p>
317
  </div>
318
  <?php
319
  }
321
  /**
322
  * Создает html разметку виджета рейтинга
323
  *
324
+ * @param array $args
325
+ *
326
  * @since 2.0.0
327
  *
328
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
329
  */
330
  public function showRatingWidget( array $args ) {
331
  if ( ! isset( $args[0] ) || empty( $args[0] ) ) {
334
  $page_url = $args[0];
335
  }
336
 
337
+ $page_url = apply_filters( 'wbcr_factory_pages_425_imppage_rating_widget_url', $page_url, $this->plugin->getPluginName(), $this->getResultId() );
338
 
339
  ?>
340
  <div class="wbcr-factory-sidebar-widget">
341
  <p>
342
+ <strong><?php _e( 'Do you want the plugin to improved and update?', 'wbcr_factory_clearfy_217' ); ?></strong>
343
  </p>
344
+ <p><?php _e( 'Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.', 'wbcr_factory_clearfy_217' ); ?></p>
345
+ <p><?php _e( 'And also write your ideas on how to extend or improve the plugin.', 'wbcr_factory_clearfy_217' ); ?></p>
346
  <p>
347
  <i class="wbcr-factory-icon-5stars"></i>
348
  <a href="<?= $page_url ?>" title="Go rate us" target="_blank">
349
+ <strong><?php _e( 'Go rate us and push ideas', 'wbcr_factory_clearfy_217' ); ?></strong>
350
  </a>
351
  </p>
352
  </div>
363
  ?>
364
  <div class="wbcr-factory-sidebar-widget">
365
  <p>
366
+ <strong><?php _e( 'Donation for plugin development', 'wbcr_factory_clearfy_217' ); ?></strong>
367
  </p>
368
  <?php if ( get_locale() !== 'ru_RU' ): ?>
369
+ <form id="wbcr-factory-paypal-donation-form" action="https://www.paypal.com/cgi-bin/webscr"
370
+ method="post" target="_blank">
371
  <input type="hidden" name="cmd" value="_s-xclick">
372
  <input type="hidden" name="hosted_button_id" value="VDX7JNTQPNPFW">
373
  <div class="wbcr-factory-donation-price">5$</div>
374
+ <input type="image" src="<?= FACTORY_PAGES_425_URL ?>/templates/assets/img/paypal-donate.png"
375
+ border="0" name="submit" alt="PayPal – The safer, easier way to pay online!">
376
  </form>
377
  <?php else: ?>
378
+ <iframe frameborder="0" allowtransparency="true" scrolling="no"
379
+ src="https://money.yandex.ru/embed/donate.xml?account=410011242846510&quickpay=donate&payment-type-choice=on&mobile-payment-type-choice=on&default-sum=300&targets=%D0%9D%D0%B0+%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D1%83+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83+%D0%BD%D0%BE%D0%B2%D1%8B%D1%85+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9.+&target-visibility=on&project-name=Webcraftic&project-site=&button-text=05&comment=on&hint=%D0%9A%D0%B0%D0%BA%D1%83%D1%8E+%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8E+%D0%BD%D1%83%D0%B6%D0%BD%D0%BE+%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+%D0%BF%D0%BB%D0%B0%D0%B3%D0%B8%D0%BD%3F&mail=on&successURL="
380
+ width="508" height="187"></iframe>
381
  <?php endif; ?>
382
  </div>
383
  <?php
391
  */
392
  public function showSupportWidget() {
393
  $free_support_url = $this->plugin->get_support()->get_contacts_url();
394
+ $hot_support_url = $this->plugin->get_support()->get_site_url() . '/other-questions-support';
395
+
396
  ?>
397
  <div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
398
  <p><strong><?php _e( 'Having Issues?', 'clearfy' ); ?></strong></p>
402
  </p>
403
  <ul>
404
  <li><span class="dashicons dashicons-sos"></span>
405
+ <a href="<?= $free_support_url ?>" target="_blank"
406
+ rel="noopener"><?php _e( 'Get starting free support', 'clearfy' ); ?></a>
407
  </li>
408
  <li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
409
  <span class="dashicons dashicons-warning"></span>
libs/factory/core/boot.php CHANGED
@@ -14,49 +14,49 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( defined( 'FACTORY_422_LOADED' ) ) {
18
  return;
19
  }
20
 
21
- define( 'FACTORY_422_LOADED', true );
22
 
23
- define( 'FACTORY_422_VERSION', '4.2.2' );
24
 
25
- define( 'FACTORY_422_DIR', dirname( __FILE__ ) );
26
- define( 'FACTORY_422_URL', plugins_url( null, __FILE__ ) );
27
 
28
- load_plugin_textdomain( 'wbcr_factory_422', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
29
 
30
  #comp merge
31
- require_once( FACTORY_422_DIR . '/includes/functions.php' );
32
 
33
- require_once( FACTORY_422_DIR . '/includes/entities/class-factory-paths.php' );
34
- require_once( FACTORY_422_DIR . '/includes/entities/class-factory-support.php' );
35
 
36
- require_once( FACTORY_422_DIR . '/includes/class-factory-requests.php' );
37
- require_once( FACTORY_422_DIR . '/includes/class-factory-options.php' );
38
- require_once( FACTORY_422_DIR . '/includes/class-factory-plugin-base.php' );
39
- require_once( FACTORY_422_DIR . '/includes/class-factory-migrations.php' );
40
- require_once( FACTORY_422_DIR . '/includes/class-factory-notices.php' );
41
 
42
  // ASSETS
43
- require_once( FACTORY_422_DIR . '/includes/assets-managment/class-factory-assets-list.php' );
44
- require_once( FACTORY_422_DIR . '/includes/assets-managment/class-factory-script-list.php' );
45
- require_once( FACTORY_422_DIR . '/includes/assets-managment/class-factory-style-list.php' );
46
 
47
  // PREMIUM
48
- require_once( FACTORY_422_DIR . '/includes/premium/class-factory-license-interface.php' );
49
- require_once( FACTORY_422_DIR . '/includes/premium/class-factory-provider-abstract.php' );
50
- require_once( FACTORY_422_DIR . '/includes/premium/class-factory-manager.php' );
51
 
52
  // UPDATES
53
- require_once( FACTORY_422_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php' );
54
- require_once( FACTORY_422_DIR . '/includes/updates/repositories/class-factory-wordpress.php' );
55
- require_once( FACTORY_422_DIR . '/includes/updates/class-factory-upgrader.php' );
56
- require_once( FACTORY_422_DIR . '/includes/updates/class-factory-premium-upgrader.php' );
57
 
58
- require_once( FACTORY_422_DIR . '/includes/class-factory-plugin-abstract.php' );
59
 
60
- require_once( FACTORY_422_DIR . '/includes/activation/class-factory-activator.php' );
61
- require_once( FACTORY_422_DIR . '/includes/activation/class-factory-update.php' );
62
  #endcomp
14
  exit;
15
  }
16
 
17
+ if ( defined( 'FACTORY_425_LOADED' ) ) {
18
  return;
19
  }
20
 
21
+ define( 'FACTORY_425_LOADED', true );
22
 
23
+ define( 'FACTORY_425_VERSION', '4.2.5' );
24
 
25
+ define( 'FACTORY_425_DIR', dirname( __FILE__ ) );
26
+ define( 'FACTORY_425_URL', plugins_url( null, __FILE__ ) );
27
 
28
+ load_plugin_textdomain( 'wbcr_factory_425', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
29
 
30
  #comp merge
31
+ require_once( FACTORY_425_DIR . '/includes/functions.php' );
32
 
33
+ require_once( FACTORY_425_DIR . '/includes/entities/class-factory-paths.php' );
34
+ require_once( FACTORY_425_DIR . '/includes/entities/class-factory-support.php' );
35
 
36
+ require_once( FACTORY_425_DIR . '/includes/class-factory-requests.php' );
37
+ require_once( FACTORY_425_DIR . '/includes/class-factory-options.php' );
38
+ require_once( FACTORY_425_DIR . '/includes/class-factory-plugin-base.php' );
39
+ require_once( FACTORY_425_DIR . '/includes/class-factory-migrations.php' );
40
+ require_once( FACTORY_425_DIR . '/includes/class-factory-notices.php' );
41
 
42
  // ASSETS
43
+ require_once( FACTORY_425_DIR . '/includes/assets-managment/class-factory-assets-list.php' );
44
+ require_once( FACTORY_425_DIR . '/includes/assets-managment/class-factory-script-list.php' );
45
+ require_once( FACTORY_425_DIR . '/includes/assets-managment/class-factory-style-list.php' );
46
 
47
  // PREMIUM
48
+ require_once( FACTORY_425_DIR . '/includes/premium/class-factory-license-interface.php' );
49
+ require_once( FACTORY_425_DIR . '/includes/premium/class-factory-provider-abstract.php' );
50
+ require_once( FACTORY_425_DIR . '/includes/premium/class-factory-manager.php' );
51
 
52
  // UPDATES
53
+ require_once( FACTORY_425_DIR . '/includes/updates/repositories/class-factory-repository-abstract.php' );
54
+ require_once( FACTORY_425_DIR . '/includes/updates/repositories/class-factory-wordpress.php' );
55
+ require_once( FACTORY_425_DIR . '/includes/updates/class-factory-upgrader.php' );
56
+ require_once( FACTORY_425_DIR . '/includes/updates/class-factory-premium-upgrader.php' );
57
 
58
+ require_once( FACTORY_425_DIR . '/includes/class-factory-plugin-abstract.php' );
59
 
60
+ require_once( FACTORY_425_DIR . '/includes/activation/class-factory-activator.php' );
61
+ require_once( FACTORY_425_DIR . '/includes/activation/class-factory-update.php' );
62
  #endcomp
libs/factory/core/includes/activation/class-factory-activator.php CHANGED
@@ -19,16 +19,16 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @since 1.0.0
21
  */
22
- abstract class Wbcr_Factory422_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
- * @var Wbcr_Factory422_Plugin
28
  */
29
  public $plugin;
30
 
31
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
32
  $this->plugin = $plugin;
33
  }
34
 
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_Factory425_Activator {
23
 
24
  /**
25
  * Curent plugin.
26
  *
27
+ * @var Wbcr_Factory425_Plugin
28
  */
29
  public $plugin;
30
 
31
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
32
  $this->plugin = $plugin;
33
  }
34
 
libs/factory/core/includes/activation/class-factory-update.php CHANGED
@@ -20,16 +20,16 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_Factory422_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
- * @var Wbcr_Factory422_Plugin
29
  */
30
  var $plugin;
31
 
32
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
33
  $this->plugin = $plugin;
34
  }
35
 
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_Factory425_Update {
24
 
25
  /**
26
  * Current plugin
27
  *
28
+ * @var Wbcr_Factory425_Plugin
29
  */
30
  var $plugin;
31
 
32
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
33
  $this->plugin = $plugin;
34
  }
35
 
libs/factory/core/includes/assets-managment/class-factory-assets-list.php CHANGED
@@ -19,7 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) {
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_Factory422_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
@@ -29,15 +29,15 @@ class Wbcr_Factory422_AssetsList {
29
  protected $default_place;
30
 
31
  /**
32
- * @var Wbcr_Factory422_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
- * @param Wbcr_Factory422_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
- public function __construct( Wbcr_Factory422_Plugin $plugin, $defaultIsFooter = true ) {
41
  $this->plugin = $plugin;
42
 
43
  if ( $defaultIsFooter ) {
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_Factory425_AssetsList {
23
 
24
  protected $all = [];
25
  public $header_place = [];
29
  protected $default_place;
30
 
31
  /**
32
+ * @var Wbcr_Factory425_Plugin
33
  */
34
  protected $plugin;
35
 
36
  /**
37
+ * @param Wbcr_Factory425_Plugin $plugin
38
  * @param bool $defaultIsFooter
39
  */
40
+ public function __construct( Wbcr_Factory425_Plugin $plugin, $defaultIsFooter = true ) {
41
  $this->plugin = $plugin;
42
 
43
  if ( $defaultIsFooter ) {
libs/factory/core/includes/assets-managment/class-factory-script-list.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_Factory422_ScriptList extends Wbcr_Factory422_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
@@ -149,7 +149,7 @@ class Wbcr_Factory422_ScriptList extends Wbcr_Factory422_AssetsList {
149
  * @param string $varname
150
  * @param string $data
151
  *
152
- * @return Wbcr_Factory422_ScriptList $this
153
  */
154
  public function localize( $varname, $data ) {
155
  $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory425_ScriptList extends Wbcr_Factory425_AssetsList {
24
 
25
  public $localize_data = [];
26
  public $use_ajax = false;
149
  * @param string $varname
150
  * @param string $data
151
  *
152
+ * @return Wbcr_Factory425_ScriptList $this
153
  */
154
  public function localize( $varname, $data ) {
155
  $bindTo = count( $this->all ) == 0 ? null : end( $this->all );
libs/factory/core/includes/assets-managment/class-factory-style-list.php CHANGED
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_Factory422_StyleList extends Wbcr_Factory422_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_Factory425_StyleList extends Wbcr_Factory425_AssetsList {
24
 
25
  /**
26
  * Adds new items to the collection (default place).
libs/factory/core/includes/class-check-compatibility.php CHANGED
@@ -75,19 +75,19 @@ if ( ! class_exists( 'Wbcr_Factory_Compatibility' ) ) {
75
  $notice_text = $notice_default_text = '';
76
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
77
 
78
- $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_214' ), $this->plugin_title ) . ' ';
79
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
80
 
81
  $has_one = false;
82
 
83
  if ( ! $this->isPhpCompatibility() ) {
84
  $has_one = true;
85
- $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_422' ), $this->required_php_version ) . '<br>';
86
  }
87
 
88
  if ( ! $this->isWpCompatibility() ) {
89
  $has_one = true;
90
- $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_422' ), $this->required_wp_version ) . '<br>';
91
  }
92
 
93
  if ( $has_one ) {
75
  $notice_text = $notice_default_text = '';
76
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
77
 
78
+ $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_217' ), $this->plugin_title ) . ' ';
79
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
80
 
81
  $has_one = false;
82
 
83
  if ( ! $this->isPhpCompatibility() ) {
84
  $has_one = true;
85
+ $notice_text .= '- ' . sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_425' ), $this->required_php_version ) . '<br>';
86
  }
87
 
88
  if ( ! $this->isWpCompatibility() ) {
89
  $has_one = true;
90
+ $notice_text .= '- ' . sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_425' ), $this->required_wp_version ) . '<br>';
91
  }
92
 
93
  if ( $has_one ) {
libs/factory/core/includes/class-factory-migrations.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422;
4
 
5
  use Exception;
6
- use Wbcr_Factory422_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -35,11 +35,11 @@ class Migrations {
35
  /**
36
  * Migrations constructor.
37
  *
38
- * @param Wbcr_Factory422_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
43
 
44
  $this->plugin = $plugin;
45
  $plugin_name = $plugin->getPluginName();
@@ -129,14 +129,14 @@ class Migrations {
129
  $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
 
131
  $notice_text = $migration_error_text;
132
- $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_422' ) . "</a>";
133
 
134
  $notices[] = [
135
  'id' => 'migration_debug_bar',
136
  'type' => 'error',
137
  'dismissible' => false,
138
  'dismiss_expires' => 0,
139
- 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_422' ) . '</b><br>' . $notice_text . '</p>'
140
  ];
141
 
142
  return $notices;
@@ -162,19 +162,19 @@ class Migrations {
162
 
163
  $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
 
165
- $notice_text = __( "Plugin activated:", "wbcr_factory_422" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
- $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_422" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
- $notice_text .= __( "Current plugin version:", "wbcr_factory_422" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
- $notice_text .= __( "Need migration:", "wbcr_factory_422" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
- $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_422" ) . "</a><br>";
171
 
172
  $notices[] = [
173
  'id' => 'migration_debug_bar',
174
  'type' => 'warning',
175
  'dismissible' => false,
176
  'dismiss_expires' => 0,
177
- 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_422' ) . '</b><br>' . $notice_text . '</p>'
178
  ];
179
 
180
  return $notices;
@@ -505,7 +505,7 @@ class Migrations {
505
  $classes = [];
506
 
507
  if ( ! function_exists( 'token_get_all' ) ) {
508
- throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_422' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
1
  <?php
2
 
3
+ namespace WBCR\Factory_425;
4
 
5
  use Exception;
6
+ use Wbcr_Factory425_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
35
  /**
36
  * Migrations constructor.
37
  *
38
+ * @param Wbcr_Factory425_Plugin $plugin
39
  *
40
  * @throws Exception
41
  */
42
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
43
 
44
  $this->plugin = $plugin;
45
  $plugin_name = $plugin->getPluginName();
129
  $fix_migration_error_url = add_query_arg( 'wbcr_factory_fix_migration_error', 1 );
130
 
131
  $notice_text = $migration_error_text;
132
+ $notice_text .= "<br><br><a href='{$fix_migration_error_url}' class='button button-default'>" . __( 'I fixed, confirm migration', 'wbcr_factory_425' ) . "</a>";
133
 
134
  $notices[] = [
135
  'id' => 'migration_debug_bar',
136
  'type' => 'error',
137
  'dismissible' => false,
138
  'dismiss_expires' => 0,
139
+ 'text' => '<p><b>' . $this->plugin->getPluginTitle() . ' ' . __( 'migration error', 'wbcr_factory_425' ) . '</b><br>' . $notice_text . '</p>'
140
  ];
141
 
142
  return $notices;
162
 
163
  $migrate_url = add_query_arg( 'wbcr_factory_test_migration', 1 );
164
 
165
+ $notice_text = __( "Plugin activated:", "wbcr_factory_425" ) . ' ' . date( "Y-m-d H:i:s", $this->get_plugin_activated_time() ) . "<br>";
166
 
167
+ $notice_text .= __( "Old plugin version (debug):", "wbcr_factory_425" ) . ' ' . $this->get_old_plugin_version() . "<br>";
168
+ $notice_text .= __( "Current plugin version:", "wbcr_factory_425" ) . ' ' . $this->get_current_plugin_version() . "<br>";
169
+ $notice_text .= __( "Need migration:", "wbcr_factory_425" ) . ' ' . ( $this->need_migration() ? "true" : "false" ) . "<br><br>";
170
+ $notice_text .= "<a href='{$migrate_url}' class='button button-default'>" . __( "Migrate now", "wbcr_factory_425" ) . "</a><br>";
171
 
172
  $notices[] = [
173
  'id' => 'migration_debug_bar',
174
  'type' => 'warning',
175
  'dismissible' => false,
176
  'dismiss_expires' => 0,
177
+ 'text' => '<p><b style="color:red;">' . $this->plugin->getPluginTitle() . ' ' . __( 'migrations DEBUG bar', 'wbcr_factory_425' ) . '</b><br>' . $notice_text . '</p>'
178
  ];
179
 
180
  return $notices;
505
  $classes = [];
506
 
507
  if ( ! function_exists( 'token_get_all' ) ) {
508
+ throw new Exception( __( 'There is no PHP Tokenizer extension installed on your server, you cannot use the token_get_all function.', 'wbcr_factory_425' ) );
509
  }
510
 
511
  $tokens = token_get_all( $phpCode );
libs/factory/core/includes/class-factory-notices.php CHANGED
@@ -1,8 +1,8 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422;
4
 
5
- use Wbcr_Factory422_Plugin;
6
 
7
  // Exit if accessed directly
8
  if ( ! defined( 'ABSPATH' ) ) {
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
27
  class Notices {
28
 
29
  /**
30
- * @var Wbcr_Factory422_Plugin
31
  */
32
  protected $plugin;
33
  /**
@@ -58,7 +58,7 @@ class Notices {
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
- * @param Wbcr_Factory422_Plugin $plugin
62
  */
63
  public function __construct( $plugin ) {
64
  //default notices
@@ -86,13 +86,13 @@ class Notices {
86
  /**
87
  * @since 2.1.2 - является устаревшим
88
  */
89
- $this->notices = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_notices_000_list', [
90
  $this->notices,
91
  $this->plugin->getPluginName(),
92
  ], '2.1.2', 'wbcr/factory/admin_notices' );
93
 
94
  /**
95
- * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_422
96
  */
97
  $this->notices = apply_filters( 'wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName() );
98
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_425;
4
 
5
+ use Wbcr_Factory425_Plugin;
6
 
7
  // Exit if accessed directly
8
  if ( ! defined( 'ABSPATH' ) ) {
27
  class Notices {
28
 
29
  /**
30
+ * @var Wbcr_Factory425_Plugin
31
  */
32
  protected $plugin;
33
  /**
58
  /**
59
  * Инициализируем уведомлений сразу после загрузки модуля уведомлений
60
  *
61
+ * @param Wbcr_Factory425_Plugin $plugin
62
  */
63
  public function __construct( $plugin ) {
64
  //default notices
86
  /**
87
  * @since 2.1.2 - является устаревшим
88
  */
89
+ $this->notices = wbcr_factory_425_apply_filters_deprecated( 'wbcr_factory_notices_000_list', [
90
  $this->notices,
91
  $this->plugin->getPluginName(),
92
  ], '2.1.2', 'wbcr/factory/admin_notices' );
93
 
94
  /**
95
+ * @since 2.1.2 - Добавлен, модуль factory_notices_000 был удален. Поэтому в этому хуке мы заменили префикс на factory_425
96
  */
97
  $this->notices = apply_filters( 'wbcr/factory/admin_notices', $this->notices, $this->plugin->getPluginName() );
98
 
libs/factory/core/includes/class-factory-options.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422;
4
 
5
  // Exit if accessed directly
6
  use Exception;
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  }
11
 
12
  /**
13
- * Трейт используется для расширения базового класса плагина Wbcr_Factory422_Base, позволяя работать с опциями плагина.
14
  *
15
  * Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
16
  * delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
1
  <?php
2
 
3
+ namespace WBCR\Factory_425;
4
 
5
  // Exit if accessed directly
6
  use Exception;
10
  }
11
 
12
  /**
13
+ * Трейт используется для расширения базового класса плагина Wbcr_Factory425_Base, позволяя работать с опциями плагина.
14
  *
15
  * Этот трейт является оберткой для Wordpress функций get_option, get_site_option, update_option, update_site_option,
16
  * delete_option, delete_site_option. Основная задача была получать, обновлять, удалять опции без использования префиксов,
libs/factory/core/includes/class-factory-plugin-abstract.php CHANGED
@@ -24,42 +24,42 @@ if ( ! defined( 'ABSPATH' ) ) {
24
  * @package factory-core
25
  *
26
  */
27
- abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
28
 
29
  /**
30
- * Instance class Wbcr_Factory422_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
- * @var Wbcr_Factory422_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
- * @var \WBCR\Factory_422\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
- * @var Wbcr_FactoryBootstrap423_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
- * @var Wbcr_FactoryForms420_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
- * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory422_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
- * @var array[] Wbcr_Factory422_Activator
63
  */
64
  protected $activator_class = [];
65
 
@@ -86,27 +86,27 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
86
  *
87
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
88
  * @since 4.1.9
89
- * @var WBCR\Factory_Adverts_104\Base
90
  */
91
  private $adverts;
92
 
93
  /**
94
  * Инициализирует компоненты фреймворка и плагина.
95
  *
96
- * @since 1.0.0
97
- *
98
- * @param array $data A set of plugin data.
99
  *
100
- * @param string $plugin_path A full path to the main plugin file.
101
  *
102
  * @throws Exception
 
 
103
  */
104
  public function __construct( $plugin_path, $data ) {
105
 
106
  parent::__construct( $plugin_path, $data );
107
 
108
- $this->request = new Wbcr_Factory422_Request();
109
- //$this->route = new Wbcr_Factory422_Route();
110
 
111
  // INIT PLUGIN FRAMEWORK MODULES
112
  // Framework modules should always be loaded first,
@@ -138,18 +138,18 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
138
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
139
  * скриптов, стилей) фреймворка.
140
  *
141
- * @param Wbcr_FactoryBootstrap423_Manager $bootstrap
142
  */
143
- public function setBootstap( Wbcr_FactoryBootstrap423_Manager $bootstrap ) {
144
  $this->bootstrap = $bootstrap;
145
  }
146
 
147
  /**
148
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
149
  *
150
- * @param Wbcr_FactoryForms420_Manager $forms
151
  */
152
- public function setForms( Wbcr_FactoryForms420_Manager $forms ) {
153
  $this->forms = $forms;
154
  }
155
 
@@ -171,14 +171,15 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
171
  * С помощью этого класса, мы проверяем валидность лицензий и получаем дополнительную информацию
172
  * о лицензии и ее покупателе. Класс используется в премиум менеджере.
173
  *
 
 
 
174
  * @since 4.1.6 - Добавлен
175
  *
176
- * @param string $name Имя провайдер
177
- * @param string $class_name Имя класса провайдера
178
  */
179
  public function set_license_provider( $name, $class_name ) {
180
- if ( ! isset( WBCR\Factory_422\Premium\Manager::$providers[ $name ] ) ) {
181
- WBCR\Factory_422\Premium\Manager::$providers[ $name ] = $class_name;
182
  }
183
  }
184
 
@@ -188,14 +189,15 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
188
  * С помощью этого класса мы реализиуем доставку и откат обновлений плагина, на сайт пользователя.
189
  * Скачиваение премиум версий происходит по защенному каналу. Класс используется в менеджере обновлений.
190
  *
 
 
 
191
  * @since 4.1.7 - Добавлен
192
  *
193
- * @param string $name Имя репозитория
194
- * @param string $class_name Имя класса репозитория
195
  */
196
  public function set_update_repository( $name, $class_name ) {
197
- if ( ! isset( WBCR\Factory_422\Updates\Upgrader::$repositories[ $name ] ) ) {
198
- WBCR\Factory_422\Updates\Upgrader::$repositories[ $name ] = $class_name;
199
  }
200
  }
201
 
@@ -205,9 +207,9 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
205
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
206
  * рекламных объявлений.
207
  *
208
- * @author Alexander Kovalev <alex.kovalevv@gmail.com>
209
  * @since 1.1
210
- * @return \WBCR\Factory_Adverts_104\Base
211
  */
212
  public function get_adverts_manager() {
213
  return $this->adverts;
@@ -217,37 +219,38 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
217
  * Устанавливает текстовый домен для плагина. Текстовый домен берется из заголовка входного
218
  * файла плагина.
219
  *
 
220
  * @since 4.0.8 - Добавлен
221
  *
222
  * @see https://codex.wordpress.org/I18n_for_WordPress_Developers
223
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828 - документация по входному файлу
224
  */
225
- public function set_text_domain() {
226
- if ( empty( $this->plugin_text_domain ) ) {
227
  return;
228
  }
229
 
230
- $locale = apply_filters( 'plugin_locale', is_admin() ? get_user_locale() : get_locale(), $this->plugin_text_domain );
231
 
232
- $mofile = $this->plugin_text_domain . '-' . $locale . '.mo';
233
 
234
- if ( ! load_textdomain( $this->plugin_text_domain, $this->paths->absolute . '/languages/' . $mofile ) ) {
235
- load_muplugin_textdomain( $this->plugin_text_domain );
236
  }
237
  }
238
 
239
  public function newScriptList() {
240
- return new Wbcr_Factory422_ScriptList( $this );
241
  }
242
 
243
  public function newStyleList() {
244
- return new Wbcr_Factory422_StyleList( $this );
245
  }
246
 
247
  /**
248
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
249
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
250
- * Wbcr_FactoryPages422_AdminPage, а затем регистрирует его через этот метод.
251
  * Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
252
  * pages.
253
  *
@@ -256,9 +259,9 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
256
  *
257
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
258
  *
259
- * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
260
- * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages422_AdminPage.
261
- * @param string $file_path Абсолютный путь к файлу с классом страницы.
262
  *
263
  * @throws Exception
264
  */
@@ -278,11 +281,11 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
278
  throw new Exception( 'A class with this name {' . $class_name . '} does not exist.' );
279
  }
280
 
281
- if ( ! class_exists( 'Wbcr_FactoryPages422' ) ) {
282
- throw new Exception( 'The factory_pages_422 module is not included.' );
283
  }
284
 
285
- Wbcr_FactoryPages422::register( $this, $class_name );
286
  }
287
 
288
  /**
@@ -291,9 +294,9 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
291
  * Wbcr_FactoryTypes000_Type, а затем регистрирует его через этот метод. Метод выполняет
292
  * подключение класса с новым типом записи и регистрирует его в модуле фреймворка types. *
293
  *
294
- * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Type_Name.
295
  * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryTypes000_Type.
296
- * @param string $file_path Абсолютный путь к файлу с классом страницы.
297
  *
298
  * @throws Exception
299
  * @deprecated 4.1.7 You cannot use it!
@@ -305,11 +308,11 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
305
  /**
306
  * Registers a class to activate the plugin.
307
  *
308
- * @since 1.0.0
309
- *
310
- * @param string $className class name of the plugin activator.
311
  *
312
  * @return void
 
 
313
  */
314
  public function registerActivation( $className ) {
315
  $this->activator_class[] = $className;
@@ -321,24 +324,24 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
321
  /**
322
  * It's invoked on plugin activation. Don't excite it directly.
323
  *
324
- * @since 1.0.0
325
  * @return void
 
326
  */
327
  public function activation_hook() {
328
 
329
  /**
330
  * @since 4.1.1 - change hook name
331
  */
332
- if ( apply_filters( "wbcr/factory_422/cancel_plugin_activation_{$this->plugin_name}", false ) ) {
333
  return;
334
  }
335
 
336
  /**
337
- * wbcr_factory_422_plugin_activation
338
  *
339
  * @since 4.1.1 - deprecated
340
  */
341
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_activation', [
342
  $this
343
  ], '4.1.1', "wbcr/factory/plugin_activation" );
344
 
@@ -347,7 +350,7 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
347
  *
348
  * @since 4.1.2 - deprecated
349
  */
350
- wbcr_factory_422_do_action_deprecated( 'wbcr/factory/plugin_activation', [
351
  $this
352
  ], '4.1.2', "wbcr/factory/before_plugin_activation" );
353
 
@@ -363,16 +366,16 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
363
  *
364
  * @since 4.1.2 - deprecated
365
  */
366
- wbcr_factory_422_do_action_deprecated( "wbcr/factory/plugin_{$this->plugin_name}_activation", [
367
  $this
368
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
369
 
370
  /**
371
- * wbcr_factory_422_plugin_activation_' . $this->plugin_name
372
  *
373
  * @since 4.1.1 - deprecated
374
  */
375
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_activation_' . $this->plugin_name, [
376
  $this
377
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
378
 
@@ -404,24 +407,24 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
404
  /**
405
  * It's invoked on plugin deactionvation. Don't excite it directly.
406
  *
407
- * @since 1.0.0
408
  * @return void
 
409
  */
410
  public function deactivation_hook() {
411
 
412
  /**
413
  * @since 4.1.1 - change hook name
414
  */
415
- if ( apply_filters( "wbcr/factory_422/cancel_plugin_deactivation_{$this->plugin_name}", false ) ) {
416
  return;
417
  }
418
 
419
  /**
420
- * wbcr_factory_422_plugin_deactivation
421
  *
422
  * @since 4.1.1 - deprecated
423
  */
424
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_deactivation', [
425
  $this
426
  ], '4.1.1', "wbcr/factory/plugin_deactivation" );
427
 
@@ -430,7 +433,7 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
430
  *
431
  * @since 4.1.2 - deprecated
432
  */
433
- wbcr_factory_422_do_action_deprecated( 'wbcr/factory/plugin_deactivation', [
434
  $this
435
  ], '4.1.2', "wbcr/factory/before_plugin_deactivation" );
436
 
@@ -442,11 +445,11 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
442
  do_action( 'wbcr/factory/plugin_deactivation', $this );
443
 
444
  /**
445
- * wbcr_factory_422_plugin_deactivation_ . $this->plugin_name
446
  *
447
  * @since 4.1.1 - deprecated
448
  */
449
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_plugin_deactivation_' . $this->plugin_name, [
450
  $this
451
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
452
 
@@ -455,7 +458,7 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
455
  *
456
  * @since 4.1.2 - deprecated
457
  */
458
- wbcr_factory_422_do_action_deprecated( "wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
459
  $this
460
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
461
 
@@ -492,8 +495,8 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
492
  * @throws Exception
493
  */
494
  public function getPluginPageUrl( $page_id, $args = [] ) {
495
- if ( ! class_exists( 'Wbcr_FactoryPages422' ) ) {
496
- throw new Exception( 'The factory_pages_422 module is not included.' );
497
  }
498
 
499
  if ( ! is_admin() ) {
@@ -502,7 +505,7 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
502
  return null;
503
  }
504
 
505
- return Wbcr_FactoryPages422::getPageUrl( $this, $page_id, $args );
506
  }
507
 
508
  /**
@@ -544,14 +547,15 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
544
  'plugin_dir' => constant( $prefix . 'PLUGIN_DIR' ),
545
  'plugin_url' => constant( $prefix . 'PLUGIN_URL' ),
546
  'plugin_base' => constant( $prefix . 'PLUGIN_BASE' ),
 
547
  'plugin_version' => constant( $prefix . 'PLUGIN_VERSION' )
548
  ];
549
 
550
  /**
551
  * Оповещает внешние приложения, что компонент плагина был загружен
552
  *
553
- * @param array $load_plugin_components Информация о загруженном компоненте
554
- * @param string $plugin_name Имя плагина
555
  */
556
  do_action( "wbcr/factory/component_{$component_ID}_loaded", $this->loaded_plugin_components[ $component_ID ], $this->getPluginName() );
557
  } else {
@@ -596,12 +600,12 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
596
  /**
597
  * @since 4.1.1 - deprecated
598
  */
599
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_422/modules_loaded-" . $this->plugin_name );
600
 
601
  /**
602
  * @since 4.1.1 - add
603
  */
604
- do_action( 'wbcr/factory_422/modules_loaded-' . $this->plugin_name );
605
  }
606
 
607
 
@@ -612,10 +616,22 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
612
  */
613
  private function register_plugin_hooks() {
614
 
615
- add_action( 'plugins_loaded', [ $this, 'set_text_domain' ] );
 
 
 
 
 
 
 
 
 
 
 
 
616
 
617
  if ( is_admin() ) {
618
- add_filter( 'wbcr_factory_422_core_admin_allow_multisite', '__return_true' );
619
 
620
  register_activation_hook( $this->get_paths()->main_file, [ $this, 'activation_hook' ] );
621
  register_deactivation_hook( $this->get_paths()->main_file, [ $this, 'deactivation_hook' ] );
@@ -625,37 +641,37 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
625
  /**
626
  * Инициализируем миграции плагина
627
  *
628
- * @since 4.1.1
629
  * @return void
630
  * @throws Exception
 
631
  */
632
  protected function init_plugin_migrations() {
633
- new WBCR\Factory_422\Migrations( $this );
634
  }
635
 
636
  /**
637
  * Инициализируем уведомления плагина
638
  *
639
- * @since 4.1.1
640
  * @return void
 
641
  */
642
  protected function init_plugin_notices() {
643
- new Wbcr\Factory_422\Notices( $this );
644
  }
645
 
646
  /**
647
  * Создает нового рабочего для проверки обновлений и апгрейда текущего плагина.
648
  *
649
- * @since 4.1.1
650
- *
651
  * @param array $data
652
  *
653
  * @return void
654
  * @throws Exception
 
 
655
  */
656
  protected function init_plugin_updates() {
657
  if ( $this->has_updates ) {
658
- new WBCR\Factory_422\Updates\Upgrader( $this );
659
  }
660
  }
661
 
@@ -666,8 +682,8 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
666
  * Дополнительно создает рабочего, чтобы совершить апгрейд до премиум версии
667
  * и запустить проверку обновлений для этого модуля.
668
  *
669
- * @since 4.1.1
670
  * @throws Exception
 
671
  */
672
  protected function init_plugin_premium_features() {
673
  if ( ! $this->has_premium || ! $this->license_settings ) {
@@ -677,11 +693,11 @@ abstract class Wbcr_Factory422_Plugin extends Wbcr_Factory422_Base {
677
  }
678
 
679
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
680
- $this->premium = WBCR\Factory_422\Premium\Manager::instance( $this, $this->license_settings );
681
 
682
  // Подключаем премиум апгрейдер
683
  if ( isset( $this->license_settings['has_updates'] ) && $this->license_settings['has_updates'] ) {
684
- new WBCR\Factory_422\Updates\Premium_Upgrader( $this );
685
  }
686
  }
687
  }
24
  * @package factory-core
25
  *
26
  */
27
+ abstract class Wbcr_Factory425_Plugin extends Wbcr_Factory425_Base {
28
 
29
  /**
30
+ * Instance class Wbcr_Factory425_Request, required manages http requests
31
  *
32
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/390561806
33
+ * @var Wbcr_Factory425_Request
34
  */
35
  public $request;
36
 
37
  /**
38
  * @see https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/393936924
39
+ * @var \WBCR\Factory_425\Premium\Provider
40
  */
41
  public $premium;
42
 
43
  /**
44
  * The Bootstrap Manager class
45
  *
46
+ * @var Wbcr_FactoryBootstrap426_Manager
47
  */
48
  public $bootstrap;
49
 
50
  /**
51
  * The Bootstrap Manager class
52
  *
53
+ * @var Wbcr_FactoryForms423_Manager
54
  */
55
  public $forms;
56
 
57
  /**
58
+ * Простой массив со списком зарегистрированных классов унаследованных от Wbcr_Factory425_Activator.
59
  * Классы активации используются для упаковки набора функций, которые нужно выполнить во время
60
  * активации плагина.
61
  *
62
+ * @var array[] Wbcr_Factory425_Activator
63
  */
64
  protected $activator_class = [];
65
 
86
  *
87
  * @author Alexander Kovalev <alex.kovalevv@gmail.com>
88
  * @since 4.1.9
89
+ * @var WBCR\Factory_Adverts_106\Base
90
  */
91
  private $adverts;
92
 
93
  /**
94
  * Инициализирует компоненты фреймворка и плагина.
95
  *
96
+ * @param array $data A set of plugin data.
 
 
97
  *
98
+ * @param string $plugin_path A full path to the main plugin file.
99
  *
100
  * @throws Exception
101
+ * @since 1.0.0
102
+ *
103
  */
104
  public function __construct( $plugin_path, $data ) {
105
 
106
  parent::__construct( $plugin_path, $data );
107
 
108
+ $this->request = new Wbcr_Factory425_Request();
109
+ //$this->route = new Wbcr_Factory425_Route();
110
 
111
  // INIT PLUGIN FRAMEWORK MODULES
112
  // Framework modules should always be loaded first,
138
  * Устанавливает класс менеджер, которому плагин будет делегировать подключение ресурсов (картинок,
139
  * скриптов, стилей) фреймворка.
140
  *
141
+ * @param Wbcr_FactoryBootstrap426_Manager $bootstrap
142
  */
143
+ public function setBootstap( Wbcr_FactoryBootstrap426_Manager $bootstrap ) {
144
  $this->bootstrap = $bootstrap;
145
  }
146
 
147
  /**
148
  * Устанавливает класс менеджер, которому будет делегирована работа с html формами фреймворка.
149
  *
150
+ * @param Wbcr_FactoryForms423_Manager $forms
151
  */
152
+ public function setForms( Wbcr_FactoryForms423_Manager $forms ) {
153
  $this->forms = $forms;
154
  }
155
 
171
  * С помощью этого класса, мы проверяем валидность лицензий и получаем дополнительную информацию
172
  * о лицензии и ее покупателе. Класс используется в премиум менеджере.
173
  *
174
+ * @param string $name Имя провайдер
175
+ * @param string $class_name Имя класса провайдера
176
+ *
177
  * @since 4.1.6 - Добавлен
178
  *
 
 
179
  */
180
  public function set_license_provider( $name, $class_name ) {
181
+ if ( ! isset( WBCR\Factory_425\Premium\Manager::$providers[ $name ] ) ) {
182
+ WBCR\Factory_425\Premium\Manager::$providers[ $name ] = $class_name;
183
  }
184
  }
185
 
189
  * С помощью этого класса мы реализиуем доставку и откат обновлений плагина, на сайт пользователя.
190
  * Скачиваение премиум версий происходит по защенному каналу. Класс используется в менеджере обновлений.
191
  *
192
+ * @param string $name Имя репозитория
193
+ * @param string $class_name Имя класса репозитория
194
+ *
195
  * @since 4.1.7 - Добавлен
196
  *
 
 
197
  */
198
  public function set_update_repository( $name, $class_name ) {
199
+ if ( ! isset( WBCR\Factory_425\Updates\Upgrader::$repositories[ $name ] ) ) {
200
+ WBCR\Factory_425\Updates\Upgrader::$repositories[ $name ] = $class_name;
201
  }
202
  }
203
 
207
  * Доступен глобально через метод app(), чаще всего используется для создания точек для ротации
208
  * рекламных объявлений.
209
  *
210
+ * @return \WBCR\Factory_Adverts_106\Base
211
  * @since 1.1
212
+ * @author Alexander Kovalev <alex.kovalevv@gmail.com>
213
  */
214
  public function get_adverts_manager() {
215
  return $this->adverts;
219
  * Устанавливает текстовый домен для плагина. Текстовый домен берется из заголовка входного
220
  * файла плагина.
221
  *
222
+ * @since 4.2.5 - Добавлены 2 аргумента $text_domain, $plugin_dir. Теперь protected
223
  * @since 4.0.8 - Добавлен
224
  *
225
  * @see https://codex.wordpress.org/I18n_for_WordPress_Developers
226
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828 - документация по входному файлу
227
  */
228
+ protected function set_text_domain( $text_domain, $plugin_dir ) {
229
+ if ( empty( $text_domain ) || empty( $plugin_dir ) ) {
230
  return;
231
  }
232
 
233
+ $locale = apply_filters( 'plugin_locale', is_admin() ? get_user_locale() : get_locale(), $text_domain );
234
 
235
+ $mofile = $text_domain . '-' . $locale . '.mo';
236
 
237
+ if ( ! load_textdomain( $text_domain, $plugin_dir . '/languages/' . $mofile ) ) {
238
+ load_muplugin_textdomain( $text_domain );
239
  }
240
  }
241
 
242
  public function newScriptList() {
243
+ return new Wbcr_Factory425_ScriptList( $this );
244
  }
245
 
246
  public function newStyleList() {
247
+ return new Wbcr_Factory425_StyleList( $this );
248
  }
249
 
250
  /**
251
  * Все страницы плагина создаются через специальную обертку, за которую отвечает модуль
252
  * фреймворка pages. Разработчик создает собственный класс, унаследованный от
253
+ * Wbcr_FactoryPages425_AdminPage, а затем регистрирует его через этот метод.
254
  * Метод выполняет подключение класса страницы и регистрирует его в модуле фреймворка
255
  * pages.
256
  *
259
  *
260
  * @see https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/222887949 - документация по созданию страниц
261
  *
262
+ * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Page_Name.
263
+ * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryPages425_AdminPage.
264
+ * @param string $file_path Абсолютный путь к файлу с классом страницы.
265
  *
266
  * @throws Exception
267
  */
281
  throw new Exception( 'A class with this name {' . $class_name . '} does not exist.' );
282
  }
283
 
284
+ if ( ! class_exists( 'Wbcr_FactoryPages425' ) ) {
285
+ throw new Exception( 'The factory_pages_425 module is not included.' );
286
  }
287
 
288
+ Wbcr_FactoryPages425::register( $this, $class_name );
289
  }
290
 
291
  /**
294
  * Wbcr_FactoryTypes000_Type, а затем регистрирует его через этот метод. Метод выполняет
295
  * подключение класса с новым типом записи и регистрирует его в модуле фреймворка types. *
296
  *
297
+ * @param string $class_name Имя регистрируемого класса страницы. Пример: WCL_Type_Name.
298
  * Регистрируемый класс должен быть унаследован от класса Wbcr_FactoryTypes000_Type.
299
+ * @param string $file_path Абсолютный путь к файлу с классом страницы.
300
  *
301
  * @throws Exception
302
  * @deprecated 4.1.7 You cannot use it!
308
  /**
309
  * Registers a class to activate the plugin.
310
  *
311
+ * @param string $className class name of the plugin activator.
 
 
312
  *
313
  * @return void
314
+ * @since 1.0.0
315
+ *
316
  */
317
  public function registerActivation( $className ) {
318
  $this->activator_class[] = $className;
324
  /**
325
  * It's invoked on plugin activation. Don't excite it directly.
326
  *
 
327
  * @return void
328
+ * @since 1.0.0
329
  */
330
  public function activation_hook() {
331
 
332
  /**
333
  * @since 4.1.1 - change hook name
334
  */
335
+ if ( apply_filters( "wbcr/factory_425/cancel_plugin_activation_{$this->plugin_name}", false ) ) {
336
  return;
337
  }
338
 
339
  /**
340
+ * wbcr_factory_425_plugin_activation
341
  *
342
  * @since 4.1.1 - deprecated
343
  */
344
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_plugin_activation', [
345
  $this
346
  ], '4.1.1', "wbcr/factory/plugin_activation" );
347
 
350
  *
351
  * @since 4.1.2 - deprecated
352
  */
353
+ wbcr_factory_425_do_action_deprecated( 'wbcr/factory/plugin_activation', [
354
  $this
355
  ], '4.1.2', "wbcr/factory/before_plugin_activation" );
356
 
366
  *
367
  * @since 4.1.2 - deprecated
368
  */
369
+ wbcr_factory_425_do_action_deprecated( "wbcr/factory/plugin_{$this->plugin_name}_activation", [
370
  $this
371
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
372
 
373
  /**
374
+ * wbcr_factory_425_plugin_activation_' . $this->plugin_name
375
  *
376
  * @since 4.1.1 - deprecated
377
  */
378
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_plugin_activation_' . $this->plugin_name, [
379
  $this
380
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_activation" );
381
 
407
  /**
408
  * It's invoked on plugin deactionvation. Don't excite it directly.
409
  *
 
410
  * @return void
411
+ * @since 1.0.0
412
  */
413
  public function deactivation_hook() {
414
 
415
  /**
416
  * @since 4.1.1 - change hook name
417
  */
418
+ if ( apply_filters( "wbcr/factory_425/cancel_plugin_deactivation_{$this->plugin_name}", false ) ) {
419
  return;
420
  }
421
 
422
  /**
423
+ * wbcr_factory_425_plugin_deactivation
424
  *
425
  * @since 4.1.1 - deprecated
426
  */
427
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_plugin_deactivation', [
428
  $this
429
  ], '4.1.1', "wbcr/factory/plugin_deactivation" );
430
 
433
  *
434
  * @since 4.1.2 - deprecated
435
  */
436
+ wbcr_factory_425_do_action_deprecated( 'wbcr/factory/plugin_deactivation', [
437
  $this
438
  ], '4.1.2', "wbcr/factory/before_plugin_deactivation" );
439
 
445
  do_action( 'wbcr/factory/plugin_deactivation', $this );
446
 
447
  /**
448
+ * wbcr_factory_425_plugin_deactivation_ . $this->plugin_name
449
  *
450
  * @since 4.1.1 - deprecated
451
  */
452
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_plugin_deactivation_' . $this->plugin_name, [
453
  $this
454
  ], '4.1.1', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
455
 
458
  *
459
  * @since 4.1.2 - deprecated
460
  */
461
+ wbcr_factory_425_do_action_deprecated( "wbcr/factory/plugin_{$this->plugin_name}_deactivation", [
462
  $this
463
  ], '4.1.2', "wbcr/factory/before_plugin_{$this->plugin_name}_deactivation" );
464
 
495
  * @throws Exception
496
  */
497
  public function getPluginPageUrl( $page_id, $args = [] ) {
498
+ if ( ! class_exists( 'Wbcr_FactoryPages425' ) ) {
499
+ throw new Exception( 'The factory_pages_425 module is not included.' );
500
  }
501
 
502
  if ( ! is_admin() ) {
505
  return null;
506
  }
507
 
508
+ return Wbcr_FactoryPages425::getPageUrl( $this, $page_id, $args );
509
  }
510
 
511
  /**
547
  'plugin_dir' => constant( $prefix . 'PLUGIN_DIR' ),
548
  'plugin_url' => constant( $prefix . 'PLUGIN_URL' ),
549
  'plugin_base' => constant( $prefix . 'PLUGIN_BASE' ),
550
+ 'text_domain' => constant( $prefix . 'TEXT_DOMAIN' ),
551
  'plugin_version' => constant( $prefix . 'PLUGIN_VERSION' )
552
  ];
553
 
554
  /**
555
  * Оповещает внешние приложения, что компонент плагина был загружен
556
  *
557
+ * @param array $load_plugin_components Информация о загруженном компоненте
558
+ * @param string $plugin_name Имя плагина
559
  */
560
  do_action( "wbcr/factory/component_{$component_ID}_loaded", $this->loaded_plugin_components[ $component_ID ], $this->getPluginName() );
561
  } else {
600
  /**
601
  * @since 4.1.1 - deprecated
602
  */
603
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_core_modules_loaded-' . $this->plugin_name, [], '4.1.1', "wbcr/factory_425/modules_loaded-" . $this->plugin_name );
604
 
605
  /**
606
  * @since 4.1.1 - add
607
  */
608
+ do_action( 'wbcr/factory_425/modules_loaded-' . $this->plugin_name );
609
  }
610
 
611
 
616
  */
617
  private function register_plugin_hooks() {
618
 
619
+ add_action( 'plugins_loaded', function () {
620
+ $this->set_text_domain( $this->plugin_text_domain, $this->paths->absolute );
621
+
622
+ if ( ! empty( $this->loaded_plugin_components ) ) {
623
+ foreach ( $this->loaded_plugin_components as $component ) {
624
+ if ( empty( $component['text_domain'] ) ) {
625
+ continue;
626
+ }
627
+
628
+ $this->set_text_domain( $component['text_domain'], $component['plugin_dir'] );
629
+ }
630
+ }
631
+ } );
632
 
633
  if ( is_admin() ) {
634
+ add_filter( 'wbcr_factory_425_core_admin_allow_multisite', '__return_true' );
635
 
636
  register_activation_hook( $this->get_paths()->main_file, [ $this, 'activation_hook' ] );
637
  register_deactivation_hook( $this->get_paths()->main_file, [ $this, 'deactivation_hook' ] );
641
  /**
642
  * Инициализируем миграции плагина
643
  *
 
644
  * @return void
645
  * @throws Exception
646
+ * @since 4.1.1
647
  */
648
  protected function init_plugin_migrations() {
649
+ new WBCR\Factory_425\Migrations( $this );
650
  }
651
 
652
  /**
653
  * Инициализируем уведомления плагина
654
  *
 
655
  * @return void
656
+ * @since 4.1.1
657
  */
658
  protected function init_plugin_notices() {
659
+ new Wbcr\Factory_425\Notices( $this );
660
  }
661
 
662
  /**
663
  * Создает нового рабочего для проверки обновлений и апгрейда текущего плагина.
664
  *
 
 
665
  * @param array $data
666
  *
667
  * @return void
668
  * @throws Exception
669
+ * @since 4.1.1
670
+ *
671
  */
672
  protected function init_plugin_updates() {
673
  if ( $this->has_updates ) {
674
+ new WBCR\Factory_425\Updates\Upgrader( $this );
675
  }
676
  }
677
 
682
  * Дополнительно создает рабочего, чтобы совершить апгрейд до премиум версии
683
  * и запустить проверку обновлений для этого модуля.
684
  *
 
685
  * @throws Exception
686
+ * @since 4.1.1
687
  */
688
  protected function init_plugin_premium_features() {
689
  if ( ! $this->has_premium || ! $this->license_settings ) {
693
  }
694
 
695
  // Создаем экземляр премиум менеджера, мы сможем к нему обращаться глобально.
696
+ $this->premium = WBCR\Factory_425\Premium\Manager::instance( $this, $this->license_settings );
697
 
698
  // Подключаем премиум апгрейдер
699
  if ( isset( $this->license_settings['has_updates'] ) && $this->license_settings['has_updates'] ) {
700
+ new WBCR\Factory_425\Updates\Premium_Upgrader( $this );
701
  }
702
  }
703
  }
libs/factory/core/includes/class-factory-plugin-base.php CHANGED
@@ -5,7 +5,7 @@ if ( ! defined( 'ABSPATH' ) ) {
5
  }
6
 
7
  /**
8
- * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory422_Plugin
9
  *
10
  * Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
11
  * Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
@@ -17,9 +17,9 @@ if ( ! defined( 'ABSPATH' ) ) {
17
  * @since 1.0.0
18
  * @package factory-core
19
  */
20
- class Wbcr_Factory422_Base {
21
 
22
- use WBCR\Factory_422\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
@@ -81,7 +81,7 @@ class Wbcr_Factory422_Base {
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
- * экземпляр класса \WBCR\Factory_422\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
@@ -127,7 +127,7 @@ class Wbcr_Factory422_Base {
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
- * WBCR\Factory_422\Premium\Provider > WBCR\Factory_Freemius_110\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
@@ -177,9 +177,9 @@ class Wbcr_Factory422_Base {
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
- [ 'libs/factory/bootstrap', 'factory_bootstrap_423', 'admin' ],
181
- [ 'libs/factory/forms', 'factory_forms_420', 'admin' ],
182
- [ 'libs/factory/pages', 'factory_pages_422', 'admin' ],
183
  ];
184
 
185
  /**
@@ -209,20 +209,20 @@ class Wbcr_Factory422_Base {
209
 
210
 
211
  /**
212
- * Экземпляр класса \WBCR\Factory_422\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
- * @var \WBCR\Factory_422\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
- * Экземпляр класса \WBCR\Factory_422\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
- * @var \WBCR\Factory_422\Entities\Paths
226
  */
227
  protected $paths;
228
 
@@ -270,8 +270,8 @@ class Wbcr_Factory422_Base {
270
  throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
271
  }
272
 
273
- $this->support = new \WBCR\Factory_422\Entities\Support( $this->support_details );
274
- $this->paths = new \WBCR\Factory_422\Entities\Paths( $plugin_file );
275
 
276
  // used only in the module 'updates'
277
  $this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
@@ -391,7 +391,7 @@ class Wbcr_Factory422_Base {
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
- * См. Wbcr_Factory422_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
@@ -400,7 +400,7 @@ class Wbcr_Factory422_Base {
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
- * @return string Возвращает заголовок плагина. См. Wbcr_Factory422_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
@@ -409,7 +409,7 @@ class Wbcr_Factory422_Base {
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
- * @return string Возвращает префикс плагина.См. Wbcr_Factory422_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
@@ -418,7 +418,7 @@ class Wbcr_Factory422_Base {
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
- * @return string Возвращает имя плагина. См. Wbcr_Factory422_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
@@ -427,7 +427,7 @@ class Wbcr_Factory422_Base {
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
- * @return string Возвращает версию плагина. См. Wbcr_Factory422_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
@@ -449,7 +449,7 @@ class Wbcr_Factory422_Base {
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
- * Wbcr_Factory422_Base::plugin_data
453
  *
454
  * @return null
455
  */
@@ -462,18 +462,18 @@ class Wbcr_Factory422_Base {
462
  }
463
 
464
  /**
465
- * Предоставляет доступ к экземпляру класса \WBCR\Factory_422\Entities\Support.
466
  *
467
- * @return \WBCR\Factory_422\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
- * Предоставляет доступ к экземпляру класса \WBCR\Factory_422\Entities\Paths.
475
  *
476
- * @return \WBCR\Factory_422\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
@@ -482,7 +482,7 @@ class Wbcr_Factory422_Base {
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
- * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory422_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
5
  }
6
 
7
  /**
8
+ * Базовый класс для создания нового плагина. Полную реализацию класса смотрите в Wbcr_Factory425_Plugin
9
  *
10
  * Документация по классу: https://webcraftic.atlassian.net/wiki/spaces/FFD/pages/392724484
11
  * Документация по созданию плагина: https://webcraftic.atlassian.net/wiki/spaces/CNCFC/pages/327828
17
  * @since 1.0.0
18
  * @package factory-core
19
  */
20
+ class Wbcr_Factory425_Base {
21
 
22
+ use WBCR\Factory_425\Options;
23
 
24
  /**
25
  * Обязательное свойство. Префикс, используется для создания пространство имен.
81
  * https://robin-image-optimizer.webcraftic.com/premium-features.
82
  *
83
  * Это свойство заполняется для того, чтобы в процессе разработки вы могли использовать
84
+ * экземпляр класса \WBCR\Factory_425\Entities\Support, для получения информации о сайте плагина.
85
  * Тем самым вы избавляете себя от жесткого прописывания ссылок на лендинг плагина и
86
  * можете изменить все ссылки в одном месте.
87
  *
127
  * к примеру: freemius, codecanyon, templatemonster, вам нужно указать только настройки для
128
  * взаимодействия с выбранным вами провайдером. Каждая реализация провайдера лицензий может иметь
129
  * индивидуальный настройки, в этом примере приведены настройки для freemius провайдера
130
+ * WBCR\Factory_425\Premium\Provider > WBCR\Factory_Freemius_113\Premium\Provider
131
  *
132
  * На текущий момент существует только реализация для freemius провайдера.
133
  *
177
  * }
178
  */
179
  protected $load_factory_modules = [
180
+ [ 'libs/factory/bootstrap', 'factory_bootstrap_426', 'admin' ],
181
+ [ 'libs/factory/forms', 'factory_forms_423', 'admin' ],
182
+ [ 'libs/factory/pages', 'factory_pages_425', 'admin' ],
183
  ];
184
 
185
  /**
209
 
210
 
211
  /**
212
+ * Экземпляр класса \WBCR\Factory_425\Entities\Support используется для получения информации
213
  * о сайте плагина. Чаще всего используется для получения ссылки на страницу с тарифами или
214
  * ссылки на форму обратной связи. Встроен механизм отслеживания по utm меткам.
215
  *
216
+ * @var \WBCR\Factory_425\Entities\Support
217
  */
218
  protected $support;
219
 
220
  /**
221
+ * Экземпляр класса \WBCR\Factory_425\Entities\Paths используется для получения информации о
222
  * путях плагина. Часто используется для получения путей или ссылок на место хранения плагина
223
  * или его входного файла.
224
  *
225
+ * @var \WBCR\Factory_425\Entities\Paths
226
  */
227
  protected $paths;
228
 
270
  throw new Exception( 'One of the required attributes has not been passed (prefix, plugin_title, plugin_name, plugin_version, plugin_text_domain).' );
271
  }
272
 
273
+ $this->support = new \WBCR\Factory_425\Entities\Support( $this->support_details );
274
+ $this->paths = new \WBCR\Factory_425\Entities\Paths( $plugin_file );
275
 
276
  // used only in the module 'updates'
277
  $this->plugin_slug = ! empty( $this->plugin_name ) ? $this->plugin_name : basename( $plugin_file );
391
  * Проверяет, включен ли премиум для этого плагина или нет.
392
  *
393
  * @return bool Возвращает true, если премиум пакет включен для этого плагина.
394
+ * См. Wbcr_Factory425_Base::has_premium
395
  */
396
  public function has_premium() {
397
  return $this->has_premium;
400
  /**
401
  * Позволяет получить заголовок плагина.
402
  *
403
+ * @return string Возвращает заголовок плагина. См. Wbcr_Factory425_Base::plugin_title
404
  */
405
  public function getPluginTitle() {
406
  return $this->plugin_title;
409
  /**
410
  * Позволяет получить префикс плагина.
411
  *
412
+ * @return string Возвращает префикс плагина.См. Wbcr_Factory425_Base::prefix
413
  */
414
  public function getPrefix() {
415
  return $this->prefix;
418
  /**
419
  * Позволяет получить имя плагина.
420
  *
421
+ * @return string Возвращает имя плагина. См. Wbcr_Factory425_Base::plugin_name
422
  */
423
  public function getPluginName() {
424
  return $this->plugin_name;
427
  /**
428
  * Позволяет получить версию плагина.
429
  *
430
+ * @return string Возвращает версию плагина. См. Wbcr_Factory425_Base::plugin_version
431
  */
432
  public function getPluginVersion() {
433
  return $this->plugin_version;
449
  * какие-то данные не описанные в интерфейсе этого плагина.
450
  *
451
  * @param string $attr_name Имя атрибута, который нужно получить. Идентично ключу в массиве
452
+ * Wbcr_Factory425_Base::plugin_data
453
  *
454
  * @return null
455
  */
462
  }
463
 
464
  /**
465
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_425\Entities\Support.
466
  *
467
+ * @return \WBCR\Factory_425\Entities\Support
468
  */
469
  public function get_support() {
470
  return $this->support;
471
  }
472
 
473
  /**
474
+ * Предоставляет доступ к экземпляру класса \WBCR\Factory_425\Entities\Paths.
475
  *
476
+ * @return \WBCR\Factory_425\Entities\Paths
477
  */
478
  public function get_paths() {
479
  return $this->paths;
482
  /**
483
  * Позволяет получить сырые данные плагина в виде объекта StdClass.
484
  *
485
+ * @return object Возвращает объект с сырыми данными плагина. См. Wbcr_Factory425_Base::plugin_data
486
  */
487
  public function getPluginInfo() {
488
  return (object) $this->plugin_data;
libs/factory/core/includes/class-factory-requests.php CHANGED
@@ -11,7 +11,7 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  * @package factory-core
12
  */
13
 
14
- class Wbcr_Factory422_Request {
15
 
16
  /**
17
  * @param null $param
11
  * @package factory-core
12
  */
13
 
14
+ class Wbcr_Factory425_Request {
15
 
16
  /**
17
  * @param null $param
libs/factory/core/includes/class-factory-requirements.php CHANGED
@@ -12,8 +12,8 @@
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
- if ( ! class_exists( 'Wbcr_Factory422_Requirements' ) ) {
16
- class Wbcr_Factory422_Requirements {
17
 
18
  /**
19
  * Factory framework version
@@ -242,7 +242,7 @@ if ( ! class_exists( 'Wbcr_Factory422_Requirements' ) ) {
242
  $notice_text = $notice_default_text = '';
243
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
244
 
245
- $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_214' ), $this->plugin_title ) . ' ';
246
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
247
 
248
  $has_one = false;
@@ -273,21 +273,21 @@ if ( ! class_exists( 'Wbcr_Factory422_Requirements' ) ) {
273
  * @return string
274
  */
275
  protected function get_php_incompat_text() {
276
- return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_422' ), $this->required_php_version );
277
  }
278
 
279
  /**
280
  * @return string
281
  */
282
  protected function get_wp_incompat_text() {
283
- return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_422' ), $this->required_wp_version );
284
  }
285
 
286
  /**
287
  * @return string
288
  */
289
  protected function get_plugin_already_activate_text() {
290
- return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_422' ), $this->plugin_title );
291
  }
292
  }
293
  }
12
  * @since 4.0.9
13
  */
14
  // @formatter:off
15
+ if ( ! class_exists( 'Wbcr_Factory425_Requirements' ) ) {
16
+ class Wbcr_Factory425_Requirements {
17
 
18
  /**
19
  * Factory framework version
242
  $notice_text = $notice_default_text = '';
243
  $notice_default_text .= '<b>' . $this->plugin_title . ' ' . __( 'warning', '' ) . ':</b>' . '<br>';
244
 
245
+ $notice_default_text .= sprintf( __( 'The %s plugin has stopped.', 'wbcr_factory_clearfy_217' ), $this->plugin_title ) . ' ';
246
  $notice_default_text .= __( 'Possible reasons:', '' ) . ' <br>';
247
 
248
  $has_one = false;
273
  * @return string
274
  */
275
  protected function get_php_incompat_text() {
276
+ return sprintf( __( 'You need to update the PHP version to %s or higher!', 'wbcr_factory_425' ), $this->required_php_version );
277
  }
278
 
279
  /**
280
  * @return string
281
  */
282
  protected function get_wp_incompat_text() {
283
+ return sprintf( __( 'You need to update WordPress to %s or higher!', 'wbcr_factory_425' ), $this->required_wp_version );
284
  }
285
 
286
  /**
287
  * @return string
288
  */
289
  protected function get_plugin_already_activate_text() {
290
+ return sprintf( __( 'Plugin %s is already activated, you are trying to activate it again.', 'wbcr_factory_425' ), $this->plugin_title );
291
  }
292
  }
293
  }
libs/factory/core/includes/entities/class-factory-paths.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/core/includes/entities/class-factory-support.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/core/includes/functions.php CHANGED
@@ -53,17 +53,17 @@ if ( ! function_exists( 'get_user_locale' ) ) {
53
  * @param string $message Optional. A message regarding the change.
54
  *
55
  * @return mixed
56
- * @see wbcr_factory_422_deprecated_hook()
57
  *
58
  */
59
- function wbcr_factory_422_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
60
  if ( function_exists( 'apply_filters_deprecated' ) ) {
61
  return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
62
  }
63
  if ( ! has_filter( $tag ) ) {
64
  return $args[0];
65
  }
66
- wbcr_factory_422_deprecated_hook( $tag, $version, $replacement, $message );
67
 
68
  return apply_filters_ref_array( $tag, $args );
69
  }
@@ -89,7 +89,7 @@ function wbcr_factory_422_apply_filters_deprecated( $tag, $args, $version, $repl
89
  * @see _deprecated_hook()
90
  *
91
  */
92
- function wbcr_factory_422_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
93
  if ( function_exists( 'do_action_deprecated' ) ) {
94
  do_action_deprecated( $tag, $args, $version, $replacement, $message );
95
 
@@ -98,14 +98,14 @@ function wbcr_factory_422_do_action_deprecated( $tag, $args, $version, $replacem
98
  if ( ! has_action( $tag ) ) {
99
  return;
100
  }
101
- wbcr_factory_422_deprecated_hook( $tag, $version, $replacement, $message );
102
  do_action_ref_array( $tag, $args );
103
  }
104
 
105
  /**
106
  * Marks a deprecated action or filter hook as deprecated and throws a notice.
107
  *
108
- * Use the 'wbcr_factory_422_deprecated_hook_run' action to get the backtrace describing where the
109
  * deprecated hook was called.
110
  *
111
  * Default behavior is to trigger a user error if WP_DEBUG is true.
@@ -123,7 +123,7 @@ function wbcr_factory_422_do_action_deprecated( $tag, $args, $version, $replacem
123
  * @param string $replacement Optional. The hook that should have been used.
124
  * @param string $message Optional. A message regarding the change.
125
  */
126
- function wbcr_factory_422_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
127
  /**
128
  * Fires when a deprecated hook is called.
129
  *
53
  * @param string $message Optional. A message regarding the change.
54
  *
55
  * @return mixed
56
+ * @see wbcr_factory_425_deprecated_hook()
57
  *
58
  */
59
+ function wbcr_factory_425_apply_filters_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
60
  if ( function_exists( 'apply_filters_deprecated' ) ) {
61
  return apply_filters_deprecated( $tag, $args, $version, $replacement, $message );
62
  }
63
  if ( ! has_filter( $tag ) ) {
64
  return $args[0];
65
  }
66
+ wbcr_factory_425_deprecated_hook( $tag, $version, $replacement, $message );
67
 
68
  return apply_filters_ref_array( $tag, $args );
69
  }
89
  * @see _deprecated_hook()
90
  *
91
  */
92
+ function wbcr_factory_425_do_action_deprecated( $tag, $args, $version, $replacement = false, $message = null ) {
93
  if ( function_exists( 'do_action_deprecated' ) ) {
94
  do_action_deprecated( $tag, $args, $version, $replacement, $message );
95
 
98
  if ( ! has_action( $tag ) ) {
99
  return;
100
  }
101
+ wbcr_factory_425_deprecated_hook( $tag, $version, $replacement, $message );
102
  do_action_ref_array( $tag, $args );
103
  }
104
 
105
  /**
106
  * Marks a deprecated action or filter hook as deprecated and throws a notice.
107
  *
108
+ * Use the 'wbcr_factory_425_deprecated_hook_run' action to get the backtrace describing where the
109
  * deprecated hook was called.
110
  *
111
  * Default behavior is to trigger a user error if WP_DEBUG is true.
123
  * @param string $replacement Optional. The hook that should have been used.
124
  * @param string $message Optional. A message regarding the change.
125
  */
126
+ function wbcr_factory_425_deprecated_hook( $hook, $version, $replacement = null, $message = null ) {
127
  /**
128
  * Fires when a deprecated hook is called.
129
  *
libs/factory/core/includes/premium/class-factory-license-interface.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Premium\Interfaces;
4
 
5
  // Exit if accessed directly
6
  if ( ! defined( 'ABSPATH' ) ) {
libs/factory/core/includes/premium/class-factory-manager.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory422_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
@@ -24,7 +24,7 @@ class Manager {
24
  public static $providers;
25
 
26
  /**
27
- * @var Wbcr_Factory422_Plugin
28
  */
29
  protected $plugin;
30
 
@@ -36,24 +36,24 @@ class Manager {
36
  /**
37
  * Manager constructor.
38
  *
39
- * @param Wbcr_Factory422_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
- public function __construct( Wbcr_Factory422_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
- * @param Wbcr_Factory422_Plugin $plugin
51
  * @param array $settings
52
  *
53
- * @return \WBCR\Factory_Freemius_110\Premium\Provider
54
  * @throws Exception
55
  */
56
- public static function instance( Wbcr_Factory422_Plugin $plugin, array $settings ) {
57
  $premium_manager = new Manager( $plugin, $settings );
58
 
59
  return $premium_manager->instance_provider();
@@ -62,7 +62,7 @@ class Manager {
62
  /**
63
  * @param $provider_name
64
  *
65
- * @return \WBCR\Factory_Freemius_110\Premium\Provider
66
  * @throws Exception
67
  */
68
  public function instance_provider() {
@@ -70,7 +70,7 @@ class Manager {
70
 
71
  if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
72
  if ( self::$providers[ $provider_name ] instanceof Provider ) {
73
- throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_422\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory425_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
24
  public static $providers;
25
 
26
  /**
27
+ * @var Wbcr_Factory425_Plugin
28
  */
29
  protected $plugin;
30
 
36
  /**
37
  * Manager constructor.
38
  *
39
+ * @param Wbcr_Factory425_Plugin $plugin
40
  * @param array $settings
41
  *
42
  * @throws Exception
43
  */
44
+ public function __construct( Wbcr_Factory425_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
  }
48
 
49
  /**
50
+ * @param Wbcr_Factory425_Plugin $plugin
51
  * @param array $settings
52
  *
53
+ * @return \WBCR\Factory_Freemius_113\Premium\Provider
54
  * @throws Exception
55
  */
56
+ public static function instance( Wbcr_Factory425_Plugin $plugin, array $settings ) {
57
  $premium_manager = new Manager( $plugin, $settings );
58
 
59
  return $premium_manager->instance_provider();
62
  /**
63
  * @param $provider_name
64
  *
65
+ * @return \WBCR\Factory_Freemius_113\Premium\Provider
66
  * @throws Exception
67
  */
68
  public function instance_provider() {
70
 
71
  if ( isset( self::$providers[ $provider_name ] ) && class_exists( self::$providers[ $provider_name ] ) ) {
72
  if ( self::$providers[ $provider_name ] instanceof Provider ) {
73
+ throw new Exception( "Provider {$provider_name} must extend the class WBCR\Factory_425\Premium\Provider interface!" );
74
  }
75
 
76
  return new self::$providers[ $provider_name ]( $this->plugin, $this->settings );
libs/factory/core/includes/premium/class-factory-provider-abstract.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Premium;
4
 
5
  use Exception;
6
- use Wbcr_Factory422_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
@@ -21,7 +21,7 @@ if ( ! defined( 'ABSPATH' ) ) {
21
  abstract class Provider {
22
 
23
  /**
24
- * @var Wbcr_Factory422_Plugin
25
  */
26
  protected $plugin;
27
 
@@ -38,10 +38,10 @@ abstract class Provider {
38
  /**
39
  * Provider constructor.
40
  *
41
- * @param Wbcr_Factory422_Plugin $plugin
42
  * @param array $settings
43
  */
44
- public function __construct( Wbcr_Factory422_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
 
@@ -195,7 +195,7 @@ abstract class Provider {
195
  abstract public function get_billing_cycle();
196
 
197
  /**
198
- * @return \WBCR\Factory_422\Premium\Interfaces\License
199
  */
200
  abstract public function get_license();
201
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Premium;
4
 
5
  use Exception;
6
+ use Wbcr_Factory425_Plugin;
7
 
8
  // Exit if accessed directly
9
  if ( ! defined( 'ABSPATH' ) ) {
21
  abstract class Provider {
22
 
23
  /**
24
+ * @var Wbcr_Factory425_Plugin
25
  */
26
  protected $plugin;
27
 
38
  /**
39
  * Provider constructor.
40
  *
41
+ * @param Wbcr_Factory425_Plugin $plugin
42
  * @param array $settings
43
  */
44
+ public function __construct( Wbcr_Factory425_Plugin $plugin, array $settings ) {
45
  $this->plugin = $plugin;
46
  $this->settings = $settings;
47
 
195
  abstract public function get_billing_cycle();
196
 
197
  /**
198
+ * @return \WBCR\Factory_425\Premium\Interfaces\License
199
  */
200
  abstract public function get_license();
201
 
libs/factory/core/includes/updates/class-factory-premium-upgrader.php CHANGED
@@ -1,12 +1,12 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
- use Wbcr_Factory422_Plugin;
9
- use Wbcr_FactoryPages422_ImpressiveThemplate;
10
  use WP_Filesystem_Base;
11
  use WP_Upgrader;
12
  use WP_Upgrader_Skin;
@@ -39,11 +39,11 @@ class Premium_Upgrader extends Upgrader {
39
  * @param $args
40
  * @param bool $is_premium
41
  *
42
- * @param Wbcr_Factory422_Plugin $plugin
43
  *
44
  * @throws Exception
45
  */
46
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
47
  parent::__construct( $plugin );
48
 
49
  $this->plugin_basename = null;
@@ -228,9 +228,9 @@ class Premium_Upgrader extends Upgrader {
228
  *
229
  * @since 4.1.1
230
  *
231
- * @param Wbcr_FactoryPages422_ImpressiveThemplate $obj
232
  *
233
- * @param Wbcr_Factory422_Plugin $plugin
234
  *
235
  * @return void
236
  */
@@ -766,12 +766,12 @@ class Premium_Upgrader extends Upgrader {
766
  $cancel_license_url = $this->get_action_url( 'cancel_license' );
767
 
768
  $texts = [
769
- 'need_activate_license' => __( 'License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_422' ),
770
- 'need_renew_license' => __( 'Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_422' ),
771
  'please_install_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
772
- <a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_422' ), $upgrade_url, $cancel_license_url ),
773
  'please_activate_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
774
- <a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_422' ), $activate_plugin_url, $cancel_license_url )
775
  ];
776
 
777
  if ( isset( $texts[ $type ] ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Updates;
4
 
5
  use Exception;
6
  use Plugin_Installer_Skin;
7
  use Plugin_Upgrader;
8
+ use Wbcr_Factory425_Plugin;
9
+ use Wbcr_FactoryPages425_ImpressiveThemplate;
10
  use WP_Filesystem_Base;
11
  use WP_Upgrader;
12
  use WP_Upgrader_Skin;
39
  * @param $args
40
  * @param bool $is_premium
41
  *
42
+ * @param Wbcr_Factory425_Plugin $plugin
43
  *
44
  * @throws Exception
45
  */
46
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
47
  parent::__construct( $plugin );
48
 
49
  $this->plugin_basename = null;
228
  *
229
  * @since 4.1.1
230
  *
231
+ * @param Wbcr_FactoryPages425_ImpressiveThemplate $obj
232
  *
233
+ * @param Wbcr_Factory425_Plugin $plugin
234
  *
235
  * @return void
236
  */
766
  $cancel_license_url = $this->get_action_url( 'cancel_license' );
767
 
768
  $texts = [
769
+ 'need_activate_license' => __( 'License activation required. A license is required to get premium plugin updates, as well as to get additional services.', 'wbcr_factory_425' ),
770
+ 'need_renew_license' => __( 'Your license has expired. You can no longer get premium plugin updates, premium support and your access to Webcraftic services has been suspended.', 'wbcr_factory_425' ),
771
  'please_install_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please install premium add-on to use pro features now.
772
+ <a href="%s">Install</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_425' ), $upgrade_url, $cancel_license_url ),
773
  'please_activate_premium' => sprintf( __( 'Congratulations, you have activated a premium license! Please activate premium add-on to use pro features now.
774
+ <a href="%s">Activate</a> premium add-on or <a href="%s">cancel</a> license.', 'wbcr_factory_425' ), $activate_plugin_url, $cancel_license_url )
775
  ];
776
 
777
  if ( isset( $texts[ $type ] ) ) {
libs/factory/core/includes/updates/class-factory-upgrader.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
- use Wbcr_Factory422_Plugin;
8
 
9
  // Exit if accessed directly
10
  if ( ! defined( 'ABSPATH' ) ) {
@@ -28,8 +28,8 @@ class Upgrader {
28
  * @since 4.1.7
29
  * @var array хранит имя репозитория и его имя класса
30
  * [
31
- * 'wordpress' => 'WBCR\Factory_Freemius_110\Updates\Freemius_Repository',
32
- * 'freemius' => '\WBCR\Factory_422\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
@@ -42,7 +42,7 @@ class Upgrader {
42
  protected $type = 'default';
43
 
44
  /**
45
- * @var Wbcr_Factory422_Plugin
46
  */
47
  protected $plugin;
48
 
@@ -90,13 +90,13 @@ class Upgrader {
90
  *
91
  * @since 4.1.1
92
  *
93
- * @param Wbcr_Factory422_Plugin $plugin
94
  * @param $args
95
  * @param bool $is_premium
96
  *
97
  * @throws Exception
98
  */
99
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
100
 
101
  $this->plugin = $plugin;
102
 
@@ -106,7 +106,7 @@ class Upgrader {
106
  $this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
107
 
108
  # Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
109
- self::$repositories['wordpress'] = '\WBCR\Factory_422\Updates\Wordpress_Repository';
110
 
111
  $settings = $this->get_settings();
112
 
@@ -287,7 +287,7 @@ class Upgrader {
287
 
288
  if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
289
  if ( self::$repositories[ $repository_name ] instanceof Repository ) {
290
- throw new Exception( "Repository {$repository_name} must extend the class WBCR\Factory_422\Updates\Repository interface!" );
291
  }
292
 
293
  return new self::$repositories[ $repository_name ]( $this->plugin );
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Updates;
4
 
5
  use Exception;
6
  use stdClass;
7
+ use Wbcr_Factory425_Plugin;
8
 
9
  // Exit if accessed directly
10
  if ( ! defined( 'ABSPATH' ) ) {
28
  * @since 4.1.7
29
  * @var array хранит имя репозитория и его имя класса
30
  * [
31
+ * 'wordpress' => 'WBCR\Factory_Freemius_113\Updates\Freemius_Repository',
32
+ * 'freemius' => '\WBCR\Factory_425\Updates\Wordpress_Repository'
33
  * ]
34
  */
35
  public static $repositories = [];
42
  protected $type = 'default';
43
 
44
  /**
45
+ * @var Wbcr_Factory425_Plugin
46
  */
47
  protected $plugin;
48
 
90
  *
91
  * @since 4.1.1
92
  *
93
+ * @param Wbcr_Factory425_Plugin $plugin
94
  * @param $args
95
  * @param bool $is_premium
96
  *
97
  * @throws Exception
98
  */
99
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
100
 
101
  $this->plugin = $plugin;
102
 
106
  $this->is_debug = defined( 'FACTORY_UPDATES_DEBUG' ) && FACTORY_UPDATES_DEBUG;
107
 
108
  # Добавляем Wordpress репозиторий в список доступных репозиториев по умолчанию
109
+ self::$repositories['wordpress'] = '\WBCR\Factory_425\Updates\Wordpress_Repository';
110
 
111
  $settings = $this->get_settings();
112
 
287
 
288
  if ( isset( self::$repositories[ $repository_name ] ) && class_exists( self::$repositories[ $repository_name ] ) ) {
289
  if ( self::$repositories[ $repository_name ] instanceof Repository ) {
290
+ throw new Exception( "Repository {$repository_name} must extend the class WBCR\Factory_425\Updates\Repository interface!" );
291
  }
292
 
293
  return new self::$repositories[ $repository_name ]( $this->plugin );
libs/factory/core/includes/updates/repositories/class-factory-repository-abstract.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory422_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -23,17 +23,17 @@ abstract class Repository {
23
  protected $initialized = false;
24
 
25
  /**
26
- * @var Wbcr_Factory422_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
- * @param Wbcr_Factory422_Plugin $plugin
34
  * @param bool $is_premium
35
  */
36
- abstract public function __construct( Wbcr_Factory422_Plugin $plugin );
37
 
38
  /**
39
  * @return void
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory425_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
23
  protected $initialized = false;
24
 
25
  /**
26
+ * @var Wbcr_Factory425_Plugin
27
  */
28
  protected $plugin;
29
 
30
  /**
31
  * Repository constructor.
32
  *
33
+ * @param Wbcr_Factory425_Plugin $plugin
34
  * @param bool $is_premium
35
  */
36
+ abstract public function __construct( Wbcr_Factory425_Plugin $plugin );
37
 
38
  /**
39
  * @return void
libs/factory/core/includes/updates/repositories/class-factory-wordpress.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_422\Updates;
4
 
5
  // Exit if accessed directly
6
- use Wbcr_Factory422_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
@@ -20,10 +20,10 @@ class Wordpress_Repository extends Repository {
20
  /**
21
  * Wordpress constructor.
22
  *
23
- * @param Wbcr_Factory422_Plugin $plugin
24
  * @param bool $is_premium
25
  */
26
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
  }
29
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_425\Updates;
4
 
5
  // Exit if accessed directly
6
+ use Wbcr_Factory425_Plugin;
7
 
8
  if ( ! defined( 'ABSPATH' ) ) {
9
  exit;
20
  /**
21
  * Wordpress constructor.
22
  *
23
+ * @param Wbcr_Factory425_Plugin $plugin
24
  * @param bool $is_premium
25
  */
26
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
27
  $this->plugin = $plugin;
28
  }
29
 
libs/factory/core/langs/{wbcr_factory_422-ru_RU.mo → wbcr_factory_425-ru_RU.mo} RENAMED
File without changes
libs/factory/core/langs/{wbcr_factory_422-ru_RU.po → wbcr_factory_425-ru_RU.po} RENAMED
File without changes
libs/factory/forms/boot.php CHANGED
@@ -22,252 +22,252 @@ if ( ! is_admin() ) {
22
 
23
  // checks if the module is already loaded in order to
24
  // prevent loading the same version of the module twice.
25
- if ( defined( 'FACTORY_FORMS_420_LOADED' ) ) {
26
  return;
27
  }
28
 
29
- define( 'FACTORY_FORMS_420_LOADED', true );
30
 
31
- define( 'FACTORY_FORMS_420_VERSION', '4.2.0' );
32
 
33
  // absolute path and URL to the files and resources of the module.
34
- define( 'FACTORY_FORMS_420_DIR', dirname( __FILE__ ) );
35
- define( 'FACTORY_FORMS_420_URL', plugins_url( null, __FILE__ ) );
36
 
37
  #comp merge
38
- require_once( FACTORY_FORMS_420_DIR . '/includes/providers/value-provider.interface.php' );
39
- require_once( FACTORY_FORMS_420_DIR . '/includes/providers/meta-value-provider.class.php' );
40
- require_once( FACTORY_FORMS_420_DIR . '/includes/providers/options-value-provider.class.php' );
41
 
42
- require_once( FACTORY_FORMS_420_DIR . '/includes/form.class.php' );
43
  #endcomp
44
 
45
- load_plugin_textdomain( 'wbcr_factory_forms_420', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
46
 
47
  /**
48
  * We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
49
  * we load the form controls only on pages where the forms are created.
50
  *
51
  * @since 3.0.7
52
- * @see the 'wbcr_factory_forms_420_register_controls' hook
53
  *
54
  */
55
- if ( ! function_exists( 'wbcr_factory_forms_420_register_default_controls' ) ) {
56
-
57
  /**
58
- * @param Wbcr_Factory422_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
- function wbcr_factory_forms_420_register_default_controls( Wbcr_Factory422_Plugin $plugin ) {
63
-
64
  if ( $plugin && ! isset( $plugin->forms ) ) {
65
  throw new Exception( "The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'." );
66
  }
67
-
68
- require_once( FACTORY_FORMS_420_DIR . '/includes/html-builder.class.php' );
69
- require_once( FACTORY_FORMS_420_DIR . '/includes/form-element.class.php' );
70
- require_once( FACTORY_FORMS_420_DIR . '/includes/control.class.php' );
71
- require_once( FACTORY_FORMS_420_DIR . '/includes/complex-control.class.php' );
72
- require_once( FACTORY_FORMS_420_DIR . '/includes/holder.class.php' );
73
- require_once( FACTORY_FORMS_420_DIR . '/includes/control-holder.class.php' );
74
- require_once( FACTORY_FORMS_420_DIR . '/includes/custom-element.class.php' );
75
- require_once( FACTORY_FORMS_420_DIR . '/includes/form-layout.class.php' );
76
-
77
  // registration of controls
78
  $plugin->forms->registerControls( [
79
  [
80
  'type' => 'checkbox',
81
- 'class' => 'Wbcr_FactoryForms420_CheckboxControl',
82
- 'include' => FACTORY_FORMS_420_DIR . '/controls/checkbox.php'
83
  ],
84
  [
85
  'type' => 'list',
86
- 'class' => 'Wbcr_FactoryForms420_ListControl',
87
- 'include' => FACTORY_FORMS_420_DIR . '/controls/list.php'
88
  ],
89
  [
90
  'type' => 'dropdown',
91
- 'class' => 'Wbcr_FactoryForms420_DropdownControl',
92
- 'include' => FACTORY_FORMS_420_DIR . '/controls/dropdown.php'
93
  ],
94
  [
95
  'type' => 'dropdown-and-colors',
96
- 'class' => 'Wbcr_FactoryForms420_DropdownAndColorsControl',
97
- 'include' => FACTORY_FORMS_420_DIR . '/controls/dropdown-and-colors.php'
98
  ],
99
  [
100
  'type' => 'hidden',
101
- 'class' => 'Wbcr_FactoryForms420_HiddenControl',
102
- 'include' => FACTORY_FORMS_420_DIR . '/controls/hidden.php'
103
  ],
104
  [
105
  'type' => 'hidden',
106
- 'class' => 'Wbcr_FactoryForms420_HiddenControl',
107
- 'include' => FACTORY_FORMS_420_DIR . '/controls/hidden.php'
108
  ],
109
  [
110
  'type' => 'radio',
111
- 'class' => 'Wbcr_FactoryForms420_RadioControl',
112
- 'include' => FACTORY_FORMS_420_DIR . '/controls/radio.php'
113
  ],
114
  [
115
  'type' => 'radio-colors',
116
- 'class' => 'Wbcr_FactoryForms420_RadioColorsControl',
117
- 'include' => FACTORY_FORMS_420_DIR . '/controls/radio-colors.php'
118
  ],
119
  [
120
  'type' => 'textarea',
121
- 'class' => 'Wbcr_FactoryForms420_TextareaControl',
122
- 'include' => FACTORY_FORMS_420_DIR . '/controls/textarea.php'
123
  ],
124
  [
125
  'type' => 'textbox',
126
- 'class' => 'Wbcr_FactoryForms420_TextboxControl',
127
- 'include' => FACTORY_FORMS_420_DIR . '/controls/textbox.php'
128
  ],
129
  [
130
  'type' => 'multiple-textbox',
131
- 'class' => 'Wbcr_FactoryForms420_MultipleTextboxControl',
132
- 'include' => FACTORY_FORMS_420_DIR . '/controls/multiple-textbox.php'
133
  ],
134
  [
135
  'type' => 'datetimepicker-range',
136
- 'class' => 'Wbcr_FactoryForms420_DatepickerRangeControl',
137
- 'include' => FACTORY_FORMS_420_DIR . '/controls/datepicker-range.php'
138
  ],
139
  [
140
  'type' => 'url',
141
- 'class' => 'Wbcr_FactoryForms420_UrlControl',
142
- 'include' => FACTORY_FORMS_420_DIR . '/controls/url.php'
143
  ],
144
  [
145
  'type' => 'wp-editor',
146
- 'class' => 'Wbcr_FactoryForms420_WpEditorControl',
147
- 'include' => FACTORY_FORMS_420_DIR . '/controls/wp-editor.php'
148
  ],
149
  [
150
  'type' => 'color',
151
- 'class' => 'Wbcr_FactoryForms420_ColorControl',
152
- 'include' => FACTORY_FORMS_420_DIR . '/controls/color.php'
153
  ],
154
  [
155
  'type' => 'color-and-opacity',
156
- 'class' => 'Wbcr_FactoryForms420_ColorAndOpacityControl',
157
- 'include' => FACTORY_FORMS_420_DIR . '/controls/color-and-opacity.php'
158
  ],
159
  [
160
  'type' => 'gradient',
161
- 'class' => 'Wbcr_FactoryForms420_GradientControl',
162
- 'include' => FACTORY_FORMS_420_DIR . '/controls/gradient.php'
163
  ],
164
  [
165
  'type' => 'font',
166
- 'class' => 'Wbcr_FactoryForms420_FontControl',
167
- 'include' => FACTORY_FORMS_420_DIR . '/controls/font.php'
168
  ],
169
  [
170
  'type' => 'google-font',
171
- 'class' => 'Wbcr_FactoryForms420_GoogleFontControl',
172
- 'include' => FACTORY_FORMS_420_DIR . '/controls/google-font.php'
173
  ],
174
  [
175
  'type' => 'pattern',
176
- 'class' => 'Wbcr_FactoryForms420_PatternControl',
177
- 'include' => FACTORY_FORMS_420_DIR . '/controls/pattern.php'
178
  ],
179
  [
180
  'type' => 'integer',
181
- 'class' => 'Wbcr_FactoryForms420_IntegerControl',
182
- 'include' => FACTORY_FORMS_420_DIR . '/controls/integer.php'
183
  ],
184
  [
185
  'type' => 'control-group',
186
- 'class' => 'Wbcr_FactoryForms420_ControlGroupHolder',
187
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/control-group.php'
188
  ],
189
  [
190
  'type' => 'paddings-editor',
191
- 'class' => 'Wbcr_FactoryForms420_PaddingsEditorControl',
192
- 'include' => FACTORY_FORMS_420_DIR . '/controls/paddings-editor.php'
193
  ],
194
  ] );
195
-
196
  // registration of control holders
197
  $plugin->forms->registerHolders( [
198
  [
199
  'type' => 'tab',
200
- 'class' => 'Wbcr_FactoryForms420_TabHolder',
201
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/tab.php'
202
  ],
203
  [
204
  'type' => 'tab-item',
205
- 'class' => 'Wbcr_FactoryForms420_TabItemHolder',
206
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/tab-item.php'
207
  ],
208
  [
209
  'type' => 'accordion',
210
- 'class' => 'Wbcr_FactoryForms420_AccordionHolder',
211
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/accordion.php'
212
  ],
213
  [
214
  'type' => 'accordion-item',
215
- 'class' => 'Wbcr_FactoryForms420_AccordionItemHolder',
216
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/accordion-item.php'
217
  ],
218
  [
219
  'type' => 'control-group',
220
- 'class' => 'Wbcr_FactoryForms420_ControlGroupHolder',
221
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/control-group.php'
222
  ],
223
  [
224
  'type' => 'control-group-item',
225
- 'class' => 'Wbcr_FactoryForms420_ControlGroupItem',
226
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/control-group-item.php'
227
  ],
228
  [
229
  'type' => 'form-group',
230
- 'class' => 'Wbcr_FactoryForms420_FormGroupHolder',
231
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/form-group.php'
232
  ],
233
  [
234
  'type' => 'more-link',
235
- 'class' => 'Wbcr_FactoryForms420_MoreLinkHolder',
236
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/more-link.php'
237
  ],
238
  [
239
  'type' => 'div',
240
- 'class' => 'Wbcr_FactoryForms420_DivHolder',
241
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/div.php'
242
  ],
243
  [
244
  'type' => 'columns',
245
- 'class' => 'Wbcr_FactoryForms420_ColumnsHolder',
246
- 'include' => FACTORY_FORMS_420_DIR . '/controls/holders/columns.php'
247
  ]
248
  ] );
249
-
250
  // registration custom form elements
251
  $plugin->forms->registerCustomElements( [
252
  [
253
  'type' => 'html',
254
- 'class' => 'Wbcr_FactoryForms420_Html',
255
- 'include' => FACTORY_FORMS_420_DIR . '/controls/customs/html.php',
256
  ],
257
  [
258
  'type' => 'separator',
259
- 'class' => 'Wbcr_FactoryForms420_Separator',
260
- 'include' => FACTORY_FORMS_420_DIR . '/controls/customs/separator.php',
261
  ],
262
  ] );
263
-
264
  // registration of form layouts
265
  $plugin->forms->registerFormLayout( [
266
  'name' => 'bootstrap-3',
267
- 'class' => 'Wbcr_FactoryForms420_Bootstrap3FormLayout',
268
- 'include' => FACTORY_FORMS_420_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
269
  ] );
270
  }
271
-
272
- add_action( 'wbcr_factory_forms_420_register_controls', 'wbcr_factory_forms_420_register_default_controls' );
273
  }
22
 
23
  // checks if the module is already loaded in order to
24
  // prevent loading the same version of the module twice.
25
+ if ( defined( 'FACTORY_FORMS_423_LOADED' ) ) {
26
  return;
27
  }
28
 
29
+ define( 'FACTORY_FORMS_423_LOADED', true );
30
 
31
+ define( 'FACTORY_FORMS_423_VERSION', '4.2.3' );
32
 
33
  // absolute path and URL to the files and resources of the module.
34
+ define( 'FACTORY_FORMS_423_DIR', dirname( __FILE__ ) );
35
+ define( 'FACTORY_FORMS_423_URL', plugins_url( null, __FILE__ ) );
36
 
37
  #comp merge
38
+ require_once( FACTORY_FORMS_423_DIR . '/includes/providers/value-provider.interface.php' );
39
+ require_once( FACTORY_FORMS_423_DIR . '/includes/providers/meta-value-provider.class.php' );
40
+ require_once( FACTORY_FORMS_423_DIR . '/includes/providers/options-value-provider.class.php' );
41
 
42
+ require_once( FACTORY_FORMS_423_DIR . '/includes/form.class.php' );
43
  #endcomp
44
 
45
+ load_plugin_textdomain( 'wbcr_factory_forms_423', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
46
 
47
  /**
48
  * We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
49
  * we load the form controls only on pages where the forms are created.
50
  *
51
  * @since 3.0.7
52
+ * @see the 'wbcr_factory_forms_423_register_controls' hook
53
  *
54
  */
55
+ if ( ! function_exists( 'wbcr_factory_forms_423_register_default_controls' ) ) {
56
+
57
  /**
58
+ * @param Wbcr_Factory425_Plugin $plugin
59
  *
60
  * @throws Exception
61
  */
62
+ function wbcr_factory_forms_423_register_default_controls( Wbcr_Factory425_Plugin $plugin ) {
63
+
64
  if ( $plugin && ! isset( $plugin->forms ) ) {
65
  throw new Exception( "The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'." );
66
  }
67
+
68
+ require_once( FACTORY_FORMS_423_DIR . '/includes/html-builder.class.php' );
69
+ require_once( FACTORY_FORMS_423_DIR . '/includes/form-element.class.php' );
70
+ require_once( FACTORY_FORMS_423_DIR . '/includes/control.class.php' );
71
+ require_once( FACTORY_FORMS_423_DIR . '/includes/complex-control.class.php' );
72
+ require_once( FACTORY_FORMS_423_DIR . '/includes/holder.class.php' );
73
+ require_once( FACTORY_FORMS_423_DIR . '/includes/control-holder.class.php' );
74
+ require_once( FACTORY_FORMS_423_DIR . '/includes/custom-element.class.php' );
75
+ require_once( FACTORY_FORMS_423_DIR . '/includes/form-layout.class.php' );
76
+
77
  // registration of controls
78
  $plugin->forms->registerControls( [
79
  [
80
  'type' => 'checkbox',
81
+ 'class' => 'Wbcr_FactoryForms423_CheckboxControl',
82
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/checkbox.php'
83
  ],
84
  [
85
  'type' => 'list',
86
+ 'class' => 'Wbcr_FactoryForms423_ListControl',
87
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/list.php'
88
  ],
89
  [
90
  'type' => 'dropdown',
91
+ 'class' => 'Wbcr_FactoryForms423_DropdownControl',
92
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/dropdown.php'
93
  ],
94
  [
95
  'type' => 'dropdown-and-colors',
96
+ 'class' => 'Wbcr_FactoryForms423_DropdownAndColorsControl',
97
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/dropdown-and-colors.php'
98
  ],
99
  [
100
  'type' => 'hidden',
101
+ 'class' => 'Wbcr_FactoryForms423_HiddenControl',
102
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/hidden.php'
103
  ],
104
  [
105
  'type' => 'hidden',
106
+ 'class' => 'Wbcr_FactoryForms423_HiddenControl',
107
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/hidden.php'
108
  ],
109
  [
110
  'type' => 'radio',
111
+ 'class' => 'Wbcr_FactoryForms423_RadioControl',
112
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/radio.php'
113
  ],
114
  [
115
  'type' => 'radio-colors',
116
+ 'class' => 'Wbcr_FactoryForms423_RadioColorsControl',
117
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/radio-colors.php'
118
  ],
119
  [
120
  'type' => 'textarea',
121
+ 'class' => 'Wbcr_FactoryForms423_TextareaControl',
122
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/textarea.php'
123
  ],
124
  [
125
  'type' => 'textbox',
126
+ 'class' => 'Wbcr_FactoryForms423_TextboxControl',
127
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/textbox.php'
128
  ],
129
  [
130
  'type' => 'multiple-textbox',
131
+ 'class' => 'Wbcr_FactoryForms423_MultipleTextboxControl',
132
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/multiple-textbox.php'
133
  ],
134
  [
135
  'type' => 'datetimepicker-range',
136
+ 'class' => 'Wbcr_FactoryForms423_DatepickerRangeControl',
137
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/datepicker-range.php'
138
  ],
139
  [
140
  'type' => 'url',
141
+ 'class' => 'Wbcr_FactoryForms423_UrlControl',
142
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/url.php'
143
  ],
144
  [
145
  'type' => 'wp-editor',
146
+ 'class' => 'Wbcr_FactoryForms423_WpEditorControl',
147
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/wp-editor.php'
148
  ],
149
  [
150
  'type' => 'color',
151
+ 'class' => 'Wbcr_FactoryForms423_ColorControl',
152
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/color.php'
153
  ],
154
  [
155
  'type' => 'color-and-opacity',
156
+ 'class' => 'Wbcr_FactoryForms423_ColorAndOpacityControl',
157
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/color-and-opacity.php'
158
  ],
159
  [
160
  'type' => 'gradient',
161
+ 'class' => 'Wbcr_FactoryForms423_GradientControl',
162
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/gradient.php'
163
  ],
164
  [
165
  'type' => 'font',
166
+ 'class' => 'Wbcr_FactoryForms423_FontControl',
167
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/font.php'
168
  ],
169
  [
170
  'type' => 'google-font',
171
+ 'class' => 'Wbcr_FactoryForms423_GoogleFontControl',
172
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/google-font.php'
173
  ],
174
  [
175
  'type' => 'pattern',
176
+ 'class' => 'Wbcr_FactoryForms423_PatternControl',
177
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/pattern.php'
178
  ],
179
  [
180
  'type' => 'integer',
181
+ 'class' => 'Wbcr_FactoryForms423_IntegerControl',
182
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/integer.php'
183
  ],
184
  [
185
  'type' => 'control-group',
186
+ 'class' => 'Wbcr_FactoryForms423_ControlGroupHolder',
187
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/control-group.php'
188
  ],
189
  [
190
  'type' => 'paddings-editor',
191
+ 'class' => 'Wbcr_FactoryForms423_PaddingsEditorControl',
192
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/paddings-editor.php'
193
  ],
194
  ] );
195
+
196
  // registration of control holders
197
  $plugin->forms->registerHolders( [
198
  [
199
  'type' => 'tab',
200
+ 'class' => 'Wbcr_FactoryForms423_TabHolder',
201
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/tab.php'
202
  ],
203
  [
204
  'type' => 'tab-item',
205
+ 'class' => 'Wbcr_FactoryForms423_TabItemHolder',
206
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/tab-item.php'
207
  ],
208
  [
209
  'type' => 'accordion',
210
+ 'class' => 'Wbcr_FactoryForms423_AccordionHolder',
211
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/accordion.php'
212
  ],
213
  [
214
  'type' => 'accordion-item',
215
+ 'class' => 'Wbcr_FactoryForms423_AccordionItemHolder',
216
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/accordion-item.php'
217
  ],
218
  [
219
  'type' => 'control-group',
220
+ 'class' => 'Wbcr_FactoryForms423_ControlGroupHolder',
221
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/control-group.php'
222
  ],
223
  [
224
  'type' => 'control-group-item',
225
+ 'class' => 'Wbcr_FactoryForms423_ControlGroupItem',
226
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/control-group-item.php'
227
  ],
228
  [
229
  'type' => 'form-group',
230
+ 'class' => 'Wbcr_FactoryForms423_FormGroupHolder',
231
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/form-group.php'
232
  ],
233
  [
234
  'type' => 'more-link',
235
+ 'class' => 'Wbcr_FactoryForms423_MoreLinkHolder',
236
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/more-link.php'
237
  ],
238
  [
239
  'type' => 'div',
240
+ 'class' => 'Wbcr_FactoryForms423_DivHolder',
241
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/div.php'
242
  ],
243
  [
244
  'type' => 'columns',
245
+ 'class' => 'Wbcr_FactoryForms423_ColumnsHolder',
246
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/holders/columns.php'
247
  ]
248
  ] );
249
+
250
  // registration custom form elements
251
  $plugin->forms->registerCustomElements( [
252
  [
253
  'type' => 'html',
254
+ 'class' => 'Wbcr_FactoryForms423_Html',
255
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/customs/html.php',
256
  ],
257
  [
258
  'type' => 'separator',
259
+ 'class' => 'Wbcr_FactoryForms423_Separator',
260
+ 'include' => FACTORY_FORMS_423_DIR . '/controls/customs/separator.php',
261
  ],
262
  ] );
263
+
264
  // registration of form layouts
265
  $plugin->forms->registerFormLayout( [
266
  'name' => 'bootstrap-3',
267
+ 'class' => 'Wbcr_FactoryForms423_Bootstrap3FormLayout',
268
+ 'include' => FACTORY_FORMS_423_DIR . '/layouts/bootstrap-3/bootstrap-3.php'
269
  ] );
270
  }
271
+
272
+ add_action( 'wbcr_factory_forms_423_register_controls', 'wbcr_factory_forms_423_register_default_controls' );
273
  }
libs/factory/forms/controls/checkbox.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms420_CheckboxControl') ) {
24
 
25
- class Wbcr_FactoryForms420_CheckboxControl extends Wbcr_FactoryForms420_Control {
26
 
27
  public $type = 'checkbox';
28
 
@@ -130,10 +130,10 @@
130
  <div <?php $this->attrs() ?>>
131
  <button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
132
  echo 'active';
133
- } ?>"><?php _e('On', 'wbcr_factory_forms_420') ?></button>
134
  <button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
135
  echo 'active';
136
- } ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_420') ?></button>
137
  <input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
138
  echo 'checked="checked"';
139
  } ?>" />
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms423_CheckboxControl') ) {
24
 
25
+ class Wbcr_FactoryForms423_CheckboxControl extends Wbcr_FactoryForms423_Control {
26
 
27
  public $type = 'checkbox';
28
 
130
  <div <?php $this->attrs() ?>>
131
  <button type="button" class="btn btn-default btn-small btn-sm factory-on <?php if( $value ) {
132
  echo 'active';
133
+ } ?>"><?php _e('On', 'wbcr_factory_forms_423') ?></button>
134
  <button type="button" class="btn btn-default btn-small btn-sm factory-off <?php if( !$value ) {
135
  echo 'active';
136
+ } ?>" data-value="0"><?php _e('Off', 'wbcr_factory_forms_423') ?></button>
137
  <input type="checkbox" style="display: none" id="<?php echo $name_on_form ?>" class="factory-result" name="<?php echo $name_on_form ?>" value="<?= $value ?>" <?php if( $value ) {
138
  echo 'checked="checked"';
139
  } ?>" />
libs/factory/forms/controls/color-and-opacity.php CHANGED
@@ -20,10 +20,10 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms420_ColorAndOpacityControl') ) {
24
  }
25
 
26
- class Wbcr_FactoryForms420_ColorAndOpacityControl extends Wbcr_FactoryForms420_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
@@ -57,8 +57,8 @@
57
  'way' => 'slider'
58
  ));
59
 
60
- $this->color = new Wbcr_FactoryForms420_ColorControl($options['color'], $form, $provider);
61
- $this->opacity = new Wbcr_FactoryForms420_IntegerControl($options['opacity'], $form, $provider);
62
 
63
  $this->innerControls = array($this->color, $this->opacity);
64
  }
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms423_ColorAndOpacityControl') ) {
24
  }
25
 
26
+ class Wbcr_FactoryForms423_ColorAndOpacityControl extends Wbcr_FactoryForms423_ComplexControl {
27
 
28
  public $type = 'color-and-opacity';
29
 
57
  'way' => 'slider'
58
  ));
59
 
60
+ $this->color = new Wbcr_FactoryForms423_ColorControl($options['color'], $form, $provider);
61
+ $this->opacity = new Wbcr_FactoryForms423_IntegerControl($options['opacity'], $form, $provider);
62
 
63
  $this->innerControls = array($this->color, $this->opacity);
64
  }
libs/factory/forms/controls/color.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms420_ColorControl') ) {
24
 
25
- class Wbcr_FactoryForms420_ColorControl extends Wbcr_FactoryForms420_Control {
26
 
27
  public $type = 'color';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms423_ColorControl') ) {
24
 
25
+ class Wbcr_FactoryForms423_ColorControl extends Wbcr_FactoryForms423_Control {
26
 
27
  public $type = 'color';
28
 
libs/factory/forms/controls/customs/html.php CHANGED
@@ -14,9 +14,9 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_Html') ) {
18
 
19
- class Wbcr_FactoryForms420_Html extends Wbcr_FactoryForms420_CustomElement {
20
 
21
  public $type = 'html';
22
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_Html') ) {
18
 
19
+ class Wbcr_FactoryForms423_Html extends Wbcr_FactoryForms423_CustomElement {
20
 
21
  public $type = 'html';
22
 
libs/factory/forms/controls/customs/separator.php CHANGED
@@ -14,8 +14,8 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_Separator') ) {
18
- class Wbcr_FactoryForms420_Separator extends Wbcr_FactoryForms420_CustomElement {
19
 
20
  public $type = 'separator';
21
 
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_Separator') ) {
18
+ class Wbcr_FactoryForms423_Separator extends Wbcr_FactoryForms423_CustomElement {
19
 
20
  public $type = 'separator';
21
 
libs/factory/forms/controls/datepicker-range.php CHANGED
@@ -29,9 +29,9 @@
29
  exit;
30
  }
31
 
32
- if( !class_exists('Wbcr_FactoryForms420_DatepickerRangeControl') ) {
33
 
34
- class Wbcr_FactoryForms420_DatepickerRangeControl extends Wbcr_FactoryForms420_ComplexControl {
35
 
36
  public $type = 'datetimepicker-range';
37
 
@@ -65,8 +65,8 @@
65
  'default' => date('Y/m/d H:i', strtotime("+1 month"))
66
  ), $options['range_2']);
67
 
68
- $this->range_1 = new Wbcr_FactoryForms420_TextboxControl($options['range_1'], $form, $provider);
69
- $this->range_2 = new Wbcr_FactoryForms420_TextboxControl($options['range_2'], $form, $provider);
70
  $this->inner_controls = array($this->range_1, $this->range_2);
71
 
72
  foreach($this->inner_controls as $key => $control) {
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms423_DatepickerRangeControl') ) {
33
 
34
+ class Wbcr_FactoryForms423_DatepickerRangeControl extends Wbcr_FactoryForms423_ComplexControl {
35
 
36
  public $type = 'datetimepicker-range';
37
 
65
  'default' => date('Y/m/d H:i', strtotime("+1 month"))
66
  ), $options['range_2']);
67
 
68
+ $this->range_1 = new Wbcr_FactoryForms423_TextboxControl($options['range_1'], $form, $provider);
69
+ $this->range_2 = new Wbcr_FactoryForms423_TextboxControl($options['range_2'], $form, $provider);
70
  $this->inner_controls = array($this->range_1, $this->range_2);
71
 
72
  foreach($this->inner_controls as $key => $control) {
libs/factory/forms/controls/dropdown-and-colors.php CHANGED
@@ -5,14 +5,14 @@
5
  *
6
  * Main options:
7
  * name => a name of the control
8
- * // see FactoryForms420_DropdownControl
9
  * 'dropdown' => array(
10
  * // a callback to return items or an array of items to select
11
  * 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
12
  * 'default' => 'default',
13
  * 'value' => 'value' // a value to show in the control
14
  * ),
15
- * // see FactoryForms420_RadioColorsControl
16
  * 'colors' => array(
17
  * // a callback to return items or an array of items to select
18
  * 'data' => array(
@@ -37,9 +37,9 @@
37
  exit;
38
  }
39
 
40
- if( !class_exists('Wbcr_FactoryForms420_DropdownAndColorsControl') ) {
41
 
42
- class Wbcr_FactoryForms420_DropdownAndColorsControl extends Wbcr_FactoryForms420_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
@@ -69,8 +69,8 @@
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
- $this->dropdown = new Wbcr_FactoryForms420_DropdownControl($options['dropdown'], $form, $provider);
73
- $this->colors = new Wbcr_FactoryForms420_RadioColorsControl($options['colors'], $form, $provider);
74
  $this->inner_controls = array($this->dropdown, $this->colors);
75
 
76
  $colors = $this->colors->getOption('data');
5
  *
6
  * Main options:
7
  * name => a name of the control
8
+ * // see FactoryForms423_DropdownControl
9
  * 'dropdown' => array(
10
  * // a callback to return items or an array of items to select
11
  * 'data' => OPanda_ThemeManager::getThemes(OPanda_Items::getCurrentItemName(), 'dropdown'),
12
  * 'default' => 'default',
13
  * 'value' => 'value' // a value to show in the control
14
  * ),
15
+ * // see FactoryForms423_RadioColorsControl
16
  * 'colors' => array(
17
  * // a callback to return items or an array of items to select
18
  * 'data' => array(
37
  exit;
38
  }
39
 
40
+ if( !class_exists('Wbcr_FactoryForms423_DropdownAndColorsControl') ) {
41
 
42
+ class Wbcr_FactoryForms423_DropdownAndColorsControl extends Wbcr_FactoryForms423_ComplexControl {
43
 
44
  public $type = 'dropdown-and-colors';
45
 
69
  'name' => $this->options['name'] . '__colors',
70
  ));
71
 
72
+ $this->dropdown = new Wbcr_FactoryForms423_DropdownControl($options['dropdown'], $form, $provider);
73
+ $this->colors = new Wbcr_FactoryForms423_RadioColorsControl($options['colors'], $form, $provider);
74
  $this->inner_controls = array($this->dropdown, $this->colors);
75
 
76
  $colors = $this->colors->getOption('data');
libs/factory/forms/controls/dropdown.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if ( ! class_exists( 'Wbcr_FactoryForms420_DropdownControl' ) ) {
25
 
26
- class Wbcr_FactoryForms420_DropdownControl extends Wbcr_FactoryForms420_Control {
27
 
28
  public $type = 'dropdown';
29
 
@@ -123,7 +123,7 @@
123
  'url': '<?php echo $data['url'] ?>',
124
  'data': <?php echo json_encode( $data['data'] ) ?>,
125
  'selected': '<?php echo $value ?>',
126
- 'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_420' ) ) ?>'
127
  };
128
  </script>
129
  <?php
@@ -268,7 +268,7 @@
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
- $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_420' ) );
272
 
273
  ?>
274
  <select <?php $this->attrs() ?>>
@@ -349,7 +349,7 @@
349
  }
350
 
351
  $value = isset( $item['value'] ) ? $item['value'] : '';
352
- $title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_420' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
21
  exit;
22
  }
23
 
24
+ if ( ! class_exists( 'Wbcr_FactoryForms423_DropdownControl' ) ) {
25
 
26
+ class Wbcr_FactoryForms423_DropdownControl extends Wbcr_FactoryForms423_Control {
27
 
28
  public $type = 'dropdown';
29
 
123
  'url': '<?php echo $data['url'] ?>',
124
  'data': <?php echo json_encode( $data['data'] ) ?>,
125
  'selected': '<?php echo $value ?>',
126
+ 'empty_list': '<?php echo $this->getOption( 'empty', __( 'The list is empty.', 'wbcr_factory_forms_423' ) ) ?>'
127
  };
128
  </script>
129
  <?php
268
  }
269
 
270
  $is_empty = $this->isAjax() || empty( $items );
271
+ $empty_list = $this->getOption( 'empty', __( '- empty -', 'wbcr_factory_forms_423' ) );
272
 
273
  ?>
274
  <select <?php $this->attrs() ?>>
349
  }
350
 
351
  $value = isset( $item['value'] ) ? $item['value'] : '';
352
+ $title = isset( $item['title'] ) ? $item['title'] : __( '- empty -', 'wbcr_factory_forms_423' );
353
 
354
  $data = isset( $item['data'] ) ? $item['data'] : null;
355
  } else {
libs/factory/forms/controls/font.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms420_FontControl') ) {
24
 
25
- class Wbcr_FactoryForms420_FontControl extends Wbcr_FactoryForms420_ComplexControl {
26
 
27
  public $type = 'font';
28
 
@@ -54,9 +54,9 @@
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
- $this->size = new Wbcr_FactoryForms420_IntegerControl($option_font_size, $form, $provider);
58
- $this->family = new Wbcr_FactoryForms420_DropdownControl($option_font_family, $form, $provider);
59
- $this->color = new Wbcr_FactoryForms420_ColorControl($optionFontColor, $form, $provider);
60
 
61
  $this->innerControls = array($this->family, $this->size, $this->color);
62
  }
@@ -66,8 +66,8 @@
66
 
67
  $fonts = $this->getDefaultFonts();
68
 
69
- $fonts = apply_filters('wbcr_factory_forms_420_fonts', $fonts);
70
- $fonts = apply_filters('wbcr_factory_forms_420_fonts-' . $this->options['name'], $fonts);
71
 
72
  return $fonts;
73
  }
@@ -77,10 +77,10 @@
77
 
78
  $fonts = array(
79
 
80
- array('inherit', __('(use default website font)', 'wbcr_factory_forms_420')),
81
  array(
82
  'group',
83
- __('Sans Serif:', 'wbcr_factory_forms_420'),
84
  array(
85
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
86
  array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
@@ -131,7 +131,7 @@
131
  ),
132
  array(
133
  'group',
134
- __('Serif:', 'wbcr_factory_forms_420'),
135
  array(
136
  array(
137
  'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
@@ -187,7 +187,7 @@
187
  ),
188
  array(
189
  'group',
190
- __('Monospaced:', 'wbcr_factory_forms_420'),
191
  array(
192
  array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
193
  array('Consolas, monaco, monospace', 'Consolas'),
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms423_FontControl') ) {
24
 
25
+ class Wbcr_FactoryForms423_FontControl extends Wbcr_FactoryForms423_ComplexControl {
26
 
27
  public $type = 'font';
28
 
54
  'pickerTarget' => '.factory-control-' . $this->options['name'] . ' .factory-picker-target'
55
  );
56
 
57
+ $this->size = new Wbcr_FactoryForms423_IntegerControl($option_font_size, $form, $provider);
58
+ $this->family = new Wbcr_FactoryForms423_DropdownControl($option_font_family, $form, $provider);
59
+ $this->color = new Wbcr_FactoryForms423_ColorControl($optionFontColor, $form, $provider);
60
 
61
  $this->innerControls = array($this->family, $this->size, $this->color);
62
  }
66
 
67
  $fonts = $this->getDefaultFonts();
68
 
69
+ $fonts = apply_filters('wbcr_factory_forms_423_fonts', $fonts);
70
+ $fonts = apply_filters('wbcr_factory_forms_423_fonts-' . $this->options['name'], $fonts);
71
 
72
  return $fonts;
73
  }
77
 
78
  $fonts = array(
79
 
80
+ array('inherit', __('(use default website font)', 'wbcr_factory_forms_423')),
81
  array(
82
  'group',
83
+ __('Sans Serif:', 'wbcr_factory_forms_423'),
84
  array(
85
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
86
  array('"Arial Black", "Arial Bold", Gadget, sans-serif', 'Arial Black'),
131
  ),
132
  array(
133
  'group',
134
+ __('Serif:', 'wbcr_factory_forms_423'),
135
  array(
136
  array(
137
  'Baskerville, "Baskerville Old Face", "Hoefler Text", Garamond, "Times New Roman", serif',
187
  ),
188
  array(
189
  'group',
190
+ __('Monospaced:', 'wbcr_factory_forms_423'),
191
  array(
192
  array('"Andale Mono", AndaleMono, monospace', 'Andale Mono'),
193
  array('Consolas, monaco, monospace', 'Consolas'),
libs/factory/forms/controls/google-font.php CHANGED
@@ -15,7 +15,7 @@
15
  * @package core
16
  * @since 1.0.0
17
  */
18
- class Wbcr_FactoryForms420_GoogleFontControl extends Wbcr_FactoryForms420_FontControl {
19
 
20
  public $type = 'google-font';
21
  const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
@@ -30,7 +30,7 @@
30
  'cssClass' => 'factory-google-font-data'
31
  );
32
 
33
- $this->google_font_data = new Wbcr_FactoryForms420_HiddenControl($option_google_font_data, $form, $provider);
34
  $this->inner_controls[] = $this->google_font_data;
35
  }
36
 
@@ -49,12 +49,12 @@
49
  $google_fonts = $this->getGoogleFonts();
50
 
51
  $fonts = array(
52
- array('inherit', __('(use default website font)', 'wbcr_factory_forms_420'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
- __('Standard:', 'wbcr_factory_forms_420'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
@@ -65,7 +65,7 @@
65
  )
66
  );
67
 
68
- $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_420'), array());
69
 
70
  foreach($google_fonts->items as $item) {
71
 
@@ -115,7 +115,7 @@
115
 
116
  if( is_wp_error($response) ) {
117
 
118
- $this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_420');
119
  $this->defailed_error = $response->get_error_message();
120
 
121
  return $body;
@@ -123,7 +123,7 @@
123
 
124
  if( !isset($response['body']) ) {
125
 
126
- $this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_420');
127
  $this->defailed_error = $response['body'];
128
 
129
  return $body;
@@ -133,7 +133,7 @@
133
 
134
  if( empty($body->items) ) {
135
 
136
- $this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_420');
137
 
138
  return $body;
139
  }
15
  * @package core
16
  * @since 1.0.0
17
  */
18
+ class Wbcr_FactoryForms423_GoogleFontControl extends Wbcr_FactoryForms423_FontControl {
19
 
20
  public $type = 'google-font';
21
  const APIKEY = 'AIzaSyB-3vazYv7Q-5QZA04bmSKFrWcw_VhC40w';
30
  'cssClass' => 'factory-google-font-data'
31
  );
32
 
33
+ $this->google_font_data = new Wbcr_FactoryForms423_HiddenControl($option_google_font_data, $form, $provider);
34
  $this->inner_controls[] = $this->google_font_data;
35
  }
36
 
49
  $google_fonts = $this->getGoogleFonts();
50
 
51
  $fonts = array(
52
+ array('inherit', __('(use default website font)', 'wbcr_factory_forms_423'))
53
  );
54
 
55
  $fontsCommon = array(
56
  'group',
57
+ __('Standard:', 'wbcr_factory_forms_423'),
58
  array(
59
 
60
  array('Arial, "Helvetica Neue", Helvetica, sans-serif', 'Arial'),
65
  )
66
  );
67
 
68
+ $fontsGoogleFonts = array('group', __('Google Fonts:', 'wbcr_factory_forms_423'), array());
69
 
70
  foreach($google_fonts->items as $item) {
71
 
115
 
116
  if( is_wp_error($response) ) {
117
 
118
+ $this->error = __('Unable to retrieve the list of Google Fonts.', 'wbcr_factory_forms_423');
119
  $this->defailed_error = $response->get_error_message();
120
 
121
  return $body;
123
 
124
  if( !isset($response['body']) ) {
125
 
126
+ $this->error = __('Invalide response from the Google Fonts API.', 'wbcr_factory_forms_423');
127
  $this->defailed_error = $response['body'];
128
 
129
  return $body;
133
 
134
  if( empty($body->items) ) {
135
 
136
+ $this->error = __('Unexpected error. The list of Google Fonts are empty.', 'wbcr_factory_forms_423');
137
 
138
  return $body;
139
  }
libs/factory/forms/controls/gradient.php CHANGED
@@ -25,8 +25,8 @@
25
  exit;
26
  }
27
 
28
- if( !class_exists('Wbcr_FactoryForms420_GradientControl') ) {
29
- class Wbcr_FactoryForms420_GradientControl extends Wbcr_FactoryForms420_Control {
30
 
31
  public $type = 'gradient';
32
 
@@ -66,8 +66,8 @@
66
  if( !window.factory.res ) {
67
  window.factory.res = {};
68
  }
69
- factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_420' ) ?>';
70
- factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_420' ) ?>';
71
  </script>
72
  <div <?php $this->attrs() ?>>
73
  <div class="factory-gradient-picker">
25
  exit;
26
  }
27
 
28
+ if( !class_exists('Wbcr_FactoryForms423_GradientControl') ) {
29
+ class Wbcr_FactoryForms423_GradientControl extends Wbcr_FactoryForms423_Control {
30
 
31
  public $type = 'gradient';
32
 
66
  if( !window.factory.res ) {
67
  window.factory.res = {};
68
  }
69
+ factory.res.resVertical = '<?php _e( 'vertical', 'wbcr_factory_forms_423' ) ?>';
70
+ factory.res.resHorizontal = '<?php _e( 'horizontal', 'wbcr_factory_forms_423' ) ?>';
71
  </script>
72
  <div <?php $this->attrs() ?>>
73
  <div class="factory-gradient-picker">
libs/factory/forms/controls/hidden.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms420_HiddenControl') ) {
24
 
25
- class Wbcr_FactoryForms420_HiddenControl extends Wbcr_FactoryForms420_Control {
26
 
27
  public $type = 'hidden';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms423_HiddenControl') ) {
24
 
25
+ class Wbcr_FactoryForms423_HiddenControl extends Wbcr_FactoryForms423_Control {
26
 
27
  public $type = 'hidden';
28
 
libs/factory/forms/controls/holders/accordion-item.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms420_AccordionItemHolder extends Wbcr_FactoryForms420_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_AccordionItemHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms423_AccordionItemHolder extends Wbcr_FactoryForms423_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/accordion.php CHANGED
@@ -13,13 +13,13 @@
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
- if( !class_exists('Wbcr_FactoryForms420_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_FactoryForms420_AccordionHolder extends Wbcr_FactoryForms420_Holder {
23
 
24
  /**
25
  * A holder type.
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms423_AccordionHolder') ) {
17
  /**
18
  * Tab Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms423_AccordionHolder extends Wbcr_FactoryForms423_Holder {
23
 
24
  /**
25
  * A holder type.
libs/factory/forms/controls/holders/columns.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms420_ColumnsHolder extends Wbcr_FactoryForms420_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_ColumnsHolder') ) {
18
  /**
19
  * Columns Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms423_ColumnsHolder extends Wbcr_FactoryForms423_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/control-group-item.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms420_ControlGroupItem extends Wbcr_FactoryForms420_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_ControlGroupItem') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms423_ControlGroupItem extends Wbcr_FactoryForms423_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/control-group.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms420_ControlGroupHolder extends Wbcr_FactoryForms420_ControlHolder {
25
 
26
  /**
27
  * A holder type.
@@ -61,7 +61,7 @@
61
  continue;
62
  }
63
 
64
- $builder = new Wbcr_FactoryForms420_HtmlAttributeBuilder();
65
 
66
  $builder->addCssClass('factory-control-group-nav-label');
67
  $builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_ControlGroupHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms423_ControlGroupHolder extends Wbcr_FactoryForms423_ControlHolder {
25
 
26
  /**
27
  * A holder type.
61
  continue;
62
  }
63
 
64
+ $builder = new Wbcr_FactoryForms423_HtmlAttributeBuilder();
65
 
66
  $builder->addCssClass('factory-control-group-nav-label');
67
  $builder->addCssClass('factory-control-group-nav-label-' . $element->getOption('name'));
libs/factory/forms/controls/holders/div.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms420_DivHolder extends Wbcr_FactoryForms420_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_DivHolder') ) {
18
  /**
19
  * Div Control Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms423_DivHolder extends Wbcr_FactoryForms423_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/form-group.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms420_FormGroupHolder extends Wbcr_FactoryForms420_Holder {
24
 
25
  /**
26
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_FormGroupHolder') ) {
18
  /**
19
  * Group Holder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms423_FormGroupHolder extends Wbcr_FactoryForms423_Holder {
24
 
25
  /**
26
  * A holder type.
libs/factory/forms/controls/holders/more-link.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms420_MoreLinkHolder extends Wbcr_FactoryForms420_Holder {
25
 
26
  /**
27
  * A holder type.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_MoreLinkHolder') ) {
18
 
19
  /**
20
  * Collapsed Group Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms423_MoreLinkHolder extends Wbcr_FactoryForms423_Holder {
25
 
26
  /**
27
  * A holder type.
libs/factory/forms/controls/holders/tab-item.php CHANGED
@@ -13,13 +13,13 @@
13
  exit;
14
  }
15
 
16
- if( !class_exists('Wbcr_FactoryForms420_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
- class Wbcr_FactoryForms420_TabItemHolder extends Wbcr_FactoryForms420_Holder {
23
 
24
  /**
25
  * A holder type.
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms423_TabItemHolder') ) {
17
  /**
18
  * Tab Item Control Holder
19
  *
20
  * @since 1.0.0
21
  */
22
+ class Wbcr_FactoryForms423_TabItemHolder extends Wbcr_FactoryForms423_Holder {
23
 
24
  /**
25
  * A holder type.
libs/factory/forms/controls/holders/tab.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
- class Wbcr_FactoryForms420_TabHolder extends Wbcr_FactoryForms420_Holder {
25
 
26
  /**
27
  * A holder type.
@@ -44,7 +44,7 @@
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
- * @param FactoryForms420_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
@@ -88,7 +88,7 @@
88
  $tab_icon = $element->options['icon'];
89
  }
90
 
91
- $builder = new Wbcr_FactoryForms420_HtmlAttributeBuilder();
92
 
93
  $builder->addCssClass('factory-tab-item-header');
94
  $builder->addCssClass('factory-tab-item-header-' . $element->getName());
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_TabHolder') ) {
18
 
19
  /**
20
  * Tab Control Holder
21
  *
22
  * @since 1.0.0
23
  */
24
+ class Wbcr_FactoryForms423_TabHolder extends Wbcr_FactoryForms423_Holder {
25
 
26
  /**
27
  * A holder type.
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param FactoryForms423_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
88
  $tab_icon = $element->options['icon'];
89
  }
90
 
91
+ $builder = new Wbcr_FactoryForms423_HtmlAttributeBuilder();
92
 
93
  $builder->addCssClass('factory-tab-item-header');
94
  $builder->addCssClass('factory-tab-item-header-' . $element->getName());
libs/factory/forms/controls/integer.php CHANGED
@@ -32,9 +32,9 @@
32
  exit;
33
  }
34
 
35
- if( !class_exists('Wbcr_FactoryForms420_IntegerControl') ) {
36
 
37
- class Wbcr_FactoryForms420_IntegerControl extends Wbcr_FactoryForms420_Control {
38
 
39
  public $type = 'integer';
40
 
32
  exit;
33
  }
34
 
35
+ if( !class_exists('Wbcr_FactoryForms423_IntegerControl') ) {
36
 
37
+ class Wbcr_FactoryForms423_IntegerControl extends Wbcr_FactoryForms423_Control {
38
 
39
  public $type = 'integer';
40
 
libs/factory/forms/controls/list.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if( !class_exists('Wbcr_FactoryForms420_ListControl') ) {
25
 
26
- class Wbcr_FactoryForms420_ListControl extends Wbcr_FactoryForms420_Control {
27
 
28
  public $type = 'list';
29
 
@@ -93,7 +93,7 @@
93
  'url': '<?php echo $data['url'] ?>',
94
  'data': <?php echo json_encode( $data['data'] ) ?>,
95
  'selected': <?php echo json_encode( $value ) ?>,
96
- 'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_420') ) ?>'
97
  };
98
  </script>
99
  <?php
@@ -136,7 +136,7 @@
136
  : array();
137
 
138
  $is_empty = $this->isAjax() || empty($items);
139
- $emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_420'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms423_ListControl') ) {
25
 
26
+ class Wbcr_FactoryForms423_ListControl extends Wbcr_FactoryForms423_Control {
27
 
28
  public $type = 'list';
29
 
93
  'url': '<?php echo $data['url'] ?>',
94
  'data': <?php echo json_encode( $data['data'] ) ?>,
95
  'selected': <?php echo json_encode( $value ) ?>,
96
+ 'emptyList': '<?php echo $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_423') ) ?>'
97
  };
98
  </script>
99
  <?php
136
  : array();
137
 
138
  $is_empty = $this->isAjax() || empty($items);
139
+ $emptyList = $this->getOption('empty', __('The list is empty.', 'wbcr_factory_forms_423'));
140
 
141
  if( $is_empty ) {
142
  $this->addCssClass('factory-empty');
libs/factory/forms/controls/multiple-textbox.php CHANGED
@@ -15,9 +15,9 @@
15
  exit;
16
  }
17
 
18
- if( !class_exists('Wbcr_FactoryForms420_MultipleTextboxControl') ) {
19
 
20
- class Wbcr_FactoryForms420_MultipleTextboxControl extends Wbcr_FactoryForms420_Control {
21
 
22
  public $type = 'multiple-textbox';
23
 
@@ -86,7 +86,7 @@
86
  <?php endif; ?>
87
  </div>
88
  <button class="btn btn-default btn-small factory-mtextbox-add-item">
89
- <i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_420') ?>
90
  </button>
91
  </div>
92
 
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms423_MultipleTextboxControl') ) {
19
 
20
+ class Wbcr_FactoryForms423_MultipleTextboxControl extends Wbcr_FactoryForms423_Control {
21
 
22
  public $type = 'multiple-textbox';
23
 
86
  <?php endif; ?>
87
  </div>
88
  <button class="btn btn-default btn-small factory-mtextbox-add-item">
89
+ <i class="fa fa-plus" aria-hidden="true"></i> <?php _e('Add new', 'wbcr_factory_forms_423') ?>
90
  </button>
91
  </div>
92
 
libs/factory/forms/controls/paddings-editor.php CHANGED
@@ -14,9 +14,9 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_PaddingsEditorControl') ) {
18
 
19
- class Wbcr_FactoryForms420_PaddingsEditorControl extends Wbcr_FactoryForms420_Control {
20
 
21
  public $type = 'paddings-editor';
22
 
@@ -67,7 +67,7 @@
67
  </div>
68
  <div class="factory-slider-container">
69
  <label class="factory-title">
70
- <?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_420') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_PaddingsEditorControl') ) {
18
 
19
+ class Wbcr_FactoryForms423_PaddingsEditorControl extends Wbcr_FactoryForms423_Control {
20
 
21
  public $type = 'paddings-editor';
22
 
67
  </div>
68
  <div class="factory-slider-container">
69
  <label class="factory-title">
70
+ <?php _e('Select a side and move the slider to set up:', 'wbcr_factory_forms_423') ?>
71
  </label>
72
 
73
  <div class="factory-slider">
libs/factory/forms/controls/pattern.php CHANGED
@@ -15,9 +15,9 @@
15
  exit;
16
  }
17
 
18
- if( !class_exists('Wbcr_FactoryForms420_PatternControl') ) {
19
 
20
- class Wbcr_FactoryForms420_PatternControl extends Wbcr_FactoryForms420_Control {
21
 
22
  public $type = 'pattern';
23
 
@@ -52,12 +52,12 @@
52
  $name = $this->getOption('name');
53
 
54
  // filters to get available patterns for the given background contols
55
- $this->patterns = apply_filters('wbcr_factory_forms_420_patterns', array());
56
- $this->patterns = apply_filters('wbcr_factory_forms_420_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
- $this->color = new Wbcr_FactoryForms420_ColorControl($options['color'], $form, $provider);
61
  }
62
 
63
  /**
@@ -102,19 +102,19 @@
102
  </div>
103
  <a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
104
  echo 'button-active';
105
- } ?>" title="<?php _e('Change color', 'wbcr_factory_forms_420') ?>">
106
  <i class="fa fa-flask"></i>
107
- <span><?php _e('re-color', 'wbcr_factory_forms_420') ?></span>
108
  </a>
109
  <input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
110
  <input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
111
  </div>
112
  <div class="factory-color-panel">
113
  <div class="factory-color-wrap">
114
- <span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_420') ?></span>
115
  <?php $this->color->html() ?>
116
  <div class="factory-hint">
117
- <i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_420') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></div>
15
  exit;
16
  }
17
 
18
+ if( !class_exists('Wbcr_FactoryForms423_PatternControl') ) {
19
 
20
+ class Wbcr_FactoryForms423_PatternControl extends Wbcr_FactoryForms423_Control {
21
 
22
  public $type = 'pattern';
23
 
52
  $name = $this->getOption('name');
53
 
54
  // filters to get available patterns for the given background contols
55
+ $this->patterns = apply_filters('wbcr_factory_forms_423_patterns', array());
56
+ $this->patterns = apply_filters('wbcr_factory_forms_423_patterns-' . $name, $this->patterns);
57
 
58
  $this->custom_patterns = $this->getOption('patterns', array());
59
 
60
+ $this->color = new Wbcr_FactoryForms423_ColorControl($options['color'], $form, $provider);
61
  }
62
 
63
  /**
102
  </div>
103
  <a href="#" class="button button-default factory-button factory-change-color-btn <?php if( $hasColor ) {
104
  echo 'button-active';
105
+ } ?>" title="<?php _e('Change color', 'wbcr_factory_forms_423') ?>">
106
  <i class="fa fa-flask"></i>
107
+ <span><?php _e('re-color', 'wbcr_factory_forms_423') ?></span>
108
  </a>
109
  <input type="hidden" id="<?php echo $name[0]; ?>" name="<?php echo $name[0]; ?>" value="<?php echo esc_url($values['url']); ?>" class="factory-pattern-result">
110
  <input type="hidden" id="<?php echo $name[1]; ?>" name="<?php echo $name[1]; ?>" value="<?php echo esc_attr($values['color']); ?>" class="factory-color-result">
111
  </div>
112
  <div class="factory-color-panel">
113
  <div class="factory-color-wrap">
114
+ <span class="factory-color-label"><?php _e('Select color:', 'wbcr_factory_forms_423') ?></span>
115
  <?php $this->color->html() ?>
116
  <div class="factory-hint">
117
+ <i><?php _e('Changing the color may takes a minute or more. Please be patient.', 'wbcr_factory_forms_423') ?></i>
118
  </div>
119
  </div>
120
  <div class="factory-picker-target"></div>
libs/factory/forms/controls/radio-colors.php CHANGED
@@ -27,9 +27,9 @@
27
  exit;
28
  }
29
 
30
- if( !class_exists('Wbcr_FactoryForms420_RadioColorsControl') ) {
31
 
32
- class Wbcr_FactoryForms420_RadioColorsControl extends Wbcr_FactoryForms420_Control {
33
 
34
  public $type = 'radio-color';
35
 
27
  exit;
28
  }
29
 
30
+ if( !class_exists('Wbcr_FactoryForms423_RadioColorsControl') ) {
31
 
32
+ class Wbcr_FactoryForms423_RadioColorsControl extends Wbcr_FactoryForms423_Control {
33
 
34
  public $type = 'radio-color';
35
 
libs/factory/forms/controls/radio.php CHANGED
@@ -21,9 +21,9 @@
21
  exit;
22
  }
23
 
24
- if( !class_exists('Wbcr_FactoryForms420_RadioControl') ) {
25
 
26
- class Wbcr_FactoryForms420_RadioControl extends Wbcr_FactoryForms420_Control {
27
 
28
  public $type = 'radio';
29
 
21
  exit;
22
  }
23
 
24
+ if( !class_exists('Wbcr_FactoryForms423_RadioControl') ) {
25
 
26
+ class Wbcr_FactoryForms423_RadioControl extends Wbcr_FactoryForms423_Control {
27
 
28
  public $type = 'radio';
29
 
libs/factory/forms/controls/textarea.php CHANGED
@@ -20,9 +20,9 @@
20
  exit;
21
  }
22
 
23
- if( !class_exists('Wbcr_FactoryForms420_TextareaControl') ) {
24
 
25
- class Wbcr_FactoryForms420_TextareaControl extends Wbcr_FactoryForms420_Control {
26
 
27
  public $type = 'textarea';
28
 
20
  exit;
21
  }
22
 
23
+ if( !class_exists('Wbcr_FactoryForms423_TextareaControl') ) {
24
 
25
+ class Wbcr_FactoryForms423_TextareaControl extends Wbcr_FactoryForms423_Control {
26
 
27
  public $type = 'textarea';
28
 
libs/factory/forms/controls/textbox.php CHANGED
@@ -29,9 +29,9 @@
29
  exit;
30
  }
31
 
32
- if( !class_exists('Wbcr_FactoryForms420_TextboxControl') ) {
33
 
34
- class Wbcr_FactoryForms420_TextboxControl extends Wbcr_FactoryForms420_Control {
35
 
36
  public $type = 'textbox';
37
 
29
  exit;
30
  }
31
 
32
+ if( !class_exists('Wbcr_FactoryForms423_TextboxControl') ) {
33
 
34
+ class Wbcr_FactoryForms423_TextboxControl extends Wbcr_FactoryForms423_Control {
35
 
36
  public $type = 'textbox';
37
 
libs/factory/forms/controls/url.php CHANGED
@@ -4,7 +4,7 @@
4
  * Url Control
5
  *
6
  * Main options:
7
- * @see FactoryForms420_TextboxControl
8
  *
9
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
10
  * @copyright (c) 2018, Webcraftic Ltd
@@ -18,9 +18,9 @@
18
  exit;
19
  }
20
 
21
- if( !class_exists('Wbcr_FactoryForms420_UrlControl') ) {
22
 
23
- class Wbcr_FactoryForms420_UrlControl extends Wbcr_FactoryForms420_TextboxControl {
24
 
25
  public $type = 'url';
26
 
4
  * Url Control
5
  *
6
  * Main options:
7
+ * @see FactoryForms423_TextboxControl
8
  *
9
  * @author Alex Kovalev <alex.kovalevv@gmail.com>
10
  * @copyright (c) 2018, Webcraftic Ltd
18
  exit;
19
  }
20
 
21
+ if( !class_exists('Wbcr_FactoryForms423_UrlControl') ) {
22
 
23
+ class Wbcr_FactoryForms423_UrlControl extends Wbcr_FactoryForms423_TextboxControl {
24
 
25
  public $type = 'url';
26
 
libs/factory/forms/controls/wp-editor.php CHANGED
@@ -22,9 +22,9 @@
22
  exit;
23
  }
24
 
25
- if( !class_exists('Wbcr_FactoryForms420_WpEditorControl') ) {
26
 
27
- class Wbcr_FactoryForms420_WpEditorControl extends Wbcr_FactoryForms420_Control {
28
 
29
  public $type = 'wp-editor';
30
 
@@ -42,7 +42,7 @@
42
  }
43
 
44
  if( !isset($this->options['tinymce']['content_css']) ) {
45
- $this->options['tinymce']['content_css'] = FACTORY_FORMS_420_URL . '/assets/css/editor.css';
46
  }
47
  }
48
 
22
  exit;
23
  }
24
 
25
+ if( !class_exists('Wbcr_FactoryForms423_WpEditorControl') ) {
26
 
27
+ class Wbcr_FactoryForms423_WpEditorControl extends Wbcr_FactoryForms423_Control {
28
 
29
  public $type = 'wp-editor';
30
 
42
  }
43
 
44
  if( !isset($this->options['tinymce']['content_css']) ) {
45
+ $this->options['tinymce']['content_css'] = FACTORY_FORMS_423_URL . '/assets/css/editor.css';
46
  }
47
  }
48
 
libs/factory/forms/includes/complex-control.class.php CHANGED
@@ -13,13 +13,13 @@
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
- if( !class_exists('Wbcr_FactoryForms420_ComplexControl') ) {
17
  /**
18
  * The base class for all controls.
19
  *
20
  * @since 1.0.0
21
  */
22
- abstract class Wbcr_FactoryForms420_ComplexControl extends Wbcr_FactoryForms420_Control {
23
 
24
  /**
25
  * Is this element a complex control?
@@ -33,7 +33,7 @@
33
  * Contains a set of internal controls.
34
  *
35
  * @since 1.0.0
36
- * @var Wbcr_FactoryForms420_Control[]
37
  */
38
  public $inner_controls = array();
39
 
@@ -41,7 +41,7 @@
41
  * Sets a provider for the control.
42
  *
43
  * @since 1.0.0
44
- * @param Wbcr_IFactoryForms420_ValueProvider $provider
45
  * @return void
46
  */
47
  public function setProvider($provider)
13
  if( !defined('ABSPATH') ) {
14
  exit;
15
  }
16
+ if( !class_exists('Wbcr_FactoryForms423_ComplexControl') ) {
17
  /**
18
  * The base class for all controls.
19
  *
20
  * @since 1.0.0
21
  */
22
+ abstract class Wbcr_FactoryForms423_ComplexControl extends Wbcr_FactoryForms423_Control {
23
 
24
  /**
25
  * Is this element a complex control?
33
  * Contains a set of internal controls.
34
  *
35
  * @since 1.0.0
36
+ * @var Wbcr_FactoryForms423_Control[]
37
  */
38
  public $inner_controls = array();
39
 
41
  * Sets a provider for the control.
42
  *
43
  * @since 1.0.0
44
+ * @param Wbcr_IFactoryForms423_ValueProvider $provider
45
  * @return void
46
  */
47
  public function setProvider($provider)
libs/factory/forms/includes/control-holder.class.php CHANGED
@@ -14,19 +14,19 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_ControlHolder') ) {
18
  /**
19
  * The base class for control holders.
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_FactoryForms420_ControlHolder extends Wbcr_FactoryForms420_Control {
24
 
25
  /**
26
  * Holder Elements.
27
  *
28
  * @since 1.0.0
29
- * @var Wbcr_FactoryForms420_Control[]
30
  */
31
  protected $elements = array();
32
 
@@ -43,7 +43,7 @@
43
  *
44
  * @since 1.0.0
45
  * @param mixed[] $options A holder options.
46
- * @param Wbcr_FactoryForms420_Form $form A parent form.
47
  */
48
  public function __construct($options, $form)
49
  {
@@ -60,7 +60,7 @@
60
  * Returns holder elements.
61
  *
62
  * @since 1.0.0
63
- * @return Wbcr_FactoryForms420_FormElement[].
64
  */
65
  public function getElements()
66
  {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_ControlHolder') ) {
18
  /**
19
  * The base class for control holders.
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_FactoryForms423_ControlHolder extends Wbcr_FactoryForms423_Control {
24
 
25
  /**
26
  * Holder Elements.
27
  *
28
  * @since 1.0.0
29
+ * @var Wbcr_FactoryForms423_Control[]
30
  */
31
  protected $elements = array();
32
 
43
  *
44
  * @since 1.0.0
45
  * @param mixed[] $options A holder options.
46
+ * @param Wbcr_FactoryForms423_Form $form A parent form.
47
  */
48
  public function __construct($options, $form)
49
  {
60
  * Returns holder elements.
61
  *
62
  * @since 1.0.0
63
+ * @return Wbcr_FactoryForms423_FormElement[].
64
  */
65
  public function getElements()
66
  {
libs/factory/forms/includes/control.class.php CHANGED
@@ -14,14 +14,14 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_Control') ) {
18
 
19
  /**
20
  * The base class for all controls.
21
  *
22
  * @since 1.0.0
23
  */
24
- abstract class Wbcr_FactoryForms420_Control extends Wbcr_FactoryForms420_FormElement {
25
 
26
  /**
27
  * Is this element a control?
@@ -43,7 +43,7 @@
43
  * A provider that is used to get values.
44
  *
45
  * @since 1.0.0
46
- * @var Wbcr_IFactoryForms420_ValueProvider
47
  */
48
  protected $provider = null;
49
 
@@ -51,7 +51,7 @@
51
  * Create a new instance of the control.
52
  *
53
  * @param mixed[] $options
54
- * @param FactoryForms420_Form $form
55
  * @param null $provider
56
  * @since 1.0.0
57
  * @return void
@@ -66,7 +66,7 @@
66
  * Sets a provider for the control.
67
  *
68
  * @since 1.0.0
69
- * @param IFactoryForms420_ValueProvider $provider
70
  * @return void
71
  */
72
  public function setProvider($provider)
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_Control') ) {
18
 
19
  /**
20
  * The base class for all controls.
21
  *
22
  * @since 1.0.0
23
  */
24
+ abstract class Wbcr_FactoryForms423_Control extends Wbcr_FactoryForms423_FormElement {
25
 
26
  /**
27
  * Is this element a control?
43
  * A provider that is used to get values.
44
  *
45
  * @since 1.0.0
46
+ * @var Wbcr_IFactoryForms423_ValueProvider
47
  */
48
  protected $provider = null;
49
 
51
  * Create a new instance of the control.
52
  *
53
  * @param mixed[] $options
54
+ * @param FactoryForms423_Form $form
55
  * @param null $provider
56
  * @since 1.0.0
57
  * @return void
66
  * Sets a provider for the control.
67
  *
68
  * @since 1.0.0
69
+ * @param IFactoryForms423_ValueProvider $provider
70
  * @return void
71
  */
72
  public function setProvider($provider)
libs/factory/forms/includes/custom-element.class.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_CustomElement') ) {
18
  /**
19
  * The base class for all controls.
20
  *
21
  * @since 1.0.0
22
  */
23
- abstract class Wbcr_FactoryForms420_CustomElement extends Wbcr_FactoryForms420_FormElement {
24
 
25
  /**
26
  * Is this element a custom form element?
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_CustomElement') ) {
18
  /**
19
  * The base class for all controls.
20
  *
21
  * @since 1.0.0
22
  */
23
+ abstract class Wbcr_FactoryForms423_CustomElement extends Wbcr_FactoryForms423_FormElement {
24
 
25
  /**
26
  * Is this element a custom form element?
libs/factory/forms/includes/form-element.class.php CHANGED
@@ -14,7 +14,7 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_FormElement') ) {
18
 
19
  /**
20
  * The base class for all form element (controls, holders).
@@ -23,7 +23,7 @@
23
  *
24
  * @since 1.0.0
25
  */
26
- abstract class Wbcr_FactoryForms420_FormElement {
27
 
28
  /**
29
  * A type of an elemnt.
@@ -37,7 +37,7 @@
37
  * An html attribute builder.
38
  *
39
  * @since 1.0.0
40
- * @var Wbcr_FactoryForms420_HtmlAttributeBuilder
41
  */
42
  private $html_builder;
43
 
@@ -53,7 +53,7 @@
53
  * A parent form.
54
  *
55
  * @since 1.0.0
56
- * @var Wbcr_FactoryForms420_Form
57
  */
58
  protected $form;
59
 
@@ -61,7 +61,7 @@
61
  * A form layout.
62
  *
63
  * @since 1.0.0
64
- * @var Wbcr_FactoryForms420_FormLayout
65
  */
66
  protected $layout;
67
 
@@ -94,7 +94,7 @@
94
  *
95
  * @since 1.0.0
96
  * @param mixed[] $options A holder options.
97
- * @param Wbcr_FactoryForms420_Form $form A parent form.
98
  */
99
  public function __construct($options, $form)
100
  {
@@ -102,7 +102,7 @@
102
  $this->form = $form;
103
  $this->layout = $form->layout;
104
 
105
- $this->html_builder = new Wbcr_FactoryForms420_HtmlAttributeBuilder();
106
 
107
  if( isset($this->options['cssClass']) ) {
108
  $this->html_builder->addCssClass($this->options['cssClass']);
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_FormElement') ) {
18
 
19
  /**
20
  * The base class for all form element (controls, holders).
23
  *
24
  * @since 1.0.0
25
  */
26
+ abstract class Wbcr_FactoryForms423_FormElement {
27
 
28
  /**
29
  * A type of an elemnt.
37
  * An html attribute builder.
38
  *
39
  * @since 1.0.0
40
+ * @var Wbcr_FactoryForms423_HtmlAttributeBuilder
41
  */
42
  private $html_builder;
43
 
53
  * A parent form.
54
  *
55
  * @since 1.0.0
56
+ * @var Wbcr_FactoryForms423_Form
57
  */
58
  protected $form;
59
 
61
  * A form layout.
62
  *
63
  * @since 1.0.0
64
+ * @var Wbcr_FactoryForms423_FormLayout
65
  */
66
  protected $layout;
67
 
94
  *
95
  * @since 1.0.0
96
  * @param mixed[] $options A holder options.
97
+ * @param Wbcr_FactoryForms423_Form $form A parent form.
98
  */
99
  public function __construct($options, $form)
100
  {
102
  $this->form = $form;
103
  $this->layout = $form->layout;
104
 
105
+ $this->html_builder = new Wbcr_FactoryForms423_HtmlAttributeBuilder();
106
 
107
  if( isset($this->options['cssClass']) ) {
108
  $this->html_builder->addCssClass($this->options['cssClass']);
libs/factory/forms/includes/form-layout.class.php CHANGED
@@ -14,12 +14,12 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_FormLayout') ) {
18
 
19
  /**
20
  * The base class for all form layouts.
21
  */
22
- abstract class Wbcr_FactoryForms420_FormLayout extends Wbcr_FactoryForms420_Holder {
23
 
24
  /**
25
  * A form layout name.
@@ -42,7 +42,7 @@
42
  *
43
  * @since 1.0.0
44
  * @param mixed[] $options A holder options.
45
- * @param Wbcr_FactoryForms420_Form $form A parent form.
46
  */
47
  public function __construct($options, $form)
48
  {
@@ -52,8 +52,8 @@
52
 
53
  parent::__construct($options, $form);
54
 
55
- $this->addCssClass('factory-forms-420-' . $this->type);
56
- $this->addCssClass('factory-forms-420-' . $this->name);
57
  }
58
 
59
  /**
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_FormLayout') ) {
18
 
19
  /**
20
  * The base class for all form layouts.
21
  */
22
+ abstract class Wbcr_FactoryForms423_FormLayout extends Wbcr_FactoryForms423_Holder {
23
 
24
  /**
25
  * A form layout name.
42
  *
43
  * @since 1.0.0
44
  * @param mixed[] $options A holder options.
45
+ * @param Wbcr_FactoryForms423_Form $form A parent form.
46
  */
47
  public function __construct($options, $form)
48
  {
52
 
53
  parent::__construct($options, $form);
54
 
55
+ $this->addCssClass('factory-forms-423-' . $this->type);
56
+ $this->addCssClass('factory-forms-423-' . $this->name);
57
  }
58
 
59
  /**
libs/factory/forms/includes/form.class.php CHANGED
@@ -15,16 +15,16 @@
15
  }
16
 
17
  // creating a license manager for each plugin created via the factory
18
- add_action('wbcr_factory_forms_420_plugin_created', 'wbcr_factory_forms_420_plugin_created');
19
 
20
- function wbcr_factory_forms_420_plugin_created($plugin)
21
  {
22
- $plugin->forms = new Wbcr_FactoryForms420_Manager($plugin);
23
  }
24
 
25
- if( !class_exists('Wbcr_FactoryForms420_Manager') ) {
26
 
27
- class Wbcr_FactoryForms420_Manager {
28
 
29
  // ----------------------------------------------------
30
  // Static fields and methods
@@ -57,7 +57,7 @@
57
  /**
58
  * Registers a set of new controls.
59
  *
60
- * @see FactoryForms420_Form::registerControl()
61
  *
62
  * @since 1.0.0
63
  * @return void
@@ -95,7 +95,7 @@
95
  /**
96
  * Registers a set of new holder controls.
97
  *
98
- * @see FactoryForms420_Form::registerHolder()
99
  *
100
  * @since 1.0.0
101
  * @return void
@@ -129,7 +129,7 @@
129
  /**
130
  * Registers a set of new custom form elements.
131
  *
132
- * @see FactoryForms420_Form::registerCustomElement()
133
  *
134
  * @since 1.0.0
135
  * @return void
@@ -180,11 +180,11 @@
180
  public static $controls_registered = false;
181
  }
182
  }
183
- if( !class_exists('Wbcr_FactoryForms420_Form') ) {
184
  /**
185
  * An abstraction for forms.
186
  */
187
- class Wbcr_FactoryForms420_Form {
188
 
189
  // ----------------------------------------------------
190
  // Object fields and methods
@@ -194,7 +194,7 @@
194
  * A value provider of the form that is used to save and load values.
195
  *
196
  * @since 1.0.0
197
- * @var Wbcr_IFactoryForms420_ValueProvider
198
  */
199
  private $provider;
200
 
@@ -245,7 +245,7 @@
245
  * A current form layout used to render a form.
246
  *
247
  * @since 1.0.0
248
- * @var Wbcr_FactoryForms420_FormLayout
249
  */
250
  public $layout;
251
 
@@ -261,20 +261,20 @@
261
  *
262
  * @since 1.0.0
263
  * @param array $options
264
- * @param Wbcr_Factory422_Plugin $plugin
265
  */
266
- public function __construct(array $options = array(), Wbcr_Factory422_Plugin $plugin)
267
  {
268
  // register controls once, when the first form is created
269
- if( !Wbcr_FactoryForms420_Manager::$controls_registered ) {
270
 
271
- do_action('wbcr_factory_forms_420_register_controls', $plugin);
272
 
273
  //if( !empty($plugin) ) {
274
- do_action('wbcr_factory_forms_420_register_controls_' . $plugin->getPluginName(), $plugin);
275
  //}
276
 
277
- Wbcr_FactoryForms420_Manager::$controls_registered = true;
278
  }
279
 
280
  $this->scope = isset($options['scope']) ? $options['scope'] : null;
@@ -289,14 +289,14 @@
289
  $this->form_layout = 'bootstrap-3';
290
  }
291
 
292
- Wbcr_FactoryForms420_Manager::$temper = 'flat';
293
  }
294
 
295
  /**
296
  * Sets a provider for the control.
297
  *
298
  * @since 1.0.0
299
- * @param Wbcr_IFactoryForms420_ValueProvider $provider
300
  * @return void
301
  */
302
  public function setProvider($provider)
@@ -332,14 +332,14 @@
332
  */
333
  public function getItems()
334
  {
335
- return apply_filters('wbcr_factory_422_form_items', $this->items, $this->name);
336
  }
337
 
338
  /**
339
  * Returns form controls (control objects).
340
  *
341
  * @since 1.0.0
342
- * @return Wbcr_FactoryForms420_Control[]
343
  */
344
  public function getControls()
345
  {
@@ -355,7 +355,7 @@
355
  * Builds a form items to the control objects ready to use.
356
  *
357
  * @param null $holder
358
- * @return Wbcr_FactoryForms420_Control[]
359
  */
360
 
361
  public function createControls($holder = null)
@@ -395,7 +395,7 @@
395
  *
396
  * @since 1.0.0
397
  * @param array $item Item data.
398
- * @return Wbcr_FactoryForms420_FormElement|null A form element.
399
  */
400
  public function createElement($item)
401
  {
@@ -417,7 +417,7 @@
417
  *
418
  * @since 1.0.0
419
  * @param mixed[] $item Data of items.
420
- * @return Wbcr_FactoryForms420_FormElement[] Created elements.
421
  */
422
  public function createElements($items = array())
423
  {
@@ -433,7 +433,7 @@
433
  *
434
  * @since 1.0.0
435
  * @param array $item Item data.
436
- * @return Wbcr_FactoryForms420_Control A control object.
437
  */
438
  public function createControl($item)
439
  {
@@ -441,7 +441,7 @@
441
 
442
  if( is_array($item) ) {
443
 
444
- $control_data = Wbcr_FactoryForms420_Manager::$registered_controls[$item['type']];
445
 
446
  require_once($control_data['include']);
447
 
@@ -465,7 +465,7 @@
465
  *
466
  * @since 1.0.0
467
  * @param array $item Item data.
468
- * @return Wbcr_FactoryForms420_Holder A control holder object.
469
  */
470
  public function createHolder($item)
471
  {
@@ -473,7 +473,7 @@
473
 
474
  if( is_array($item) ) {
475
 
476
- $holderData = Wbcr_FactoryForms420_Manager::$registered_holders[$item['type']];
477
  require_once($holderData['include']);
478
 
479
  $object = new $holderData['class']($item, $this);
@@ -491,7 +491,7 @@
491
  *
492
  * @since 1.0.0
493
  * @param mixed $item Item data.
494
- * @return Wbcr_FactoryForms420_FormElement A custom form element object.
495
  */
496
  public function createCustomElement($item)
497
  {
@@ -499,7 +499,7 @@
499
 
500
  if( is_array($item) ) {
501
 
502
- $data = Wbcr_FactoryForms420_Manager::$registered_custom_elements[$item['type']];
503
  require_once($data['include']);
504
 
505
  $options = $item;
@@ -523,12 +523,12 @@
523
  public function html($options = array())
524
  {
525
 
526
- if( !isset(Wbcr_FactoryForms420_Manager::$form_layouts[$this->form_layout]) ) {
527
  die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
528
  }
529
 
530
  // include a render code
531
- $layout_data = Wbcr_FactoryForms420_Manager::$form_layouts[$this->form_layout];
532
  require_once($layout_data['include']);
533
 
534
  $this->connectAssets();
@@ -552,7 +552,7 @@
552
  {
553
 
554
  $this->connectAssetsForItems();
555
- $layout_data = Wbcr_FactoryForms420_Manager::$form_layouts[$this->form_layout];
556
 
557
  if( $layout_data['name'] == 'default' ) {
558
  if( isset($layout_data['style']) ) {
@@ -602,9 +602,9 @@
602
 
603
  $haystack = array();
604
  if( self::isControl($type) ) {
605
- $haystack = Wbcr_FactoryForms420_Manager::$registered_controls;
606
  } elseif( self::isControlHolder($type) ) {
607
- $haystack = Wbcr_FactoryForms420_Manager::$registered_holders;
608
  }
609
 
610
  if( isset($haystack[$type]) ) {
@@ -660,7 +660,7 @@
660
  */
661
  public static function isControl($item)
662
  {
663
- return isset(Wbcr_FactoryForms420_Manager::$registered_controls[$item['type']]);
664
  }
665
 
666
  /**
@@ -672,7 +672,7 @@
672
  */
673
  public static function isControlHolder($item)
674
  {
675
- return isset(Wbcr_FactoryForms420_Manager::$registered_holders[$item['type']]);
676
  }
677
 
678
  /**
@@ -684,7 +684,7 @@
684
  */
685
  public static function isCustomElement($item)
686
  {
687
- return isset(Wbcr_FactoryForms420_Manager::$registered_custom_elements[$item['type']]);
688
  }
689
  }
690
  }
15
  }
16
 
17
  // creating a license manager for each plugin created via the factory
18
+ add_action('wbcr_factory_forms_423_plugin_created', 'wbcr_factory_forms_423_plugin_created');
19
 
20
+ function wbcr_factory_forms_423_plugin_created($plugin)
21
  {
22
+ $plugin->forms = new Wbcr_FactoryForms423_Manager($plugin);
23
  }
24
 
25
+ if( !class_exists('Wbcr_FactoryForms423_Manager') ) {
26
 
27
+ class Wbcr_FactoryForms423_Manager {
28
 
29
  // ----------------------------------------------------
30
  // Static fields and methods
57
  /**
58
  * Registers a set of new controls.
59
  *
60
+ * @see FactoryForms423_Form::registerControl()
61
  *
62
  * @since 1.0.0
63
  * @return void
95
  /**
96
  * Registers a set of new holder controls.
97
  *
98
+ * @see FactoryForms423_Form::registerHolder()
99
  *
100
  * @since 1.0.0
101
  * @return void
129
  /**
130
  * Registers a set of new custom form elements.
131
  *
132
+ * @see FactoryForms423_Form::registerCustomElement()
133
  *
134
  * @since 1.0.0
135
  * @return void
180
  public static $controls_registered = false;
181
  }
182
  }
183
+ if( !class_exists('Wbcr_FactoryForms423_Form') ) {
184
  /**
185
  * An abstraction for forms.
186
  */
187
+ class Wbcr_FactoryForms423_Form {
188
 
189
  // ----------------------------------------------------
190
  // Object fields and methods
194
  * A value provider of the form that is used to save and load values.
195
  *
196
  * @since 1.0.0
197
+ * @var Wbcr_IFactoryForms423_ValueProvider
198
  */
199
  private $provider;
200
 
245
  * A current form layout used to render a form.
246
  *
247
  * @since 1.0.0
248
+ * @var Wbcr_FactoryForms423_FormLayout
249
  */
250
  public $layout;
251
 
261
  *
262
  * @since 1.0.0
263
  * @param array $options
264
+ * @param Wbcr_Factory425_Plugin $plugin
265
  */
266
+ public function __construct(array $options = array(), Wbcr_Factory425_Plugin $plugin)
267
  {
268
  // register controls once, when the first form is created
269
+ if( !Wbcr_FactoryForms423_Manager::$controls_registered ) {
270
 
271
+ do_action('wbcr_factory_forms_423_register_controls', $plugin);
272
 
273
  //if( !empty($plugin) ) {
274
+ do_action('wbcr_factory_forms_423_register_controls_' . $plugin->getPluginName(), $plugin);
275
  //}
276
 
277
+ Wbcr_FactoryForms423_Manager::$controls_registered = true;
278
  }
279
 
280
  $this->scope = isset($options['scope']) ? $options['scope'] : null;
289
  $this->form_layout = 'bootstrap-3';
290
  }
291
 
292
+ Wbcr_FactoryForms423_Manager::$temper = 'flat';
293
  }
294
 
295
  /**
296
  * Sets a provider for the control.
297
  *
298
  * @since 1.0.0
299
+ * @param Wbcr_IFactoryForms423_ValueProvider $provider
300
  * @return void
301
  */
302
  public function setProvider($provider)
332
  */
333
  public function getItems()
334
  {
335
+ return apply_filters('wbcr_factory_425_form_items', $this->items, $this->name);
336
  }
337
 
338
  /**
339
  * Returns form controls (control objects).
340
  *
341
  * @since 1.0.0
342
+ * @return Wbcr_FactoryForms423_Control[]
343
  */
344
  public function getControls()
345
  {
355
  * Builds a form items to the control objects ready to use.
356
  *
357
  * @param null $holder
358
+ * @return Wbcr_FactoryForms423_Control[]
359
  */
360
 
361
  public function createControls($holder = null)
395
  *
396
  * @since 1.0.0
397
  * @param array $item Item data.
398
+ * @return Wbcr_FactoryForms423_FormElement|null A form element.
399
  */
400
  public function createElement($item)
401
  {
417
  *
418
  * @since 1.0.0
419
  * @param mixed[] $item Data of items.
420
+ * @return Wbcr_FactoryForms423_FormElement[] Created elements.
421
  */
422
  public function createElements($items = array())
423
  {
433
  *
434
  * @since 1.0.0
435
  * @param array $item Item data.
436
+ * @return Wbcr_FactoryForms423_Control A control object.
437
  */
438
  public function createControl($item)
439
  {
441
 
442
  if( is_array($item) ) {
443
 
444
+ $control_data = Wbcr_FactoryForms423_Manager::$registered_controls[$item['type']];
445
 
446
  require_once($control_data['include']);
447
 
465
  *
466
  * @since 1.0.0
467
  * @param array $item Item data.
468
+ * @return Wbcr_FactoryForms423_Holder A control holder object.
469
  */
470
  public function createHolder($item)
471
  {
473
 
474
  if( is_array($item) ) {
475
 
476
+ $holderData = Wbcr_FactoryForms423_Manager::$registered_holders[$item['type']];
477
  require_once($holderData['include']);
478
 
479
  $object = new $holderData['class']($item, $this);
491
  *
492
  * @since 1.0.0
493
  * @param mixed $item Item data.
494
+ * @return Wbcr_FactoryForms423_FormElement A custom form element object.
495
  */
496
  public function createCustomElement($item)
497
  {
499
 
500
  if( is_array($item) ) {
501
 
502
+ $data = Wbcr_FactoryForms423_Manager::$registered_custom_elements[$item['type']];
503
  require_once($data['include']);
504
 
505
  $options = $item;
523
  public function html($options = array())
524
  {
525
 
526
+ if( !isset(Wbcr_FactoryForms423_Manager::$form_layouts[$this->form_layout]) ) {
527
  die(sprintf('[ERROR] The form layout %s was not found.', $this->form_layout));
528
  }
529
 
530
  // include a render code
531
+ $layout_data = Wbcr_FactoryForms423_Manager::$form_layouts[$this->form_layout];
532
  require_once($layout_data['include']);
533
 
534
  $this->connectAssets();
552
  {
553
 
554
  $this->connectAssetsForItems();
555
+ $layout_data = Wbcr_FactoryForms423_Manager::$form_layouts[$this->form_layout];
556
 
557
  if( $layout_data['name'] == 'default' ) {
558
  if( isset($layout_data['style']) ) {
602
 
603
  $haystack = array();
604
  if( self::isControl($type) ) {
605
+ $haystack = Wbcr_FactoryForms423_Manager::$registered_controls;
606
  } elseif( self::isControlHolder($type) ) {
607
+ $haystack = Wbcr_FactoryForms423_Manager::$registered_holders;
608
  }
609
 
610
  if( isset($haystack[$type]) ) {
660
  */
661
  public static function isControl($item)
662
  {
663
+ return isset(Wbcr_FactoryForms423_Manager::$registered_controls[$item['type']]);
664
  }
665
 
666
  /**
672
  */
673
  public static function isControlHolder($item)
674
  {
675
+ return isset(Wbcr_FactoryForms423_Manager::$registered_holders[$item['type']]);
676
  }
677
 
678
  /**
684
  */
685
  public static function isCustomElement($item)
686
  {
687
+ return isset(Wbcr_FactoryForms423_Manager::$registered_custom_elements[$item['type']]);
688
  }
689
  }
690
  }
libs/factory/forms/includes/holder.class.php CHANGED
@@ -14,20 +14,20 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_Holder') ) {
18
 
19
  /**
20
  * The base class for control holders.
21
  *
22
  * @since 1.0.0
23
  */
24
- abstract class Wbcr_FactoryForms420_Holder extends Wbcr_FactoryForms420_FormElement {
25
 
26
  /**
27
  * Holder Elements.
28
  *
29
  * @since 1.0.0
30
- * @var Wbcr_FactoryForms420_Control[]
31
  */
32
  protected $elements = array();
33
 
@@ -44,7 +44,7 @@
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
- * @param Wbcr_FactoryForms420_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
@@ -56,7 +56,7 @@
56
  * Returns holder elements.
57
  *
58
  * @since 1.0.0
59
- * @return Wbcr_FactoryForms420_Control[].
60
  */
61
  public function getElements()
62
  {
@@ -84,7 +84,7 @@
84
  $is_first_item = false;
85
  }
86
 
87
- do_action('wbcr_factory_422_form_before_element_' . $element->getOption('name'));
88
 
89
  // if a current item is a control holder
90
  if( $element->is_holder ) {
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_Holder') ) {
18
 
19
  /**
20
  * The base class for control holders.
21
  *
22
  * @since 1.0.0
23
  */
24
+ abstract class Wbcr_FactoryForms423_Holder extends Wbcr_FactoryForms423_FormElement {
25
 
26
  /**
27
  * Holder Elements.
28
  *
29
  * @since 1.0.0
30
+ * @var Wbcr_FactoryForms423_Control[]
31
  */
32
  protected $elements = array();
33
 
44
  *
45
  * @since 1.0.0
46
  * @param mixed[] $options A holder options.
47
+ * @param Wbcr_FactoryForms423_Form $form A parent form.
48
  */
49
  public function __construct($options, $form)
50
  {
56
  * Returns holder elements.
57
  *
58
  * @since 1.0.0
59
+ * @return Wbcr_FactoryForms423_Control[].
60
  */
61
  public function getElements()
62
  {
84
  $is_first_item = false;
85
  }
86
 
87
+ do_action('wbcr_factory_425_form_before_element_' . $element->getOption('name'));
88
 
89
  // if a current item is a control holder
90
  if( $element->is_holder ) {
libs/factory/forms/includes/html-builder.class.php CHANGED
@@ -14,13 +14,13 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_HtmlAttributeBuilder') ) {
18
  /**
19
  * Html Attribute Builder
20
  *
21
  * @since 1.0.0
22
  */
23
- class Wbcr_FactoryForms420_HtmlAttributeBuilder {
24
 
25
  /**
26
  * An array to store css classes.
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_HtmlAttributeBuilder') ) {
18
  /**
19
  * Html Attribute Builder
20
  *
21
  * @since 1.0.0
22
  */
23
+ class Wbcr_FactoryForms423_HtmlAttributeBuilder {
24
 
25
  /**
26
  * An array to store css classes.
libs/factory/forms/includes/providers/meta-value-provider.class.php CHANGED
@@ -14,7 +14,7 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_OptionsValueProvider') ) {
18
 
19
  /**
20
  * Factory Meta Value Provider
@@ -24,7 +24,7 @@
24
  *
25
  * @since 1.0.0
26
  */
27
- class Wbcr_FactoryForms420_MetaValueProvider implements Wbcr_IFactoryForms420_ValueProvider {
28
 
29
 
30
  public $scope;
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_OptionsValueProvider') ) {
18
 
19
  /**
20
  * Factory Meta Value Provider
24
  *
25
  * @since 1.0.0
26
  */
27
+ class Wbcr_FactoryForms423_MetaValueProvider implements Wbcr_IFactoryForms423_ValueProvider {
28
 
29
 
30
  public $scope;
libs/factory/forms/includes/providers/options-value-provider.class.php CHANGED
@@ -13,7 +13,7 @@
13
  exit;
14
  }
15
 
16
- if( !class_exists('Wbcr_FactoryForms420_OptionsValueProvider') ) {
17
 
18
  /**
19
  * Factory Options Value Provider
@@ -22,7 +22,7 @@
22
  *
23
  * @since 1.0.0
24
  */
25
- class Wbcr_FactoryForms420_OptionsValueProvider implements Wbcr_IFactoryForms420_ValueProvider {
26
 
27
  /**
28
  * A prefix that will be added to all option names.
@@ -43,7 +43,7 @@
43
  /**
44
  * Creates a new instance of an options value provider.
45
  */
46
- public function __construct(Wbcr_Factory422_Plugin $plugin)
47
  {
48
  $this->plugin = $plugin;
49
  }
13
  exit;
14
  }
15
 
16
+ if( !class_exists('Wbcr_FactoryForms423_OptionsValueProvider') ) {
17
 
18
  /**
19
  * Factory Options Value Provider
22
  *
23
  * @since 1.0.0
24
  */
25
+ class Wbcr_FactoryForms423_OptionsValueProvider implements Wbcr_IFactoryForms423_ValueProvider {
26
 
27
  /**
28
  * A prefix that will be added to all option names.
43
  /**
44
  * Creates a new instance of an options value provider.
45
  */
46
+ public function __construct(Wbcr_Factory425_Plugin $plugin)
47
  {
48
  $this->plugin = $plugin;
49
  }
libs/factory/forms/includes/providers/value-provider.interface.php CHANGED
@@ -14,13 +14,13 @@
14
  if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
- if( !class_exists('Wbcr_IFactoryForms420_ValueProvider') ) {
18
  /**
19
  * The interface for all value provides.
20
  *
21
  * @since 1.0.0
22
  */
23
- interface Wbcr_IFactoryForms420_ValueProvider {
24
 
25
  /**
26
  * Inits a form a provider to get data from a storage.
14
  if( !defined('ABSPATH') ) {
15
  exit;
16
  }
17
+ if( !class_exists('Wbcr_IFactoryForms423_ValueProvider') ) {
18
  /**
19
  * The interface for all value provides.
20
  *
21
  * @since 1.0.0
22
  */
23
+ interface Wbcr_IFactoryForms423_ValueProvider {
24
 
25
  /**
26
  * Inits a form a provider to get data from a storage.
libs/factory/forms/langs/{wbcr_factory_forms_420-ru_RU.mo → wbcr_factory_forms_423-ru_RU.mo} RENAMED
File without changes
libs/factory/forms/langs/{wbcr_factory_forms_420-ru_RU.po → wbcr_factory_forms_423-ru_RU.po} RENAMED
File without changes
libs/factory/forms/layouts/bootstrap-3/bootstrap-3.php CHANGED
@@ -14,11 +14,11 @@
14
  exit;
15
  }
16
 
17
- if( !class_exists('Wbcr_FactoryForms420_Bootstrap3FormLayout') ) {
18
  /**
19
  * A form layout based on Twitter Bootstrap 3
20
  */
21
- class Wbcr_FactoryForms420_Bootstrap3FormLayout extends Wbcr_FactoryForms420_FormLayout {
22
 
23
  public $name = 'default';
24
 
@@ -27,7 +27,7 @@
27
  *
28
  * @since 1.0.0
29
  * @param array $options A holder options.
30
- * @param Wbcr_FactoryForms420_Form $form A parent form.
31
  */
32
  public function __construct($options, $form)
33
  {
@@ -68,7 +68,7 @@
68
  }
69
 
70
  /**
71
- * @param Wbcr_FactoryForms420_Control $control
72
  */
73
  public function beforeControl($control)
74
  {
@@ -116,7 +116,7 @@
116
  }
117
 
118
  /**
119
- * @param Wbcr_FactoryForms420_Control $control
120
  */
121
  public function afterControl($control)
122
  {
@@ -168,7 +168,7 @@
168
  }
169
 
170
  /**
171
- * @param Wbcr_FactoryForms420_Control $control
172
  * @param int $index
173
  * @param int $total
174
  */
@@ -193,7 +193,7 @@
193
  }
194
 
195
  /**
196
- * @param Wbcr_FactoryForms420_Control $control
197
  * @param int $index
198
  * @param int $total
199
  */
14
  exit;
15
  }
16
 
17
+ if( !class_exists('Wbcr_FactoryForms423_Bootstrap3FormLayout') ) {
18
  /**
19
  * A form layout based on Twitter Bootstrap 3
20
  */
21
+ class Wbcr_FactoryForms423_Bootstrap3FormLayout extends Wbcr_FactoryForms423_FormLayout {
22
 
23
  public $name = 'default';
24
 
27
  *
28
  * @since 1.0.0
29
  * @param array $options A holder options.
30
+ * @param Wbcr_FactoryForms423_Form $form A parent form.
31
  */
32
  public function __construct($options, $form)
33
  {
68
  }
69
 
70
  /**
71
+ * @param Wbcr_FactoryForms423_Control $control
72
  */
73
  public function beforeControl($control)
74
  {
116
  }
117
 
118
  /**
119
+ * @param Wbcr_FactoryForms423_Control $control
120
  */
121
  public function afterControl($control)
122
  {
168
  }
169
 
170
  /**
171
+ * @param Wbcr_FactoryForms423_Control $control
172
  * @param int $index
173
  * @param int $total
174
  */
193
  }
194
 
195
  /**
196
+ * @param Wbcr_FactoryForms423_Control $control
197
  * @param int $index
198
  * @param int $total
199
  */
libs/factory/freemius/boot.php CHANGED
@@ -14,39 +14,39 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( defined( 'FACTORY_FREEMIUS_110_LOADED' ) ) {
18
  return;
19
  }
20
 
21
- define( 'FACTORY_FREEMIUS_110_VERSION', '1.1.0' );
22
 
23
- define( 'FACTORY_FREEMIUS_110_LOADED', true );
24
- define( 'FACTORY_FREEMIUS_110_DIR', dirname( __FILE__ ) );
25
- define( 'FACTORY_FREEMIUS_110_URL', plugins_url( null, __FILE__ ) );
26
 
27
  #comp merge
28
  // Freemius
29
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-entity.php' );
30
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-scope.php' );
31
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-user.php' );
32
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-site.php' );
33
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/entities/class-freemius-license.php' );
34
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/licensing/class-freemius-provider.php' );
35
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/updates/class-freemius-repository.php' );
36
 
37
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
38
- require_once FACTORY_FREEMIUS_110_DIR . '/includes/sdk/FreemiusWordPress.php';
39
  }
40
 
41
- require_once( FACTORY_FREEMIUS_110_DIR . '/includes/class-freemius-api.php' );
42
 
43
  /**
44
- * @param Wbcr_Factory422_Plugin $plugin
45
  */
46
- add_action( 'wbcr_factory_freemius_110_plugin_created', function ( $plugin ) {
47
  # Устанавливаем класс провайдера лицензий для премиум менеджера
48
- $plugin->set_license_provider( 'freemius', 'WBCR\Factory_Freemius_110\Premium\Provider' );
49
  # Устанавливаем класс репозитория обновлений для менеджера обновлений
50
- $plugin->set_update_repository( 'freemius', 'WBCR\Factory_Freemius_110\Updates\Freemius_Repository' );
51
  } );
52
  #endcomp
14
  exit;
15
  }
16
 
17
+ if ( defined( 'FACTORY_FREEMIUS_113_LOADED' ) ) {
18
  return;
19
  }
20
 
21
+ define( 'FACTORY_FREEMIUS_113_VERSION', '1.1.3' );
22
 
23
+ define( 'FACTORY_FREEMIUS_113_LOADED', true );
24
+ define( 'FACTORY_FREEMIUS_113_DIR', dirname( __FILE__ ) );
25
+ define( 'FACTORY_FREEMIUS_113_URL', plugins_url( null, __FILE__ ) );
26
 
27
  #comp merge
28
  // Freemius
29
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/entities/class-freemius-entity.php' );
30
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/entities/class-freemius-scope.php' );
31
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/entities/class-freemius-user.php' );
32
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/entities/class-freemius-site.php' );
33
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/entities/class-freemius-license.php' );
34
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/licensing/class-freemius-provider.php' );
35
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/updates/class-freemius-repository.php' );
36
 
37
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
38
+ require_once FACTORY_FREEMIUS_113_DIR . '/includes/sdk/FreemiusWordPress.php';
39
  }
40
 
41
+ require_once( FACTORY_FREEMIUS_113_DIR . '/includes/class-freemius-api.php' );
42
 
43
  /**
44
+ * @param Wbcr_Factory425_Plugin $plugin
45
  */
46
+ add_action( 'wbcr_factory_freemius_113_plugin_created', function ( $plugin ) {
47
  # Устанавливаем класс провайдера лицензий для премиум менеджера
48
+ $plugin->set_license_provider( 'freemius', 'WBCR\Factory_Freemius_113\Premium\Provider' );
49
  # Устанавливаем класс репозитория обновлений для менеджера обновлений
50
+ $plugin->set_update_repository( 'freemius', 'WBCR\Factory_Freemius_113\Updates\Freemius_Repository' );
51
  } );
52
  #endcomp
libs/factory/freemius/includes/class-freemius-api.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110;
4
 
5
  use Freemius_Api_WordPress;
6
  use Freemius_Exception;
7
- use Wbcr_Factory422_Plugin;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
@@ -33,7 +33,7 @@ final class Api {
33
  private $api;
34
 
35
  /**
36
- * @var Wbcr_Factory422_Plugin
37
  */
38
  private $plugin;
39
 
@@ -48,14 +48,14 @@ final class Api {
48
  private static $clock_diff;
49
 
50
  /**
51
- * @param Wbcr_Factory422_Plugin $slug
52
  * @param string $scope 'app', 'developer', 'user' or 'install'.
53
  * @param number $id Element's id.
54
  * @param string $public_key Public key.
55
  * @param bool|string $secret_key Element's secret key.
56
  * @param bool $is_sandbox
57
  */
58
- private function __construct( Wbcr_Factory422_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
59
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
60
  require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
61
  }
@@ -73,7 +73,7 @@ final class Api {
73
  }
74
 
75
  /**
76
- * @param Wbcr_Factory422_Plugin $plugin
77
  * @param string $scope 'app', 'developer', 'user' or 'install'.
78
  * @param number $id Element's id.
79
  * @param string $public_key Public key.
@@ -82,7 +82,7 @@ final class Api {
82
  *
83
  * @return Api
84
  */
85
- public static function instance( Wbcr_Factory422_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
86
  $identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
87
 
88
  if ( ! isset( self::$instances[ $identifier ] ) ) {
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113;
4
 
5
  use Freemius_Api_WordPress;
6
  use Freemius_Exception;
7
+ use Wbcr_Factory425_Plugin;
8
 
9
  if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
33
  private $api;
34
 
35
  /**
36
+ * @var Wbcr_Factory425_Plugin
37
  */
38
  private $plugin;
39
 
48
  private static $clock_diff;
49
 
50
  /**
51
+ * @param Wbcr_Factory425_Plugin $slug
52
  * @param string $scope 'app', 'developer', 'user' or 'install'.
53
  * @param number $id Element's id.
54
  * @param string $public_key Public key.
55
  * @param bool|string $secret_key Element's secret key.
56
  * @param bool $is_sandbox
57
  */
58
+ private function __construct( Wbcr_Factory425_Plugin $plugin, $scope, $id, $public_key, $secret_key, $is_sandbox ) {
59
  if ( ! class_exists( 'Freemius_Api_WordPress' ) ) {
60
  require_once WP_FS__DIR_SDK . '/FreemiusWordPress.php';
61
  }
73
  }
74
 
75
  /**
76
+ * @param Wbcr_Factory425_Plugin $plugin
77
  * @param string $scope 'app', 'developer', 'user' or 'install'.
78
  * @param number $id Element's id.
79
  * @param string $public_key Public key.
82
  *
83
  * @return Api
84
  */
85
+ public static function instance( Wbcr_Factory425_Plugin $plugin, $scope, $id, $public_key, $is_sandbox, $secret_key = false ) {
86
  $identifier = md5( $plugin->getPluginName() . $scope . $id . $public_key . ( is_string( $secret_key ) ? $secret_key : '' ) . json_encode( $is_sandbox ) );
87
 
88
  if ( ! isset( self::$instances[ $identifier ] ) ) {
libs/factory/freemius/includes/entities/class-freemius-entity.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-license.php CHANGED
@@ -1,369 +1,376 @@
1
  <?php
2
-
3
- namespace WBCR\Factory_Freemius_110\Entities;
4
-
5
- use stdClass;
6
-
7
- if ( ! defined( 'ABSPATH' ) ) {
8
- exit;
9
- }
10
-
11
- /**
12
- * @author Webcraftic <wordpress.webraftic@gmail.com>, Alex Kovalev <alex.kovalevv@gmail.com>
13
- * @link https://webcraftic.com
14
- * @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
15
- * @version 1.0
16
- */
17
- class License extends Entity implements \WBCR\Factory_422\Premium\Interfaces\License {
18
-
19
- /**
20
- * @var number
21
- */
22
- public $plugin_id;
23
-
24
- /**
25
- * @var number
26
- */
27
- public $user_id;
28
-
29
- /**
30
- * @var number
31
- */
32
- public $plan_id;
33
-
34
- /**
35
- * @var
36
- */
37
- public $plan_title;
38
-
39
- /**
40
- * @var
41
- */
42
- public $billing_cycle;
43
-
44
- /**
45
- * @var number
46
- */
47
- public $pricing_id;
48
-
49
- /**
50
- * @var int|null
51
- */
52
- public $quota;
53
-
54
- /**
55
- * @var int
56
- */
57
- public $activated;
58
-
59
- /**
60
- * @var int
61
- */
62
- public $activated_local;
63
-
64
- /**
65
- * @var string
66
- */
67
- public $expiration;
68
-
69
- /**
70
- * @var string
71
- */
72
- public $secret_key;
73
-
74
- /**
75
- * @var bool $is_free_localhost Defaults to true. If true, allow unlimited localhost installs with the same
76
- * license.
77
- */
78
- public $is_free_localhost;
79
-
80
- /**
81
- * @var bool $is_block_features Defaults to true. If false, don't block features after license expiry - only
82
- * block updates and support.
83
- */
84
- public $is_block_features;
85
-
86
- /**
87
- * @var bool
88
- */
89
- public $is_cancelled;
90
-
91
- /**
92
- * @param stdClass|bool $license
93
- */
94
- public function __construct( $license = false ) {
95
- parent::__construct( $license );
96
- }
97
-
98
- /**
99
- * Get entity type.
100
- *
101
- * @return string
102
- */
103
- public static function get_type() {
104
- return 'license';
105
- }
106
-
107
- /**
108
- * Example: #sk_f=>}-5vuHp$3*wPQHxd(AD3<);1&i
109
- *
110
- * @return string|null
111
- */
112
- public function get_key() {
113
- return $this->secret_key;
114
- }
115
-
116
- /**
117
- * Example: #sk_f=>}-5vuHp$3******d(AD3<);1&i
118
- *
119
- * @return mixed
120
- */
121
- public function get_hidden_key() {
122
- return substr_replace( $this->get_key(), '******', 15, 6 );
123
  }
124
-
125
  /**
126
- * @return string|null
 
 
 
127
  */
128
- public function get_plan() {
129
- return $this->plan_title;
130
- }
131
-
132
- /**
133
- * @return mixed
134
- */
135
- public function get_billing_cycle() {
136
- return $this->billing_cycle;
137
- }
138
-
139
- /**
140
- * @return int
141
- */
142
- public function get_sites_quota() {
143
- return $this->quota;
144
- }
145
-
146
- /**
147
- * @return int
148
- */
149
- public function get_count_active_sites() {
150
- return $this->activated;
151
- }
152
-
153
- /**
154
- * Check how many site activations left.
155
- *
156
- * @author Vova Feldman (@svovaf)
157
- * @since 1.0.5
158
- *
159
- * @return int
160
- */
161
- public function get_site_activations_left() {
162
- if ( ! $this->is_active() || $this->is_expired() ) {
163
- return 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  }
165
-
166
- if ( $this->is_unlimited() ) {
167
- return 999;
 
 
 
 
 
168
  }
169
-
170
- return ( $this->quota - $this->activated - ( $this->is_free_localhost ? 0 : $this->activated_local ) );
171
- }
172
-
173
- /**
174
- * @param string $format Return time in formats (time|days|date)
175
- *
176
- * @return float|int|string
177
- */
178
- public function get_expiration_time( $format = 'time' ) {
179
- if ( $format == 'days' ) {
180
- if ( $this->is_lifetime() ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
  return 999;
182
  }
183
-
184
- $remaining = strtotime( $this->expiration ) - date( 'U' );
185
- $days_remaining = floor( $remaining / 86400 );
186
-
187
- return $days_remaining;
188
- } else if ( $format == 'date' ) {
189
- return date( 'Y-m-d', strtotime( $this->expiration ) );
190
  }
191
-
192
- return $this->expiration;
193
- }
194
-
195
- /**
196
- * @param $actual_license_data
197
- */
198
- /*public function sync( $actual_license_data ) {
199
- $props = get_object_vars( $this );
200
 
201
- foreach ( $props as $key => $def_value ) {
202
- $this->{$key} = isset( $actual_license_data->{$key} ) ? $actual_license_data->{$key} : $def_value;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
203
  }
204
- if ( isset( $actual_license_data->expiration ) and is_null( $actual_license_data->expiration ) ) {
205
- $this->expiration = null;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  }
207
- }*/
208
-
209
- /**
210
- * Check if single site license.
211
- *
212
- * @author Vova Feldman (@svovaf)
213
- * @since 1.1.8.1
214
- *
215
- * @return bool
216
- */
217
- public function is_single_site() {
218
- return ( is_numeric( $this->quota ) && 1 == $this->quota );
219
- }
220
-
221
- /**
222
- * @author Vova Feldman (@svovaf)
223
- * @since 1.0.5
224
- *
225
- * @return bool
226
- */
227
- public function is_expired() {
228
- return ! $this->is_lifetime() && ( strtotime( $this->expiration ) < date( 'U' ) );
229
- }
230
-
231
- /**
232
- * Check if license is not expired.
233
- *
234
- * @author Vova Feldman (@svovaf)
235
- * @since 1.2.1
236
- *
237
- * @return bool
238
- */
239
- public function is_valid() {
240
- return ! $this->is_expired();
241
- }
242
-
243
- /**
244
- * @author Vova Feldman (@svovaf)
245
- * @since 1.0.6
246
- *
247
- * @return bool
248
- */
249
- public function is_lifetime() {
250
- return is_null( $this->expiration );
251
- }
252
-
253
- /**
254
- * @author Vova Feldman (@svovaf)
255
- * @since 1.2.0
256
- *
257
- * @return bool
258
- */
259
- public function is_unlimited() {
260
- return is_null( $this->quota );
261
- }
262
-
263
- /**
264
- * Check if license is fully utilized.
265
- *
266
- * @author Vova Feldman (@svovaf)
267
- * @since 1.0.6
268
- *
269
- * @param bool|null $is_localhost
270
- *
271
- * @return bool
272
- */
273
- public function is_utilized( $is_localhost = null ) {
274
- if ( is_null( $is_localhost ) ) {
275
- $is_localhost = false; // была WP_FS__IS_LOCALHOST_FOR_SERVER
276
  }
277
-
278
- if ( $this->is_unlimited() ) {
279
- return false;
 
 
 
 
 
 
 
 
280
  }
281
-
282
- return ! ( $this->is_free_localhost && $is_localhost ) && ( $this->quota <= $this->activated + ( $this->is_free_localhost ? 0 : $this->activated_local ) );
283
- }
284
-
285
- /**
286
- * Check if license can be activated.
287
- *
288
- * @author Vova Feldman (@svovaf)
289
- * @since 2.0.0
290
- *
291
- * @param bool|null $is_localhost
292
- *
293
- * @return bool
294
- */
295
- public function can_activate( $is_localhost = null ) {
296
- return ! $this->is_utilized( $is_localhost ) && $this->is_features_enabled();
297
- }
298
-
299
- /**
300
- * Check if license can be activated on a given number of production and localhost sites.
301
- *
302
- * @author Vova Feldman (@svovaf)
303
- * @since 2.0.0
304
- *
305
- * @param int $production_count
306
- * @param int $localhost_count
307
- *
308
- * @return bool
309
- */
310
- //public function can_activate_bulk( $production_count, $localhost_count ) {
311
- //if ( $this->is_unlimited() ) {
312
- //return true;
313
- //}
314
-
315
- /**
316
- * For simplicity, the logic will work as following: when given X sites to activate the license on, if it's
317
- * possible to activate on ALL of them, do the activation. If it's not possible to activate on ALL of them,
318
- * do NOT activate on any of them.
319
- */
320
- //return ( $this->quota >= $this->activated + $production_count + ( $this->is_free_localhost ? 0 : $this->activated_local + $localhost_count ) );
321
- //}
322
-
323
- /**
324
- * @author Vova Feldman (@svovaf)
325
- * @since 1.2.1
326
- *
327
- * @return bool
328
- */
329
- public function is_active() {
330
- return ( ! $this->is_cancelled );
331
- }
332
-
333
- /**
334
- * Check if license's plan features are enabled.
335
- *
336
- * - Either if plan not expired
337
- * - If expired, based on the configuration to block features or not.
338
- *
339
- * @author Vova Feldman (@svovaf)
340
- * @since 1.0.6
341
- *
342
- * @return bool
343
- */
344
- public function is_features_enabled() {
345
- return $this->is_active() && ( ! $this->is_block_features || ! $this->is_expired() );
346
- }
347
-
348
- /**
349
- * Subscription considered to be new without any payments
350
- * if the license expires in less than 24 hours
351
- * from the license creation.
352
- *
353
- * @author Vova Feldman (@svovaf)
354
- * @since 1.0.9
355
- *
356
- * @return bool
357
- */
358
- public function is_first_payment_pending() {
359
- return ( 86400 >= strtotime( $this->expiration ) - strtotime( $this->created ) );
360
- }
361
-
362
- /**
363
- * @return int
364
- */
365
- public function total_activations() {
366
- return ( $this->activated + $this->activated_local );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  }
368
-
369
- }
1
  <?php
2
+
3
+ namespace WBCR\Factory_Freemius_113\Entities;
4
+
5
+ use stdClass;
6
+
7
+ if ( ! defined( 'ABSPATH' ) ) {
8
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  }
10
+
11
  /**
12
+ * @author Webcraftic <wordpress.webraftic@gmail.com>, Alex Kovalev <alex.kovalevv@gmail.com>
13
+ * @link https://webcraftic.com
14
+ * @copyright (c) 2018 Webraftic Ltd, Freemius, Inc.
15
+ * @version 1.0
16
  */
17
+ class License extends Entity implements \WBCR\Factory_425\Premium\Interfaces\License {
18
+
19
+ /**
20
+ * @var number
21
+ */
22
+ public $plugin_id;
23
+
24
+ /**
25
+ * @var number
26
+ */
27
+ public $user_id;
28
+
29
+ /**
30
+ * @var number
31
+ */
32
+ public $plan_id;
33
+
34
+ /**
35
+ * @var
36
+ */
37
+ public $plan_title;
38
+
39
+ /**
40
+ * @var
41
+ */
42
+ public $billing_cycle;
43
+
44
+ /**
45
+ * @var number
46
+ */
47
+ public $pricing_id;
48
+
49
+ /**
50
+ * @var int|null
51
+ */
52
+ public $quota;
53
+
54
+ /**
55
+ * @var int
56
+ */
57
+ public $activated;
58
+
59
+ /**
60
+ * @var int
61
+ */
62
+ public $activated_local;
63
+
64
+ /**
65
+ * @var string
66
+ */
67
+ public $expiration;
68
+
69
+ /**
70
+ * @var string
71
+ */
72
+ public $secret_key;
73
+
74
+ /**
75
+ * @var bool $is_free_localhost Defaults to true. If true, allow unlimited localhost installs with the same
76
+ * license.
77
+ */
78
+ public $is_free_localhost;
79
+
80
+ /**
81
+ * @var bool $is_block_features Defaults to true. If false, don't block features after license expiry - only
82
+ * block updates and support.
83
+ */
84
+ public $is_block_features;
85
+
86
+ /**
87
+ * @var bool
88
+ */
89
+ public $is_cancelled;
90
+
91
+ /**
92
+ * @param stdClass|bool $license
93
+ */
94
+ public function __construct( $license = false ) {
95
+ parent::__construct( $license );
96
  }
97
+
98
+ /**
99
+ * Get entity type.
100
+ *
101
+ * @return string
102
+ */
103
+ public static function get_type() {
104
+ return 'license';
105
  }
106
+
107
+ /**
108
+ * Example: #sk_f=>}-5vuHp$3*wPQHxd(AD3<);1&i
109
+ *
110
+ * @return string|null
111
+ */
112
+ public function get_key() {
113
+ return $this->secret_key;
114
+ }
115
+
116
+ /**
117
+ * Example: #sk_f=>}-5vuHp$3******d(AD3<);1&i
118
+ *
119
+ * @return mixed
120
+ */
121
+ public function get_hidden_key() {
122
+ return substr_replace( $this->get_key(), '******', 15, 6 );
123
+ }
124
+
125
+ /**
126
+ * @return string|null
127
+ */
128
+ public function get_plan() {
129
+ return $this->plan_title;
130
+ }
131
+
132
+ /**
133
+ * @return integer|null
134
+ */
135
+ public function get_plan_id() {
136
+ return $this->plan_id;
137
+ }
138
+
139
+ /**
140
+ * @return mixed
141
+ */
142
+ public function get_billing_cycle() {
143
+ return $this->billing_cycle;
144
+ }
145
+
146
+ /**
147
+ * @return int
148
+ */
149
+ public function get_sites_quota() {
150
+ return $this->quota;
151
+ }
152
+
153
+ /**
154
+ * @return int
155
+ */
156
+ public function get_count_active_sites() {
157
+ return $this->activated;
158
+ }
159
+
160
+ /**
161
+ * Check how many site activations left.
162
+ *
163
+ * @return int
164
+ * @since 1.0.5
165
+ *
166
+ * @author Vova Feldman (@svovaf)
167
+ */
168
+ public function get_site_activations_left() {
169
+ if ( ! $this->is_active() || $this->is_expired() ) {
170
+ return 0;
171
+ }
172
+
173
+ if ( $this->is_unlimited() ) {
174
  return 999;
175
  }
176
+
177
+ return ( $this->quota - $this->activated - ( $this->is_free_localhost ? 0 : $this->activated_local ) );
 
 
 
 
 
178
  }
 
 
 
 
 
 
 
 
 
179
 
180
+ /**
181
+ * @param string $format Return time in formats (time|days|date)
182
+ *
183
+ * @return float|int|string
184
+ */
185
+ public function get_expiration_time( $format = 'time' ) {
186
+ if ( $format == 'days' ) {
187
+ if ( $this->is_lifetime() ) {
188
+ return 999;
189
+ }
190
+
191
+ $remaining = strtotime( $this->expiration ) - date( 'U' );
192
+ $days_remaining = floor( $remaining / 86400 );
193
+
194
+ return $days_remaining;
195
+ } else if ( $format == 'date' ) {
196
+ return date( 'Y-m-d', strtotime( $this->expiration ) );
197
+ }
198
+
199
+ return $this->expiration;
200
  }
201
+
202
+ /**
203
+ * @param $actual_license_data
204
+ */
205
+ /*public function sync( $actual_license_data ) {
206
+ $props = get_object_vars( $this );
207
+
208
+ foreach ( $props as $key => $def_value ) {
209
+ $this->{$key} = isset( $actual_license_data->{$key} ) ? $actual_license_data->{$key} : $def_value;
210
+ }
211
+ if ( isset( $actual_license_data->expiration ) and is_null( $actual_license_data->expiration ) ) {
212
+ $this->expiration = null;
213
+ }
214
+ }*/
215
+
216
+ /**
217
+ * Check if single site license.
218
+ *
219
+ * @return bool
220
+ * @since 1.1.8.1
221
+ *
222
+ * @author Vova Feldman (@svovaf)
223
+ */
224
+ public function is_single_site() {
225
+ return ( is_numeric( $this->quota ) && 1 == $this->quota );
226
  }
227
+
228
+ /**
229
+ * @return bool
230
+ * @since 1.0.5
231
+ *
232
+ * @author Vova Feldman (@svovaf)
233
+ */
234
+ public function is_expired() {
235
+ return ! $this->is_lifetime() && ( strtotime( $this->expiration ) < date( 'U' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
236
  }
237
+
238
+ /**
239
+ * Check if license is not expired.
240
+ *
241
+ * @return bool
242
+ * @since 1.2.1
243
+ *
244
+ * @author Vova Feldman (@svovaf)
245
+ */
246
+ public function is_valid() {
247
+ return ! $this->is_expired();
248
  }
249
+
250
+ /**
251
+ * @return bool
252
+ * @since 1.0.6
253
+ *
254
+ * @author Vova Feldman (@svovaf)
255
+ */
256
+ public function is_lifetime() {
257
+ return is_null( $this->expiration );
258
+ }
259
+
260
+ /**
261
+ * @return bool
262
+ * @since 1.2.0
263
+ *
264
+ * @author Vova Feldman (@svovaf)
265
+ */
266
+ public function is_unlimited() {
267
+ return is_null( $this->quota );
268
+ }
269
+
270
+ /**
271
+ * Check if license is fully utilized.
272
+ *
273
+ * @param bool|null $is_localhost
274
+ *
275
+ * @return bool
276
+ * @author Vova Feldman (@svovaf)
277
+ * @since 1.0.6
278
+ *
279
+ */
280
+ public function is_utilized( $is_localhost = null ) {
281
+ if ( is_null( $is_localhost ) ) {
282
+ $is_localhost = false; // была WP_FS__IS_LOCALHOST_FOR_SERVER
283
+ }
284
+
285
+ if ( $this->is_unlimited() ) {
286
+ return false;
287
+ }
288
+
289
+ return ! ( $this->is_free_localhost && $is_localhost ) && ( $this->quota <= $this->activated + ( $this->is_free_localhost ? 0 : $this->activated_local ) );
290
+ }
291
+
292
+ /**
293
+ * Check if license can be activated.
294
+ *
295
+ * @param bool|null $is_localhost
296
+ *
297
+ * @return bool
298
+ * @author Vova Feldman (@svovaf)
299
+ * @since 2.0.0
300
+ *
301
+ */
302
+ public function can_activate( $is_localhost = null ) {
303
+ return ! $this->is_utilized( $is_localhost ) && $this->is_features_enabled();
304
+ }
305
+
306
+ /**
307
+ * Check if license can be activated on a given number of production and localhost sites.
308
+ *
309
+ * @param int $production_count
310
+ * @param int $localhost_count
311
+ *
312
+ * @return bool
313
+ * @since 2.0.0
314
+ *
315
+ * @author Vova Feldman (@svovaf)
316
+ */
317
+ //public function can_activate_bulk( $production_count, $localhost_count ) {
318
+ //if ( $this->is_unlimited() ) {
319
+ //return true;
320
+ //}
321
+
322
+ /**
323
+ * For simplicity, the logic will work as following: when given X sites to activate the license on, if it's
324
+ * possible to activate on ALL of them, do the activation. If it's not possible to activate on ALL of them,
325
+ * do NOT activate on any of them.
326
+ */
327
+ //return ( $this->quota >= $this->activated + $production_count + ( $this->is_free_localhost ? 0 : $this->activated_local + $localhost_count ) );
328
+ //}
329
+
330
+ /**
331
+ * @return bool
332
+ * @since 1.2.1
333
+ *
334
+ * @author Vova Feldman (@svovaf)
335
+ */
336
+ public function is_active() {
337
+ return ( ! $this->is_cancelled );
338
+ }
339
+
340
+ /**
341
+ * Check if license's plan features are enabled.
342
+ *
343
+ * - Either if plan not expired
344
+ * - If expired, based on the configuration to block features or not.
345
+ *
346
+ * @return bool
347
+ * @since 1.0.6
348
+ *
349
+ * @author Vova Feldman (@svovaf)
350
+ */
351
+ public function is_features_enabled() {
352
+ return $this->is_active() && ( ! $this->is_block_features || ! $this->is_expired() );
353
+ }
354
+
355
+ /**
356
+ * Subscription considered to be new without any payments
357
+ * if the license expires in less than 24 hours
358
+ * from the license creation.
359
+ *
360
+ * @return bool
361
+ * @since 1.0.9
362
+ *
363
+ * @author Vova Feldman (@svovaf)
364
+ */
365
+ public function is_first_payment_pending() {
366
+ return ( 86400 >= strtotime( $this->expiration ) - strtotime( $this->created ) );
367
+ }
368
+
369
+ /**
370
+ * @return int
371
+ */
372
+ public function total_activations() {
373
+ return ( $this->activated + $this->activated_local );
374
+ }
375
+
376
  }
 
 
libs/factory/freemius/includes/entities/class-freemius-plugin.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-scope.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-site.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Entities;
4
 
5
  use stdClass;
6
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Entities;
4
 
5
  use stdClass;
6
 
libs/factory/freemius/includes/entities/class-freemius-user.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Entities;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) {
6
  exit;
libs/factory/freemius/includes/licensing/class-freemius-provider.php CHANGED
@@ -1,14 +1,14 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Premium;
4
-
5
- use WBCR\Factory_Freemius_110\Entities\License;
6
- use WBCR\Factory_Freemius_110\Entities\Plugin;
7
- use WBCR\Factory_Freemius_110\Entities\Site;
8
- use WBCR\Factory_Freemius_110\Entities\User;
9
- use WBCR\Factory_422\Premium\Provider as License_Provider;
10
- use Wbcr_Factory422_Plugin;
11
- use WBCR\Factory_Freemius_110\Api;
12
  use WP_Error;
13
  use Exception;
14
 
@@ -40,17 +40,17 @@ final class Provider extends License_Provider {
40
  private $slug;
41
 
42
  /**
43
- * @var \WBCR\Factory_Freemius_110\Api
44
  */
45
  private $site_api;
46
 
47
  /**
48
- * @var \WBCR\Factory_Freemius_110\Api
49
  */
50
  private $plugin_api;
51
 
52
  /**
53
- * @var \WBCR\Factory_Freemius_110\Api
54
  */
55
  private $user_api;
56
 
@@ -82,11 +82,11 @@ final class Provider extends License_Provider {
82
  /**
83
  * Manager constructor.
84
  *
85
- * @param Wbcr_Factory422_Plugin $plugin
86
  *
87
  * @throws Exception
88
  */
89
- public function __construct( Wbcr_Factory422_Plugin $plugin, array $settings ) {
90
  parent::__construct( $plugin, $settings );
91
 
92
  $this->plugin_id = $this->get_setting( 'plugin_id', null );
@@ -145,7 +145,7 @@ final class Provider extends License_Provider {
145
  }
146
 
147
  /**
148
- * @return \WBCR\Factory_Freemius_110\Entities\License|null
149
  * @throws Exception
150
  */
151
  public function get_license() {
@@ -589,7 +589,7 @@ final class Provider extends License_Provider {
589
  /**
590
  * @param bool $flush
591
  *
592
- * @return \WBCR\Factory_Freemius_110\Api
593
  * @throws Exception
594
  */
595
  private function get_api_user_scope( User $user, $flush = false ) {
@@ -603,7 +603,7 @@ final class Provider extends License_Provider {
603
  /**
604
  * @param bool $flush
605
  *
606
- * @return \WBCR\Factory_Freemius_110\Api
607
  * @throws Exception
608
  */
609
  private function get_api_site_scope( Site $site, $flush = false ) {
@@ -617,7 +617,7 @@ final class Provider extends License_Provider {
617
  /**
618
  * Get plugin public API scope.
619
  *
620
- * @return \WBCR\Factory_Freemius_110\Api
621
  * @throws Exception
622
  */
623
  private function get_api_plugin_scope() {
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Premium;
4
+
5
+ use WBCR\Factory_Freemius_113\Entities\License;
6
+ use WBCR\Factory_Freemius_113\Entities\Plugin;
7
+ use WBCR\Factory_Freemius_113\Entities\Site;
8
+ use WBCR\Factory_Freemius_113\Entities\User;
9
+ use WBCR\Factory_425\Premium\Provider as License_Provider;
10
+ use Wbcr_Factory425_Plugin;
11
+ use WBCR\Factory_Freemius_113\Api;
12
  use WP_Error;
13
  use Exception;
14
 
40
  private $slug;
41
 
42
  /**
43
+ * @var \WBCR\Factory_Freemius_113\Api
44
  */
45
  private $site_api;
46
 
47
  /**
48
+ * @var \WBCR\Factory_Freemius_113\Api
49
  */
50
  private $plugin_api;
51
 
52
  /**
53
+ * @var \WBCR\Factory_Freemius_113\Api
54
  */
55
  private $user_api;
56
 
82
  /**
83
  * Manager constructor.
84
  *
85
+ * @param Wbcr_Factory425_Plugin $plugin
86
  *
87
  * @throws Exception
88
  */
89
+ public function __construct( Wbcr_Factory425_Plugin $plugin, array $settings ) {
90
  parent::__construct( $plugin, $settings );
91
 
92
  $this->plugin_id = $this->get_setting( 'plugin_id', null );
145
  }
146
 
147
  /**
148
+ * @return \WBCR\Factory_Freemius_113\Entities\License|null
149
  * @throws Exception
150
  */
151
  public function get_license() {
589
  /**
590
  * @param bool $flush
591
  *
592
+ * @return \WBCR\Factory_Freemius_113\Api
593
  * @throws Exception
594
  */
595
  private function get_api_user_scope( User $user, $flush = false ) {
603
  /**
604
  * @param bool $flush
605
  *
606
+ * @return \WBCR\Factory_Freemius_113\Api
607
  * @throws Exception
608
  */
609
  private function get_api_site_scope( Site $site, $flush = false ) {
617
  /**
618
  * Get plugin public API scope.
619
  *
620
+ * @return \WBCR\Factory_Freemius_113\Api
621
  * @throws Exception
622
  */
623
  private function get_api_plugin_scope() {
libs/factory/freemius/includes/updates/class-freemius-repository.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
 
3
- namespace WBCR\Factory_Freemius_110\Updates;
4
 
5
  // Exit if accessed directly
6
  use Exception;
7
- use Wbcr_Factory422_Plugin;
8
- use WBCR\Factory_422\Updates\Repository;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
@@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) {
20
  class Freemius_Repository extends Repository {
21
 
22
  /**
23
- * @var \WBCR\Factory_Freemius_110\Premium\Provider
24
  */
25
  private $premium;
26
 
@@ -28,11 +28,11 @@ class Freemius_Repository extends Repository {
28
  * Freemius constructor.
29
  * @since 4.0.0
30
  *
31
- * @param Wbcr_Factory422_Plugin $plugin
32
  *
33
  * @throws Exception
34
  */
35
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
36
  $this->plugin = $plugin;
37
  $this->premium = $this->plugin->premium;
38
  }
@@ -41,7 +41,7 @@ class Freemius_Repository extends Repository {
41
  * @throws Exception
42
  */
43
  public function init() {
44
- if ( ! $this->premium instanceof \WBCR\Factory_Freemius_110\Premium\Provider ) {
45
  throw new Exception( "This repository type requires Freemius premium provider." );
46
  }
47
 
1
  <?php
2
 
3
+ namespace WBCR\Factory_Freemius_113\Updates;
4
 
5
  // Exit if accessed directly
6
  use Exception;
7
+ use Wbcr_Factory425_Plugin;
8
+ use WBCR\Factory_425\Updates\Repository;
9
 
10
  if ( ! defined( 'ABSPATH' ) ) {
11
  exit;
20
  class Freemius_Repository extends Repository {
21
 
22
  /**
23
+ * @var \WBCR\Factory_Freemius_113\Premium\Provider
24
  */
25
  private $premium;
26
 
28
  * Freemius constructor.
29
  * @since 4.0.0
30
  *
31
+ * @param Wbcr_Factory425_Plugin $plugin
32
  *
33
  * @throws Exception
34
  */
35
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
36
  $this->plugin = $plugin;
37
  $this->premium = $this->plugin->premium;
38
  }
41
  * @throws Exception
42
  */
43
  public function init() {
44
+ if ( ! $this->premium instanceof \WBCR\Factory_Freemius_113\Premium\Provider ) {
45
  throw new Exception( "This repository type requires Freemius premium provider." );
46
  }
47
 
libs/factory/pages/boot.php CHANGED
@@ -19,25 +19,25 @@ if ( ! is_admin() ) {
19
  return;
20
  }
21
 
22
- if ( defined( 'FACTORY_PAGES_422_LOADED' ) ) {
23
  return;
24
  }
25
 
26
- define( 'FACTORY_PAGES_422_LOADED', true );
27
 
28
- define( 'FACTORY_PAGES_422_VERSION', '4.2.2' );
29
 
30
- define( 'FACTORY_PAGES_422_DIR', dirname( __FILE__ ) );
31
- define( 'FACTORY_PAGES_422_URL', plugins_url( null, __FILE__ ) );
32
 
33
  if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
34
  define( 'FACTORY_FLAT_ADMIN', true );
35
  }
36
 
37
- load_plugin_textdomain( 'wbcr_factory_pages_422', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
38
 
39
- require( FACTORY_PAGES_422_DIR . '/pages.php' );
40
- require( FACTORY_PAGES_422_DIR . '/includes/page.class.php' );
41
- require( FACTORY_PAGES_422_DIR . '/includes/admin-page.class.php' );
42
- require( FACTORY_PAGES_422_DIR . '/templates/impressive-page.class.php' );
43
 
19
  return;
20
  }
21
 
22
+ if ( defined( 'FACTORY_PAGES_425_LOADED' ) ) {
23
  return;
24
  }
25
 
26
+ define( 'FACTORY_PAGES_425_LOADED', true );
27
 
28
+ define( 'FACTORY_PAGES_425_VERSION', '4.2.5' );
29
 
30
+ define( 'FACTORY_PAGES_425_DIR', dirname( __FILE__ ) );
31
+ define( 'FACTORY_PAGES_425_URL', plugins_url( null, __FILE__ ) );
32
 
33
  if ( ! defined( 'FACTORY_FLAT_ADMIN' ) ) {
34
  define( 'FACTORY_FLAT_ADMIN', true );
35
  }
36
 
37
+ load_plugin_textdomain( 'wbcr_factory_pages_425', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
38
 
39
+ require( FACTORY_PAGES_425_DIR . '/pages.php' );
40
+ require( FACTORY_PAGES_425_DIR . '/includes/page.class.php' );
41
+ require( FACTORY_PAGES_425_DIR . '/includes/admin-page.class.php' );
42
+ require( FACTORY_PAGES_425_DIR . '/templates/impressive-page.class.php' );
43
 
libs/factory/pages/includes/admin-page.class.php CHANGED
@@ -14,9 +14,9 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( ! class_exists( 'Wbcr_FactoryPages422_AdminPage' ) ) {
18
 
19
- class Wbcr_FactoryPages422_AdminPage extends Wbcr_FactoryPages422_Page {
20
 
21
  /**
22
  * Visible page title.
@@ -209,7 +209,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_AdminPage' ) ) {
209
  */
210
  public $add_link_to_plugin_actions = false;
211
 
212
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
213
  parent::__construct( $plugin );
214
  $this->configure();
215
 
@@ -316,13 +316,13 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_AdminPage' ) ) {
316
  public function connect() {
317
  $result_id = $this->getResultId();
318
 
319
- $this->hidden = apply_filters( 'wbcr_factory_422_page_is_hidden_' . $result_id, $this->hidden );
320
 
321
  if ( $this->hidden ) {
322
  return;
323
  }
324
 
325
- $this->internal = apply_filters( 'wbcr_factory_422_page_is_internal_' . $result_id, $this->internal );
326
 
327
  if ( $this->internal ) {
328
  $this->menu_target = null;
@@ -361,7 +361,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_AdminPage' ) ) {
361
  $this->assets( $this->scripts, $this->styles );
362
 
363
  if ( ! $this->scripts->isEmpty( 'bootstrap' ) || ! $this->styles->isEmpty( 'bootstrap' ) ) {
364
- add_action( 'wbcr_factory_422_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
365
  $this,
366
  'actionAdminBootstrapScripts'
367
  ] );
14
  exit;
15
  }
16
 
17
+ if ( ! class_exists( 'Wbcr_FactoryPages425_AdminPage' ) ) {
18
 
19
+ class Wbcr_FactoryPages425_AdminPage extends Wbcr_FactoryPages425_Page {
20
 
21
  /**
22
  * Visible page title.
209
  */
210
  public $add_link_to_plugin_actions = false;
211
 
212
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
213
  parent::__construct( $plugin );
214
  $this->configure();
215
 
316
  public function connect() {
317
  $result_id = $this->getResultId();
318
 
319
+ $this->hidden = apply_filters( 'wbcr_factory_425_page_is_hidden_' . $result_id, $this->hidden );
320
 
321
  if ( $this->hidden ) {
322
  return;
323
  }
324
 
325
+ $this->internal = apply_filters( 'wbcr_factory_425_page_is_internal_' . $result_id, $this->internal );
326
 
327
  if ( $this->internal ) {
328
  $this->menu_target = null;
361
  $this->assets( $this->scripts, $this->styles );
362
 
363
  if ( ! $this->scripts->isEmpty( 'bootstrap' ) || ! $this->styles->isEmpty( 'bootstrap' ) ) {
364
+ add_action( 'wbcr_factory_425_bootstrap_enqueue_scripts_' . $this->plugin->getPluginName(), [
365
  $this,
366
  'actionAdminBootstrapScripts'
367
  ] );
libs/factory/pages/includes/page.class.php CHANGED
@@ -14,9 +14,9 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( ! class_exists( 'Wbcr_FactoryPages422_Page' ) ) {
18
 
19
- class Wbcr_FactoryPages422_Page {
20
 
21
 
22
  /**
@@ -30,7 +30,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_Page' ) ) {
30
  * Чтобы не было конфликтов с другими плагинами, используйте префиксы.
31
  *
32
  * @since 1.0.0
33
- * @see FactoryPages422_AdminPage
34
  *
35
  * @var string
36
  */
@@ -39,7 +39,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_Page' ) ) {
39
  /**
40
  * Current Factory Plugin.
41
  *
42
- * @var Wbcr_Factory422_Plugin
43
  */
44
  public $plugin;
45
 
@@ -51,11 +51,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_Page' ) ) {
51
  //private $default_actions = array();
52
 
53
  /**
54
- * @param Wbcr_Factory422_Plugin $plugin
55
  *
56
  * @throws Exception
57
  */
58
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
59
  $this->plugin = $plugin;
60
 
61
  if ( $plugin ) {
@@ -111,7 +111,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_Page' ) ) {
111
 
112
  if ( ! method_exists( $this, $actionFunction ) ) {
113
  // todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
114
- /*$custom_actions = apply_filters('wbcr/factory_pages_422/custom_actions', array(), $raw_action_name);
115
 
116
  if(isset($custom_actions[$raw_action_name])) {
117
  $custom_actions[$raw_action_name]();
14
  exit;
15
  }
16
 
17
+ if ( ! class_exists( 'Wbcr_FactoryPages425_Page' ) ) {
18
 
19
+ class Wbcr_FactoryPages425_Page {
20
 
21
 
22
  /**
30
  * Чтобы не было конфликтов с другими плагинами, используйте префиксы.
31
  *
32
  * @since 1.0.0
33
+ * @see FactoryPages425_AdminPage
34
  *
35
  * @var string
36
  */
39
  /**
40
  * Current Factory Plugin.
41
  *
42
+ * @var Wbcr_Factory425_Plugin
43
  */
44
  public $plugin;
45
 
51
  //private $default_actions = array();
52
 
53
  /**
54
+ * @param Wbcr_Factory425_Plugin $plugin
55
  *
56
  * @throws Exception
57
  */
58
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
59
  $this->plugin = $plugin;
60
 
61
  if ( $plugin ) {
111
 
112
  if ( ! method_exists( $this, $actionFunction ) ) {
113
  // todo: продумать и доработать выполнение произвольных и глобальных дейтсвия для всех страниц
114
+ /*$custom_actions = apply_filters('wbcr/factory_pages_425/custom_actions', array(), $raw_action_name);
115
 
116
  if(isset($custom_actions[$raw_action_name])) {
117
  $custom_actions[$raw_action_name]();
libs/factory/pages/langs/{wbcr_factory_pages_422-fr_FR.mo → wbcr_factory_pages_425-fr_FR.mo} RENAMED
File without changes
libs/factory/pages/langs/{wbcr_factory_pages_422-fr_FR.po → wbcr_factory_pages_425-fr_FR.po} RENAMED
File without changes
libs/factory/pages/langs/{wbcr_factory_pages_422-ru_RU.mo → wbcr_factory_pages_425-ru_RU.mo} RENAMED
File without changes
libs/factory/pages/langs/{wbcr_factory_pages_422-ru_RU.po → wbcr_factory_pages_425-ru_RU.po} RENAMED
File without changes
libs/factory/pages/pages.php CHANGED
@@ -14,24 +14,24 @@
14
  exit;
15
  }
16
 
17
- add_action('admin_menu', 'Wbcr_FactoryPages422::actionAdminMenu');
18
- add_action('network_admin_menu', 'Wbcr_FactoryPages422::actionAdminMenu');
19
 
20
- if( !class_exists('Wbcr_FactoryPages422') ) {
21
  /**
22
  * A base class to manage pages.
23
  *
24
  * @since 1.0.0
25
  */
26
- class Wbcr_FactoryPages422 {
27
 
28
  /**
29
- * @var Wbcr_FactoryPages422_Page[]
30
  */
31
  private static $pages = array();
32
 
33
  /**
34
- * @param Wbcr_Factory422_Plugin $plugin
35
  * @param $class_name
36
  */
37
  public static function register($plugin, $class_name)
@@ -59,7 +59,7 @@
59
  }
60
  }
61
 
62
- public static function getPageUrl(Wbcr_Factory422_Plugin $plugin, $page_id, $args = array())
63
  {
64
  if( isset(self::$pages[$plugin->getPluginName()]) ) {
65
  $pages = self::$pages[$plugin->getPluginName()];
@@ -75,7 +75,7 @@
75
  }
76
 
77
  /**
78
- * @param Wbcr_Factory422_Plugin $plugin
79
  * @return array
80
  */
81
  public static function getIds($plugin)
@@ -93,14 +93,14 @@
93
  }
94
  }
95
 
96
- if( !function_exists('wbcr_factory_pages_422_get_page_id') ) {
97
  /**
98
  *
99
- * @param Wbcr_Factory422_Plugin $plugin
100
  * @param string $page_id
101
  * @return string
102
  */
103
- function wbcr_factory_pages_422_get_page_id($plugin, $page_id)
104
  {
105
  return $page_id . '-' . $plugin->getPluginName();
106
  }
14
  exit;
15
  }
16
 
17
+ add_action('admin_menu', 'Wbcr_FactoryPages425::actionAdminMenu');
18
+ add_action('network_admin_menu', 'Wbcr_FactoryPages425::actionAdminMenu');
19
 
20
+ if( !class_exists('Wbcr_FactoryPages425') ) {
21
  /**
22
  * A base class to manage pages.
23
  *
24
  * @since 1.0.0
25
  */
26
+ class Wbcr_FactoryPages425 {
27
 
28
  /**
29
+ * @var Wbcr_FactoryPages425_Page[]
30
  */
31
  private static $pages = array();
32
 
33
  /**
34
+ * @param Wbcr_Factory425_Plugin $plugin
35
  * @param $class_name
36
  */
37
  public static function register($plugin, $class_name)
59
  }
60
  }
61
 
62
+ public static function getPageUrl(Wbcr_Factory425_Plugin $plugin, $page_id, $args = array())
63
  {
64
  if( isset(self::$pages[$plugin->getPluginName()]) ) {
65
  $pages = self::$pages[$plugin->getPluginName()];
75
  }
76
 
77
  /**
78
+ * @param Wbcr_Factory425_Plugin $plugin
79
  * @return array
80
  */
81
  public static function getIds($plugin)
93
  }
94
  }
95
 
96
+ if( !function_exists('wbcr_factory_pages_425_get_page_id') ) {
97
  /**
98
  *
99
+ * @param Wbcr_Factory425_Plugin $plugin
100
  * @param string $page_id
101
  * @return string
102
  */
103
+ function wbcr_factory_pages_425_get_page_id($plugin, $page_id)
104
  {
105
  return $page_id . '-' . $plugin->getPluginName();
106
  }
libs/factory/pages/templates/assets/css/impressive.page.template.css CHANGED
@@ -8,7 +8,7 @@
8
  #WBCR .error {
9
  display: none !important;
10
  }
11
- #WBCR .wbcr-factory-pages-422-impressive-page-template {
12
  position: relative;
13
  /**
14
  Content sections
@@ -17,134 +17,134 @@
17
  Widget in the sidebar of the plugin
18
  */
19
  }
20
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-color-grey {
21
  color: #9a9a9a;
22
  }
23
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-orange-color {
24
  color: #ffc107;
25
  }
26
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-light-orange-color {
27
  color: #ffeb3b;
28
  }
29
- #WBCR .wbcr-factory-pages-422-impressive-page-template .form-group {
30
  padding: 0 20px;
31
  }
32
- #WBCR .wbcr-factory-pages-422-impressive-page-template .form-group label {
33
  font-weight: normal;
34
  }
35
- #WBCR .wbcr-factory-pages-422-impressive-page-template .form-horizontal .control-label {
36
  max-width: 300px;
37
  }
38
- #WBCR .wbcr-factory-pages-422-impressive-page-template .factory-control-buttons {
39
  text-align: right;
40
  padding-right: 20px;
41
  }
42
- #WBCR .wbcr-factory-pages-422-impressive-page-template .factory-from-control-list label span {
43
  display: inline-block;
44
  vertical-align: bottom;
45
  }
46
- #WBCR .wbcr-factory-pages-422-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
47
- #WBCR .wbcr-factory-pages-422-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
48
  outline: none;
49
  }
50
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert {
51
  font-weight: bold;
52
  margin: 0 !important;
53
  border: 0;
54
  border-radius: 0;
55
  padding: 15px;
56
  }
57
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert + .wbcr-factory-page-group-header {
58
  margin-top: 0 !important;
59
  }
60
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-warning {
61
  background: #fff3d0;
62
  }
63
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
64
  background: #fffde9;
65
  }
66
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-danger {
67
  background: #de716d;
68
  }
69
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
70
  background: #ec8c89;
71
  }
72
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-success {
73
  background: #d0ecc4;
74
  }
75
- #WBCR .wbcr-factory-pages-422-impressive-page-template .alert.alert-success:nth-child(2n+1) {
76
  background: #e0eadb;
77
  }
78
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-header {
79
  padding: 20px 20px 40px;
80
  }
81
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-recomended-text {
82
  display: block;
83
  font-size: 11px;
84
  font-weight: lighter;
85
  color: #179347;
86
  }
87
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-options,
88
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page {
89
  position: relative;
90
  background: #e6e6e6;
91
  overflow: hidden;
92
  }
93
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-options:after,
94
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page:after {
95
  display: block;
96
  content: '';
97
  clear: both;
98
  }
99
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header {
100
  background: #efefef;
101
  padding: 20px 0 10px 20px;
102
  margin: 30px 0;
103
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
104
  }
105
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header:first-child {
106
  margin-top: 0;
107
  }
108
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header strong {
109
  font-size: 15px;
110
  }
111
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-group-header p {
112
  color: #8c8888;
113
  font-size: 12px;
114
  }
115
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap {
116
  margin-left: 230px;
117
  padding: 80px 0 0 0;
118
  vertical-align: top;
119
  background: #fff;
120
  }
121
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
122
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
123
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
124
  border: 0;
125
  }
126
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
127
  background: #efefef !important;
128
  margin-bottom: -2px !important;
129
  border-bottom: 1px solid #efefef !important;
130
  }
131
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
132
  margin: 0;
133
  }
134
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
135
  background: #f7f7f7;
136
  }
137
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
138
  border: 2px solid #dedede;
139
  border-bottom: 0;
140
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
141
  }
142
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
143
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
144
  box-shadow: none;
145
  outline: none;
146
  }
147
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header {
148
  position: absolute;
149
  z-index: 13;
150
  top: 0;
@@ -155,7 +155,7 @@
155
  color: #fff;
156
  border-radius: 5px 5px 0 0;
157
  }
158
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
159
  float: left;
160
  padding: 25px 0;
161
  font-size: 20px;
@@ -168,11 +168,11 @@
168
  margin-right: 10px;
169
  background: none;
170
  }
171
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
172
  display: inline-block;
173
  vertical-align: middle;
174
  }
175
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
176
  font-size: 18px;
177
  line-height: 30px;
178
  font-weight: 300;
@@ -183,12 +183,12 @@
183
  text-overflow: ellipsis;
184
  color: #fff;
185
  }
186
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
187
  position: relative;
188
  float: right;
189
  margin: 12px;
190
  }
191
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
192
  display: inline-block;
193
  vertical-align: top;
194
  font-size: 13px;
@@ -211,49 +211,49 @@
211
  text-decoration: none;
212
  z-index: 3;
213
  }
214
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
215
  box-shadow: none;
216
  min-width: 100px;
217
  background-color: #8bc34a;
218
  color: #fff;
219
  }
220
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
221
  background: #9dbb7b;
222
  color: #fff;
223
  }
224
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
225
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
226
  }
227
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
228
  box-shadow: none;
229
  min-width: 200px;
230
  background-color: #9e9e9e;
231
  color: #fff;
232
  }
233
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
234
  background: #797979;
235
  color: #fff;
236
  }
237
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
238
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
239
  }
240
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar {
241
  float: left;
242
  vertical-align: top;
243
  width: 230px;
244
  background: #e6e6e6;
245
  }
246
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul {
247
  padding: 0;
248
  margin-bottom: 0;
249
  margin-top: 80px;
250
  }
251
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
252
  display: block;
253
  background: #efefef;
254
  margin: 1px 0;
255
  }
256
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
257
  display: block;
258
  width: 100%;
259
  padding: 20px 20px;
@@ -264,83 +264,83 @@
264
  text-align: left;
265
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
266
  }
267
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
268
  display: block;
269
  font-weight: bold;
270
  }
271
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
272
  display: block;
273
  font-size: 13px;
274
  font-weight: normal;
275
  text-transform: none;
276
  color: #9a9a9a;
277
  }
278
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
279
  float: right;
280
  color: #ccc;
281
  }
282
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
283
  clear: both;
284
  }
285
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
286
  background: #f7f6f6;
287
  }
288
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
289
  color: #9a9a9a;
290
  }
291
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
292
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
293
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
294
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
295
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
296
  outline: 0 !important;
297
  box-shadow: none !important;
298
  }
299
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
300
  background: #fff;
301
  }
302
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
303
  color: #ff5722;
304
  font-weight: bold;
305
  border-left: 5px solid #ff5722;
306
  }
307
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
308
  color: #9a9a9a;
309
  }
310
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section,
311
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
312
  display: inline-block;
313
  vertical-align: top;
314
  }
315
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section {
316
  width: 74.6%;
317
  }
318
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
319
  width: 100%;
320
  }
321
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
322
  margin-top: 15px;
323
  }
324
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
325
  background: #f7f7f7;
326
  padding: 0 0 20px 0;
327
  border: 1px solid #dad8d8;
328
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
329
  }
330
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
331
  padding-top: 0 !important;
332
  }
333
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
334
  width: 25%;
335
  padding: 10px;
336
  margin: 0 0 -20px;
337
  background-color: #f9f9f9;
338
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
339
  }
340
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
341
  margin: 0 0 20px;
342
  }
343
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget {
344
  display: inline-block;
345
  min-height: 230px;
346
  width: 100%;
@@ -349,19 +349,19 @@
349
  padding: 20px 15px;
350
  vertical-align: top;
351
  }
352
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
353
  display: none;
354
  }
355
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
356
  background: #fff4d0;
357
  }
358
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
359
  background: #e2ffc0;
360
  }
361
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
362
  background: #ffebe9;
363
  }
364
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
365
  display: inline-block;
366
  width: 16px;
367
  height: 16px;
@@ -373,16 +373,16 @@
373
  background: #E91E63;
374
  border-radius: 3px;
375
  }
376
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
377
  background: #E91E63;
378
  }
379
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
380
  background: #9e9e9e;
381
  }
382
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
383
  background: #8bc34a;
384
  }
385
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
386
  display: block;
387
  width: 80px;
388
  height: 17px;
@@ -390,23 +390,23 @@
390
  vertical-align: middle;
391
  margin-bottom: 5px;
392
  }
393
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
394
  display: block;
395
  margin: 30px auto 0;
396
  outline: none;
397
  }
398
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
399
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
400
  box-shadow: none;
401
  }
402
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
403
  font-size: 50px;
404
  margin-top: 30px;
405
  text-align: center;
406
  font-weight: 600;
407
  color: #8BC34A;
408
  }
409
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
410
  min-height: 240px;
411
  margin-bottom: 20px;
412
  text-align: center;
@@ -414,24 +414,24 @@
414
  padding: 30px;
415
  border: 1px solid #f3f1e7;
416
  }
417
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
418
  width: 50px;
419
  height: 50px;
420
  font-size: 50px;
421
  color: #FFC107;
422
  line-height: normal;
423
  }
424
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
425
  color: #7b6111;
426
  }
427
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
428
  color: #9e9e9e;
429
  }
430
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
431
  margin-top: 20px;
432
  text-align: center;
433
  }
434
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
435
  display: inline-block;
436
  padding: 20px 60px;
437
  background-color: #FFC107;
@@ -441,67 +441,67 @@
441
  font-weight: bold;
442
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
443
  }
444
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
445
  background-color: #ffce3a;
446
  }
447
- #WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog {
448
  padding: 20px;
449
  background: #ffffff;
450
  }
451
- #WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .updated,
452
- #WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .alert {
453
  display: none;
454
  }
455
- #WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog h2 {
456
  font-size: 18px;
457
  margin-top: 10px;
458
  }
459
- #WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
460
  padding: 10px;
461
  background: #ffedeb;
462
  border: 1px solid #ffdfdc;
463
  margin: 15px 0;
464
  }
465
- #WBCR .wbcr-factory-pages-422-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
466
  margin-bottom: 15px;
467
  color: #7b7b7b;
468
  }
469
  @media screen and (max-width: 1367px) {
470
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section {
471
  width: 69.6%;
472
  }
473
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
474
  width: 30%;
475
  }
476
  }
477
  @media screen and (max-width: 1320px) {
478
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-content-section {
479
  width: 100%;
480
  }
481
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-right-sidebar-section {
482
  display: none !important;
483
  }
484
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-header-logo .dash {
485
  display: none !important;
486
  }
487
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-header-title {
488
  display: none !important;
489
  }
490
  }
491
  @media screen and (max-width: 950px) {
492
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar {
493
  width: 70px;
494
  }
495
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
496
  font-size: 0;
497
  }
498
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
499
  font-size: 0;
500
  }
501
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
502
  display: none !important;
503
  }
504
- #WBCR .wbcr-factory-pages-422-impressive-page-template .wbcr-factory-page-inner-wrap {
505
  margin-left: 70px;
506
  }
507
  }
8
  #WBCR .error {
9
  display: none !important;
10
  }
11
+ #WBCR .wbcr-factory-pages-425-impressive-page-template {
12
  position: relative;
13
  /**
14
  Content sections
17
  Widget in the sidebar of the plugin
18
  */
19
  }
20
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-color-grey {
21
  color: #9a9a9a;
22
  }
23
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-orange-color {
24
  color: #ffc107;
25
  }
26
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-light-orange-color {
27
  color: #ffeb3b;
28
  }
29
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .form-group {
30
  padding: 0 20px;
31
  }
32
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .form-group label {
33
  font-weight: normal;
34
  }
35
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .form-horizontal .control-label {
36
  max-width: 300px;
37
  }
38
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .factory-control-buttons {
39
  text-align: right;
40
  padding-right: 20px;
41
  }
42
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .factory-from-control-list label span {
43
  display: inline-block;
44
  vertical-align: bottom;
45
  }
46
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .factory-from-control-list label span input[type="checkbox"],
47
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .factory-from-control-list label span input[type="checkbox"]:focus {
48
  outline: none;
49
  }
50
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert {
51
  font-weight: bold;
52
  margin: 0 !important;
53
  border: 0;
54
  border-radius: 0;
55
  padding: 15px;
56
  }
57
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert + .wbcr-factory-page-group-header {
58
  margin-top: 0 !important;
59
  }
60
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert.alert-warning {
61
  background: #fff3d0;
62
  }
63
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert.alert-warning:nth-child(2n+1) {
64
  background: #fffde9;
65
  }
66
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert.alert-danger {
67
  background: #de716d;
68
  }
69
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert.alert-danger:nth-child(2n+1) {
70
  background: #ec8c89;
71
  }
72
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert.alert-success {
73
  background: #d0ecc4;
74
  }
75
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .alert.alert-success:nth-child(2n+1) {
76
  background: #e0eadb;
77
  }
78
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-header {
79
  padding: 20px 20px 40px;
80
  }
81
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-recomended-text {
82
  display: block;
83
  font-size: 11px;
84
  font-weight: lighter;
85
  color: #179347;
86
  }
87
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-options,
88
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page {
89
  position: relative;
90
  background: #e6e6e6;
91
  overflow: hidden;
92
  }
93
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-options:after,
94
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page:after {
95
  display: block;
96
  content: '';
97
  clear: both;
98
  }
99
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-group-header {
100
  background: #efefef;
101
  padding: 20px 0 10px 20px;
102
  margin: 30px 0;
103
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
104
  }
105
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-group-header:first-child {
106
  margin-top: 0;
107
  }
108
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-group-header strong {
109
  font-size: 15px;
110
  }
111
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-group-header p {
112
  color: #8c8888;
113
  font-size: 12px;
114
  }
115
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap {
116
  margin-left: 230px;
117
  padding: 80px 0 0 0;
118
  vertical-align: top;
119
  background: #fff;
120
  }
121
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-wrapper,
122
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap h2.nav-tab-wrapper,
123
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap h1.nav-tab-wrapper {
124
  border: 0;
125
  }
126
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab-active {
127
  background: #efefef !important;
128
  margin-bottom: -2px !important;
129
  border-bottom: 1px solid #efefef !important;
130
  }
131
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:first-child {
132
  margin: 0;
133
  }
134
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:hover {
135
  background: #f7f7f7;
136
  }
137
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab {
138
  border: 2px solid #dedede;
139
  border-bottom: 0;
140
  box-shadow: -1px 0 0 rgba(0, 0, 0, 0.1);
141
  }
142
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:active,
143
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap .nav-tab:focus {
144
  box-shadow: none;
145
  outline: none;
146
  }
147
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header {
148
  position: absolute;
149
  z-index: 13;
150
  top: 0;
155
  color: #fff;
156
  border-radius: 5px 5px 0 0;
157
  }
158
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-logo {
159
  float: left;
160
  padding: 25px 0;
161
  font-size: 20px;
168
  margin-right: 10px;
169
  background: none;
170
  }
171
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title {
172
  display: inline-block;
173
  vertical-align: middle;
174
  }
175
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-header-title h2 {
176
  font-size: 18px;
177
  line-height: 30px;
178
  font-weight: 300;
183
  text-overflow: ellipsis;
184
  color: #fff;
185
  }
186
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-control {
187
  position: relative;
188
  float: right;
189
  margin: 12px;
190
  }
191
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button {
192
  display: inline-block;
193
  vertical-align: top;
194
  font-size: 13px;
211
  text-decoration: none;
212
  z-index: 3;
213
  }
214
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save {
215
  box-shadow: none;
216
  min-width: 100px;
217
  background-color: #8bc34a;
218
  color: #fff;
219
  }
220
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:hover {
221
  background: #9dbb7b;
222
  color: #fff;
223
  }
224
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-save:active {
225
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
226
  }
227
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings {
228
  box-shadow: none;
229
  min-width: 200px;
230
  background-color: #9e9e9e;
231
  color: #fff;
232
  }
233
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:hover {
234
  background: #797979;
235
  color: #fff;
236
  }
237
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-header .wbcr-factory-button.wbcr-factory-type-settings:active {
238
  box-shadow: inset -1px 1px 1px rgba(0, 0, 0, 0.3);
239
  }
240
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar {
241
  float: left;
242
  vertical-align: top;
243
  width: 230px;
244
  background: #e6e6e6;
245
  }
246
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul {
247
  padding: 0;
248
  margin-bottom: 0;
249
  margin-top: 80px;
250
  }
251
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab {
252
  display: block;
253
  background: #efefef;
254
  margin: 1px 0;
255
  }
256
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link {
257
  display: block;
258
  width: 100%;
259
  padding: 20px 20px;
264
  text-align: left;
265
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
266
  }
267
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__title {
268
  display: block;
269
  font-weight: bold;
270
  }
271
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .wbcr-factory-tab__short-description {
272
  display: block;
273
  font-size: 13px;
274
  font-weight: normal;
275
  text-transform: none;
276
  color: #9a9a9a;
277
  }
278
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link .dashicons {
279
  float: right;
280
  color: #ccc;
281
  }
282
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link::after {
283
  clear: both;
284
  }
285
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover {
286
  background: #f7f6f6;
287
  }
288
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover .dashicons {
289
  color: #9a9a9a;
290
  }
291
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link,
292
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
293
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:hover,
294
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:active,
295
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__link:focus {
296
  outline: 0 !important;
297
  box-shadow: none !important;
298
  }
299
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab {
300
  background: #fff;
301
  }
302
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a {
303
  color: #ff5722;
304
  font-weight: bold;
305
  border-left: 5px solid #ff5722;
306
  }
307
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab.wbcr-factory-active-tab a .dashicons {
308
  color: #9a9a9a;
309
  }
310
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section,
311
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section {
312
  display: inline-block;
313
  vertical-align: top;
314
  }
315
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section {
316
  width: 74.6%;
317
  }
318
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section.wbcr-fullwidth {
319
  width: 100%;
320
  }
321
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section .nav-tab-wrapper {
322
  margin-top: 15px;
323
  }
324
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content {
325
  background: #f7f7f7;
326
  padding: 0 0 20px 0;
327
  border: 1px solid #dad8d8;
328
  box-shadow: -1px 0px 1px rgba(0, 0, 0, 0.1);
329
  }
330
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section .wbcr-factory-content > form {
331
  padding-top: 0 !important;
332
  }
333
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section {
334
  width: 25%;
335
  padding: 10px;
336
  margin: 0 0 -20px;
337
  background-color: #f9f9f9;
338
  box-shadow: -1px 1px 5px rgba(0, 0, 0, 0.1);
339
  }
340
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section .wbcr-factory-sidebar-widget {
341
  margin: 0 0 20px;
342
  }
343
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget {
344
  display: inline-block;
345
  min-height: 230px;
346
  width: 100%;
349
  padding: 20px 15px;
350
  vertical-align: top;
351
  }
352
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-hide {
353
  display: none;
354
  }
355
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-warning {
356
  background: #fff4d0;
357
  }
358
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-danger {
359
  background: #e2ffc0;
360
  }
361
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget.wbcr-factory-success {
362
  background: #ffebe9;
363
  }
364
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-hint-icon-simple {
365
  display: inline-block;
366
  width: 16px;
367
  height: 16px;
373
  background: #E91E63;
374
  border-radius: 3px;
375
  }
376
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-grey {
377
  background: #E91E63;
378
  }
379
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-red {
380
  background: #9e9e9e;
381
  }
382
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-simple-green {
383
  background: #8bc34a;
384
  }
385
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget .wbcr-factory-icon-5stars {
386
  display: block;
387
  width: 80px;
388
  height: 17px;
390
  vertical-align: middle;
391
  margin-bottom: 5px;
392
  }
393
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] {
394
  display: block;
395
  margin: 30px auto 0;
396
  outline: none;
397
  }
398
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :focus,
399
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form input[type="image"] :active {
400
  box-shadow: none;
401
  }
402
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-sidebar-widget #wbcr-factory-paypal-donation-form .wbcr-factory-donation-price {
403
  font-size: 50px;
404
  margin-top: 30px;
405
  text-align: center;
406
  font-weight: 600;
407
  color: #8BC34A;
408
  }
409
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box {
410
  min-height: 240px;
411
  margin-bottom: 20px;
412
  text-align: center;
414
  padding: 30px;
415
  border: 1px solid #f3f1e7;
416
  }
417
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box .dashicons {
418
  width: 50px;
419
  height: 50px;
420
  font-size: 50px;
421
  color: #FFC107;
422
  line-height: normal;
423
  }
424
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box h3 {
425
  color: #7b6111;
426
  }
427
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-feature-box p {
428
  color: #9e9e9e;
429
  }
430
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-buttons-wrap {
431
  margin-top: 20px;
432
  text-align: center;
433
  }
434
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button {
435
  display: inline-block;
436
  padding: 20px 60px;
437
  background-color: #FFC107;
441
  font-weight: bold;
442
  transition: background-color 0.3s, border-color 0.3s, color 0.3s, opacity 0.3s;
443
  }
444
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-more_features .wbcr-factory-premium-button:hover {
445
  background-color: #ffce3a;
446
  }
447
+ #WBCR .wbcr-factory-pages-425-impressive-page-template #wbcr-factory-confirm-dialog {
448
  padding: 20px;
449
  background: #ffffff;
450
  }
451
+ #WBCR .wbcr-factory-pages-425-impressive-page-template #wbcr-factory-confirm-dialog .updated,
452
+ #WBCR .wbcr-factory-pages-425-impressive-page-template #wbcr-factory-confirm-dialog .alert {
453
  display: none;
454
  }
455
+ #WBCR .wbcr-factory-pages-425-impressive-page-template #wbcr-factory-confirm-dialog h2 {
456
  font-size: 18px;
457
  margin-top: 10px;
458
  }
459
+ #WBCR .wbcr-factory-pages-425-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-description {
460
  padding: 10px;
461
  background: #ffedeb;
462
  border: 1px solid #ffdfdc;
463
  margin: 15px 0;
464
  }
465
+ #WBCR .wbcr-factory-pages-425-impressive-page-template #wbcr-factory-confirm-dialog .wbcr-factory-confirm-hint {
466
  margin-bottom: 15px;
467
  color: #7b7b7b;
468
  }
469
  @media screen and (max-width: 1367px) {
470
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section {
471
  width: 69.6%;
472
  }
473
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section {
474
  width: 30%;
475
  }
476
  }
477
  @media screen and (max-width: 1320px) {
478
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-content-section {
479
  width: 100%;
480
  }
481
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-right-sidebar-section {
482
  display: none !important;
483
  }
484
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-header-logo .dash {
485
  display: none !important;
486
  }
487
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-header-title {
488
  display: none !important;
489
  }
490
  }
491
  @media screen and (max-width: 950px) {
492
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar {
493
  width: 70px;
494
  }
495
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab a {
496
  font-size: 0;
497
  }
498
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__title {
499
  font-size: 0;
500
  }
501
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-left-navigation-bar ul .wbcr-factory-nav-tab .wbcr-factory-tab__short-description {
502
  display: none !important;
503
  }
504
+ #WBCR .wbcr-factory-pages-425-impressive-page-template .wbcr-factory-page-inner-wrap {
505
  margin-left: 70px;
506
  }
507
  }
libs/factory/pages/templates/impressive-page.class.php CHANGED
@@ -14,11 +14,11 @@ if ( ! defined( 'ABSPATH' ) ) {
14
  exit;
15
  }
16
 
17
- if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
18
  /**
19
- * Class Wbcr_FactoryPages422_ImpressiveThemplate
20
  */
21
- abstract class Wbcr_FactoryPages422_ImpressiveThemplate extends Wbcr_FactoryPages422_AdminPage {
22
 
23
  /**
24
  * Тип страницы:
@@ -112,11 +112,11 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
112
  public $page_menu = [];
113
 
114
  /**
115
- * @param Wbcr_Factory422_Plugin $plugin
116
  */
117
- public function __construct( Wbcr_Factory422_Plugin $plugin ) {
118
- $this->menuIcon = FACTORY_PAGES_422_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
119
- //$allow_multisite = apply_filters('wbcr_factory_422_core_admin_allow_multisite', false);
120
 
121
  if ( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
122
  $this->network = true;
@@ -126,7 +126,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
126
 
127
  parent::__construct( $plugin );
128
 
129
- $this->title_plugin_action_link = __( 'Settings', 'wbcr_factory_pages_422' );
130
 
131
  $this->setPageMenu();
132
  }
@@ -170,7 +170,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
170
  *
171
  * @since 1.0.0
172
  * @return void
173
- * @see FactoryPages422_AdminPage
174
  *
175
  */
176
  public function assets( $scripts, $styles ) {
@@ -191,7 +191,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
191
  'control.checkbox'
192
  ], 'bootstrap' );
193
 
194
- $this->styles->add( FACTORY_PAGES_422_URL . '/templates/assets/css/impressive.page.template.css' );
195
  }
196
 
197
  /**
@@ -204,7 +204,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
204
  * @since 4.0.8 - добавлен
205
  * @since 4.0.9 - является устаревшим
206
  */
207
- $plugin_title = wbcr_factory_422_apply_filters_deprecated( 'wbcr/factory/imppage/plugin_title', [
208
  $this->plugin->getPluginTitle(),
209
  $this->plugin->getPluginName()
210
  ], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title' );
@@ -280,22 +280,22 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
280
  public function flushCacheAndRulesAction() {
281
  check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_flush_action' );
282
 
283
- if ( class_exists( 'WbcrFactoryClearfy214_Helpers' ) ) {
284
- WbcrFactoryClearfy214_Helpers::flushPageCache();
285
  }
286
 
287
  /**
288
  * @since 4.0.1 - является устаревшим
289
  */
290
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_flush_cache', [
291
  $this->plugin->getPluginName(),
292
  $this->getResultId()
293
- ], '4.0.1', 'wbcr_factory_422_imppage_after_form_save' );
294
 
295
  /**
296
  * @since 4.0.9 - является устаревшим
297
  */
298
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_after_form_save', [
299
  $this->plugin,
300
  $this
301
  ], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save' );
@@ -314,7 +314,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
314
  /**
315
  * @since 4.0.9 - является устаревшим
316
  */
317
- $redirect_args = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_422_imppage_after_form_save_redirect_args', [ $redirect_args ], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args' );
318
 
319
  /**
320
  * @since 4.0.1 - добавлен
@@ -331,7 +331,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
331
  */
332
  protected function warningNotice() {
333
  /*if( WP_CACHE ) {
334
- $this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_422'));
335
  }*/
336
  // Метод предназначен для вызова в дочернем классе
337
  }
@@ -403,7 +403,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
403
  /**
404
  * @since 4.0.9 - является устаревшим
405
  */
406
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_pages_422_imppage_print_all_notices', [
407
  $this->plugin,
408
  $this
409
  ], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices' );
@@ -422,14 +422,14 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
422
  $this->plugin->getPluginName() . '_saved' => '1'
423
  ],
424
  'type' => 'success',
425
- 'message' => __( 'The settings have been updated successfully!', 'wbcr_factory_pages_422' ) . ( WP_CACHE ? '<br>' . __( "It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_422' ) : '' )
426
  ]
427
  ];
428
 
429
  /**
430
  * @since 4.0.9 - является устаревшим
431
  */
432
- $notices = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_pages_422_imppage_actions_notice', [
433
  $notices,
434
  $this->plugin,
435
  $this->id
@@ -601,7 +601,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
601
  <?php do_action( 'wbcr/factory/pages/impressive/header', $this->plugin->getPluginName() ) ?>
602
 
603
  <?php if ( $this->type == 'options' ): ?>
604
- <input name="<?= $this->plugin->getPluginName() ?>_save_action" class="wbcr-factory-button wbcr-factory-type-save" type="submit" value="<?php _e( 'Save', 'wbcr_factory_pages_422' ); ?>">
605
  <?php wp_nonce_field( 'wbcr_factory_' . $this->getResultId() . '_save_action' ); ?>
606
  <?php endif; ?>
607
  </div>
@@ -656,7 +656,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
656
  /**
657
  * @since 4.0.9 - является устаревшим
658
  */
659
- $widgets = wbcr_factory_422_apply_filters_deprecated( 'wbcr_factory_pages_422_imppage_get_widgets', [
660
  $widgets,
661
  $position,
662
  $this->plugin,
@@ -673,12 +673,12 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
673
  }
674
 
675
  protected function showOptions() {
676
- $form = new Wbcr_FactoryForms420_Form( [
677
  'scope' => rtrim( $this->plugin->getPrefix(), '_' ),
678
  'name' => $this->getResultId() . "-options"
679
  ], $this->plugin );
680
 
681
- $form->setProvider( new Wbcr_FactoryForms420_OptionsValueProvider( $this->plugin ) );
682
 
683
  $options = $this->getPageOptions();
684
 
@@ -718,14 +718,14 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
718
  check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_save_action' );
719
 
720
  if ( ! current_user_can( 'administrator' ) && ! current_user_can( $this->capabilitiy ) ) {
721
- wp_die( __( 'You do not have permission to edit page.', 'wbcr_factory_pages_422' ) );
722
  exit;
723
  }
724
 
725
  /**
726
  * @since 4.0.9 - является устаревшим
727
  */
728
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_before_form_save', [
729
  $form,
730
  $this->plugin,
731
  $this
@@ -744,7 +744,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
744
  /**
745
  * @since 4.0.9 - является устаревшим
746
  */
747
- wbcr_factory_422_do_action_deprecated( 'wbcr_factory_422_imppage_form_saved', [
748
  $form,
749
  $this->plugin,
750
  $this
@@ -765,7 +765,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
765
 
766
  ?>
767
  <div id="WBCR" class="wrap">
768
- <div class="wbcr-factory-pages-422-impressive-page-template factory-bootstrap-423 factory-fontawesome-000">
769
  <div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr( $this->id ) ?>">
770
  <div class="wbcr-factory-left-navigation-bar">
771
  <?php $this->showPageMenu() ?>
@@ -810,7 +810,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
810
 
811
  protected function showPage( $content = null ) { ?>
812
  <div id="WBCR" class="wrap">
813
- <div class="wbcr-factory-pages-422-impressive-page-template factory-bootstrap-423 factory-fontawesome-000">
814
  <div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
815
  <?php $this->showHeader(); ?>
816
  <div class="wbcr-factory-left-navigation-bar">
@@ -873,7 +873,7 @@ if ( ! class_exists( 'Wbcr_FactoryPages422_ImpressiveThemplate' ) ) {
873
  public function confirmPageTemplate( $data ) {
874
  ?>
875
  <div id="WBCR" class="wrap">
876
- <div class="wbcr-factory-pages-422-impressive-page-template factory-bootstrap-423 factory-fontawesome-000">
877
  <div id="wbcr-factory-confirm-dialog">
878
  <h2><?php echo $data['title'] ?></h2>
879
  <p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
14
  exit;
15
  }
16
 
17
+ if ( ! class_exists( 'Wbcr_FactoryPages425_ImpressiveThemplate' ) ) {
18
  /**
19
+ * Class Wbcr_FactoryPages425_ImpressiveThemplate
20
  */
21
+ abstract class Wbcr_FactoryPages425_ImpressiveThemplate extends Wbcr_FactoryPages425_AdminPage {
22
 
23
  /**
24
  * Тип страницы:
112
  public $page_menu = [];
113
 
114
  /**
115
+ * @param Wbcr_Factory425_Plugin $plugin
116
  */
117
+ public function __construct( Wbcr_Factory425_Plugin $plugin ) {
118
+ $this->menuIcon = FACTORY_PAGES_425_URL . '/templates/assets/img/webcraftic-plugin-icon.png';
119
+ //$allow_multisite = apply_filters('wbcr_factory_425_core_admin_allow_multisite', false);
120
 
121
  if ( is_multisite() && $this->available_for_multisite && $plugin->isNetworkActive() ) {
122
  $this->network = true;
126
 
127
  parent::__construct( $plugin );
128
 
129
+ $this->title_plugin_action_link = __( 'Settings', 'wbcr_factory_pages_425' );
130
 
131
  $this->setPageMenu();
132
  }
170
  *
171
  * @since 1.0.0
172
  * @return void
173
+ * @see FactoryPages425_AdminPage
174
  *
175
  */
176
  public function assets( $scripts, $styles ) {
191
  'control.checkbox'
192
  ], 'bootstrap' );
193
 
194
+ $this->styles->add( FACTORY_PAGES_425_URL . '/templates/assets/css/impressive.page.template.css' );
195
  }
196
 
197
  /**
204
  * @since 4.0.8 - добавлен
205
  * @since 4.0.9 - является устаревшим
206
  */
207
+ $plugin_title = wbcr_factory_425_apply_filters_deprecated( 'wbcr/factory/imppage/plugin_title', [
208
  $this->plugin->getPluginTitle(),
209
  $this->plugin->getPluginName()
210
  ], '4.0.9', 'wbcr/factory/pages/impressive/plugin_title' );
280
  public function flushCacheAndRulesAction() {
281
  check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_flush_action' );
282
 
283
+ if ( class_exists( 'WbcrFactoryClearfy217_Helpers' ) ) {
284
+ WbcrFactoryClearfy217_Helpers::flushPageCache();
285
  }
286
 
287
  /**
288
  * @since 4.0.1 - является устаревшим
289
  */
290
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_imppage_flush_cache', [
291
  $this->plugin->getPluginName(),
292
  $this->getResultId()
293
+ ], '4.0.1', 'wbcr_factory_425_imppage_after_form_save' );
294
 
295
  /**
296
  * @since 4.0.9 - является устаревшим
297
  */
298
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_imppage_after_form_save', [
299
  $this->plugin,
300
  $this
301
  ], '4.0.9', 'wbcr/factory/pages/impressive/after_form_save' );
314
  /**
315
  * @since 4.0.9 - является устаревшим
316
  */
317
+ $redirect_args = wbcr_factory_425_apply_filters_deprecated( 'wbcr_factory_425_imppage_after_form_save_redirect_args', [ $redirect_args ], '4.0.9', 'wbcr/factory/pages/impressive/save_redirect_args' );
318
 
319
  /**
320
  * @since 4.0.1 - добавлен
331
  */
332
  protected function warningNotice() {
333
  /*if( WP_CACHE ) {
334
+ $this->printWarningNotice(__("It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_425'));
335
  }*/
336
  // Метод предназначен для вызова в дочернем классе
337
  }
403
  /**
404
  * @since 4.0.9 - является устаревшим
405
  */
406
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_pages_425_imppage_print_all_notices', [
407
  $this->plugin,
408
  $this
409
  ], '4.0.9', 'wbcr/factory/pages/impressive/print_all_notices' );
422
  $this->plugin->getPluginName() . '_saved' => '1'
423
  ],
424
  'type' => 'success',
425
+ 'message' => __( 'The settings have been updated successfully!', 'wbcr_factory_pages_425' ) . ( WP_CACHE ? '<br>' . __( "It seems that a caching/performance plugin is active on this site. Please manually invalidate that plugin's cache after making any changes to the settings below.", 'wbcr_factory_pages_425' ) : '' )
426
  ]
427
  ];
428
 
429
  /**
430
  * @since 4.0.9 - является устаревшим
431
  */
432
+ $notices = wbcr_factory_425_apply_filters_deprecated( 'wbcr_factory_pages_425_imppage_actions_notice', [
433
  $notices,
434
  $this->plugin,
435
  $this->id
601
  <?php do_action( 'wbcr/factory/pages/impressive/header', $this->plugin->getPluginName() ) ?>
602
 
603
  <?php if ( $this->type == 'options' ): ?>
604
+ <input name="<?= $this->plugin->getPluginName() ?>_save_action" class="wbcr-factory-button wbcr-factory-type-save" type="submit" value="<?php _e( 'Save', 'wbcr_factory_pages_425' ); ?>">
605
  <?php wp_nonce_field( 'wbcr_factory_' . $this->getResultId() . '_save_action' ); ?>
606
  <?php endif; ?>
607
  </div>
656
  /**
657
  * @since 4.0.9 - является устаревшим
658
  */
659
+ $widgets = wbcr_factory_425_apply_filters_deprecated( 'wbcr_factory_pages_425_imppage_get_widgets', [
660
  $widgets,
661
  $position,
662
  $this->plugin,
673
  }
674
 
675
  protected function showOptions() {
676
+ $form = new Wbcr_FactoryForms423_Form( [
677
  'scope' => rtrim( $this->plugin->getPrefix(), '_' ),
678
  'name' => $this->getResultId() . "-options"
679
  ], $this->plugin );
680
 
681
+ $form->setProvider( new Wbcr_FactoryForms423_OptionsValueProvider( $this->plugin ) );
682
 
683
  $options = $this->getPageOptions();
684
 
718
  check_admin_referer( 'wbcr_factory_' . $this->getResultId() . '_save_action' );
719
 
720
  if ( ! current_user_can( 'administrator' ) && ! current_user_can( $this->capabilitiy ) ) {
721
+ wp_die( __( 'You do not have permission to edit page.', 'wbcr_factory_pages_425' ) );
722
  exit;
723
  }
724
 
725
  /**
726
  * @since 4.0.9 - является устаревшим
727
  */
728
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_imppage_before_form_save', [
729
  $form,
730
  $this->plugin,
731
  $this
744
  /**
745
  * @since 4.0.9 - является устаревшим
746
  */
747
+ wbcr_factory_425_do_action_deprecated( 'wbcr_factory_425_imppage_form_saved', [
748
  $form,
749
  $this->plugin,
750
  $this
765
 
766
  ?>
767
  <div id="WBCR" class="wrap">
768
+ <div class="wbcr-factory-pages-425-impressive-page-template factory-bootstrap-426 factory-fontawesome-000">
769
  <div class="wbcr-factory-options wbcr-factory-options-<?= esc_attr( $this->id ) ?>">
770
  <div class="wbcr-factory-left-navigation-bar">
771
  <?php $this->showPageMenu() ?>
810
 
811
  protected function showPage( $content = null ) { ?>
812
  <div id="WBCR" class="wrap">
813
+ <div class="wbcr-factory-pages-425-impressive-page-template factory-bootstrap-426 factory-fontawesome-000">
814
  <div class="wbcr-factory-page wbcr-factory-page-<?= $this->id ?>">
815
  <?php $this->showHeader(); ?>
816
  <div class="wbcr-factory-left-navigation-bar">
873
  public function confirmPageTemplate( $data ) {
874
  ?>
875
  <div id="WBCR" class="wrap">
876
+ <div class="wbcr-factory-pages-425-impressive-page-template factory-bootstrap-426 factory-fontawesome-000">
877
  <div id="wbcr-factory-confirm-dialog">
878
  <h2><?php echo $data['title'] ?></h2>
879
  <p class="wbcr-factory-confirm-description"><?php echo $data['description'] ?></p>
migrations/010103.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010103 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  global $wpdb;
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010103 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  global $wpdb;
migrations/010108.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010108 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  global $wpdb, $wbcr_clearfy_plugin;
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010108 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  global $wpdb, $wbcr_clearfy_plugin;
migrations/010200.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010200 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  WCL_Plugin::app()->deleteOption( 'enable_wordpres_sanitize' );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010200 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  WCL_Plugin::app()->deleteOption( 'enable_wordpres_sanitize' );
migrations/010300.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCL_Update010300 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  // Deactivate components for code minification, if alternative plugins are installed
10
  exit;
11
  }
12
 
13
+ class WCL_Update010300 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  // Deactivate components for code minification, if alternative plugins are installed
migrations/010402.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010402 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  /**
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010402 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  /**
migrations/010501.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010501 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  require_once( WCL_PLUGIN_DIR . '/components/ga-cache/migrations/030002.php' );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010501 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  require_once( WCL_PLUGIN_DIR . '/components/ga-cache/migrations/030002.php' );
migrations/010504.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010504 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  $deactivate_components = $this->plugin->getPopulateOption( 'deactive_preinstall_components', [] );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010504 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  $deactivate_components = $this->plugin->getPopulateOption( 'deactive_preinstall_components', [] );
migrations/010505.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010505 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  $this->update_premium();
@@ -40,7 +40,7 @@ class WCLUpdate010505 extends Wbcr_Factory422_Update {
40
  */
41
  $this->clean_hide_my_wp_data();
42
 
43
- WbcrFactoryClearfy214_Helpers::flushPageCache();
44
  }
45
 
46
  /**
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010505 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  $this->update_premium();
40
  */
41
  $this->clean_hide_my_wp_data();
42
 
43
+ WbcrFactoryClearfy217_Helpers::flushPageCache();
44
  }
45
 
46
  /**
migrations/010601.php CHANGED
@@ -10,7 +10,7 @@ if ( ! defined( 'ABSPATH' ) ) {
10
  exit;
11
  }
12
 
13
- class WCLUpdate010601 extends Wbcr_Factory422_Update {
14
 
15
  public function install() {
16
  $this->plugin->updatePopulateOption( "last_check_premium_update_time", 0 );
10
  exit;
11
  }
12
 
13
+ class WCLUpdate010601 extends Wbcr_Factory425_Update {
14
 
15
  public function install() {
16
  $this->plugin->updatePopulateOption( "last_check_premium_update_time", 0 );
readme.txt CHANGED
@@ -168,7 +168,7 @@ If you think that you do not need all Clearfy features, you can pick up a mini p
168
 
169
  #### Translations ####
170
  * English (default), always included
171
- * Russian
172
  * French — big thanks to @kingteamdunet, @fchaussin users
173
  * Italian (70%)
174
  * Chinese — big thanks to @idoog and @robertsky_
@@ -238,6 +238,13 @@ Of course! To do this, email us your wishes with address, which you will find in
238
 
239
 
240
  == Changelog ==
 
 
 
 
 
 
 
241
  = 1.6.2 (20.11.2019) =
242
  * Fixed: Minor bugs.
243
 
168
 
169
  #### Translations ####
170
  * English (default), always included
171
+ * Russian big thanks to [Alexander Kovalev](http://alexkovalev.me "Full stack Wordpress developer")
172
  * French — big thanks to @kingteamdunet, @fchaussin users
173
  * Italian (70%)
174
  * Chinese — big thanks to @idoog and @robertsky_
238
 
239
 
240
  == Changelog ==
241
+ = 1.6.3 (21.01.2020) =
242
+ * Fixed: Minor bugs.
243
+ * Fixed: Compatibility with Robin image optimizer 1.4.2
244
+ * Fixed: Broken links in plugin interface.
245
+ * Fixed: Bug with translations of components.
246
+ * Fixed: [Minify and combine] compatibility php 7.4
247
+
248
  = 1.6.2 (20.11.2019) =
249
  * Fixed: Minor bugs.
250