WP Mail Bank: WordPress SMTP Plugin & Email Logs - Version 1.0

Version Description

  • Initial Release
Download this release

Release Info

Developer contact-banker
Plugin Icon 128x128 WP Mail Bank: WordPress SMTP Plugin & Email Logs
Version 1.0
Comparing to
See all releases

Version 1.0

Files changed (66) hide show
  1. assets/css/stylesheet.css +3986 -0
  2. assets/css/system-message.css +63 -0
  3. assets/images/album-cover.jpg +0 -0
  4. assets/images/color.png +0 -0
  5. assets/images/icons/icon-succes.png +0 -0
  6. assets/images/instagram.png +0 -0
  7. assets/images/logo.png +0 -0
  8. assets/images/mail.png +0 -0
  9. assets/images/prettyPhoto/dark_rounded/btnNext.png +0 -0
  10. assets/images/prettyPhoto/dark_rounded/btnPrevious.png +0 -0
  11. assets/images/prettyPhoto/dark_rounded/contentPattern.png +0 -0
  12. assets/images/prettyPhoto/dark_rounded/default_thumbnail.gif +0 -0
  13. assets/images/prettyPhoto/dark_rounded/loader.gif +0 -0
  14. assets/images/prettyPhoto/dark_rounded/sprite.png +0 -0
  15. assets/images/prettyPhoto/dark_square/btnNext.png +0 -0
  16. assets/images/prettyPhoto/dark_square/btnPrevious.png +0 -0
  17. assets/images/prettyPhoto/dark_square/contentPattern.png +0 -0
  18. assets/images/prettyPhoto/dark_square/default_thumbnail.gif +0 -0
  19. assets/images/prettyPhoto/dark_square/loader.gif +0 -0
  20. assets/images/prettyPhoto/dark_square/sprite.png +0 -0
  21. assets/images/prettyPhoto/default/default_thumb.png +0 -0
  22. assets/images/prettyPhoto/default/loader.gif +0 -0
  23. assets/images/prettyPhoto/default/sprite.png +0 -0
  24. assets/images/prettyPhoto/default/sprite_next.png +0 -0
  25. assets/images/prettyPhoto/default/sprite_prev.png +0 -0
  26. assets/images/prettyPhoto/default/sprite_x.png +0 -0
  27. assets/images/prettyPhoto/default/sprite_y.png +0 -0
  28. assets/images/prettyPhoto/facebook/btnNext.png +0 -0
  29. assets/images/prettyPhoto/facebook/btnPrevious.png +0 -0
  30. assets/images/prettyPhoto/facebook/contentPatternBottom.png +0 -0
  31. assets/images/prettyPhoto/facebook/contentPatternLeft.png +0 -0
  32. assets/images/prettyPhoto/facebook/contentPatternRight.png +0 -0
  33. assets/images/prettyPhoto/facebook/contentPatternTop.png +0 -0
  34. assets/images/prettyPhoto/facebook/default_thumbnail.gif +0 -0
  35. assets/images/prettyPhoto/facebook/loader.gif +0 -0
  36. assets/images/prettyPhoto/facebook/sprite.png +0 -0
  37. assets/images/prettyPhoto/light_rounded/btnNext.png +0 -0
  38. assets/images/prettyPhoto/light_rounded/btnPrevious.png +0 -0
  39. assets/images/prettyPhoto/light_rounded/default_thumbnail.gif +0 -0
  40. assets/images/prettyPhoto/light_rounded/loader.gif +0 -0
  41. assets/images/prettyPhoto/light_rounded/sprite.png +0 -0
  42. assets/images/prettyPhoto/light_square/btnNext.png +0 -0
  43. assets/images/prettyPhoto/light_square/btnPrevious.png +0 -0
  44. assets/images/prettyPhoto/light_square/default_thumbnail.gif +0 -0
  45. assets/images/prettyPhoto/light_square/loader.gif +0 -0
  46. assets/images/prettyPhoto/light_square/sprite.png +0 -0
  47. assets/images/search.png +0 -0
  48. assets/images/tables/searchSmall.png +0 -0
  49. assets/images/tables/sort.png +0 -0
  50. assets/images/tables/sortDown.png +0 -0
  51. assets/images/tables/sortUp.png +0 -0
  52. assets/images/tables/sort_asc.png +0 -0
  53. assets/images/tables/sort_both.png +0 -0
  54. assets/images/tables/sort_desc.png +0 -0
  55. assets/images/tables/sort_desc_disabled.png +0 -0
  56. assets/js/jquery.validate.min.js +863 -0
  57. lib/add_mail_class_file.php +103 -0
  58. lib/wp-include-menus.php +64 -0
  59. lib/wp-install-script.php +51 -0
  60. license.txt +339 -0
  61. readme.txt +228 -0
  62. views/mail_header.php +37 -0
  63. views/mail_settings.php +359 -0
  64. views/test_email.php +179 -0
  65. views/wp_system_status.php +543 -0
  66. wp-mail-bank.php +126 -0
assets/css/stylesheet.css ADDED
@@ -0,0 +1,3986 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .wpib-separator-doubled {
2
+ padding: 0;
3
+ height: 0;
4
+ border: none;
5
+ border-top: medium double #d5d5d5;
6
+ color: #333;
7
+ text-align: center;
8
+ margin-top: 5px;
9
+ }
10
+ .separator-single {
11
+ padding: 0;
12
+ height: 0;
13
+ border: none;
14
+ border-bottom: 1px solid #d5d5d5;
15
+ color: #333;
16
+ text-align: center;
17
+ margin-top: 10px;
18
+ margin-bottom: 10px;
19
+ }
20
+
21
+ .dataTable td {
22
+ text-align: left !important;
23
+ }
24
+
25
+ .breadcrumb {
26
+ padding: 8px 15px;
27
+ margin: 0 0 20px;
28
+ list-style: none;
29
+ background-color: #f5f5f5;
30
+ -webkit-border-radius: 4px;
31
+ -moz-border-radius: 4px;
32
+ border-radius: 4px;
33
+ }
34
+
35
+ .breadcrumb > li {
36
+ display: inline-block;
37
+ *display: inline;
38
+ text-shadow: 0 1px 0 #ffffff;
39
+ *zoom: 1;
40
+ }
41
+
42
+ .breadcrumb > li > .divider {
43
+ padding: 0 5px;
44
+ color: #ccc;
45
+ }
46
+
47
+ .breadcrumb > .active {
48
+ color: #999999;
49
+ }
50
+
51
+ .btn-small {
52
+ padding: 7px 12px 6px 12px;
53
+ line-height: 13px;
54
+ }
55
+
56
+ button.btn.btn-small, input[type="submit"].btn.btn-small {
57
+ *padding-top: 3px;
58
+ *padding-bottom: 3px;
59
+ }
60
+
61
+ .btn {
62
+ display: inline-block;
63
+ *display: inline;
64
+ padding: 4px 12px;
65
+ margin-bottom: 0;
66
+ *margin-left: .3em;
67
+ font-size: 12px;
68
+ line-height: 20px;
69
+ color: #333333;
70
+ text-align: center;
71
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
72
+ vertical-align: middle;
73
+ cursor: pointer;
74
+ background-color: #f5f5f5;
75
+ *background-color: #e6e6e6;
76
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
77
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
78
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
79
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
80
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
81
+ background-repeat: repeat-x;
82
+ border: 1px solid #bbbbbb;
83
+ *border: 0;
84
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
85
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
86
+ border-bottom-color: #a2a2a2;
87
+ -webkit-border-radius: 4px;
88
+ -moz-border-radius: 4px;
89
+ border-radius: 4px;
90
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
91
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
92
+ *zoom: 1;
93
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
94
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
95
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
96
+ }
97
+
98
+ .btn:hover,
99
+ .btn:active,
100
+ .btn.active,
101
+ .btn.disabled,
102
+ .btn[disabled] {
103
+ color: #333333;
104
+ background-color: #e6e6e6;
105
+ *background-color: #d9d9d9;
106
+ }
107
+
108
+ .btn:active,
109
+ .btn.active {
110
+ background-color: #cccccc \9;
111
+ }
112
+
113
+ .btn:first-child {
114
+ *margin-left: 0;
115
+ }
116
+
117
+ .btn:hover {
118
+ color: #333333;
119
+ text-decoration: none;
120
+ background-position: 0 -15px;
121
+ -webkit-transition: background-position 0.1s linear;
122
+ -moz-transition: background-position 0.1s linear;
123
+ -o-transition: background-position 0.1s linear;
124
+ transition: background-position 0.1s linear;
125
+ }
126
+
127
+ .btn:focus {
128
+ outline: thin dotted #333;
129
+ outline: 5px auto -webkit-focus-ring-color;
130
+ outline-offset: -2px;
131
+ }
132
+
133
+ .btn.active,
134
+ .btn:active {
135
+ background-image: none;
136
+ outline: 0;
137
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
138
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
139
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
140
+ }
141
+
142
+ .btn-primary.active,
143
+ .btn-warning.active,
144
+ .btn-danger.active,
145
+ .btn-success.active,
146
+ .btn-info.active,
147
+ .btn-inverse.active {
148
+ color: rgba(255, 255, 255, 0.75);
149
+ }
150
+
151
+ .btn {
152
+ border-color: #c5c5c5;
153
+ border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25);
154
+ }
155
+
156
+ /*.btn-primary {
157
+ color: #ffffff;
158
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
159
+ background-color: #006dcc;
160
+ *background-color: #0044cc;
161
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
162
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
163
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
164
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
165
+ background-image: linear-gradient(to bottom, #0088cc, #0044cc);
166
+ background-repeat: repeat-x;
167
+ border-color: #0044cc #0044cc #002a80;
168
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
169
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
170
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
171
+ margin-top: 0px;
172
+ }
173
+
174
+ .btn-primary:hover,
175
+ .btn-primary:active,
176
+ .btn-primary.active,
177
+ .btn-primary.disabled,
178
+ .btn-primary[disabled] {
179
+ color: #ffffff;
180
+ background-color: #0044cc;
181
+ *background-color: #003bb3;
182
+ }
183
+
184
+ .btn-primary:active,
185
+ .btn-primary.active {
186
+ background-color: #003399 \9;
187
+ }*/
188
+
189
+ .btn-warning {
190
+ color: #ffffff;
191
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
192
+ background-color: #faa732;
193
+ *background-color: #f89406;
194
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
195
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
196
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
197
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
198
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
199
+ background-repeat: repeat-x;
200
+ border-color: #f89406 #f89406 #ad6704;
201
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
202
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
203
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
204
+ }
205
+
206
+ .btn-warning:hover,
207
+ .btn-warning:active,
208
+ .btn-warning.active,
209
+ .btn-warning.disabled,
210
+ .btn-warning[disabled] {
211
+ color: #ffffff;
212
+ background-color: #f89406;
213
+ *background-color: #df8505;
214
+ }
215
+
216
+ .btn-warning:active,
217
+ .btn-warning.active {
218
+ background-color: #c67605 \9;
219
+ }
220
+
221
+ .btn-danger {
222
+ color: #ffffff;
223
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
224
+ background-color: #da4f49;
225
+ *background-color: #bd362f;
226
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
227
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
228
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
229
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
230
+ background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
231
+ background-repeat: repeat-x;
232
+ border-color: #bd362f #bd362f #802420;
233
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
234
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
235
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
236
+ }
237
+
238
+ .btn-danger:hover,
239
+ .btn-danger:active,
240
+ .btn-danger.active,
241
+ .btn-danger.disabled,
242
+ .btn-danger[disabled] {
243
+ color: #ffffff;
244
+ background-color: #bd362f;
245
+ *background-color: #a9302a;
246
+ }
247
+
248
+ .btn-danger:active,
249
+ .btn-danger.active {
250
+ background-color: #942a25 \9;
251
+ }
252
+
253
+ .btn-success {
254
+ color: #ffffff;
255
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
256
+ background-color: #5bb75b;
257
+ *background-color: #51a351;
258
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
259
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
260
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
261
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
262
+ background-image: linear-gradient(to bottom, #62c462, #51a351);
263
+ background-repeat: repeat-x;
264
+ border-color: #51a351 #51a351 #387038;
265
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
266
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
267
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
268
+ }
269
+
270
+ .btn-success:hover,
271
+ .btn-success:active,
272
+ .btn-success.active,
273
+ .btn-success.disabled,
274
+ .btn-success[disabled] {
275
+ color: #ffffff;
276
+ background-color: #51a351;
277
+ *background-color: #499249;
278
+ }
279
+
280
+ .btn-success:active,
281
+ .btn-success.active {
282
+ background-color: #408140 \9;
283
+ }
284
+
285
+ .btn-info {
286
+ color: #ffffff;
287
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
288
+ background-color: #49afcd;
289
+ *background-color: #2f96b4;
290
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
291
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
292
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
293
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
294
+ background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
295
+ background-repeat: repeat-x;
296
+ border-color: #2f96b4 #2f96b4 #1f6377;
297
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
298
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
299
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
300
+ margin-top: 0px;
301
+ }
302
+ .btn-green {
303
+ color: #ffffff;
304
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
305
+ background-color: #73A940;
306
+ *background-color: #73A940;
307
+ background-image: -moz-linear-gradient(top, #73A940, #73A940);
308
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#73A940), to(#73A940));
309
+ background-image: -webkit-linear-gradient(top, #73A940, #73A940);
310
+ background-image: -o-linear-gradient(top, #73A940, #73A940);
311
+ background-image: linear-gradient(to bottom, #73A940, #73A940);
312
+ background-repeat: repeat-x;
313
+ border-color: #73A940 #73A940 #73A940;
314
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
315
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
316
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
317
+ margin-top: 0px;
318
+ margin-bottom: 5px !important;
319
+ }
320
+ .btn-green:hover{
321
+ color: #ffffff;
322
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
323
+ background-color: #87C44E;
324
+ *background-color: #87C44E;
325
+ background-image: -moz-linear-gradient(top, #87C44E, #87C44E);
326
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#87C44E), to(#87C44E));
327
+ background-image: -webkit-linear-gradient(top, #87C44E, #87C44E);
328
+ background-image: -o-linear-gradient(top, #87C44E, #87C44E);
329
+ background-image: linear-gradient(to bottom, #87C44E, #87C44E);
330
+ background-repeat: repeat-x;
331
+ border-color: #87C44E #87C44E #87C44E;
332
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
333
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
334
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
335
+ margin-top: 0px;
336
+ }
337
+ .btn-green:active,
338
+ .btn-green.active,
339
+ .btn-green.disabled,
340
+ .btn-green[disabled] {
341
+ color: #ffffff;
342
+ background-color: #87C44E;
343
+ *background-color: #87C44E;
344
+ }
345
+ .btn-green:active,
346
+ .btn-green.active {
347
+ background-color: #24748c \9;
348
+ }
349
+
350
+ .btn-control {
351
+ color: #ffffff;
352
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
353
+ background-color: #73A940;
354
+ *background-color: #73A940;
355
+ background-image: -moz-linear-gradient(top, #73A940, #73A940);
356
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#73A940), to(#73A940));
357
+ background-image: -webkit-linear-gradient(top, #73A940, #73A940);
358
+ background-image: -o-linear-gradient(top, #73A940, #73A940);
359
+ background-image: linear-gradient(to bottom, #73A940, #73A940);
360
+ background-repeat: repeat-x;
361
+ border-color: #73A940 #73A940 #73A940;
362
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
363
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
364
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
365
+ margin-top: 0px;
366
+ margin-bottom: 0px;
367
+ }
368
+ .btn-control:hover{
369
+ color: #ffffff;
370
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
371
+ background-color: #87C44E;
372
+ *background-color: #87C44E;
373
+ background-image: -moz-linear-gradient(top, #87C44E, #87C44E);
374
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#87C44E), to(#87C44E));
375
+ background-image: -webkit-linear-gradient(top, #87C44E, #87C44E);
376
+ background-image: -o-linear-gradient(top, #87C44E, #87C44E);
377
+ background-image: linear-gradient(to bottom, #87C44E, #87C44E);
378
+ background-repeat: repeat-x;
379
+ border-color: #87C44E #87C44E #87C44E;
380
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
381
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
382
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
383
+ margin-top: 0px;
384
+ }
385
+ .btn-control:active,
386
+ .btn-control.active,
387
+ .btn-control.disabled,
388
+ .btn-control[disabled] {
389
+ color: #ffffff;
390
+ background-color: #87C44E;
391
+ *background-color: #87C44E;
392
+ }
393
+ .btn-control:active,
394
+ .btn-control.active {
395
+ background-color: #24748c \9;
396
+ }
397
+ .btn-info:hover,
398
+ .btn-info:active,
399
+ .btn-info.active,
400
+ .btn-info.disabled,
401
+ .btn-info[disabled] {
402
+ color: #ffffff;
403
+ background-color: #2f96b4;
404
+ *background-color: #2a85a0;
405
+ }*/
406
+ .btn-info:active,
407
+ .btn-info.active {
408
+ background-color: #24748c \9;
409
+ }
410
+
411
+ .btn-inverse {
412
+ color: #ffffff;
413
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
414
+ background-color: #363636;
415
+ *background-color: #222222;
416
+ background-image: -moz-linear-gradient(top, #444444, #222222);
417
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
418
+ background-image: -webkit-linear-gradient(top, #444444, #222222);
419
+ background-image: -o-linear-gradient(top, #444444, #222222);
420
+ background-image: linear-gradient(to bottom, #444444, #222222);
421
+ background-repeat: repeat-x;
422
+ border-color: #222222 #222222 #000000;
423
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
424
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
425
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
426
+ }
427
+
428
+ .btn-inverse:hover,
429
+ .btn-inverse:active,
430
+ .btn-inverse.active,
431
+ .btn-inverse.disabled,
432
+ .btn-inverse[disabled] {
433
+ color: #ffffff;
434
+ background-color: #222222;
435
+ *background-color: #151515;
436
+ }
437
+
438
+ .btn-inverse:active,
439
+ .btn-inverse.active {
440
+ background-color: #080808 \9;
441
+ }
442
+
443
+ .stat {
444
+ margin: 0px;
445
+ padding: 0px;
446
+ }
447
+
448
+ .item-list.table .percent {
449
+ width: 30px;
450
+ float: right;
451
+ margin-right: 10px;
452
+ margin-top: 3px;
453
+ }
454
+
455
+ .item-list.table .title {
456
+ padding-top: -5px;
457
+ }
458
+
459
+ .stat .title {
460
+ margin-left: 10px;
461
+ margin-right: 10px;
462
+ font-size: 13px;
463
+ }
464
+
465
+ .stat.good .percent {
466
+ color: #52e136;
467
+ font-size: 16px;
468
+ font-weight: bold;
469
+ }
470
+
471
+ .stat.bad .percent {
472
+ color: #d12610;
473
+ font-size: 16px;
474
+ font-weight: bold;
475
+ }
476
+
477
+ .stat.ok .percent {
478
+ color: #37b7f3;
479
+ font-size: 16px;
480
+ font-weight: bold;
481
+ }
482
+
483
+ .line-chart {
484
+ display: none
485
+ }
486
+
487
+ .layout-block {
488
+ background-color: #F6F6F6;
489
+ background-image: -webkit-gradient(linear, 0 0%, 0 100%, from(#F9F9F9), to(#EDEDED));
490
+ background-image: -webkit-linear-gradient(top, #F9F9F9 0%, #EDEDED 100%);
491
+ background-image: -moz-linear-gradient(top, #F9F9F9 0%, #EDEDED 100%);
492
+ background-image: -ms-linear-gradient(top, #F9F9F9 0%, #EDEDED 100%);
493
+ background-image: -o-linear-gradient(top, #F9F9F9 0%, #EDEDED 100%);
494
+ background-image: linear-gradient(top, #F9F9F9 0%, #EDEDED 100%);
495
+ filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffF9F9F9', endColorstr='#ffEDEDED', GradientType=0);
496
+
497
+ border: 1px solid #D5D5D5;
498
+ box-shadow: 0 1px 0 0 white inset, 0 1px 0 rgba(255, 255, 255, 0.4);
499
+
500
+ -webkit-border-radius: 2px;
501
+ -moz-border-radius: 2px;
502
+ border-radius: 2px;
503
+
504
+ line-height: 18px;
505
+ margin: 0 0 20px 0;
506
+ padding: 10px;
507
+ }
508
+
509
+ .layout-span12 {
510
+ width: 940px;
511
+ }
512
+
513
+ .layout-span11 {
514
+ width: 860px;
515
+ }
516
+
517
+ .layout-span10 {
518
+ width: 780px;
519
+ }
520
+
521
+ .layout-span9 {
522
+ width: 700px;
523
+ }
524
+
525
+ .layout-span8 {
526
+ width: 620px;
527
+ }
528
+
529
+ .layout-span7 {
530
+ width: 540px;
531
+ }
532
+
533
+ .layout-span6 {
534
+ width: 460px;
535
+ }
536
+
537
+ .layout-span5 {
538
+ width: 380px;
539
+ }
540
+
541
+ .layout-span4 {
542
+ width: 300px;
543
+ }
544
+
545
+ .layout-span3 {
546
+ width: 220px;
547
+ }
548
+
549
+ .layout-span2 {
550
+ width: 140px;
551
+ }
552
+
553
+ .layout-span1 {
554
+ width: 60px;
555
+ }
556
+
557
+ .offset12 {
558
+ margin-left: 980px;
559
+ }
560
+
561
+ .offset11 {
562
+ margin-left: 900px;
563
+ }
564
+
565
+ .offset10 {
566
+ margin-left: 820px;
567
+ }
568
+
569
+ .offset9 {
570
+ margin-left: 740px;
571
+ }
572
+
573
+ .offset8 {
574
+ margin-left: 660px;
575
+ }
576
+
577
+ .offset7 {
578
+ margin-left: 580px;
579
+ }
580
+
581
+ .offset6 {
582
+ margin-left: 500px;
583
+ }
584
+
585
+ .offset5 {
586
+ margin-left: 420px;
587
+ }
588
+
589
+ .offset4 {
590
+ margin-left: 340px;
591
+ }
592
+
593
+ .offset3 {
594
+ margin-left: 260px;
595
+ }
596
+
597
+ .offset2 {
598
+ margin-left: 180px;
599
+ }
600
+
601
+ .offset1 {
602
+ margin-left: 100px;
603
+ }
604
+ .rdl-chk {
605
+ padding-top:7px !important;
606
+ }
607
+ .wpib-rdl
608
+ {
609
+ padding: 0px 5px 0px 0px;
610
+ }
611
+ .fluid-layout {
612
+ width: 99%;
613
+ margin-top: 1%;
614
+ *zoom: 1;
615
+ }
616
+
617
+ .fluid-layout:before,
618
+ .fluid-layout:after {
619
+ display: table;
620
+ line-height: 0;
621
+ content: "";
622
+ }
623
+
624
+ .fluid-layout:after {
625
+ clear: both;
626
+ }
627
+
628
+ .fluid-layout [class*="layout-span"] {
629
+ display: block;
630
+ float: left;
631
+ width: 100%;
632
+ min-height: 27px;
633
+ margin-left: 2.127659574468085%;
634
+ *margin-left: 2.074468085106383%;
635
+ -webkit-box-sizing: border-box;
636
+ -moz-box-sizing: border-box;
637
+ box-sizing: border-box;
638
+ }
639
+
640
+ .fluid-layout [class*="layout-span"]:first-child {
641
+ margin-left: 0;
642
+ }
643
+
644
+ .fluid-layout .controls-row [class*="layout-span"] + [class*="layout-span"] {
645
+ margin-left: 2.127659574468085%;
646
+ }
647
+
648
+ .fluid-layout .layout-span12 {
649
+ width: 100%;
650
+ *width: 99.94680851063829%;
651
+ }
652
+
653
+ .fluid-layout .layout-span11 {
654
+ width: 91.48936170212765%;
655
+ *width: 91.43617021276594%;
656
+ }
657
+
658
+ .fluid-layout .layout-span10 {
659
+ width: 82.97872340425532%;
660
+ *width: 82.92553191489361%;
661
+ }
662
+
663
+ .fluid-layout .layout-span9 {
664
+ width: 74.46808510638297%;
665
+ *width: 74.41489361702126%;
666
+ }
667
+
668
+ .fluid-layout .layout-span8 {
669
+ width: 65.95744680851064%;
670
+ *width: 65.90425531914893%;
671
+ }
672
+
673
+ .fluid-layout .layout-span7 {
674
+ width: 57.44680851063829%;
675
+ *width: 57.39361702127659%;
676
+ }
677
+
678
+ .fluid-layout .layout-span6 {
679
+ width: 48.93617021276595%;
680
+ *width: 48.88297872340425%;
681
+ }
682
+
683
+ .fluid-layout .layout-span5 {
684
+ width: 40.42553191489362%;
685
+ *width: 40.37234042553192%;
686
+ }
687
+
688
+ .fluid-layout .layout-span4 {
689
+ width: 31.914893617021278%;
690
+ *width: 31.861702127659576%;
691
+ }
692
+
693
+ .fluid-layout .layout-span3 {
694
+ width: 23.404255319148934%;
695
+ *width: 23.351063829787233%;
696
+ }
697
+
698
+ .fluid-layout .layout-span2 {
699
+ width: 14.893617021276595%;
700
+ *width: 14.840425531914894%;
701
+ }
702
+
703
+ .fluid-layout .layout-span1 {
704
+ width: 6.382978723404255%;
705
+ *width: 6.329787234042553%;
706
+ }
707
+
708
+ .fluid-layout .offset12 {
709
+ margin-left: 104.25531914893617%;
710
+ *margin-left: 104.14893617021275%;
711
+ }
712
+
713
+ .fluid-layout .offset12:first-child {
714
+ margin-left: 102.12765957446808%;
715
+ *margin-left: 102.02127659574467%;
716
+ }
717
+
718
+ .fluid-layout .offset11 {
719
+ margin-left: 95.74468085106382%;
720
+ *margin-left: 95.6382978723404%;
721
+ }
722
+
723
+ .fluid-layout .offset11:first-child {
724
+ margin-left: 93.61702127659574%;
725
+ *margin-left: 93.51063829787232%;
726
+ }
727
+
728
+ .fluid-layout .offset10 {
729
+ margin-left: 87.23404255319149%;
730
+ *margin-left: 87.12765957446807%;
731
+ }
732
+
733
+ .fluid-layout .offset10:first-child {
734
+ margin-left: 85.1063829787234%;
735
+ *margin-left: 84.99999999999999%;
736
+ }
737
+
738
+ .fluid-layout .offset9 {
739
+ margin-left: 78.72340425531914%;
740
+ *margin-left: 78.61702127659572%;
741
+ }
742
+
743
+ .fluid-layout .offset9:first-child {
744
+ margin-left: 76.59574468085106%;
745
+ *margin-left: 76.48936170212764%;
746
+ }
747
+
748
+ .fluid-layout .offset8 {
749
+ margin-left: 70.2127659574468%;
750
+ *margin-left: 70.10638297872339%;
751
+ }
752
+
753
+ .fluid-layout .offset8:first-child {
754
+ margin-left: 68.08510638297872%;
755
+ *margin-left: 67.9787234042553%;
756
+ }
757
+
758
+ .fluid-layout .offset7 {
759
+ margin-left: 61.70212765957446%;
760
+ *margin-left: 61.59574468085106%;
761
+ }
762
+
763
+ .fluid-layout .offset7:first-child {
764
+ margin-left: 59.574468085106375%;
765
+ *margin-left: 59.46808510638297%;
766
+ }
767
+
768
+ .fluid-layout .offset6 {
769
+ margin-left: 53.191489361702125%;
770
+ *margin-left: 53.085106382978715%;
771
+ }
772
+
773
+ .fluid-layout .offset6:first-child {
774
+ margin-left: 51.063829787234035%;
775
+ *margin-left: 50.95744680851063%;
776
+ }
777
+
778
+ .fluid-layout .offset5 {
779
+ margin-left: 44.68085106382979%;
780
+ *margin-left: 44.57446808510638%;
781
+ }
782
+
783
+ .fluid-layout .offset5:first-child {
784
+ margin-left: 42.5531914893617%;
785
+ *margin-left: 42.4468085106383%;
786
+ }
787
+
788
+ .fluid-layout .offset4 {
789
+ margin-left: 36.170212765957444%;
790
+ *margin-left: 36.06382978723405%;
791
+ }
792
+
793
+ .fluid-layout .offset4:first-child {
794
+ margin-left: 34.04255319148936%;
795
+ *margin-left: 33.93617021276596%;
796
+ }
797
+
798
+ .fluid-layout .offset3 {
799
+ margin-left: 27.659574468085104%;
800
+ *margin-left: 27.5531914893617%;
801
+ }
802
+
803
+ .fluid-layout .offset3:first-child {
804
+ margin-left: 25.53191489361702%;
805
+ *margin-left: 25.425531914893618%;
806
+ }
807
+
808
+ .fluid-layout .offset2 {
809
+ margin-left: 19.148936170212764%;
810
+ *margin-left: 19.04255319148936%;
811
+ }
812
+
813
+ .fluid-layout .offset2:first-child {
814
+ margin-left: 17.02127659574468%;
815
+ *margin-left: 16.914893617021278%;
816
+ }
817
+
818
+ .fluid-layout .offset1 {
819
+ margin-left: 10.638297872340425%;
820
+ *margin-left: 10.53191489361702%;
821
+ }
822
+
823
+ .fluid-layout .offset1:first-child {
824
+ margin-left: 8.51063829787234%;
825
+ *margin-left: 8.404255319148938%;
826
+ }
827
+
828
+ [class*="layout-span"].hide,
829
+ .fluid-layout [class*="layout-span"].hide {
830
+ display: none;
831
+ }
832
+
833
+ [class*="layout-span"].pull-right,
834
+ .fluid-layout [class*="layout-span"].pull-right {
835
+ float: right;
836
+ }
837
+
838
+ .fluid-layout input[class*="layout-span"],
839
+ .fluid-layout select[class*="layout-span"],
840
+ .fluid-layout textarea[class*="layout-span"],
841
+ .fluid-layout .uneditable-input[class*="layout-span"] {
842
+ float: none;
843
+ margin-left: 0;
844
+ }
845
+
846
+ .fluid-layout input[class*="layout-span"],
847
+ .fluid-layout select[class*="layout-span"],
848
+ .fluid-layout textarea[class*="layout-span"],
849
+ .fluid-layout .uneditable-input[class*="layout-span"],
850
+ .fluid-layout .input-prepend [class*="layout-span"],
851
+ .fluid-layout .input-append [class*="layout-span"] {
852
+ display: inline-block;
853
+ }
854
+
855
+ .controls-row [class*="layout-span"],
856
+ .fluid-layout .controls-row [class*="layout-span"] {
857
+ float: left;
858
+ }
859
+
860
+ /*********************************TABLE CONTENT********************************/
861
+ table td[class*="layout-span"],
862
+ table th[class*="layout-span"],
863
+ .fluid-layout table td[class*="layout-span"],
864
+ .fluid-layout table th[class*="layout-span"] {
865
+ display: table-cell;
866
+ float: none;
867
+ margin-left: 0;
868
+ }
869
+
870
+ table td.layout-span1,
871
+ table th.layout-span1 {
872
+ float: none;
873
+ width: 44px;
874
+ margin-left: 0;
875
+ }
876
+
877
+ table td.layout-span2,
878
+ table th.layout-span2 {
879
+ float: none;
880
+ width: 124px;
881
+ margin-left: 0;
882
+ }
883
+
884
+ table td.layout-span3,
885
+ table th.layout-span3 {
886
+ float: none;
887
+ width: 204px;
888
+ margin-left: 0;
889
+ }
890
+
891
+ table td.layout-span4,
892
+ table th.layout-span4 {
893
+ float: none;
894
+ width: 284px;
895
+ margin-left: 0;
896
+ }
897
+
898
+ table td.layout-span5,
899
+ table th.layout-span5 {
900
+ float: none;
901
+ width: 364px;
902
+ margin-left: 0;
903
+ }
904
+
905
+ table td.layout-span6,
906
+ table th.layout-span6 {
907
+ float: none;
908
+ width: 444px;
909
+ margin-left: 0;
910
+ }
911
+
912
+ table td.layout-span7,
913
+ table th.layout-span7 {
914
+ float: none;
915
+ width: 524px;
916
+ margin-left: 0;
917
+ }
918
+
919
+ table td.layout-span8,
920
+ table th.layout-span8 {
921
+ float: none;
922
+ width: 604px;
923
+ margin-left: 0;
924
+ }
925
+
926
+ table td.layout-span9,
927
+ table th.layout-span9 {
928
+ float: none;
929
+ width: 684px;
930
+ margin-left: 0;
931
+ }
932
+
933
+ table td.layout-span10,
934
+ table th.layout-span10 {
935
+ float: none;
936
+ width: 764px;
937
+ margin-left: 0;
938
+ }
939
+
940
+ table td.layout-span11,
941
+ table th.layout-span11 {
942
+ float: none;
943
+ width: 844px;
944
+ margin-left: 0;
945
+ }
946
+
947
+ table td.layout-span12,
948
+ table th.layout-span12 {
949
+ float: none;
950
+ width: 924px;
951
+ margin-left: 0;
952
+ }
953
+
954
+ .layout-table-controls {
955
+ margin: 0 -1px;
956
+ }
957
+
958
+ .layout-table-controls > li {
959
+ display: inline-block;
960
+ margin: 0 1px;
961
+ }
962
+
963
+ /*.layout-table-controls > li > .btn { padding: 0px; }*/
964
+ *
965
+
966
+ /
967
+ .layout-table-controls > li > .btn > i {
968
+ margin-left: 0;
969
+ margin-right: 0;
970
+ }
971
+
972
+ .layout-table-controls > li > a > i {
973
+ margin-right: 0;
974
+ font-size: 14px;
975
+ color: #555;
976
+ }
977
+
978
+ .layout-table-controls > li > a.btn > b, .layout-table-controls > li > a > b {
979
+ margin: 1px 0 -1px 0;
980
+ font-size: 14px;
981
+ color: #555;
982
+ width: 1.1em;
983
+ float: none;
984
+ }
985
+
986
+ .stats-overview-cont {
987
+ padding-top: 0px;
988
+ margin-bottom: 15px;
989
+ }
990
+
991
+ .stats-overview {
992
+ clear: both;
993
+ padding: 10px 10px 0px 10px;
994
+ margin: 0px;
995
+ margin-bottom: 5px;
996
+ }
997
+
998
+ .stats-overview .display {
999
+ margin-right: 5px;
1000
+ float: left;
1001
+ }
1002
+
1003
+ .stats-overview .details {
1004
+ color: #888;
1005
+ }
1006
+
1007
+ .stats-overview .details .title {
1008
+ color: #777;
1009
+ font-size: 12px;
1010
+ font-weight: normal;
1011
+ margin-bottom: 3px;
1012
+ padding: 0px !important;
1013
+ }
1014
+
1015
+ .stats-overview .details .title i {
1016
+ color: #999;
1017
+ margin-right: 2px;
1018
+ }
1019
+
1020
+ .stats-overview .details .numbers {
1021
+ color: #777;
1022
+ font-size: 20px;
1023
+ font-weight: bold;
1024
+ margin-bottom: 6px;
1025
+ !important
1026
+ }
1027
+
1028
+ .stats-overview .progress-layout {
1029
+ height: 10px;
1030
+ margin-bottom: 10px !important;
1031
+ }
1032
+
1033
+ .stats-overview:hover {
1034
+ text-decoration: none !important;
1035
+ border-color: #999 !important;
1036
+ color: #444 !important;
1037
+ text-shadow: 0 1px 0px rgba(255, 255, 255, 1) !important;
1038
+ -webkit-transition: all 0.3s ease !important;
1039
+ -moz-transition: all 0.3s ease !important;
1040
+ -ms-transition: all 0.3s ease !important;
1041
+ -o-transition: all 0.3s ease !important;
1042
+ transition: all 0.3s ease !important;
1043
+ -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, .55) !important;
1044
+ -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, .55) !important;
1045
+ box-shadow: 0px 0px 3px rgba(0, 0, 0, .55) !important;
1046
+ }
1047
+
1048
+ @-webkit-keyframes progress-bar-stripes {
1049
+ from {
1050
+ background-position: 40px 0;
1051
+ }
1052
+ to {
1053
+ background-position: 0 0;
1054
+ }
1055
+ }
1056
+
1057
+ @-moz-keyframes progress-bar-stripes {
1058
+ from {
1059
+ background-position: 40px 0;
1060
+ }
1061
+ to {
1062
+ background-position: 0 0;
1063
+ }
1064
+ }
1065
+
1066
+ @-ms-keyframes progress-bar-stripes {
1067
+ from {
1068
+ background-position: 40px 0;
1069
+ }
1070
+ to {
1071
+ background-position: 0 0;
1072
+ }
1073
+ }
1074
+
1075
+ @-o-keyframes progress-bar-stripes {
1076
+ from {
1077
+ background-position: 0 0;
1078
+ }
1079
+ to {
1080
+ background-position: 40px 0;
1081
+ }
1082
+ }
1083
+
1084
+ @keyframes progress-bar-stripes {
1085
+ from {
1086
+ background-position: 40px 0;
1087
+ }
1088
+ to {
1089
+ background-position: 0 0;
1090
+ }
1091
+ }
1092
+
1093
+ .progress-layout {
1094
+ height: 20px;
1095
+ margin-bottom: 20px;
1096
+ overflow: hidden;
1097
+ background-color: #f7f7f7;
1098
+ background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
1099
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
1100
+ background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
1101
+ background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
1102
+ background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
1103
+ background-repeat: repeat-x;
1104
+ -webkit-border-radius: 4px;
1105
+ -moz-border-radius: 4px;
1106
+ border-radius: 4px;
1107
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
1108
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
1109
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
1110
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
1111
+ }
1112
+
1113
+ .progress-layout .bar {
1114
+ float: left;
1115
+ width: 0;
1116
+ height: 100%;
1117
+ font-size: 12px;
1118
+ color: #ffffff;
1119
+ text-align: center;
1120
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1121
+ background-color: #0e90d2;
1122
+ background-image: -moz-linear-gradient(top, #149bdf, #0480be);
1123
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
1124
+ background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
1125
+ background-image: -o-linear-gradient(top, #149bdf, #0480be);
1126
+ background-image: linear-gradient(to bottom, #149bdf, #0480be);
1127
+ background-repeat: repeat-x;
1128
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
1129
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1130
+ -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1131
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1132
+ -webkit-box-sizing: border-box;
1133
+ -moz-box-sizing: border-box;
1134
+ box-sizing: border-box;
1135
+ -webkit-transition: width 0.6s ease;
1136
+ -moz-transition: width 0.6s ease;
1137
+ -o-transition: width 0.6s ease;
1138
+ transition: width 0.6s ease;
1139
+ }
1140
+
1141
+ .progress-layout .bar + .bar {
1142
+ -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1143
+ -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1144
+ box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
1145
+ }
1146
+
1147
+ .progress-layout-striped .bar {
1148
+ background-color: #149bdf;
1149
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1150
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1151
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1152
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1153
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1154
+ -webkit-background-size: 40px 40px;
1155
+ -moz-background-size: 40px 40px;
1156
+ -o-background-size: 40px 40px;
1157
+ background-size: 40px 40px;
1158
+ }
1159
+
1160
+ .progress-layout.active .bar {
1161
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
1162
+ -moz-animation: progress-bar-stripes 2s linear infinite;
1163
+ -ms-animation: progress-bar-stripes 2s linear infinite;
1164
+ -o-animation: progress-bar-stripes 2s linear infinite;
1165
+ animation: progress-bar-stripes 2s linear infinite;
1166
+ }
1167
+
1168
+ .progress-layout-danger .bar,
1169
+ .progress-layout .bar-danger {
1170
+ background-color: #dd514c;
1171
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
1172
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
1173
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
1174
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
1175
+ background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
1176
+ background-repeat: repeat-x;
1177
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
1178
+ }
1179
+
1180
+ .progress-layout-danger.progress-layout-striped .bar,
1181
+ .progress-layout-striped .bar-danger {
1182
+ background-color: #ee5f5b;
1183
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1184
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1185
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1186
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1187
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1188
+ }
1189
+
1190
+ .progress-layout-success .bar,
1191
+ .progress-layout .bar-success {
1192
+ background-color: #5eb95e;
1193
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
1194
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
1195
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
1196
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
1197
+ background-image: linear-gradient(to bottom, #62c462, #57a957);
1198
+ background-repeat: repeat-x;
1199
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
1200
+ }
1201
+
1202
+ .progress-layout-success.progress-layout-striped .bar,
1203
+ .progress-layout-striped .bar-success {
1204
+ background-color: #62c462;
1205
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1206
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1207
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1208
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1209
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1210
+ }
1211
+
1212
+ .progress-layout-info .bar,
1213
+ .progress-layout .bar-info {
1214
+ background-color: #4bb1cf;
1215
+ background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
1216
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
1217
+ background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
1218
+ background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
1219
+ background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
1220
+ background-repeat: repeat-x;
1221
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
1222
+ }
1223
+
1224
+ .progress-layout-info.progress-layout-striped .bar,
1225
+ .progress-layout-striped .bar-info {
1226
+ background-color: #5bc0de;
1227
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1228
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1229
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1230
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1231
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1232
+ }
1233
+
1234
+ .progress-layout-warning .bar,
1235
+ .progress-layout .bar-warning {
1236
+ background-color: #faa732;
1237
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
1238
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
1239
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
1240
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
1241
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
1242
+ background-repeat: repeat-x;
1243
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
1244
+ }
1245
+
1246
+ .progress-layout-warning.progress-layout-striped .bar,
1247
+ .progress-layout-striped .bar-warning {
1248
+ background-color: #fbb450;
1249
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
1250
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1251
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1252
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1253
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
1254
+ }
1255
+
1256
+ .widget-layout {
1257
+ background: none repeat scroll 0 0 #F9F9F9;
1258
+ border-top: 1px solid #e0dede;
1259
+ border-left: 1px solid #e0dede;
1260
+ border-right: 1px solid #e0dede;
1261
+ clear: both;
1262
+ margin-top: 0px;
1263
+ margin-bottom: 20px;
1264
+ -webkit-border-radius: 3px;
1265
+ -moz-border-radius: 3px;
1266
+ border-radius: 3px;
1267
+ }
1268
+
1269
+ .widget-layout-title {
1270
+ background-color: #EFEFEF;
1271
+ background-image: -webkit-gradient(linear, 0 0%, 0 100%, from(#FDFDFD), to(#EAEAEA));
1272
+ background-image: -webkit-linear-gradient(top, #FDFDFD 0%, #EAEAEA 100%);
1273
+ background-image: -moz-linear-gradient(top, #FDFDFD 0%, #EAEAEA 100%);
1274
+ background-image: -ms-linear-gradient(top, #FDFDFD 0%, #EAEAEA 100%);
1275
+ background-image: -o-linear-gradient(top, #FDFDFD 0%, #EAEAEA 100%);
1276
+ background-image: -linear-gradient(top, #FDFDFD 0%, #EAEAEA 100%);
1277
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdfdfd', endColorstr='#eaeaea', GradientType=0);
1278
+ border-bottom: 1px solid #e0dede;
1279
+ height: 36px;
1280
+
1281
+ -webkit-border-radius: 3px 3px 0px 0px;
1282
+ -moz-border-radius: 3px 3px 0px 0px;
1283
+ border-radius: 3px 3px 0px 0px;
1284
+ }
1285
+
1286
+ /****************************** Widget Section *********************************/
1287
+ .widget-layout-title > h4 {
1288
+ color: #444;
1289
+ float: left;
1290
+ font-size: 13px;
1291
+ font-weight: bold;
1292
+ padding: 12px 11px 10px 15px;
1293
+ line-height: 12px;
1294
+ margin: 0px !important;
1295
+ }
1296
+
1297
+ .widget-layout-title > h4 i {
1298
+ font-size: 14px;
1299
+ margin-right: 6px;
1300
+ !important
1301
+ }
1302
+
1303
+ .widget-layout-title span.tools {
1304
+ padding: 3px 5px 2px;
1305
+ float: right;
1306
+ margin: 6px 0px 0 0 !important;
1307
+ cursor: pointer;
1308
+ }
1309
+
1310
+ .widget-layout-title span.tools > a {
1311
+ display: inline-block;
1312
+ margin-right: 5px !important;
1313
+ color: #555;
1314
+ font-size: 14px;
1315
+ }
1316
+
1317
+ .widget-layout-title span.tools > a:hover {
1318
+ text-decoration: none;
1319
+ -webkit-transition: all 0.1s ease-in-out;
1320
+ -moz-transition: all 0.1s ease-in-out;
1321
+ -o-transition: all 0.1s ease-in-out;
1322
+ -ms-transition: all 0.1s ease-in-out;
1323
+ transition: all 0.1s ease-in-out;
1324
+ opacity: .6;
1325
+ }
1326
+
1327
+ .widget-layout-title .btn-group {
1328
+ margin-right: 5px !important;
1329
+ margin-top: -2px !important;
1330
+ }
1331
+
1332
+ .widget-layout-title .btn-group .caret {
1333
+ margin-top: 8px !important;
1334
+ margin-left: 3px !important;
1335
+ }
1336
+
1337
+ .widget-layout-body {
1338
+ padding: 7px 15px;
1339
+ border-bottom: 1px solid #CDCDCD;
1340
+ -webkit-border-radius: 0px 0px 3px 3px;
1341
+ -moz-border-radius: 0px 0px 3px 3px;
1342
+ border-radius: 0px 0px 3px 3px;
1343
+ }
1344
+
1345
+ .wpib-widget-layout-body {
1346
+ padding: 7px 15px;
1347
+ border-bottom: 1px solid #CDCDCD;
1348
+ -webkit-border-radius: 0px 0px 3px 3px;
1349
+ -moz-border-radius: 0px 0px 3px 3px;
1350
+ border-radius: 0px 0px 3px 3px;
1351
+ }
1352
+
1353
+ /********************** Widget Section *********************************/
1354
+ .fluid-layout table {
1355
+ max-width: 100%;
1356
+ background-color: transparent;
1357
+ border-collapse: collapse;
1358
+ border-spacing: 0;
1359
+ }
1360
+
1361
+ .fluid-layout .table {
1362
+ width: 100%;
1363
+ margin-bottom: 20px;
1364
+ margin-top: 10px !important
1365
+ }
1366
+
1367
+ .fluid-layout .table th,
1368
+ .fluid-layout .table td {
1369
+ padding: 8px;
1370
+ line-height: 20px;
1371
+ text-align: left;
1372
+ vertical-align: top;
1373
+ border-top: 1px solid #dddddd;
1374
+ }
1375
+
1376
+ .fluid-layout .table th {
1377
+ font-weight: bold;
1378
+ }
1379
+
1380
+ .fluid-layout .table caption + thead tr:first-child th,
1381
+ .fluid-layout .table caption + thead tr:first-child td,
1382
+ .fluid-layout .table colgroup + thead tr:first-child th,
1383
+ .fluid-layout .table colgroup + thead tr:first-child td,
1384
+ .fluid-layout.table thead:first-child tr:first-child th,
1385
+ .fluid-layout.table thead :first-child tr:first-child td {
1386
+ border-top: 0;
1387
+ }
1388
+
1389
+ .fluid-layout .table tbody + tbody {
1390
+ border-top: 2px solid #dddddd;
1391
+ }
1392
+
1393
+ .fluid-layout .table .table {
1394
+ background-color: #ffffff;
1395
+ }
1396
+
1397
+ .fluid-layout .table-condensed th,
1398
+ .fluid-layout .table-condensed td {
1399
+ padding: 4px 5px;
1400
+ }
1401
+
1402
+ .fluid-layout .table-bordered {
1403
+ border: 1px solid #dddddd;
1404
+ border-collapse: separate;
1405
+ *border-collapse: collapse;
1406
+ border-left: 0;
1407
+ -webkit-border-radius: 4px;
1408
+ -moz-border-radius: 4px;
1409
+ border-radius: 4px;
1410
+ }
1411
+
1412
+ .fluid-layout .table-bordered th,
1413
+ .fluid-layout .table-bordered td {
1414
+ border-left: 1px solid #dddddd;
1415
+ }
1416
+
1417
+ .fluid-layout .table-striped tbody > tr:nth-child(odd) > td,
1418
+ .fluid-layout .table-striped tbody > tr:nth-child(odd) > th {
1419
+ background-color: #f9f9f9;
1420
+ }
1421
+
1422
+ .fluid-layout .table-hover tbody tr:hover td,
1423
+ .fluid-layout .table-hover tbody tr:hover th {
1424
+ background-color: #f5f5f5;
1425
+ }
1426
+
1427
+ .fluid-layout .table tbody tr.success td {
1428
+ background-color: #dff0d8;
1429
+ }
1430
+
1431
+ .fluid-layout .table tbody tr.error td {
1432
+ background-color: #f2dede;
1433
+ }
1434
+
1435
+ .fluid-layout .table tbody tr.warning td {
1436
+ background-color: #fcf8e3;
1437
+ }
1438
+
1439
+ .fluid-layout .table tbody tr.info td {
1440
+ background-color: #d9edf7;
1441
+ }
1442
+
1443
+ .fluid-layout .table-hover tbody tr.success:hover td {
1444
+ background-color: #d0e9c6;
1445
+ }
1446
+
1447
+ .fluid-layout .table-hover tbody tr.error:hover td {
1448
+ background-color: #ebcccc;
1449
+ }
1450
+
1451
+ .fluid-layout .table-hover tbody tr.warning:hover td {
1452
+ background-color: #faf2cc;
1453
+ }
1454
+
1455
+ .fluid-layout .table-hover tbody tr.info:hover td {
1456
+ background-color: #c4e3f3;
1457
+ }
1458
+
1459
+ .label-layout,
1460
+ .badge {
1461
+ display: inline-block;
1462
+ padding: 2px 4px;
1463
+ font-size: 11.844px;
1464
+ font-weight: bold;
1465
+ line-height: 14px;
1466
+ color: #ffffff;
1467
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
1468
+ white-space: nowrap;
1469
+ vertical-align: baseline;
1470
+ background-color: #999999;
1471
+ }
1472
+
1473
+ .label-layout {
1474
+ -webkit-border-radius: 3px;
1475
+ -moz-border-radius: 3px;
1476
+ border-radius: 3px;
1477
+ }
1478
+
1479
+ .badge {
1480
+ padding-right: 9px;
1481
+ padding-left: 9px;
1482
+ -webkit-border-radius: 9px;
1483
+ -moz-border-radius: 9px;
1484
+ border-radius: 9px;
1485
+ }
1486
+
1487
+ .label-layout:empty,
1488
+ .badge:empty {
1489
+ display: none;
1490
+ }
1491
+
1492
+ .label-layout-important,
1493
+ .badge-important {
1494
+ background-color: #b94a48;
1495
+ }
1496
+
1497
+ .label-layout-important[href],
1498
+ .badge-important[href] {
1499
+ background-color: #953b39;
1500
+ }
1501
+
1502
+ .label-layout-warning,
1503
+ .badge-warning {
1504
+ background-color: #f89406;
1505
+ }
1506
+
1507
+ .label-layout-warning[href],
1508
+ .badge-warning[href] {
1509
+ background-color: #c67605;
1510
+ }
1511
+
1512
+ .label-layout-success,
1513
+ .badge-success {
1514
+ background-color: #468847;
1515
+ }
1516
+
1517
+ .label-layout-success[href],
1518
+ .badge-success[href] {
1519
+ background-color: #356635;
1520
+ }
1521
+
1522
+ .label-layout-info,
1523
+ .badge-info {
1524
+ background-color: #3a87ad;
1525
+ }
1526
+
1527
+ .label-layout-info[href],
1528
+ .badge-info[href] {
1529
+ background-color: #2d6987;
1530
+ }
1531
+
1532
+ .label-layout-inverse,
1533
+ .badge-inverse {
1534
+ background-color: #333333;
1535
+ }
1536
+
1537
+ .label-layout-inverse[href],
1538
+ .badge-inverse[href] {
1539
+ background-color: #1a1a1a;
1540
+ }
1541
+
1542
+ .btn .label-layout,
1543
+ .btn .badge {
1544
+ position: relative;
1545
+ top: -1px;
1546
+ }
1547
+
1548
+ .btn-mini .label-layout,
1549
+ .btn-mini .badge {
1550
+ top: 0;
1551
+ }
1552
+
1553
+ .fluid-layout a {
1554
+
1555
+ text-decoration: none !important
1556
+ }
1557
+
1558
+ .fluid-layout a:hover {
1559
+
1560
+ text-decoration: none !important
1561
+ }
1562
+
1563
+ /***********************************************WPIB Classes***********************************************/
1564
+ .widget-layout-body .form form {
1565
+ margin: 0px !important;
1566
+ padding: 0px !important;
1567
+ }
1568
+
1569
+ .widget-layout-body .layout-control-group:last-child {
1570
+ padding-bottom: 0px !important;
1571
+ margin-bottom: 0px !important;
1572
+ }
1573
+ .wpib-widget-layout-body .layout-control-group:last-child {
1574
+ padding-bottom: 0px !important;
1575
+ margin-bottom: 0px !important;
1576
+ }
1577
+
1578
+ .widget-layout-body .form-actions {
1579
+ margin-left: -15px !important;
1580
+ margin-right: -15px !important;
1581
+ margin-top: 20px !important;
1582
+ margin-bottom: -15px !important;
1583
+ margin-top: 20px;
1584
+ padding-left: 195px;
1585
+ -webkit-border-radius: 0px 0px 4px 4px;
1586
+ -moz-border-radius: 0px 0px 4px 4px;
1587
+ border-radius: 0px 0px 4px 4px;
1588
+ }
1589
+
1590
+ .widget-layout-body .dataTables_info, .widget-layout-body .dataTables_paginate {
1591
+ /*margin-top: 5px !important;*/
1592
+ padding-bottom: 0px !important;
1593
+ margin-bottom: -4px !important;
1594
+ }
1595
+ .wpib-desc{
1596
+ font-size:13px;
1597
+ font-family: "Droid Sans",Helvetica,Arial,Verdana,sans-serif;
1598
+ }
1599
+ .wpib-desc-italic{
1600
+ font-size:11px;
1601
+ font-style:italic;
1602
+ font-family: "Droid Sans",Helvetica,Arial,Verdana,sans-serif;
1603
+ margin-bottom:2px !important;
1604
+ }
1605
+ .wpib-fluid{
1606
+ margin: 0px !important;
1607
+ text-align: justify;
1608
+ }
1609
+ .wpib-btns{
1610
+ margin-left:8px;
1611
+ }
1612
+ .wpib-form
1613
+ {
1614
+ margin-bottom: 20px;
1615
+ }
1616
+
1617
+ .wpib-support-div{
1618
+ line-height: 22px;
1619
+ text-align: justify;
1620
+ }
1621
+ #ux_tbl_dashboard p
1622
+ {
1623
+ margin:0px !important;
1624
+ }
1625
+ #ux_payment_gateways p
1626
+ {
1627
+ margin:0px !important;
1628
+ }
1629
+ #ux_payment_gateways .layout-control-label
1630
+ {
1631
+ padding:0px !important
1632
+ }
1633
+ #ux_payment_gateways .fluid-layout
1634
+ {
1635
+ margin:0px;
1636
+ }
1637
+ .wpib-padding-top{
1638
+ padding-top:8px;
1639
+ }
1640
+ .wpib-margin-top{
1641
+ margin-top:8px !important;
1642
+ }
1643
+ pre a {
1644
+ text-decoration: none;
1645
+ color:#0D6A8F !important;
1646
+ }
1647
+ p {
1648
+ font-size:1em;
1649
+ margin-bottom:7px !important;
1650
+ margin-top: 5px !important;
1651
+ }
1652
+ a {
1653
+ text-decoration: none !important;
1654
+ }
1655
+ .wpib-edit-delete a {
1656
+ text-decoration: none;
1657
+ color:#0D6A8F !important;
1658
+ }
1659
+ .wpib-tr {
1660
+ border-left: 1px solid #dddddd;
1661
+ border-right:1px solid #dddddd;
1662
+ }
1663
+ .odd {
1664
+ border-left: 1px solid #dddddd;
1665
+ border-right:1px solid #dddddd;
1666
+ }
1667
+ .even{
1668
+ border-left: 1px solid #dddddd;
1669
+ border-right:1px solid #dddddd;
1670
+ }
1671
+ .wpib-td{
1672
+ padding: 10px;
1673
+ }
1674
+ .wpib-setup-table{
1675
+ border:2px dashed #e5e5e5;
1676
+ width:85%;
1677
+ margin-bottom:20px;
1678
+ /*font-size:14px;*/
1679
+ }
1680
+ .wpib-setup-tbl{
1681
+ width:100%;
1682
+ margin-bottom: 5px;
1683
+ }
1684
+ .wpib-service-color{
1685
+ height: 20px;
1686
+ width: 90px;
1687
+ }
1688
+ .wpib-body-background{
1689
+ background-color: #fff;
1690
+ }
1691
+ .wpib-tbl-backgound{
1692
+ background-color: #f9f9f9 !important;
1693
+ }
1694
+ .wpib-page-width
1695
+ {
1696
+ max-width:1000px;
1697
+ }
1698
+ .wpib_validate{
1699
+ color:#E6413A;
1700
+ }
1701
+ .wpib-dashboard-heading{
1702
+ line-height: 25px;
1703
+ padding-top: 3px;
1704
+ font-size: 15px;
1705
+ }
1706
+ #ux_payment_gateway_settings .fluid-layout{
1707
+ margin-top: 0px;
1708
+ }
1709
+ .error_field{
1710
+ color:#CC1010 !important;
1711
+ }
1712
+ .div_border
1713
+ {
1714
+ border: 1px dashed #B6B4B4;
1715
+ padding: 5px;
1716
+ cursor: default;
1717
+ }
1718
+ .delete_control
1719
+ {
1720
+ vertical-align: middle;
1721
+ margin-left: 10px;
1722
+ }
1723
+ .calendar_div
1724
+ {
1725
+ height: 160px;
1726
+ background-color:#fff;
1727
+ text-align: justify;
1728
+ font-size: 1em !important;
1729
+ overflow-y: scroll;
1730
+ }
1731
+ .wpib-dashboard-links
1732
+ {
1733
+ width:18%;
1734
+ float:left;
1735
+ margin-right:18px;
1736
+ height:90px;
1737
+ }
1738
+ .wpib-dashboard-links-height
1739
+ {
1740
+ height:57px;
1741
+ text-align:center;
1742
+ padding: 5px 4px 5px 5px;
1743
+ }
1744
+ .wpib_licensing_mgs
1745
+ {
1746
+ display: none;
1747
+ margin-bottom: 10px;
1748
+ }
1749
+ .wpib_search_img
1750
+ {
1751
+ float:right;
1752
+ background: url("../images/search.png") no-repeat;
1753
+ height:27px;
1754
+ width:26px;
1755
+ margin:8px 0px 0px 2px;
1756
+ border:1px solid #dddddd;
1757
+ cursor:pointer;
1758
+ }
1759
+ .layout-control-label-form
1760
+ {
1761
+ float: left;
1762
+ width: 84px;
1763
+ padding-top: 8px;
1764
+ text-align: left;
1765
+ }
1766
+ .layout-controls-form
1767
+ {
1768
+ margin-left: 48px;
1769
+ }
1770
+ .layout-controls-layout-settings
1771
+ {
1772
+ margin-left: 90px;
1773
+ }
1774
+ .closeButtonLightbox {
1775
+ position: absolute;
1776
+ top: -22px;
1777
+ right: -22px;
1778
+ width: 30px;
1779
+ height: 30px;
1780
+ background: transparent url("../images/fancybox.png") -40px 0;
1781
+ cursor: pointer;
1782
+ z-index: 1103;
1783
+ }
1784
+ .black_overlay {
1785
+ display: none;
1786
+ position: fixed;
1787
+ top: 0;
1788
+ left: 0;
1789
+ width: 100%;
1790
+ height: 100%;
1791
+ background-color: black;
1792
+ z-index: 1001;
1793
+ -moz-opacity: 0.8;
1794
+ opacity: .80;
1795
+ filter: alpha(opacity=80);
1796
+ }
1797
+
1798
+ .white_content {
1799
+ display: none;
1800
+ position: fixed;
1801
+ padding: 10px;
1802
+ border: 10px solid #999999;
1803
+ background-color: white;
1804
+ z-index: 1002;
1805
+ width: 650px;
1806
+ }
1807
+ .fc-border-separate{
1808
+ border:1px solid #dddddd;
1809
+ border-top: none;
1810
+ }
1811
+ .postbox{
1812
+ border-top:none;
1813
+ border-left:none;
1814
+ border-right:none;
1815
+ }
1816
+ .wpib-btn-space
1817
+ {
1818
+ width: 131px;
1819
+ /* margin-left: 5px; */
1820
+ text-align: left;
1821
+ }
1822
+ /*******************************************************************************************************************************/
1823
+ .dataTables_info {
1824
+ padding: 0px;
1825
+ display: block;
1826
+ float: left;
1827
+ }
1828
+ .dataTables_paginate {
1829
+ float: right;
1830
+ margin: 0px;
1831
+ }
1832
+
1833
+ .dataTables_paginate .last {
1834
+ margin-right: 0 !important;
1835
+ }
1836
+
1837
+ paging_full_numbers {
1838
+ height: 22px;
1839
+ line-height: 22px;
1840
+ }
1841
+
1842
+ .paging_full_numbers .next:active, .paging_full_numbers .first:active, .paging_full_numbers .previous:active, .paging_full_numbers .last:active {
1843
+ font-weight: normal !important;
1844
+ }
1845
+
1846
+ .paging_full_numbers a:active {
1847
+ outline: none
1848
+ }
1849
+
1850
+ .paging_full_numbers a:hover {
1851
+ text-decoration: none;
1852
+ }
1853
+
1854
+ .paging_full_numbers a.paginate_button, .paging_full_numbers a.paginate_active {
1855
+ border: 1px solid #d3d3d3;
1856
+ -webkit-border-radius: 2px;
1857
+ -moz-border-radius: 2px;
1858
+ border-radius: 2px;
1859
+ padding: 5px 8px;
1860
+ margin: 0 3px;
1861
+ cursor: pointer;
1862
+ *cursor: hand;
1863
+ color: #919191;
1864
+ font-size: 11px;
1865
+ box-shadow: 0 1px 0 #fff inset, 0 1px 0px #eaeaea;
1866
+ -webkit-box-shadow: 0 1px 0 #fff inset, 0 1px 0px #eaeaea;
1867
+ -moz-box-shadow: 0 1px 0 #fff inset, 0 1px 0px #eaeaea;
1868
+ }
1869
+
1870
+ .paging_full_numbers a.paginate_button {
1871
+ background: #ffffff;
1872
+ background: -moz-linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
1873
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f5f5f5));
1874
+ background: -webkit-linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
1875
+ background: -o-linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
1876
+ background: -ms-linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
1877
+ background: linear-gradient(top, #ffffff 0%, #f5f5f5 100%);
1878
+ }
1879
+
1880
+ .paging_full_numbers a.paginate_button:hover {
1881
+ background: #fcfcfc;
1882
+ color: #327394;
1883
+ }
1884
+
1885
+ .paging_full_numbers a.paginate_active, .paging_full_numbers a.paginate_button:active {
1886
+ background: #6f6f6f;
1887
+ color: #fff;
1888
+ border-color: #646464;
1889
+ box-shadow: 0 1px 2px #545454 inset, 0 1px 0 #fff;
1890
+ -webkit-box-shadow: 0 1px 2px #545454 inset, 0 1px 0 #fff;
1891
+ -moz-box-shadow: 0 1px 2px #545454 inset, 0 1px 0 #fff;
1892
+ font-weight: bold;
1893
+ }
1894
+
1895
+ .paginate_button_disabled, .paginate_button_disabled:active {
1896
+ background: #F9F9F9 !important;
1897
+ color: #CCC !important;
1898
+ box-shadow: none !important;
1899
+ font-weight: normal !important;
1900
+ border: 1px solid #E5E5E5 !important;
1901
+ }
1902
+
1903
+ .paginate_button_disabled:active {
1904
+ border-color: #d3d3d3 !important;
1905
+ }
1906
+
1907
+ .dataTables_processing {
1908
+ position: absolute;
1909
+ top: 50%;
1910
+ left: 50%;
1911
+ width: 250px;
1912
+ height: 30px;
1913
+ margin-left: -125px;
1914
+ margin-top: -15px;
1915
+ padding: 14px 0 2px 0;
1916
+ border: 1px solid #ddd;
1917
+ text-align: center;
1918
+ color: #999;
1919
+ font-size: 14px;
1920
+ background-color: white;
1921
+ }
1922
+
1923
+ .sorting {
1924
+ background: url('../images/tables/sort_both.png') no-repeat 100% 8px;
1925
+ }
1926
+
1927
+ .sorting_asc {
1928
+ background: url('../images/tables/sort_asc.png') no-repeat 100% 8px;
1929
+ }
1930
+
1931
+ .sorting_desc {
1932
+ background: url('../images/tables/sort_desc.png') no-repeat 100% 8px;
1933
+ }
1934
+
1935
+ .sorting_asc_disabled {
1936
+ background: url('../images/tables/sort_asc_disabled.png') no-repeat 100% 8px;
1937
+ }
1938
+
1939
+ .sorting_desc_disabled {
1940
+ background: url('../images/tables/sort_desc_disabled.png') no-repeat 100% 8px;
1941
+ }
1942
+
1943
+ .table.dataTable th:active {
1944
+ outline: none;
1945
+ }
1946
+
1947
+
1948
+ .datatable-footer {
1949
+ border-top: 1px solid #ddd;
1950
+ padding: 15px 0;
1951
+ height: 20px;
1952
+ background: #fff !important;
1953
+ background: -moz-linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
1954
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fcfcfc), color-stop(100%, #f5f5f5));
1955
+ background: -webkit-linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
1956
+ background: -o-linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
1957
+ background: -ms-linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
1958
+ background: linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
1959
+ }
1960
+
1961
+ .dataTables_scroll {
1962
+ clear: both;
1963
+ }
1964
+
1965
+ .dataTables_scrollBody {
1966
+ *margin-top: -1px;
1967
+ -webkit-overflow-scrolling: touch;
1968
+ }
1969
+
1970
+ .table.dataTable th:active {
1971
+ outline: none;
1972
+ }
1973
+
1974
+ .dataTables_scroll {
1975
+ clear: both;
1976
+ }
1977
+
1978
+ .dataTables_scrollBody {
1979
+ *margin-top: -1px;
1980
+ -webkit-overflow-scrolling: touch;
1981
+ }
1982
+
1983
+ .widget-layout-body .table {
1984
+ padding-bottom: 0px !important;
1985
+ margin-bottom: 0px !important;
1986
+ }
1987
+
1988
+ .form-search input,
1989
+ .form-inline input,
1990
+ .layout-form input,
1991
+ .form-search textarea,
1992
+ .form-inline textarea,
1993
+ .layout-form textarea,
1994
+ .form-search select,
1995
+ .form-inline select,
1996
+ .layout-form select,
1997
+ .form-search .help-inline,
1998
+ .form-inline .help-inline,
1999
+ .layout-form .help-inline,
2000
+ .form-search .uneditable-input,
2001
+ .form-inline .uneditable-input,
2002
+ .layout-form .uneditable-input,
2003
+ .form-search .input-prepend,
2004
+ .form-inline .input-prepend,
2005
+ .layout-form .input-prepend,
2006
+ .form-search .input-append,
2007
+ .form-inline .input-append,
2008
+ .layout-form .input-append {
2009
+ display: inline-block;
2010
+ *display: inline;
2011
+ margin-bottom: 0;
2012
+ vertical-align: middle;
2013
+ *zoom: 1;
2014
+ }
2015
+
2016
+ .layout-control-group {
2017
+ margin-bottom: 6px;
2018
+ }
2019
+
2020
+ legend + .layout-control-group {
2021
+ margin-top: 10px;
2022
+ -webkit-margin-top-collapse: separate;
2023
+ }
2024
+
2025
+ .layout-form .layout-control-group {
2026
+ *zoom: 1;
2027
+ }
2028
+
2029
+ .layout-form .layout-control-group:before,
2030
+ .layout-form .layout-control-group:after {
2031
+ display: table;
2032
+ line-height: 0;
2033
+ content: "";
2034
+ }
2035
+
2036
+ .layout-form .layout-control-group:after {
2037
+ clear: both;
2038
+ }
2039
+ .layout-form .layout-control-label {
2040
+ float: left;
2041
+ width: 160px;
2042
+ padding-top: 8px;
2043
+ text-align: left;
2044
+ }
2045
+ .layout-form .wpib-layout-control-label {
2046
+ float: left;
2047
+ width: 160px;
2048
+ padding-top: 12px;
2049
+ text-align: left;
2050
+ }
2051
+
2052
+ .layout-form .layout-controls {
2053
+ *display: inline-block;
2054
+ *padding-left: 20px;
2055
+ margin-left: 180px;
2056
+ *margin-left: 0;
2057
+ }
2058
+
2059
+ .layout-form .layout-controls-radio {
2060
+ margin-top: 7px;
2061
+ float: left;
2062
+ margin-left: 2px;
2063
+ }
2064
+
2065
+ .layout-form .layout-controls:first-child {
2066
+ *padding-left: 180px;
2067
+ }
2068
+
2069
+ .layout-form .help-block {
2070
+ margin-bottom: 0;
2071
+ }
2072
+
2073
+ .layout-form input + .help-block,
2074
+ .layout-form select + .help-block,
2075
+ .layout-form textarea + .help-block,
2076
+ .layout-form .uneditable-input + .help-block,
2077
+ .layout-form .input-prepend + .help-block,
2078
+ .layout-form .input-append + .help-block {
2079
+ margin-top: 10px;
2080
+ }
2081
+
2082
+ .layout-form .form-actions {
2083
+ padding-left: 180px;
2084
+ }
2085
+
2086
+ .layout-control-group.warning > label,
2087
+ .layout-control-group.warning .help-block,
2088
+ .layout-control-group.warning .help-inline {
2089
+ color: #c09853;
2090
+ }
2091
+
2092
+ .layout-control-group.warning .checkbox,
2093
+ .layout-control-group.warning .radio,
2094
+ .layout-control-group.warning input,
2095
+ .layout-control-group.warning select,
2096
+ .layout-control-group.warning textarea {
2097
+ color: #c09853;
2098
+ }
2099
+
2100
+ .layout-control-group.warning input,
2101
+ .layout-control-group.warning select,
2102
+ .layout-control-group.warning textarea {
2103
+ border-color: #c09853;
2104
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2105
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2106
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2107
+ }
2108
+
2109
+ .layout-control-group.warning input:focus,
2110
+ .layout-control-group.warning select:focus,
2111
+ .layout-control-group.warning textarea:focus {
2112
+ border-color: #a47e3c;
2113
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
2114
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
2115
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
2116
+ }
2117
+
2118
+ .layout-control-group.warning .input-prepend .add-on,
2119
+ .layout-control-group.warning .input-append .add-on {
2120
+ color: #c09853;
2121
+ background-color: #fcf8e3;
2122
+ border-color: #c09853;
2123
+ }
2124
+
2125
+ .layout-control-group.error > label,
2126
+ .layout-control-group.error .help-block,
2127
+ .layout-control-group.error .help-inline {
2128
+ color: #b94a48;
2129
+ }
2130
+
2131
+ .error {
2132
+ color: #b94a48;
2133
+ }
2134
+
2135
+ .layout-control-group.error .checkbox,
2136
+ .layout-control-group.error .radio,
2137
+ .layout-control-group.error input,
2138
+ .layout-control-group.error select,
2139
+ .layout-control-group.error textarea {
2140
+ color: #b94a48;
2141
+ }
2142
+
2143
+ .layout-control-group.error input,
2144
+ .layout-control-group.error select,
2145
+ .layout-control-group.error textarea {
2146
+ border-color: #b94a48;
2147
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2148
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2149
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2150
+ }
2151
+
2152
+ .layout-control-group.error input:focus,
2153
+ .layout-control-group.error select:focus,
2154
+ .layout-control-group.error textarea:focus {
2155
+ border-color: #953b39;
2156
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
2157
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
2158
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
2159
+ }
2160
+
2161
+ .layout-control-group.error .input-prepend .add-on,
2162
+ .layout-control-group.error .input-append .add-on {
2163
+ color: #b94a48;
2164
+ background-color: #f2dede;
2165
+ border-color: #b94a48;
2166
+ }
2167
+
2168
+ .layout-control-group.success > label,
2169
+ .layout-control-group.success .help-block,
2170
+ .layout-control-group.success .help-inline {
2171
+ color: #468847;
2172
+ }
2173
+
2174
+ .layout-control-group.success .checkbox,
2175
+ .layout-control-group.success .radio,
2176
+ .layout-control-group.success input,
2177
+ .layout-control-group.success select,
2178
+ .layout-control-group.success textarea {
2179
+ color: #468847;
2180
+ }
2181
+
2182
+ .layout-control-group.success input,
2183
+ .layout-control-group.success select,
2184
+ .layout-control-group.success textarea {
2185
+ border-color: #468847;
2186
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2187
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2188
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2189
+ }
2190
+
2191
+ .layout-control-group.success input:focus,
2192
+ .layout-control-group.success select:focus,
2193
+ .layout-control-group.success textarea:focus {
2194
+ border-color: #356635;
2195
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
2196
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
2197
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
2198
+ }
2199
+
2200
+ .layout-control-group.success .input-prepend .add-on,
2201
+ .layout-control-group.success .input-append .add-on {
2202
+ color: #468847;
2203
+ background-color: #dff0d8;
2204
+ border-color: #468847;
2205
+ }
2206
+
2207
+ .layout-control-group.info > label,
2208
+ .layout-control-group.info .help-block,
2209
+ .layout-control-group.info .help-inline {
2210
+ color: #3a87ad;
2211
+ }
2212
+
2213
+ .layout-control-group.info .checkbox,
2214
+ .layout-control-group.info .radio,
2215
+ .layout-control-group.info input,
2216
+ .layout-control-group.info select,
2217
+ .layout-control-group.info textarea {
2218
+ color: #3a87ad;
2219
+ }
2220
+
2221
+ .layout-control-group.info input,
2222
+ .layout-control-group.info select,
2223
+ .layout-control-group.info textarea {
2224
+ border-color: #3a87ad;
2225
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2226
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2227
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
2228
+ }
2229
+
2230
+ .layout-control-group.info input:focus,
2231
+ .layout-control-group.info select:focus,
2232
+ .layout-control-group.info textarea:focus {
2233
+ border-color: #2d6987;
2234
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
2235
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
2236
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
2237
+ }
2238
+
2239
+ .layout-control-group.info .input-prepend .add-on,
2240
+ .layout-control-group.info .input-append .add-on {
2241
+ color: #3a87ad;
2242
+ background-color: #d9edf7;
2243
+ border-color: #3a87ad;
2244
+ }
2245
+
2246
+ .layout-controls > .radio,
2247
+ .layout-controls > .checkbox {
2248
+ display: inline-block;
2249
+ /*padding: 0 !important;*/
2250
+ margin: 0 !important;
2251
+ margin-top: 0px !important;
2252
+ margin-right: 15px !important;
2253
+ }
2254
+
2255
+ .layout-controls > .radio.line,
2256
+ .layout-controls > .checkbox.line {
2257
+ display: block;
2258
+ padding: 0 !important;
2259
+ margin: 0 !important;
2260
+ margin-top: 5px !important;
2261
+ }
2262
+
2263
+ .layout-controls .text {
2264
+ display: block;
2265
+ margin-top: 5px;
2266
+ }
2267
+
2268
+ .layout-controls > .radio:first-child,
2269
+ .layout-controls > .checkbox:first-child {
2270
+ padding-top: 7px;
2271
+ }
2272
+
2273
+ /* # Modal
2274
+ ================================================== */
2275
+
2276
+ .modal-open .modal .dropdown-menu {
2277
+ z-index: 2050;
2278
+ }
2279
+
2280
+ .modal-open .modal .dropdown.open {
2281
+ *z-index: 2050;
2282
+ }
2283
+
2284
+ .modal-open .modal .popover {
2285
+ z-index: 2060;
2286
+ }
2287
+
2288
+ .modal-open .modal .tooltip {
2289
+ z-index: 2080;
2290
+ }
2291
+
2292
+ .modal-backdrop {
2293
+ position: fixed;
2294
+ top: 0;
2295
+ right: 0;
2296
+ bottom: 0;
2297
+ left: 0;
2298
+ z-index: 1040;
2299
+ background-color: #000000;
2300
+ }
2301
+
2302
+ .modal-backdrop.fade {
2303
+ opacity: 0;
2304
+ }
2305
+
2306
+ .modal-backdrop, .modal-backdrop.fade.in {
2307
+ opacity: 0.3;
2308
+ filter: alpha(opacity=30);
2309
+ }
2310
+
2311
+ .modal {
2312
+ position: fixed;
2313
+ top: 50%;
2314
+ left: 50%;
2315
+ z-index: 1050;
2316
+ overflow: auto;
2317
+ width: 560px;
2318
+ margin: -250px 0 0 -280px;
2319
+ background: url(../images/backgrounds/bg.png);
2320
+ border: 1px solid #c5c5c5;
2321
+
2322
+ -webkit-border-radius: 3px;
2323
+ -moz-border-radius: 3px;
2324
+ border-radius: 3px;
2325
+
2326
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
2327
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
2328
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
2329
+
2330
+ -webkit-background-clip: padding-box;
2331
+ -moz-background-clip: padding-box;
2332
+ background-clip: padding-box;
2333
+
2334
+ }
2335
+
2336
+ .modal.fade {
2337
+ top: -25%;
2338
+ -webkit-transition: opacity .3s linear, top .3s ease-out;
2339
+ -moz-transition: opacity .3s linear, top .3s ease-out;
2340
+ -o-transition: opacity .3s linear, top .3s ease-out;
2341
+ transition: opacity .3s linear, top .3s ease-out;
2342
+ }
2343
+
2344
+ .modal.fade.in {
2345
+ top: 50%;
2346
+ z-index: 10000;
2347
+ -webkit-border-radius: 5px;
2348
+ -moz-border-radius: 5px;
2349
+ border-radius: 5px;
2350
+ -moz-box-shadow: 0px 0px 5px #444444;
2351
+ -webkit-box-shadow: 0px 0px 5px #444;
2352
+ box-shadow: 0px 0px 5px #444;
2353
+ border: 10px solid rgba(52, 52, 52, .5);
2354
+ }
2355
+
2356
+ .modal-header {
2357
+ padding: 7px 15px;
2358
+ -webkit-border-top-right-radius: 3px;
2359
+ -webkit-border-top-left-radius: 3px;
2360
+ border-bottom: 1px solid #c1c1c1;
2361
+ box-shadow: 0 1px 0 #fff;
2362
+ -webkit-box-shadow: 0 1px 0 #fff;
2363
+ -moz-box-shadow: 0 1px 0 #fff;
2364
+
2365
+ background: #fcfcfc;
2366
+ background: -moz-linear-gradient(top, #fcfcfc 0%, #ececec 100%);
2367
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fcfcfc), color-stop(100%, #ececec));
2368
+ background: -webkit-linear-gradient(top, #fcfcfc 0%, #ececec 100%);
2369
+ background: -o-linear-gradient(top, #fcfcfc 0%, #ececec 100%);
2370
+ background: -ms-linear-gradient(top, #fcfcfc 0%, #ececec 100%);
2371
+ background: linear-gradient(to bottom, #fcfcfc 0%, #ececec 100%);
2372
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfcfc', endColorstr='#ececec', GradientType=0);
2373
+
2374
+ }
2375
+
2376
+ .modal-header .close {
2377
+ margin-top: 6px;
2378
+ }
2379
+
2380
+ .modal-header h5 {
2381
+ margin: 0;
2382
+ padding: 3px 0 3px 0;
2383
+ }
2384
+
2385
+ .modal-body {
2386
+ overflow-y: auto;
2387
+ padding: 15px;
2388
+ }
2389
+
2390
+ .modal-body .selector, .modal-body .select {
2391
+ max-width: 100%;
2392
+ width: 100%;
2393
+ -webkit-box-sizing: border-box;
2394
+ -moz-box-sizing: border-box;
2395
+ box-sizing: border-box;
2396
+ -ms-box-sizing: border-box;
2397
+ height: 30px;
2398
+ }
2399
+
2400
+ .modal-body .control-group {
2401
+ padding: 15px 0;
2402
+ }
2403
+
2404
+ .modal-body .control-group:first-child {
2405
+ padding-top: 0;
2406
+ }
2407
+
2408
+ .modal-body .control-group:last-child {
2409
+ padding-bottom: 0;
2410
+ }
2411
+
2412
+ .modal-form {
2413
+ margin-bottom: 0;
2414
+ }
2415
+
2416
+ .modal-footer .btn {
2417
+ margin-top: 0;
2418
+ margin-bottom: 0;
2419
+ }
2420
+
2421
+ .modal-footer {
2422
+ padding: 15px;
2423
+ margin-bottom: 0;
2424
+ text-align: right;
2425
+ background-color: #f5f5f5;
2426
+ border-top: 1px solid #ddd;
2427
+ *zoom: 1;
2428
+
2429
+ -webkit-border-radius: 0 0 3px 3px;
2430
+ -moz-border-radius: 0 0 3px 3px;
2431
+ border-radius: 0 0 3px 3px;
2432
+
2433
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
2434
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
2435
+ box-shadow: inset 0 1px 0 #ffffff;
2436
+
2437
+ }
2438
+
2439
+ .modal-footer:before, .modal-footer:after {
2440
+ display: table;
2441
+ content: "";
2442
+ line-height: 0;
2443
+ }
2444
+
2445
+ .modal-footer:after {
2446
+ clear: both;
2447
+ }
2448
+
2449
+ .modal-footer .btn + .btn {
2450
+ margin-left: 5px;
2451
+ margin-bottom: 0;
2452
+ }
2453
+
2454
+ .modal-footer .btn-group .btn + .btn {
2455
+ margin-left: -1px;
2456
+ }
2457
+
2458
+ .dropup, .dropdown {
2459
+ position: relative;
2460
+ }
2461
+
2462
+ .dropdown-toggle {
2463
+ *margin-bottom: -3px;
2464
+ }
2465
+
2466
+ .dropdown-toggle:active, .open .dropdown-toggle {
2467
+ outline: 0;
2468
+ }
2469
+
2470
+ /* # Other classes
2471
+ ================================================== */
2472
+
2473
+ .close {
2474
+ float: right;
2475
+ font-size: 16px;
2476
+ line-height: 16px;
2477
+ color: #000000;
2478
+ opacity: 0.2;
2479
+ filter: alpha(opacity=20);
2480
+ }
2481
+
2482
+ .close:hover {
2483
+ color: #000000;
2484
+ text-decoration: none;
2485
+ cursor: pointer;
2486
+ opacity: 0.4;
2487
+ filter: alpha(opacity=40);
2488
+ }
2489
+
2490
+ button.close {
2491
+ padding: 0;
2492
+ cursor: pointer;
2493
+ background: transparent;
2494
+ border: 0;
2495
+ }
2496
+
2497
+ .pull-right {
2498
+ float: right;
2499
+ }
2500
+
2501
+ .pull-left {
2502
+ float: left;
2503
+ }
2504
+
2505
+ .hide {
2506
+ display: none;
2507
+ }
2508
+
2509
+ .show {
2510
+ display: block;
2511
+ }
2512
+
2513
+ .invisible {
2514
+ visibility: hidden;
2515
+ }
2516
+
2517
+ .typeahead {
2518
+ margin-top: -1px;
2519
+ }
2520
+
2521
+ .fade {
2522
+ opacity: 0;
2523
+ -webkit-transition: opacity 0.15s linear;
2524
+ -moz-transition: opacity 0.15s linear;
2525
+ -o-transition: opacity 0.15s linear;
2526
+ transition: opacity 0.15s linear;
2527
+ }
2528
+
2529
+ .fade.in {
2530
+ opacity: 1;
2531
+ }
2532
+
2533
+ .collapse {
2534
+ position: relative;
2535
+ height: 0;
2536
+ overflow: hidden;
2537
+ -webkit-transition: height 0.35s ease;
2538
+ -moz-transition: height 0.35s ease;
2539
+ -o-transition: height 0.35s ease;
2540
+ transition: height 0.35s ease;
2541
+ }
2542
+
2543
+ .collapse.in {
2544
+ height: auto;
2545
+ }
2546
+
2547
+ .hidden {
2548
+ display: none;
2549
+ }
2550
+
2551
+ *=
2552
+ =
2553
+ =
2554
+ =
2555
+ =
2556
+ Popover
2557
+
2558
+ =
2559
+ =
2560
+ =
2561
+ =
2562
+ =
2563
+ *
2564
+
2565
+ /
2566
+
2567
+ .popover {
2568
+ position: absolute;
2569
+ top: 0;
2570
+ left: 0;
2571
+ z-index: 1010;
2572
+ display: none;
2573
+ background-color: #ffffff;
2574
+ border: 1px solid #d5d5d5;
2575
+ -webkit-background-clip: padding-box;
2576
+ -moz-background-clip: padding;
2577
+ background-clip: padding-box;
2578
+ -webkit-border-radius: 3px;
2579
+ -moz-border-radius: 3px;
2580
+ border-radius: 3px;
2581
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
2582
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
2583
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
2584
+ }
2585
+
2586
+ .popover.top {
2587
+ margin-bottom: 10px;
2588
+ }
2589
+
2590
+ .popover.right {
2591
+ margin-left: 10px;
2592
+ }
2593
+
2594
+ .popover.bottom {
2595
+ margin-top: 10px;
2596
+ }
2597
+
2598
+ .popover.left {
2599
+ margin-left: -10px;
2600
+ }
2601
+
2602
+ .popover-title {
2603
+ border-bottom: 1px solid #d5d5d5;
2604
+ margin: 0;
2605
+ padding: 9px 14px 8px 14px;
2606
+ font-size: 12px;
2607
+ font-weight: bold;
2608
+ line-height: 18px;
2609
+ -webkit-border-radius: 3px 3px 0 0;
2610
+ -moz-border-radius: 3px 3px 0 0;
2611
+ border-radius: 3px 3px 0 0;
2612
+ background: #f7f7f7;
2613
+ background: -moz-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
2614
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ffffff), color-stop(100%, #f2f2f2));
2615
+ background: -webkit-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
2616
+ background: -o-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
2617
+ background: -ms-linear-gradient(top, #ffffff 0%, #f2f2f2 100%);
2618
+ background: linear-gradient(to bottom, #ffffff 0%, #f2f2f2 100%);
2619
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f2f2f2', GradientType=0);
2620
+
2621
+ box-shadow: 0 1px 0 #fff;
2622
+ -webkit-box-shadow: 0 1px 0 #fff;
2623
+ -moz-box-shadow: 0 1px 0 #fff;
2624
+ }
2625
+
2626
+ .popover-content {
2627
+ padding: 9px 14px;
2628
+ }
2629
+
2630
+ .popover-content p, .popover-content ul, .popover-content ol {
2631
+ margin-bottom: 0;
2632
+ }
2633
+
2634
+ .popover .arrow, .popover .arrow:after {
2635
+ position: absolute;
2636
+ display: inline-block;
2637
+ width: 0;
2638
+ height: 0;
2639
+ border-color: transparent;
2640
+ border-style: solid;
2641
+ }
2642
+
2643
+ .popover .arrow:after {
2644
+ content: "";
2645
+ z-index: -1;
2646
+ }
2647
+
2648
+ .popover.top .arrow {
2649
+ bottom: -7px;
2650
+ left: 50%;
2651
+ margin-left: -7px;
2652
+ border-width: 7px 7px 0;
2653
+ border-top-color: #ffffff;
2654
+ }
2655
+
2656
+ .popover.top .arrow:after {
2657
+ border-width: 8px 8px 0;
2658
+ border-top-color: rgba(0, 0, 0, 0.25);
2659
+ bottom: -1px;
2660
+ left: -8px;
2661
+ }
2662
+
2663
+ .popover.right .arrow {
2664
+ top: 50%;
2665
+ left: -7px;
2666
+ margin-top: -7px;
2667
+ border-width: 7px 7px 7px 0;
2668
+ border-right-color: #ffffff;
2669
+ }
2670
+
2671
+ .popover.right .arrow:after {
2672
+ border-width: 8px 8px 8px 0;
2673
+ border-right-color: rgba(0, 0, 0, 0.25);
2674
+ bottom: -8px;
2675
+ left: -1px;
2676
+ }
2677
+
2678
+ .popover.bottom .arrow {
2679
+ top: -7px;
2680
+ left: 50%;
2681
+ margin-left: -7px;
2682
+ border-width: 0 7px 7px;
2683
+ border-bottom-color: #ffffff;
2684
+ }
2685
+
2686
+ .popover.bottom .arrow:after {
2687
+ border-width: 0 8px 8px;
2688
+ border-bottom-color: rgba(0, 0, 0, 0.25);
2689
+ top: -1px;
2690
+ left: -8px;
2691
+ }
2692
+
2693
+ .popover.left .arrow {
2694
+ top: 50%;
2695
+ right: -7px;
2696
+ margin-top: -7px;
2697
+ border-width: 7px 0 7px 7px;
2698
+ border-left-color: #ffffff;
2699
+ }
2700
+
2701
+ .popover.left .arrow:after {
2702
+ border-width: 8px 0 8px 8px;
2703
+ border-left-color: rgba(0, 0, 0, 0.25);
2704
+ bottom: -8px;
2705
+ right: -1px;
2706
+ }
2707
+
2708
+ .custom-layout-label {
2709
+ width: 120px;
2710
+ display: inline-block;
2711
+ }
2712
+
2713
+ .layout-form .layout-label-control-group {
2714
+ float: left;
2715
+ width: 160px;
2716
+ text-align: left;
2717
+ }
2718
+
2719
+ .layout-system-report {
2720
+ display: none;
2721
+ margin: 10px 0;
2722
+ padding: 0;
2723
+ position: relative;
2724
+ }
2725
+ .close-report
2726
+ {
2727
+ display: none;
2728
+ }
2729
+ .layout-system-report textarea {
2730
+ font-family: monospace;
2731
+ width: 100%;
2732
+ margin: 0;
2733
+ height: 300px;
2734
+ padding: 20px;
2735
+ -moz-border-radius: 0;
2736
+ -webkit-border-radius: 0;
2737
+ border-radius: 0;
2738
+ resize: none;
2739
+ font-size: 12px;
2740
+ line-height: 20px;
2741
+ outline: 0;
2742
+ }
2743
+ /************************************************************************************************/
2744
+ .layout-form .wpib-control-label {
2745
+ float: left;
2746
+ width: 160px;
2747
+ padding-top: 10px;
2748
+ text-align: left;
2749
+ }
2750
+ .layout-form .wpib-layout-controls {
2751
+ *display: inline-block;
2752
+ *padding-left: 20px;
2753
+ margin-left: 110px;
2754
+ *margin-left: 0;
2755
+ }
2756
+
2757
+ .layout-form .wpib-layout-controls-radio {
2758
+ margin-top: 7px;
2759
+ float: left;
2760
+ margin-left: 20px;
2761
+ }
2762
+
2763
+ .layout-form .wpib-layout-controls:first-child {
2764
+ *padding-left: 180px;
2765
+ }
2766
+
2767
+ .wpib-layout-controls > .radio,
2768
+ .wpib-layout-controls > .checkbox {
2769
+ display: inline-block;
2770
+ /*padding: 0 !important;*/
2771
+ margin: 0 !important;
2772
+ margin-top: 0px !important;
2773
+ margin-right: 15px !important;
2774
+ }
2775
+
2776
+ .wpib-layout-controls > .radio.line,
2777
+ .wpib-layout-controls > .checkbox.line {
2778
+ display: block;
2779
+ padding: 0 !important;
2780
+ margin: 0 !important;
2781
+ margin-top: 5px !important;
2782
+ }
2783
+
2784
+ .wpib-layout-controls .text {
2785
+ display: block;
2786
+ margin-top: 5px;
2787
+ }
2788
+
2789
+ .wpib-layout-controls > .radio:first-child,
2790
+ .wpib-layout-controls > .checkbox:first-child {
2791
+ padding-top: 7px;
2792
+ }
2793
+
2794
+ .wpib-layout-body {
2795
+ padding: 7px 15px;
2796
+ border-bottom: 1px solid #CDCDCD;
2797
+ -webkit-border-radius: 0px 0px 3px 3px;
2798
+ -moz-border-radius: 0px 0px 3px 3px;
2799
+ border-radius: 0px 0px 3px 3px;
2800
+ }
2801
+ .wpib-submit-btn
2802
+ {
2803
+ float:right !important;
2804
+ margin-bottom: 8px !important;
2805
+ margin-top: 0px ;
2806
+ }
2807
+ .wpib-previous-btn
2808
+ {
2809
+ float:left;
2810
+ color: #fff !important;
2811
+ margin-bottom: 8px !important;
2812
+ margin-top: 0px !important;
2813
+ }
2814
+
2815
+ /* # Flip buttons
2816
+ ================================================== */
2817
+ /* entire container, keeps perspective */
2818
+ .flip-container {
2819
+ perspective: 1000;
2820
+ -webkit-perspective: 1000;
2821
+ -moz-perspective: 1000;
2822
+ transform-style: preserve-3d;
2823
+ -webkit-transform-style: preserve-3d;
2824
+ -moz-transform-style: preserve-3d;
2825
+ }
2826
+ /* UPDATED! flip the pane when hovered */
2827
+ .wpib-dashboard-links:hover .back {
2828
+ -webkit-transform: rotateY(0deg);
2829
+ -moz-transform: rotateY(0deg);
2830
+ transform: rotateY(0deg);
2831
+ }
2832
+ .wpib-dashboard-links:hover .front {
2833
+ -webkit-transform: rotateY(180deg);
2834
+ -moz-transform: rotateY(180deg);
2835
+ transform: rotateY(180deg);
2836
+ }
2837
+
2838
+ .flip-container, .front, .back {
2839
+ width: 100%;
2840
+ height: 60px;
2841
+ }
2842
+
2843
+ /* flip speed goes here */
2844
+ .flipper {
2845
+ transition: 0.6s;
2846
+ -webkit-transition: 0.6s;
2847
+ -moz-transition: 0.6s;
2848
+ transform-style: preserve-3d;
2849
+ -webkit-transform-style: preserve-3d;
2850
+ -moz-transform-style: preserve-3d;
2851
+
2852
+ position: relative;
2853
+ }
2854
+
2855
+ /* hide back of pane during swap */
2856
+ .front, .back {
2857
+ -webkit-backface-visibility: hidden;
2858
+ -moz-backface-visibility: hidden;
2859
+ backface-visibility: hidden;
2860
+ transition: 0.6s;
2861
+ -moz-transition: 0.6s;
2862
+ -webkit-transition: 0.6s;
2863
+ -webkit-transform-style: preserve-3d;
2864
+ -moz-transform-style: preserve-3d;
2865
+ transform-style: preserve-3d;
2866
+
2867
+ position: absolute;
2868
+ top: 0;
2869
+ left: 0;
2870
+ }
2871
+
2872
+ /* UPDATED! front pane, placed above back */
2873
+ .front {
2874
+ z-index: 1;
2875
+ -webkit-transform: rotateY(0deg);
2876
+ -moz-transform: rotateY(0deg);
2877
+ transform: rotateY(0deg);
2878
+ }
2879
+
2880
+ /* back, initially hidden pane */
2881
+ .back {
2882
+ -webkit-transform: rotateY(-180deg);
2883
+ -moz-transform: rotateY(-180deg);
2884
+ transform: rotateY(-180deg);
2885
+ }
2886
+
2887
+ /*
2888
+ Some vertical flip updates
2889
+ */
2890
+ /*.vertical.flip-container {
2891
+ position: relative;
2892
+ }
2893
+
2894
+ .vertical .back {
2895
+ -webkit-transform: rotateX(180deg);
2896
+ -moz-transform: rotateX(180deg);
2897
+ transform: rotateX(180deg);
2898
+ }
2899
+
2900
+ .vertical.wpib-dashboard-links:hover .back {
2901
+ -webkit-transform: rotateX(0deg);
2902
+ -moz-transform: rotateX(0deg);
2903
+ transform: rotateX(0deg);
2904
+ }
2905
+
2906
+ .vertical.wpib-dashboard-links:hover .front {
2907
+ -webkit-transform: rotateX(180deg);
2908
+ -moz-transform: rotateX(180deg);
2909
+ transform: rotateX(180deg);
2910
+ }*/
2911
+
2912
+
2913
+
2914
+
2915
+ /*/* entire container, keeps perspective */
2916
+ /*.flip-container {
2917
+ -webkit-perspective: 1000px;
2918
+ -moz-perspective: 1000px;
2919
+ -ms-perspective: 1000px;
2920
+ -o-perspective: 1000px;
2921
+ perspective: 1000px;
2922
+ }*/
2923
+ /* flip the pane when hovered */
2924
+ /*.wpib-dashboard-links:hover .flipper, .flip-container.hover .flipper {
2925
+ -webkit-transform: rotateY(180deg);
2926
+ -moz-transform: rotateY(180deg);
2927
+ -ms-transform: rotateY(180deg);
2928
+ transform: rotateY(180deg);
2929
+ }
2930
+
2931
+ .flip-container, .front, .back {
2932
+ width: 100%;
2933
+ height: 74px;
2934
+
2935
+ }*/
2936
+
2937
+ /* flip speed goes here */
2938
+ /*.flipper {
2939
+ -webkit-transition: 0.6s;
2940
+ -moz-transition: 0.6s;
2941
+ transition: 0.6s;
2942
+ -webkit-transform-style: preserve-3d;
2943
+ -moz-transform-style: preserve-3d;
2944
+ -ms-transform-style: preserve-3d;
2945
+ transform-style: preserve-3d;
2946
+ position: relative;
2947
+ }
2948
+
2949
+ /* hide back of pane during swap */
2950
+ /*.front, .back {
2951
+ backface-visibility: hidden;
2952
+ -webkit-backface-visibility: hidden;
2953
+ -moz-backface-visibility: hidden;
2954
+ -ms-backface-visibility: hidden;
2955
+
2956
+
2957
+ position: absolute;
2958
+ top: 0;
2959
+ left: 0;
2960
+ }*
2961
+
2962
+ /* front pane, placed above back */
2963
+ /*.front {
2964
+ z-index: 0;
2965
+ }*/
2966
+
2967
+ /* back, initially hidden pane */
2968
+ /*.back {
2969
+ -webkit-transform: rotateY(180deg);
2970
+ -moz-transform: rotateY(180deg);
2971
+ transform: rotateY(180deg);
2972
+ -ms-transform: rotateY(180deg);
2973
+ }*/
2974
+
2975
+ /* # Tooltips & popovers
2976
+ ================================================== */
2977
+
2978
+ .tooltip { position: absolute; z-index: 10300; display: block; visibility: visible; padding: 5px; font-size: 11px; opacity: 0; filter: alpha(opacity=0); }
2979
+ .tooltip.in { opacity: 0.8; filter: alpha(opacity=80); }
2980
+ .tooltip.top { margin-top: -3px; }
2981
+ .tooltip.right { margin-left: 3px; }
2982
+ .tooltip.bottom { margin-top: 3px; }
2983
+ .tooltip.left { margin-left: -3px; }
2984
+ .tooltip-inner { max-width: 200px; padding: 3px 8px; color: #ffffff; text-align: center; text-decoration: none; background-color: #202020; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; }
2985
+ .tooltip-arrow { position: absolute; width: 0; height: 0; border-color: transparent; border-style: solid; }
2986
+ .tooltip.top .tooltip-arrow { bottom: 0; left: 50%; margin-left: -5px; border-width: 5px 5px 0; border-top-color: #000000; }
2987
+ .tooltip.right .tooltip-arrow { top: 50%; left: 0; margin-top: -5px; border-width: 5px 5px 5px 0; border-right-color: #000000; }
2988
+ .tooltip.left .tooltip-arrow { top: 50%; right: 0; margin-top: -5px; border-width: 5px 0 5px 5px; border-left-color: #000000; }
2989
+ .tooltip.bottom .tooltip-arrow { top: 0; left: 50%; margin-left: -5px; border-width: 0 5px 5px; border-bottom-color: #000000; }
2990
+
2991
+ /********************************************************************************/
2992
+
2993
+ @media (min-width: 768px) and (max-width: 979px) {
2994
+ .hidden-desktop {
2995
+ display: inherit !important;
2996
+ }
2997
+
2998
+ .visible-desktop {
2999
+ display: none !important;
3000
+ }
3001
+
3002
+ .visible-tablet {
3003
+ display: inherit !important;
3004
+ }
3005
+
3006
+ .hidden-tablet {
3007
+ display: none !important;
3008
+ }
3009
+ }
3010
+
3011
+ @media (max-width: 767px) {
3012
+ .hidden-desktop {
3013
+ display: inherit !important;
3014
+ }
3015
+
3016
+ .visible-desktop {
3017
+ display: none !important;
3018
+ }
3019
+
3020
+ .visible-phone {
3021
+ display: inherit !important;
3022
+ }
3023
+
3024
+ .hidden-phone {
3025
+ display: none !important;
3026
+ }
3027
+ }
3028
+
3029
+ @media (min-width: 1200px) {
3030
+
3031
+ [class*="layout-span"] {
3032
+ float: left;
3033
+ min-height: 1px;
3034
+ margin-left: 30px;
3035
+ }
3036
+
3037
+ .layout-span12 {
3038
+ width: 1170px;
3039
+ }
3040
+
3041
+ .layout-span11 {
3042
+ width: 1070px;
3043
+ }
3044
+
3045
+ .layout-span10 {
3046
+ width: 970px;
3047
+ }
3048
+
3049
+ .layout-span9 {
3050
+ width: 870px;
3051
+ }
3052
+
3053
+ .layout-span8 {
3054
+ width: 770px;
3055
+ }
3056
+
3057
+ .layout-span7 {
3058
+ width: 670px;
3059
+ }
3060
+
3061
+ .layout-span6 {
3062
+ width: 570px;
3063
+ }
3064
+
3065
+ .layout-span5 {
3066
+ width: 470px;
3067
+ }
3068
+
3069
+ .layout-span4 {
3070
+ width: 370px;
3071
+ }
3072
+
3073
+ .layout-span3 {
3074
+ width: 270px;
3075
+ }
3076
+
3077
+ .layout-span2 {
3078
+ width: 170px;
3079
+ }
3080
+
3081
+ .layout-span1 {
3082
+ width: 70px;
3083
+ }
3084
+
3085
+ .offset12 {
3086
+ margin-left: 1230px;
3087
+ }
3088
+
3089
+ .offset11 {
3090
+ margin-left: 1130px;
3091
+ }
3092
+
3093
+ .offset10 {
3094
+ margin-left: 1030px;
3095
+ }
3096
+
3097
+ .offset9 {
3098
+ margin-left: 930px;
3099
+ }
3100
+
3101
+ .offset8 {
3102
+ margin-left: 830px;
3103
+ }
3104
+
3105
+ .offset7 {
3106
+ margin-left: 730px;
3107
+ }
3108
+
3109
+ .offset6 {
3110
+ margin-left: 630px;
3111
+ }
3112
+
3113
+ .offset5 {
3114
+ margin-left: 530px;
3115
+ }
3116
+
3117
+ .offset4 {
3118
+ margin-left: 430px;
3119
+ }
3120
+
3121
+ .offset3 {
3122
+ margin-left: 330px;
3123
+ }
3124
+
3125
+ .offset2 {
3126
+ margin-left: 230px;
3127
+ }
3128
+
3129
+ .offset1 {
3130
+ margin-left: 130px;
3131
+ }
3132
+ .fluid-layout {
3133
+ width: 99%;
3134
+ margin-top: 1%;
3135
+ *zoom: 1;
3136
+ }
3137
+
3138
+ .fluid-layout:before,
3139
+ .fluid-layout:after {
3140
+ display: table;
3141
+ line-height: 0;
3142
+ content: "";
3143
+ }
3144
+
3145
+ .fluid-layout:after {
3146
+ clear: both;
3147
+ }
3148
+
3149
+ .fluid-layout [class*="layout-span"] {
3150
+ display: block;
3151
+ float: left;
3152
+ width: 100%;
3153
+ min-height: 27px;
3154
+ margin-left: 2.564102564102564%;
3155
+ *margin-left: 2.5109110747408616%;
3156
+ -webkit-box-sizing: border-box;
3157
+ -moz-box-sizing: border-box;
3158
+ box-sizing: border-box;
3159
+ }
3160
+
3161
+ .fluid-layout [class*="layout-span"]:first-child {
3162
+ margin-left: 0;
3163
+ }
3164
+
3165
+ .fluid-layout .controls-row [class*="layout-span"] + [class*="layout-span"] {
3166
+ margin-left: 2.564102564102564%;
3167
+ }
3168
+
3169
+ .fluid-layout .layout-span12 {
3170
+ width: 100%;
3171
+ *width: 99.94680851063829% !important;
3172
+ }
3173
+
3174
+ .fluid-layout .layout-span11 {
3175
+ width: 91.45299145299145%;
3176
+ *width: 91.39979996362975%;
3177
+ }
3178
+
3179
+ .fluid-layout .layout-span10 {
3180
+ width: 82.90598290598291%;
3181
+ *width: 82.8527914166212%;
3182
+ }
3183
+
3184
+ .fluid-layout .layout-span9 {
3185
+ width: 74.35897435897436%;
3186
+ *width: 74.30578286961266%;
3187
+ }
3188
+
3189
+ .fluid-layout .layout-span8 {
3190
+ width: 65.81196581196582%;
3191
+ *width: 65.75877432260411%;
3192
+ }
3193
+
3194
+ .fluid-layout .layout-span7 {
3195
+ width: 57.26495726495726%;
3196
+ *width: 57.21176577559556%;
3197
+ }
3198
+
3199
+ .fluid-layout .layout-span6 {
3200
+ width: 48.717948717948715%;
3201
+ *width: 48.664757228587014%;
3202
+ }
3203
+
3204
+ .fluid-layout .layout-span5 {
3205
+ width: 40.17094017094017%;
3206
+ *width: 40.11774868157847%;
3207
+ }
3208
+
3209
+ .fluid-layout .layout-span4 {
3210
+ width: 31.623931623931625%;
3211
+ *width: 31.570740134569924%;
3212
+ }
3213
+
3214
+ .fluid-layout .layout-span3 {
3215
+ width: 23.076923076923077%;
3216
+ *width: 23.023731587561375%;
3217
+ }
3218
+
3219
+ .fluid-layout .layout-span2 {
3220
+ width: 14.52991452991453%;
3221
+ *width: 14.476723040552828%;
3222
+ }
3223
+
3224
+ .fluid-layout .layout-span1 {
3225
+ width: 5.982905982905983%;
3226
+ *width: 5.929714493544281%;
3227
+ }
3228
+
3229
+ .fluid-layout .offset12 {
3230
+ margin-left: 105.12820512820512%;
3231
+ *margin-left: 105.02182214948171%;
3232
+ }
3233
+
3234
+ .fluid-layout .offset12:first-child {
3235
+ margin-left: 102.56410256410257%;
3236
+ *margin-left: 102.45771958537915%;
3237
+ }
3238
+
3239
+ .fluid-layout .offset11 {
3240
+ margin-left: 96.58119658119658%;
3241
+ *margin-left: 96.47481360247316%;
3242
+ }
3243
+
3244
+ .fluid-layout .offset11:first-child {
3245
+ margin-left: 94.01709401709402%;
3246
+ *margin-left: 93.91071103837061%;
3247
+ }
3248
+
3249
+ .fluid-layout .offset10 {
3250
+ margin-left: 88.03418803418803%;
3251
+ *margin-left: 87.92780505546462%;
3252
+ }
3253
+
3254
+ .fluid-layout .offset10:first-child {
3255
+ margin-left: 85.47008547008548%;
3256
+ *margin-left: 85.36370249136206%;
3257
+ }
3258
+
3259
+ .fluid-layout .offset9 {
3260
+ margin-left: 79.48717948717949%;
3261
+ *margin-left: 79.38079650845607%;
3262
+ }
3263
+
3264
+ .fluid-layout .offset9:first-child {
3265
+ margin-left: 76.92307692307693%;
3266
+ *margin-left: 76.81669394435352%;
3267
+ }
3268
+
3269
+ .fluid-layout .offset8 {
3270
+ margin-left: 70.94017094017094%;
3271
+ *margin-left: 70.83378796144753%;
3272
+ }
3273
+
3274
+ .fluid-layout .offset8:first-child {
3275
+ margin-left: 68.37606837606839%;
3276
+ *margin-left: 68.26968539734497%;
3277
+ }
3278
+
3279
+ .fluid-layout .offset7 {
3280
+ margin-left: 62.393162393162385%;
3281
+ *margin-left: 62.28677941443899%;
3282
+ }
3283
+
3284
+ .fluid-layout .offset7:first-child {
3285
+ margin-left: 59.82905982905982%;
3286
+ *margin-left: 59.72267685033642%;
3287
+ }
3288
+
3289
+ .fluid-layout .offset6 {
3290
+ margin-left: 53.84615384615384%;
3291
+ *margin-left: 53.739770867430444%;
3292
+ }
3293
+
3294
+ .fluid-layout .offset6:first-child {
3295
+ margin-left: 51.28205128205128%;
3296
+ *margin-left: 51.175668303327875%;
3297
+ }
3298
+
3299
+ .fluid-layout .offset5 {
3300
+ margin-left: 45.299145299145295%;
3301
+ *margin-left: 45.1927623204219%;
3302
+ }
3303
+
3304
+ .fluid-layout .offset5:first-child {
3305
+ margin-left: 42.73504273504273%;
3306
+ *margin-left: 42.62865975631933%;
3307
+ }
3308
+
3309
+ .fluid-layout .offset4 {
3310
+ margin-left: 36.75213675213675%;
3311
+ *margin-left: 36.645753773413354%;
3312
+ }
3313
+
3314
+ .fluid-layout .offset4:first-child {
3315
+ margin-left: 34.18803418803419%;
3316
+ *margin-left: 34.081651209310785%;
3317
+ }
3318
+
3319
+ .fluid-layout .offset3 {
3320
+ margin-left: 28.205128205128204%;
3321
+ *margin-left: 28.0987452264048%;
3322
+ }
3323
+
3324
+ .fluid-layout .offset3:first-child {
3325
+ margin-left: 25.641025641025642%;
3326
+ *margin-left: 25.53464266230224%;
3327
+ }
3328
+
3329
+ .fluid-layout .offset2 {
3330
+ margin-left: 19.65811965811966%;
3331
+ *margin-left: 19.551736679396257%;
3332
+ }
3333
+
3334
+ .fluid-layout .offset2:first-child {
3335
+ margin-left: 17.094017094017094%;
3336
+ *margin-left: 16.98763411529369%;
3337
+ }
3338
+
3339
+ .fluid-layout .offset1 {
3340
+ margin-left: 11.11111111111111%;
3341
+ *margin-left: 11.004728132387708%;
3342
+ }
3343
+
3344
+ .fluid-layout .offset1:first-child {
3345
+ margin-left: 8.547008547008547%;
3346
+ *margin-left: 8.440625568285142%;
3347
+ }
3348
+
3349
+ input,
3350
+ textarea,
3351
+ .uneditable-input {
3352
+ margin-left: 0;
3353
+ }
3354
+
3355
+ .controls-row [class*="layout-span"] + [class*="layout-span"] {
3356
+ margin-left: 30px;
3357
+ }
3358
+
3359
+ input.layout-span12,
3360
+ textarea.layout-span12,
3361
+ .uneditable-input.layout-span12 {
3362
+ width: 1156px;
3363
+ }
3364
+
3365
+ input.layout-span11,
3366
+ textarea.layout-span11,
3367
+ .uneditable-input.layout-span11 {
3368
+ width: 1056px;
3369
+ }
3370
+
3371
+ input.layout-span10,
3372
+ textarea.layout-span10,
3373
+ .uneditable-input.layout-span10 {
3374
+ width: 956px;
3375
+ }
3376
+
3377
+ input.layout-span9,
3378
+ textarea.layout-span9,
3379
+ .uneditable-input.layout-span9 {
3380
+ width: 856px;
3381
+ }
3382
+
3383
+ input.layout-span8,
3384
+ textarea.layout-span8,
3385
+ .uneditable-input.layout-span8 {
3386
+ width: 756px;
3387
+ }
3388
+
3389
+ input.layout-span7,
3390
+ textarea.layout-span7,
3391
+ .uneditable-input.layout-span7 {
3392
+ width: 656px;
3393
+ }
3394
+
3395
+ input.layout-span6,
3396
+ textarea.layout-span6,
3397
+ .uneditable-input.layout-span6 {
3398
+ width: 556px;
3399
+ }
3400
+
3401
+ input.layout-span5,
3402
+ textarea.layout-span5,
3403
+ .uneditable-input.layout-span5 {
3404
+ width: 456px;
3405
+ }
3406
+
3407
+ input.layout-span4,
3408
+ textarea.layout-span4,
3409
+ .uneditable-input.layout-span4 {
3410
+ width: 356px;
3411
+ }
3412
+
3413
+ input.layout-span3,
3414
+ textarea.layout-span3,
3415
+ .uneditable-input.layout-span3 {
3416
+ width: 256px;
3417
+ }
3418
+
3419
+ input.layout-span2,
3420
+ textarea.layout-span2,
3421
+ .uneditable-input.layout-span2 {
3422
+ width: 156px;
3423
+ }
3424
+
3425
+ input.layout-span1,
3426
+ textarea.layout-span1,
3427
+ .uneditable-input.layout-span1 {
3428
+ width: 56px;
3429
+ }
3430
+
3431
+ .thumbnails {
3432
+ margin-left: -30px;
3433
+ }
3434
+
3435
+ .thumbnails > li {
3436
+ margin-left: 30px;
3437
+ }
3438
+
3439
+ .fluid-layout .thumbnails {
3440
+ margin-left: 0;
3441
+ }
3442
+ }
3443
+
3444
+ @media (min-width: 768px) and (max-width: 979px) {
3445
+
3446
+ [class*="layout-span"] {
3447
+ float: left;
3448
+ min-height: 1px;
3449
+ margin-left: 20px;
3450
+ }
3451
+
3452
+ .container,
3453
+ .navbar-static-top .container,
3454
+ .navbar-fixed-top .container,
3455
+ .navbar-fixed-bottom .container {
3456
+ width: 724px;
3457
+ }
3458
+
3459
+ .layout-span12 {
3460
+ width: 724px;
3461
+ }
3462
+
3463
+ .layout-span11 {
3464
+ width: 662px;
3465
+ }
3466
+
3467
+ .layout-span10 {
3468
+ width: 600px;
3469
+ }
3470
+
3471
+ .layout-span9 {
3472
+ width: 538px;
3473
+ }
3474
+
3475
+ .layout-span8 {
3476
+ width: 476px;
3477
+ }
3478
+
3479
+ .layout-span7 {
3480
+ width: 414px;
3481
+ }
3482
+
3483
+ .layout-span6 {
3484
+ width: 352px;
3485
+ }
3486
+
3487
+ .layout-span5 {
3488
+ width: 290px;
3489
+ }
3490
+
3491
+ .layout-span4 {
3492
+ width: 228px;
3493
+ }
3494
+
3495
+ .layout-span3 {
3496
+ width: 166px;
3497
+ }
3498
+
3499
+ .layout-span2 {
3500
+ width: 104px;
3501
+ }
3502
+
3503
+ .layout-span1 {
3504
+ width: 42px;
3505
+ }
3506
+
3507
+ .offset12 {
3508
+ margin-left: 764px;
3509
+ }
3510
+
3511
+ .offset11 {
3512
+ margin-left: 702px;
3513
+ }
3514
+
3515
+ .offset10 {
3516
+ margin-left: 640px;
3517
+ }
3518
+
3519
+ .offset9 {
3520
+ margin-left: 578px;
3521
+ }
3522
+
3523
+ .offset8 {
3524
+ margin-left: 516px;
3525
+ }
3526
+
3527
+ .offset7 {
3528
+ margin-left: 454px;
3529
+ }
3530
+
3531
+ .offset6 {
3532
+ margin-left: 392px;
3533
+ }
3534
+
3535
+ .offset5 {
3536
+ margin-left: 330px;
3537
+ }
3538
+
3539
+ .offset4 {
3540
+ margin-left: 268px;
3541
+ }
3542
+
3543
+ .offset3 {
3544
+ margin-left: 206px;
3545
+ }
3546
+
3547
+ .offset2 {
3548
+ margin-left: 144px;
3549
+ }
3550
+
3551
+ .offset1 {
3552
+ margin-left: 82px;
3553
+ }
3554
+
3555
+ .fluid-layout {
3556
+ width: 99%;
3557
+ margin-top: 1%;
3558
+ *zoom: 1;
3559
+ }
3560
+
3561
+ .fluid-layout:before,
3562
+ .fluid-layout:after {
3563
+ display: table;
3564
+ line-height: 0;
3565
+ content: "";
3566
+ }
3567
+
3568
+ .fluid-layout:after {
3569
+ clear: both;
3570
+ }
3571
+
3572
+ .fluid-layout [class*="layout-span"] {
3573
+ display: block;
3574
+ float: left;
3575
+ width: 100%;
3576
+ min-height: 30px;
3577
+ margin-left: 2.7624309392265194%;
3578
+ *margin-left: 2.709239449864817%;
3579
+ -webkit-box-sizing: border-box;
3580
+ -moz-box-sizing: border-box;
3581
+ box-sizing: border-box;
3582
+ }
3583
+
3584
+ .fluid-layout [class*="layout-span"]:first-child {
3585
+ margin-left: 0;
3586
+ }
3587
+
3588
+ .fluid-layout .controls-row [class*="layout-span"] + [class*="layout-span"] {
3589
+ margin-left: 2.7624309392265194%;
3590
+ }
3591
+
3592
+ .fluid-layout .layout-span12 {
3593
+ width: 100%;
3594
+ *width: 99.94680851063829%;
3595
+ }
3596
+
3597
+ .fluid-layout .layout-span11 {
3598
+ width: 91.43646408839778%;
3599
+ *width: 91.38327259903608%;
3600
+ }
3601
+
3602
+ .fluid-layout .layout-span10 {
3603
+ width: 82.87292817679558%;
3604
+ *width: 82.81973668743387%;
3605
+ }
3606
+
3607
+ .fluid-layout .layout-span9 {
3608
+ width: 74.30939226519337%;
3609
+ *width: 74.25620077583166%;
3610
+ }
3611
+
3612
+ .fluid-layout .layout-span8 {
3613
+ width: 65.74585635359117%;
3614
+ *width: 65.69266486422946%;
3615
+ }
3616
+
3617
+ .fluid-layout .layout-span7 {
3618
+ width: 57.18232044198895%;
3619
+ *width: 57.12912895262725%;
3620
+ }
3621
+
3622
+ .fluid-layout .layout-span6 {
3623
+ width: 48.61878453038674%;
3624
+ *width: 48.56559304102504%;
3625
+ }
3626
+
3627
+ .fluid-layout .layout-span5 {
3628
+ width: 40.05524861878453%;
3629
+ *width: 40.00205712942283%;
3630
+ }
3631
+
3632
+ .fluid-layout .layout-span4 {
3633
+ width: 31.491712707182323%;
3634
+ *width: 31.43852121782062%;
3635
+ }
3636
+
3637
+ .fluid-layout .layout-span3 {
3638
+ width: 22.92817679558011%;
3639
+ *width: 22.87498530621841%;
3640
+ }
3641
+
3642
+ .fluid-layout .layout-span2 {
3643
+ width: 14.3646408839779%;
3644
+ *width: 14.311449394616199%;
3645
+ }
3646
+
3647
+ .fluid-layout .layout-span1 {
3648
+ width: 5.801104972375691%;
3649
+ *width: 5.747913483013988%;
3650
+ }
3651
+
3652
+ .fluid-layout .offset12 {
3653
+ margin-left: 105.52486187845304%;
3654
+ *margin-left: 105.41847889972962%;
3655
+ }
3656
+
3657
+ .fluid-layout .offset12:first-child {
3658
+ margin-left: 102.76243093922652%;
3659
+ *margin-left: 102.6560479605031%;
3660
+ }
3661
+
3662
+ .fluid-layout .offset11 {
3663
+ margin-left: 96.96132596685082%;
3664
+ *margin-left: 96.8549429881274%;
3665
+ }
3666
+
3667
+ .fluid-layout .offset11:first-child {
3668
+ margin-left: 94.1988950276243%;
3669
+ *margin-left: 94.09251204890089%;
3670
+ }
3671
+
3672
+ .fluid-layout .offset10 {
3673
+ margin-left: 88.39779005524862%;
3674
+ *margin-left: 88.2914070765252%;
3675
+ }
3676
+
3677
+ .fluid-layout .offset10:first-child {
3678
+ margin-left: 85.6353591160221%;
3679
+ *margin-left: 85.52897613729868%;
3680
+ }
3681
+
3682
+ .fluid-layout .offset9 {
3683
+ margin-left: 79.8342541436464%;
3684
+ *margin-left: 79.72787116492299%;
3685
+ }
3686
+
3687
+ .fluid-layout .offset9:first-child {
3688
+ margin-left: 77.07182320441989%;
3689
+ *margin-left: 76.96544022569647%;
3690
+ }
3691
+
3692
+ .fluid-layout .offset8 {
3693
+ margin-left: 71.2707182320442%;
3694
+ *margin-left: 71.16433525332079%;
3695
+ }
3696
+
3697
+ .fluid-layout .offset8:first-child {
3698
+ margin-left: 68.50828729281768%;
3699
+ *margin-left: 68.40190431409427%;
3700
+ }
3701
+
3702
+ .fluid-layout .offset7 {
3703
+ margin-left: 62.70718232044199%;
3704
+ *margin-left: 62.600799341718584%;
3705
+ }
3706
+
3707
+ .fluid-layout .offset7:first-child {
3708
+ margin-left: 59.94475138121547%;
3709
+ *margin-left: 59.838368402492065%;
3710
+ }
3711
+
3712
+ .fluid-layout .offset6 {
3713
+ margin-left: 54.14364640883978%;
3714
+ *margin-left: 54.037263430116376%;
3715
+ }
3716
+
3717
+ .fluid-layout .offset6:first-child {
3718
+ margin-left: 51.38121546961326%;
3719
+ *margin-left: 51.27483249088986%;
3720
+ }
3721
+
3722
+ .fluid-layout .offset5 {
3723
+ margin-left: 45.58011049723757%;
3724
+ *margin-left: 45.47372751851417%;
3725
+ }
3726
+
3727
+ .fluid-layout .offset5:first-child {
3728
+ margin-left: 42.81767955801105%;
3729
+ *margin-left: 42.71129657928765%;
3730
+ }
3731
+
3732
+ .fluid-layout .offset4 {
3733
+ margin-left: 37.01657458563536%;
3734
+ *margin-left: 36.91019160691196%;
3735
+ }
3736
+
3737
+ .fluid-layout .offset4:first-child {
3738
+ margin-left: 34.25414364640884%;
3739
+ *margin-left: 34.14776066768544%;
3740
+ }
3741
+
3742
+ .fluid-layout .offset3 {
3743
+ margin-left: 28.45303867403315%;
3744
+ *margin-left: 28.346655695309746%;
3745
+ }
3746
+
3747
+ .fluid-layout .offset3:first-child {
3748
+ margin-left: 25.69060773480663%;
3749
+ *margin-left: 25.584224756083227%;
3750
+ }
3751
+
3752
+ .fluid-layout .offset2 {
3753
+ margin-left: 19.88950276243094%;
3754
+ *margin-left: 19.783119783707537%;
3755
+ }
3756
+
3757
+ .fluid-layout .offset2:first-child {
3758
+ margin-left: 17.12707182320442%;
3759
+ *margin-left: 17.02068884448102%;
3760
+ }
3761
+
3762
+ .fluid-layout .offset1 {
3763
+ margin-left: 11.32596685082873%;
3764
+ *margin-left: 11.219583872105325%;
3765
+ }
3766
+
3767
+ .fluid-layout .offset1:first-child {
3768
+ margin-left: 8.56353591160221%;
3769
+ *margin-left: 8.457152932878806%;
3770
+ }
3771
+
3772
+ .controls-row [class*="layout-span"] + [class*="layout-span"] {
3773
+ margin-left: 20px;
3774
+ }
3775
+
3776
+ input.layout-span12,
3777
+ textarea.layout-span12,
3778
+ .uneditable-input.layout-span12 {
3779
+ width: 710px;
3780
+ }
3781
+
3782
+ input.layout-span11,
3783
+ textarea.layout-span11,
3784
+ .uneditable-input.layout-span11 {
3785
+ width: 648px;
3786
+ }
3787
+
3788
+ input.layout-span10,
3789
+ textarea.layout-span10,
3790
+ .uneditable-input.layout-span10 {
3791
+ width: 586px;
3792
+ }
3793
+
3794
+ input.layout-span9,
3795
+ textarea.layout-span9,
3796
+ .uneditable-input.layout-span9 {
3797
+ width: 524px;
3798
+ }
3799
+
3800
+ input.layout-span8,
3801
+ textarea.layout-span8,
3802
+ .uneditable-input.layout-span8 {
3803
+ width: 462px;
3804
+ }
3805
+
3806
+ input.layout-span7,
3807
+ textarea.layout-span7,
3808
+ .uneditable-input.layout-span7 {
3809
+ width: 400px;
3810
+ }
3811
+
3812
+ input.layout-span6,
3813
+ textarea.layout-span6,
3814
+ .uneditable-input.layout-span6 {
3815
+ width: 338px;
3816
+ }
3817
+
3818
+ input.layout-span5,
3819
+ textarea.layout-span5,
3820
+ .uneditable-input.layout-span5 {
3821
+ width: 276px;
3822
+ }
3823
+
3824
+ input.layout-span4,
3825
+ textarea.layout-span4,
3826
+ .uneditable-input.layout-span4 {
3827
+ width: 214px;
3828
+ }
3829
+
3830
+ input.layout-span3,
3831
+ textarea.layout-span3,
3832
+ .uneditable-input.layout-span3 {
3833
+ width: 152px;
3834
+ }
3835
+
3836
+ input.layout-span2,
3837
+ textarea.layout-span2,
3838
+ .uneditable-input.layout-span2 {
3839
+ width: 90px;
3840
+ }
3841
+
3842
+ input.layout-span1,
3843
+ textarea.layout-span1,
3844
+ .uneditable-input.layout-span1 {
3845
+ width: 28px;
3846
+ }
3847
+ }
3848
+
3849
+ @media (max-width: 767px) {
3850
+ .fluid-layout {
3851
+ width: 99%;
3852
+ margin-top: 1%;
3853
+ }
3854
+
3855
+ [class*="layout-span"],
3856
+ .uneditable-input[class*="layout-span"],
3857
+ .fluid-layout [class*="layout-span"] {
3858
+ display: block;
3859
+ float: none;
3860
+ width: 100%;
3861
+ margin-left: 0;
3862
+ -webkit-box-sizing: border-box;
3863
+ -moz-box-sizing: border-box;
3864
+ box-sizing: border-box;
3865
+ }
3866
+
3867
+ .layout-span12,
3868
+ .fluid-layout .layout-span12 {
3869
+ width: 100%;
3870
+ -webkit-box-sizing: border-box;
3871
+ -moz-box-sizing: border-box;
3872
+ box-sizing: border-box;
3873
+ }
3874
+
3875
+ .fluid-layout [class*="offset"]:first-child {
3876
+ margin-left: 0;
3877
+ }
3878
+
3879
+ input[class*="layout-span"],
3880
+ select[class*="layout-span"],
3881
+ textarea[class*="layout-span"],
3882
+ .uneditable-input {
3883
+ display: block;
3884
+ width: 100%;
3885
+ min-height: 30px;
3886
+ -webkit-box-sizing: border-box;
3887
+ -moz-box-sizing: border-box;
3888
+ box-sizing: border-box;
3889
+ }
3890
+
3891
+ .input-prepend input[class*="layout-span"],
3892
+ .input-append input[class*="layout-span"] {
3893
+ display: inline-block;
3894
+ width: auto;
3895
+ }
3896
+
3897
+ .controls-row [class*="layout-span"] + [class*="layout-span"] {
3898
+ margin-left: 0;
3899
+ }
3900
+
3901
+ }
3902
+ @media (max-width: 480px) {
3903
+ .layout-form .layout-control-label {
3904
+ float: none;
3905
+ width: auto;
3906
+ padding-top: 0;
3907
+ text-align: left;
3908
+ }
3909
+ @media (max-width: 480px) {
3910
+ .layout-form .wpib-layout-control-label {
3911
+ float: none;
3912
+ width: auto;
3913
+ padding-top: 0;
3914
+ text-align: left;
3915
+ }
3916
+
3917
+ /**************************************************/
3918
+ .layout-form .wpib-control-label {
3919
+ float: none;
3920
+ width: auto;
3921
+ padding-top: 0;
3922
+ text-align: left;
3923
+ }
3924
+ /**************************************************/
3925
+
3926
+ .layout-form .layout-label-control-group {
3927
+ float: none;
3928
+ width: auto;
3929
+ padding-top: 0;
3930
+ text-align: left;
3931
+ }
3932
+
3933
+ .layout-form .layout-controls {
3934
+ margin-left: 0;
3935
+ }
3936
+
3937
+ .layout-form .layout-controls-radio {
3938
+ margin-left: 0;
3939
+ }
3940
+
3941
+ /**************************************************/
3942
+ .layout-form .wpib-layout-controls {
3943
+ margin-left: 0;
3944
+ }
3945
+
3946
+ .layout-form .wpib-layout-controls-radio {
3947
+ margin-left: 0;
3948
+ }
3949
+ /**************************************************/
3950
+ .layout-form .control-list {
3951
+ padding-top: 0;
3952
+ }
3953
+
3954
+ .layout-form .form-actions {
3955
+ padding-right: 10px;
3956
+ padding-left: 10px;
3957
+ }
3958
+ }
3959
+
3960
+ @media (max-width: 979px) {
3961
+ .layout-thumbnails {
3962
+ margin-left: -30px;
3963
+ }
3964
+
3965
+ .layout-thumbnails > li {
3966
+ margin-left: 30px;
3967
+ }
3968
+
3969
+ .fluid-layout .layout-thumbnails {
3970
+ margin-left: 0;
3971
+ }
3972
+
3973
+ .layout-thumbnails {
3974
+ margin-left: 0;
3975
+ }
3976
+
3977
+ .layout-thumbnails > li {
3978
+ float: none;
3979
+ margin-left: 0;
3980
+ }
3981
+ }
3982
+
3983
+ @media (min-width: 980px) {
3984
+
3985
+ }
3986
+
assets/css/system-message.css ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Template Name: Mustache
3
+ Author: Rory Kranendonk
4
+ Author URI: http://www.dreamwire.nl
5
+ Version: 1.0
6
+ */
7
+
8
+ .message {
9
+ position: relative;
10
+ display: inline-block;
11
+ margin: 20px 0 0 0;
12
+ padding: 0 0 0 35px;
13
+ -moz-box-shadow: 1px 1px 0 #e6e6e6;
14
+ -webkit-box-shadow: 1px 1px 0 #e6e6e6;
15
+ box-shadow: 1px 1px 0 #e6e6e6;
16
+ -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=135, Color='#e6e6e6')";
17
+ filter: progid:DXImageTransform.Microsoft.Shadow(Strength=1, Direction=135, Color='#e6e6e6');
18
+ zoom: 1;
19
+ }
20
+
21
+ .message:hover {
22
+ opacity: 0.7;
23
+ filter: alpha(opacity=70);
24
+ }
25
+
26
+ .message span {
27
+ display: block;
28
+ /*background : url(../images/icons/system-icon.png) no-repeat 98% center;*/
29
+ padding: 13px 0;
30
+ font: 12px/1.0em Arial;
31
+ }
32
+
33
+ .message.inner {
34
+ margin: 0 0 20px;
35
+ }
36
+
37
+ .message.red {
38
+ display: block;
39
+ background : #F8E9E9;
40
+ border: 1px solid #E4BBBC;
41
+ color: #b80000;
42
+ }
43
+
44
+ .message.green {
45
+ display: block;
46
+ background: url(../images/icons/icon-succes.png) no-repeat 1px 8px #EBF9E2;
47
+ border: 1px solid #BEE4A5;
48
+ color: #6aa500;
49
+ }
50
+
51
+ .message.blue {
52
+ display: block;
53
+ /*background : url(../images/icons/icon-info.png) no-repeat 10px 8px #E9F3F8;*/
54
+ border: 1px solid #BBD7E4;
55
+ color: #136bc5;
56
+ }
57
+
58
+ .message.orange {
59
+ display: block;
60
+ /*background : url(../images/icons/icon-warning.png) no-repeat 10px 8px #FFF8D8;*/
61
+ border: 1px solid #F3D97E;
62
+ color: #ed9d12;
63
+ }
assets/images/album-cover.jpg ADDED
Binary file
assets/images/color.png ADDED
Binary file
assets/images/icons/icon-succes.png ADDED
Binary file
assets/images/instagram.png ADDED
Binary file
assets/images/logo.png ADDED
Binary file
assets/images/mail.png ADDED
Binary file
assets/images/prettyPhoto/dark_rounded/btnNext.png ADDED
Binary file
assets/images/prettyPhoto/dark_rounded/btnPrevious.png ADDED
Binary file
assets/images/prettyPhoto/dark_rounded/contentPattern.png ADDED
Binary file
assets/images/prettyPhoto/dark_rounded/default_thumbnail.gif ADDED
Binary file
assets/images/prettyPhoto/dark_rounded/loader.gif ADDED
File without changes
assets/images/prettyPhoto/dark_rounded/sprite.png ADDED
File without changes
assets/images/prettyPhoto/dark_square/btnNext.png ADDED
File without changes
assets/images/prettyPhoto/dark_square/btnPrevious.png ADDED
Binary file
assets/images/prettyPhoto/dark_square/contentPattern.png ADDED
Binary file
assets/images/prettyPhoto/dark_square/default_thumbnail.gif ADDED
Binary file
assets/images/prettyPhoto/dark_square/loader.gif ADDED
Binary file
assets/images/prettyPhoto/dark_square/sprite.png ADDED
Binary file
assets/images/prettyPhoto/default/default_thumb.png ADDED
Binary file
assets/images/prettyPhoto/default/loader.gif ADDED
Binary file
assets/images/prettyPhoto/default/sprite.png ADDED
Binary file
assets/images/prettyPhoto/default/sprite_next.png ADDED
Binary file
assets/images/prettyPhoto/default/sprite_prev.png ADDED
Binary file
assets/images/prettyPhoto/default/sprite_x.png ADDED
Binary file
assets/images/prettyPhoto/default/sprite_y.png ADDED
Binary file
assets/images/prettyPhoto/facebook/btnNext.png ADDED
Binary file
assets/images/prettyPhoto/facebook/btnPrevious.png ADDED
Binary file
assets/images/prettyPhoto/facebook/contentPatternBottom.png ADDED
Binary file
assets/images/prettyPhoto/facebook/contentPatternLeft.png ADDED
Binary file
assets/images/prettyPhoto/facebook/contentPatternRight.png ADDED
Binary file
assets/images/prettyPhoto/facebook/contentPatternTop.png ADDED
Binary file
assets/images/prettyPhoto/facebook/default_thumbnail.gif ADDED
Binary file
assets/images/prettyPhoto/facebook/loader.gif ADDED
Binary file
assets/images/prettyPhoto/facebook/sprite.png ADDED
Binary file
assets/images/prettyPhoto/light_rounded/btnNext.png ADDED
Binary file
assets/images/prettyPhoto/light_rounded/btnPrevious.png ADDED
Binary file
assets/images/prettyPhoto/light_rounded/default_thumbnail.gif ADDED
Binary file
assets/images/prettyPhoto/light_rounded/loader.gif ADDED
Binary file
assets/images/prettyPhoto/light_rounded/sprite.png ADDED
Binary file
assets/images/prettyPhoto/light_square/btnNext.png ADDED
Binary file
assets/images/prettyPhoto/light_square/btnPrevious.png ADDED
Binary file
assets/images/prettyPhoto/light_square/default_thumbnail.gif ADDED
Binary file
assets/images/prettyPhoto/light_square/loader.gif ADDED
Binary file
assets/images/prettyPhoto/light_square/sprite.png ADDED
Binary file
assets/images/search.png ADDED
Binary file
assets/images/tables/searchSmall.png ADDED
Binary file
assets/images/tables/sort.png ADDED
Binary file
assets/images/tables/sortDown.png ADDED
Binary file
assets/images/tables/sortUp.png ADDED
Binary file
assets/images/tables/sort_asc.png ADDED
Binary file
assets/images/tables/sort_both.png ADDED
Binary file
assets/images/tables/sort_desc.png ADDED
Binary file
assets/images/tables/sort_desc_disabled.png ADDED
Binary file
assets/js/jquery.validate.min.js ADDED
@@ -0,0 +1,863 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jQuery Validation Plugin 1.9.0
3
+ *
4
+ * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
5
+ * http://docs.jquery.com/Plugins/Validation
6
+ *
7
+ * Copyright (c) 2006 - 2011 Jörn Zaefferer
8
+ *
9
+ * Dual licensed under the MIT and GPL licenses:
10
+ * http://www.opensource.org/licenses/mit-license.php
11
+ * http://www.gnu.org/licenses/gpl.html
12
+ */
13
+ (function (c) {
14
+ c.extend(c.fn, {
15
+ validate: function (a) {
16
+ if (this.length) {
17
+ var b = c.data(this[0], "validator");
18
+ if (b)
19
+ return b;
20
+ this.attr("novalidate", "novalidate");
21
+ b = new c.validator(a, this[0]);
22
+ c.data(this[0], "validator", b);
23
+ if (b.settings.onsubmit) {
24
+ a = this.find("input, button");
25
+ a.filter(".cancel").click(function () {
26
+ b.cancelSubmit = true
27
+ });
28
+ b.settings.submitHandler && a.filter(":submit").click(function () {
29
+ b.submitButton = this
30
+ });
31
+ this.submit(function (d) {
32
+ function e() {
33
+ if (b.settings.submitHandler) {
34
+ if (b.submitButton)
35
+ var f = c("<input type='hidden'/>").attr("name", b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);
36
+ b.settings.submitHandler.call(b, b.currentForm);
37
+ b.submitButton && f.remove();
38
+ return false
39
+ }
40
+ return true
41
+ }
42
+
43
+ b.settings.debug && d.preventDefault();
44
+ if (b.cancelSubmit) {
45
+ b.cancelSubmit = false;
46
+ return e()
47
+ }
48
+ if (b.form()) {
49
+ if (b.pendingRequest) {
50
+ b.formSubmitted = true;
51
+ return false
52
+ }
53
+ return e()
54
+ } else {
55
+ b.focusInvalid();
56
+ return false
57
+ }
58
+ })
59
+ }
60
+ return b
61
+ } else
62
+ a && a.debug && window.console && console.warn("nothing selected, can't validate, returning nothing")
63
+ },
64
+ valid: function () {
65
+ if (c(this[0]).is("form"))
66
+ return this.validate().form();
67
+ else {
68
+ var a = true, b = c(this[0].form).validate();
69
+ this.each(function () {
70
+ a &= b.element(this)
71
+ });
72
+ return a
73
+ }
74
+ },
75
+ removeAttrs: function (a) {
76
+ var b = {}, d = this;
77
+ c.each(a.split(/\s/), function (e, f) {
78
+ b[f] = d.attr(f);
79
+ d.removeAttr(f)
80
+ });
81
+ return b
82
+ },
83
+ rules: function (a, b) {
84
+ var d = this[0];
85
+ if (a) {
86
+ var e = c.data(d.form, "validator").settings, f = e.rules, g = c.validator.staticRules(d);
87
+ switch (a) {
88
+ case "add":
89
+ c.extend(g, c.validator.normalizeRule(b));
90
+ f[d.name] = g;
91
+ if (b.messages)
92
+ e.messages[d.name] = c.extend(e.messages[d.name], b.messages);
93
+ break;
94
+ case "remove":
95
+ if (!b) {
96
+ delete f[d.name];
97
+ return g
98
+ }
99
+ var h = {};
100
+ c.each(b.split(/\s/), function (j, i) {
101
+ h[i] = g[i];
102
+ delete g[i]
103
+ });
104
+ return h
105
+ }
106
+ }
107
+ d = c.validator.normalizeRules(c.extend({}, c.validator.metadataRules(d), c.validator.classRules(d), c.validator.attributeRules(d), c.validator.staticRules(d)), d);
108
+ if (d.required) {
109
+ e = d.required;
110
+ delete d.required;
111
+ d = c.extend({
112
+ required: e
113
+ }, d)
114
+ }
115
+ return d
116
+ }
117
+ });
118
+ c.extend(c.expr[":"], {
119
+ blank: function (a) {
120
+ return !c.trim("" + a.value)
121
+ },
122
+ filled: function (a) {
123
+ return !!c.trim("" + a.value)
124
+ },
125
+ unchecked: function (a) {
126
+ return !a.checked
127
+ }
128
+ });
129
+ c.validator = function (a, b) {
130
+ this.settings = c.extend(true, {}, c.validator.defaults, a);
131
+ this.currentForm = b;
132
+ this.init()
133
+ };
134
+ c.validator.format = function (a, b) {
135
+ if (arguments.length == 1)
136
+ return function () {
137
+ var d = c.makeArray(arguments);
138
+ d.unshift(a);
139
+ return c.validator.format.apply(this, d)
140
+ };
141
+ if (arguments.length > 2 && b.constructor != Array)
142
+ b = c.makeArray(arguments).slice(1);
143
+ if (b.constructor != Array)
144
+ b = [b];
145
+ c.each(b, function (d, e) {
146
+ a = a.replace(RegExp("\\{" + d + "\\}", "g"), e)
147
+ });
148
+ return a
149
+ };
150
+ c.extend(c.validator, {
151
+ defaults: {
152
+ messages: {},
153
+ groups: {},
154
+ rules: {},
155
+ errorClass: "error",
156
+ validClass: "valid",
157
+ errorElement: "label",
158
+ focusInvalid: true,
159
+ errorContainer: c([]),
160
+ errorLabelContainer: c([]),
161
+ onsubmit: true,
162
+ ignore: ":hidden",
163
+ ignoreTitle: false,
164
+ onfocusin: function (a) {
165
+ this.lastActive = a;
166
+ if (this.settings.focusCleanup && !this.blockFocusCleanup) {
167
+ this.settings.unhighlight && this.settings.unhighlight.call(this, a, this.settings.errorClass, this.settings.validClass);
168
+ this.addWrapper(this.errorsFor(a)).hide()
169
+ }
170
+ },
171
+ onfocusout: function (a) {
172
+ if (!this.checkable(a) && (a.name in this.submitted || !this.optional(a)))
173
+ this.element(a)
174
+ },
175
+ onkeyup: function (a) {
176
+ if (a.name in this.submitted || a == this.lastElement)
177
+ this.element(a)
178
+ },
179
+ onclick: function (a) {
180
+ if (a.name in this.submitted)
181
+ this.element(a);
182
+ else
183
+ a.parentNode.name in this.submitted && this.element(a.parentNode)
184
+ },
185
+ highlight: function (a, b, d) {
186
+ a.type === "radio" ? this.findByName(a.name).addClass(b).removeClass(d) : c(a).addClass(b).removeClass(d)
187
+ },
188
+ unhighlight: function (a, b, d) {
189
+ a.type === "radio" ? this.findByName(a.name).removeClass(b).addClass(d) : c(a).removeClass(b).addClass(d)
190
+ }
191
+ },
192
+ setDefaults: function (a) {
193
+ c.extend(c.validator.defaults, a)
194
+ },
195
+ messages: {
196
+ required:"This field is required.",
197
+ remote: "Please fix this field.",
198
+ email: "Please enter a valid email address.",
199
+ url: "Please enter a valid URL.",
200
+ date: "Please enter a valid date.",
201
+ dateISO: "Please enter a valid date (ISO).",
202
+ number: "Please enter a valid number.",
203
+ digits: "Please enter only digits.",
204
+ creditcard: "Please enter a valid credit card number.",
205
+ equalTo: "Please enter the same value again.",
206
+ accept: "Please enter a value with a valid extension.",
207
+ maxlength: c.validator.format("Please enter no more than {0} characters."),
208
+ minlength: c.validator.format("Please enter at least {0} characters."),
209
+ rangelength: c.validator.format("Please enter a value between {0} and {1} characters long."),
210
+ range: c.validator.format("Please enter a value between {0} and {1}."),
211
+ max: c.validator.format("Please enter a value less than or equal to {0}."),
212
+ min: c.validator.format("Please enter a value greater than or equal to {0}.")
213
+ },
214
+ autoCreateRanges: false,
215
+ prototype: {
216
+ init: function () {
217
+ function a(e) {
218
+ var f = c.data(this[0].form, "validator"), g = "on" + e.type.replace(/^validate/, "");
219
+ f.settings[g] && f.settings[g].call(f, this[0], e)
220
+ }
221
+
222
+ this.labelContainer = c(this.settings.errorLabelContainer);
223
+ this.errorContext = this.labelContainer.length && this.labelContainer || c(this.currentForm);
224
+ this.containers = c(this.settings.errorContainer).add(this.settings.errorLabelContainer);
225
+ this.submitted = {};
226
+ this.valueCache = {};
227
+ this.pendingRequest = 0;
228
+ this.pending = {};
229
+ this.invalid = {};
230
+ this.reset();
231
+ var b = this.groups = {};
232
+ c.each(this.settings.groups, function (e, f) {
233
+ c.each(f.split(/\s/), function (g, h) {
234
+ b[h] = e
235
+ })
236
+ });
237
+ var d = this.settings.rules;
238
+ c.each(d, function (e, f) {
239
+ d[e] = c.validator.normalizeRule(f)
240
+ });
241
+ c(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ", "focusin focusout keyup", a).validateDelegate("[type='radio'], [type='checkbox'], select, option", "click", a);
242
+ this.settings.invalidHandler && c(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler)
243
+ },
244
+ form: function () {
245
+ this.checkForm();
246
+ c.extend(this.submitted, this.errorMap);
247
+ this.invalid = c.extend({}, this.errorMap);
248
+ this.valid() || c(this.currentForm).triggerHandler("invalid-form", [this]);
249
+ this.showErrors();
250
+ return this.valid()
251
+ },
252
+ checkForm: function () {
253
+ this.prepareForm();
254
+ for (var a = 0, b = this.currentElements = this.elements(); b[a]; a++)
255
+ this.check(b[a]);
256
+ return this.valid()
257
+ },
258
+ element: function (a) {
259
+ this.lastElement = a = this.validationTargetFor(this.clean(a));
260
+ this.prepareElement(a);
261
+ this.currentElements = c(a);
262
+ var b = this.check(a);
263
+ if (b)
264
+ delete this.invalid[a.name];
265
+ else
266
+ this.invalid[a.name] = true;
267
+ if (!this.numberOfInvalids())
268
+ this.toHide = this.toHide.add(this.containers);
269
+ this.showErrors();
270
+ return b
271
+ },
272
+ showErrors: function (a) {
273
+ if (a) {
274
+ c.extend(this.errorMap, a);
275
+ this.errorList = [];
276
+ for (var b in a)
277
+ this.errorList.push({
278
+ message: a[b],
279
+ element: this.findByName(b)[0]
280
+ });
281
+ this.successList = c.grep(this.successList, function (d) {
282
+ return !(d.name in a)
283
+ })
284
+ }
285
+ this.settings.showErrors ? this.settings.showErrors.call(this, this.errorMap, this.errorList) : this.defaultShowErrors()
286
+ },
287
+ resetForm: function () {
288
+ c.fn.resetForm && c(this.currentForm).resetForm();
289
+ this.submitted = {};
290
+ this.lastElement = null;
291
+ this.prepareForm();
292
+ this.hideErrors();
293
+ this.elements().removeClass(this.settings.errorClass)
294
+ },
295
+ numberOfInvalids: function () {
296
+ return this.objectLength(this.invalid)
297
+ },
298
+ objectLength: function (a) {
299
+ var b = 0, d;
300
+ for (d in a)
301
+ b++;
302
+ return b
303
+ },
304
+ hideErrors: function () {
305
+ this.addWrapper(this.toHide).hide()
306
+ },
307
+ valid: function () {
308
+ return this.size() == 0
309
+ },
310
+ size: function () {
311
+ return this.errorList.length
312
+ },
313
+ focusInvalid: function () {
314
+ if (this.settings.focusInvalid)
315
+ try {
316
+ c(this.findLastActive() || this.errorList.length && this.errorList[0].element || []).filter(":visible").focus().trigger("focusin")
317
+ } catch (a) {
318
+ }
319
+ },
320
+ findLastActive: function () {
321
+ var a = this.lastActive;
322
+ return a && c.grep(this.errorList,function (b) {
323
+ return b.element.name == a.name
324
+ }).length == 1 && a
325
+ },
326
+ elements: function () {
327
+ var a = this, b = {};
328
+ return c(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function () {
329
+ !this.name && a.settings.debug && window.console && console.error("%o has no name assigned", this);
330
+ if (this.name in b || !a.objectLength(c(this).rules()))
331
+ return false;
332
+ return b[this.name] = true
333
+ })
334
+ },
335
+ clean: function (a) {
336
+ return c(a)[0]
337
+ },
338
+ errors: function () {
339
+ return c(this.settings.errorElement + "." + this.settings.errorClass, this.errorContext)
340
+ },
341
+ reset: function () {
342
+ this.successList = [];
343
+ this.errorList = [];
344
+ this.errorMap = {};
345
+ this.toShow = c([]);
346
+ this.toHide = c([]);
347
+ this.currentElements = c([])
348
+ },
349
+ prepareForm: function () {
350
+ this.reset();
351
+ this.toHide = this.errors().add(this.containers)
352
+ },
353
+ prepareElement: function (a) {
354
+ this.reset();
355
+ this.toHide = this.errorsFor(a)
356
+ },
357
+ check: function (a) {
358
+ a = this.validationTargetFor(this.clean(a));
359
+ var b = c(a).rules(), d = false, e;
360
+ for (e in b) {
361
+ var f = {
362
+ method: e,
363
+ parameters: b[e]
364
+ };
365
+ try {
366
+ var g = c.validator.methods[e].call(this, a.value.replace(/\r/g, ""), a, f.parameters);
367
+ if (g == "dependency-mismatch")
368
+ d = true;
369
+ else {
370
+ d = false;
371
+ if (g == "pending") {
372
+ this.toHide = this.toHide.not(this.errorsFor(a));
373
+ return
374
+ }
375
+ if (!g) {
376
+ this.formatAndAdd(a, f);
377
+ return false
378
+ }
379
+ }
380
+ } catch (h) {
381
+ this.settings.debug && window.console && console.log("exception occured when checking element " + a.id + ", check the '" + f.method + "' method", h);
382
+ throw h;
383
+ }
384
+ }
385
+ if (!d) {
386
+ this.objectLength(b) && this.successList.push(a);
387
+ return true
388
+ }
389
+ },
390
+ customMetaMessage: function (a, b) {
391
+ if (c.metadata) {
392
+ var d = this.settings.meta ? c(a).metadata()[this.settings.meta] : c(a).metadata();
393
+ return d && d.messages && d.messages[b]
394
+ }
395
+ },
396
+ customMessage: function (a, b) {
397
+ var d = this.settings.messages[a];
398
+ return d && (d.constructor == String ? d : d[b])
399
+ },
400
+ findDefined: function () {
401
+ for (var a = 0; a < arguments.length; a++)
402
+ if (arguments[a] !== undefined)
403
+ return arguments[a]
404
+ },
405
+ defaultMessage: function (a, b) {
406
+ return this.findDefined(this.customMessage(a.name, b), this.customMetaMessage(a, b), !this.settings.ignoreTitle && a.title || undefined, c.validator.messages[b], "<strong>Warning: No message defined for " + a.name + "</strong>")
407
+ },
408
+ formatAndAdd: function (a, b) {
409
+ var d = this.defaultMessage(a, b.method), e = /\$?\{(\d+)\}/g;
410
+ if (typeof d == "function")
411
+ d = d.call(this, b.parameters, a);
412
+ else if (e.test(d))
413
+ d = jQuery.format(d.replace(e, "{$1}"), b.parameters);
414
+ this.errorList.push({
415
+ message: d,
416
+ element: a
417
+ });
418
+ this.errorMap[a.name] = d;
419
+ this.submitted[a.name] = d
420
+ },
421
+ addWrapper: function (a) {
422
+ if (this.settings.wrapper)
423
+ a = a.add(a.parent(this.settings.wrapper));
424
+ return a
425
+ },
426
+ defaultShowErrors: function () {
427
+ for (var a = 0; this.errorList[a]; a++) {
428
+ var b = this.errorList[a];
429
+ this.settings.highlight && this.settings.highlight.call(this, b.element, this.settings.errorClass, this.settings.validClass);
430
+ this.showLabel(b.element, b.message)
431
+ }
432
+ if (this.errorList.length)
433
+ this.toShow = this.toShow.add(this.containers);
434
+ if (this.settings.success)
435
+ for (a = 0; this.successList[a]; a++)
436
+ this.showLabel(this.successList[a]);
437
+ if (this.settings.unhighlight) {
438
+ a = 0;
439
+ for (b = this.validElements(); b[a]; a++)
440
+ this.settings.unhighlight.call(this, b[a], this.settings.errorClass, this.settings.validClass)
441
+ }
442
+ this.toHide = this.toHide.not(this.toShow);
443
+ this.hideErrors();
444
+ this.addWrapper(this.toShow).show()
445
+ },
446
+ validElements: function () {
447
+ return this.currentElements.not(this.invalidElements())
448
+ },
449
+ invalidElements: function () {
450
+ return c(this.errorList).map(function () {
451
+ return this.element
452
+ })
453
+ },
454
+ showLabel: function (a, b) {
455
+ var d = this.errorsFor(a);
456
+ if (d.length) {
457
+ d.removeClass(this.settings.validClass).addClass(this.settings.errorClass);
458
+ d.attr("generated") && d.html(b)
459
+ } else {
460
+ d = c("<" + this.settings.errorElement + "/>").attr({
461
+ "for": this.idOrName(a),
462
+ generated: true
463
+ }).addClass(this.settings.errorClass).html(b || "");
464
+ if (this.settings.wrapper)
465
+ d = d.hide().show().wrap("<" + this.settings.wrapper + "/>").parent();
466
+ this.labelContainer.append(d).length || (this.settings.errorPlacement ? this.settings.errorPlacement(d, c(a)) : d.insertAfter(a))
467
+ }
468
+ if (!b && this.settings.success) {
469
+ d.text("");
470
+ typeof this.settings.success == "string" ? d.addClass(this.settings.success) : this.settings.success(d)
471
+ }
472
+ this.toShow = this.toShow.add(d)
473
+ },
474
+ errorsFor: function (a) {
475
+ var b = this.idOrName(a);
476
+ return this.errors().filter(function () {
477
+ return c(this).attr("for") == b
478
+ })
479
+ },
480
+ idOrName: function (a) {
481
+ return this.groups[a.name] || (this.checkable(a) ? a.name : a.id || a.name)
482
+ },
483
+ validationTargetFor: function (a) {
484
+ if (this.checkable(a))
485
+ a = this.findByName(a.name).not(this.settings.ignore)[0];
486
+ return a
487
+ },
488
+ checkable: function (a) {
489
+ return /radio|checkbox/i.test(a.type)
490
+ },
491
+ findByName: function (a) {
492
+ var b = this.currentForm;
493
+ return c(document.getElementsByName(a)).map(function (d, e) {
494
+ return e.form == b && e.name == a && e || null
495
+ })
496
+ },
497
+ getLength: function (a, b) {
498
+ switch (b.nodeName.toLowerCase()) {
499
+ case "select":
500
+ return c("option:selected", b).length;
501
+ case "input":
502
+ if (this.checkable(b))
503
+ return this.findByName(b.name).filter(":checked").length
504
+ }
505
+ return a.length
506
+ },
507
+ depend: function (a, b) {
508
+ return this.dependTypes[ typeof a] ? this.dependTypes[typeof a](a, b) : true
509
+ },
510
+ dependTypes: {
511
+ "boolean": function (a) {
512
+ return a
513
+ },
514
+ string: function (a, b) {
515
+ return !!c(a, b.form).length
516
+ },
517
+ "function": function (a, b) {
518
+ return a(b)
519
+ }
520
+ },
521
+ optional: function (a) {
522
+ return !c.validator.methods.required.call(this, c.trim(a.value), a) && "dependency-mismatch"
523
+ },
524
+ startRequest: function (a) {
525
+ if (!this.pending[a.name]) {
526
+ this.pendingRequest++;
527
+ this.pending[a.name] = true
528
+ }
529
+ },
530
+ stopRequest: function (a, b) {
531
+ this.pendingRequest--;
532
+ if (this.pendingRequest < 0)
533
+ this.pendingRequest = 0;
534
+ delete this.pending[a.name];
535
+ if (b && this.pendingRequest == 0 && this.formSubmitted && this.form()) {
536
+ c(this.currentForm).submit();
537
+ this.formSubmitted = false
538
+ } else if (!b && this.pendingRequest == 0 && this.formSubmitted) {
539
+ c(this.currentForm).triggerHandler("invalid-form", [this]);
540
+ this.formSubmitted = false
541
+ }
542
+ },
543
+ previousValue: function (a) {
544
+ return c.data(a, "previousValue") || c.data(a, "previousValue", {
545
+ old: null,
546
+ valid: true,
547
+ message: this.defaultMessage(a, "remote")
548
+ })
549
+ }
550
+ },
551
+ classRuleSettings: {
552
+ required: {
553
+ required: true
554
+ },
555
+ email: {
556
+ email: true
557
+ },
558
+ url: {
559
+ url: true
560
+ },
561
+ date: {
562
+ date: true
563
+ },
564
+ dateISO: {
565
+ dateISO: true
566
+ },
567
+ dateDE: {
568
+ dateDE: true
569
+ },
570
+ number: {
571
+ number: true
572
+ },
573
+ numberDE: {
574
+ numberDE: true
575
+ },
576
+ digits: {
577
+ digits: true
578
+ },
579
+ creditcard: {
580
+ creditcard: true
581
+ }
582
+ },
583
+ addClassRules: function (a, b) {
584
+ a.constructor == String ? this.classRuleSettings[a] = b : c.extend(this.classRuleSettings, a)
585
+ },
586
+ classRules: function (a) {
587
+ var b = {};
588
+ ( a = c(a).attr("class")) && c.each(a.split(" "), function () {
589
+ this in c.validator.classRuleSettings && c.extend(b, c.validator.classRuleSettings[this])
590
+ });
591
+ return b
592
+ },
593
+ attributeRules: function (a) {
594
+ var b = {};
595
+ a = c(a);
596
+ for (var d in c.validator.methods) {
597
+ var e;
598
+ if (e = d === "required" && typeof c.fn.prop === "function" ? a.prop(d) : a.attr(d))
599
+ b[d] = e;
600
+ else if (a[0].getAttribute("type") === d)
601
+ b[d] = true
602
+ }
603
+ b.maxlength && /-1|2147483647|524288/.test(b.maxlength) && delete b.maxlength;
604
+ return b
605
+ },
606
+ metadataRules: function (a) {
607
+ if (!c.metadata)
608
+ return {};
609
+ var b = c.data(a.form, "validator").settings.meta;
610
+ return b ? c(a).metadata()[b] : c(a).metadata()
611
+ },
612
+ staticRules: function (a) {
613
+ var b = {}, d = c.data(a.form, "validator");
614
+ if (d.settings.rules)
615
+ b = c.validator.normalizeRule(d.settings.rules[a.name]) || {};
616
+ return b
617
+ },
618
+ normalizeRules: function (a, b) {
619
+ c.each(a, function (d, e) {
620
+ if (e === false)
621
+ delete a[d];
622
+ else if (e.param || e.depends) {
623
+ var f = true;
624
+ switch (typeof e.depends) {
625
+ case "string":
626
+ f = !!c(e.depends, b.form).length;
627
+ break;
628
+ case "function":
629
+ f = e.depends.call(b, b)
630
+ }
631
+ if (f)
632
+ a[d] = e.param !== undefined ? e.param : true;
633
+ else
634
+ delete a[d]
635
+ }
636
+ });
637
+ c.each(a, function (d, e) {
638
+ a[d] = c.isFunction(e) ? e(b) : e
639
+ });
640
+ c.each(["minlength", "maxlength", "min", "max"], function () {
641
+ if (a[this])
642
+ a[this] = Number(a[this])
643
+ });
644
+ c.each(["rangelength", "range"], function () {
645
+ if (a[this])
646
+ a[this] = [Number(a[this][0]), Number(a[this][1])]
647
+ });
648
+ if (c.validator.autoCreateRanges) {
649
+ if (a.min && a.max) {
650
+ a.range = [a.min, a.max];
651
+ delete a.min;
652
+ delete a.max
653
+ }
654
+ if (a.minlength && a.maxlength) {
655
+ a.rangelength = [a.minlength, a.maxlength];
656
+ delete a.minlength;
657
+ delete a.maxlength
658
+ }
659
+ }
660
+ a.messages && delete a.messages;
661
+ return a
662
+ },
663
+ normalizeRule: function (a) {
664
+ if (typeof a == "string") {
665
+ var b = {};
666
+ c.each(a.split(/\s/), function () {
667
+ b[this] = true
668
+ });
669
+ a = b
670
+ }
671
+ return a
672
+ },
673
+ addMethod: function (a, b, d) {
674
+ c.validator.methods[a] = b;
675
+ c.validator.messages[a] = d != undefined ? d : c.validator.messages[a];
676
+ b.length < 3 && c.validator.addClassRules(a, c.validator.normalizeRule(a))
677
+ },
678
+ methods: {
679
+ required: function (a, b, d) {
680
+ if (!this.depend(d, b))
681
+ return "dependency-mismatch";
682
+ switch (b.nodeName.toLowerCase()) {
683
+ case "select":
684
+ return ( a = c(b).val()) && a.length > 0;
685
+ case "input":
686
+ if (this.checkable(b))
687
+ return this.getLength(a, b) > 0;
688
+ default:
689
+ return c.trim(a).length > 0
690
+ }
691
+ },
692
+ remote: function (a, b, d) {
693
+ if (this.optional(b))
694
+ return "dependency-mismatch";
695
+ var e = this.previousValue(b);
696
+ this.settings.messages[b.name] || (this.settings.messages[b.name] = {});
697
+ e.originalMessage = this.settings.messages[b.name].remote;
698
+ this.settings.messages[b.name].remote = e.message;
699
+ d = typeof d == "string" && {
700
+ url: d
701
+ } || d;
702
+ if (this.pending[b.name])
703
+ return "pending";
704
+ if (e.old === a)
705
+ return e.valid;
706
+ e.old = a;
707
+ var f = this;
708
+ this.startRequest(b);
709
+ var g = {};
710
+ g[b.name] = a;
711
+ c.ajax(c.extend(true, {
712
+ url: d,
713
+ mode: "abort",
714
+ port: "validate" + b.name,
715
+ dataType: "json",
716
+ data: g,
717
+ success: function (h) {
718
+ f.settings.messages[b.name].remote = e.originalMessage;
719
+ var j = h === true;
720
+ if (j) {
721
+ var i = f.formSubmitted;
722
+ f.prepareElement(b);
723
+ f.formSubmitted = i;
724
+ f.successList.push(b);
725
+ f.showErrors()
726
+ } else {
727
+ i = {};
728
+ h = h || f.defaultMessage(b, "remote");
729
+ i[b.name] = e.message = c.isFunction(h) ? h(a) : h;
730
+ f.showErrors(i)
731
+ }
732
+ e.valid = j;
733
+ f.stopRequest(b, j)
734
+ }
735
+ }, d));
736
+ return "pending"
737
+ },
738
+ minlength: function (a, b, d) {
739
+ return this.optional(b) || this.getLength(c.trim(a), b) >= d
740
+ },
741
+ maxlength: function (a, b, d) {
742
+ return this.optional(b) || this.getLength(c.trim(a), b) <= d
743
+ },
744
+ rangelength: function (a, b, d) {
745
+ a = this.getLength(c.trim(a), b);
746
+ return this.optional(b) || a >= d[0] && a <= d[1]
747
+ },
748
+ min: function (a, b, d) {
749
+ return this.optional(b) || a >= d
750
+ },
751
+ max: function (a, b, d) {
752
+ return this.optional(b) || a <= d
753
+ },
754
+ range: function (a, b, d) {
755
+ return this.optional(b) || a >= d[0] && a <= d[1]
756
+ },
757
+ email: function (a, b) {
758
+ return this.optional(b) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)
759
+ },
760
+ url: function (a, b) {
761
+ return this.optional(b) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)
762
+ },
763
+ date: function (a, b) {
764
+ return this.optional(b) || !/Invalid|NaN/.test(new Date(a))
765
+ },
766
+ dateISO: function (a, b) {
767
+ return this.optional(b) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)
768
+ },
769
+ number: function (a, b) {
770
+ return this.optional(b) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)
771
+ },
772
+ digits: function (a, b) {
773
+ return this.optional(b) || /^\d+$/.test(a)
774
+ },
775
+ creditcard: function (a, b) {
776
+ if (this.optional(b))
777
+ return "dependency-mismatch";
778
+ if (/[^0-9 -]+/.test(a))
779
+ return false;
780
+ var d = 0, e = 0, f = false;
781
+ a = a.replace(/\D/g, "");
782
+ for (var g = a.length - 1; g >= 0; g--) {
783
+ e = a.charAt(g);
784
+ e = parseInt(e, 10);
785
+ if (f)
786
+ if ((e *= 2) > 9)
787
+ e -= 9;
788
+ d += e;
789
+ f = !f
790
+ }
791
+ return d % 10 == 0
792
+ },
793
+ accept: function (a, b, d) {
794
+ d = typeof d == "string" ? d.replace(/,/g, "|") : "png|jpe?g|gif";
795
+ return this.optional(b) || a.match(RegExp(".(" + d + ")$", "i"))
796
+ },
797
+ equalTo: function (a, b, d) {
798
+ d = c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo", function () {
799
+ c(b).valid()
800
+ });
801
+ return a == d.val()
802
+ }
803
+ }
804
+ });
805
+ c.format = c.validator.format
806
+ })(jQuery);
807
+ (function (c) {
808
+ var a = {};
809
+ if (c.ajaxPrefilter)
810
+ c.ajaxPrefilter(function (d, e, f) {
811
+ e = d.port;
812
+ if (d.mode == "abort") {
813
+ a[e] && a[e].abort();
814
+ a[e] = f
815
+ }
816
+ });
817
+ else {
818
+ var b = c.ajax;
819
+ c.ajax = function (d) {
820
+ var e = ("port" in d ? d : c.ajaxSettings).port;
821
+ if (("mode" in d ? d : c.ajaxSettings).mode == "abort") {
822
+ a[e] && a[e].abort();
823
+ return a[e] = b.apply(this, arguments)
824
+ }
825
+ return b.apply(this, arguments)
826
+ }
827
+ }
828
+ })(jQuery);
829
+ (function (c) {
830
+ !jQuery.event.special.focusin && !jQuery.event.special.focusout && document.addEventListener && c.each({
831
+ focus: "focusin",
832
+ blur: "focusout"
833
+ }, function (a, b) {
834
+ function d(e) {
835
+ e = c.event.fix(e);
836
+ e.type = b;
837
+ return c.event.handle.call(this, e)
838
+ }
839
+
840
+ c.event.special[b] = {
841
+ setup: function () {
842
+ this.addEventListener(a, d, true)
843
+ },
844
+ teardown: function () {
845
+ this.removeEventListener(a, d, true)
846
+ },
847
+ handler: function (e) {
848
+ arguments[0] = c.event.fix(e);
849
+ arguments[0].type = b;
850
+ return c.event.handle.apply(this, arguments)
851
+ }
852
+ }
853
+ });
854
+ c.extend(c.fn, {
855
+ validateDelegate: function (a, b, d) {
856
+ return this.bind(b, function (e) {
857
+ var f = c(e.target);
858
+ if (f.is(a))
859
+ return d.apply(f, arguments)
860
+ })
861
+ }
862
+ })
863
+ })(jQuery);
lib/add_mail_class_file.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ switch($role)
3
+ {
4
+ case "administrator":
5
+ $user_role_permission = "manage_options";
6
+ break;
7
+ case "editor":
8
+ $user_role_permission = "publish_pages";
9
+ break;
10
+ case "author":
11
+ $user_role_permission = "publish_posts";
12
+ break;
13
+ }
14
+
15
+ if (!current_user_can($user_role_permission))
16
+ {
17
+ return;
18
+ }
19
+ else
20
+ {
21
+ class save_data
22
+ {
23
+ function insert_data($email_setup)
24
+ {
25
+ global $wpdb;
26
+ $wpdb->insert(wp_mail_bank(), $email_setup);
27
+ die();
28
+ }
29
+ function update_email_data($update_email_data,$where)
30
+ {
31
+ global $wpdb;
32
+ $wpdb->update(wp_mail_bank(),$update_email_data, $where);
33
+ die();
34
+ }
35
+ }
36
+ if(isset($_REQUEST["param"]))
37
+ {
38
+ global $wpdb;
39
+ if($_REQUEST["param"] == "add_mail_detail")
40
+ {
41
+ $insert = new save_data();
42
+ $email_setup = array();
43
+ $email_setup["from_name"] = esc_attr($_REQUEST["ux_email_from_name"]);
44
+ $email_setup["from_email"] = esc_attr($_REQUEST["ux_email_from_email"]);
45
+ $email_setup["mailer_type"] = intval($_REQUEST["ux_rdl_ends"]);
46
+ $email_setup["return_path"] = isset($_REQUEST["ux_chk_return_path"]) ? intval($_REQUEST["ux_chk_return_path"]) : 0;
47
+ $email_setup["return_email"] = esc_attr($_REQUEST["ux_return_email"]);
48
+ $email_setup["word_wrap"] = intval($_REQUEST["ux_word_wrap"]);
49
+ $email_setup["smtp_host"] = esc_attr($_REQUEST["ux_smtp_host"]);
50
+ $email_setup["smtp_port"] = esc_attr($_REQUEST["ux_smtp_port"]);
51
+ $email_setup["encryption"] = intval($_REQUEST["ux_rdl_encrption"]);
52
+ $email_setup["smtp_keep_alive"] = intval($_REQUEST["ux_rdl_smtp_alive"]);
53
+ $email_setup["authentication"] = intval($_REQUEST["ux_rdl_authentication_bank"]);
54
+ $email_setup["smtp_username"] = esc_attr($_REQUEST["ux_txt_username"]);
55
+ $email_setup["smtp_password"] = esc_attr($_REQUEST["ux_txt_password"]);
56
+
57
+ $count_direction = $wpdb->get_var
58
+ (
59
+ "SELECT count(id) FROM " .wp_mail_bank()
60
+ );
61
+ if($count_direction == 0)
62
+ {
63
+ $insert->insert_data($email_setup);
64
+ }
65
+ else
66
+ {
67
+ $where = array();
68
+ $where["id"] = 1;
69
+ $insert->update_email_data($email_setup,$where);
70
+ }
71
+ die();
72
+
73
+ }
74
+ elseif($_REQUEST["param"] == "send_mail")
75
+ {
76
+ global $phpmailer;
77
+ $logs = array();
78
+ if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) {
79
+ require_once ABSPATH . WPINC . '/class-phpmailer.php';
80
+ require_once ABSPATH . WPINC . '/class-smtp.php';
81
+ $phpmailer = new PHPMailer( true );
82
+ }
83
+
84
+ $phpmailer->SMTPDebug = true;
85
+ ob_start();
86
+
87
+ $to = esc_attr($_REQUEST["ux_email_to"]);
88
+ $subject=esc_attr($_REQUEST["ux_email_subject"]);
89
+ $message=stripslashes(($_REQUEST["message"]));
90
+ $result = wp_mail($to, $subject, $message);
91
+ if($phpmailer->Mailer == "smtp")
92
+ {
93
+ echo $smtp_debug = ob_get_clean();
94
+ }
95
+ else
96
+ {
97
+ echo $result;
98
+ }
99
+ die();
100
+ }
101
+ }
102
+ }
103
+ ?>
lib/wp-include-menus.php ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ //--------------------------------------------------------------------------------------------------------------//
3
+ // CODE FOR CREATING MENUS
4
+ //---------------------------------------------------------------------------------------------------------------//
5
+ global $wpdb,$current_user;
6
+ $role = $wpdb->prefix . "capabilities";
7
+ $current_user->role = array_keys($current_user->$role);
8
+ $role = $current_user->role[0];
9
+
10
+ switch($role)
11
+ {
12
+ case "administrator":
13
+ add_menu_page(" Mail Bank", __(" Mail Bank", mail_bank), "read", "smtp_mail","", plugins_url("/assets/images/mail.png" , dirname(__FILE__)));
14
+ add_submenu_page("smtp_mail", "Settings", __("Settings", mail_bank), "read", "smtp_mail","smtp_mail");
15
+ add_submenu_page("", "", "", "read", "send_test_email", "send_test_email");
16
+ add_submenu_page("smtp_mail", "System Status", __("System Status", mail_bank), "read", "mail_system_status", "mail_system_status" );
17
+ break;
18
+ case "editor":
19
+ add_menu_page(" Mail Bank", __(" Mail Bank", mail_bank), "read", "smtp_mail","", plugins_url("/assets/images/mail.png" , dirname(__FILE__)));
20
+ add_submenu_page("smtp_mail", "Settings", __("Settings", mail_bank), "read", "smtp_mail","smtp_mail");
21
+ add_submenu_page("", "", "", "read", "send_test_email", "send_test_email");
22
+ add_submenu_page("smtp_mail", "System Status", __("System Status", mail_bank), "read", "mail_system_status", "mail_system_status" );
23
+ break;
24
+ case "author":
25
+ add_menu_page(" Mail Bank", __(" Mail Bank", mail_bank), "read", "smtp_mail","", plugins_url("/assets/images/mail.png" , dirname(__FILE__)));
26
+ add_submenu_page("smtp_mail", "Settings", __("Settings", mail_bank), "read", "smtp_mail","smtp_mail");
27
+ add_submenu_page("", "", "", "read", "send_test_email", "send_test_email");
28
+ add_submenu_page("smtp_mail", "System Status", __("System Status", mail_bank), "read", "mail_system_status", "mail_system_status" );
29
+ break;
30
+ }
31
+
32
+ //--------------------------------------------------------------------------------------------------------------//
33
+ // CODE FOR CREATING PAGES
34
+ //---------------------------------------------------------------------------------------------------------------//
35
+
36
+ function smtp_mail()
37
+ {
38
+ global $wpdb,$current_user,$user_role_permission;
39
+ $role = $wpdb->prefix . "capabilities";
40
+ $current_user->role = array_keys($current_user->$role);
41
+ $role = $current_user->role[0];
42
+ include_once MAIL_BK_PLUGIN_DIR ."/views/mail_header.php";
43
+ include_once MAIL_BK_PLUGIN_DIR ."/views/mail_settings.php";
44
+ }
45
+
46
+ function mail_system_status()
47
+ {
48
+ global $wpdb,$current_user,$user_role_permission,$wp_version;
49
+ $role = $wpdb->prefix . "capabilities";
50
+ $current_user->role = array_keys($current_user->$role);
51
+ $role = $current_user->role[0];
52
+ include_once MAIL_BK_PLUGIN_DIR . "/views/wp_system_status.php";
53
+ }
54
+ function send_test_email()
55
+ {
56
+ global $wpdb,$current_user,$user_role_permission,$wp_version;
57
+ $role = $wpdb->prefix . "capabilities";
58
+ $current_user->role = array_keys($current_user->$role);
59
+ $role = $current_user->role[0];
60
+ include_once MAIL_BK_PLUGIN_DIR ."/views/mail_header.php";
61
+ include_once MAIL_BK_PLUGIN_DIR . "/views/test_email.php";
62
+ }
63
+
64
+ ?>
lib/wp-install-script.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ global $wpdb;
3
+ require_once(ABSPATH . "wp-admin/includes/upgrade.php");
4
+
5
+ if (count($wpdb->get_var("SHOW TABLES LIKE '" . wp_mail_bank() . "'")) == 0)
6
+ {
7
+ create_table_mail_detail();
8
+ $wpdb->query
9
+ (
10
+ $wpdb->prepare
11
+ (
12
+ "INSERT INTO " . wp_mail_bank() . " (from_name, from_email,mailer_type,return_path,return_email,smtp_host,smtp_port,word_wrap,encryption,smtp_keep_alive,authentication,smtp_username,smtp_password)
13
+ VALUES(%s, %s, %d, %d, %s, %s, %d, %d, %d, %d, %d, %s, %s)",
14
+ "Wordpress",
15
+ get_option("admin_email"),
16
+ 1,
17
+ 1,
18
+ "",
19
+ "",
20
+ 25,
21
+ 50,
22
+ 0,
23
+ 1,
24
+ 0,
25
+ "",
26
+ ""
27
+ )
28
+ );
29
+ }
30
+ function create_table_mail_detail()
31
+ {
32
+ $sql = "CREATE TABLE ". wp_mail_bank()." (
33
+ id INTEGER(10) NOT NULL AUTO_INCREMENT,
34
+ from_name VARCHAR(100),
35
+ from_email VARCHAR(100),
36
+ mailer_type INTEGER(1),
37
+ return_path INTEGER(1),
38
+ return_email VARCHAR(100),
39
+ smtp_host VARCHAR(100),
40
+ smtp_port INTEGER(5),
41
+ word_wrap INTEGER(10),
42
+ encryption INTEGER(1),
43
+ smtp_keep_alive INTEGER(5),
44
+ authentication INTEGER(1),
45
+ smtp_username VARCHAR(100),
46
+ smtp_password VARCHAR(100),
47
+ PRIMARY KEY (id)
48
+ ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_general_ci";
49
+ dbDelta($sql);
50
+ }
51
+ ?>
license.txt ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ <one line to give the program's name and a brief idea of what it does.>
294
+ Copyright (C) <year> <name of author>
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ <signature of Ty Coon>, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
readme.txt ADDED
@@ -0,0 +1,228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WP Mail Bank - PHPMailer & SMTP Mailer ===
2
+ Contributors: contact-banker, Gallery-Bank
3
+ Tags: admin, ajax, email, gmail, mail, mail smtp, mailer, outgoing mail, phpmailer, plugin, Post, posts, privacy, security, sendmail, smtp, ssl, tls, wordpress smtp, wp smtp, wp-phpmailer, wp_mail, wp mail
4
+ Requires at least: 2.7
5
+ Tested up to: 3.9.2
6
+ Stable tag: 1.0
7
+
8
+ WP Mail Bank reconfigures the PHPMailer and make it more enhanced with advanced smtp settings options.
9
+
10
+ == Description ==
11
+
12
+ ### WordPress Mail Bank - Best PHPMailer & SMTP Mailer
13
+
14
+ This plugin reconfigures the wp_mail() function nd make it more enhanced to use SMTP instead of mail() with various options available.
15
+
16
+ The Plugin has options to choose between your custom smtp server or the inbuilt phpmailer.
17
+
18
+ ###IMPORTANT: If you think you found a bug in WP Mail Bank or have any problem or question concerning WP Mail Bank, do not hesitate to contact us at [support@tech-banker.com](mailto:support@tech-banker.com).
19
+
20
+ ***August 18, 2014: We're happy to announce that WP Mail Bank reached 1700+ plugin downloads in only 2 weeks. We frequently receive positive feedback from people using our WP Mail Bank Plugin for WordPress. Thanks so much for your support!***
21
+
22
+ ###Key Features :
23
+
24
+ * Specify the From Name that emails should be sent from.
25
+ * Specify the Email Address that emails should be sent from.
26
+ * Specify Transporder to be used for sending out email i.e SMTP or Php mail() function.
27
+ * Specify Return Path of your Email or Keep it same as your email address.
28
+ * Specify Word Wrap at which the string will be wrapped in email per line.
29
+ * Specify SMTP Host to be used for sending your emails.
30
+ * Specify SMTP Port to be used for sending your emails.
31
+ * Specify an SMTP username and password.
32
+ * Specify Encryption type.
33
+ * Specify to use Authentication or disable Authentication.
34
+ * Specify SMTP Keep Alive to keep SMTP Authentication Session open or closed after sending emails.
35
+
36
+ ### Send Test Email Utility with Console Log
37
+
38
+ With this utility you can always check weither you have configured your SMTP Mail Server details correctly or not. A Test email would be sent to your mentioned email address with console log of the output.
39
+
40
+ > #### ** Default SMTP Ports & Settings **
41
+ > * SMTP Server - Non-Encrypted - Port 25 ( or 587 )
42
+ > * SMTP Server - Secure (TLS) - Port 587
43
+ > * SMTP Server - Secure (SSL) - Port 465
44
+
45
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
46
+
47
+ > #### ** Googlemail - Gmail SMTP Ports & Settings **
48
+ > * SMTP Server - Host : smtp.gmail.com - Secure (SSL) - Port 465
49
+ > * SMTP Server - Host : smtp.gmail.com - Secure (TLS) - Port 587
50
+
51
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
52
+
53
+ > #### ** Outlook.com SMTP Ports & Settings **
54
+ > * SMTP Server - Host : smtp.live.com - Secure (TLS) - Port 587
55
+
56
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
57
+
58
+ > #### ** Office365.com SMTP Ports & Settings **
59
+ > * SMTP Server - Host : smtp.office365.com - Secure (TLS) - Port 587
60
+
61
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
62
+
63
+ > #### ** Yahoo Mail SMTP Ports & Settings **
64
+ > * SMTP Server - Host : smtp.mail.yahoo.com - Secure (SSL) - Port 465
65
+
66
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
67
+
68
+ > #### ** Yahoo Mail Plus SMTP Ports & Settings **
69
+ > * SMTP Server - Host : plus.smtp.mail.yahoo.com - Secure (SSL) - Port 465
70
+
71
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
72
+
73
+ > #### ** Yahoo UK SMTP Ports & Settings **
74
+ > * SMTP Server - Host : smtp.mail.yahoo.co.uk - Secure (SSL) - Port 465
75
+
76
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
77
+
78
+ > #### ** Yahoo Deutschland SMTP Ports & Settings **
79
+ > * SMTP Server - Host : smtp.mail.yahoo.com - Secure (SSL) - Port 465
80
+
81
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
82
+
83
+ > #### ** Yahoo Australia/New Zeland SMTP Ports & Settings **
84
+ > * SMTP Server - Host : smtp.mail.yahoo.com.au - Secure (SSL) - Port 465
85
+
86
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
87
+
88
+ > #### ** O2 SMTP Ports & Settings **
89
+ > * SMTP Server - Host : smtp.o2.ie - Non-Encrypted - Port 25
90
+
91
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
92
+
93
+ > #### ** O2.uk SMTP Ports & Settings **
94
+ > * SMTP Server - Host : smtp.o2.co.uk - Non-Encrypted - Port 25
95
+
96
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
97
+
98
+ > #### ** AT&T SMTP Ports & Settings **
99
+ > * SMTP Server - Host : smtp.att.yahoo.com - Secure (SSL) - Port 465
100
+
101
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
102
+
103
+ > #### ** NTL @ntlworld.com SMTP Ports & Settings **
104
+ > * SMTP Server - Host : smtp.ntlworld.com - Secure (SSL) - Port 465
105
+
106
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
107
+
108
+ > #### ** BT Connect SMTP Ports & Settings **
109
+ > * SMTP Server - Host : pop3.btconnect.com - Non-Encrypted - Port 25
110
+
111
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
112
+
113
+ > #### ** BT Openworld SMTP Ports & Settings **
114
+ > * SMTP Server - Host : mail.btopenworld.com - Non-Encrypted - Port 25
115
+
116
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
117
+
118
+ > #### ** BT Internet SMTP Ports & Settings **
119
+ > * SMTP Server - Host : mail.btinternet.com - Non-Encrypted - Port 25
120
+
121
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
122
+
123
+ > #### ** Orange SMTP Ports & Settings **
124
+ > * SMTP Server - Host : smtp.orange.net - Non-Encrypted - Port 25
125
+
126
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
127
+
128
+ > #### ** Orange.uk SMTP Ports & Settings **
129
+ > * SMTP Server - Host : smtp.orange.co.uk - Non-Encrypted - Port 25
130
+
131
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
132
+
133
+ > #### ** Wanadoo UK SMTP Ports & Settings **
134
+ > * SMTP Server - Host : smtp.wanadoo.co.uk - Non-Encrypted - Port 25
135
+
136
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
137
+
138
+ > #### ** Hotmail SMTP Ports & Settings **
139
+ > * SMTP Server - Host : smtp.live.com - Secure (SSL) - Port 465
140
+
141
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
142
+
143
+ > #### ** O2 Online Deutschland SMTP Ports & Settings **
144
+ > * SMTP Server - Host : mail.o2online.de - Non-Encrypted - Port 25
145
+
146
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
147
+
148
+ > #### ** T-Online Deutschland SMTP Ports & Settings **
149
+ > * SMTP Server - Host : securesmtp.t-online.de - Secure (TLS) - Port 587
150
+
151
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
152
+
153
+ > #### ** 1&1 (1and1) SMTP Ports & Settings **
154
+ > * SMTP Server - Host : smtp.1and1.com - Secure (TLS) - Port 587
155
+
156
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
157
+
158
+ > #### ** 1&1 Deutschland SMTP Ports & Settings **
159
+ > * SMTP Server - Host : smtp.1und1.de - Secure (TLS) - Port 587
160
+
161
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
162
+
163
+ > #### ** Comcast SMTP Ports & Settings **
164
+ > * SMTP Server - Host : smtp.comcast.net - Non-Encrypted - Port 587
165
+
166
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
167
+
168
+ > #### ** Verizon SMTP Ports & Settings **
169
+ > * SMTP Server - Host : outgoing.verizon.net - Secure (SSL) - Port 465
170
+
171
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
172
+
173
+ > #### ** Verizon (Yahoo hosted) SMTP Ports & Settings **
174
+ > * SMTP Server - Host : outgoing.yahoo.verizon.net - Non-Encrypted - Port 587
175
+
176
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
177
+
178
+ > #### ** zoho Mail SMTP Ports & Settings **
179
+ > * SMTP Server - Host : smtp.zoho.com - Secure (SSL) - Port 465
180
+
181
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
182
+
183
+ > #### ** Mail.com SMTP Ports & Settings **
184
+ > * SMTP Server - Host : smtp.mail.com - Secure (SSL) - Port 465
185
+
186
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
187
+
188
+
189
+ > #### ** GMX.com SMTP Ports & Settings **
190
+ > * SMTP Server - Host : smtp.gmx.com - Secure (SSL) - Port 465
191
+
192
+ Note :These SMTP Ports & Settings may be different depending upon your Host Provider. Please contact your Web Server Host for correct details.
193
+
194
+ == Installation ==
195
+
196
+ ### Minimum requirements.
197
+ * Wordpress 2.7+
198
+ * PHP 5.x
199
+ * MySQL 5.x
200
+
201
+ ### Performing a new installation
202
+
203
+ After downloading the ZIP file,
204
+
205
+ 1. Log in to the administrator panel.
206
+ 2. Go to Plugins Add > New > Upload.
207
+ 3. Click “Choose file” (“Browse”) and select the downloaded zip file.
208
+
209
+ *For Mac Users*
210
+ *Go to your Downloads folder and locate the folder with the plugin. Right-click on the folder and select Compress. Now you have a newly created .zip file which can be installed as described here.*
211
+
212
+ 1. Click “Install Now” button.
213
+ 2. Click “Activate Plugin” button for activating the plugin.
214
+
215
+ If any problem occurs, please contact us at [support@tech-banker.com](mailto:support@tech-banker.com).
216
+
217
+
218
+ == Screenshots ==
219
+
220
+ 1. Settings Page with Php Mailer as Transporder for sending Emails from your WordPress Site
221
+ 2. Settings Page with SMTP as Transporder for sending Emails from your WordPress Site
222
+ 3. Send Test Email Screen
223
+ 4. Debugging Output Console Log
224
+ == Changelog ==
225
+
226
+ = 1.0 =
227
+
228
+ * Initial Release
views/mail_header.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ switch($role)
4
+ {
5
+ case "administrator":
6
+ $user_role_permission = "manage_options";
7
+ break;
8
+ case "editor":
9
+ $user_role_permission = "publish_pages";
10
+ break;
11
+ case "author":
12
+ $user_role_permission = "publish_posts";
13
+ break;
14
+ }
15
+
16
+ if (!current_user_can($user_role_permission))
17
+ {
18
+ return;
19
+ }
20
+ else
21
+ {
22
+ ?>
23
+
24
+ <img style="margin-top: 15px;" src="<?php echo plugins_url("/assets/images/logo.png" , dirname(__FILE__)); ?>" />
25
+ <h2 class="nav-tab-wrapper">
26
+ <a class="nav-tab " id="smtp_mail" href="admin.php?page=smtp_mail"><?php _e("Settings", mail_bank);?></a>
27
+ <a class="nav-tab " id="send_test_email" href="admin.php?page=send_test_email"><?php _e("Send Test Email", mail_bank);?></a>
28
+ </h2>
29
+ <script>
30
+ jQuery(document).ready(function()
31
+ {
32
+ jQuery(".nav-tab-wrapper > a#<?php echo $_REQUEST["page"];?>").addClass("nav-tab-active");
33
+ });
34
+ </script>
35
+ <?php
36
+ }
37
+ ?>
views/mail_settings.php ADDED
@@ -0,0 +1,359 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ switch($role)
4
+ {
5
+ case "administrator":
6
+ $user_role_permission = "manage_options";
7
+ break;
8
+ case "editor":
9
+ $user_role_permission = "publish_pages";
10
+ break;
11
+ case "author":
12
+ $user_role_permission = "publish_posts";
13
+ break;
14
+ }
15
+
16
+ if (!current_user_can($user_role_permission))
17
+ {
18
+ return;
19
+ }
20
+ else
21
+ {
22
+ $email_data=$wpdb->get_row
23
+ (
24
+ "SELECT * FROM ".wp_mail_bank()
25
+ );
26
+ $admin_email = get_option( 'admin_email' );
27
+ ?>
28
+ <form id="ux_frm_email" class="layout-form" style="max-width:1000px";>
29
+ <div id="form_success_message" class="message green" style="display: none;">
30
+ <span>
31
+ <strong><?php _e("Settings has been successfully saved.", mail_bank); ?></strong>
32
+ </span>
33
+ </div>
34
+ <div class="fluid-layout">
35
+ <div class="layout-span12 responsive">
36
+ <div class="widget-layout">
37
+ <div class="widget-layout-title">
38
+ <h4><?php _e( "Settings - WP Mail Bank", mail_bank ); ?></h4>
39
+ </div>
40
+ <div class="widget-layout-body">
41
+ <div class="fluid-layout">
42
+ <div class="layout-control-group">
43
+ <label class="layout-control-label"><?php _e("From Name", mail_bank); ?> : <span class="error">*</span></label>
44
+ <div class="layout-controls">
45
+ <input type="text" name="ux_email_from_name" class="layout-span9" id="ux_email_from_name" placeholder="Please enter your From Name" value="<?php echo isset($email_data->from_name) ? $email_data->from_name : "WordPress" ;?>"/><br>
46
+ <p class="wpib-desc-italic"><?php _e("You can specify the name that emails should be sent from.", mail_bank); ?></p>
47
+ </div>
48
+ </div>
49
+ <div class="layout-control-group">
50
+ <label class="layout-control-label"><?php _e("From Email", mail_bank); ?> : <span class="error">*</span></label>
51
+ <div class="layout-controls">
52
+ <input type="text" name="ux_email_from_email" class="layout-span9" id="ux_email_from_email" placeholder="Please enter your From Email" value="<?php echo isset($email_data->from_email) ? $email_data->from_email : $admin_email ;?>"/><br>
53
+ <p class="wpib-desc-italic"><?php _e("You can specify the email that emails should be sent from.", mail_bank); ?></p>
54
+ </div>
55
+ </div>
56
+ <div class="layout-control-group">
57
+ <label class="layout-control-label"><?php _e("Mailer Type", mail_bank); ?> : <span class="error">*</span></label>
58
+ <div class="wpib-layout-controls-radio">
59
+ <?php
60
+ $rdl_value = isset($email_data->mailer_type) ? $email_data->mailer_type : "1" ;
61
+ if($rdl_value == 1)
62
+ {
63
+ ?>
64
+ <input type="radio" onclick="backup_rdl();" id="ux_rdl_off" name="ux_rdl_ends" value="0" /><?php _e("Send all emails via SMTP", mail_bank); ?>
65
+ <input type="radio" onclick="backup_rdl();" checked="checked" id="ux_rdl_on" style="margin-left: 10px;" name="ux_rdl_ends" value="1"/><?php _e("Use the PHP mail() function to send emails.", mail_bank); ?>
66
+ <?php
67
+ }
68
+ else {
69
+ ?>
70
+ <input type="radio" onclick="backup_rdl();" checked="checked" id="ux_rdl_off" name="ux_rdl_ends" value="0" /><?php _e("Send all emails via SMTP", mail_bank); ?>
71
+ <input type="radio" onclick="backup_rdl();" id="ux_rdl_on" style="margin-left: 10px;" name="ux_rdl_ends" value="1"/><?php _e("Use the PHP mail() function to send emails.", mail_bank); ?>
72
+ <?php
73
+ }
74
+ ?>
75
+ <p class="wpib-desc-italic"><?php _e("You can specify the transporder to be used for sending out emails from your WordPrss site.", mail_bank); ?></p>
76
+ </div>
77
+ </div>
78
+ <div class="layout-control-group">
79
+ <label class="layout-control-label" ><?php _e("Return Path", mail_bank); ?> :</label>
80
+ <div class="wpib-layout-controls-radio">
81
+ <?php
82
+ $chk_path=isset($email_data->return_path) ? $email_data->return_path : "1";
83
+ if($chk_path == "1")
84
+ {
85
+ ?>
86
+ <input type="checkbox" id="ux_chk_return_path" checked="checked" name="ux_chk_return_path" value="1" onclick="show_return_path();"/><?php _e("Set the return-path to match the From Email", mail_bank); ?>
87
+ <?php
88
+ }
89
+ else
90
+ {
91
+ ?>
92
+ <input type="checkbox" id="ux_chk_return_path" name="ux_chk_return_path" value="1" onclick="show_return_path();"/><?php _e("Set the return-path to match the From Email", mail_bank); ?>
93
+ <?php
94
+ }
95
+ ?>
96
+ <p class="wpib-desc-italic"><?php _e("Tick the checkbox if you want to set the return path same as your from email address.", mail_bank); ?></p>
97
+ </div>
98
+ </div>
99
+ <div id="return_path" style="display: none">
100
+ <div class="layout-control-group">
101
+ <label class="layout-control-label"><?php _e("Return Email", mail_bank); ?> : <span class="error">*</span></label>
102
+ <div class="layout-controls">
103
+ <input type="text" name="ux_return_email" placeholder="Please enter your Return Email" class="layout-span9" id="ux_return_email" value="<?php echo isset($email_data->return_email) ? $email_data->return_email : "" ;?>"/><br>
104
+ <p class="wpib-desc-italic"><?php _e("You can specify the email address that should be set as tghe return path for your emails.", mail_bank); ?></p>
105
+ </div>
106
+ </div>
107
+ </div>
108
+ <div class="layout-control-group">
109
+ <label class="layout-control-label"><?php _e("Word Wrap", mail_bank); ?> :</label>
110
+ <div class="layout-controls">
111
+ <input type="text" name="ux_word_wrap" class="layout-span9" id="ux_word_wrap" placeholder="Please enter wordwrap" value="<?php echo isset($email_data->word_wrap) ? $email_data->word_wrap : "50" ;?>"/><br>
112
+ <p class="wpib-desc-italic"><?php _e("The number of characters at which the string will be wrapped.", mail_bank); ?></p>
113
+ </div>
114
+ </div>
115
+ <div id="ux_smtp_host" style="display: none">
116
+ <div class="layout-control-group">
117
+ <label class="layout-control-label"><?php _e("SMTP Host", mail_bank); ?> : <span class="error">*</span></label>
118
+ <div class="layout-controls">
119
+ <input type="text" name="ux_smtp_host" class="layout-span9" id="ux_smtp_host" placeholder="Please enter your SMTP Host" value="<?php echo isset($email_data->smtp_host) ? $email_data->smtp_host : "" ;?>"/><br>
120
+ <p class="wpib-desc-italic"><?php _e("You can specify the smtp host for sending your emails.", mail_bank); ?></p>
121
+ </div>
122
+ </div>
123
+ <div class="layout-control-group">
124
+ <label class="layout-control-label"><?php _e("SMTP Port", mail_bank); ?> : <span class="error">*</span></label>
125
+ <div class="layout-controls">
126
+ <input type="text" name="ux_smtp_port" class="layout-span9" id="ux_smtp_port" placeholder="Please enter your SMTP Port" value="<?php echo isset($email_data->smtp_port) ? $email_data->smtp_port : "25" ;?>"/><br>
127
+ <p class="wpib-desc-italic"><?php _e("You can specify the smtp port for sending your emails.", mail_bank); ?></p>
128
+ </div>
129
+ </div>
130
+ <div class="layout-control-group">
131
+ <label class="layout-control-label"><?php _e("Encryption", mail_bank); ?> : <span class="error">*</span></label>
132
+ <div class="wpib-layout-controls-radio">
133
+ <?php
134
+ $rdl_data = isset($email_data->encryption) ? $email_data->encryption : "0" ;
135
+ if($rdl_data == 0)
136
+ {
137
+ ?>
138
+ <input type="radio" checked="checked" id="ux_rdl_encrption_no" name="ux_rdl_encrption" value="0" /><?php _e("No Encryption", mail_bank); ?>
139
+ <input type="radio" id="ux_rdl_encrption_ssl" name="ux_rdl_encrption" style="margin-left: 10px;" value="1"/><?php _e("Use SSL Encryption", mail_bank); ?>
140
+ <input type="radio" id="ux_rdl_encrption_tls" name="ux_rdl_encrption" style="margin-left: 10px;" value="2"/><?php _e("Use TLS Encryption", mail_bank); ?>
141
+ <?php
142
+ }
143
+ else if($rdl_data == 1)
144
+ {
145
+ ?>
146
+ <input type="radio" id="ux_rdl_encrption_no" name="ux_rdl_encrption" value="0" /><?php _e("No Encryption", mail_bank); ?>
147
+ <input type="radio" checked="checked" id="ux_rdl_encrption_ssl" style="margin-left: 10px;" name="ux_rdl_encrption" value="1"/><?php _e("Use SSL Encryption", mail_bank); ?>
148
+ <input type="radio" id="ux_rdl_encrption_tls" name="ux_rdl_encrption" style="margin-left: 10px;" value="2"/><?php _e("Use TLS Encryption", mail_bank); ?>
149
+ <?php
150
+ }
151
+ else if($rdl_data == 2)
152
+ {
153
+ ?>
154
+ <input type="radio" id="ux_rdl_encrption_no" name="ux_rdl_encrption" value="0" /><?php _e("No Encryption", mail_bank); ?>
155
+ <input type="radio" id="ux_rdl_encrption_ssl" style="margin-left: 10px;" name="ux_rdl_encrption" value="1"/><?php _e("Use SSL Encryption", mail_bank); ?>
156
+ <input type="radio" checked="checked" id="ux_rdl_encrption_tls" style="margin-left: 10px;" name="ux_rdl_encrption" value="2"/><?php _e("Use TLS Encryption", mail_bank); ?>
157
+ <?php
158
+ }
159
+ ?>
160
+ <p class="wpib-desc-italic"><?php _e("You can specify the encryption type of your emails.", mail_bank); ?></p>
161
+ </div>
162
+ </div>
163
+ <div class="layout-control-group">
164
+ <label class="layout-control-label"><?php _e("Authentication", mail_bank); ?> : <span class="error">*</span></label>
165
+ <div class="wpib-layout-controls-radio">
166
+ <?php
167
+ $rdl_value = isset($email_data->authentication) ? $email_data->authentication : "" ;
168
+ if($rdl_value == 1)
169
+ {
170
+ ?>
171
+ <input type="radio" onclick="smtp_username();" id="ux_rdl_authentication" name="ux_rdl_authentication_bank" value="0" /><?php _e("Do not use SMTP Authentication", mail_bank); ?>
172
+ <input type="radio" onclick="smtp_username();" style="margin-left: 10px;" checked="checked" id="ux_rdl_authentication_use" name="ux_rdl_authentication_bank" value="1"/><?php _e("Use SMTP Authentication", mail_bank); ?>
173
+ <?php
174
+ }
175
+ else {
176
+ ?>
177
+ <input type="radio" onclick="smtp_username();" checked="checked" id="ux_rdl_authentication" name="ux_rdl_authentication_bank" value="0" /><?php _e("Do not use SMTP Authentication", mail_bank); ?>
178
+ <input type="radio" onclick="smtp_username();" style="margin-left: 10px;" id="ux_rdl_authentication_use" name="ux_rdl_authentication_bank" value="1"/><?php _e("Use SMTP Authentication", mail_bank); ?>
179
+ <?php
180
+ }
181
+ ?>
182
+ <p class="wpib-desc-italic"><?php _e("You can specify the authentication type of your emails.", mail_bank); ?></p>
183
+ </div>
184
+ </div>
185
+ <div id="ux_smtp" style="display:none">
186
+ <div class="fluid-layout">
187
+ <div class="layout-span5">
188
+ <div class="layout-control-group">
189
+ <label class="layout-control-label"><?php _e("SMTP Username", mail_bank); ?> : <span class="error">*</span></label>
190
+ <div class="layout-controls">
191
+ <input type="text" id="ux_txt_username" name="ux_txt_username" placeholder="Please enter Username" class="layout-span12" value="<?php echo isset($email_data->smtp_username) ? $email_data->smtp_username : "" ;?>"/>
192
+ </div>
193
+ </div>
194
+ </div>
195
+ <div class="layout-span5">
196
+ <div class="layout-control-group">
197
+ <label class="layout-control-label"><?php _e("SMTP Password", mail_bank); ?> : <span class="error">*</span></label>
198
+ <div class="layout-controls">
199
+ <input type="password" id="ux_txt_password" placeholder="Please enter Password" name="ux_txt_password" style="margin-left: -26px;" class="layout-span12" value="<?php echo isset($email_data->smtp_password) ? $email_data->smtp_password : "" ;?>">
200
+ </div>
201
+ </div>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ <div class="layout-control-group" style="margin-top: 10px;">
206
+ <label class="layout-control-label"><?php _e("SMTP Keep Alive", mail_bank); ?> : </label>
207
+ <div class="wpib-layout-controls-radio">
208
+ <?php
209
+ $smtp_alive = isset($email_data->smtp_keep_alive) ? $email_data->smtp_keep_alive : "1" ;
210
+ if($smtp_alive == 0)
211
+ {
212
+ ?>
213
+ <input type="radio" checked="checked" id="ux_rdl_smtp_enable" name="ux_rdl_smtp_alive" value="0" /><?php _e("Enable", mail_bank); ?>
214
+ <input type="radio" style="margin-left: 10px;" id="ux_rdl_smtp_disable" name="ux_rdl_smtp_alive" value="1"/><?php _e("Disable", mail_bank); ?>
215
+ <?php
216
+ }
217
+ else
218
+ {
219
+ ?>
220
+ <input type="radio" id="ux_rdl_smtp_enable" name="ux_rdl_smtp_alive" value="0" /><?php _e("Enable", mail_bank); ?>
221
+ <input type="radio" checked="checked" style="margin-left: 10px;" id="ux_rdl_smtp_disable" name="ux_rdl_smtp_alive" value="1"/><?php _e("Disable", mail_bank); ?>
222
+ <?php
223
+ }
224
+ ?>
225
+ <p class="wpib-desc-italic"><?php _e("You can enable Smtp Keep Alive to keep the SMTP Authentication Session Open.", mail_bank); ?></p>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ </div>
230
+ <input type="submit" id="ux_btn_action" name="ux_btn_action" class="btn btn-danger" style="margin-left: 178px; margin-top: 10px;" value="<?php _e("Save Changes", mail_bank); ?>">
231
+ </div>
232
+ </div>
233
+ </div>
234
+ </div>
235
+ </form>
236
+ <?php
237
+ }
238
+ ?>
239
+ <script>
240
+ jQuery(document).ready(function()
241
+ {
242
+ backup_rdl();
243
+ show_return_path();
244
+ smtp_username();
245
+
246
+ });
247
+ jQuery("#ux_frm_email").validate
248
+ ({
249
+ rules:
250
+ {
251
+ ux_email_from_name:
252
+ {
253
+ required: true
254
+ },
255
+ ux_email_from_email:
256
+ {
257
+ required: true,
258
+ email: true
259
+ },
260
+ ux_return_email:
261
+ {
262
+ required: true,
263
+ email: true
264
+ },
265
+ ux_smtp_port:
266
+ {
267
+ required: true,
268
+ digits: true
269
+ },
270
+ ux_smtp_host:
271
+ {
272
+ required: true
273
+ },
274
+ ux_txt_username:
275
+ {
276
+ required: true
277
+ },
278
+ ux_rdl_ends:
279
+ {
280
+ required: true
281
+ },
282
+ ux_rdl_encrption:
283
+ {
284
+ required: true
285
+ },
286
+ ux_rdl_authentication_bank:
287
+ {
288
+ required: true
289
+ },
290
+ ux_txt_password:
291
+ {
292
+ required: true
293
+ },
294
+ ux_word_wrap:
295
+ {
296
+ digits: true
297
+ }
298
+ },
299
+ errorPlacement: function(error, element)
300
+ {
301
+ if((jQuery(element).attr("id") == "ux_txt_username") || (jQuery(element).attr("id") == "ux_txt_password"))
302
+ {
303
+ error.insertAfter(element.parent());
304
+ }
305
+ else
306
+ {
307
+ var ctrl = element.next();
308
+ if(ctrl != undefined)
309
+ error.insertAfter(ctrl);
310
+ jQuery(".error_field").css("float","left");
311
+ jQuery(".error_field").css("position","static");
312
+ }
313
+ },
314
+ submitHandler: function(form)
315
+ {
316
+ jQuery("#form_success_message").css("display","block");
317
+ jQuery.post(ajaxurl, jQuery(form).serialize() +"&param=add_mail_detail&action=add_mail_library", function(data)
318
+ {
319
+ window.location.reload();
320
+ });
321
+ }
322
+ });
323
+
324
+ function backup_rdl ()
325
+ {
326
+ var value = jQuery("#ux_rdl_on").prop("checked");
327
+ if(value == false)
328
+ {
329
+ jQuery("#ux_smtp_host").css("display","block");
330
+ }
331
+ else
332
+ {
333
+ jQuery("#ux_smtp_host").css("display","none");
334
+ }
335
+ }
336
+ function show_return_path()
337
+ {
338
+ if(jQuery("#ux_chk_return_path").prop("checked") == "0")
339
+ {
340
+ jQuery("#return_path").css("display","block");
341
+ }
342
+ else
343
+ {
344
+ jQuery("#return_path").css("display","none");
345
+ }
346
+ }
347
+ function smtp_username ()
348
+ {
349
+ var value = jQuery("#ux_rdl_authentication_use").prop("checked");
350
+ if(value == false)
351
+ {
352
+ jQuery("#ux_smtp").css("display","none");
353
+ }
354
+ else
355
+ {
356
+ jQuery("#ux_smtp").css("display","block");
357
+ }
358
+ }
359
+ </script>
views/test_email.php ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ switch($role)
3
+ {
4
+ case "administrator":
5
+ $user_role_permission = "manage_options";
6
+ break;
7
+ case "editor":
8
+ $user_role_permission = "publish_pages";
9
+ break;
10
+ case "author":
11
+ $user_role_permission = "publish_posts";
12
+ break;
13
+ }
14
+
15
+ if (!current_user_can($user_role_permission))
16
+ {
17
+ return;
18
+ }
19
+ else
20
+ {
21
+ $admin_email = get_option( 'admin_email' );
22
+ ?>
23
+ <form id="ux_frm_test_email" class="layout-form" style="max-width:1000px";>
24
+ <div class="fluid-layout">
25
+ <div id="ux_test_mail" style="display: block">
26
+ <div class="layout-span12 responsive">
27
+ <div class="widget-layout">
28
+ <div class="widget-layout-title">
29
+ <h4><?php _e( "Send Test Email - WP Mail Bank", mail_bank ); ?></h4>
30
+ </div>
31
+ <div class="widget-layout-body">
32
+ <div class="fluid-layout">
33
+ <div class="layout-control-group">
34
+ <label class="layout-control-label"><?php _e("To", mail_bank); ?> : <span class="error">*</span></label>
35
+ <div class="layout-controls">
36
+ <input type="text" name="ux_email_to" class="layout-span9" placeholder="Please enter Email" id="ux_email_to" value="<?php echo $admin_email?>"/><br>
37
+ <p class="wpib-desc-italic"><?php _e("You can specify the email-address you want to send for testing.", mail_bank); ?></p>
38
+ </div>
39
+ </div>
40
+ <div class="layout-control-group">
41
+ <label class="layout-control-label"><?php _e("Subject", mail_bank); ?> : <span class="error">*</span></label>
42
+ <div class="layout-controls">
43
+ <input type="text" name="ux_email_subject" class="layout-span9" placeholder="Please enter Subject" id="ux_email_subject" value="Test Email"/><br>
44
+ <p class="wpib-desc-italic"><?php _e("You can specify the subject of the email you want to send for testing.", mail_bank); ?></p>
45
+ </div>
46
+ </div>
47
+ <div class="layout-control-group">
48
+ <label class="layout-control-label"><?php _e("Message", mail_bank); ?> :</label>
49
+ <div class="layout-controls">
50
+ <div class="layout-span9">
51
+ <?php
52
+ $distribution = "Hello,
53
+ This is a Test Email from WP Mail Bank.
54
+ Thanks for using it!
55
+ Best Regards
56
+ <strong>WP Mail Bank</strong>";
57
+ wp_editor( $distribution, $name ="uxEmailTemplate" ,array("media_buttons" => false,
58
+ "textarea_rows" => 8, "tabindex" => 4,"tinymce" =>false ));
59
+ ?>
60
+ <p class="wpib-desc-italic"><?php _e("You can specify the message of the email you want to send for testing.", mail_bank); ?></p>
61
+ </div>
62
+ </div>
63
+ </div>
64
+ <div class="layout-control-group">
65
+ <div class="layout-controls">
66
+ <input type="submit" id="ux_btn_action" name="ux_btn_action" onclick="console_log();" class="btn btn-danger" value="<?php _e("Send Test Email", mail_bank); ?>">
67
+ </div>
68
+ </div>
69
+ </div>
70
+
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+ <div id="ux_mail_console" style="display: none">
76
+ <div class="layout-span12 responsive">
77
+ <div class="widget-layout">
78
+ <div class="widget-layout-title">
79
+ <h4><?php _e( "Send Test Email - WP Mail Console Log", mail_bank ); ?></h4>
80
+ </div>
81
+ <div class="widget-layout-body">
82
+ <div class="fluid-layout">
83
+ <div class="layout-control-group" id="result_div" style="display:none;">
84
+ <label class="layout-control-label"><?php _e("Result ", mail_bank); ?>:</label>
85
+ <div class="layout-controls">
86
+ <textarea name="ux_result_log" class="layout-span12" id="ux_result_log" rows="5" readonly="readonly" ></textarea>
87
+ </div>
88
+ </div>
89
+ <div class="layout-control-group" id="console_log_div">
90
+ <label class="layout-control-label"><?php _e("SMTP Debugging Output", mail_bank); ?> :</label>
91
+ <div class="layout-controls">
92
+ <textarea name="ux_console_log" class="layout-span12" id="ux_console_log" rows="15" readonly="readonly"><?php _e("Kindly be Patient! We are sending the Test Email!", mail_bank); ?></textarea>
93
+ </div>
94
+ </div>
95
+ <div class="layout-control-group">
96
+ <input type="button" id="ux_btn_action" name="ux_btn_action" onclick="back_settings();" class="btn btn-danger" value="<?php _e("Go Back to Settings", mail_bank); ?>">
97
+ <input type="button" id="ux_btn_action" name="ux_btn_action" onclick="send_test_email();" class="btn btn-danger" value="<?php _e("Send Another Test Email", mail_bank); ?>" style="float:Right;">
98
+ </div>
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+ </div>
104
+ </div>
105
+ </div>
106
+ </form>
107
+ <?php
108
+ }
109
+ ?>
110
+ <script type="text/javascript">
111
+ jQuery(document).ready(function()
112
+ {
113
+ jQuery("label ").css("margin-left","6px");
114
+ });
115
+ jQuery("#ux_frm_test_email").validate
116
+ ({
117
+ rules:
118
+ {
119
+ ux_email_to:
120
+ {
121
+ required: true,
122
+ email: true
123
+ },
124
+ ux_email_subject:
125
+ {
126
+ required: true
127
+ }
128
+ },
129
+ errorPlacement: function(error, element)
130
+ {
131
+ var ctrl = element.next();
132
+ if(ctrl != undefined)
133
+ error.insertAfter(ctrl);
134
+ jQuery(".error_field").css("float","left");
135
+ jQuery(".error_field").css("position","static");
136
+
137
+ },
138
+ submitHandler: function(form)
139
+ {
140
+ if (jQuery("#wp-uxEmailTemplate-wrap").hasClass("tmce-active"))
141
+ {
142
+ var uxEmailTemplate = encodeURIComponent(tinyMCE.get("uxEmailTemplate").getContent());
143
+ }
144
+ else
145
+ {
146
+ var uxEmailTemplate = encodeURIComponent(jQuery("#uxEmailTemplate").val());
147
+ }
148
+ jQuery.post(ajaxurl, jQuery(form).serialize() +"&message="+uxEmailTemplate+"&param=send_mail&action=add_mail_library", function(data)
149
+ {
150
+ if(data == "true" || data == "1")
151
+ {
152
+ jQuery("#result_div").css("display","block");
153
+ jQuery("#console_log_div").css("display","none");
154
+ jQuery("#ux_result_log").html("<?php _e("Test email was successfully sent!", mail_bank); ?>");
155
+ }
156
+ else
157
+ {
158
+ jQuery("#console_log_div").css("display","block");
159
+ jQuery("#result_div").css("display","none");
160
+ jQuery("#ux_console_log").html(data);
161
+ }
162
+ });
163
+ }
164
+ });jQuery("#return_path").css("display","block");
165
+ function console_log()
166
+ {
167
+ jQuery("#ux_test_mail").css("display","none");
168
+ jQuery("#ux_mail_console").css("display","block");
169
+ }
170
+ function back_settings()
171
+ {
172
+ window.location.href = "admin.php?page=smtp_mail";
173
+ }
174
+ function send_test_email()
175
+ {
176
+ jQuery("#ux_test_mail").css("display","block");
177
+ jQuery("#ux_mail_console").css("display","none");
178
+ }
179
+ </script>
views/wp_system_status.php ADDED
@@ -0,0 +1,543 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ switch($role)
3
+ {
4
+ case "administrator":
5
+ $user_role_permission = "manage_options";
6
+ break;
7
+ case "editor":
8
+ $user_role_permission = "publish_pages";
9
+ break;
10
+ case "author":
11
+ $user_role_permission = "publish_posts";
12
+ break;
13
+ }
14
+ if (!current_user_can($user_role_permission))
15
+ {
16
+ return;
17
+ }
18
+ else
19
+ {
20
+ ?>
21
+ <form id="frm_system_status" class="layout-form wpib-page-width" method="post">
22
+ <div class="fluid-layout">
23
+ <div class="layout-span12">
24
+ <div class="widget-layout wpib-body-background">
25
+ <div class="widget-layout-title">
26
+ <h4>
27
+ <?php _e("System Status - WP Mail Bank", mail_bank); ?>
28
+ </h4>
29
+ </div>
30
+ <div class="widget-layout-body">
31
+ <a class="btn btn-danger system-report" href="#"><?php _e("Get System Report", mail_bank); ?></a>
32
+ <div id="wp-insta-system-report" class="layout-system-report">
33
+ <textarea readonly="readonly"></textarea>
34
+ </div>
35
+ <a class="btn btn-danger close-report" href="#"><?php _e("Close System Report", mail_bank); ?></a>
36
+ <div class="wpib-separator-doubled"></div>
37
+ <div class="fluid-layout">
38
+ <div class="layout-span6">
39
+ <div class="widget-layout">
40
+ <div class="widget-layout-title">
41
+ <h4>Environment</h4>
42
+ </div>
43
+ <div class="widget-layout-body">
44
+ <div class="layout-control-group">
45
+ <label class="layout-label-control-group">Home URL :</label>
46
+ <div class="layout-controls">
47
+ <span><?php echo home_url(); ?></span>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <div class="widget-layout-body">
52
+ <div class="layout-control-group">
53
+ <label class="layout-label-control-group">Site URL :</label>
54
+
55
+ <div class="layout-controls">
56
+ <span><?php echo site_url(); ?></span>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div class="widget-layout-body">
61
+ <div class="layout-control-group">
62
+ <label class="layout-label-control-group">WP Version :</label>
63
+
64
+ <div class="layout-controls">
65
+ <span><?php bloginfo("version"); ?></span>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ <div class="widget-layout-body">
70
+ <div class="layout-control-group">
71
+ <label class="layout-label-control-group">WP Multisite Enabled :</label>
72
+
73
+ <div class="layout-controls">
74
+ <span><?php if (is_multisite()) echo "Yes"; else echo "No"; ?></span>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ <div class="widget-layout-body">
79
+ <div class="layout-control-group">
80
+ <label class="layout-label-control-group">Web Server Info :</label>
81
+
82
+ <div class="layout-controls">
83
+ <span><?php echo esc_html($_SERVER["SERVER_SOFTWARE"]); ?></span>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ <div class="widget-layout-body">
88
+ <div class="layout-control-group">
89
+ <label class="layout-label-control-group">PHP Version :</label>
90
+
91
+ <div class="layout-controls">
92
+ <span><?php if (function_exists("phpversion")) echo esc_html(phpversion()); ?></span>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ <div class="widget-layout-body">
97
+ <div class="layout-control-group">
98
+ <label class="layout-label-control-group">MySQL Version :</label>
99
+
100
+ <div class="layout-controls">
101
+ <span>
102
+ <?php
103
+ global $wpdb;
104
+ echo $wpdb->db_version();
105
+ ?>
106
+ </span>
107
+ </div>
108
+ </div>
109
+ </div>
110
+ <div class="widget-layout-body">
111
+ <div class="layout-control-group">
112
+ <label class="layout-label-control-group">WP Debug Mode :</label>
113
+
114
+ <div class="layout-controls">
115
+ <span><?php if (defined("WP_DEBUG") && WP_DEBUG) echo "Yes"; else echo "No"; ?></span>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ <div class="widget-layout-body">
120
+ <div class="layout-control-group">
121
+ <label class="layout-label-control-group">WP Language :</label>
122
+
123
+ <div class="layout-controls">
124
+ <span><?php if (defined("WPLANG") && WPLANG) echo WPLANG; else _e("Default"); ?></span>
125
+ </div>
126
+ </div>
127
+ </div>
128
+ <div class="widget-layout-body">
129
+ <div class="layout-control-group">
130
+ <label class="layout-label-control-group">PHP Post Max Size :</label>
131
+
132
+ <div class="layout-controls">
133
+ <span>
134
+ <?php
135
+ echo ini_get("post_max_size");
136
+ ?>
137
+ </span>
138
+ </div>
139
+ </div>
140
+ </div>
141
+ <div class="widget-layout-body">
142
+ <div class="layout-control-group">
143
+ <label class="layout-label-control-group">WP Max Upload Size :</label>
144
+
145
+ <div class="layout-controls">
146
+ <span><?php echo size_format(wp_max_upload_size()); ?></span>
147
+ </div>
148
+ </div>
149
+ </div>
150
+ <?php
151
+ $request["cmd"] = "_notify-validate";
152
+ $params = array(
153
+ "sslverify" => false,
154
+ "timeout" => 60,
155
+ "user-agent" => "wp-Instagram-Bank",
156
+ "body" => $request
157
+ );
158
+ $response = wp_remote_post( "https://www.paypal.com/cgi-bin/webscr", $params );
159
+ ?>
160
+ <div class="widget-layout-body">
161
+ <div class="layout-control-group">
162
+ <label class="layout-label-control-group">WP Remote Post :</label>
163
+
164
+ <div class="layout-controls">
165
+ <span><?php if ( ! is_wp_error( $response ))
166
+ {
167
+ echo "Success";
168
+ }
169
+ else
170
+ {
171
+ echo "Failed";
172
+ }
173
+ ?></span>
174
+ </div>
175
+ </div>
176
+ </div>
177
+ <?php if (function_exists("ini_get")) : ?>
178
+ <div class="widget-layout-body">
179
+ <div class="layout-control-group">
180
+ <label class="layout-label-control-group">PHP Max Script Execute Time :</label>
181
+
182
+ <div class="layout-controls">
183
+ <span><?php echo ini_get("max_execution_time"); ?>s</span>
184
+ </div>
185
+ </div>
186
+ </div>
187
+ <div class="widget-layout-body">
188
+ <div class="layout-control-group">
189
+ <label class="layout-label-control-group">PHP Max Input Vars :</label>
190
+
191
+ <div class="layout-controls">
192
+ <span><?php echo ini_get("max_input_vars"); ?></span>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ <div class="widget-layout-body">
197
+ <div class="layout-control-group">
198
+ <label class="layout-label-control-group">SUHOSIN Installed" :</label>
199
+
200
+ <div class="layout-controls">
201
+ <span><?php echo extension_loaded("suhosin") ? "Yes" : "No" ?></span>
202
+ </div>
203
+ </div>
204
+ </div>
205
+ <?php endif; ?>
206
+ <div class="widget-layout-body">
207
+ <div class="layout-control-group">
208
+ <label class="layout-label-control-group">Default Timezone :</label>
209
+ <div class="layout-controls">
210
+ <span>
211
+ <?php
212
+ $timezone = date_default_timezone_get();
213
+ if ("UTC" !== $timezone) {
214
+ echo sprintf("Default timezone is %s - it should be UTC", $timezone);
215
+ } else {
216
+ echo sprintf("Default timezone is %s", $timezone);
217
+ }
218
+ ?>
219
+ </span>
220
+ </div>
221
+ </div>
222
+ </div>
223
+ <?php
224
+ global $wpdb, $gb;
225
+ // Get MYSQL Version
226
+ $sql_version = $wpdb->get_var("SELECT VERSION() AS version");
227
+ // GET SQL Mode
228
+ $my_sql_info = $wpdb->get_results("SHOW VARIABLES LIKE \"sql_mode\"");
229
+ if (is_array($my_sql_info)) $sqlmode = $my_sql_info[0]->Value;
230
+ if (empty($sqlmode)) $sqlmode = "Not set";
231
+ // Get PHP Safe Mode
232
+ if (ini_get("safemode")) $safemode = "On";
233
+ else $safemode = "Off";
234
+ // Get PHP allow_url_fopen
235
+ if (ini_get("allow-url-fopen")) $allowurlfopen = "On";
236
+ else $allowurlfopen = "Off";
237
+ // Get PHP Max Upload Size
238
+ if (ini_get("upload_max_filesize")) $upload_maximum = ini_get("upload_max_filesize");
239
+ else $upload_maximum = "N/A";
240
+ // Get PHP Output buffer Size
241
+ if (ini_get("pcre.backtrack_limit")) $backtrack_lmt = ini_get("pcre.backtrack_limit");
242
+ else $backtrack_lmt = "N/A";
243
+ // Get PHP Max Post Size
244
+ if (ini_get("post_max_size")) $post_maximum = ini_get("post_max_size");
245
+ else $post_maximum = "N/A";
246
+ // Get PHP Memory Limit
247
+ if (ini_get("memory_limit")) $memory_limit = ini_get("memory_limit");
248
+ else $memory_limit = "N/A";
249
+ // Get actual memory_get_usage
250
+ if (function_exists("memory_get_usage")) $memory_usage = round(memory_get_usage() / 1024 / 1024, 2) . " MByte";
251
+ else $memory_usage = "N/A";
252
+ // required for EXIF read
253
+ if (is_callable("exif_read_data")) $exif = "Yes" . " ( V" . substr(phpversion("exif"), 0, 4) . ")";
254
+ else $exif = "No";
255
+ // required for meta data
256
+ if (is_callable("iptcparse")) $iptc = "Yes";
257
+ else $iptc = "No";
258
+ // required for meta data
259
+ if (is_callable("xml_parser_create")) $xml = "Yes";
260
+ else $xml = "No";
261
+ ?>
262
+ <div class="widget-layout-body">
263
+ <div class="layout-control-group">
264
+ <label class="layout-label-control-group">Operating System :</label>
265
+ <div class="layout-controls">
266
+ <span>
267
+ <?php echo PHP_OS; ?>&nbsp;(<?php echo(PHP_INT_SIZE * 8) ?>&nbsp;Bit)
268
+ </span>
269
+ </div>
270
+ </div>
271
+ </div>
272
+ <div class="widget-layout-body">
273
+ <div class="layout-control-group">
274
+ <label class="layout-label-control-group">Memory usage :</label>
275
+ <div class="layout-controls">
276
+ <span>
277
+ <?php echo $memory_usage; ?>
278
+ </span>
279
+ </div>
280
+ </div>
281
+ </div>
282
+ <div class="widget-layout-body">
283
+ <div class="layout-control-group">
284
+ <label class="layout-label-control-group">SQL Mode :</label>
285
+ <div class="layout-controls">
286
+ <span>
287
+ <?php echo $sqlmode; ?>
288
+ </span>
289
+ </div>
290
+ </div>
291
+ </div>
292
+ <div class="widget-layout-body">
293
+ <div class="layout-control-group">
294
+ <label class="layout-label-control-group">PHP Safe Mode :</label>
295
+ <div class="layout-controls">
296
+ <span>
297
+ <?php echo PHP_VERSION; ?>
298
+ </span>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ <div class="widget-layout-body">
303
+ <div class="layout-control-group">
304
+ <label class="layout-label-control-group">PHP Allow URL fopen :</label>
305
+ <div class="layout-controls">
306
+ <span>
307
+ <?php echo $allowurlfopen; ?>
308
+ </span>
309
+ </div>
310
+ </div>
311
+ </div>
312
+ <div class="widget-layout-body">
313
+ <div class="layout-control-group">
314
+ <label class="layout-label-control-group">PHP Memory Limit :</label>
315
+ <div class="layout-controls">
316
+ <span>
317
+ <?php echo $memory_limit; ?>
318
+ </span>
319
+ </div>
320
+ </div>
321
+ </div>
322
+ <div class="widget-layout-body">
323
+ <div class="layout-control-group">
324
+ <label class="layout-label-control-group">PHP Max Post Size :</label>
325
+ <div class="layout-controls">
326
+ <span>
327
+ <?php echo $post_maximum; ?>
328
+ </span>
329
+ </div>
330
+ </div>
331
+ </div>
332
+ <div class="widget-layout-body">
333
+ <div class="layout-control-group">
334
+ <label class="layout-label-control-group">PCRE Backtracking Limit :</label>
335
+ <div class="layout-controls">
336
+ <span>
337
+ <?php echo $backtrack_lmt; ?>
338
+ </span>
339
+ </div>
340
+ </div>
341
+ </div>
342
+ <div class="widget-layout-body">
343
+ <div class="layout-control-group">
344
+ <label class="layout-label-control-group">PHP Exif support :</label>
345
+ <div class="layout-controls">
346
+ <span>
347
+ <?php echo $exif; ?>
348
+ </span>
349
+ </div>
350
+ </div>
351
+ </div>
352
+ <div class="widget-layout-body">
353
+ <div class="layout-control-group">
354
+ <label class="layout-label-control-group">PHP IPTC support :</label>
355
+ <div class="layout-controls">
356
+ <span>
357
+ <?php echo $iptc; ?>
358
+ </span>
359
+ </div>
360
+ </div>
361
+ </div>
362
+ <div class="widget-layout-body">
363
+ <div class="layout-control-group">
364
+ <label class="layout-label-control-group">PHP XML support :</label>
365
+ <div class="layout-controls">
366
+ <span>
367
+ <?php echo $xml; ?>
368
+ </span>
369
+ </div>
370
+ </div>
371
+ </div>
372
+ </div>
373
+ </div>
374
+ <div class="layout-span6">
375
+ <div class="widget-layout">
376
+ <div class="widget-layout-title">
377
+ <h4>Plugins</h4>
378
+ </div>
379
+ <div class="widget-layout-body">
380
+ <div class="layout-control-group">
381
+ <label class="layout-label-control-group">Installed Plugins :</label>
382
+ <div class="layout-controls">
383
+ <span>
384
+ <?php
385
+ $active_plugins = (array)get_option("active_plugins", array());
386
+
387
+ if (is_multisite())
388
+ $active_plugins = array_merge($active_plugins, get_site_option("active_sitewide_plugins", array()));
389
+ $get_plugins = array();
390
+
391
+ foreach ($active_plugins as $plugin) {
392
+ $plugin_data = @get_plugin_data(WP_PLUGIN_DIR . "/" . $plugin);
393
+ $dirname = dirname($plugin);
394
+ $version_string = "";
395
+ if (!empty($plugin_data["Name"])) {
396
+ $plugin_name = $plugin_data["Name"];
397
+
398
+ if (!empty($plugin_data["PluginURI"])) {
399
+ $plugin_name = "<a href=\"" . esc_url($plugin_data["PluginURI"]) . "\" title=\"" . "Visit plugin homepage" . "\">" . $plugin_name . "</a>";
400
+ }
401
+
402
+ if (strstr($dirname, mail_bank)) {
403
+ if (false === ($version_data = get_transient($plugin . "_version_data"))) {
404
+ $changelog = wp_remote_get("http://dzv365zjfbd8v.cloudfront.net/changelogs/" . $dirname . "/changelog.txt");
405
+ $change_log = explode("\n", wp_remote_retrieve_body($changelog));
406
+ if (!empty($change_log)) {
407
+ foreach ($change_log as $line_num => $change_log_line) {
408
+ if (preg_match("/^[0-9]/", $change_log_line)) {
409
+ $date = str_replace(".", "-", trim(substr($change_log_line, 0, strpos($change_log_line, "-"))));
410
+ $version = preg_replace("~[^0-9,.]~", "", stristr($change_log_line, "version"));
411
+ $update = trim(str_replace("*", "", $change_log[$line_num + 1]));
412
+ $version_data = array("date" => $date, "version" => $version, "update" => $update, "changelog" => $changelog);
413
+ set_transient($plugin . "_version_data", $version_data, 60 * 60 * 12);
414
+ break;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ if (!empty($version_data["version"]) && version_compare($version_data["version"], $plugin_data["Version"], "!="))
420
+ $version_string = " &ndash; <strong style=\"color:red;\">" . $version_data["version"] . " " . "is available" . "</strong>";
421
+ }
422
+ $get_plugins[] = $plugin_name . " " . "by" . " " . $plugin_data["Author"] . " " . "version" . " " . $plugin_data["Version"] . $version_string;
423
+ }
424
+ }
425
+ if (sizeof($get_plugins) == 0)
426
+ echo "-";
427
+ else
428
+ echo implode("<div class=\"separator-single\"></div>", $get_plugins);
429
+ ?>
430
+ </span>
431
+ </div>
432
+ </div>
433
+ </div>
434
+ </div>
435
+ <?php
436
+ if($wp_version >= 3.4)
437
+ {
438
+ $active_theme = wp_get_theme();
439
+ ?>
440
+ <div class="widget-layout">
441
+ <div class="widget-layout-title">
442
+ <h4>Themes</h4>
443
+ </div>
444
+ <div class="widget-layout-body">
445
+ <div class="layout-control-group">
446
+ <label class="layout-label-control-group">Theme Name :</label>
447
+
448
+ <div class="layout-controls">
449
+ <span><?php echo $active_theme->Name; ?></span>
450
+ </div>
451
+ </div>
452
+ </div>
453
+ <div class="widget-layout-body">
454
+ <div class="layout-control-group">
455
+ <label class="layout-label-control-group">Theme Version :</label>
456
+ <div class="layout-controls">
457
+ <span><?php
458
+ echo $active_theme->Version;
459
+ if (!empty($theme_version_data["version"]) && version_compare($theme_version_data["version"], $active_theme->Version, "!="))
460
+ echo " &ndash; <strong style=\"color:red;\">" . $theme_version_data["version"] . " " . "is available" . "</strong>";?>
461
+ </span>
462
+ </div>
463
+ </div>
464
+ </div>
465
+ <div class="widget-layout-body">
466
+ <div class="layout-control-group">
467
+ <label class="layout-label-control-group">Author URL :</label>
468
+
469
+ <div class="layout-controls">
470
+ <span><?php echo $active_theme->{"Author URI"}; ?></span>
471
+ </div>
472
+ </div>
473
+ </div>
474
+ </div>
475
+ <?php
476
+ }
477
+ ?>
478
+ </div>
479
+ </div>
480
+ </div>
481
+ </div>
482
+ </div>
483
+ </div>
484
+ </form>
485
+ <script type="text/javascript">
486
+ jQuery.getSystemReport = function (strDefault, stringCount, string, location) {
487
+ var o = strDefault.toString();
488
+ if (!string) {
489
+ string = "0";
490
+ }
491
+ while (o.length < stringCount) {
492
+ // empty
493
+ if (location == "undefined") {
494
+ o = string + o;
495
+ } else {
496
+ o = o + string;
497
+ }
498
+ }
499
+ return o;
500
+ };
501
+
502
+
503
+ jQuery("a.system-report").click(function () {
504
+ var report = "";
505
+ jQuery(".layout-span6 .widget-layout").each(function () {
506
+ jQuery(".widget-layout-title h4", jQuery(this)).each(function () {
507
+ report = report + "\n### " + jQuery.trim(jQuery(this).text()) + " ###\n\n";
508
+ });
509
+ jQuery(".layout-control-group", jQuery(this)).each(function () {
510
+ var the_name = jQuery.getSystemReport(jQuery.trim(jQuery(this).find("label").text()), 25, " ");
511
+ var the_value = jQuery.trim(jQuery(this).find("span").text());
512
+ var value_array = the_value.split(", ");
513
+ if (value_array.length > 1) {
514
+ var temp_line = "";
515
+ jQuery.each(value_array, function (key, line) {
516
+ var tab = ( key == 0 ) ? 0 : 25;
517
+ temp_line = temp_line + jQuery.getSystemReport("", tab, " ", "f") + line + "\n";
518
+ });
519
+ the_value = temp_line;
520
+ }
521
+ report = report + "" + the_name + the_value + "\n";
522
+ });
523
+ });
524
+ try {
525
+ jQuery("#wp-insta-system-report").slideDown();
526
+ jQuery("#wp-insta-system-report textarea").val(report).focus().select();
527
+ jQuery(this).fadeOut();
528
+ jQuery("a.close-report").fadeIn();
529
+ return false;
530
+ } catch (e) {
531
+ console.log(e);
532
+ }
533
+ return false;
534
+ });
535
+ jQuery("a.close-report").click(function () {
536
+ jQuery("#wp-insta-system-report").slideUp();
537
+ jQuery(this).fadeOut();
538
+ jQuery("a.system-report").fadeIn();
539
+ })
540
+ </script>
541
+ <?php
542
+ }
543
+ ?>
wp-mail-bank.php ADDED
@@ -0,0 +1,126 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: Wp Mail Bank
4
+ Plugin URI: http://tech-banker.com
5
+ Description: WP Mail Bank reconfigures the wp_mail() function and make it more enhanced.
6
+ Author: Tech Banker
7
+ Version: 1.0
8
+ Author URI: http://tech-banker.com
9
+ */
10
+
11
+
12
+ ///////////////////////////////////// Define WP Mail Bank Constants ////////////////////////////////////////
13
+
14
+ if (!defined("MAIL_BK_PLUGIN_DIR")) define("MAIL_BK_PLUGIN_DIR", plugin_dir_path( __FILE__ ));
15
+ if (!defined("MAIL_BK_PLUGIN_DIRNAME")) define("MAIL_BK_PLUGIN_DIRNAME", plugin_basename(dirname(__FILE__)));
16
+ if (!defined("mail_bank")) define("mail_bank", "mail-bank");
17
+
18
+ global $phpmailer;
19
+
20
+ function create_global_menus_for_mail_bank()
21
+ {
22
+
23
+ include_once MAIL_BK_PLUGIN_DIR . "/lib/wp-include-menus.php";
24
+ }
25
+ ///////////////////////////////////// Functions for Returing Table Names ////////////////////////////////////////
26
+ function wp_mail_bank()
27
+ {
28
+ global $wpdb;
29
+ return $wpdb->prefix . "mail_bank";
30
+ }
31
+ ///////////////////////////////////// Call CSS & JS Scripts - Back End ////////////////////////////////////////
32
+
33
+ function backend_plugin_js_scripts_mail_bank()
34
+ {
35
+ wp_enqueue_script("jquery");
36
+ wp_enqueue_script("jquery.validate.min.js", plugins_url("/assets/js/jquery.validate.min.js",__FILE__));
37
+ }
38
+
39
+ function backend_plugin_css_scripts_mail_bank()
40
+ {
41
+ wp_enqueue_style("stylesheet.css", plugins_url("/assets/css/stylesheet.css",__FILE__));
42
+ wp_enqueue_style("system-message.css", plugins_url("/assets/css/system-message.css",__FILE__));
43
+ }
44
+
45
+ function wp_mail_bank_configure($phpmailer)
46
+ {
47
+ global $wpdb;
48
+ $data=$wpdb->get_row
49
+ (
50
+ "SELECT * FROM ".wp_mail_bank()
51
+ );
52
+ $mail_type = $data->mailer_type;
53
+ $phpmailer->Mailer = $data->mailer_type == 0 ? "smtp" : "mail";
54
+ $phpmailer->FromName = $data->from_name;
55
+ $phpmailer->From = $data->from_email;
56
+ $phpmailer->Sender = $data->return_path == 0 ? $data->return_email : $data->from_email;
57
+ $phpmailer->WordWrap = $data->word_wrap;
58
+ if($data->mailer_type == 0)
59
+ {
60
+ switch($data->encryption)
61
+ {
62
+ case 0 :
63
+ $phpmailer->SMTPSecure ="";
64
+ break;
65
+ case 1 :
66
+ $phpmailer->SMTPSecure ="ssl";
67
+ break;
68
+ case 2 :
69
+ $phpmailer->SMTPSecure ="tls";
70
+ break;
71
+ }
72
+ $phpmailer->Host = $data->smtp_host;
73
+ $phpmailer->Port = $data->smtp_port;
74
+ if($data->smtp_keep_alive == 1)
75
+ {
76
+ $phpmailer->SMTPKeepAlive = TRUE;
77
+ }
78
+ if($data->authentication == 1)
79
+ {
80
+ $phpmailer->SMTPAuth = TRUE;
81
+ $phpmailer->Username = $data->smtp_username;
82
+ $phpmailer->Password = $data->smtp_password;
83
+ }
84
+ }
85
+ }
86
+
87
+ ////////////////////////////////////// Class Files Action Functions START here /////////////////////////////////////////
88
+ if(isset($_REQUEST["action"]))
89
+ {
90
+ switch($_REQUEST["action"])
91
+ {
92
+ case "add_mail_library":
93
+ add_action( "admin_init", "add_mail_library");
94
+ function add_mail_library()
95
+ {
96
+ global $wpdb,$current_user,$user_role_permission;
97
+ $role = $wpdb->prefix . "capabilities";
98
+ $current_user->role = array_keys($current_user->$role);
99
+ $role = $current_user->role[0];
100
+ include_once MAIL_BK_PLUGIN_DIR . "/lib/add_mail_class_file.php";
101
+ }
102
+ break;
103
+ }
104
+ }
105
+ ///////////////////////////////////// Call Languages for Multi-Lingual ////////////////////////////////////////
106
+
107
+ function mail_bank_plugin_load_text_domain()
108
+ {
109
+ if (function_exists("load_plugin_textdomain"))
110
+ {
111
+ load_plugin_textdomain(mail_bank, false, MAIL_BK_PLUGIN_DIRNAME . "/lang");
112
+ }
113
+ }
114
+ ///////////////////////////////////// Call Install Script on Plugin Activation ////////////////////////////////////////
115
+
116
+ function plugin_install_script_for_mail_bank()
117
+ {
118
+ include_once MAIL_BK_PLUGIN_DIR . "/lib/wp-install-script.php";
119
+ }
120
+ add_action('phpmailer_init','wp_mail_bank_configure');
121
+ add_action("plugins_loaded", "mail_bank_plugin_load_text_domain");
122
+ add_action("admin_menu","create_global_menus_for_mail_bank");
123
+ add_action("admin_menu","backend_plugin_js_scripts_mail_bank");
124
+ add_action("admin_init","backend_plugin_css_scripts_mail_bank");
125
+ register_activation_hook(__FILE__, "plugin_install_script_for_mail_bank");
126
+ ?>