WhatsApp Chat WP - Version 4.2.7

Version Description

Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 WhatsApp Chat WP
Version 4.2.7
Comparing to
See all releases

Code changes from version 4.2.5 to 4.2.7

Files changed (173) hide show
  1. 3.2/css/admin-style.css +29 -0
  2. 3.2/css/fonts/IcoMoon-free.ttf +0 -0
  3. 3.2/css/style.css +152 -0
  4. 3.2/images/agencia.png +0 -0
  5. 3.2/images/ativo1.png +0 -0
  6. 3.2/images/ativo10.png +0 -0
  7. 3.2/images/ativo11.png +0 -0
  8. 3.2/images/ativo12.png +0 -0
  9. 3.2/images/ativo13.png +0 -0
  10. 3.2/images/ativo14.png +0 -0
  11. 3.2/images/ativo15.png +0 -0
  12. 3.2/images/ativo16.png +0 -0
  13. 3.2/images/ativo2.png +0 -0
  14. 3.2/images/ativo3.png +0 -0
  15. 3.2/images/ativo4.png +0 -0
  16. 3.2/images/ativo5.png +0 -0
  17. 3.2/images/ativo6.png +0 -0
  18. 3.2/images/ativo7.png +0 -0
  19. 3.2/images/ativo8.png +0 -0
  20. 3.2/images/ativo9.png +0 -0
  21. 3.2/images/mail.png +0 -0
  22. 3.2/images/photothumb.db +0 -0
  23. 3.2/images/whatsappicon.png +0 -0
  24. index.php → 3.2/index.php +0 -0
  25. 3.2/languages/wac-pt_BR.mo +0 -0
  26. 3.2/languages/wac-pt_BR.po +239 -0
  27. 3.2/languages/wac.mo +0 -0
  28. 3.2/languages/wac.pot +238 -0
  29. 3.2/photothumb.db +0 -0
  30. 3.2/readme.txt +128 -0
  31. 3.2/screenshot-1.jpg +0 -0
  32. 3.2/screenshot-2.jpg +0 -0
  33. 3.2/screenshot-3.jpg +0 -0
  34. 3.2/screenshot-4.jpg +0 -0
  35. 3.2/screenshot-5.jpg +0 -0
  36. 3.2/screenshot-6.jpg +0 -0
  37. 3.2/screenshot-7.jpg +0 -0
  38. 3.2/whatsapp-chat.php +566 -0
  39. {assets → 4.2.2/assets}/css/qlwapp-admin.min.css +0 -0
  40. {assets → 4.2.2/assets}/css/qlwapp.min.css +0 -0
  41. {assets → 4.2.2/assets}/img/box1.png +0 -0
  42. {assets → 4.2.2/assets}/img/box2.png +0 -0
  43. {assets → 4.2.2/assets}/img/logo.jpg +0 -0
  44. {assets → 4.2.2/assets}/img/quadlayers.jpg +0 -0
  45. {assets → 4.2.2/assets}/js/qlwapp-admin.min.js +0 -0
  46. {assets → 4.2.2/assets}/js/qlwapp.min.js +0 -0
  47. {assets → 4.2.2/assets}/js/select2.min.js +0 -0
  48. 4.2.2/includes/defaults.php +178 -0
  49. 4.2.2/includes/frontend.php +146 -0
  50. 4.2.2/includes/pages/box.php +175 -0
  51. 4.2.2/includes/pages/button.php +83 -0
  52. 4.2.2/includes/pages/colors.php +49 -0
  53. 4.2.2/includes/pages/display.php +115 -0
  54. 4.2.2/includes/pages/purchase.php +72 -0
  55. 4.2.2/includes/pages/welcome.php +35 -0
  56. 4.2.2/includes/settings.php +473 -0
  57. 4.2.2/index.php +3 -0
  58. 4.2.2/languages/qlwapp-es_ES.mo +0 -0
  59. 4.2.2/languages/qlwapp-es_ES.po +496 -0
  60. 4.2.2/languages/qlwapp.pot +539 -0
  61. 4.2.2/readme.txt +174 -0
  62. {template → 4.2.2/template}/box.php +0 -0
  63. 4.2.2/uninstall.php +11 -0
  64. whatsapp-chat.php → 4.2.2/whatsapp-chat.php +0 -0
  65. 4.2.2/wp-whatsapp-chat.php +102 -0
  66. {assets → 4.2.3/assets}/css/qlwapp-admin.css +0 -0
  67. 4.2.3/assets/css/qlwapp-admin.min.css +1 -0
  68. {assets → 4.2.3/assets}/css/qlwapp.css +0 -0
  69. 4.2.3/assets/css/qlwapp.min.css +2 -0
  70. 4.2.3/assets/img/box1.png +0 -0
  71. 4.2.3/assets/img/box2.png +0 -0
  72. 4.2.3/assets/img/logo.jpg +0 -0
  73. 4.2.3/assets/img/quadlayers.jpg +0 -0
  74. {assets → 4.2.3/assets}/js/qlwapp-admin.js +0 -0
  75. 4.2.3/assets/js/qlwapp-admin.min.js +1 -0
  76. {assets → 4.2.3/assets}/js/qlwapp.js +0 -0
  77. 4.2.3/assets/js/qlwapp.min.js +1 -0
  78. 4.2.3/assets/js/select2.min.js +1 -0
  79. {assets → 4.2.3/assets}/less/animations.less +0 -0
  80. {assets → 4.2.3/assets}/less/colors.less +0 -0
  81. {assets → 4.2.3/assets}/less/qlwapp.less +0 -0
  82. 4.2.3/includes/defaults.php +178 -0
  83. 4.2.3/includes/frontend.php +146 -0
  84. 4.2.3/includes/pages/box.php +175 -0
  85. 4.2.3/includes/pages/button.php +83 -0
  86. 4.2.3/includes/pages/colors.php +49 -0
  87. 4.2.3/includes/pages/display.php +115 -0
  88. 4.2.3/includes/pages/purchase.php +72 -0
  89. 4.2.3/includes/pages/welcome.php +35 -0
  90. 4.2.3/includes/settings.php +473 -0
  91. 4.2.3/index.php +3 -0
  92. 4.2.3/languages/qlwapp-es_ES.mo +0 -0
  93. 4.2.3/languages/qlwapp-es_ES.po +496 -0
  94. 4.2.3/languages/qlwapp-pt_BR.mo +0 -0
  95. 4.2.3/languages/qlwapp-pt_BR.po +496 -0
  96. 4.2.3/languages/qlwapp.pot +539 -0
  97. 4.2.3/readme.txt +178 -0
  98. 4.2.3/template/box.php +50 -0
  99. 4.2.3/uninstall.php +11 -0
  100. 4.2.3/whatsapp-chat.php +17 -0
  101. 4.2.3/wp-whatsapp-chat.php +103 -0
  102. 4.2.4/assets/css/qlwapp-admin.css +502 -0
  103. 4.2.4/assets/css/qlwapp-admin.min.css +1 -0
  104. 4.2.4/assets/css/qlwapp.css +869 -0
  105. 4.2.4/assets/css/qlwapp.min.css +2 -0
  106. 4.2.4/assets/img/box1.png +0 -0
  107. 4.2.4/assets/img/box2.png +0 -0
  108. 4.2.4/assets/img/logo.jpg +0 -0
  109. 4.2.4/assets/img/quadlayers.jpg +0 -0
  110. 4.2.4/assets/js/qlwapp-admin.js +79 -0
  111. 4.2.4/assets/js/qlwapp-admin.min.js +1 -0
  112. 4.2.4/assets/js/qlwapp.js +274 -0
  113. 4.2.4/assets/js/qlwapp.min.js +1 -0
  114. 4.2.4/assets/js/select2.min.js +1 -0
  115. 4.2.4/assets/less/animations.less +369 -0
  116. 4.2.4/assets/less/colors.less +53 -0
  117. 4.2.4/assets/less/qlwapp.less +778 -0
  118. 4.2.4/includes/defaults.php +178 -0
  119. 4.2.4/includes/frontend.php +146 -0
  120. 4.2.4/includes/pages/box.php +175 -0
  121. 4.2.4/includes/pages/button.php +83 -0
  122. 4.2.4/includes/pages/colors.php +49 -0
  123. 4.2.4/includes/pages/display.php +115 -0
  124. 4.2.4/includes/pages/purchase.php +72 -0
  125. 4.2.4/includes/pages/welcome.php +35 -0
  126. 4.2.4/includes/settings.php +473 -0
  127. 4.2.4/index.php +3 -0
  128. 4.2.4/languages/qlwapp-es_ES.mo +0 -0
  129. 4.2.4/languages/qlwapp-es_ES.po +496 -0
  130. 4.2.4/languages/qlwapp-pt_BR.mo +0 -0
  131. 4.2.4/languages/qlwapp-pt_BR.po +496 -0
  132. 4.2.4/languages/qlwapp.pot +539 -0
  133. 4.2.4/readme.txt +179 -0
  134. 4.2.4/template/box.php +50 -0
  135. 4.2.4/uninstall.php +11 -0
  136. 4.2.4/whatsapp-chat.php +17 -0
  137. 4.2.4/wp-whatsapp-chat.php +105 -0
  138. 4.2.5/assets/css/qlwapp-admin.css +502 -0
  139. 4.2.5/assets/css/qlwapp-admin.min.css +1 -0
  140. 4.2.5/assets/css/qlwapp.css +869 -0
  141. 4.2.5/assets/css/qlwapp.min.css +2 -0
  142. 4.2.5/assets/img/box1.png +0 -0
  143. 4.2.5/assets/img/box2.png +0 -0
  144. 4.2.5/assets/img/logo.jpg +0 -0
  145. 4.2.5/assets/img/quadlayers.jpg +0 -0
  146. 4.2.5/assets/js/qlwapp-admin.js +79 -0
  147. 4.2.5/assets/js/qlwapp-admin.min.js +1 -0
  148. 4.2.5/assets/js/qlwapp.js +274 -0
  149. 4.2.5/assets/js/qlwapp.min.js +1 -0
  150. 4.2.5/assets/js/select2.min.js +1 -0
  151. 4.2.5/assets/less/animations.less +369 -0
  152. 4.2.5/assets/less/colors.less +53 -0
  153. 4.2.5/assets/less/qlwapp.less +778 -0
  154. {includes → 4.2.5/includes}/defaults.php +0 -0
  155. {includes → 4.2.5/includes}/frontend.php +0 -0
  156. {includes → 4.2.5/includes}/pages/box.php +0 -0
  157. {includes → 4.2.5/includes}/pages/button.php +0 -0
  158. {includes → 4.2.5/includes}/pages/colors.php +0 -0
  159. {includes → 4.2.5/includes}/pages/display.php +0 -0
  160. {includes → 4.2.5/includes}/pages/purchase.php +0 -0
  161. {includes → 4.2.5/includes}/pages/welcome.php +0 -0
  162. {includes → 4.2.5/includes}/settings.php +0 -0
  163. 4.2.5/index.php +3 -0
  164. {languages → 4.2.5/languages}/wp-whatsapp-chat-es_ES.mo +0 -0
  165. {languages → 4.2.5/languages}/wp-whatsapp-chat-es_ES.po +0 -0
  166. {languages → 4.2.5/languages}/wp-whatsapp-chat-pt_BR.mo +0 -0
  167. {languages → 4.2.5/languages}/wp-whatsapp-chat-pt_BR.po +0 -0
  168. {languages → 4.2.5/languages}/wp-whatsapp-chat.pot +0 -0
  169. readme.txt → 4.2.5/readme.txt +0 -0
  170. 4.2.5/template/box.php +50 -0
  171. uninstall.php → 4.2.5/uninstall.php +0 -0
  172. 4.2.5/whatsapp-chat.php +17 -0
  173. wp-whatsapp-chat.php → 4.2.5/wp-whatsapp-chat.php +0 -0
3.2/css/admin-style.css ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {font-family: 'IcoMoon-free'; src: url('fonts/IcoMoon-free.ttf');}
2
+ .doar-link a {position:absolute;top:14px;right:14px;background:rgba(255,255,255,.1);padding:10px 40px 10px 10px;border-radius:0px;border:2px solid transparent; font-weight: 500;}
3
+ .doar-link a:hover {border:2px solid rgba(255,255,255,.1)}
4
+ .doar-link a:after {font-family:IcoMoon-free;content:"\e93b";position:absolute;right:12px;bottom:9px;font-size:18px}
5
+ .doar-link a {text-decoration:none;color:#fff}
6
+ .whats-title h1 {font-size:26px;padding:26px 12px 26px 64px;color:#fff;background:#075E54;font-weight:400;border-radius:3px 3px 0 0}
7
+ .whats-title h1:before{display:block;content:"";position:absolute}
8
+ .whats-title h1:before{font-family:IcoMoon-free;content:"\ea93"; color:#fff;left:28px;}
9
+ .whats-page h2.nav-tab-wrapper{background:#128C7E; margin-top:-18px; padding: 20px 12px 20px 30px; color: #fff;}
10
+ .nav-tab {margin-left: 0; margin-right: 20px; color: #fff; background: transparent; border: 0;}
11
+ .whats-page{position:relative;display:block;background:#fff;width:100%;max-width:none;margin-top:0;margin-left:-10px; min-width:300px;}
12
+ @media (max-width:782px){.whats-page{margin-left:0; max-width:calc(100% - 10px);}}
13
+ .page-container{padding:12px; background: #fff;}
14
+ .div-whats {border: 1px solid #dedede; display: block; min-height: 104px; position: relative; padding: 30px 18px 18px; background: #fff; margin-bottom: 12px;}
15
+ .div-whats h3 {font-size: 20px; margin-top: 12px;}
16
+ .div-whats p {font-size: 13px; line-height: 1.5; margin: 1em 0;}
17
+ .image-container-whats {border: 0px; height: 90px; position: absolute; width: 120px;}
18
+ .image-container-whats img{height:100%;object-fit:cover;width:100%}
19
+ .title-area-whats {margin-left: 140px; margin-right: 130px;}
20
+ .title-area-whats .codewa {background: #20B038; color: #fff; padding: 2px 4px; border-radius: 3px;}
21
+ .codewa a {color:#fff;}
22
+ @media (max-width:480px){.title-area-whats{margin-left:0!important;margin-right:0!important;margin-top:120px}}
23
+ .onoffswitch-whats {position: absolute; right: 30px; top: 40px;}
24
+ .onoffswitch-whats input[type=checkbox] {background: #dedede; box-shadow: none; border: none; width: 70px!important; height: 40px; border-radius: 3px; position: relative; transition:.4s ease left!important; margin: -4px 4px 0 0; width: 16px; min-width: 16px; -webkit-appearance: none;}
25
+ .onoffswitch-whats input[type=checkbox]:before {position: absolute; display: block; left: 4px; top: 4px; content: ''; margin: 0; width: 32px; height: 32px; background: #fff; border-radius: 2px; transition: .4s ease left;}
26
+ .onoffswitch-whats input[type=checkbox]:checked{background:#25D366}
27
+ .onoffswitch-whats input[type=checkbox]:checked:before{left:34px}
28
+ .button.submit-whats {background: #25D366; padding:15px 20px 40px 20px;border-radius:0px;border:2px solid #25D366; font-weight: 500; color: #fff; text-decoration: none; text-shadow: none; box-shadow: none; font-size: 14px; text-transform: uppercase;}
29
+ .button.submit-whats:hover {background: #128C7E; border-color: #128C7E ; letter-spacing: 2px;}
3.2/css/fonts/IcoMoon-free.ttf ADDED
Binary file
3.2/css/style.css ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {font-family: 'IcoMoon-free'; src: url('fonts/IcoMoon-free.ttf');}
2
+ #wacht a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
3
+ #wacht-leftside a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
4
+ #wacht-baixo a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
5
+ #wacht-leftside-baixo a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
6
+ #wacht-dark a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
7
+ #wacht-leftside-dark a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
8
+ #wacht-baixo-dark a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
9
+ #wacht-leftside-baixo-dark a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
10
+ #wacht-white a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
11
+ #wacht-leftside-white a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
12
+ #wacht-baixo-white a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
13
+ #wacht-leftside-baixo-white a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
14
+ #wacht-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
15
+ #wacht-leftside-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
16
+ #wacht-baixo-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
17
+ #wacht-leftside-baixo-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
18
+ #wacht-dark-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
19
+ #wacht-leftside-dark-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
20
+ #wacht-baixo-dark-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
21
+ #wacht-leftside-baixo-dark-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
22
+ #wacht-white-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
23
+ #wacht-leftside-white-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
24
+ #wacht-baixo-white-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
25
+ #wacht-leftside-baixo-white-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
26
+ #wacht a:hover {width: 200px; letter-spacing: 2px;}
27
+ #wacht-leftside a:hover {width: 200px; letter-spacing: 2px;}
28
+ #wacht-baixo a:hover {width: 200px; letter-spacing: 2px;}
29
+ #wacht-leftside-baixo a:hover {width: 200px; letter-spacing: 2px;}
30
+ #wacht-dark a:hover {width: 200px; letter-spacing: 2px;}
31
+ #wacht-leftside-dark a:hover {width: 200px; letter-spacing: 2px;}
32
+ #wacht-baixo-dark a:hover {width: 200px; letter-spacing: 2px;}
33
+ #wacht-leftside-baixo-dark a:hover {width: 200px; letter-spacing: 2px;}
34
+ #wacht-white a:hover {width: 200px; letter-spacing: 2px;}
35
+ #wacht-leftside-white a:hover {width: 200px; letter-spacing: 2px;}
36
+ #wacht-baixo-white a:hover {width: 200px; letter-spacing: 2px;}
37
+ #wacht-leftside-baixo-white a:hover {width: 200px; letter-spacing: 2px;}
38
+ #wacht a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
39
+ #wacht-leftside a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
40
+ #wacht-baixo a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
41
+ #wacht-leftside-baixo a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
42
+ #wacht-dark a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
43
+ #wacht-leftside-dark a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
44
+ #wacht-baixo-dark a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
45
+ #wacht-leftside-baixo-dark a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
46
+ #wacht-white a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
47
+ #wacht-leftside-white a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
48
+ #wacht-baixo-white a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
49
+ #wacht-leftside-baixo-white a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
50
+ #wacht-round a:hover {width: 200px; letter-spacing: 2px;}
51
+ #wacht-leftside-round a:hover {width: 200px; letter-spacing: 2px;}
52
+ #wacht-baixo-round a:hover {width: 200px; letter-spacing: 2px;}
53
+ #wacht-leftside-baixo-round a:hover {width: 200px; letter-spacing: 2px;}
54
+ #wacht-dark-round a:hover {width: 200px; letter-spacing: 2px;}
55
+ #wacht-leftside-dark-round a:hover {width: 200px; letter-spacing: 2px;}
56
+ #wacht-baixo-dark-round a:hover {width: 200px; letter-spacing: 2px;}
57
+ #wacht-leftside-baixo-dark-round a:hover {width: 200px; letter-spacing: 2px;}
58
+ #wacht-white-round a:hover {width: 200px; letter-spacing: 2px;}
59
+ #wacht-leftside-white-round a:hover {width: 200px; letter-spacing: 2px;}
60
+ #wacht-baixo-white-round a:hover {width: 200px; letter-spacing: 2px;}
61
+ #wacht-leftside-baixo-white-round a:hover {width: 200px; letter-spacing: 2px;}
62
+ #wacht-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
63
+ #wacht-leftside-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
64
+ #wacht-baixo-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
65
+ #wacht-leftside-baixo-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
66
+ #wacht-dark-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
67
+ #wacht-leftside-dark-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
68
+ #wacht-baixo-dark-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
69
+ #wacht-leftside-baixo-dark-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
70
+ #wacht-white-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
71
+ #wacht-leftside-white-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
72
+ #wacht-baixo-white-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
73
+ #wacht-leftside-baixo-white-round a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
74
+ a.agencia::before {display: none;}
75
+ a.agencia {background-color: rgba(0,0,0,0)!important; color: #2c2b2a!important; font-size: xx-small; top: 95%!important; max-width: 500px!important;}
76
+ a.agencia:hover {width: 100%!important; letter-spacing: 0px!important; margin-right: 0px!important;}
77
+ a.whatsapp:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
78
+ a.whatsapp {min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
79
+ a.whatsapp:hover {width: 200px;}
80
+ #wacht-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
81
+ #wacht-leftside-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
82
+ #wacht-baixo-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
83
+ #wacht-leftside-baixo-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
84
+ #wacht-dark-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
85
+ #wacht-leftside-dark-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
86
+ #wacht-baixo-dark-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
87
+ #wacht-leftside-baixo-dark-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
88
+ #wacht-white-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
89
+ #wacht-leftside-white-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
90
+ #wacht-baixo-white-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
91
+ #wacht-leftside-baixo-white-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
92
+ #wacht-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
93
+ #wacht-leftside-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
94
+ #wacht-baixo-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
95
+ #wacht-leftside-baixo-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
96
+ #wacht-dark-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
97
+ #wacht-leftside-dark-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
98
+ #wacht-baixo-dark-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
99
+ #wacht-leftside-baixo-dark-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
100
+ #wacht-white-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
101
+ #wacht-leftside-white-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
102
+ #wacht-baixo-white-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
103
+ #wacht-leftside-baixo-white-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
104
+ #wacht-mobile a:hover {width: 200px; letter-spacing: 2px;}
105
+ #wacht-leftside-mobile a:hover {width: 200px; letter-spacing: 2px;}
106
+ #wacht-baixo-mobile a:hover {width: 200px; letter-spacing: 2px;}
107
+ #wacht-leftside-baixo-mobile a:hover {width: 200px; letter-spacing: 2px;}
108
+ #wacht-dark-mobile a:hover {width: 200px; letter-spacing: 2px;}
109
+ #wacht-leftside-dark-mobile a:hover {width: 200px; letter-spacing: 2px;}
110
+ #wacht-baixo-dark-mobile a:hover {width: 200px; letter-spacing: 2px;}
111
+ #wacht-leftside-baixo-dark-mobile a:hover {width: 200px; letter-spacing: 2px;}
112
+ #wacht-white-mobile a:hover {width: 200px; letter-spacing: 2px;}
113
+ #wacht-leftside-white-mobile a:hover {width: 200px; letter-spacing: 2px;}
114
+ #wacht-baixo-white-mobile a:hover {width: 200px; letter-spacing: 2px;}
115
+ #wacht-leftside-baixo-white-mobile a:hover {width: 200px; letter-spacing: 2px;}
116
+ #wacht-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
117
+ #wacht-leftside-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
118
+ #wacht-baixo-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
119
+ #wacht-leftside-baixo-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
120
+ #wacht-dark-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
121
+ #wacht-leftside-dark-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
122
+ #wacht-baixo-dark-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
123
+ #wacht-leftside-baixo-dark-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
124
+ #wacht-white-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
125
+ #wacht-leftside-white-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
126
+ #wacht-baixo-white-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
127
+ #wacht-leftside-baixo-white-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
128
+ #wacht-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
129
+ #wacht-leftside-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
130
+ #wacht-baixo-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
131
+ #wacht-leftside-baixo-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
132
+ #wacht-dark-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
133
+ #wacht-leftside-dark-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
134
+ #wacht-baixo-dark-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
135
+ #wacht-leftside-baixo-dark-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
136
+ #wacht-white-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
137
+ #wacht-leftside-white-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
138
+ #wacht-baixo-white-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
139
+ #wacht-leftside-baixo-white-round-mobile a:hover {width: 200px; letter-spacing: 2px;}
140
+ #wacht-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
141
+ #wacht-leftside-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
142
+ #wacht-baixo-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
143
+ #wacht-leftside-baixo-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
144
+ #wacht-dark-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
145
+ #wacht-leftside-dark-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
146
+ #wacht-baixo-dark-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
147
+ #wacht-leftside-baixo-dark-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
148
+ #wacht-white-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
149
+ #wacht-leftside-white-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
150
+ #wacht-baixo-white-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
151
+ #wacht-leftside-baixo-white-round-mobile a:before {font-family: "IcoMoon-free" !important; content: '\ea93' !important; margin-left: 5px; margin-right: 5px}
152
+ @media only screen and (min-width: 980px) {#wacht-mobile, #wacht-leftside-mobile, #wacht-baixo-mobile, #wacht-leftside-baixo-mobile, #wacht-dark-mobile, #wacht-leftside-dark-mobile, #wacht-baixo-dark-mobile, #wacht-leftside-baixo-dark-mobile, #wacht-white-mobile, #wacht-leftside-white-mobile, #wacht-baixo-white-mobile, #wacht-leftside-baixo-white-mobile, #wacht-leftside-baixo-white-round-mobile, #wacht-baixo-white-round-mobile, #wacht-leftside-white-round-mobile, #wacht-white-round-mobile, #wacht-leftside-baixo-dark-round-mobile, #wacht-baixo-dark-round-mobile, #wacht-leftside-dark-round-mobile, #wacht-dark-round-mobile, #wacht-leftside-baixo-round-mobile, #wacht-baixo-round-mobile, #wacht-leftside-round-mobile, #wacht-round-mobile a {display: none;}}
3.2/images/agencia.png ADDED
Binary file
3.2/images/ativo1.png ADDED
Binary file
3.2/images/ativo10.png ADDED
Binary file
3.2/images/ativo11.png ADDED
Binary file
3.2/images/ativo12.png ADDED
Binary file
3.2/images/ativo13.png ADDED
Binary file
3.2/images/ativo14.png ADDED
Binary file
3.2/images/ativo15.png ADDED
Binary file
3.2/images/ativo16.png ADDED
Binary file
3.2/images/ativo2.png ADDED
Binary file
3.2/images/ativo3.png ADDED
Binary file
3.2/images/ativo4.png ADDED
Binary file
3.2/images/ativo5.png ADDED
Binary file
3.2/images/ativo6.png ADDED
Binary file
3.2/images/ativo7.png ADDED
Binary file
3.2/images/ativo8.png ADDED
Binary file
3.2/images/ativo9.png ADDED
Binary file
3.2/images/mail.png ADDED
Binary file
3.2/images/photothumb.db ADDED
Binary file
3.2/images/whatsappicon.png ADDED
Binary file
index.php → 3.2/index.php RENAMED
File without changes
3.2/languages/wac-pt_BR.mo ADDED
Binary file
3.2/languages/wac-pt_BR.po ADDED
@@ -0,0 +1,239 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Whatsapp chat wp\n"
4
+ "POT-Creation-Date: 2018-06-24 14:11-0300\n"
5
+ "PO-Revision-Date: 2018-06-24 15:21-0300\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: Caporal Mkt Digital <agencia@caporalmktdigital.com.br>\n"
8
+ "Language: pt_BR\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.9\n"
13
+ "X-Poedit-Basepath: ../..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
15
+ "X-Poedit-KeywordsList: _e;__\n"
16
+ "X-Poedit-SourceCharset: UTF-8\n"
17
+ "X-Poedit-SearchPath-0: .\n"
18
+
19
+ #: trunk/whatsapp-chat.php:35
20
+ msgid "Like it? Consider a Donation!"
21
+ msgstr "Gostou? Considere ajudar!"
22
+
23
+ #: trunk/whatsapp-chat.php:38
24
+ msgid "Customize your button"
25
+ msgstr "Personalize seu botão"
26
+
27
+ #: trunk/whatsapp-chat.php:39
28
+ msgid "Support"
29
+ msgstr "Suporte"
30
+
31
+ #: trunk/whatsapp-chat.php:40
32
+ msgid "Review"
33
+ msgstr "Avaliação"
34
+
35
+ #: trunk/whatsapp-chat.php:41 trunk/whatsapp-chat.php:296
36
+ msgid "Shortcode"
37
+ msgstr "Shortcode"
38
+
39
+ #: trunk/whatsapp-chat.php:42
40
+ msgid "Developer"
41
+ msgstr "Desenvolvedor"
42
+
43
+ #: trunk/whatsapp-chat.php:55
44
+ msgid "WhatsApp Phone Number"
45
+ msgstr "Número WhatsApp"
46
+
47
+ #: trunk/whatsapp-chat.php:56
48
+ msgid "Full phone number in international format. Example:"
49
+ msgstr "Entre com seu número completo no formato internacional. Exemplo:"
50
+
51
+ #: trunk/whatsapp-chat.php:56
52
+ msgid "+155523456789"
53
+ msgstr "+551233333333"
54
+
55
+ #: trunk/whatsapp-chat.php:67
56
+ msgid "Message to start chat"
57
+ msgstr "Mensagem para começar chat"
58
+
59
+ #: trunk/whatsapp-chat.php:68
60
+ msgid ""
61
+ "Pre-filled message that will automatically appear in the text field of a "
62
+ "chat. Example:"
63
+ msgstr ""
64
+ "A mensagem será preenchida automaticamente para iniciar o chat. Exemplo:"
65
+
66
+ #: trunk/whatsapp-chat.php:69
67
+ msgid "Hello! I am interested in your service"
68
+ msgstr "Olá, estou interessado em seu serviço"
69
+
70
+ #: trunk/whatsapp-chat.php:80
71
+ msgid "Edit button"
72
+ msgstr "Editar botão"
73
+
74
+ #: trunk/whatsapp-chat.php:81
75
+ msgid "Customize your whatsapp chat message. Example:"
76
+ msgstr "Personalize sua mensagem do WhatsApp chat. Exemplo:"
77
+
78
+ #: trunk/whatsapp-chat.php:81
79
+ msgid "Chat with me"
80
+ msgstr "Converse comigo"
81
+
82
+ #: trunk/whatsapp-chat.php:92
83
+ msgid "Hide button"
84
+ msgstr "Esconder botão"
85
+
86
+ #: trunk/whatsapp-chat.php:93
87
+ msgid "Turn on to"
88
+ msgstr "Acione para"
89
+
90
+ #: trunk/whatsapp-chat.php:93
91
+ msgid "hide whatsapp chat"
92
+ msgstr "esconder o WhatsApp chat"
93
+
94
+ #: trunk/whatsapp-chat.php:93
95
+ msgid "for all website."
96
+ msgstr "em todo o site."
97
+
98
+ #: trunk/whatsapp-chat.php:108
99
+ msgid "Left Side"
100
+ msgstr "Lado esquerdo"
101
+
102
+ #: trunk/whatsapp-chat.php:109 trunk/whatsapp-chat.php:126
103
+ msgid "Turn on the switch to move whatsapp chat to the"
104
+ msgstr "Acione para mover o WhatsApp Chat para o"
105
+
106
+ #: trunk/whatsapp-chat.php:109
107
+ msgid "left side of the screen"
108
+ msgstr "lado esquerdo da tela"
109
+
110
+ #: trunk/whatsapp-chat.php:125
111
+ msgid "Bottom"
112
+ msgstr "Canto Inferior"
113
+
114
+ #: trunk/whatsapp-chat.php:126
115
+ msgid "bottom of the screen"
116
+ msgstr "canto inferior da tela"
117
+
118
+ #: trunk/whatsapp-chat.php:127
119
+ msgid "If left side is ON than whatsapp chat will be"
120
+ msgstr "Se lado esquerdo estiver acionado o WhatsApp chat ficará"
121
+
122
+ #: trunk/whatsapp-chat.php:127
123
+ msgid "on the bottom left."
124
+ msgstr "no canto inferior esquerdo"
125
+
126
+ #: trunk/whatsapp-chat.php:143
127
+ msgid "Hide on Desktop"
128
+ msgstr "Esconder no Desktop"
129
+
130
+ #: trunk/whatsapp-chat.php:144
131
+ msgid "Turn on to keep visible for"
132
+ msgstr "Acione para ficar visível"
133
+
134
+ #: trunk/whatsapp-chat.php:144
135
+ msgid "mobile only."
136
+ msgstr "apenas no mobile."
137
+
138
+ #: trunk/whatsapp-chat.php:160
139
+ msgid "Teal Green."
140
+ msgstr "Teal Green"
141
+
142
+ #: trunk/whatsapp-chat.php:161
143
+ msgid "Make whatsapp chat dark with color"
144
+ msgstr "Deixe o WhatsApp chat em tom escuro "
145
+
146
+ #: trunk/whatsapp-chat.php:161
147
+ msgid "Teal Green"
148
+ msgstr "Verde Azulado"
149
+
150
+ #: trunk/whatsapp-chat.php:177
151
+ msgid "White"
152
+ msgstr "Branco"
153
+
154
+ #: trunk/whatsapp-chat.php:178
155
+ msgid "Make whatsapp chat light with color"
156
+ msgstr "Deixe o WhatsApp chat em tom claro"
157
+
158
+ #: trunk/whatsapp-chat.php:178
159
+ msgid "white."
160
+ msgstr "branco."
161
+
162
+ #: trunk/whatsapp-chat.php:194
163
+ msgid "Rounded border"
164
+ msgstr "Borda arredondada"
165
+
166
+ #: trunk/whatsapp-chat.php:195
167
+ msgid "Add rounnded border"
168
+ msgstr "Adicione bordas arredondadas"
169
+
170
+ #: trunk/whatsapp-chat.php:195
171
+ msgid "in whatsapp chat."
172
+ msgstr "no WhatsApp chat"
173
+
174
+ #: trunk/whatsapp-chat.php:211
175
+ msgid "Hide in pages"
176
+ msgstr "Esconder em páginas"
177
+
178
+ #: trunk/whatsapp-chat.php:212 trunk/whatsapp-chat.php:229
179
+ #: trunk/whatsapp-chat.php:246 trunk/whatsapp-chat.php:263
180
+ msgid "Hide WhatsApp Chat in every"
181
+ msgstr "Esconder WhatsApp Chat em todas as"
182
+
183
+ #: trunk/whatsapp-chat.php:212
184
+ msgid "page"
185
+ msgstr "página"
186
+
187
+ #: trunk/whatsapp-chat.php:228
188
+ msgid "Hide in post"
189
+ msgstr "Esconder em posts"
190
+
191
+ #: trunk/whatsapp-chat.php:229
192
+ msgid "post page"
193
+ msgstr "páginas de postagem"
194
+
195
+ #: trunk/whatsapp-chat.php:245
196
+ msgid "Hide in project"
197
+ msgstr "Esconder em projeto"
198
+
199
+ #: trunk/whatsapp-chat.php:246
200
+ msgid "project page"
201
+ msgstr "páginas de projeto"
202
+
203
+ #: trunk/whatsapp-chat.php:262
204
+ msgid "Hide in product"
205
+ msgstr "Esconder em produto"
206
+
207
+ #: trunk/whatsapp-chat.php:263
208
+ msgid "product page"
209
+ msgstr "páginas de produto"
210
+
211
+ #: trunk/whatsapp-chat.php:279
212
+ msgid "Discreet link"
213
+ msgstr "Link discreto"
214
+
215
+ #: trunk/whatsapp-chat.php:280
216
+ msgid "Leave a discreet link to developer to"
217
+ msgstr "Deixe um link discreto para o desenvolvedor para"
218
+
219
+ #: trunk/whatsapp-chat.php:280
220
+ msgid "help and keep new updates and support"
221
+ msgstr "ajudar a manter novas atualizações e suporte"
222
+
223
+ #: trunk/whatsapp-chat.php:297
224
+ msgid "You can use shortcode to create WhatsApp Chat buttons wherever you want"
225
+ msgstr ""
226
+ "Você pode usar o shortcode para criar um botão WhatsApp chat onde quiser"
227
+
228
+ #: trunk/whatsapp-chat.php:298
229
+ msgid ""
230
+ "Just copy the shortcode bellow replacing with your phone number and text."
231
+ msgstr "Basta copiar o shortcode abaixo e substituir com seu número e texto."
232
+
233
+ #: trunk/whatsapp-chat.php:299
234
+ msgid "Chat on WhatsApp"
235
+ msgstr "Converse no WhatsApp"
236
+
237
+ #: trunk/whatsapp-chat.php:315
238
+ msgid "Save & Chat"
239
+ msgstr "Salvar & Conversar"
3.2/languages/wac.mo ADDED
Binary file
3.2/languages/wac.pot ADDED
@@ -0,0 +1,238 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: Whatsapp chat wp\n"
5
+ "POT-Creation-Date: 2018-06-24 14:11-0300\n"
6
+ "PO-Revision-Date: 2018-06-23 19:32-0300\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: Caporal Mkt Digital <agencia@caporalmktdigital.com.br>\n"
9
+ "Language: en\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.8.9\n"
14
+ "X-Poedit-Basepath: ../..\n"
15
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
+ "X-Poedit-KeywordsList: _e;__\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-SearchPath-0: .\n"
19
+
20
+ #: trunk/whatsapp-chat.php:35
21
+ msgid "Like it? Consider a Donation!"
22
+ msgstr ""
23
+
24
+ #: trunk/whatsapp-chat.php:38
25
+ msgid "Customize your button"
26
+ msgstr ""
27
+
28
+ #: trunk/whatsapp-chat.php:39
29
+ msgid "Support"
30
+ msgstr ""
31
+
32
+ #: trunk/whatsapp-chat.php:40
33
+ msgid "Review"
34
+ msgstr ""
35
+
36
+ #: trunk/whatsapp-chat.php:41 trunk/whatsapp-chat.php:296
37
+ msgid "Shortcode"
38
+ msgstr ""
39
+
40
+ #: trunk/whatsapp-chat.php:42
41
+ msgid "Developer"
42
+ msgstr ""
43
+
44
+ #: trunk/whatsapp-chat.php:55
45
+ msgid "WhatsApp Phone Number"
46
+ msgstr ""
47
+
48
+ #: trunk/whatsapp-chat.php:56
49
+ msgid "Full phone number in international format. Example:"
50
+ msgstr ""
51
+
52
+ #: trunk/whatsapp-chat.php:56
53
+ msgid "+155523456789"
54
+ msgstr ""
55
+
56
+ #: trunk/whatsapp-chat.php:67
57
+ msgid "Message to start chat"
58
+ msgstr ""
59
+
60
+ #: trunk/whatsapp-chat.php:68
61
+ msgid ""
62
+ "Pre-filled message that will automatically appear in the text field of a "
63
+ "chat. Example:"
64
+ msgstr ""
65
+
66
+ #: trunk/whatsapp-chat.php:69
67
+ msgid "Hello! I am interested in your service"
68
+ msgstr ""
69
+
70
+ #: trunk/whatsapp-chat.php:80
71
+ msgid "Edit button"
72
+ msgstr ""
73
+
74
+ #: trunk/whatsapp-chat.php:81
75
+ msgid "Customize your whatsapp chat message. Example:"
76
+ msgstr ""
77
+
78
+ #: trunk/whatsapp-chat.php:81
79
+ msgid "Chat with me"
80
+ msgstr ""
81
+
82
+ #: trunk/whatsapp-chat.php:92
83
+ msgid "Hide button"
84
+ msgstr ""
85
+
86
+ #: trunk/whatsapp-chat.php:93
87
+ msgid "Turn on to"
88
+ msgstr ""
89
+
90
+ #: trunk/whatsapp-chat.php:93
91
+ msgid "hide whatsapp chat"
92
+ msgstr ""
93
+
94
+ #: trunk/whatsapp-chat.php:93
95
+ msgid "for all website."
96
+ msgstr ""
97
+
98
+ #: trunk/whatsapp-chat.php:108
99
+ msgid "Left Side"
100
+ msgstr ""
101
+
102
+ #: trunk/whatsapp-chat.php:109 trunk/whatsapp-chat.php:126
103
+ msgid "Turn on the switch to move whatsapp chat to the"
104
+ msgstr ""
105
+
106
+ #: trunk/whatsapp-chat.php:109
107
+ msgid "left side of the screen"
108
+ msgstr ""
109
+
110
+ #: trunk/whatsapp-chat.php:125
111
+ msgid "Bottom"
112
+ msgstr ""
113
+
114
+ #: trunk/whatsapp-chat.php:126
115
+ msgid "bottom of the screen"
116
+ msgstr ""
117
+
118
+ #: trunk/whatsapp-chat.php:127
119
+ msgid "If left side is ON than whatsapp chat will be"
120
+ msgstr ""
121
+
122
+ #: trunk/whatsapp-chat.php:127
123
+ msgid "on the bottom left."
124
+ msgstr ""
125
+
126
+ #: trunk/whatsapp-chat.php:143
127
+ msgid "Hide on Desktop"
128
+ msgstr ""
129
+
130
+ #: trunk/whatsapp-chat.php:144
131
+ msgid "Turn on to keep visible for"
132
+ msgstr ""
133
+
134
+ #: trunk/whatsapp-chat.php:144
135
+ msgid "mobile only."
136
+ msgstr ""
137
+
138
+ #: trunk/whatsapp-chat.php:160
139
+ msgid "Teal Green."
140
+ msgstr ""
141
+
142
+ #: trunk/whatsapp-chat.php:161
143
+ msgid "Make whatsapp chat dark with color"
144
+ msgstr ""
145
+
146
+ #: trunk/whatsapp-chat.php:161
147
+ msgid "Teal Green"
148
+ msgstr ""
149
+
150
+ #: trunk/whatsapp-chat.php:177
151
+ msgid "White"
152
+ msgstr ""
153
+
154
+ #: trunk/whatsapp-chat.php:178
155
+ msgid "Make whatsapp chat light with color"
156
+ msgstr ""
157
+
158
+ #: trunk/whatsapp-chat.php:178
159
+ msgid "white."
160
+ msgstr ""
161
+
162
+ #: trunk/whatsapp-chat.php:194
163
+ msgid "Rounded border"
164
+ msgstr ""
165
+
166
+ #: trunk/whatsapp-chat.php:195
167
+ msgid "Add rounnded border"
168
+ msgstr ""
169
+
170
+ #: trunk/whatsapp-chat.php:195
171
+ msgid "in whatsapp chat."
172
+ msgstr ""
173
+
174
+ #: trunk/whatsapp-chat.php:211
175
+ msgid "Hide in pages"
176
+ msgstr ""
177
+
178
+ #: trunk/whatsapp-chat.php:212 trunk/whatsapp-chat.php:229
179
+ #: trunk/whatsapp-chat.php:246 trunk/whatsapp-chat.php:263
180
+ msgid "Hide WhatsApp Chat in every"
181
+ msgstr ""
182
+
183
+ #: trunk/whatsapp-chat.php:212
184
+ msgid "page"
185
+ msgstr ""
186
+
187
+ #: trunk/whatsapp-chat.php:228
188
+ msgid "Hide in post"
189
+ msgstr ""
190
+
191
+ #: trunk/whatsapp-chat.php:229
192
+ msgid "post page"
193
+ msgstr ""
194
+
195
+ #: trunk/whatsapp-chat.php:245
196
+ msgid "Hide in project"
197
+ msgstr ""
198
+
199
+ #: trunk/whatsapp-chat.php:246
200
+ msgid "project page"
201
+ msgstr ""
202
+
203
+ #: trunk/whatsapp-chat.php:262
204
+ msgid "Hide in product"
205
+ msgstr ""
206
+
207
+ #: trunk/whatsapp-chat.php:263
208
+ msgid "product page"
209
+ msgstr ""
210
+
211
+ #: trunk/whatsapp-chat.php:279
212
+ msgid "Discreet link"
213
+ msgstr ""
214
+
215
+ #: trunk/whatsapp-chat.php:280
216
+ msgid "Leave a discreet link to developer to"
217
+ msgstr ""
218
+
219
+ #: trunk/whatsapp-chat.php:280
220
+ msgid "help and keep new updates and support"
221
+ msgstr ""
222
+
223
+ #: trunk/whatsapp-chat.php:297
224
+ msgid "You can use shortcode to create WhatsApp Chat buttons wherever you want"
225
+ msgstr ""
226
+
227
+ #: trunk/whatsapp-chat.php:298
228
+ msgid ""
229
+ "Just copy the shortcode bellow replacing with your phone number and text."
230
+ msgstr ""
231
+
232
+ #: trunk/whatsapp-chat.php:299
233
+ msgid "Chat on WhatsApp"
234
+ msgstr ""
235
+
236
+ #: trunk/whatsapp-chat.php:315
237
+ msgid "Save & Chat"
238
+ msgstr ""
3.2/photothumb.db ADDED
Binary file
3.2/readme.txt ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WhatsApp Chat WP ===
2
+ Contributors: quadlayers
3
+ Tags: whatsapp, whatsapp chat, directly message whatsapp, whatsapp for business, floating whatsapp, plugin whatsapp, whatsapp button, click to chat, help desk
4
+ Donate link: https://quadlayers.com/portfolio/whatsapp-chat/?utm_source=wac_admin
5
+ Requires at least: 3.8
6
+ Tested up to: 4.9.6
7
+ Requires PHP: 5.6
8
+ Stable tag: 3.1
9
+ License: GPLv2
10
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
11
+
12
+ Let your customers contact you with WhatsApp Chat directly from your website. Easy, fast and effective!
13
+
14
+ == Description ==
15
+ COMMUNICATION WITH YOUR CUSTOMERS CAN BE VERY EASY AND FAST
16
+ WhatsApp Chat WP allows your customer to start a WhatsApp chat directly from your website.
17
+ Just click the button to open WhatsApp chat app with exactly contact and pre-filled message.
18
+ Fast and close answer can turn over your business and grow your results!
19
+ For detail information about WhatsApp Chat WP with video:
20
+ [Official page of WhatsApp Chat WP plugin](https://quadlayers.com/portfolio/whatsapp-chat/?utm_source=wac_admin) (portuguese)
21
+
22
+ ==QuadLayers==
23
+
24
+ Hello we're [QuadLayers](https://quadlayers.com/)! We've recently acquired this plugin and we will prepare a huge update to bring you some new features.
25
+ ==Why WhatsApp Chat WP==
26
+ * 100% free - We\'ll not try to sell you anything or restrict this plugin
27
+ * Able to detect mobile and show different url so it will open your whatsapp on Android and IOS system and open WhatsApp Web if you are using desktop.
28
+ * If you have Google Analytics installed, an event is triggered when the user clicks on WhatsApp Chat so you can track
29
+ * If you have Facebook Pixel installed, an event is triggered when the user clicks on WhatsApp Chat
30
+ * AMP supported. If you have amp activated, we still work fine (This is super important)
31
+ * Shortcode included
32
+ * Instant message. There is no need your customers to sign in or fill a form
33
+ * Choose WhatsApp Chat position and style
34
+ * Custom your message to start WhatsApp Chat
35
+ * Custom your button call-to-action
36
+ * New beautiful and easy panel
37
+ * WPML supported
38
+ * Woocommerce product page supported
39
+ * Post type targeting. You can show the WhatsApp Chat on the whole site or specific post types
40
+
41
+ == Installation ==
42
+ Search and Install WhatsApp Chat WP directly from Wordpress repository
43
+ Alternatively you can download zip file and extract in wp-content/plugins
44
+ Active plugin
45
+ Fill the form and turn on the switches with your preferences
46
+ Save & Chat!
47
+ Remember to clear your cache and you\'re ready to see the WhatsApp Chat
48
+
49
+ == Frequently Asked Questions ==
50
+ Do i have some support?
51
+ Yes, you just need to post your issue in Support forum, directly in wordpress.
52
+ [Support Forum](https://wordpress.org/support/plugin/wp-whatsapp-chat/)
53
+
54
+ Why we don't have more customize options?
55
+ We are just follow WhatsApp Brand Guidelines.
56
+ But if you really want, you can include some aditional css in your child theme.
57
+
58
+ I want to check how many clicks i had. Is that possible?
59
+ Yes, now you can.
60
+ You just need to install gtag.js in your website.
61
+ If you already have this, you can check in your Analytics Dashboard.
62
+ Go to 'Content' >> 'Event'
63
+ You will notice that every click fire a new WhatsApp chat event.
64
+ There is no need to active or configure nothing.
65
+
66
+ How can i use more than one WhatsApp number?
67
+ You can use how many contact numbers you want with shortcode function.
68
+
69
+ How to create a shortcode?
70
+ [whatsapp phone=\"international-phone-number-here\"]Button content[/whatsapp]
71
+ If you want to open in a new windown:
72
+ [whatsapp phone=\"international-phone-number-here\" blank=\"true\"]Button content[/whatsapp]
73
+
74
+ What about GDPR?
75
+ WhatsApp Chat WP don�t save any personal data and don�t use cookies.
76
+
77
+ Will my WhatsApp number be visible to all users?
78
+ Yes, every user of your website will be able to see the number of WhatsApp you are using (for the way WhatsApp works). For this reason we advise you to not use a WhatsApp number that you want to keep private.
79
+
80
+ What is a full phone number in international format?
81
+ Omit any zeroes, brackets or dashes when adding the phone number in international format, including your country code, area and regular phone number.
82
+ Use: 15551234567
83
+ Don't use: +001-(555)1234567
84
+
85
+ For some reason my message is not working right, how can i fix this?
86
+ Keep in mind that all messages are automatically encoded to create a url.
87
+ Maybe your using a unsual element and it's not encoding the right way.
88
+ Please, try to write your message with URL-encodedtext. [Read this for more information about URL-encodedtext](http://www.codex.wiki.br/Html/URLEncodeRefer%C3%AAncia).
89
+
90
+ == Screenshots ==
91
+ 1. Dashboard
92
+ 2. Dashboard Switch
93
+ 3. WhatsApp Chat Style 1
94
+ 4. WhatsApp Chat Style 2
95
+ 5. WhatsApp Chat Style 3
96
+ 6. Star chat with pre-filled message
97
+ 7. Shortcode Example
98
+
99
+ == Changelog ==
100
+ 3.1 Fix IcoMoon Font call for amp
101
+
102
+ 3.0 Facebook Pixel support included
103
+ amp support included
104
+ New WhatsApp chat styles
105
+ Translation bug fixed
106
+ Hide to specific post type
107
+
108
+ 2.0 Shortcode included
109
+ New position for floating button
110
+ Remove image upload
111
+ New button style
112
+ Integration with Google Analytics
113
+ Internacionalization
114
+
115
+ 1.5 Bug fix in line 143
116
+
117
+ == Upgrade Notice ==
118
+ Much more style option.
119
+ Translation bug fixed.
120
+ New beautiful and easy panel.
121
+ Click Tracking using Google Analytics and Facebook Pixel
122
+ WPML supported
123
+ amp supported
124
+ Woocommerce product page supported
125
+ Hide to specific post type
126
+
127
+ == Developed by ==
128
+ [QuadLayers](https://quadlayers.com)
3.2/screenshot-1.jpg ADDED
Binary file
3.2/screenshot-2.jpg ADDED
Binary file
3.2/screenshot-3.jpg ADDED
Binary file
3.2/screenshot-4.jpg ADDED
Binary file
3.2/screenshot-5.jpg ADDED
Binary file
3.2/screenshot-6.jpg ADDED
Binary file
3.2/screenshot-7.jpg ADDED
Binary file
3.2/whatsapp-chat.php ADDED
@@ -0,0 +1,566 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: WhatsApp Chat WP
4
+ Plugin URI: https://quadlayers.com/portfolio/whatsapp-chat/
5
+ Description: Let your customers contact you with WhatsApp Chat directly from your website. Easy, fast and effective!
6
+ Author: QuadLayers
7
+ Author URI: https://quadlayers.com/
8
+ Version: 3.2
9
+ License: GPLv2
10
+ */
11
+
12
+ if (!defined('ABSPATH'))
13
+ exit;
14
+
15
+ function quadlayers_admin_notice() {
16
+
17
+ $current = get_current_screen();
18
+
19
+ if ($current->id == 'toplevel_page_whatsapp-chat-settings') {
20
+ ?>
21
+ <div class="notice notice-success is-dismissible">
22
+ <p>Hello we're <a target="_blank" href="https://quadlayers.com/portfolio/whatsapp-chat/?utm_source=wac_admin">QuadLayers</a>! We've recently acquired the WhatsApp Chat plugin for WordPress and we will prepare a huge update to bring you some new features.</p>
23
+ <button type="button" class="notice-dismiss">
24
+ <span class="screen-reader-text">Dismiss this notice.</span>
25
+ </button>
26
+ </div>
27
+ <?php
28
+ }
29
+ }
30
+
31
+ add_action('admin_notices', 'quadlayers_admin_notice');
32
+
33
+ add_action('plugins_loaded', 'whatsapp_load_textdomain');
34
+
35
+ function whatsapp_load_textdomain() {
36
+ load_plugin_textdomain('wac', false, basename(dirname(__FILE__)) . '/languages/');
37
+ }
38
+
39
+ function whatsapp_chat_menu() {
40
+ add_menu_page('WhatsApp Chat Settings', 'WhatsApp Chat', 'administrator', 'whatsapp-chat-settings', 'whatsapp_chat_settings_page', plugins_url('images/whatsappicon.png', __FILE__));
41
+ }
42
+
43
+ add_action('admin_menu', 'whatsapp_chat_menu');
44
+
45
+ add_action('admin_enqueue_scripts', 'load_admin_style_wac');
46
+
47
+ function load_admin_style_wac() {
48
+ wp_register_style('admin_css', plugins_url('css/admin-style.css', __FILE__));
49
+ wp_enqueue_style('admin_css', plugins_url('css/admin-style.css', __FILE__));
50
+ }
51
+
52
+ function whatsapp_chat_settings_page() {
53
+ ?>
54
+ <div class="whats-page">
55
+ <div class="whats-title">
56
+ <h1>WhatsApp Chat WP</h1>
57
+ <span class="doar-link"><a target="_blank" href="https://quadlayers.com/portfolio/whatsapp-chat/?utm_source=wac_admin"><?php _e('Like it? Consider a Donation!', 'wac'); ?></a></span>
58
+ </div>
59
+ <h2 class="nav-tab-wrapper">
60
+ <a href="#whats-box-1" class="nav-tab"><?php _e('Customize your button', 'wac'); ?></a>
61
+ <a href="https://wordpress.org/support/plugin/wp-whatsapp-chat/" class="nav-tab" target="_blank"><?php _e('Support', 'wac'); ?></a>
62
+ <a href="https://wordpress.org/support/plugin/wp-whatsapp-chat/reviews/?rate=5#new-post" class="nav-tab" target="_blank"><?php _e('Review', 'wac'); ?></a>
63
+ <a href="#whats-box-16" class="nav-tab"><?php _e('Shortcode', 'wac'); ?></a>
64
+ <a href="#whats-box-17" class="nav-tab"><?php _e('Developer', 'wac'); ?></a>
65
+ </h2>
66
+ <div class="page-container">
67
+ <form method="post" action="options.php">
68
+ <?php
69
+ settings_fields('whatsapp-chat-settings');
70
+ do_settings_sections('whatsapp-chat-settings');
71
+ ?>
72
+ <div class="div-whats" id="whats-box-1">
73
+ <div class="image-container-whats">
74
+ <img src="<?php echo plugins_url('images/ativo1.png', __FILE__) ?>" >
75
+ </div>
76
+ <div class="title-area-whats">
77
+ <h3><?php _e('WhatsApp Phone Number', 'wac'); ?></h3>
78
+ <p><?php _e('Full phone number in international format. Example:', 'wac'); ?><span class="codewa"><?php _e('+155523456789', 'wac'); ?></span></p>
79
+ </div>
80
+ <div class="onoffswitch-whats">
81
+ <input type="text" size="60" name="whatsapp_chat_page" placeholder="+5512999999999" value="<?php echo esc_attr(get_option('whatsapp_chat_page')); ?>" />
82
+ </div>
83
+ </div>
84
+ <div class="div-whats" id="whats-box-2">
85
+ <div class="image-container-whats">
86
+ <img src="<?php echo plugins_url('images/ativo6.png', __FILE__) ?>" >
87
+ </div>
88
+ <div class="title-area-whats">
89
+ <h3><?php _e('Message to start chat', 'wac'); ?></h3>
90
+ <p><?php _e('Pre-filled message that will automatically appear in the text field of a chat. Example:', 'wac'); ?>
91
+ <p><span class="codewa"><?php _e('Hello! I am interested in your service', 'wac'); ?></span></p>
92
+ </div>
93
+ <div class="onoffswitch-whats">
94
+ <input type="text" size="60" name="whatsapp_chat_msg" placeholder="Olá, gostaria de saber mais sobre seu serviço/produto" value="<?php echo esc_attr(get_option('whatsapp_chat_msg')); ?>" />
95
+ </div>
96
+ </div>
97
+ <div class="div-whats" id="whats-box-3">
98
+ <div class="image-container-whats">
99
+ <img src="<?php echo plugins_url('images/ativo7.png', __FILE__) ?>" >
100
+ </div>
101
+ <div class="title-area-whats">
102
+ <h3><?php _e('Edit button', 'wac'); ?></h3>
103
+ <p><?php _e('Customize your whatsapp chat message. Example:', 'wac'); ?> <span class="codewa"><?php _e('Chat with me', 'wac'); ?></span></p>
104
+ </div>
105
+ <div class="onoffswitch-whats">
106
+ <input type="text" size="60" name="whatsapp_chat_button" placeholder="WhatsApp" value="<?php echo esc_attr(get_option('whatsapp_chat_button')); ?>" />
107
+ </div>
108
+ </div>
109
+ <div class="div-whats" id="whats-box-4">
110
+ <div class="image-container-whats">
111
+ <img src="<?php echo plugins_url('images/ativo4.png', __FILE__) ?>" >
112
+ </div>
113
+ <div class="title-area-whats">
114
+ <h3><?php _e('Hide button', 'wac'); ?></h3>
115
+ <p><?php _e('Turn on to', 'wac'); ?> <span class="codewa"><?php _e('hide whatsapp chat', 'wac'); ?></span><?php _e('for all website.', 'wac'); ?></p>
116
+ </div>
117
+ <div class="onoffswitch-whats">
118
+ <input type="checkbox" name="whatsapp_chat_hide_button" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-4" value="true" <?php echo ( get_option('whatsapp_chat_hide_button') == true ) ? ' checked="checked" />' : ' />'; ?>
119
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-4">
120
+ <span class="whatsonoffswitch-inner"></span>
121
+ <span class="whatsonoffswitch-switch"></span>
122
+ </label>
123
+ </div>
124
+ </div>
125
+ <div class="div-whats" id="whats-box-5">
126
+ <div class="image-container-whats">
127
+ <img src="<?php echo plugins_url('images/ativo2.png', __FILE__) ?>" >
128
+ </div>
129
+ <div class="title-area-whats">
130
+ <h3><?php _e('Left Side', 'wac'); ?></h3>
131
+ <p><?php _e('Turn on the switch to move whatsapp chat to the', 'wac'); ?> <span class="codewa"><?php _e('left side of the screen', 'wac'); ?></span></p>
132
+ </div>
133
+ <div class="onoffswitch-whats">
134
+ <input type="checkbox" name="whatsapp_chat_left_side" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-5" value="true" <?php echo ( get_option('whatsapp_chat_left_side') == true ) ? ' checked="checked" />' : ' />'; ?>
135
+
136
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-5">
137
+ <span class="whatsonoffswitch-inner"></span>
138
+ <span class="whatsonoffswitch-switch"></span>
139
+ </label>
140
+ </div>
141
+ </div>
142
+ <div class="div-whats" id="whats-box-6">
143
+ <div class="image-container-whats">
144
+ <img src="<?php echo plugins_url('images/ativo3.png', __FILE__) ?>" >
145
+ </div>
146
+ <div class="title-area-whats">
147
+ <h3><?php _e('Bottom', 'wac'); ?></h3>
148
+ <p><?php _e('Turn on the switch to move whatsapp chat to the', 'wac'); ?> <span class="codewa"><?php _e('bottom of the screen', 'wac'); ?></span></p>
149
+ <p><?php _e('If left side is ON than whatsapp chat will be', 'wac'); ?> <span class="codewa"><?php _e('on the bottom left.', 'wac'); ?></span></p>
150
+ </div>
151
+ <div class="onoffswitch-whats">
152
+ <input type="checkbox" name="whatsapp_chat_down" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-6" value="true" <?php echo ( get_option('whatsapp_chat_down') == true ) ? ' checked="checked" />' : ' />'; ?>
153
+
154
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-6">
155
+ <span class="whatsonoffswitch-inner"></span>
156
+ <span class="whatsonoffswitch-switch"></span>
157
+ </label>
158
+ </div>
159
+ </div>
160
+ <div class="div-whats" id="whats-box-7">
161
+ <div class="image-container-whats">
162
+ <img src="<?php echo plugins_url('images/ativo5.png', __FILE__) ?>" >
163
+ </div>
164
+ <div class="title-area-whats">
165
+ <h3><?php _e('Hide on Desktop', 'wac'); ?></h3>
166
+ <p><?php _e('Turn on to keep visible for', 'wac'); ?> <span class="codewa"><?php _e('mobile only.', 'wac'); ?></span></p>
167
+ </div>
168
+ <div class="onoffswitch-whats">
169
+ <input type="checkbox" name="whatsapp_chat_mobile" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-7" value="true" <?php echo ( get_option('whatsapp_chat_mobile') == true ) ? ' checked="checked" />' : ' />'; ?>
170
+
171
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-7">
172
+ <span class="whatsonoffswitch-inner"></span>
173
+ <span class="whatsonoffswitch-switch"></span>
174
+ </label>
175
+ </div>
176
+ </div>
177
+ <div class="div-whats" id="whats-box-8">
178
+ <div class="image-container-whats">
179
+ <img src="<?php echo plugins_url('images/ativo11.png', __FILE__) ?>" >
180
+ </div>
181
+ <div class="title-area-whats">
182
+ <h3><?php _e('Teal Green.', 'wac'); ?></h3>
183
+ <p><?php _e('Make whatsapp chat dark with color', 'wac'); ?> <span class="codewa"><?php _e('Teal Green', 'wac'); ?></span></p>
184
+ </div>
185
+ <div class="onoffswitch-whats">
186
+ <input type="checkbox" name="whatsapp_chat_dark" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-8" value="true" <?php echo ( get_option('whatsapp_chat_dark') == true ) ? ' checked="checked" />' : ' />'; ?>
187
+
188
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-8">
189
+ <span class="whatsonoffswitch-inner"></span>
190
+ <span class="whatsonoffswitch-switch"></span>
191
+ </label>
192
+ </div>
193
+ </div>
194
+ <div class="div-whats" id="whats-box-9">
195
+ <div class="image-container-whats">
196
+ <img src="<?php echo plugins_url('images/ativo10.png', __FILE__) ?>" >
197
+ </div>
198
+ <div class="title-area-whats">
199
+ <h3><?php _e('White', 'wac'); ?></h3>
200
+ <p><?php _e('Make whatsapp chat light with color', 'wac'); ?> <span class="codewa"><?php _e('white.', 'wac'); ?></span>.</p>
201
+ </div>
202
+ <div class="onoffswitch-whats">
203
+ <input type="checkbox" name="whatsapp_chat_white" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-9" value="true" <?php echo ( get_option('whatsapp_chat_white') == true ) ? ' checked="checked" />' : ' />'; ?>
204
+
205
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-9">
206
+ <span class="whatsonoffswitch-inner"></span>
207
+ <span class="whatsonoffswitch-switch"></span>
208
+ </label>
209
+ </div>
210
+ </div>
211
+ <div class="div-whats" id="whats-box-10">
212
+ <div class="image-container-whats">
213
+ <img src="<?php echo plugins_url('images/ativo12.png', __FILE__) ?>" >
214
+ </div>
215
+ <div class="title-area-whats">
216
+ <h3><?php _e('Rounded border', 'wac'); ?></h3>
217
+ <p><span class="codewa"><?php _e('Add rounnded border', 'wac'); ?></span> <?php _e('in whatsapp chat.', 'wac'); ?></p>
218
+ </div>
219
+ <div class="onoffswitch-whats">
220
+ <input type="checkbox" name="whatsapp_chat_round" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-10" value="true" <?php echo ( get_option('whatsapp_chat_round') == true ) ? ' checked="checked" />' : ' />'; ?>
221
+
222
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-10">
223
+ <span class="whatsonoffswitch-inner"></span>
224
+ <span class="whatsonoffswitch-switch"></span>
225
+ </label>
226
+ </div>
227
+ </div>
228
+ <div class="div-whats" id="whats-box-11">
229
+ <div class="image-container-whats">
230
+ <img src="<?php echo plugins_url('images/ativo15.png', __FILE__) ?>" >
231
+ </div>
232
+ <div class="title-area-whats">
233
+ <h3><?php _e('Hide in pages', 'wac'); ?></h3>
234
+ <p><?php _e('Hide WhatsApp Chat in every', 'wac'); ?> <span class="codewa"><?php _e('page', 'wac'); ?></span></p>
235
+ </div>
236
+ <div class="onoffswitch-whats">
237
+ <input type="checkbox" name="whatsapp_chat_hide_page" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-11" value="true" <?php echo ( get_option('whatsapp_chat_hide_page') == true ) ? ' checked="checked" />' : ' />'; ?>
238
+
239
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-11">
240
+ <span class="whatsonoffswitch-inner"></span>
241
+ <span class="whatsonoffswitch-switch"></span>
242
+ </label>
243
+ </div>
244
+ </div>
245
+ <div class="div-whats" id="whats-box-12">
246
+ <div class="image-container-whats">
247
+ <img src="<?php echo plugins_url('images/ativo14.png', __FILE__) ?>" >
248
+ </div>
249
+ <div class="title-area-whats">
250
+ <h3><?php _e('Hide in post', 'wac'); ?></h3>
251
+ <p><?php _e('Hide WhatsApp Chat in every', 'wac'); ?> <span class="codewa"><?php _e('post page', 'wac'); ?></span></p>
252
+ </div>
253
+ <div class="onoffswitch-whats">
254
+ <input type="checkbox" name="whatsapp_chat_hide_post" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-12" value="true" <?php echo ( get_option('whatsapp_chat_hide_post') == true ) ? ' checked="checked" />' : ' />'; ?>
255
+
256
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-12">
257
+ <span class="whatsonoffswitch-inner"></span>
258
+ <span class="whatsonoffswitch-switch"></span>
259
+ </label>
260
+ </div>
261
+ </div>
262
+ <div class="div-whats" id="whats-box-13">
263
+ <div class="image-container-whats">
264
+ <img src="<?php echo plugins_url('images/ativo16.png', __FILE__) ?>" >
265
+ </div>
266
+ <div class="title-area-whats">
267
+ <h3><?php _e('Hide in project', 'wac'); ?></h3>
268
+ <p><?php _e('Hide WhatsApp Chat in every', 'wac'); ?> <span class="codewa"><?php _e('project page', 'wac'); ?></span></p>
269
+ </div>
270
+ <div class="onoffswitch-whats">
271
+ <input type="checkbox" name="whatsapp_chat_hide_project" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-13" value="true" <?php echo ( get_option('whatsapp_chat_hide_project') == true ) ? ' checked="checked" />' : ' />'; ?>
272
+
273
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-13">
274
+ <span class="whatsonoffswitch-inner"></span>
275
+ <span class="whatsonoffswitch-switch"></span>
276
+ </label>
277
+ </div>
278
+ </div>
279
+ <div class="div-whats" id="whats-box-14">
280
+ <div class="image-container-whats">
281
+ <img src="<?php echo plugins_url('images/ativo13.png', __FILE__) ?>" >
282
+ </div>
283
+ <div class="title-area-whats">
284
+ <h3><?php _e('Hide in product', 'wac'); ?></h3>
285
+ <p><?php _e('Hide WhatsApp Chat in every', 'wac'); ?> <span class="codewa"><?php _e('product page', 'wac'); ?></span></p>
286
+ </div>
287
+ <div class="onoffswitch-whats">
288
+ <input type="checkbox" name="whatsapp_chat_hide_product" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-14" value="true" <?php echo ( get_option('whatsapp_chat_hide_product') == true ) ? ' checked="checked" />' : ' />'; ?>
289
+
290
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-14">
291
+ <span class="whatsonoffswitch-inner"></span>
292
+ <span class="whatsonoffswitch-switch"></span>
293
+ </label>
294
+ </div>
295
+ </div>
296
+ <div class="div-whats" id="whats-box-15">
297
+ <div class="image-container-whats">
298
+ <img src="<?php echo plugins_url('images/ativo8.png', __FILE__) ?>" >
299
+ </div>
300
+ <div class="title-area-whats">
301
+ <h3><?php _e('Discreet link', 'wac'); ?></h3>
302
+ <p><?php _e('Leave a discreet link to developer to', 'wac'); ?> <span class="codewa"><?php _e('help and keep new updates and support', 'wac'); ?></span></p>
303
+ </div>
304
+ <div class="onoffswitch-whats">
305
+ <input type="checkbox" name="whatsapp_chat_powered_by" class="onoffswitch-whats-checkbox" id="whatsonoffswitch-15" value="true" <?php echo ( get_option('whatsapp_chat_powered_by') == true ) ? ' checked="checked" />' : ' />'; ?>
306
+
307
+ <label class="whatsonoffswitch-label" for="whatsonoffswitch-11">
308
+ <span class="whatsonoffswitch-inner"></span>
309
+ <span class="whatsonoffswitch-switch"></span>
310
+ </label>
311
+ </div>
312
+ </div>
313
+ <div class="div-whats" id="whats-box-16">
314
+ <div class="image-container-whats">
315
+ <img src="<?php echo plugins_url('images/ativo9.png', __FILE__) ?>" >
316
+ </div>
317
+ <div class="title-area-whats">
318
+ <h3><?php _e('Shortcode', 'wac'); ?></h3>
319
+ <p><?php _e('You can use shortcode to create WhatsApp Chat buttons wherever you want', 'wac'); ?></p>
320
+ <p><?php _e('Just copy the shortcode bellow replacing with your phone number and text.', 'wac'); ?></p>
321
+ <p><span class="codewa">[whatsapp phone="0000000000" blank="true"]<?php _e('Chat on WhatsApp', 'wac'); ?>[/whatsapp]</span></p>
322
+ </div>
323
+ </div>
324
+ <div class="div-whats" id="whats-box-17">
325
+ <div class="image-container-whats">
326
+ <img src="<?php echo plugins_url('images/agencia.png', __FILE__) ?>" >
327
+ </div>
328
+ <div class="title-area-whats">
329
+ <h3>Caporal Mkt Digital</h3>
330
+ <p>Especialistas em performance, novas ferramentas e estratégias digitais para PME, empreendedores e profissionais liberais.</p>
331
+ <p><span class="codewa">Está buscando ampliar seus resultados? Entre em contato para uma estratégia sob medida!</span></p>
332
+ </div>
333
+ <div class="onoffswitch-whats">
334
+ <a href="https://quadlayers.com/portfolio/whatsapp-chat/?utm_source=wac_admin"><img src="<?php echo plugins_url('images/mail.png', __FILE__) ?>" ></a>
335
+ </div>
336
+ </div>
337
+ <?php submit_button(__('Save & Chat'), 'submit-whats'); ?>
338
+ </form>
339
+ </div>
340
+ </div>
341
+
342
+ <?php
343
+ }
344
+
345
+ function whatsapp_chat_settings() {
346
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_page');
347
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_msg');
348
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_hide_button');
349
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_left_side');
350
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_down');
351
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_button');
352
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_mobile');
353
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_dark');
354
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_white');
355
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_round');
356
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_hide_page');
357
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_hide_post');
358
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_hide_project');
359
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_hide_product');
360
+ register_setting('whatsapp-chat-settings', 'whatsapp_chat_powered_by');
361
+ }
362
+
363
+ add_action('admin_init', 'whatsapp_chat_settings');
364
+
365
+ function whatsapp_chat_deactivation() {
366
+ delete_option('whatsapp_chat_page');
367
+ delete_option('whatsapp_chat_msg');
368
+ delete_option('whatsapp_chat_hide_button');
369
+ delete_option('whatsapp_chat_left_side');
370
+ delete_option('whatsapp_chat_down');
371
+ delete_option('whatsapp_chat_button');
372
+ delete_option('whatsapp_chat_mobile');
373
+ delete_option('whatsapp_chat_dark');
374
+ delete_option('whatsapp_chat_white');
375
+ delete_option('whatsapp_chat_round');
376
+ delete_option('whatsapp_chat_hide_page');
377
+ delete_option('whatsapp_chat_hide_post');
378
+ delete_option('whatsapp_chat_hide_project');
379
+ delete_option('whatsapp_chat_hide_product');
380
+ delete_option('whatsapp_chat_powered_by');
381
+ }
382
+
383
+ register_deactivation_hook(__FILE__, 'whatsapp_chat_deactivation');
384
+
385
+ function whatsapp_chat_dependencies() {
386
+ wp_register_style('whatsapp-chat-style', plugins_url('css/style.css', __FILE__));
387
+ wp_enqueue_style('whatsapp-chat-style', plugins_url('css/style.css', __FILE__));
388
+ }
389
+
390
+ add_action('wp_enqueue_scripts', 'whatsapp_chat_dependencies');
391
+
392
+ function shortcode_whatsapp_chat($atts, $content = null) {
393
+ extract(shortcode_atts(array(
394
+ 'phone' => '#',
395
+ 'blank' => 'false'
396
+ ), $atts));
397
+
398
+ $blank_link = '';
399
+
400
+ if ($blank == 'true')
401
+ $blank_link = "target=\"_blank\"";
402
+
403
+ $out = "<a class=\"whatsapp\" href=\"https://api.whatsapp.com/send?phone=" . $phone . "\"" . $blank_link . "><span>" . do_shortcode($content) . "</span></a>";
404
+
405
+ return $out;
406
+ }
407
+
408
+ add_shortcode('whatsapp', 'shortcode_whatsapp_chat');
409
+
410
+ function whatsapp_chat() {
411
+ ?>
412
+
413
+ <?php if (get_option('whatsapp_chat_hide_button') != true) {
414
+ ?>
415
+ <?php
416
+ if (is_page() && get_option('whatsapp_chat_hide_page')) {
417
+
418
+ } elseif (is_singular('post') && get_option('whatsapp_chat_hide_post')) {
419
+
420
+ } elseif (is_singular('project') && get_option('whatsapp_chat_hide_project')) {
421
+
422
+ } elseif (is_singular('product') && get_option('whatsapp_chat_hide_product')) {
423
+
424
+ } elseif (is_admin()) {
425
+
426
+ } else {
427
+ ?>
428
+ <div id="wacht<?php if (get_option('whatsapp_chat_left_side') == true) { ?>-leftside<?php } ?><?php if (get_option('whatsapp_chat_down') == true) { ?>-baixo<?php } ?><?php if (get_option('whatsapp_chat_dark') == true) { ?>-dark<?php } ?><?php if (get_option('whatsapp_chat_white') == true) { ?>-white<?php } ?><?php if (get_option('whatsapp_chat_round') == true) { ?>-round<?php } ?><?php if (get_option('whatsapp_chat_mobile') == true) { ?>-mobile<?php } ?>">
429
+ <a href="https://<?php
430
+ if (wp_is_mobile()) {
431
+ echo "api";
432
+ } else {
433
+ echo "web";
434
+ }
435
+ ?>.whatsapp.com/send?phone=<?php echo esc_attr(get_option('whatsapp_chat_page')); ?>&text=<?php echo esc_attr(get_option('whatsapp_chat_msg')); ?>" onclick="gtag('event', 'WhatsApp', {'event_action': 'whatsapp_chat', 'event_category': 'Chat', 'event_label': 'Chat_WhatsApp'});" target="_blank"><?php echo esc_attr(get_option('whatsapp_chat_button')); ?></a><?php if (get_option('whatsapp_chat_powered_by') == true) { ?><a href="https://quadlayers.com/?utm_source=wac_admin" title="Caporal Mkt Digital" class="agencia">agência de marketing digital especializada em estratégias e resultados</a><?php } ?>
436
+ </div>
437
+ <?php }//hide_button ?>
438
+ <?php
439
+ }
440
+ }
441
+
442
+ add_action('wp_footer', 'whatsapp_chat', 10);
443
+
444
+ add_action('amp_post_template_css', 'amp_whatsapp_chat_css_styles');
445
+
446
+ function amp_whatsapp_chat_css_styles($amp_template) {
447
+ ?>
448
+ @font-face {font-family: 'IcoMoon-free'; src: url('<?php echo plugins_url('css/fonts/IcoMoon-free.ttf', __FILE__) ?>');}
449
+ #wacht a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
450
+ #wacht-leftside a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
451
+ #wacht-baixo a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
452
+ #wacht-leftside-baixo a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
453
+ #wacht-dark a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
454
+ #wacht-leftside-dark a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
455
+ #wacht-baixo-dark a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
456
+ #wacht-leftside-baixo-dark a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
457
+ #wacht-white a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
458
+ #wacht-leftside-white a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
459
+ #wacht-baixo-white a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
460
+ #wacht-leftside-baixo-white a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
461
+ #wacht-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
462
+ #wacht-leftside-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
463
+ #wacht-baixo-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
464
+ #wacht-leftside-baixo-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
465
+ #wacht-dark-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
466
+ #wacht-leftside-dark-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
467
+ #wacht-baixo-dark-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
468
+ #wacht-leftside-baixo-dark-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
469
+ #wacht-white-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
470
+ #wacht-leftside-white-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
471
+ #wacht-baixo-white-round a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
472
+ #wacht-leftside-baixo-white-round a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
473
+ #wacht a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
474
+ #wacht-leftside a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
475
+ #wacht-baixo a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
476
+ #wacht-leftside-baixo a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
477
+ #wacht-dark a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
478
+ #wacht-leftside-dark a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
479
+ #wacht-baixo-dark a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
480
+ #wacht-leftside-baixo-dark a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
481
+ #wacht-white a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
482
+ #wacht-leftside-white a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
483
+ #wacht-baixo-white a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
484
+ #wacht-leftside-baixo-white a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
485
+ #wacht-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
486
+ #wacht-leftside-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
487
+ #wacht-baixo-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
488
+ #wacht-leftside-baixo-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
489
+ #wacht-dark-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
490
+ #wacht-leftside-dark-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
491
+ #wacht-baixo-dark-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
492
+ #wacht-leftside-baixo-dark-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
493
+ #wacht-white-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
494
+ #wacht-leftside-white-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
495
+ #wacht-baixo-white-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
496
+ #wacht-leftside-baixo-white-round a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
497
+ a.whatsapp:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
498
+ a.whatsapp {min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
499
+ #wacht-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
500
+ #wacht-leftside-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
501
+ #wacht-baixo-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
502
+ #wacht-leftside-baixo-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
503
+ #wacht-dark-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
504
+ #wacht-leftside-dark-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
505
+ #wacht-baixo-dark-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
506
+ #wacht-leftside-baixo-dark-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
507
+ #wacht-white-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
508
+ #wacht-leftside-white-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
509
+ #wacht-baixo-white-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
510
+ #wacht-leftside-baixo-white-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease;}
511
+ #wacht-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
512
+ #wacht-leftside-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
513
+ #wacht-baixo-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
514
+ #wacht-leftside-baixo-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#20B038; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
515
+ #wacht-dark-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
516
+ #wacht-leftside-dark-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
517
+ #wacht-baixo-dark-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
518
+ #wacht-leftside-baixo-dark-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#fff; text-align:center; padding:10px; margin:0 auto 0 auto; background:#075E54; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
519
+ #wacht-white-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
520
+ #wacht-leftside-white-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 40%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
521
+ #wacht-baixo-white-round-mobile a {position: fixed; z-index: 9999; right: 0; float:right; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
522
+ #wacht-leftside-baixo-white-round-mobile a {position: fixed; z-index: 9999; left: 0; float:left; top: 90%; margin-top: -25px; cursor: pointer; min-width:50px; max-width:150px; color:#075E54; text-align:center; padding:10px; margin:0 auto 0 auto; background:#fff; -webkit-transition: All 0.5s ease; -moz-transition: All 0.5s ease; -o-transition: All 0.5s ease; -ms-transition: All 0.5s ease; transition: All 0.5s ease; border-radius: 50px;}
523
+ #wacht-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
524
+ #wacht-leftside-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
525
+ #wacht-baixo-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
526
+ #wacht-leftside-baixo-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
527
+ #wacht-dark-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
528
+ #wacht-leftside-dark-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
529
+ #wacht-baixo-dark-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
530
+ #wacht-leftside-baixo-dark-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
531
+ #wacht-white-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
532
+ #wacht-leftside-white-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
533
+ #wacht-baixo-white-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
534
+ #wacht-leftside-baixo-white-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
535
+ #wacht-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
536
+ #wacht-leftside-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
537
+ #wacht-baixo-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
538
+ #wacht-leftside-baixo-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
539
+ #wacht-dark-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
540
+ #wacht-leftside-dark-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
541
+ #wacht-baixo-dark-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
542
+ #wacht-leftside-baixo-dark-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
543
+ #wacht-white-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
544
+ #wacht-leftside-white-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
545
+ #wacht-baixo-white-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
546
+ #wacht-leftside-baixo-white-round-mobile a:before {font-family: "IcoMoon-free"; content: '\ea93'; margin-left: 5px; margin-right: 5px}
547
+ @media only screen and (min-width: 980px) {#wacht-mobile, #wacht-leftside-mobile, #wacht-baixo-mobile, #wacht-leftside-baixo-mobile, #wacht-dark-mobile, #wacht-leftside-dark-mobile, #wacht-baixo-dark-mobile, #wacht-leftside-baixo-dark-mobile, #wacht-white-mobile, #wacht-leftside-white-mobile, #wacht-baixo-white-mobile, #wacht-leftside-baixo-white-mobile, #wacht-leftside-baixo-white-round-mobile, #wacht-baixo-white-round-mobile, #wacht-leftside-white-round-mobile, #wacht-white-round-mobile, #wacht-leftside-baixo-dark-round-mobile, #wacht-baixo-dark-round-mobile, #wacht-leftside-dark-round-mobile, #wacht-dark-round-mobile, #wacht-leftside-baixo-round-mobile, #wacht-baixo-round-mobile, #wacht-leftside-round-mobile, #wacht-round-mobile a {display: none;}}
548
+ <?php
549
+ }
550
+
551
+ add_action('amp_post_template_footer', 'amp_whatsapp_chat');
552
+
553
+ function amp_whatsapp_chat($amp_template) {
554
+ ?>
555
+ <div id="wacht<?php if (get_option('whatsapp_chat_left_side') == true) { ?>-leftside<?php } ?><?php if (get_option('whatsapp_chat_down') == true) { ?>-baixo<?php } ?><?php if (get_option('whatsapp_chat_dark') == true) { ?>-dark<?php } ?><?php if (get_option('whatsapp_chat_white') == true) { ?>-white<?php } ?><?php if (get_option('whatsapp_chat_round') == true) { ?>-round<?php } ?><?php if (get_option('whatsapp_chat_mobile') == true) { ?>-mobile<?php } ?>">
556
+ <a href="https://<?php
557
+ if (wp_is_mobile()) {
558
+ echo "api";
559
+ } else {
560
+ echo "web";
561
+ }
562
+ ?>.whatsapp.com/send?phone=<?php echo esc_attr(get_option('whatsapp_chat_page')); ?>&text=<?php echo esc_attr(get_option('whatsapp_chat_msg')); ?>" onclick="gtag('event', 'WhatsApp', {'event_action': 'whatsapp_chat', 'event_category': 'Chat', 'event_label': 'Chat_WhatsApp'}); fbq('track', 'WhatsAppChat');" target="_blank"><?php echo esc_attr(get_option('whatsapp_chat_button')); ?></a>
563
+ </div>
564
+
565
+ <?php
566
+ }
{assets → 4.2.2/assets}/css/qlwapp-admin.min.css RENAMED
File without changes
{assets → 4.2.2/assets}/css/qlwapp.min.css RENAMED
File without changes
{assets → 4.2.2/assets}/img/box1.png RENAMED
File without changes
{assets → 4.2.2/assets}/img/box2.png RENAMED
File without changes
{assets → 4.2.2/assets}/img/logo.jpg RENAMED
File without changes
{assets → 4.2.2/assets}/img/quadlayers.jpg RENAMED
File without changes
{assets → 4.2.2/assets}/js/qlwapp-admin.min.js RENAMED
File without changes
{assets → 4.2.2/assets}/js/qlwapp.min.js RENAMED
File without changes
{assets → 4.2.2/assets}/js/select2.min.js RENAMED
File without changes
4.2.2/includes/defaults.php ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH'))
4
+ exit;
5
+
6
+ if (!class_exists('QLWAPP_Options')) {
7
+
8
+ class QLWAPP_Options {
9
+
10
+ protected static $instance;
11
+ public $defaults;
12
+
13
+ function defaults() {
14
+ $this->defaults = array(
15
+ 'license' => array(
16
+ 'market' => '',
17
+ 'key' => '',
18
+ 'email' => ''
19
+ ),
20
+ 'scheme' => array(
21
+ 'brand' => '',
22
+ 'text' => '',
23
+ 'link' => '',
24
+ 'message' => '',
25
+ 'label' => '',
26
+ 'name' => '',
27
+ ),
28
+ 'user' => array(
29
+ 'message' => esc_html__('Hello! I\'m testing the WhatsApp Chat plugin @https://quadlayers.com', 'qlwapp')
30
+ ),
31
+ 'button' => array(
32
+ 'layout' => 'button',
33
+ 'position' => 'bottom-right',
34
+ 'text' => esc_html__('How can I help you?', 'qlwapp'),
35
+ 'icon' => 'qlwapp-whatsapp-icon',
36
+ 'phone' => '+441234567890',
37
+ 'developer' => 'no',
38
+ 'rounded' => 'yes'
39
+ ),
40
+ 'box' => array(
41
+ 'enable' => 'no',
42
+ 'header' => '<h3>Hello!</h3><p>Click one of our representatives below to chat on WhatsApp or send us an email to <a href="mailto:hello@quadlayers.com">hello@quadlayers.com</a></p>',
43
+ 'footer' => '<p>Call us to <a href="tel://542215676835">+542215676835</a> from <em><time>0:00hs</time></em> a <em><time>24:00hs</time></em></p>'
44
+ ),
45
+ 'chat' => array(
46
+ 'emoji' => 'no',
47
+ 'response' => esc_html__('Write a response', 'qlwapp'),
48
+ ),
49
+ 'contacts' => array(
50
+ 0 => array(
51
+ 'chat' => true,
52
+ 'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
53
+ 'phone' => '+441234567890',
54
+ 'firstname' => 'John',
55
+ 'lastname' => 'Doe',
56
+ 'label' => esc_html__('Support', 'qlwapp'),
57
+ 'message' => esc_html__('Hello! I\'m John from the support team.', 'qlwapp')
58
+ ),
59
+ ),
60
+ 'display' => array(
61
+ 'devices' => 'all',
62
+ 'target' => array(),
63
+ ),
64
+ );
65
+
66
+ return $this->defaults;
67
+ }
68
+
69
+ function wac_options($options, $key) {
70
+
71
+ if ($phone = get_option('whatsapp_chat_page')) {
72
+ $options['button']['phone'] = $phone;
73
+ }
74
+
75
+ if ($text = get_option('whatsapp_chat_button')) {
76
+ $options['button']['text'] = $text;
77
+ }
78
+ if (get_option('whatsapp_chat_powered_by')) {
79
+ $options['button']['developer'] = 'yes';
80
+ }
81
+ if (false !== get_option('whatsapp_chat_round')) {
82
+ $options['button']['rounded'] = 'no';
83
+ }
84
+ if ($message = get_option('whatsapp_chat_msg')) {
85
+ $options['user']['message'] = $message;
86
+ }
87
+ if ($mobile = get_option('whatsapp_chat_mobile')) {
88
+ $options['display']['devices'] = 'mobile';
89
+ }
90
+ if (get_option('whatsapp_chat_hide_button')) {
91
+ $options['display']['devices'] = 'hide';
92
+ }
93
+ if (get_option('whatsapp_chat_hide_post')) {
94
+ $options['display']['post'] = array('none');
95
+ }
96
+ if (get_option('whatsapp_chat_hide_page')) {
97
+ $options['display']['page'] = array('none');
98
+ }
99
+ if (get_option('whatsapp_chat_hide_product')) {
100
+ $options['display']['product'] = array('none');
101
+ }
102
+ if (get_option('whatsapp_chat_hide_project')) {
103
+ $options['display']['project'] = array('none');
104
+ }
105
+
106
+ if (false !== get_option('whatsapp_chat_down')) {
107
+ $vposition = get_option('whatsapp_chat_down') ? 'bottom' : 'middle';
108
+ $hposition = get_option('whatsapp_chat_left_side') ? 'left' : 'right';
109
+ $options['button']['position'] = "{$vposition}-{$hposition}";
110
+ }
111
+
112
+ if (get_option('whatsapp_chat_dark')) {
113
+ $options['scheme']['brand'] = '#075E54';
114
+ $options['scheme']['text'] = '#ffffff';
115
+ } elseif (get_option('whatsapp_chat_white')) {
116
+ $options['scheme']['brand'] = '#ffffff';
117
+ $options['scheme']['text'] = '#075E54';
118
+ } elseif (false !== get_option('whatsapp_chat_white')) {
119
+ $options['scheme']['brand'] = '#20B038';
120
+ $options['scheme']['text'] = '#ffffff';
121
+ }
122
+
123
+ return $options;
124
+ }
125
+
126
+ function options() {
127
+
128
+ global $qlwapp;
129
+
130
+ $options = get_option(QLWAPP_DOMAIN);
131
+
132
+ if (isset($options['box']['enable']) && $options['box']['enable'] == 1) {
133
+ $options['box']['enable'] = 'yes';
134
+ }
135
+
136
+ if (isset($options['button']['rounded']) && $options['button']['rounded'] == 1) {
137
+ $options['button']['rounded'] = 'yes';
138
+ }
139
+
140
+ if (isset($options['button']['developer']) && $options['button']['developer'] == 1) {
141
+ $options['button']['developer'] = 'yes';
142
+ }
143
+
144
+ $qlwapp = $this->wp_parse_args($options, $this->defaults());
145
+ }
146
+
147
+ function wp_parse_args(&$a, $b) {
148
+ $a = (array) $a;
149
+ $b = (array) $b;
150
+ $result = $b;
151
+ foreach ($a as $k => &$v) {
152
+ if (is_array($v) && isset($result[$k])) {
153
+ $result[$k] = $this->wp_parse_args($v, $result[$k]);
154
+ } else {
155
+ $result[$k] = $v;
156
+ }
157
+ }
158
+ return $result;
159
+ }
160
+
161
+ function init() {
162
+ add_action('init', array($this, 'options'));
163
+ add_filter('default_option_qlwapp', array($this, 'wac_options'), 10, 2);
164
+ }
165
+
166
+ public static function instance() {
167
+ if (!isset(self::$instance)) {
168
+ self::$instance = new self();
169
+ self::$instance->defaults();
170
+ self::$instance->init();
171
+ }
172
+ return self::$instance;
173
+ }
174
+
175
+ }
176
+
177
+ QLWAPP_Options::instance();
178
+ }
4.2.2/includes/frontend.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!class_exists('QLWAPP_Frontend')) {
3
+
4
+ class QLWAPP_Frontend {
5
+
6
+ protected static $instance;
7
+
8
+ function add_js() {
9
+ wp_enqueue_style('qlwapp', plugins_url('/assets/css/qlwapp.min.css', QLWAPP_PLUGIN_FILE), null, QLWAPP_PLUGIN_VERSION, 'all');
10
+ wp_enqueue_script('qlwapp', plugins_url('/assets/js/qlwapp.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION, true);
11
+ }
12
+
13
+ function add_box() {
14
+
15
+ global $qlwapp;
16
+
17
+ if ($display = apply_filters('qlwapp_box_display', '__return_true')) {
18
+
19
+ if (is_file($file = apply_filters('qlwapp_box_template', QLWAPP_PLUGIN_DIR . 'template/box.php'))) {
20
+ include_once $file;
21
+ }
22
+ }
23
+ }
24
+
25
+ function add_frontend_css() {
26
+ global $qlwapp;
27
+ ?>
28
+ <style>
29
+ :root {
30
+ <?php
31
+ foreach ($qlwapp['scheme'] as $key => $value) {
32
+ if ($value != '') {
33
+ printf('--%s-scheme-%s:%s;', QLWAPP_DOMAIN, $key, $value);
34
+ }
35
+ }
36
+ ?>
37
+ }
38
+ <?php if ($qlwapp['scheme']['brand']): ?>
39
+ #qlwapp .qlwapp-toggle,
40
+ #qlwapp .qlwapp-box .qlwapp-header,
41
+ #qlwapp .qlwapp-box .qlwapp-user,
42
+ #qlwapp .qlwapp-box .qlwapp-user:before {
43
+ background-color: var(--qlwapp-scheme-brand);
44
+ }
45
+ <?php endif; ?>
46
+ <?php if ($qlwapp['scheme']['text']): ?>
47
+ #qlwapp .qlwapp-toggle,
48
+ #qlwapp .qlwapp-toggle .qlwapp-icon,
49
+ #qlwapp .qlwapp-toggle .qlwapp-text,
50
+ #qlwapp .qlwapp-box .qlwapp-header,
51
+ #qlwapp .qlwapp-box .qlwapp-user {
52
+ color: var(--qlwapp-scheme-text);
53
+ }
54
+ <?php endif; ?>
55
+ </style>
56
+ <?php
57
+ }
58
+
59
+ function box_display($display) {
60
+
61
+ global $qlwapp, $wp_query;
62
+
63
+ if (is_customize_preview()) {
64
+ return true;
65
+ }
66
+
67
+ if (count($qlwapp['display']['target'])) {
68
+
69
+ if (is_front_page() || is_home() || is_search() || is_404()) {
70
+ $display = false;
71
+ }
72
+
73
+ if (is_front_page() && in_array('home', $qlwapp['display']['target'])) {
74
+ return true;
75
+ }
76
+
77
+ if (is_home() && in_array('blog', $qlwapp['display']['target'])) {
78
+ return true;
79
+ }
80
+
81
+ if (is_search() && in_array('search', $qlwapp['display']['target'])) {
82
+ return true;
83
+ }
84
+
85
+ if (is_404() && in_array('error', $qlwapp['display']['target'])) {
86
+ return true;
87
+ }
88
+ }
89
+
90
+ if (is_archive() && isset($wp_query->queried_object->taxonomy)) {
91
+
92
+ if (isset($qlwapp['display'][$wp_query->queried_object->taxonomy]) && count($qlwapp['display'][$wp_query->queried_object->taxonomy])) {
93
+
94
+ $display = false;
95
+
96
+ if (in_array($wp_query->queried_object->slug, $qlwapp['display'][$wp_query->queried_object->taxonomy])) {
97
+ return true;
98
+ }
99
+ }
100
+ }
101
+
102
+ return $display;
103
+ }
104
+
105
+ function do_shortcode($atts, $content = null) {
106
+
107
+ global $qlwapp;
108
+
109
+ extract(shortcode_atts($qlwapp['button'], $atts));
110
+
111
+ ob_start();
112
+ ?>
113
+ <div id="qlwapp" class="qlwapp-button qlwapp-js-ready">
114
+ <a class="qlwapp-toggle" data-action="open" data-phone="<?php echo esc_attr($phone); ?>" href="#" target="_blank">
115
+ <?php if ($icon): ?>
116
+ <i class="qlwapp-icon <?php echo esc_attr($icon); ?>"></i>
117
+ <?php endif; ?>
118
+ <?php if ($content): ?>
119
+ <span class="qlwapp-text"><?php echo esc_html($content); ?></span>
120
+ <?php endif; ?>
121
+ </a>
122
+ </div>
123
+ <?php
124
+ return ob_get_clean();
125
+ }
126
+
127
+ function init() {
128
+ add_action('wp_enqueue_scripts', array($this, 'add_js'));
129
+ add_action('wp_head', array($this, 'add_frontend_css'), 200);
130
+ add_action('wp_footer', array($this, 'add_box'));
131
+ add_filter('qlwapp_box_display', array($this, 'box_display'));
132
+ add_shortcode('whatsapp', array($this, 'do_shortcode'));
133
+ }
134
+
135
+ public static function instance() {
136
+ if (!isset(self::$instance)) {
137
+ self::$instance = new self();
138
+ self::$instance->init();
139
+ }
140
+ return self::$instance;
141
+ }
142
+
143
+ }
144
+
145
+ QLWAPP_Frontend::instance();
146
+ }
4.2.2/includes/pages/box.php ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Disable', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[box][enable]" class="qlwapp-select2">
10
+ <option value="yes" <?php selected($qlwapp['box']['enable'], 'yes'); ?>><?php esc_html_e('Enable contact box', 'qlwapp'); ?></option>
11
+ <option value="no" <?php selected($qlwapp['box']['enable'], 'no'); ?>><?php esc_html_e('Disable contact box', 'qlwapp'); ?></option>
12
+ </select>
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <th scope="row"><?php esc_html_e('Header', 'qlwapp'); ?></th>
17
+ <td>
18
+ <?php wp_editor($qlwapp['box']['header'], 'qlwapp_box_header', ['editor_height' => 200, 'textarea_name' => esc_attr(QLWAPP_DOMAIN) . '[box][header]']); ?>
19
+ </td>
20
+ </tr>
21
+ <tr>
22
+ <th scope="row"><?php esc_html_e('Footer', 'qlwapp'); ?></th>
23
+ <td>
24
+ <?php wp_editor($qlwapp['box']['footer'], 'qlwapp_box_footer', ['editor_height' => 200, 'textarea_name' => esc_attr(QLWAPP_DOMAIN) . '[box][footer]']); ?>
25
+ </td>
26
+ </tr>
27
+ <tr>
28
+ <th scope="row"><?php esc_html_e('Response', 'qlwapp'); ?></th>
29
+ <td>
30
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[chat][response]'); ?>" placeholder="<?php echo esc_html($this->defaults['chat']['response']); ?>" value="<?php echo esc_attr($qlwapp['chat']['response']); ?>" class="qlwapp-input"/>
31
+ <p class="description"><?php esc_html_e('Write a response text.', 'qlwapp'); ?></p>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th scope="row">
36
+ <?php esc_html_e('Contacts', 'qlwapp'); ?>
37
+ </th>
38
+ <td>
39
+ <table id="qlwapp-contact-form" class="form-table widefat hidden" data-editindex="-1">
40
+ <?php $this->contact_table(); ?>
41
+ <tfoot>
42
+ <tr>
43
+ <td colspan="2">
44
+ <?php submit_button(esc_html__('Save Contact', 'qlwapp'), 'primary', null, false, array('id' => 'btn-save-contact')); ?>
45
+ <span class="spinner"></span>
46
+ </td>
47
+ </tr>
48
+ <tfoot>
49
+ </table>
50
+ <div class="submit qlwapp-premium-field">
51
+ <?php submit_button(esc_html__('Add Contact', 'qlwapp'), 'secondary', null, false, array('id' => 'btn-add-contact')); ?>
52
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
53
+ </div>
54
+ <table id="qlwapp-contacts-table" class="form-table widefat striped">
55
+ <thead>
56
+ <tr>
57
+ <td><b><?php esc_html_e('Avatar', 'qlwapp'); ?></b></td>
58
+ <td><b><?php esc_html_e('Phone', 'qlwapp'); ?></b></td>
59
+ <td><b><?php esc_html_e('Name', 'qlwapp'); ?></b></td>
60
+ <td><b><?php esc_html_e('Label', 'qlwapp'); ?></b></td>
61
+ <td><b><?php esc_html_e('Message', 'qlwapp'); ?></b></td>
62
+ <td><b><?php esc_html_e('Chat', 'qlwapp'); ?></b></td>
63
+ <td><b><?php esc_html_e('Actions', 'qlwapp'); ?></b></td>
64
+ </tr>
65
+ </thead>
66
+ <tbody>
67
+ </tbody>
68
+ </table>
69
+ </td>
70
+ </tr>
71
+ </tbody>
72
+ </table>
73
+ <?php submit_button() ?>
74
+ </form>
75
+ <script>
76
+ (function($) {
77
+ let qlwapp_contacts = <?php echo json_encode($qlwapp['contacts']) ?>;
78
+ let tableBody = document.querySelector('#qlwapp-contacts-table tbody');
79
+ $(document).on('click', '#btn-edit-contact', function() {
80
+ esc_html_edit_contact(this.dataset.cid);
81
+ return false;
82
+ });
83
+ $('#btn-save-contact').click(function(e) {
84
+ e.preventDefault();
85
+ let contact = {
86
+
87
+ firstname: $('#qlwapp-contact-form #cfirstname').val(),
88
+ lastname: $('#qlwapp-contact-form #clastname').val(),
89
+ phone: $('#qlwapp-contact-form #cphone').val(),
90
+ label: $('#qlwapp-contact-form #clabel').val(),
91
+ message: $('#qlwapp-contact-form #cmessage').val(),
92
+ chat: $('#qlwapp-contact-form .cchat:checked').val(),
93
+ avatar: $('#qlwapp-contact-form #cavatar').val()
94
+ }
95
+
96
+ let index = document.querySelector('#qlwapp-contact-form').dataset.editindex;
97
+ if (index != '-1') {
98
+ qlwapp_contacts[parseInt(index)] = contact;
99
+ } else {
100
+ qlwapp_contacts.push(contact);
101
+ }
102
+ qlwapp_show_contacts();
103
+ $('#qlwapp-contact-form').slideToggle();
104
+ return false;
105
+ });
106
+ $(document).on('click', '#btn-delete-contact', function () {
107
+ let index = this.dataset.cid;
108
+ if (!qlwapp_contacts[index])
109
+ return false;
110
+ qlwapp_contacts.splice(index, 1);
111
+ qlwapp_show_contacts();
112
+ return false;
113
+ });
114
+ function qlwapp_show_contacts() {
115
+ tableBody.innerHTML = '';
116
+ let i = 0;
117
+ for (let contact of qlwapp_contacts) {
118
+ let tr = document.createElement('tr');
119
+ tr.dataset.cid = i;
120
+ let td1 = document.createElement('td');
121
+ let td2 = document.createElement('td');
122
+ let td3 = document.createElement('td');
123
+ let td4 = document.createElement('td');
124
+ let td5 = document.createElement('td');
125
+ let td6 = document.createElement('td');
126
+ let tda = document.createElement('td');
127
+ let avatar = contact.avatar ? contact.avatar : 'https://www.gravatar.com/avatar/00000000000000000000000000000000';
128
+ //td0.innerHTML = (i + 1);
129
+ tda.innerHTML = '<img class="qlwapp-avatar" src="' + avatar + '" alt="" width="100" height="100" />' +
130
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][avatar]" value="' + avatar + '" />';
131
+ td1.innerHTML = contact.phone +
132
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][phone]" value="' + contact.phone + '" />';
133
+ td2.innerHTML = contact.firstname + ' ' + contact.lastname +
134
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][firstname]" value="' + contact.firstname + '" />' +
135
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][lastname]" value="' + contact.lastname + '" />';
136
+ td3.innerHTML = contact.label +
137
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][label]" value="' + contact.label + '" />';
138
+ td4.innerHTML = contact.message +
139
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][message]" value="' + contact.message + '" />';
140
+ td5.innerHTML = (Number(contact.chat) ? 'Enabled' : 'Disabled') +
141
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][chat]" value="' + Number(contact.chat) + '" />';
142
+ td6.innerHTML = '<a href="javascript:;" id="btn-delete-contact" data-cid="' + i + '">Remove</a> | ' +
143
+ '<a href="javascript:;" id="btn-edit-contact" data-cid="' + i + '">Edit</a>';
144
+ //tr.appendChild(td0);
145
+ tr.appendChild(tda);
146
+ tr.appendChild(td1);
147
+ tr.appendChild(td2);
148
+ tr.appendChild(td3);
149
+ tr.appendChild(td4);
150
+ tr.appendChild(td5);
151
+ tr.appendChild(td6);
152
+ tableBody.appendChild(tr);
153
+ i++;
154
+ }
155
+ }
156
+
157
+ function esc_html_edit_contact(index) {
158
+ let contact = qlwapp_contacts[index] || null;
159
+ if (!contact)
160
+ return false;
161
+ document.querySelector('#qlwapp-contact-form').dataset.editindex = index;
162
+ $('#qlwapp-contact-form #cfirstname').val(contact.firstname);
163
+ $('#qlwapp-contact-form #clastname').val(contact.lastname);
164
+ $('#qlwapp-contact-form #cphone').val(contact.phone);
165
+ $('#qlwapp-contact-form #clabel').val(contact.label);
166
+ $('#qlwapp-contact-form .cchat[value="1"]').attr('checked', contact.chat);
167
+ $('#qlwapp-contact-form .cchat[value="0"]').attr('checked', !contact.chat);
168
+ $('#qlwapp-contact-form #cmessage').val(contact.message);
169
+ $('#qlwapp-contact-form #cavatar').val(contact.avatar);
170
+ $('#qlwapp-contact-form #cavatar-img').attr('src', contact.avatar);
171
+ $('#qlwapp-contact-form').slideToggle();
172
+ }
173
+ qlwapp_show_contacts();
174
+ })(jQuery);
175
+ </script>
4.2.2/includes/pages/button.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Layout', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][layout]" class="qlwapp-select2">
10
+ <option value="button" <?php selected($qlwapp['button']['layout'], 'button'); ?>><?php esc_html_e('Button', 'qlwapp'); ?></option>
11
+ <option value="bubble" <?php selected($qlwapp['button']['layout'], 'bubble'); ?>><?php esc_html_e('Bubble', 'qlwapp'); ?></option>
12
+ </select>
13
+ <p class="description"><?php esc_html_e('Switch to change the button layout.', 'qlwapp'); ?></p>
14
+ </td>
15
+ </tr>
16
+ <tr>
17
+ <th scope="row"><?php esc_html_e('Rounded', 'qlwapp'); ?></th>
18
+ <td>
19
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][rounded]" class="qlwapp-select2">
20
+ <option value="yes" <?php selected($qlwapp['button']['rounded'], 'yes'); ?>><?php esc_html_e('Add rounded border', 'qlwapp'); ?></option>
21
+ <option value="no" <?php selected($qlwapp['button']['rounded'], 'no'); ?>><?php esc_html_e('Remove rounded border', 'qlwapp'); ?></option>
22
+ </select>
23
+ <p class="description"><?php esc_html_e('Add rounded border to the button.', 'qlwapp'); ?></p>
24
+ </td>
25
+ </tr>
26
+ <tr>
27
+ <th scope="row"><?php esc_html_e('Position', 'qlwapp'); ?></th>
28
+ <td>
29
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][position]" class="qlwapp-select2">
30
+ <option value="middle-left" <?php selected($qlwapp['button']['position'], 'middle-left'); ?>><?php esc_html_e('Middle Left', 'qlwapp'); ?></option>
31
+ <option value="middle-right" <?php selected($qlwapp['button']['position'], 'middle-right'); ?>><?php esc_html_e('Middle Right', 'qlwapp'); ?></option>
32
+ <option value="bottom-left" <?php selected($qlwapp['button']['position'], 'bottom-left'); ?>><?php esc_html_e('Bottom Left', 'qlwapp'); ?></option>
33
+ <option value="bottom-right" <?php selected($qlwapp['button']['position'], 'bottom-right'); ?>><?php esc_html_e('Bottom Right', 'qlwapp'); ?></option>
34
+ </select>
35
+ <p class="description"><?php esc_html_e('Switch to change the button position.', 'qlwapp'); ?></p>
36
+ </td>
37
+ </tr>
38
+ <tr>
39
+ <th scope="row"><?php esc_html_e('Text', 'qlwapp'); ?></th>
40
+ <td>
41
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][text]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['text']); ?>" value="<?php echo esc_attr($qlwapp['button']['text']); ?>" class="qlwapp-input"/>
42
+ <p class="description"><?php esc_html_e('Customize your text.', 'qlwapp'); ?></p>
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <th scope="row"><?php esc_html_e('Phone', 'qlwapp'); ?></th>
47
+ <td>
48
+ <input type="tel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['phone']); ?>" value="<?php echo esc_attr($qlwapp['button']['phone']); ?>" class="qlwapp-input"/>
49
+ <p class="description"><?php esc_html_e('Full phone number in international format.', 'qlwapp'); ?></p>
50
+
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <th scope="row"><?php esc_html_e('Icon', 'qlwapp'); ?></th>
55
+ <td>
56
+ <div class="submit qlwapp-premium-field">
57
+ <?php submit_button(__('Add Icon', 'qlwapp'), 'secondary', null, false, array('id' => 'btn-add-icon')); ?>
58
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
59
+ </div>
60
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][icon]" placeholder="<?php echo esc_html($this->defaults['button']['icon']); ?>" value="<?php echo esc_attr($qlwapp['button']['icon']); ?>" class="qlwapp-input"/>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <th scope="row"><?php esc_html_e('Message', 'qlwapp'); ?></th>
65
+ <td>
66
+ <textarea maxlength="500" style="width:100%;height: 100px;padding: 8px;" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[user][message]" placeholder="<?php echo esc_html($this->defaults['user']['message']); ?>" ><?php echo esc_html(trim($qlwapp['user']['message'])); ?></textarea>
67
+ <p class="description"><?php esc_html_e('Message that will automatically appear in the text field of a chat.', 'qlwapp'); ?></p>
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <th scope="row"><?php esc_html_e('Discreet link', 'qlwapp'); ?></th>
72
+ <td>
73
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][developer]" class="qlwapp-select2">
74
+ <option value="yes" <?php selected($qlwapp['button']['developer'], 'yes'); ?>><?php esc_html_e('Show developer link', 'qlwapp'); ?></option>
75
+ <option value="no" <?php selected($qlwapp['button']['developer'], 'no'); ?>><?php esc_html_e('Hide developer link', 'qlwapp'); ?></option>
76
+ </select>
77
+ <p class="description"><?php esc_html_e('Leave a discrete link to developer to help and keep new updates and support.', 'qlwapp'); ?></p>
78
+ </td>
79
+ </tr>
80
+ </tbody>
81
+ </table>
82
+ <?php submit_button() ?>
83
+ </form>
4.2.2/includes/pages/colors.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Background', 'qlwapp'); ?></th>
8
+ <td>
9
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][brand]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['brand']); ?>" />
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <th scope="row"><?php esc_html_e('Color', 'qlwapp'); ?></th>
14
+ <td>
15
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][text]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['text']); ?>" />
16
+ </td>
17
+ </tr>
18
+ <tr class="qlwapp-premium-field">
19
+ <th scope="row"><?php esc_html_e('Link', 'qlwapp'); ?></th>
20
+ <td>
21
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][link]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['link']); ?>" />
22
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
23
+ </td>
24
+ </tr>
25
+ <tr class="qlwapp-premium-field">
26
+ <th scope="row"><?php esc_html_e('Message', 'qlwapp'); ?></th>
27
+ <td>
28
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][message]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['message']); ?>" />
29
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
30
+ </td>
31
+ </tr>
32
+ <tr class="qlwapp-premium-field">
33
+ <th scope="row"><?php esc_html_e('Label', 'qlwapp'); ?></th>
34
+ <td>
35
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][label]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['label']); ?>" />
36
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
37
+ </td>
38
+ </tr>
39
+ <tr class="qlwapp-premium-field">
40
+ <th scope="row"><?php esc_html_e('Name', 'qlwapp'); ?></th>
41
+ <td>
42
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][name]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['name']); ?>" />
43
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
44
+ </td>
45
+ </tr>
46
+ </tbody>
47
+ </table>
48
+ <?php submit_button() ?>
49
+ </form>
4.2.2/includes/pages/display.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Devices', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[display][devices]" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr('Posts', 'qlwapp'); ?>" class="qlwapp-select2">
10
+ <option value="all" <?php selected('all', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in all devices', 'qlwapp'); ?></option>
11
+ <option value="mobile" <?php selected('mobile', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in mobile devices', 'qlwapp'); ?></option>
12
+ <option value="desktop" <?php selected('desktop', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in desktop devices', 'qlwapp'); ?></option>
13
+ <option value="hide" <?php selected('hide', $qlwapp['display']['devices']); ?>><?php esc_html_e('Hide in all devices', 'qlwapp'); ?></option>
14
+ </select>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <th scope="row"><?php esc_html_e('Target', 'qlwapp'); ?></th>
19
+ <td>
20
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][target][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr('Posts', 'qlwapp'); ?>" class="qlwapp-select2">
21
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
22
+ <option value="home" <?php echo selected(true, in_array('home', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Home', 'qlwapp'); ?></option>
23
+ <option value="blog" <?php echo selected(true, in_array('blog', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Blog', 'qlwapp'); ?></option>
24
+ <option value="search" <?php echo selected(true, in_array('search', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Search', 'qlwapp'); ?></option>
25
+ <option value="error" <?php echo selected(true, in_array('error', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html('404'); ?></option>
26
+ </select>
27
+ <p class="description"><?php esc_html_e('If you select an option all the other will be excluded', 'qlwapp'); ?></p>
28
+ </td>
29
+ </tr>
30
+ <?php
31
+ foreach (get_post_types(array('public' => true, 'show_in_nav_menus' => true), 'objects') as $type) {
32
+
33
+ if (!isset($qlwapp['display'][$type->name])) {
34
+ $qlwapp['display'][$type->name] = array();
35
+ }
36
+
37
+ $posts = get_posts(array(
38
+ 'post_type' => $type->name,
39
+ 'post_status' => 'publish',
40
+ 'numberposts' => 10
41
+ ));
42
+
43
+ if ($count = wp_count_posts($type->name)) {
44
+ ?>
45
+ <tr class="qlwapp-premium-field">
46
+ <th scope="row"><?php esc_html_e(ucwords($type->label)); ?></th>
47
+ <td>
48
+ <select id="qlwapp_select2_<?php echo esc_attr($type->name); ?>" multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $type->name . '][]'); ?>" style="width:350px" data-placeholder="<?php printf(esc_html__('Select for %s&hellip;', 'qlwapp'), $type->label); ?>" aria-label="<?php echo esc_attr($type->label); ?>" data-name="<?php echo esc_attr($type->name); ?>" class="<?php echo esc_attr($count->publish < 11 ? 'qlwapp-select2' : 'qlwapp-select2-ajax' ); ?>">
49
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
50
+ <option value="archive" <?php echo selected(true, in_array('archive', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Archive', 'qlwapp'); ?></option>
51
+ <?php
52
+ if ($count->publish < 11) {
53
+
54
+ foreach ($posts as $post) {
55
+ ?>
56
+ <option value="<?php echo esc_attr($post->post_name); ?>" <?php echo selected(true, in_array($post->post_name, (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html($post->post_title); ?></option>
57
+ <?php
58
+ }
59
+ }
60
+
61
+ if (isset($qlwapp['display'][$type->name]) && count($qlwapp['display'][$type->name])) {
62
+ foreach ($qlwapp['display'][$type->name] as $id => $slug) {
63
+ if ($post = get_page_by_path($slug)) {
64
+ ?>
65
+ <option value="<?php echo esc_attr($slug); ?>" selected="selected"><?php echo esc_html(mb_substr($post->post_title, 0, 49)); ?></option>
66
+ <?php
67
+ }
68
+ }
69
+ }
70
+ ?>
71
+ </select>
72
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
73
+ </td>
74
+ </tr>
75
+ <?php
76
+ }
77
+ }
78
+ ?>
79
+ <?php
80
+ foreach ($taxonomies = get_taxonomies(array('public' => true), 'objects') as $taxonomy) {
81
+
82
+ if (!isset($qlwapp['display'][$taxonomy->name])) {
83
+ $qlwapp['display'][$taxonomy->name] = array();
84
+ }
85
+
86
+ $terms = get_terms(array(
87
+ 'taxonomy' => $taxonomy->name,
88
+ 'hide_empty' => false,
89
+ ));
90
+
91
+ if (count($terms)) {
92
+ ?>
93
+ <tr>
94
+ <th scope="row"><?php esc_html_e(ucwords($taxonomy->label)); ?></th>
95
+ <td>
96
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $taxonomy->name . '][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr($taxonomy->label); ?>" class="qlwapp-select2">
97
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
98
+ <?php
99
+ foreach ($terms as $term) {
100
+ ?>
101
+ <option value="<?php echo esc_attr($term->slug); ?>" <?php echo selected(true, in_array($term->slug, (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html($term->name); ?></option>
102
+ <?php
103
+ }
104
+ ?>
105
+ </select>
106
+ </td>
107
+ </tr>
108
+ <?php
109
+ }
110
+ }
111
+ ?>
112
+ </tbody>
113
+ </table>
114
+ <?php submit_button() ?>
115
+ </form>
4.2.2/includes/pages/purchase.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <div class="two-col">
3
+ <div class="col" style="min-width: 60%;">
4
+ <div class="welcome-header">
5
+ <h1><?php esc_html_e('Premium', 'qlwapp'); ?></h1>
6
+ <div class="about-description">
7
+ <?php esc_html_e('Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site.', 'qlwapp'); ?>
8
+ </div>
9
+ <br/>
10
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLWAPP_PURCHASE_URL); ?>"><?php esc_html_e('Purchase Now', 'qlwapp'); ?></a>
11
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLWAPP_SUPPORT_URL); ?>"><?php esc_html_e('Get Support', 'qlwapp'); ?></a>
12
+ </div>
13
+ <hr/>
14
+ <div class="feature-section">
15
+ <h3><?php esc_html_e('Multiple agents', 'qlwapp'); ?></h3>
16
+ <p>
17
+ <?php esc_html_e('WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site.', 'qlwapp'); ?>
18
+ </p>
19
+ </div>
20
+ <div class="feature-section">
21
+ <h3><?php esc_html_e('Customize colors', 'qlwapp'); ?></h3>
22
+ <p>
23
+ <?php esc_html_e('Customize the colors to match site’s theme colors through the WordPress live customizer interface.', 'qlwapp'); ?>
24
+ </p>
25
+ </div>
26
+ <div class="feature-section">
27
+ <h3><?php esc_html_e('Custom icons', 'qlwapp'); ?></h3>
28
+ <p>
29
+ <?php esc_html_e('Our plugin allows you to select between more than fourty icons to include in your Whatsapp button.', 'qlwapp'); ?>
30
+ </p>
31
+ </div>
32
+ </div>
33
+ <div class="col" style="max-width: 33%;min-width: 33%;">
34
+ <img src="<?php echo plugins_url('/assets/img/box1.png', QLWAPP_PLUGIN_FILE); ?>">
35
+ </div>
36
+ </div>
37
+ <br/>
38
+ <br/>
39
+ <div class="two-col">
40
+ <div class="col" style="max-width: 33%;min-width: 33%;">
41
+ <img src="<?php echo plugins_url('/assets/img/box2.png', QLWAPP_PLUGIN_FILE); ?>">
42
+ </div>
43
+ <div class="col" style="min-width: 60%;">
44
+ <br/>
45
+ <div class="welcome-header">
46
+ <h1><?php esc_html_e('Chatbox interface', 'qlwapp'); ?></h1>
47
+ <div class="about-description">
48
+ <?php esc_html_e('WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message.', 'qlwapp'); ?>
49
+ <?php //esc_html_e('Take in mind that this chat dosent allow .', 'qlwapp'); ?>
50
+ </div>
51
+ </div>
52
+ <hr/>
53
+ <div class="feature-section">
54
+ <h3><?php esc_html_e('Custom agent message', 'qlwapp'); ?></h3>
55
+ <p>
56
+ <?php esc_html_e('Allow you to set a custom message for each agent that will displayed on the chatbox.', 'qlwapp'); ?>
57
+ </p>
58
+ </div>
59
+ <div class="feature-section">
60
+ <h3><?php esc_html_e('Custom user message', 'qlwapp'); ?></h3>
61
+ <p>
62
+ <?php esc_html_e('You can choose the predefined user message that will be sent to the agent phone number.', 'qlwapp'); ?>
63
+ </p>
64
+ </div>
65
+ <div class="feature-section">
66
+ <h3><?php esc_html_e('Type user message', 'qlwapp'); ?></h3>
67
+ <p>
68
+ <?php esc_html_e('Allow your users to type their own messages before send it to the agent phone number.', 'qlwapp'); ?>
69
+ </p>
70
+ </div>
71
+ </div>
72
+ </div>
4.2.2/includes/pages/welcome.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="two-col">
2
+ <div class="col" style="min-width: 60%;">
3
+ <div class="qlwapp-welcome-header">
4
+ <h1><?php echo QLWAPP_PLUGIN_NAME; ?> <span style="font-size: 24px;color: #555;">v<?php echo QLWAPP_PLUGIN_VERSION; ?></span></h1>
5
+ <div class="about-text">
6
+ <?php esc_html_e('Hello we\'re QuadLayers! We\'ve recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues.', 'qlwapp'); ?>
7
+ </div>
8
+ </div>
9
+ <hr/>
10
+ <div class="feature-section one-col is-wide wp-clearfix">
11
+ <h3><?php esc_html_e('Community', 'qlwapp'); ?></h3>
12
+ <p>
13
+ <?php esc_html_e('If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now.', 'qlwapp'); ?>
14
+ </p>
15
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_GROUP_URL; ?>"><?php esc_html_e('Join us', 'qlwapp'); ?></a>
16
+ </div>
17
+ <div class="feature-section one-col is-wide wp-clearfix">
18
+ <h3><?php esc_html_e('Demo', 'qlwapp'); ?></h3>
19
+ <p>
20
+ <?php esc_html_e('Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version.', 'qlwapp'); ?>
21
+ </p>
22
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_DEMO_URL; ?>"><?php esc_html_e('View demo', 'qlwapp'); ?></a>
23
+ </div>
24
+ <div class="feature-section one-col is-wide wp-clearfix">
25
+ <h3><?php esc_html_e('Support', 'qlwapp'); ?></h3>
26
+ <p>
27
+ <?php esc_html_e('If you have any doubt or you find any issue don\'t hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users.', 'qlwapp'); ?>
28
+ </p>
29
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_SUPPORT_URL; ?>"><?php esc_html_e('Submit ticket', 'qlwapp'); ?></a>
30
+ </div>
31
+ </div>
32
+ <div class="col" style="max-width: 33%;min-width: 33%;">
33
+ <img src="<?php echo plugins_url('/assets/img/box1.png', QLWAPP_PLUGIN_FILE); ?>">
34
+ </div>
35
+ </div>
4.2.2/includes/settings.php ADDED
@@ -0,0 +1,473 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH'))
3
+ exit;
4
+
5
+ if (!class_exists('QLWAPP_Settings')) {
6
+
7
+ class QLWAPP_Settings extends QLWAPP_Options {
8
+
9
+ protected static $instance;
10
+
11
+ function ajax_dismiss_notice() {
12
+
13
+ if ($notice_id = ( isset($_POST['notice_id']) ) ? sanitize_key($_POST['notice_id']) : '') {
14
+
15
+ update_user_meta(get_current_user_id(), $notice_id, true);
16
+
17
+ wp_send_json($notice_id);
18
+ }
19
+
20
+ wp_die();
21
+ }
22
+
23
+ function add_action_links($links) {
24
+
25
+ $links[] = '<a target="_blank" href="' . QLWAPP_PURCHASE_URL . '">' . esc_html__('Premium', 'qlwapp') . '</a>';
26
+
27
+ $links[] = '<a href="' . admin_url('admin.php?page=' . QLWAPP_DOMAIN) . '">' . esc_html__('Settings', 'qlwapp') . '</a>';
28
+
29
+ return $links;
30
+ }
31
+
32
+ function ajax_get_posts() {
33
+
34
+ $data = array(
35
+ array('none', esc_html__('Exclude from all', 'qlwapp'))
36
+ );
37
+
38
+ $posts = get_posts(array(
39
+ 's' => $_GET['q'],
40
+ 'post_type' => $_GET['name'],
41
+ 'post_status' => 'publish',
42
+ 'ignore_sticky_posts' => 1,
43
+ 'posts_per_page' => 10
44
+ ));
45
+
46
+ foreach ($posts as $post) {
47
+ $data[] = array($post->post_name, mb_substr($post->post_title, 0, 49));
48
+ }
49
+
50
+ wp_send_json($data);
51
+
52
+ wp_die();
53
+ }
54
+
55
+ function add_menu() {
56
+ add_menu_page(QLWAPP_PLUGIN_NAME, QLWAPP_PLUGIN_NAME, 'manage_options', QLWAPP_DOMAIN, array($this, 'settings_welcome'), 'dashicons-format-chat');
57
+ add_submenu_page(QLWAPP_DOMAIN, __('Welcome', 'qlwapp'), esc_html__('Welcome', 'qlwapp'), 'manage_options', QLWAPP_DOMAIN, array($this, 'settings_welcome'));
58
+ add_submenu_page(QLWAPP_DOMAIN, __('Button', 'qlwapp'), esc_html__('Button', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_button', array($this, 'settings_button'));
59
+ add_submenu_page(QLWAPP_DOMAIN, __('Box', 'qlwapp'), esc_html__('Box', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_box', array($this, 'settings_box'));
60
+ add_submenu_page(QLWAPP_DOMAIN, __('Display', 'qlwapp'), esc_html__('Display', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_display', array($this, 'settings_display'));
61
+ add_submenu_page(QLWAPP_DOMAIN, __('Colors', 'qlwapp'), esc_html__('Colors', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_colors', array($this, 'settings_colors'));
62
+ add_submenu_page(QLWAPP_DOMAIN, __('Premium', 'qlwapp'), sprintf('<i class="dashicons dashicons-awards"></i> %s', __('Premium', 'qlwapp')), 'edit_posts', QLWAPP_DOMAIN . '_purchase', array($this, 'settings_purchase'));
63
+ }
64
+
65
+ function settings_header() {
66
+
67
+ global $submenu;
68
+
69
+ if (isset($submenu[QLWAPP_DOMAIN])) {
70
+ $welcome_menu_items = $submenu[QLWAPP_DOMAIN];
71
+ }
72
+
73
+ if (is_array($welcome_menu_items)) {
74
+ ?>
75
+ <div class="wrap about-wrap full-width-layout qlwrap">
76
+
77
+ <h1><?php esc_html_e('WhatsApp Chat', 'qlwapp'); ?></h1>
78
+
79
+ <p class="about-text"><?php esc_html_e('Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users.', 'qlwapp'); ?></p>
80
+
81
+ <p class="about-text">
82
+ <?php printf('<a href="%s" target="_blank">%s</a>', QLWAPP_DEMO_URL, esc_html__('Check out our demo', 'qlwapp')); ?></a>
83
+ </p>
84
+
85
+ <?php printf('<a href="%s" target="_blank"><div style="
86
+ background: #006bff url(%s) no-repeat;
87
+ background-position: top center;
88
+ background-size: 130px 130px;
89
+ color: #fff;
90
+ font-size: 14px;
91
+ text-align: center;
92
+ font-weight: 600;
93
+ margin: 5px 0 0;
94
+ padding-top: 120px;
95
+ height: 40px;
96
+ display: inline-block;
97
+ width: 140px;
98
+ position: absolute;
99
+ top: 0;
100
+ right: 0;
101
+ " class="ql-badge">%s</div></a>', 'https://quadlayers.com/?utm_source=qlwapp_admin', plugins_url('/assets/img/quadlayers.jpg', QLWAPP_PLUGIN_FILE), esc_html__('QuadLayers', 'qlwapp')); ?>
102
+
103
+ </div>
104
+ <div class="wrap about-wrap full-width-layout qlwrap">
105
+ <h2 class="nav-tab-wrapper">
106
+ <?php
107
+ foreach ($welcome_menu_items as $welcome_menu_item) {
108
+ if (strpos($welcome_menu_item[2], '.php') !== false)
109
+ continue;
110
+ ?>
111
+ <a href="<?php echo admin_url('admin.php?page=' . esc_attr($welcome_menu_item[2])); ?>" class="nav-tab<?php echo (isset($_GET['page']) && $_GET['page'] == $welcome_menu_item[2]) ? ' nav-tab-active' : ''; ?>"><?php echo $welcome_menu_item[0]; ?></a>
112
+ <?php
113
+ }
114
+ ?>
115
+ </h2>
116
+ </div>
117
+ <?php
118
+ }
119
+ }
120
+
121
+ function settings_sanitize($settings) {
122
+
123
+ if (isset($settings['button']['layout'])) {
124
+ $settings['button']['layout'] = sanitize_html_class($settings['button']['layout']);
125
+ }
126
+ if (isset($settings['button']['position'])) {
127
+ $settings['button']['position'] = sanitize_html_class($settings['button']['position']);
128
+ }
129
+ if (isset($settings['button']['text'])) {
130
+ $settings['button']['text'] = sanitize_text_field($settings['button']['text']);
131
+ }
132
+ if (isset($settings['button']['icon'])) {
133
+ $settings['button']['icon'] = sanitize_html_class($settings['button']['icon']);
134
+ }
135
+ if (isset($settings['box']['header'])) {
136
+ $settings['box']['header'] = wp_kses_post($settings['box']['header']);
137
+ }
138
+ if (isset($settings['box']['footer'])) {
139
+ $settings['box']['footer'] = wp_kses_post($settings['box']['footer']);
140
+ }
141
+ if (isset($settings['contacts'])) {
142
+ if (count($settings['contacts'])) {
143
+ foreach ($settings['contacts'] as $id => $c) {
144
+ $settings['contacts'][$id]['chat'] = boolval($settings['contacts'][$id]['chat']);
145
+ $settings['contacts'][$id]['avatar'] = sanitize_text_field($settings['contacts'][$id]['avatar']);
146
+ $settings['contacts'][$id]['phone'] = sanitize_text_field($settings['contacts'][$id]['phone']);
147
+ $settings['contacts'][$id]['firstname'] = sanitize_text_field($settings['contacts'][$id]['firstname']);
148
+ $settings['contacts'][$id]['lastname'] = sanitize_text_field($settings['contacts'][$id]['lastname']);
149
+ $settings['contacts'][$id]['label'] = sanitize_text_field($settings['contacts'][$id]['label']);
150
+ $settings['contacts'][$id]['message'] = wp_kses_post($settings['contacts'][$id]['message']);
151
+ //$settings['contacts'][$id]['message'] = stripslashes($settings['contacts'][$id]['message']);
152
+ }
153
+ }
154
+ }
155
+
156
+ return $settings;
157
+ }
158
+
159
+ function add_settings_register() {
160
+ register_setting(sanitize_key(QLWAPP_DOMAIN . '-group'), sanitize_key(QLWAPP_DOMAIN), array($this, 'settings_sanitize'));
161
+ }
162
+
163
+ function settings_welcome() {
164
+
165
+ global $qlwapp;
166
+ ?>
167
+ <?php $this->settings_header(); ?>
168
+ <div class="wrap about-wrap full-width-layout qlwrap">
169
+ <?php include_once('pages/welcome.php'); ?>
170
+ </div>
171
+ <?php
172
+ }
173
+
174
+ function settings_button() {
175
+
176
+ global $qlwapp;
177
+ ?>
178
+ <?php $this->settings_header(); ?>
179
+ <div class="wrap about-wrap full-width-layout qlwrap">
180
+ <?php include_once('pages/button.php'); ?>
181
+ </div>
182
+ <?php
183
+ }
184
+
185
+ function settings_box() {
186
+
187
+ global $qlwapp;
188
+ ?>
189
+ <?php $this->settings_header(); ?>
190
+ <div class="wrap about-wrap full-width-layout qlwrap">
191
+ <?php include_once('pages/box.php'); ?>
192
+ </div>
193
+ <?php
194
+ }
195
+
196
+ function settings_display() {
197
+
198
+ global $qlwapp;
199
+ ?>
200
+ <?php $this->settings_header(); ?>
201
+ <div class="wrap about-wrap full-width-layout qlwrap">
202
+ <?php include_once('pages/display.php'); ?>
203
+ </div>
204
+ <?php
205
+ }
206
+
207
+ function settings_colors() {
208
+
209
+ global $qlwapp;
210
+ ?>
211
+ <?php $this->settings_header(); ?>
212
+ <div class="wrap about-wrap full-width-layout qlwrap">
213
+ <?php include_once('pages/colors.php'); ?>
214
+ </div>
215
+ <?php
216
+ }
217
+
218
+ function settings_purchase() {
219
+
220
+ global $qlwapp;
221
+ ?>
222
+ <?php $this->settings_header(); ?>
223
+ <div class="wrap about-wrap full-width-layout qlwrap">
224
+ <?php include_once('pages/purchase.php'); ?>
225
+ </div>
226
+ <?php
227
+ }
228
+
229
+ function settings_contacts() {
230
+ ?>
231
+ <table class="form-table widefat" id="qlwapp-contact-form" data-editindex="-1">
232
+ <?php $this->contact_table(); ?>
233
+ </table>
234
+ <?php
235
+ }
236
+
237
+ function contact_table($id = 0) {
238
+ global $qlwapp;
239
+ ?>
240
+ <tr>
241
+ <td>
242
+ <div class="upload">
243
+ <img id="cavatar-img" class="qlwapp-avatar" data-src="<?php echo stripslashes(esc_url($qlwapp['contacts'][$id]['avatar'])); ?>" src="<?php echo esc_url($qlwapp['contacts'][$id]['avatar']); ?>" />
244
+ <div>
245
+ <input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][avatar]'); ?>" id="cavatar" value="<?php echo esc_url($qlwapp['contacts'][$id]['avatar']); ?>" />
246
+ <button type="button" class="upload_image_button button"><?php esc_html_e('Upload', 'qlwapp'); ?></button>
247
+ <button type="button" class="remove_image_button button">&times;</button>
248
+ </div>
249
+ </div>
250
+ </td>
251
+ <td>
252
+ <table>
253
+ <tr>
254
+ <td><b><?php esc_html_e('Firstname', 'qlwapp'); ?></b></td>
255
+ <td><input type="text" id="cfirstname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][firstname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['firstname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['firstname']); ?>" /></td>
256
+ <td><b><?php esc_html_e('Lastname', 'qlwapp'); ?></b></td>
257
+ <td><input type="text" id="clastname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][lastname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['lastname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['lastname']); ?>" /></td>
258
+ </tr>
259
+ <tr>
260
+ <td><b><?php esc_html_e('Phone', 'qlwapp'); ?></b></td><td><input type="text" id="cphone" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['phone']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['phone']); ?>" /></td>
261
+ <td><b><?php esc_html_e('Label', 'qlwapp'); ?></b></td><td><input type="text" id="clabel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][label]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['label']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['label']); ?>" /></td>
262
+ </tr>
263
+ </table>
264
+ </td>
265
+ </tr>
266
+ <tr class="qlwapp-premium-field">
267
+ <td><b><?php esc_html_e('Chat', 'qlwapp'); ?></b></td>
268
+ <td>
269
+ <p>
270
+ <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="1" <?php echo checked(true, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Enabled', 'qlwapp'); ?></label>
271
+ <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="0" <?php echo checked(false, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Disabled', 'qlwapp'); ?></label>
272
+ </p>
273
+ </td>
274
+ </tr>
275
+ <tr class="qlwapp-premium-field">
276
+ <td colspan="2"><b><?php esc_html_e('Message', 'qlwapp'); ?></b></td>
277
+ </tr>
278
+ <tr class="qlwapp-premium-field">
279
+ <td colspan="2"><?php wp_editor($qlwapp['contacts'][$id]['message'], 'cmessage', ['tinymce' => false, 'editor_height' => 150, 'textarea_name' => esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][message]')]); ?></td>
280
+ </tr>
281
+ <?php
282
+ }
283
+
284
+ function add_print_media_templates() {
285
+ ?>
286
+ <script type="text/html" id='tmpl-qlwapp-modal-backdrop'>
287
+ <div class="media-modal-backdrop">&nbsp;</div>
288
+ </script>
289
+ <script type="text/html" id='tmpl-qlwapp-modal-window'>
290
+ <div id="qlwapp_modal" class="media-modal wp-core-ui">
291
+ <button type="button" class="media-modal-close close">
292
+ <span class="media-modal-icon">
293
+ <span class="screen-reader-text"><?php esc_html_e('Close media panel'); ?></span>
294
+ </span>
295
+ </button>
296
+ <div class="media-frame mode-select wp-core-ui hide-menu">
297
+ <div class="media-frame-title">
298
+ <h1><?php esc_html_e('WhatsApp Chat', 'qlwapp'); ?><span class="dashicons dashicons-arrow-down"></span></h1>
299
+ </div>
300
+ <div class="media-frame-router">
301
+ <div class="media-router">
302
+ <a href="#" class="media-menu-item active"><?php esc_html_e('Select icon', 'qlwapp'); ?></a>
303
+ </div>
304
+ </div>
305
+ <div class="media-modal-content">
306
+ <div class="media-frame mode-select wp-core-ui">
307
+ <div class="media-frame-menu">
308
+ <div class="media-menu">
309
+ <a href="#" class="media-menu-item active"><?php esc_html_e('Featured Image'); ?></a>
310
+ </div>
311
+ </div>
312
+ <div class="media-frame-content" data-columns="10">
313
+ <div class="attachments-browser">
314
+ <input type="hidden" id="qlwapp_icon" value="{{ data.icon }}">
315
+ <ul tabindex="-1" class="attachments">
316
+ <?php foreach (explode(',', 'qlwf-chat,qlwf-chat1,qlwf-chat2,qlwf-comments,qlwf-chat3,qlwf-bubble1,qlwf-chat-alt-fill,qlwf-chat-alt-stroke,qlwf-comment-alt2-fill,qlwf-comment-alt2-stroke,qlwf-comment-fill,qlwf-comment-stroke,qlwf-comment,qlwf-comment-alt1-stroke,qlwf-chat4,qlwf-comments1,qlwf-chat5,qlwf-comment1,qlwf-bubble,qlwf-bubbles,qlwf-bubbles2,qlwf-bubble2,qlwf-bubbles3,qlwf-bubbles4,qlwf-whatsapp,qlwf-chat6,qlwf-mode_comment,qlwf-insert_comment,qlwf-chat_bubble_outline,qlwf-chat_bubble,qlwf-bubble_chart,qlwf-comment2,qlwf-chat7,qlwf-commenting-o,qlwf-commenting,qlwf-comments-o,qlwf-comment-o,qlwf-wechat,qlwf-comments2,qlwf-comment3,qlwf-chat8,qlwf-chat-bubble-dots,qlwf-bubbles1,qlwf-bubble3') as $id => $icon) : ?>
317
+ <li tabindex="0" role="checkbox" aria-label="<?php echo esc_attr($icon); ?>" aria-checked="false" data-id="<?php echo esc_attr($id); ?>" class="attachment save-ready icon _<?php echo esc_attr(str_replace(' ', '_', trim($icon))); ?>">
318
+ <div class="attachment-preview js--select-attachment type-image subtype-jpeg landscape">
319
+ <div class="thumbnail">
320
+ <i class="<?php echo esc_attr($icon); ?>"></i>
321
+ </div>
322
+ </div>
323
+ <button type="button" class="check" tabindex="-1">
324
+ <span class="media-modal-icon"></span>
325
+ <span class="screen-reader-text"><?php esc_html_e('Deselect'); ?></span>
326
+ </button>
327
+ </li>
328
+ <?php endforeach; ?>
329
+ </ul>
330
+ </div>
331
+ </div>
332
+ <div class="media-frame-toolbar">
333
+ <div class="media-toolbar">
334
+ <div class="media-toolbar-secondary"></div>
335
+ <div class="media-toolbar-primary search-form">
336
+ <button type="button" class="button media-button button-large button-primary media-button-select save"><?php esc_html_e('Save'); ?></button>
337
+ <button type="button" class="button media-button button-large button-secondary remove"><?php esc_html_e('Remove'); ?></button>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ </script>
346
+ <?php
347
+ }
348
+
349
+ function filter_pre_update_option($value, $old_value, $option) {
350
+
351
+ global $qlwapp;
352
+
353
+ if (isset($value['display'])) {
354
+ unset($qlwapp['display']);
355
+ }
356
+
357
+ if (isset($value['contacts'])) {
358
+ unset($qlwapp['contacts']);
359
+ }
360
+
361
+ return $this->wp_parse_args($value, $qlwapp);
362
+ }
363
+
364
+ function add_notices() {
365
+
366
+ if (!get_transient('qlwapp-first-rating') && !get_user_meta(get_current_user_id(), 'qlwapp-user-rating', true)) {
367
+ ?>
368
+ <div id="qlwapp-admin-rating" class="qlwapp-notice notice is-dismissible" data-notice_id="qlwapp-user-rating">
369
+ <div class="notice-container" style="padding-top: 10px; padding-bottom: 10px; display: flex; justify-content: left; align-items: center;">
370
+ <div class="notice-image">
371
+ <img style="border-radius:50%;max-width: 90px;" src="<?php echo plugins_url('/assets/img/logo.jpg', QLWAPP_PLUGIN_FILE); ?>" alt="<?php echo esc_html(QLWAPP_PLUGIN_NAME); ?>>">
372
+ </div>
373
+ <div class="notice-content" style="margin-left: 15px;">
374
+ <p>
375
+ <?php printf(esc_html__('Hello! Thank you for choosing the %s plugin!', 'qlwapp'), QLWAPP_PLUGIN_NAME); ?>
376
+ <br/>
377
+ <?php esc_html_e('Could you please give it a 5-star rating on WordPress? We know its a big favor, but we\'ve worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product.', 'qlwapp'); ?>
378
+ </p>
379
+ <a href="<?php echo esc_url(QLWAPP_REVIEW_URL); ?>" class="button-primary" target="_blank">
380
+ <?php esc_html_e('Yes, of course!', 'qlwapp'); ?>
381
+ </a>
382
+ <a href="<?php echo esc_url(QLWAPP_SUPPORT_URL); ?>" class="button-secondary" target="_blank">
383
+ <?php esc_html_e('Report a bug', 'qlwapp'); ?>
384
+ </a>
385
+ </div>
386
+ </div>
387
+ </div>
388
+ <script>
389
+ (function ($) {
390
+ $('.qlwapp-notice').on('click', '.notice-dismiss', function (e) {
391
+ e.preventDefault();
392
+ var notice_id = $(e.delegateTarget).data('notice_id');
393
+ $.ajax({
394
+ type: 'POST',
395
+ url: ajaxurl,
396
+ data: {
397
+ notice_id: notice_id,
398
+ action: 'qlwapp_dismiss_notice',
399
+ },
400
+ success: function (response) {
401
+ console.log(response);
402
+ },
403
+ });
404
+ });
405
+ })(jQuery);
406
+ </script>
407
+ <?php
408
+ }
409
+ }
410
+
411
+ function add_css() {
412
+ ?>
413
+ <style>
414
+ @font-face {
415
+ font-family: 'qlwf-whatsapp';
416
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
417
+ font-weight: normal;
418
+ font-style: normal;
419
+ }
420
+
421
+ #toplevel_page_qlwapp .dashicons-before.dashicons-format-chat:before {
422
+ font-family: 'qlwf-whatsapp' !important;
423
+ speak: none;
424
+ font-style: normal;
425
+ font-weight: normal;
426
+ font-variant: normal;
427
+ text-transform: none;
428
+ line-height: 1;
429
+ -webkit-font-smoothing: antialiased;
430
+ -moz-osx-font-smoothing: grayscale;
431
+ content: "\e900";
432
+ font-size: 17px;
433
+ line-height: 20px;
434
+ }
435
+ </style>
436
+ <?php
437
+ }
438
+
439
+ function add_js() {
440
+ if (isset($_GET['page']) && strpos($_GET['page'], 'qlwapp') !== false) {
441
+ wp_enqueue_style('qlwapp-admin', plugins_url('/assets/css/qlwapp-admin.min.css', QLWAPP_PLUGIN_FILE), array('wp-color-picker'), QLWAPP_PLUGIN_VERSION, 'all');
442
+ wp_enqueue_media();
443
+ wp_enqueue_script('qlwapp-select2', plugins_url('/assets/js/select2.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION);
444
+ wp_enqueue_script('qlwapp-admin', plugins_url('/assets/js/qlwapp-admin.min.js', QLWAPP_PLUGIN_FILE), array('jquery', 'wp-color-picker'), QLWAPP_PLUGIN_VERSION);
445
+ }
446
+ }
447
+
448
+ function init() {
449
+ add_action('wp_ajax_qlwapp_get_posts', array($this, 'ajax_get_posts'));
450
+ add_action('wp_ajax_qlwapp_dismiss_notice', array($this, 'ajax_dismiss_notice'));
451
+ add_action('admin_enqueue_scripts', array($this, 'add_js'));
452
+ //add_action('admin_notices', array($this, 'add_notices'));
453
+ add_action('admin_head', array($this, 'add_css'));
454
+ add_action('admin_menu', array($this, 'add_menu'));
455
+ add_action('admin_init', array($this, 'add_settings_register'));
456
+ add_action('print_media_templates', array($this, 'add_print_media_templates'));
457
+ add_filter('pre_update_option_' . sanitize_key(QLWAPP_DOMAIN), array($this, 'filter_pre_update_option'), -1, 3);
458
+ add_filter('plugin_action_links_' . plugin_basename(QLWAPP_PLUGIN_FILE), array($this, 'add_action_links'));
459
+ }
460
+
461
+ public static function instance() {
462
+ if (!isset(self::$instance)) {
463
+ self::$instance = new self();
464
+ self::$instance->defaults();
465
+ self::$instance->init();
466
+ }
467
+ return self::$instance;
468
+ }
469
+
470
+ }
471
+
472
+ QLWAPP_Settings::instance();
473
+ }
4.2.2/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
4.2.2/languages/qlwapp-es_ES.mo ADDED
Binary file
4.2.2/languages/qlwapp-es_ES.po ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of Plugins - WhatsApp Chat WP - Development (trunk) in Spanish (Spain)
2
+ # This file is distributed under the same license as the Plugins - WhatsApp Chat WP - Development (trunk) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "PO-Revision-Date: 2019-04-18 19:13-0300\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
+ "X-Generator: Poedit 1.8.1\n"
11
+ "Language: es\n"
12
+ "Project-Id-Version: Plugins - WhatsApp Chat WP - Development (trunk)\n"
13
+ "POT-Creation-Date: \n"
14
+ "Last-Translator: \n"
15
+ "Language-Team: \n"
16
+
17
+ #: includes/defaults.php:47
18
+ msgid "Write a response"
19
+ msgstr "Escribe una respuesta"
20
+
21
+ #: includes/pages/box.php:31
22
+ msgid "Write a response text."
23
+ msgstr "Escribe un texto de respuesta."
24
+
25
+ #: includes/pages/box.php:28
26
+ msgid "Response"
27
+ msgstr "Respuesta"
28
+
29
+ #: includes/settings.php:27
30
+ msgid "Settings"
31
+ msgstr "Ajustes"
32
+
33
+ #: template/box.php:47
34
+ msgid "Powered by QuadLayers"
35
+ msgstr "Desarrollado por QuadLayers"
36
+
37
+ #: includes/defaults.php:57
38
+ msgid "Hello! I'm John from the support team."
39
+ msgstr "¡Hola! Soy John, del equipo de soporte."
40
+
41
+ #: includes/defaults.php:34
42
+ msgid "How can I help you?"
43
+ msgstr "¿Cómo puedo ayudarte?"
44
+
45
+ #: includes/defaults.php:29
46
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
47
+ msgstr "¡Hola! Estoy probando el plugin WhatsApp Chat @https://quadlayers.com"
48
+
49
+ #: includes/settings.php:383
50
+ msgid "Report a bug"
51
+ msgstr "Informar de un fallo"
52
+
53
+ #: includes/settings.php:380
54
+ msgid "Yes, of course!"
55
+ msgstr "¡Sí, por supuesto!"
56
+
57
+ #: includes/settings.php:377
58
+ msgid "Could you please give it a 5-star rating on WordPress? We know its a big favor, but we've worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product."
59
+ msgstr "¿Podrías darle una calificación de 5 estrellas en WordPress? Sabemos que es un gran favor, pero hemos trabajado mucho y muy duro para lanzar este gran producto. Tus comentarios aumentarán nuestra motivación y nos ayudarán a promocionar y continuar mejorando este producto."
60
+
61
+ #: includes/settings.php:375
62
+ msgid "Hello! Thank you for choosing the %s plugin!"
63
+ msgstr "¡Hola! ¡Gracias por elegir el plugin %s!"
64
+
65
+ #: includes/settings.php:337
66
+ msgid "Remove"
67
+ msgstr "Eliminar"
68
+
69
+ #: includes/settings.php:336
70
+ msgid "Save"
71
+ msgstr "Guardar"
72
+
73
+ #: includes/settings.php:325
74
+ msgid "Deselect"
75
+ msgstr "Anular selección"
76
+
77
+ #: includes/settings.php:309
78
+ msgid "Featured Image"
79
+ msgstr "Imagen destacada"
80
+
81
+ #: includes/settings.php:302
82
+ msgid "Select icon"
83
+ msgstr "Seleccionar icono"
84
+
85
+ #: includes/settings.php:293
86
+ msgid "Close media panel"
87
+ msgstr "Cerrar el panel de medios"
88
+
89
+ #: includes/settings.php:271
90
+ msgid "Disabled"
91
+ msgstr "Desactivado"
92
+
93
+ #: includes/settings.php:270
94
+ msgid "Enabled"
95
+ msgstr "Activado"
96
+
97
+ #: includes/settings.php:256
98
+ msgid "Lastname"
99
+ msgstr "Apellido"
100
+
101
+ #: includes/settings.php:254
102
+ msgid "Firstname"
103
+ msgstr "Nombre"
104
+
105
+ #: includes/settings.php:246
106
+ msgid "Upload"
107
+ msgstr "Subir"
108
+
109
+ #: includes/settings.php:101
110
+ msgid "QuadLayers"
111
+ msgstr "QuadLayers"
112
+
113
+ #: includes/settings.php:82
114
+ msgid "Check out our demo"
115
+ msgstr "Ver nuestra demo"
116
+
117
+ #: includes/settings.php:79
118
+ msgid "Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users."
119
+ msgstr "¡Gracias por utilizar WhatsApp Chat! Haremos todo lo posible para ofrecerte la mejor experiencia de comunicación con tus usuarios."
120
+
121
+ #: includes/settings.php:61
122
+ msgid "Colors"
123
+ msgstr "Colores"
124
+
125
+ #: includes/settings.php:60
126
+ msgid "Display"
127
+ msgstr "Mostrar"
128
+
129
+ #: includes/settings.php:59
130
+ msgid "Box"
131
+ msgstr "Caja"
132
+
133
+ #: includes/settings.php:57
134
+ msgid "Welcome"
135
+ msgstr "Bienvenido"
136
+
137
+ #: includes/pages/button.php:77
138
+ msgid "Leave a discrete link to developer to help and keep new updates and support."
139
+ msgstr "Deja un enlace discreto al desarrollador para ayudar y mantener nuevas actualizaciones y el soporte."
140
+
141
+ #: includes/pages/button.php:75
142
+ msgid "Hide developer link"
143
+ msgstr "Ocultar enlace de desarrollador"
144
+
145
+ #: includes/pages/button.php:74
146
+ msgid "Show developer link"
147
+ msgstr "Mostrar enlace de desarrollador"
148
+
149
+ #: includes/pages/button.php:71
150
+ msgid "Discreet link"
151
+ msgstr "Enlace discreto"
152
+
153
+ #: includes/pages/button.php:67
154
+ msgid "Message that will automatically appear in the text field of a chat."
155
+ msgstr "Mensaje que aparecerá automáticamente en el campo de texto del chat."
156
+
157
+ #: includes/pages/button.php:57
158
+ msgid "Add Icon"
159
+ msgstr "Añadir icono"
160
+
161
+ #: includes/pages/button.php:54
162
+ msgid "Icon"
163
+ msgstr "Icono"
164
+
165
+ #: includes/pages/button.php:49
166
+ msgid "Full phone number in international format."
167
+ msgstr "Número de teléfono completo en formato internacional."
168
+
169
+ #: includes/pages/button.php:42
170
+ msgid "Customize your text."
171
+ msgstr "Personaliza tu texto."
172
+
173
+ #: includes/pages/button.php:39
174
+ msgid "Text"
175
+ msgstr "Texto"
176
+
177
+ #: includes/pages/button.php:35
178
+ msgid "Switch to change the button position."
179
+ msgstr "Cambiar la posición del botón."
180
+
181
+ #: includes/pages/button.php:33
182
+ msgid "Bottom Right"
183
+ msgstr "Abajo a la derecha"
184
+
185
+ #: includes/pages/button.php:32
186
+ msgid "Bottom Left"
187
+ msgstr "Abajo a la izquierda"
188
+
189
+ #: includes/pages/button.php:31
190
+ msgid "Middle Right"
191
+ msgstr "Centrado a la derecha"
192
+
193
+ #: includes/pages/button.php:30
194
+ msgid "Middle Left"
195
+ msgstr "Centrado a la izquierda"
196
+
197
+ #: includes/pages/button.php:27
198
+ msgid "Position"
199
+ msgstr "Posición"
200
+
201
+ #: includes/pages/button.php:23
202
+ msgid "Add rounded border to the button."
203
+ msgstr "Añadir borde redondeado al botón."
204
+
205
+ #: includes/pages/button.php:21
206
+ msgid "Remove rounded border"
207
+ msgstr "Quitar el borde redondeado"
208
+
209
+ #: includes/pages/button.php:20
210
+ msgid "Add rounded border"
211
+ msgstr "Añadir borde redondeado"
212
+
213
+ #: includes/pages/button.php:17
214
+ msgid "Rounded"
215
+ msgstr "Redondeado"
216
+
217
+ #: includes/pages/button.php:13
218
+ msgid "Switch to change the button layout."
219
+ msgstr "Cambiar el diseño del botón."
220
+
221
+ #: includes/pages/button.php:11
222
+ msgid "Bubble"
223
+ msgstr "Burbuja"
224
+
225
+ #: includes/settings.php:58 includes/pages/button.php:10
226
+ msgid "Button"
227
+ msgstr "Botón"
228
+
229
+ #: includes/pages/button.php:7
230
+ msgid "Layout"
231
+ msgstr "Diseño"
232
+
233
+ #: includes/pages/welcome.php:29
234
+ msgid "Submit ticket"
235
+ msgstr "Enviar un ticket"
236
+
237
+ #: includes/pages/welcome.php:27
238
+ msgid "If you have any doubt or you find any issue don't hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users."
239
+ msgstr "Si tienes alguna duda o si encuentras algún problema, no dudes en contactar con nosotros a través de nuestro sistema de tickets o unirte a nuestra comunidad para conocer a otros usuarios de WhatsApp Chat."
240
+
241
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
242
+ msgid "Support"
243
+ msgstr "Soporte"
244
+
245
+ #: includes/pages/welcome.php:22
246
+ msgid "View demo"
247
+ msgstr "Ver demo"
248
+
249
+ #: includes/pages/welcome.php:20
250
+ msgid "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version."
251
+ msgstr "¡Gracias por elegir nuestro plugin WhatsApp Chat para WordPress! Aquí puedes ver nuestra demo y una descripción de las características que ofrecemos en la versión premium."
252
+
253
+ #: includes/pages/welcome.php:18
254
+ msgid "Demo"
255
+ msgstr "Demo"
256
+
257
+ #: includes/pages/welcome.php:15
258
+ msgid "Join us"
259
+ msgstr "Únete a nosotros"
260
+
261
+ #: includes/pages/welcome.php:13
262
+ msgid "If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now."
263
+ msgstr "Si deseas ponerse en contacto con otros usuarios de WhatsApp Chat o conocer nuestros descuentos promocionales, únete a nuestra comunidad ahora."
264
+
265
+ #: includes/pages/welcome.php:11
266
+ msgid "Community"
267
+ msgstr "Comunidad"
268
+
269
+ #: includes/pages/welcome.php:6
270
+ msgid "Hello we're QuadLayers! We've recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues."
271
+ msgstr "Hola somos QuadLayers! Recientemente hemos adquirido este plugin y esta es la primera actualización. Hemos trabajado mucho y es muy duro para su lanzamiento, y haremos todo lo posible para dar el mejor soporte y solucionar todos los problemas."
272
+
273
+ #: includes/pages/box.php:63
274
+ msgid "Actions"
275
+ msgstr "Acciones"
276
+
277
+ #: includes/settings.php:267 includes/pages/box.php:62
278
+ msgid "Chat"
279
+ msgstr "Chat"
280
+
281
+ #: includes/settings.php:260 includes/pages/box.php:58
282
+ #: includes/pages/button.php:46
283
+ msgid "Phone"
284
+ msgstr "Teléfono"
285
+
286
+ #: includes/pages/box.php:57
287
+ msgid "Avatar"
288
+ msgstr "Avatar"
289
+
290
+ #: includes/pages/box.php:51
291
+ msgid "Add Contact"
292
+ msgstr "Añadir contacto"
293
+
294
+ #: includes/pages/box.php:44
295
+ msgid "Save Contact"
296
+ msgstr "Guardar contacto"
297
+
298
+ #: includes/pages/box.php:36
299
+ msgid "Contacts"
300
+ msgstr "Contactos"
301
+
302
+ #: includes/pages/box.php:22
303
+ msgid "Footer"
304
+ msgstr "Pie de página"
305
+
306
+ #: includes/pages/box.php:16
307
+ msgid "Header"
308
+ msgstr "Cabecera"
309
+
310
+ #: includes/pages/box.php:11
311
+ msgid "Disable contact box"
312
+ msgstr "Desactivar caja de contactos"
313
+
314
+ #: includes/pages/box.php:10
315
+ msgid "Enable contact box"
316
+ msgstr "Activar caja de contactos"
317
+
318
+ #: includes/pages/box.php:7
319
+ msgid "Disable"
320
+ msgstr "Desactivar"
321
+
322
+ #: includes/pages/purchase.php:68
323
+ msgid "Allow your users to type their own messages before send it to the agent phone number."
324
+ msgstr "Permite que tus usuarios escriban sus propios mensajes antes de enviarlos al número de teléfono del agente."
325
+
326
+ #: includes/pages/purchase.php:66
327
+ msgid "Type user message"
328
+ msgstr "Escribe el mensaje de usuario"
329
+
330
+ #: includes/pages/purchase.php:62
331
+ msgid "You can choose the predefined user message that will be sent to the agent phone number."
332
+ msgstr "Puedes elegir el mensaje de usuario predefinido que se enviará al número de teléfono del agente."
333
+
334
+ #: includes/pages/purchase.php:60
335
+ msgid "Custom user message"
336
+ msgstr "Mensaje de usuario personalizado"
337
+
338
+ #: includes/pages/purchase.php:56
339
+ msgid "Allow you to set a custom message for each agent that will displayed on the chatbox."
340
+ msgstr "Te permite establecer un mensaje personalizado para cada agente que se mostrará en la caja de chat."
341
+
342
+ #: includes/pages/purchase.php:54
343
+ msgid "Custom agent message"
344
+ msgstr "Mensaje del agente personalizado"
345
+
346
+ #: includes/pages/purchase.php:48
347
+ msgid "WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message."
348
+ msgstr "WhatsApp Chat para WordPress te permite incluir una caja de chat para cada agente donde tus usuarios pueden escribir su primer mensaje."
349
+
350
+ #: includes/pages/purchase.php:46
351
+ msgid "Chatbox interface"
352
+ msgstr "Interfaz de chat"
353
+
354
+ #: includes/pages/purchase.php:29
355
+ msgid "Our plugin allows you to select between more than fourty icons to include in your Whatsapp button."
356
+ msgstr "Nuestro plugin te permite seleccionar entre más de cuarenta iconos para incluir en tu botón de WhatsApp."
357
+
358
+ #: includes/pages/purchase.php:27
359
+ msgid "Custom icons"
360
+ msgstr "Iconos personalizados"
361
+
362
+ #: includes/pages/purchase.php:23
363
+ msgid "Customize the colors to match site’s theme colors through the WordPress live customizer interface."
364
+ msgstr "Personaliza los colores para que coincidan con los colores del tema de tu sitio a través del personalizador de WordPress."
365
+
366
+ #: includes/pages/purchase.php:21
367
+ msgid "Customize colors"
368
+ msgstr "Personalizar colores"
369
+
370
+ #: includes/pages/purchase.php:17
371
+ msgid "WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
372
+ msgstr "WhatsApp Chat te permite incluir cuentas de agentes ilimitadas con sus nombres y etiquetas dentro de la caja para proporcionar un contacto directo hacia las diferentes áreas de soporte de tu sitio."
373
+
374
+ #: includes/pages/purchase.php:15
375
+ msgid "Multiple agents"
376
+ msgstr "Múltiples agentes"
377
+
378
+ #: includes/pages/purchase.php:11
379
+ msgid "Get Support"
380
+ msgstr "Obtener soporte"
381
+
382
+ #: includes/pages/purchase.php:10
383
+ msgid "Purchase Now"
384
+ msgstr "Comprar ahora"
385
+
386
+ #: includes/pages/purchase.php:7
387
+ msgid "Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
388
+ msgstr "Desbloquea la potencia de la version premium de WhatsApp Chat que te permite incluir cuentas de agentes ilimitadas con sus nombres y etiquetas para proporcionar un contacto directo a las diferentes áreas de soporte de tu sitio."
389
+
390
+ #: includes/settings.php:25 includes/settings.php:62
391
+ #: includes/pages/purchase.php:5
392
+ msgid "Premium"
393
+ msgstr "Premium"
394
+
395
+ #: includes/pages/display.php:50
396
+ msgid "Archive"
397
+ msgstr "Archivo"
398
+
399
+ #: includes/pages/display.php:48
400
+ msgid "Select for %s&hellip;"
401
+ msgstr "Selecciona para %s&hellip;"
402
+
403
+ #: includes/pages/display.php:27
404
+ msgid "If you select an option all the other will be excluded"
405
+ msgstr "Si seleccionas una opción, todas las demás serán excluidas."
406
+
407
+ #: includes/pages/display.php:24
408
+ msgid "Search"
409
+ msgstr "Buscar"
410
+
411
+ #: includes/pages/display.php:23
412
+ msgid "Blog"
413
+ msgstr "Blog"
414
+
415
+ #: includes/pages/display.php:22
416
+ msgid "Home"
417
+ msgstr "Inicio"
418
+
419
+ #: includes/settings.php:35 includes/pages/display.php:21
420
+ #: includes/pages/display.php:49 includes/pages/display.php:97
421
+ msgid "Exclude from all"
422
+ msgstr "Excluir de todos"
423
+
424
+ #: includes/pages/display.php:18
425
+ msgid "Target"
426
+ msgstr "Target"
427
+
428
+ #: includes/pages/display.php:13
429
+ msgid "Hide in all devices"
430
+ msgstr "Ocultar en todos los dispositivos"
431
+
432
+ #: includes/pages/display.php:12
433
+ msgid "Show in desktop devices"
434
+ msgstr "Mostrar en dispositivos de escritorio"
435
+
436
+ #: includes/pages/display.php:11
437
+ msgid "Show in mobile devices"
438
+ msgstr "Mostrar en dispositivos móviles"
439
+
440
+ #: includes/pages/display.php:10
441
+ msgid "Show in all devices"
442
+ msgstr "Mostrar en todos los dispositivos"
443
+
444
+ #: includes/pages/display.php:7
445
+ msgid "Devices"
446
+ msgstr "Dispositivos"
447
+
448
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
449
+ msgid "Name"
450
+ msgstr "Name"
451
+
452
+ #: includes/settings.php:261 includes/pages/box.php:60
453
+ #: includes/pages/colors.php:33
454
+ msgid "Label"
455
+ msgstr "Etiqueta"
456
+
457
+ #: includes/settings.php:276 includes/pages/box.php:61
458
+ #: includes/pages/colors.php:26 includes/pages/button.php:64
459
+ msgid "Message"
460
+ msgstr "Mensaje"
461
+
462
+ #: includes/pages/display.php:72 includes/pages/box.php:52
463
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
464
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
465
+ #: includes/pages/button.php:58
466
+ msgid "This is a premium feature"
467
+ msgstr "Esta es una característica premium"
468
+
469
+ #: includes/pages/colors.php:19
470
+ msgid "Link"
471
+ msgstr "Enlace"
472
+
473
+ #: includes/pages/colors.php:13
474
+ msgid "Color"
475
+ msgstr "Color"
476
+
477
+ #: includes/pages/colors.php:7
478
+ msgid "Background"
479
+ msgstr "Fondo"
480
+
481
+ #. Author URI of the plugin
482
+ msgid "https://quadlayers.com"
483
+ msgstr "https://quadlayers.com"
484
+
485
+ #. Author of the plugin
486
+ #: includes/settings.php:77 includes/settings.php:298
487
+ msgid "WhatsApp Chat"
488
+ msgstr "WhatsApp Chat"
489
+
490
+ #. Description of the plugin
491
+ msgid "Send messages directly to your WhatsApp phone number."
492
+ msgstr "Envía mensajes directamente a tu número de teléfono de WhatsApp."
493
+
494
+ #. Plugin Name of the plugin
495
+ msgid "WhatsApp Chat WP"
496
+ msgstr "WhatsApp Chat WP"
4.2.2/languages/qlwapp.pot ADDED
@@ -0,0 +1,539 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: WhatsApp Chat WP\n"
5
+ "POT-Creation-Date: 2019-04-19 12:44-0300\n"
6
+ "PO-Revision-Date: 2019-03-02 18:52-0300\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "X-Poedit-WPHeader: wp-whatsapp-chat.php\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
21
+
22
+ #: includes/defaults.php:29
23
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
24
+ msgstr ""
25
+
26
+ #: includes/defaults.php:34
27
+ msgid "How can I help you?"
28
+ msgstr ""
29
+
30
+ #: includes/defaults.php:47
31
+ msgid "Write a response"
32
+ msgstr ""
33
+
34
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
35
+ msgid "Support"
36
+ msgstr ""
37
+
38
+ #: includes/defaults.php:57
39
+ msgid "Hello! I'm John from the support team."
40
+ msgstr ""
41
+
42
+ #: includes/pages/box.php:7
43
+ msgid "Disable"
44
+ msgstr ""
45
+
46
+ #: includes/pages/box.php:10
47
+ msgid "Enable contact box"
48
+ msgstr ""
49
+
50
+ #: includes/pages/box.php:11
51
+ msgid "Disable contact box"
52
+ msgstr ""
53
+
54
+ #: includes/pages/box.php:16
55
+ msgid "Header"
56
+ msgstr ""
57
+
58
+ #: includes/pages/box.php:22
59
+ msgid "Footer"
60
+ msgstr ""
61
+
62
+ #: includes/pages/box.php:28
63
+ msgid "Response"
64
+ msgstr ""
65
+
66
+ #: includes/pages/box.php:31
67
+ msgid "Write a response text."
68
+ msgstr ""
69
+
70
+ #: includes/pages/box.php:36
71
+ msgid "Contacts"
72
+ msgstr ""
73
+
74
+ #: includes/pages/box.php:44
75
+ msgid "Save Contact"
76
+ msgstr ""
77
+
78
+ #: includes/pages/box.php:51
79
+ msgid "Add Contact"
80
+ msgstr ""
81
+
82
+ #: includes/pages/box.php:52 includes/pages/button.php:58
83
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
84
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
85
+ #: includes/pages/display.php:72
86
+ msgid "This is a premium feature"
87
+ msgstr ""
88
+
89
+ #: includes/pages/box.php:57
90
+ msgid "Avatar"
91
+ msgstr ""
92
+
93
+ #: includes/pages/box.php:58 includes/pages/button.php:46
94
+ #: includes/settings.php:260
95
+ msgid "Phone"
96
+ msgstr ""
97
+
98
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
99
+ msgid "Name"
100
+ msgstr ""
101
+
102
+ #: includes/pages/box.php:60 includes/pages/colors.php:33
103
+ #: includes/settings.php:261
104
+ msgid "Label"
105
+ msgstr ""
106
+
107
+ #: includes/pages/box.php:61 includes/pages/button.php:64
108
+ #: includes/pages/colors.php:26 includes/settings.php:276
109
+ msgid "Message"
110
+ msgstr ""
111
+
112
+ #: includes/pages/box.php:62 includes/settings.php:267
113
+ msgid "Chat"
114
+ msgstr ""
115
+
116
+ #: includes/pages/box.php:63
117
+ msgid "Actions"
118
+ msgstr ""
119
+
120
+ #: includes/pages/button.php:7
121
+ msgid "Layout"
122
+ msgstr ""
123
+
124
+ #: includes/pages/button.php:10 includes/settings.php:58
125
+ msgid "Button"
126
+ msgstr ""
127
+
128
+ #: includes/pages/button.php:11
129
+ msgid "Bubble"
130
+ msgstr ""
131
+
132
+ #: includes/pages/button.php:13
133
+ msgid "Switch to change the button layout."
134
+ msgstr ""
135
+
136
+ #: includes/pages/button.php:17
137
+ msgid "Rounded"
138
+ msgstr ""
139
+
140
+ #: includes/pages/button.php:20
141
+ msgid "Add rounded border"
142
+ msgstr ""
143
+
144
+ #: includes/pages/button.php:21
145
+ msgid "Remove rounded border"
146
+ msgstr ""
147
+
148
+ #: includes/pages/button.php:23
149
+ msgid "Add rounded border to the button."
150
+ msgstr ""
151
+
152
+ #: includes/pages/button.php:27
153
+ msgid "Position"
154
+ msgstr ""
155
+
156
+ #: includes/pages/button.php:30
157
+ msgid "Middle Left"
158
+ msgstr ""
159
+
160
+ #: includes/pages/button.php:31
161
+ msgid "Middle Right"
162
+ msgstr ""
163
+
164
+ #: includes/pages/button.php:32
165
+ msgid "Bottom Left"
166
+ msgstr ""
167
+
168
+ #: includes/pages/button.php:33
169
+ msgid "Bottom Right"
170
+ msgstr ""
171
+
172
+ #: includes/pages/button.php:35
173
+ msgid "Switch to change the button position."
174
+ msgstr ""
175
+
176
+ #: includes/pages/button.php:39
177
+ msgid "Text"
178
+ msgstr ""
179
+
180
+ #: includes/pages/button.php:42
181
+ msgid "Customize your text."
182
+ msgstr ""
183
+
184
+ #: includes/pages/button.php:49
185
+ msgid "Full phone number in international format."
186
+ msgstr ""
187
+
188
+ #: includes/pages/button.php:54
189
+ msgid "Icon"
190
+ msgstr ""
191
+
192
+ #: includes/pages/button.php:57
193
+ msgid "Add Icon"
194
+ msgstr ""
195
+
196
+ #: includes/pages/button.php:67
197
+ msgid "Message that will automatically appear in the text field of a chat."
198
+ msgstr ""
199
+
200
+ #: includes/pages/button.php:71
201
+ msgid "Discreet link"
202
+ msgstr ""
203
+
204
+ #: includes/pages/button.php:74
205
+ msgid "Show developer link"
206
+ msgstr ""
207
+
208
+ #: includes/pages/button.php:75
209
+ msgid "Hide developer link"
210
+ msgstr ""
211
+
212
+ #: includes/pages/button.php:77
213
+ msgid ""
214
+ "Leave a discrete link to developer to help and keep new updates and support."
215
+ msgstr ""
216
+
217
+ #: includes/pages/colors.php:7
218
+ msgid "Background"
219
+ msgstr ""
220
+
221
+ #: includes/pages/colors.php:13
222
+ msgid "Color"
223
+ msgstr ""
224
+
225
+ #: includes/pages/colors.php:19
226
+ msgid "Link"
227
+ msgstr ""
228
+
229
+ #: includes/pages/display.php:7
230
+ msgid "Devices"
231
+ msgstr ""
232
+
233
+ #: includes/pages/display.php:10
234
+ msgid "Show in all devices"
235
+ msgstr ""
236
+
237
+ #: includes/pages/display.php:11
238
+ msgid "Show in mobile devices"
239
+ msgstr ""
240
+
241
+ #: includes/pages/display.php:12
242
+ msgid "Show in desktop devices"
243
+ msgstr ""
244
+
245
+ #: includes/pages/display.php:13
246
+ msgid "Hide in all devices"
247
+ msgstr ""
248
+
249
+ #: includes/pages/display.php:18
250
+ msgid "Target"
251
+ msgstr ""
252
+
253
+ #: includes/pages/display.php:21 includes/pages/display.php:49
254
+ #: includes/pages/display.php:97 includes/settings.php:35
255
+ msgid "Exclude from all"
256
+ msgstr ""
257
+
258
+ #: includes/pages/display.php:22
259
+ msgid "Home"
260
+ msgstr ""
261
+
262
+ #: includes/pages/display.php:23
263
+ msgid "Blog"
264
+ msgstr ""
265
+
266
+ #: includes/pages/display.php:24
267
+ msgid "Search"
268
+ msgstr ""
269
+
270
+ #: includes/pages/display.php:27
271
+ msgid "If you select an option all the other will be excluded"
272
+ msgstr ""
273
+
274
+ #: includes/pages/display.php:48
275
+ #, php-format
276
+ msgid "Select for %s&hellip;"
277
+ msgstr ""
278
+
279
+ #: includes/pages/display.php:50
280
+ msgid "Archive"
281
+ msgstr ""
282
+
283
+ #: includes/pages/purchase.php:5 includes/settings.php:25
284
+ #: includes/settings.php:62
285
+ msgid "Premium"
286
+ msgstr ""
287
+
288
+ #: includes/pages/purchase.php:7
289
+ msgid ""
290
+ "Unlock the power of our premium WhatsApp Chat plugin wich allows you to "
291
+ "include unlimited agent accounts with their names and labels inside the box "
292
+ "to provide a direct contact to the different support areas of your site."
293
+ msgstr ""
294
+
295
+ #: includes/pages/purchase.php:10
296
+ msgid "Purchase Now"
297
+ msgstr ""
298
+
299
+ #: includes/pages/purchase.php:11
300
+ msgid "Get Support"
301
+ msgstr ""
302
+
303
+ #: includes/pages/purchase.php:15
304
+ msgid "Multiple agents"
305
+ msgstr ""
306
+
307
+ #: includes/pages/purchase.php:17
308
+ msgid ""
309
+ "WhatsApp Chat allows you to include unlimited agent accounts with their "
310
+ "names and labels inside the box to provide a direct contact to the different "
311
+ "support areas of your site."
312
+ msgstr ""
313
+
314
+ #: includes/pages/purchase.php:21
315
+ msgid "Customize colors"
316
+ msgstr ""
317
+
318
+ #: includes/pages/purchase.php:23
319
+ msgid ""
320
+ "Customize the colors to match site’s theme colors through the WordPress live "
321
+ "customizer interface."
322
+ msgstr ""
323
+
324
+ #: includes/pages/purchase.php:27
325
+ msgid "Custom icons"
326
+ msgstr ""
327
+
328
+ #: includes/pages/purchase.php:29
329
+ msgid ""
330
+ "Our plugin allows you to select between more than fourty icons to include in "
331
+ "your Whatsapp button."
332
+ msgstr ""
333
+
334
+ #: includes/pages/purchase.php:46
335
+ msgid "Chatbox interface"
336
+ msgstr ""
337
+
338
+ #: includes/pages/purchase.php:48
339
+ msgid ""
340
+ "WhatsApp chat for WordPress allows you to include a chatbox for each agent "
341
+ "where your users can type their first message."
342
+ msgstr ""
343
+
344
+ #: includes/pages/purchase.php:54
345
+ msgid "Custom agent message"
346
+ msgstr ""
347
+
348
+ #: includes/pages/purchase.php:56
349
+ msgid ""
350
+ "Allow you to set a custom message for each agent that will displayed on the "
351
+ "chatbox."
352
+ msgstr ""
353
+
354
+ #: includes/pages/purchase.php:60
355
+ msgid "Custom user message"
356
+ msgstr ""
357
+
358
+ #: includes/pages/purchase.php:62
359
+ msgid ""
360
+ "You can choose the predefined user message that will be sent to the agent "
361
+ "phone number."
362
+ msgstr ""
363
+
364
+ #: includes/pages/purchase.php:66
365
+ msgid "Type user message"
366
+ msgstr ""
367
+
368
+ #: includes/pages/purchase.php:68
369
+ msgid ""
370
+ "Allow your users to type their own messages before send it to the agent "
371
+ "phone number."
372
+ msgstr ""
373
+
374
+ #: includes/pages/welcome.php:6
375
+ msgid ""
376
+ "Hello we're QuadLayers! We've recently acquired this plugin and this is the "
377
+ "first update. We have worked very much and very hard to release it, and we "
378
+ "will do our absolute best to support it and fix all the issues."
379
+ msgstr ""
380
+
381
+ #: includes/pages/welcome.php:11
382
+ msgid "Community"
383
+ msgstr ""
384
+
385
+ #: includes/pages/welcome.php:13
386
+ msgid ""
387
+ "If you want to get in touch with other WhatsApp Chat users or be aware of "
388
+ "our promotional discounts join our community now."
389
+ msgstr ""
390
+
391
+ #: includes/pages/welcome.php:15
392
+ msgid "Join us"
393
+ msgstr ""
394
+
395
+ #: includes/pages/welcome.php:18
396
+ msgid "Demo"
397
+ msgstr ""
398
+
399
+ #: includes/pages/welcome.php:20
400
+ msgid ""
401
+ "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can "
402
+ "see our demo and a description about the features we offer in the premium "
403
+ "version."
404
+ msgstr ""
405
+
406
+ #: includes/pages/welcome.php:22
407
+ msgid "View demo"
408
+ msgstr ""
409
+
410
+ #: includes/pages/welcome.php:27
411
+ msgid ""
412
+ "If you have any doubt or you find any issue don't hesitate to contact us "
413
+ "through our ticket system or join our community to meet other WhatsApp Chat "
414
+ "users."
415
+ msgstr ""
416
+
417
+ #: includes/pages/welcome.php:29
418
+ msgid "Submit ticket"
419
+ msgstr ""
420
+
421
+ #: includes/settings.php:27
422
+ msgid "Settings"
423
+ msgstr ""
424
+
425
+ #: includes/settings.php:57
426
+ msgid "Welcome"
427
+ msgstr ""
428
+
429
+ #: includes/settings.php:59
430
+ msgid "Box"
431
+ msgstr ""
432
+
433
+ #: includes/settings.php:60
434
+ msgid "Display"
435
+ msgstr ""
436
+
437
+ #: includes/settings.php:61
438
+ msgid "Colors"
439
+ msgstr ""
440
+
441
+ #. Author of the plugin/theme
442
+ #: includes/settings.php:77 includes/settings.php:298
443
+ msgid "WhatsApp Chat"
444
+ msgstr ""
445
+
446
+ #: includes/settings.php:79
447
+ msgid ""
448
+ "Thanks for using WhatsApp Chat! We will do our best to offer you the best "
449
+ "and improved communication experience with your users."
450
+ msgstr ""
451
+
452
+ #: includes/settings.php:82
453
+ msgid "Check out our demo"
454
+ msgstr ""
455
+
456
+ #: includes/settings.php:101
457
+ msgid "QuadLayers"
458
+ msgstr ""
459
+
460
+ #: includes/settings.php:246
461
+ msgid "Upload"
462
+ msgstr ""
463
+
464
+ #: includes/settings.php:254
465
+ msgid "Firstname"
466
+ msgstr ""
467
+
468
+ #: includes/settings.php:256
469
+ msgid "Lastname"
470
+ msgstr ""
471
+
472
+ #: includes/settings.php:270
473
+ msgid "Enabled"
474
+ msgstr ""
475
+
476
+ #: includes/settings.php:271
477
+ msgid "Disabled"
478
+ msgstr ""
479
+
480
+ #: includes/settings.php:293
481
+ msgid "Close media panel"
482
+ msgstr ""
483
+
484
+ #: includes/settings.php:302
485
+ msgid "Select icon"
486
+ msgstr ""
487
+
488
+ #: includes/settings.php:309
489
+ msgid "Featured Image"
490
+ msgstr ""
491
+
492
+ #: includes/settings.php:325
493
+ msgid "Deselect"
494
+ msgstr ""
495
+
496
+ #: includes/settings.php:336
497
+ msgid "Save"
498
+ msgstr ""
499
+
500
+ #: includes/settings.php:337
501
+ msgid "Remove"
502
+ msgstr ""
503
+
504
+ #: includes/settings.php:375
505
+ #, php-format
506
+ msgid "Hello! Thank you for choosing the %s plugin!"
507
+ msgstr ""
508
+
509
+ #: includes/settings.php:377
510
+ msgid ""
511
+ "Could you please give it a 5-star rating on WordPress? We know its a big "
512
+ "favor, but we've worked very much and very hard to release this great "
513
+ "product. Your feedback will boost our motivation and help us promote and "
514
+ "continue to improve this product."
515
+ msgstr ""
516
+
517
+ #: includes/settings.php:380
518
+ msgid "Yes, of course!"
519
+ msgstr ""
520
+
521
+ #: includes/settings.php:383
522
+ msgid "Report a bug"
523
+ msgstr ""
524
+
525
+ #: template/box.php:47
526
+ msgid "Powered by QuadLayers"
527
+ msgstr ""
528
+
529
+ #. Plugin Name of the plugin/theme
530
+ msgid "WhatsApp Chat WP"
531
+ msgstr ""
532
+
533
+ #. Description of the plugin/theme
534
+ msgid "Send messages directly to your WhatsApp phone number."
535
+ msgstr ""
536
+
537
+ #. Author URI of the plugin/theme
538
+ msgid "https://quadlayers.com"
539
+ msgstr ""
4.2.2/readme.txt ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WhatsApp Chat WP ===
2
+ Contributors: quadlayers
3
+ Tags: whatsapp, whatsapp chat, whatsapp button, directly message whatsapp, whatsapp for business, floating whatsapp, plugin whatsapp, click to chat, help desk
4
+ Donate link: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
5
+ Requires at least: 4.8
6
+ Tested up to: 5.1
7
+ Stable tag: 4.2.2
8
+ License: GPLv2
9
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ WhatsApp Chat WP allows your website visitors and customers to contact you or your team through WhatsApp chat with a single click.
12
+
13
+ == Description ==
14
+
15
+ [Premium](https://quadlayers.com/portfolio/wordpress-whatsapp-chat/) | [Demo](https://quadlayers.com/whatsapp-chat/) | [Community](https://www.facebook.com/groups/quadlayers/)
16
+
17
+ WhatsApp Chat for WordPress allows your customers to open a conversation from your website directly to your WhatsApp phone number. This plugin includes a button where you can include a pre-filled message which will be automatically included in the conversation.
18
+ == Why WhatsApp? ==
19
+ WhatsApp is these days the most popular instant messaging application in the world and is available in more than 100 countries and supporting more than 50 languages.
20
+
21
+ This means most of our users <span style="background-color: #f6d5d9;">use</span> WhatsApp as their main contact method, and they probably have been using it for years. Therefore, offering easy access from our website is a good way to convert those visitors into customers.
22
+
23
+ Generating leads is the key to every business success, and the WhatsApp chat button can help you to increase your overall sales and reach this goal.
24
+ == WhatsApp Button ==
25
+ With the WhatsApp chat button, your visitors will be allowed to send a message directly to your phone number. To start configuring it, you have to go to the button tab inside the WhatsApp Chat section that you can find in your admin dashboard.
26
+
27
+ Inside the button tab, you'll to switch between two different layouts, define if you want to include rounded edges, the position where you want to show the WhatsApp button, the text that will be displayed inside, the phone number and the default user message.
28
+ == WhatsApp Chat ==
29
+ WhatsApp Chat also allows you to include a box to show some contact information and a personalized message. This box can be activated through the Box tab inside the WhatsApp Chat section and here you can define the header and footer message, contact name, phone, work, and avatar.
30
+ == WhatsApp Premium ==
31
+ The premium version of the WhatsApp Chat plugin allows you to include multiple team member agents with their names and labels inside the contact box to provide direct contact to the different support areas of your site.
32
+
33
+ A new option to display a chatbox for each agent will be included. This box will be displayed when the user clicks on the WhatsApp contact, and here you can show a custom message from each contact and your users will be able to type the message that will be sent to the WhatsApp contact phone.
34
+
35
+ Finally, we’ve included an option that allows you to select between more than fourteen icons to include in the WhatsApp button and full integration with the WordPress live customizer.
36
+
37
+
38
+ == WhatsApp Chat Features ==
39
+
40
+ > * WhatsApp button
41
+ > * WhatsApp contact box
42
+ > * WhatsApp button and box colors
43
+ > * Add custom icon in the WhatsApp button
44
+ > * Two button layouts
45
+ > * Hide the button based on post types and taxonomies
46
+ > * Add rounded or square borders
47
+ > * Vertical and horizontal position
48
+ > * Custom button text
49
+ > * Custom user message
50
+
51
+ == Installation ==
52
+
53
+ 1. Go to the Plugins Menu in WordPress
54
+ 2. Search for "WhatsApp Chat WP"
55
+ 3. Click "Install"
56
+ 4. Click "Activation"
57
+ 5. Go to the WhatsApp Chat options in the dashboard
58
+
59
+ == Frequently Asked Questions ==
60
+
61
+ = Where do I get support? =
62
+
63
+ You can contact us trough this channels
64
+
65
+ [Support Forum](https://wordpress.org/support/plugin/wp-whatsapp-chat/) | [Support Ticket](https://quadlayers.com/account/support) | [Support Chat](https://www.facebook.com/quadlayers/)
66
+
67
+ = Can I use more than one WhatsApp number? =
68
+
69
+ Yes, this option is available in our premium version
70
+
71
+ [WhatsApp Chat Premium](https://quadlayers.com/portfolio/wordpress-whatsapp-chat/)
72
+
73
+ = WhatsApp Chat is GDPR compatible? =
74
+
75
+ Yes, WhatsApp Chat WP don't save any personal data and don't use cookies.
76
+
77
+ = Will my WhatsApp number be visible to all users? =
78
+
79
+ Yes, every user of your website will be able to see the number of WhatsApp you are using. For this reason we advise you to not use a WhatsApp number that you want to keep private.
80
+
81
+ = What is a full phone number in international format? =
82
+
83
+ Omit any zeroes, brackets or dashes when adding the phone number in international format, including your country code, area and regular phone number.
84
+
85
+ Use: 15551234567
86
+ Don't use: +001-(555)1234567
87
+
88
+ == Changelog ==
89
+
90
+ = 4.2.2 =
91
+ * Fix. language fix
92
+
93
+ = 4.2.1 =
94
+ * Fix. bad spelling
95
+
96
+ = 4.2.0 =
97
+ * Fix. incompatibility with visual composer add ons
98
+
99
+ = 4.1.9 =
100
+ * Fix. license market key
101
+
102
+ = 4.1.8 =
103
+ * Fix. WhatsApp button bubble text empty
104
+ * Fix. WhatsApp shortcode not working in desktop devices
105
+
106
+ = 4.1.7 =
107
+ * Fix. WhatsApp delete contact
108
+
109
+ = 4.1.6 =
110
+ * Fix. WhatsApp Android textarea closes on click
111
+ * Fix. WhatsApp Button empty settings not saving
112
+
113
+ = 4.1.5 =
114
+ * Fix. array to string conversion on first save
115
+ * Fix. static method
116
+
117
+ = 4.1.4 =
118
+ * Fix. WhatsApp Chat avatar js fixes
119
+
120
+ = 4.1.4 =
121
+ * Fix. WhatsApp Chat avatar css fixes
122
+
123
+ = 4.1.3 =
124
+ * Fix. WhatsApp Chat contacts missing
125
+ * Fix. WhatsApp Chat rounded images
126
+
127
+ = 4.1.2 =
128
+ * Fix. WhatsApp Chat button not open when box is disabled
129
+
130
+ = 4.1.1 =
131
+ * Fix. undefined variable
132
+
133
+ = 4.1.0 =
134
+ * Fix. WhatsApp Chat contact remove
135
+ * Fix. WhatsApp Chat box disable
136
+ * Fix. WhatsApp Chat button rounded disable
137
+ * Fix. WhatsApp Chat button discreet link
138
+
139
+ = 4.0.0 =
140
+
141
+ * New. WhatsApp Chat button bubble layout
142
+ * New. WhatsApp Chat button add or remove rounded corners
143
+ * New. WhatsApp Chat button middle position
144
+ * New. WhatsApp Chat button icon options
145
+ * New. WhatsApp Chat button discreet link
146
+ * New. WhatsApp Chat box to display contact
147
+ * New. WhatsApp Chat box header message
148
+ * New. WhatsApp Chat box footer message
149
+ * New. WhatsApp Chat box contact name
150
+ * New. WhatsApp Chat box contact phone
151
+ * New. WhatsApp Chat box contact label
152
+ * New. WhatsApp Chat box contact message
153
+ * New. WhatsApp Chat box contact name
154
+ * New. WhatsApp Chat show/hide in home search and 404 pages
155
+ * New. WhatsApp Chat show/hide in taxonomies
156
+ * New. WhatsApp Chat show/hide mobile devices
157
+ * New. WhatsApp Chat show/hide desktop devices
158
+ * Pro. WhatsApp Chat box multiple agents
159
+ * Pro. WhatsApp Chat box chat for each agent
160
+ * Pro. WhatsApp Chat color link
161
+ * Pro. WhatsApp Chat color message
162
+ * Pro. WhatsApp Chat color label
163
+ * Pro. WhatsApp Chat color label
164
+ * Pro. WhatsApp Chat color link
165
+ * Pro. WhatsApp Chat color customizer integration
166
+ * Pro. WhatsApp Chat button icons options
167
+ * Pro. WhatsApp Chat show/hide in singular post types
168
+
169
+ == Upgrade Notice ==
170
+
171
+ Hello! We've recently acquired this plugin and included tons of new features.
172
+
173
+ == Developed by ==
174
+ [QuadLayers](https://quadlayers.com)
{template → 4.2.2/template}/box.php RENAMED
File without changes
4.2.2/uninstall.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('WP_UNINSTALL_PLUGIN')) {
4
+ die('-1');
5
+ }
6
+
7
+ if (!is_multisite()) {
8
+ delete_option('qlwapp');
9
+ }
10
+
11
+ delete_user_meta(get_current_user_id(), 'qlwapp-user-rating');
whatsapp-chat.php → 4.2.2/whatsapp-chat.php RENAMED
File without changes
4.2.2/wp-whatsapp-chat.php ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Plugin Name: WhatsApp Chat WP
5
+ * Description: Send messages directly to your WhatsApp phone number.
6
+ * Version: 4.2.2
7
+ * Author: WhatsApp Chat
8
+ * Author URI: https://quadlayers.com
9
+ * Copyright: 2018 QuadLayers (https://quadlayers.com)
10
+ * Text Domain: qlwapp
11
+ */
12
+ if (!defined('ABSPATH')) {
13
+ die('-1');
14
+ }
15
+ if (!defined('QLWAPP_PLUGIN_NAME')) {
16
+ define('QLWAPP_PLUGIN_NAME', 'WhatsApp Chat');
17
+ }
18
+ if (!defined('QLWAPP_PLUGIN_VERSION')) {
19
+ define('QLWAPP_PLUGIN_VERSION', '4.2.2');
20
+ }
21
+ if (!defined('QLWAPP_PLUGIN_FILE')) {
22
+ define('QLWAPP_PLUGIN_FILE', __FILE__);
23
+ }
24
+ if (!defined('QLWAPP_PLUGIN_DIR')) {
25
+ define('QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR);
26
+ }
27
+ if (!defined('QLWAPP_DOMAIN')) {
28
+ define('QLWAPP_DOMAIN', 'qlwapp');
29
+ }
30
+ if (!defined('QLWAPP_WORDPRESS_URL')) {
31
+ define('QLWAPP_WORDPRESS_URL', 'https://wordpress.org/plugins/wp-whatsapp-chat/');
32
+ }
33
+ if (!defined('QLWAPP_REVIEW_URL')) {
34
+ define('QLWAPP_REVIEW_URL', 'https://wordpress.org/support/plugin/wp-whatsapp-chat/reviews/?filter=5#new-post');
35
+ }
36
+ if (!defined('QLWAPP_DEMO_URL')) {
37
+ define('QLWAPP_DEMO_URL', 'https://quadlayers.com/portfolio/wordpress-whatsapp-chat/?utm_source=qlwapp_admin');
38
+ }
39
+ if (!defined('QLWAPP_PURCHASE_URL')) {
40
+ define('QLWAPP_PURCHASE_URL', QLWAPP_DEMO_URL);
41
+ }
42
+ if (!defined('QLWAPP_SUPPORT_URL')) {
43
+ define('QLWAPP_SUPPORT_URL', 'https://quadlayers.com/account/support/?utm_source=qlwapp_admin');
44
+ }
45
+ if (!defined('QLWAPP_GROUP_URL')) {
46
+ define('QLWAPP_GROUP_URL', 'https://www.facebook.com/groups/quadlayers');
47
+ }
48
+
49
+ if (!class_exists('QLWAPP')) {
50
+
51
+ class QLWAPP {
52
+
53
+ protected static $instance;
54
+
55
+ function includes() {
56
+ include_once('includes/defaults.php');
57
+ include_once('includes/frontend.php');
58
+ include_once('includes/settings.php');
59
+ }
60
+
61
+ function languages() {
62
+ load_plugin_textdomain('qlwapp', false, dirname(plugin_basename(__FILE__)) . '/languages/');
63
+ }
64
+
65
+ function add_premium_js() {
66
+ if (!class_exists('QLWAPP_PRO')) {
67
+ ?>
68
+ <style>
69
+ .qlwapp-premium-field {
70
+ opacity: 0.5;
71
+ pointer-events: none;
72
+ }
73
+ </style>
74
+ <?php
75
+
76
+ }
77
+ }
78
+
79
+ function init() {
80
+ add_action('admin_footer', array($this, 'add_premium_js'));
81
+ }
82
+
83
+ public static function do_activation() {
84
+ set_transient('qlwapp-first-rating', true, MONTH_IN_SECONDS);
85
+ }
86
+
87
+ public static function instance() {
88
+ if (!isset(self::$instance)) {
89
+ self::$instance = new self();
90
+ self::$instance->languages();
91
+ self::$instance->includes();
92
+ self::$instance->init();
93
+ }
94
+ return self::$instance;
95
+ }
96
+
97
+ }
98
+
99
+ add_action('plugins_loaded', array('QLWAPP', 'instance'));
100
+
101
+ register_activation_hook(QLWAPP_PLUGIN_FILE, array('QLWAPP', 'do_activation'));
102
+ }
{assets → 4.2.3/assets}/css/qlwapp-admin.css RENAMED
File without changes
4.2.3/assets/css/qlwapp-admin.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;margin:0 0 -4px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left;padding:0}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:0;font-size:100%;margin:0;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{margin:0;padding:8px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected],.select2-results__option[data-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #ccc;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:32px;position:absolute;top:0;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection{background-color:#fff;border:1px solid #ccc;border-radius:2px;cursor:text}.select2-container--default .select2-selection .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection .select2-selection__rendered li{list-style:none;margin:5px 5px 0 0}.select2-container--default .select2-selection .select2-selection__rendered li:before{content:'';display:none}.select2-container--default .select2-selection .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection .select2-selection__choice{background-color:#e4e4e4;border:1px solid #ccc;border-radius:2px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection{outline:0}.select2-container--default.select2-container--disabled .select2-selection{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #ccc}.select2-container--default .select2-search--inline .select2-search__field{background:0;border:0;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background-color:#0073aa;color:#fff}#qlwapp_modal .attachments-browser .attachments{top:0;left:0;right:0}#qlwapp_modal .wp-core-ui .attachment .thumbnail,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail{vertical-align:middle;text-align:center}#qlwapp_modal .wp-core-ui .attachment .thumbnail:before,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before{content:'';display:inline-block;width:0;height:100%;vertical-align:middle}#qlwapp_modal .wp-core-ui .attachment .thumbnail>i,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i{text-align:center;font-size:3vw;display:inline-block;vertical-align:middle;height:auto;width:auto}#qlwapp_modal .wp-core-ui .attachment-info .thumbnail{width:60px;height:60px;background-color:#fff}#qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i{font-size:2em;position:relative;left:-1px}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container{box-sizing:border-box;width:100%;border-bottom:1px solid #ddd;padding:11px 0}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color{box-sizing:border-box;margin:1px;width:65%;float:right}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result{width:100%;margin-top:5px!important}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text{z-index:1;position:relative}.about-wrap .form-table td img.qlwapp-avatar{width:120px;height:120px}.qlwrap .nav-tab i{line-height:26px}.qlwrap .form-table td{vertical-align:middle}.qlwrap .qlwapp-input,.qlwrap .qlwapp-select2{width:350px;max-width:100%}.qlwrap .qlwapp-input{margin:0;padding:6px;box-sizing:border-box;vertical-align:top}
{assets → 4.2.3/assets}/css/qlwapp.css RENAMED
File without changes
4.2.3/assets/css/qlwapp.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+
2
+ @font-face{font-family:'qlwapp-whatsapp';src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:'qlwapp-whatsapp'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{box-sizing:border-box}@media(min-width:430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media(min-width:430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:'';display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{display:block;opacity:.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:0;text-decoration:none}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0 5px 40px 5px rgba(0,0,0,0.5)}@media(min-width:430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:'';position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(135deg,transparent 0,rgba(0,0,0,0.3) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media(min-width:430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:16px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:24px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 .25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center;text-align:right}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:'';display:block;width:15px;height:15px;position:absolute;bottom:2px;right:2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:.6;display:block}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{display:flex;flex-direction:column;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;margin:36px;position:relative;word-wrap:break-word;width:calc(100% - 36px*2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:'';position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:'';height:59px;top:-59px;background-image:linear-gradient(transparent,rgba(0,0,0,0.05));left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:0;padding:18px 56px 18px 36px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:0}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#fff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#303030}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}@media(min-width:430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215,0.61,0.355,1) 1000ms,transform 300ms cubic-bezier(0.215,0.61,0.355,1) 500ms,opacity 500ms ease-in 500ms;height:100%;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) .3s,opacity ease-in .3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215,0.61,0.355,1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 900ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;max-height:134px!important;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent!important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}
4.2.3/assets/img/box1.png ADDED
Binary file
4.2.3/assets/img/box2.png ADDED
Binary file
4.2.3/assets/img/logo.jpg ADDED
Binary file
4.2.3/assets/img/quadlayers.jpg ADDED
Binary file
{assets → 4.2.3/assets}/js/qlwapp-admin.js RENAMED
File without changes
4.2.3/assets/js/qlwapp-admin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(a){a(document).on("ready",function(){a(".qlwapp-select2").select2({allowClear:false,theme:"default",minimumResultsForSearch:-1});a(".qlwapp-select2-ajax").each(function(){var c=a(this),b=a(this).data("name");c.select2({allowClear:true,ajax:{url:ajaxurl,dataType:"json",delay:5000,data:function(d){return{q:d.term,name:b,per_page:10,action:"qlwapp_get_posts"}},processResults:function(d){var e=[];if(d){a.each(d,function(f,g){e.push({id:g[0],text:g[1]})})}return{results:e}},cache:true},})});a(".qlwapp-color-field").wpColorPicker()});a(document).on("click",".upload_image_button",function(d){d.preventDefault();var b=wp.media.editor.send.attachment,c=a(this);wp.media.editor.send.attachment=function(e,f){a(c).parent().prev().attr("src",f.url);a(c).prev().val(f.url);wp.media.editor.send.attachment=b};wp.media.editor.open(c);return false});a(document).on("click",".remove_image_button",function(b){b.preventDefault();var c=a(this).parent().prev().attr("data-src");a(this).parent().prev().attr("src",c);a(this).prev().prev().val("");return false})})(jQuery);
{assets → 4.2.3/assets}/js/qlwapp.js RENAMED
File without changes
4.2.3/assets/js/qlwapp.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(d,c,a,g){var e={};function b(i,h){this.$qlwapp=d(i);this.init(this)}b.prototype={init:function(i){var h=this.$qlwapp;h.on("qlwapp.init",function(j){i.mobiledevice=(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))});h.on("qlwapp.resize",function(j){if(d(this).hasClass("qlwapp-show")){d(this).trigger("qlwapp.toggle")}});h.on("qlwapp.init",function(j){if(!i.mobiledevice){h.addClass("desktop").removeClass("mobile")}else{h.addClass("mobile").removeClass("desktop")}h.addClass("qlwapp-js-ready")});h.addClass("qlwapp-js-ready").trigger("qlwapp.init");h.on("qlwapp.height",function(o){var p=d(o.delegateTarget),n=p.find(".qlwapp-body"),m=n.find(".qlwapp-carousel");var l=p.find(".qlwapp-header"),k=p.find(".qlwapp-footer"),j=(d(c).innerHeight()-l.outerHeight()-k.outerHeight());if(!i.mobiledevice){j=(d(c).innerHeight()*0.666-l.outerHeight()-k.outerHeight())}m.css({"max-height":j+"px"})});h.on("qlwapp.toggle",function(k){var l=d(k.delegateTarget),j=l.find(".qlwapp-box");l.addClass("qlwapp-transition");j.removeClass("response texting");setTimeout(function(){l.toggleClass("qlwapp-show").trigger("qlwapp.height")},10);setTimeout(function(){l.toggleClass("qlwapp-transition")},300)});h.on("click","[data-action=box], [data-action=close]",function(j){j.preventDefault();d(j.delegateTarget).trigger("qlwapp.toggle")});h.on("click","[data-action=open]",function(k){var j="https://api.whatsapp.com/send";if(!i.mobiledevice){j="https://web.whatsapp.com/send"}d(this).attr("href",j+"?phone="+d(this).data("phone")+"&text="+d(this).data("message"))});h.on("click","[data-action=previous]",function(k){k.preventDefault();var l=d(k.delegateTarget),j=l.find(".qlwapp-box");j.addClass("closing");setTimeout(function(){j.removeClass("response").removeClass("closing");j.removeClass("texting")},300)});h.on("click","[data-action=chat]",function(r){r.preventDefault();var k=d(this),x=d(r.delegateTarget),l=x.find(".qlwapp-box"),t=k.find(".qlwapp-avatar img").attr("src"),m=k.find(".qlwapp-name").text(),u=k.find(".qlwapp-label").text(),y=k.data("message"),q=k.data("phone");l.addClass("response").addClass("opening");x.trigger("qlwapp.height");setTimeout(function(){l.removeClass("opening")},300);var n=l.find(".qlwapp-reply"),j=l.find(".qlwapp-header"),o=j.find(".qlwapp-avatar img"),v=j.find(".qlwapp-number"),w=j.find(".qlwapp-name"),s=j.find(".qlwapp-label"),p=l.find(".qlwapp-message");n.data("phone",q);o.attr("src",t);v.html(q);w.html(m);s.html(u);p.html(y)});h.on("click","textarea",function(j){h.off("qlwapp.resize")});h.on("keypress","textarea",function(j){if(j.keyCode==13){h.find(".qlwapp-reply").trigger("click");setTimeout(function(){c.location=h.find(".qlwapp-reply").attr("href")},100)}});h.on("keyup","[data-action=response]",function(m){m.preventDefault();var p=d(this).find("textarea"),o=d(this).find("pre"),j=d(this).find(".qlwapp-reply"),n=d(m.delegateTarget),l=n.find(".qlwapp-box"),k=l.find(".qlwapp-buttons");o.html(p.val());setTimeout(function(){l.addClass("texting").css({"padding-bottom":o.outerHeight()});k.addClass("active");var q=p.val();j.data("message",q);if(q==""){l.removeClass("texting");k.removeClass("active")}},300)});h.trigger("qlwapp.init")},};d.fn.qlwapp=function(i){var h=arguments;if(i===g||typeof i==="object"){return this.each(function(){if(!d.data(this,"plugin_qlwapp")){d.data(this,"plugin_qlwapp",new b(this,i))}})}else{if(typeof i==="string"&&i[0]!=="_"&&i!=="init"){var j;this.each(function(){var k=d.data(this,"plugin_qlwapp");if(k instanceof b&&typeof k[i]==="function"){j=k[i].apply(k,Array.prototype.slice.call(h,1))}if(i==="destroy"){d.data(this,"plugin_qlwapp",null)}});return j!==g?j:this}}};function f(){d("div#qlwapp").qlwapp()}f();d(c).on("load",function(){f()});d(c).on("click",function(h){if(!d(h.target).closest("#qlwapp.qlwapp-show").length){d("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")}});d(c).on("resize",function(h){d("div#qlwapp").trigger("qlwapp.resize");d("div#qlwapp").trigger("qlwapp.init")})})(jQuery,window,document);
4.2.3/assets/js/select2.min.js ADDED
@@ -0,0 +1 @@
 
1
+ /*! Select2 4.0.6-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=a('<span class="select2-selection__clear">&times;</span>');c.StoreData(e[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(e)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,d.GetData(a[0])):d.GetData(a[0]);var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
{assets → 4.2.3/assets}/less/animations.less RENAMED
File without changes
{assets → 4.2.3/assets}/less/colors.less RENAMED
File without changes
{assets → 4.2.3/assets}/less/qlwapp.less RENAMED
File without changes
4.2.3/includes/defaults.php ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH'))
4
+ exit;
5
+
6
+ if (!class_exists('QLWAPP_Options')) {
7
+
8
+ class QLWAPP_Options {
9
+
10
+ protected static $instance;
11
+ public $defaults;
12
+
13
+ function defaults() {
14
+ $this->defaults = array(
15
+ 'license' => array(
16
+ 'market' => '',
17
+ 'key' => '',
18
+ 'email' => ''
19
+ ),
20
+ 'scheme' => array(
21
+ 'brand' => '',
22
+ 'text' => '',
23
+ 'link' => '',
24
+ 'message' => '',
25
+ 'label' => '',
26
+ 'name' => '',
27
+ ),
28
+ 'user' => array(
29
+ 'message' => esc_html__('Hello! I\'m testing the WhatsApp Chat plugin @https://quadlayers.com', 'qlwapp')
30
+ ),
31
+ 'button' => array(
32
+ 'layout' => 'button',
33
+ 'position' => 'bottom-right',
34
+ 'text' => esc_html__('How can I help you?', 'qlwapp'),
35
+ 'icon' => 'qlwapp-whatsapp-icon',
36
+ 'phone' => '+441234567890',
37
+ 'developer' => 'no',
38
+ 'rounded' => 'yes'
39
+ ),
40
+ 'box' => array(
41
+ 'enable' => 'no',
42
+ 'header' => '<h3>Hello!</h3><p>Click one of our representatives below to chat on WhatsApp or send us an email to <a href="mailto:hello@quadlayers.com">hello@quadlayers.com</a></p>',
43
+ 'footer' => '<p>Call us to <a href="tel://542215676835">+542215676835</a> from <em><time>0:00hs</time></em> a <em><time>24:00hs</time></em></p>'
44
+ ),
45
+ 'chat' => array(
46
+ 'emoji' => 'no',
47
+ 'response' => esc_html__('Write a response', 'qlwapp'),
48
+ ),
49
+ 'contacts' => array(
50
+ 0 => array(
51
+ 'chat' => true,
52
+ 'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
53
+ 'phone' => '+441234567890',
54
+ 'firstname' => 'John',
55
+ 'lastname' => 'Doe',
56
+ 'label' => esc_html__('Support', 'qlwapp'),
57
+ 'message' => esc_html__('Hello! I\'m John from the support team.', 'qlwapp')
58
+ ),
59
+ ),
60
+ 'display' => array(
61
+ 'devices' => 'all',
62
+ 'target' => array(),
63
+ ),
64
+ );
65
+
66
+ return $this->defaults;
67
+ }
68
+
69
+ function wac_options($options, $key) {
70
+
71
+ if ($phone = get_option('whatsapp_chat_page')) {
72
+ $options['button']['phone'] = $phone;
73
+ }
74
+
75
+ if ($text = get_option('whatsapp_chat_button')) {
76
+ $options['button']['text'] = $text;
77
+ }
78
+ if (get_option('whatsapp_chat_powered_by')) {
79
+ $options['button']['developer'] = 'yes';
80
+ }
81
+ if (false !== get_option('whatsapp_chat_round')) {
82
+ $options['button']['rounded'] = 'no';
83
+ }
84
+ if ($message = get_option('whatsapp_chat_msg')) {
85
+ $options['user']['message'] = $message;
86
+ }
87
+ if ($mobile = get_option('whatsapp_chat_mobile')) {
88
+ $options['display']['devices'] = 'mobile';
89
+ }
90
+ if (get_option('whatsapp_chat_hide_button')) {
91
+ $options['display']['devices'] = 'hide';
92
+ }
93
+ if (get_option('whatsapp_chat_hide_post')) {
94
+ $options['display']['post'] = array('none');
95
+ }
96
+ if (get_option('whatsapp_chat_hide_page')) {
97
+ $options['display']['page'] = array('none');
98
+ }
99
+ if (get_option('whatsapp_chat_hide_product')) {
100
+ $options['display']['product'] = array('none');
101
+ }
102
+ if (get_option('whatsapp_chat_hide_project')) {
103
+ $options['display']['project'] = array('none');
104
+ }
105
+
106
+ if (false !== get_option('whatsapp_chat_down')) {
107
+ $vposition = get_option('whatsapp_chat_down') ? 'bottom' : 'middle';
108
+ $hposition = get_option('whatsapp_chat_left_side') ? 'left' : 'right';
109
+ $options['button']['position'] = "{$vposition}-{$hposition}";
110
+ }
111
+
112
+ if (get_option('whatsapp_chat_dark')) {
113
+ $options['scheme']['brand'] = '#075E54';
114
+ $options['scheme']['text'] = '#ffffff';
115
+ } elseif (get_option('whatsapp_chat_white')) {
116
+ $options['scheme']['brand'] = '#ffffff';
117
+ $options['scheme']['text'] = '#075E54';
118
+ } elseif (false !== get_option('whatsapp_chat_white')) {
119
+ $options['scheme']['brand'] = '#20B038';
120
+ $options['scheme']['text'] = '#ffffff';
121
+ }
122
+
123
+ return $options;
124
+ }
125
+
126
+ function options() {
127
+
128
+ global $qlwapp;
129
+
130
+ $options = get_option(QLWAPP_DOMAIN);
131
+
132
+ if (isset($options['box']['enable']) && $options['box']['enable'] == 1) {
133
+ $options['box']['enable'] = 'yes';
134
+ }
135
+
136
+ if (isset($options['button']['rounded']) && $options['button']['rounded'] == 1) {
137
+ $options['button']['rounded'] = 'yes';
138
+ }
139
+
140
+ if (isset($options['button']['developer']) && $options['button']['developer'] == 1) {
141
+ $options['button']['developer'] = 'yes';
142
+ }
143
+
144
+ $qlwapp = $this->wp_parse_args($options, $this->defaults());
145
+ }
146
+
147
+ function wp_parse_args(&$a, $b) {
148
+ $a = (array) $a;
149
+ $b = (array) $b;
150
+ $result = $b;
151
+ foreach ($a as $k => &$v) {
152
+ if (is_array($v) && isset($result[$k])) {
153
+ $result[$k] = $this->wp_parse_args($v, $result[$k]);
154
+ } else {
155
+ $result[$k] = $v;
156
+ }
157
+ }
158
+ return $result;
159
+ }
160
+
161
+ function init() {
162
+ add_action('init', array($this, 'options'));
163
+ add_filter('default_option_qlwapp', array($this, 'wac_options'), 10, 2);
164
+ }
165
+
166
+ public static function instance() {
167
+ if (!isset(self::$instance)) {
168
+ self::$instance = new self();
169
+ self::$instance->defaults();
170
+ self::$instance->init();
171
+ }
172
+ return self::$instance;
173
+ }
174
+
175
+ }
176
+
177
+ QLWAPP_Options::instance();
178
+ }
4.2.3/includes/frontend.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!class_exists('QLWAPP_Frontend')) {
3
+
4
+ class QLWAPP_Frontend {
5
+
6
+ protected static $instance;
7
+
8
+ function add_js() {
9
+ wp_enqueue_style('qlwapp', plugins_url('/assets/css/qlwapp.min.css', QLWAPP_PLUGIN_FILE), null, QLWAPP_PLUGIN_VERSION, 'all');
10
+ wp_enqueue_script('qlwapp', plugins_url('/assets/js/qlwapp.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION, true);
11
+ }
12
+
13
+ function add_box() {
14
+
15
+ global $qlwapp;
16
+
17
+ if ($display = apply_filters('qlwapp_box_display', '__return_true')) {
18
+
19
+ if (is_file($file = apply_filters('qlwapp_box_template', QLWAPP_PLUGIN_DIR . 'template/box.php'))) {
20
+ include_once $file;
21
+ }
22
+ }
23
+ }
24
+
25
+ function add_frontend_css() {
26
+ global $qlwapp;
27
+ ?>
28
+ <style>
29
+ :root {
30
+ <?php
31
+ foreach ($qlwapp['scheme'] as $key => $value) {
32
+ if ($value != '') {
33
+ printf('--%s-scheme-%s:%s;', QLWAPP_DOMAIN, $key, $value);
34
+ }
35
+ }
36
+ ?>
37
+ }
38
+ <?php if ($qlwapp['scheme']['brand']): ?>
39
+ #qlwapp .qlwapp-toggle,
40
+ #qlwapp .qlwapp-box .qlwapp-header,
41
+ #qlwapp .qlwapp-box .qlwapp-user,
42
+ #qlwapp .qlwapp-box .qlwapp-user:before {
43
+ background-color: var(--qlwapp-scheme-brand);
44
+ }
45
+ <?php endif; ?>
46
+ <?php if ($qlwapp['scheme']['text']): ?>
47
+ #qlwapp .qlwapp-toggle,
48
+ #qlwapp .qlwapp-toggle .qlwapp-icon,
49
+ #qlwapp .qlwapp-toggle .qlwapp-text,
50
+ #qlwapp .qlwapp-box .qlwapp-header,
51
+ #qlwapp .qlwapp-box .qlwapp-user {
52
+ color: var(--qlwapp-scheme-text);
53
+ }
54
+ <?php endif; ?>
55
+ </style>
56
+ <?php
57
+ }
58
+
59
+ function box_display($display) {
60
+
61
+ global $qlwapp, $wp_query;
62
+
63
+ if (is_customize_preview()) {
64
+ return true;
65
+ }
66
+
67
+ if (count($qlwapp['display']['target'])) {
68
+
69
+ if (is_front_page() || is_home() || is_search() || is_404()) {
70
+ $display = false;
71
+ }
72
+
73
+ if (is_front_page() && in_array('home', $qlwapp['display']['target'])) {
74
+ return true;
75
+ }
76
+
77
+ if (is_home() && in_array('blog', $qlwapp['display']['target'])) {
78
+ return true;
79
+ }
80
+
81
+ if (is_search() && in_array('search', $qlwapp['display']['target'])) {
82
+ return true;
83
+ }
84
+
85
+ if (is_404() && in_array('error', $qlwapp['display']['target'])) {
86
+ return true;
87
+ }
88
+ }
89
+
90
+ if (is_archive() && isset($wp_query->queried_object->taxonomy)) {
91
+
92
+ if (isset($qlwapp['display'][$wp_query->queried_object->taxonomy]) && count($qlwapp['display'][$wp_query->queried_object->taxonomy])) {
93
+
94
+ $display = false;
95
+
96
+ if (in_array($wp_query->queried_object->slug, $qlwapp['display'][$wp_query->queried_object->taxonomy])) {
97
+ return true;
98
+ }
99
+ }
100
+ }
101
+
102
+ return $display;
103
+ }
104
+
105
+ function do_shortcode($atts, $content = null) {
106
+
107
+ global $qlwapp;
108
+
109
+ extract(shortcode_atts($qlwapp['button'], $atts));
110
+
111
+ ob_start();
112
+ ?>
113
+ <div id="qlwapp" class="qlwapp-button qlwapp-js-ready">
114
+ <a class="qlwapp-toggle" data-action="open" data-phone="<?php echo esc_attr($phone); ?>" href="#" target="_blank">
115
+ <?php if ($icon): ?>
116
+ <i class="qlwapp-icon <?php echo esc_attr($icon); ?>"></i>
117
+ <?php endif; ?>
118
+ <?php if ($content): ?>
119
+ <span class="qlwapp-text"><?php echo esc_html($content); ?></span>
120
+ <?php endif; ?>
121
+ </a>
122
+ </div>
123
+ <?php
124
+ return ob_get_clean();
125
+ }
126
+
127
+ function init() {
128
+ add_action('wp_enqueue_scripts', array($this, 'add_js'));
129
+ add_action('wp_head', array($this, 'add_frontend_css'), 200);
130
+ add_action('wp_footer', array($this, 'add_box'));
131
+ add_filter('qlwapp_box_display', array($this, 'box_display'));
132
+ add_shortcode('whatsapp', array($this, 'do_shortcode'));
133
+ }
134
+
135
+ public static function instance() {
136
+ if (!isset(self::$instance)) {
137
+ self::$instance = new self();
138
+ self::$instance->init();
139
+ }
140
+ return self::$instance;
141
+ }
142
+
143
+ }
144
+
145
+ QLWAPP_Frontend::instance();
146
+ }
4.2.3/includes/pages/box.php ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Disable', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[box][enable]" class="qlwapp-select2">
10
+ <option value="yes" <?php selected($qlwapp['box']['enable'], 'yes'); ?>><?php esc_html_e('Enable contact box', 'qlwapp'); ?></option>
11
+ <option value="no" <?php selected($qlwapp['box']['enable'], 'no'); ?>><?php esc_html_e('Disable contact box', 'qlwapp'); ?></option>
12
+ </select>
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <th scope="row"><?php esc_html_e('Header', 'qlwapp'); ?></th>
17
+ <td>
18
+ <?php wp_editor($qlwapp['box']['header'], 'qlwapp_box_header', ['editor_height' => 200, 'textarea_name' => esc_attr(QLWAPP_DOMAIN) . '[box][header]']); ?>
19
+ </td>
20
+ </tr>
21
+ <tr>
22
+ <th scope="row"><?php esc_html_e('Footer', 'qlwapp'); ?></th>
23
+ <td>
24
+ <?php wp_editor($qlwapp['box']['footer'], 'qlwapp_box_footer', ['editor_height' => 200, 'textarea_name' => esc_attr(QLWAPP_DOMAIN) . '[box][footer]']); ?>
25
+ </td>
26
+ </tr>
27
+ <tr>
28
+ <th scope="row"><?php esc_html_e('Response', 'qlwapp'); ?></th>
29
+ <td>
30
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[chat][response]'); ?>" placeholder="<?php echo esc_html($this->defaults['chat']['response']); ?>" value="<?php echo esc_attr($qlwapp['chat']['response']); ?>" class="qlwapp-input"/>
31
+ <p class="description"><?php esc_html_e('Write a response text.', 'qlwapp'); ?></p>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th scope="row">
36
+ <?php esc_html_e('Contacts', 'qlwapp'); ?>
37
+ </th>
38
+ <td>
39
+ <table id="qlwapp-contact-form" class="form-table widefat hidden" data-editindex="-1">
40
+ <?php $this->contact_table(); ?>
41
+ <tfoot>
42
+ <tr>
43
+ <td colspan="2">
44
+ <?php submit_button(esc_html__('Save Contact', 'qlwapp'), 'primary', null, false, array('id' => 'btn-save-contact')); ?>
45
+ <span class="spinner"></span>
46
+ </td>
47
+ </tr>
48
+ <tfoot>
49
+ </table>
50
+ <div class="submit qlwapp-premium-field">
51
+ <?php submit_button(esc_html__('Add Contact', 'qlwapp'), 'secondary', null, false, array('id' => 'btn-add-contact')); ?>
52
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
53
+ </div>
54
+ <table id="qlwapp-contacts-table" class="form-table widefat striped">
55
+ <thead>
56
+ <tr>
57
+ <td><b><?php esc_html_e('Avatar', 'qlwapp'); ?></b></td>
58
+ <td><b><?php esc_html_e('Phone', 'qlwapp'); ?></b></td>
59
+ <td><b><?php esc_html_e('Name', 'qlwapp'); ?></b></td>
60
+ <td><b><?php esc_html_e('Label', 'qlwapp'); ?></b></td>
61
+ <td><b><?php esc_html_e('Message', 'qlwapp'); ?></b></td>
62
+ <td><b><?php esc_html_e('Chat', 'qlwapp'); ?></b></td>
63
+ <td><b><?php esc_html_e('Actions', 'qlwapp'); ?></b></td>
64
+ </tr>
65
+ </thead>
66
+ <tbody>
67
+ </tbody>
68
+ </table>
69
+ </td>
70
+ </tr>
71
+ </tbody>
72
+ </table>
73
+ <?php submit_button() ?>
74
+ </form>
75
+ <script>
76
+ (function($) {
77
+ let qlwapp_contacts = <?php echo json_encode($qlwapp['contacts']) ?>;
78
+ let tableBody = document.querySelector('#qlwapp-contacts-table tbody');
79
+ $(document).on('click', '#btn-edit-contact', function() {
80
+ esc_html_edit_contact(this.dataset.cid);
81
+ return false;
82
+ });
83
+ $('#btn-save-contact').click(function(e) {
84
+ e.preventDefault();
85
+ let contact = {
86
+
87
+ firstname: $('#qlwapp-contact-form #cfirstname').val(),
88
+ lastname: $('#qlwapp-contact-form #clastname').val(),
89
+ phone: $('#qlwapp-contact-form #cphone').val(),
90
+ label: $('#qlwapp-contact-form #clabel').val(),
91
+ message: $('#qlwapp-contact-form #cmessage').val(),
92
+ chat: $('#qlwapp-contact-form .cchat:checked').val(),
93
+ avatar: $('#qlwapp-contact-form #cavatar').val()
94
+ }
95
+
96
+ let index = document.querySelector('#qlwapp-contact-form').dataset.editindex;
97
+ if (index != '-1') {
98
+ qlwapp_contacts[parseInt(index)] = contact;
99
+ } else {
100
+ qlwapp_contacts.push(contact);
101
+ }
102
+ qlwapp_show_contacts();
103
+ $('#qlwapp-contact-form').slideToggle();
104
+ return false;
105
+ });
106
+ $(document).on('click', '#btn-delete-contact', function () {
107
+ let index = this.dataset.cid;
108
+ if (!qlwapp_contacts[index])
109
+ return false;
110
+ qlwapp_contacts.splice(index, 1);
111
+ qlwapp_show_contacts();
112
+ return false;
113
+ });
114
+ function qlwapp_show_contacts() {
115
+ tableBody.innerHTML = '';
116
+ let i = 0;
117
+ for (let contact of qlwapp_contacts) {
118
+ let tr = document.createElement('tr');
119
+ tr.dataset.cid = i;
120
+ let td1 = document.createElement('td');
121
+ let td2 = document.createElement('td');
122
+ let td3 = document.createElement('td');
123
+ let td4 = document.createElement('td');
124
+ let td5 = document.createElement('td');
125
+ let td6 = document.createElement('td');
126
+ let tda = document.createElement('td');
127
+ let avatar = contact.avatar ? contact.avatar : 'https://www.gravatar.com/avatar/00000000000000000000000000000000';
128
+ //td0.innerHTML = (i + 1);
129
+ tda.innerHTML = '<img class="qlwapp-avatar" src="' + avatar + '" alt="" width="100" height="100" />' +
130
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][avatar]" value="' + avatar + '" />';
131
+ td1.innerHTML = contact.phone +
132
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][phone]" value="' + contact.phone + '" />';
133
+ td2.innerHTML = contact.firstname + ' ' + contact.lastname +
134
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][firstname]" value="' + contact.firstname + '" />' +
135
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][lastname]" value="' + contact.lastname + '" />';
136
+ td3.innerHTML = contact.label +
137
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][label]" value="' + contact.label + '" />';
138
+ td4.innerHTML = contact.message +
139
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][message]" value="' + contact.message + '" />';
140
+ td5.innerHTML = (Number(contact.chat) ? 'Enabled' : 'Disabled') +
141
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][chat]" value="' + Number(contact.chat) + '" />';
142
+ td6.innerHTML = '<a href="javascript:;" id="btn-delete-contact" data-cid="' + i + '">Remove</a> | ' +
143
+ '<a href="javascript:;" id="btn-edit-contact" data-cid="' + i + '">Edit</a>';
144
+ //tr.appendChild(td0);
145
+ tr.appendChild(tda);
146
+ tr.appendChild(td1);
147
+ tr.appendChild(td2);
148
+ tr.appendChild(td3);
149
+ tr.appendChild(td4);
150
+ tr.appendChild(td5);
151
+ tr.appendChild(td6);
152
+ tableBody.appendChild(tr);
153
+ i++;
154
+ }
155
+ }
156
+
157
+ function esc_html_edit_contact(index) {
158
+ let contact = qlwapp_contacts[index] || null;
159
+ if (!contact)
160
+ return false;
161
+ document.querySelector('#qlwapp-contact-form').dataset.editindex = index;
162
+ $('#qlwapp-contact-form #cfirstname').val(contact.firstname);
163
+ $('#qlwapp-contact-form #clastname').val(contact.lastname);
164
+ $('#qlwapp-contact-form #cphone').val(contact.phone);
165
+ $('#qlwapp-contact-form #clabel').val(contact.label);
166
+ $('#qlwapp-contact-form .cchat[value="1"]').attr('checked', contact.chat);
167
+ $('#qlwapp-contact-form .cchat[value="0"]').attr('checked', !contact.chat);
168
+ $('#qlwapp-contact-form #cmessage').val(contact.message);
169
+ $('#qlwapp-contact-form #cavatar').val(contact.avatar);
170
+ $('#qlwapp-contact-form #cavatar-img').attr('src', contact.avatar);
171
+ $('#qlwapp-contact-form').slideToggle();
172
+ }
173
+ qlwapp_show_contacts();
174
+ })(jQuery);
175
+ </script>
4.2.3/includes/pages/button.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Layout', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][layout]" class="qlwapp-select2">
10
+ <option value="button" <?php selected($qlwapp['button']['layout'], 'button'); ?>><?php esc_html_e('Button', 'qlwapp'); ?></option>
11
+ <option value="bubble" <?php selected($qlwapp['button']['layout'], 'bubble'); ?>><?php esc_html_e('Bubble', 'qlwapp'); ?></option>
12
+ </select>
13
+ <p class="description"><?php esc_html_e('Switch to change the button layout.', 'qlwapp'); ?></p>
14
+ </td>
15
+ </tr>
16
+ <tr>
17
+ <th scope="row"><?php esc_html_e('Rounded', 'qlwapp'); ?></th>
18
+ <td>
19
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][rounded]" class="qlwapp-select2">
20
+ <option value="yes" <?php selected($qlwapp['button']['rounded'], 'yes'); ?>><?php esc_html_e('Add rounded border', 'qlwapp'); ?></option>
21
+ <option value="no" <?php selected($qlwapp['button']['rounded'], 'no'); ?>><?php esc_html_e('Remove rounded border', 'qlwapp'); ?></option>
22
+ </select>
23
+ <p class="description"><?php esc_html_e('Add rounded border to the button.', 'qlwapp'); ?></p>
24
+ </td>
25
+ </tr>
26
+ <tr>
27
+ <th scope="row"><?php esc_html_e('Position', 'qlwapp'); ?></th>
28
+ <td>
29
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][position]" class="qlwapp-select2">
30
+ <option value="middle-left" <?php selected($qlwapp['button']['position'], 'middle-left'); ?>><?php esc_html_e('Middle Left', 'qlwapp'); ?></option>
31
+ <option value="middle-right" <?php selected($qlwapp['button']['position'], 'middle-right'); ?>><?php esc_html_e('Middle Right', 'qlwapp'); ?></option>
32
+ <option value="bottom-left" <?php selected($qlwapp['button']['position'], 'bottom-left'); ?>><?php esc_html_e('Bottom Left', 'qlwapp'); ?></option>
33
+ <option value="bottom-right" <?php selected($qlwapp['button']['position'], 'bottom-right'); ?>><?php esc_html_e('Bottom Right', 'qlwapp'); ?></option>
34
+ </select>
35
+ <p class="description"><?php esc_html_e('Switch to change the button position.', 'qlwapp'); ?></p>
36
+ </td>
37
+ </tr>
38
+ <tr>
39
+ <th scope="row"><?php esc_html_e('Text', 'qlwapp'); ?></th>
40
+ <td>
41
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][text]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['text']); ?>" value="<?php echo esc_attr($qlwapp['button']['text']); ?>" class="qlwapp-input"/>
42
+ <p class="description"><?php esc_html_e('Customize your text.', 'qlwapp'); ?></p>
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <th scope="row"><?php esc_html_e('Phone', 'qlwapp'); ?></th>
47
+ <td>
48
+ <input type="tel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['phone']); ?>" value="<?php echo esc_attr($qlwapp['button']['phone']); ?>" class="qlwapp-input"/>
49
+ <p class="description"><?php esc_html_e('Full phone number in international format.', 'qlwapp'); ?></p>
50
+
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <th scope="row"><?php esc_html_e('Icon', 'qlwapp'); ?></th>
55
+ <td>
56
+ <div class="submit qlwapp-premium-field">
57
+ <?php submit_button(__('Add Icon', 'qlwapp'), 'secondary', null, false, array('id' => 'btn-add-icon')); ?>
58
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
59
+ </div>
60
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][icon]" placeholder="<?php echo esc_html($this->defaults['button']['icon']); ?>" value="<?php echo esc_attr($qlwapp['button']['icon']); ?>" class="qlwapp-input"/>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <th scope="row"><?php esc_html_e('Message', 'qlwapp'); ?></th>
65
+ <td>
66
+ <textarea maxlength="500" style="width:100%;height: 100px;padding: 8px;" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[user][message]" placeholder="<?php echo esc_html($this->defaults['user']['message']); ?>" ><?php echo esc_html(trim($qlwapp['user']['message'])); ?></textarea>
67
+ <p class="description"><?php esc_html_e('Message that will automatically appear in the text field of a chat.', 'qlwapp'); ?></p>
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <th scope="row"><?php esc_html_e('Discreet link', 'qlwapp'); ?></th>
72
+ <td>
73
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][developer]" class="qlwapp-select2">
74
+ <option value="yes" <?php selected($qlwapp['button']['developer'], 'yes'); ?>><?php esc_html_e('Show developer link', 'qlwapp'); ?></option>
75
+ <option value="no" <?php selected($qlwapp['button']['developer'], 'no'); ?>><?php esc_html_e('Hide developer link', 'qlwapp'); ?></option>
76
+ </select>
77
+ <p class="description"><?php esc_html_e('Leave a discrete link to developer to help and keep new updates and support.', 'qlwapp'); ?></p>
78
+ </td>
79
+ </tr>
80
+ </tbody>
81
+ </table>
82
+ <?php submit_button() ?>
83
+ </form>
4.2.3/includes/pages/colors.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Background', 'qlwapp'); ?></th>
8
+ <td>
9
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][brand]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['brand']); ?>" />
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <th scope="row"><?php esc_html_e('Color', 'qlwapp'); ?></th>
14
+ <td>
15
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][text]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['text']); ?>" />
16
+ </td>
17
+ </tr>
18
+ <tr class="qlwapp-premium-field">
19
+ <th scope="row"><?php esc_html_e('Link', 'qlwapp'); ?></th>
20
+ <td>
21
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][link]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['link']); ?>" />
22
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
23
+ </td>
24
+ </tr>
25
+ <tr class="qlwapp-premium-field">
26
+ <th scope="row"><?php esc_html_e('Message', 'qlwapp'); ?></th>
27
+ <td>
28
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][message]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['message']); ?>" />
29
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
30
+ </td>
31
+ </tr>
32
+ <tr class="qlwapp-premium-field">
33
+ <th scope="row"><?php esc_html_e('Label', 'qlwapp'); ?></th>
34
+ <td>
35
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][label]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['label']); ?>" />
36
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
37
+ </td>
38
+ </tr>
39
+ <tr class="qlwapp-premium-field">
40
+ <th scope="row"><?php esc_html_e('Name', 'qlwapp'); ?></th>
41
+ <td>
42
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][name]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['name']); ?>" />
43
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
44
+ </td>
45
+ </tr>
46
+ </tbody>
47
+ </table>
48
+ <?php submit_button() ?>
49
+ </form>
4.2.3/includes/pages/display.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Devices', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[display][devices]" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr('Posts', 'qlwapp'); ?>" class="qlwapp-select2">
10
+ <option value="all" <?php selected('all', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in all devices', 'qlwapp'); ?></option>
11
+ <option value="mobile" <?php selected('mobile', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in mobile devices', 'qlwapp'); ?></option>
12
+ <option value="desktop" <?php selected('desktop', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in desktop devices', 'qlwapp'); ?></option>
13
+ <option value="hide" <?php selected('hide', $qlwapp['display']['devices']); ?>><?php esc_html_e('Hide in all devices', 'qlwapp'); ?></option>
14
+ </select>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <th scope="row"><?php esc_html_e('Target', 'qlwapp'); ?></th>
19
+ <td>
20
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][target][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr('Posts', 'qlwapp'); ?>" class="qlwapp-select2">
21
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
22
+ <option value="home" <?php echo selected(true, in_array('home', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Home', 'qlwapp'); ?></option>
23
+ <option value="blog" <?php echo selected(true, in_array('blog', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Blog', 'qlwapp'); ?></option>
24
+ <option value="search" <?php echo selected(true, in_array('search', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Search', 'qlwapp'); ?></option>
25
+ <option value="error" <?php echo selected(true, in_array('error', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html('404'); ?></option>
26
+ </select>
27
+ <p class="description"><?php esc_html_e('If you select an option all the other will be excluded', 'qlwapp'); ?></p>
28
+ </td>
29
+ </tr>
30
+ <?php
31
+ foreach (get_post_types(array('public' => true, 'show_in_nav_menus' => true), 'objects') as $type) {
32
+
33
+ if (!isset($qlwapp['display'][$type->name])) {
34
+ $qlwapp['display'][$type->name] = array();
35
+ }
36
+
37
+ $posts = get_posts(array(
38
+ 'post_type' => $type->name,
39
+ 'post_status' => 'publish',
40
+ 'numberposts' => 10
41
+ ));
42
+
43
+ if ($count = wp_count_posts($type->name)) {
44
+ ?>
45
+ <tr class="qlwapp-premium-field">
46
+ <th scope="row"><?php esc_html_e(ucwords($type->label)); ?></th>
47
+ <td>
48
+ <select id="qlwapp_select2_<?php echo esc_attr($type->name); ?>" multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $type->name . '][]'); ?>" style="width:350px" data-placeholder="<?php printf(esc_html__('Select for %s&hellip;', 'qlwapp'), $type->label); ?>" aria-label="<?php echo esc_attr($type->label); ?>" data-name="<?php echo esc_attr($type->name); ?>" class="<?php echo esc_attr($count->publish < 11 ? 'qlwapp-select2' : 'qlwapp-select2-ajax' ); ?>">
49
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
50
+ <option value="archive" <?php echo selected(true, in_array('archive', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Archive', 'qlwapp'); ?></option>
51
+ <?php
52
+ if ($count->publish < 11) {
53
+
54
+ foreach ($posts as $post) {
55
+ ?>
56
+ <option value="<?php echo esc_attr($post->post_name); ?>" <?php echo selected(true, in_array($post->post_name, (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html($post->post_title); ?></option>
57
+ <?php
58
+ }
59
+ }
60
+
61
+ if (isset($qlwapp['display'][$type->name]) && count($qlwapp['display'][$type->name])) {
62
+ foreach ($qlwapp['display'][$type->name] as $id => $slug) {
63
+ if ($post = get_page_by_path($slug)) {
64
+ ?>
65
+ <option value="<?php echo esc_attr($slug); ?>" selected="selected"><?php echo esc_html(mb_substr($post->post_title, 0, 49)); ?></option>
66
+ <?php
67
+ }
68
+ }
69
+ }
70
+ ?>
71
+ </select>
72
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
73
+ </td>
74
+ </tr>
75
+ <?php
76
+ }
77
+ }
78
+ ?>
79
+ <?php
80
+ foreach ($taxonomies = get_taxonomies(array('public' => true), 'objects') as $taxonomy) {
81
+
82
+ if (!isset($qlwapp['display'][$taxonomy->name])) {
83
+ $qlwapp['display'][$taxonomy->name] = array();
84
+ }
85
+
86
+ $terms = get_terms(array(
87
+ 'taxonomy' => $taxonomy->name,
88
+ 'hide_empty' => false,
89
+ ));
90
+
91
+ if (count($terms)) {
92
+ ?>
93
+ <tr>
94
+ <th scope="row"><?php esc_html_e(ucwords($taxonomy->label)); ?></th>
95
+ <td>
96
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $taxonomy->name . '][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr($taxonomy->label); ?>" class="qlwapp-select2">
97
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
98
+ <?php
99
+ foreach ($terms as $term) {
100
+ ?>
101
+ <option value="<?php echo esc_attr($term->slug); ?>" <?php echo selected(true, in_array($term->slug, (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html($term->name); ?></option>
102
+ <?php
103
+ }
104
+ ?>
105
+ </select>
106
+ </td>
107
+ </tr>
108
+ <?php
109
+ }
110
+ }
111
+ ?>
112
+ </tbody>
113
+ </table>
114
+ <?php submit_button() ?>
115
+ </form>
4.2.3/includes/pages/purchase.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <div class="two-col">
3
+ <div class="col" style="min-width: 60%;">
4
+ <div class="welcome-header">
5
+ <h1><?php esc_html_e('Premium', 'qlwapp'); ?></h1>
6
+ <div class="about-description">
7
+ <?php esc_html_e('Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site.', 'qlwapp'); ?>
8
+ </div>
9
+ <br/>
10
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLWAPP_PURCHASE_URL); ?>"><?php esc_html_e('Purchase Now', 'qlwapp'); ?></a>
11
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLWAPP_SUPPORT_URL); ?>"><?php esc_html_e('Get Support', 'qlwapp'); ?></a>
12
+ </div>
13
+ <hr/>
14
+ <div class="feature-section">
15
+ <h3><?php esc_html_e('Multiple agents', 'qlwapp'); ?></h3>
16
+ <p>
17
+ <?php esc_html_e('WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site.', 'qlwapp'); ?>
18
+ </p>
19
+ </div>
20
+ <div class="feature-section">
21
+ <h3><?php esc_html_e('Customize colors', 'qlwapp'); ?></h3>
22
+ <p>
23
+ <?php esc_html_e('Customize the colors to match site’s theme colors through the WordPress live customizer interface.', 'qlwapp'); ?>
24
+ </p>
25
+ </div>
26
+ <div class="feature-section">
27
+ <h3><?php esc_html_e('Custom icons', 'qlwapp'); ?></h3>
28
+ <p>
29
+ <?php esc_html_e('Our plugin allows you to select between more than fourty icons to include in your Whatsapp button.', 'qlwapp'); ?>
30
+ </p>
31
+ </div>
32
+ </div>
33
+ <div class="col" style="max-width: 33%;min-width: 33%;">
34
+ <img src="<?php echo plugins_url('/assets/img/box1.png', QLWAPP_PLUGIN_FILE); ?>">
35
+ </div>
36
+ </div>
37
+ <br/>
38
+ <br/>
39
+ <div class="two-col">
40
+ <div class="col" style="max-width: 33%;min-width: 33%;">
41
+ <img src="<?php echo plugins_url('/assets/img/box2.png', QLWAPP_PLUGIN_FILE); ?>">
42
+ </div>
43
+ <div class="col" style="min-width: 60%;">
44
+ <br/>
45
+ <div class="welcome-header">
46
+ <h1><?php esc_html_e('Chatbox interface', 'qlwapp'); ?></h1>
47
+ <div class="about-description">
48
+ <?php esc_html_e('WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message.', 'qlwapp'); ?>
49
+ <?php //esc_html_e('Take in mind that this chat dosent allow .', 'qlwapp'); ?>
50
+ </div>
51
+ </div>
52
+ <hr/>
53
+ <div class="feature-section">
54
+ <h3><?php esc_html_e('Custom agent message', 'qlwapp'); ?></h3>
55
+ <p>
56
+ <?php esc_html_e('Allow you to set a custom message for each agent that will displayed on the chatbox.', 'qlwapp'); ?>
57
+ </p>
58
+ </div>
59
+ <div class="feature-section">
60
+ <h3><?php esc_html_e('Custom user message', 'qlwapp'); ?></h3>
61
+ <p>
62
+ <?php esc_html_e('You can choose the predefined user message that will be sent to the agent phone number.', 'qlwapp'); ?>
63
+ </p>
64
+ </div>
65
+ <div class="feature-section">
66
+ <h3><?php esc_html_e('Type user message', 'qlwapp'); ?></h3>
67
+ <p>
68
+ <?php esc_html_e('Allow your users to type their own messages before send it to the agent phone number.', 'qlwapp'); ?>
69
+ </p>
70
+ </div>
71
+ </div>
72
+ </div>
4.2.3/includes/pages/welcome.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="two-col">
2
+ <div class="col" style="min-width: 60%;">
3
+ <div class="qlwapp-welcome-header">
4
+ <h1><?php echo QLWAPP_PLUGIN_NAME; ?> <span style="font-size: 24px;color: #555;">v<?php echo QLWAPP_PLUGIN_VERSION; ?></span></h1>
5
+ <div class="about-text">
6
+ <?php esc_html_e('Hello we\'re QuadLayers! We\'ve recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues.', 'qlwapp'); ?>
7
+ </div>
8
+ </div>
9
+ <hr/>
10
+ <div class="feature-section one-col is-wide wp-clearfix">
11
+ <h3><?php esc_html_e('Community', 'qlwapp'); ?></h3>
12
+ <p>
13
+ <?php esc_html_e('If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now.', 'qlwapp'); ?>
14
+ </p>
15
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_GROUP_URL; ?>"><?php esc_html_e('Join us', 'qlwapp'); ?></a>
16
+ </div>
17
+ <div class="feature-section one-col is-wide wp-clearfix">
18
+ <h3><?php esc_html_e('Demo', 'qlwapp'); ?></h3>
19
+ <p>
20
+ <?php esc_html_e('Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version.', 'qlwapp'); ?>
21
+ </p>
22
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_DEMO_URL; ?>"><?php esc_html_e('View demo', 'qlwapp'); ?></a>
23
+ </div>
24
+ <div class="feature-section one-col is-wide wp-clearfix">
25
+ <h3><?php esc_html_e('Support', 'qlwapp'); ?></h3>
26
+ <p>
27
+ <?php esc_html_e('If you have any doubt or you find any issue don\'t hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users.', 'qlwapp'); ?>
28
+ </p>
29
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_SUPPORT_URL; ?>"><?php esc_html_e('Submit ticket', 'qlwapp'); ?></a>
30
+ </div>
31
+ </div>
32
+ <div class="col" style="max-width: 33%;min-width: 33%;">
33
+ <img src="<?php echo plugins_url('/assets/img/box1.png', QLWAPP_PLUGIN_FILE); ?>">
34
+ </div>
35
+ </div>
4.2.3/includes/settings.php ADDED
@@ -0,0 +1,473 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH'))
3
+ exit;
4
+
5
+ if (!class_exists('QLWAPP_Settings')) {
6
+
7
+ class QLWAPP_Settings extends QLWAPP_Options {
8
+
9
+ protected static $instance;
10
+
11
+ function ajax_dismiss_notice() {
12
+
13
+ if ($notice_id = ( isset($_POST['notice_id']) ) ? sanitize_key($_POST['notice_id']) : '') {
14
+
15
+ update_user_meta(get_current_user_id(), $notice_id, true);
16
+
17
+ wp_send_json($notice_id);
18
+ }
19
+
20
+ wp_die();
21
+ }
22
+
23
+ function add_action_links($links) {
24
+
25
+ $links[] = '<a target="_blank" href="' . QLWAPP_PURCHASE_URL . '">' . esc_html__('Premium', 'qlwapp') . '</a>';
26
+
27
+ $links[] = '<a href="' . admin_url('admin.php?page=' . QLWAPP_DOMAIN) . '">' . esc_html__('Settings', 'qlwapp') . '</a>';
28
+
29
+ return $links;
30
+ }
31
+
32
+ function ajax_get_posts() {
33
+
34
+ $data = array(
35
+ array('none', esc_html__('Exclude from all', 'qlwapp'))
36
+ );
37
+
38
+ $posts = get_posts(array(
39
+ 's' => $_GET['q'],
40
+ 'post_type' => $_GET['name'],
41
+ 'post_status' => 'publish',
42
+ 'ignore_sticky_posts' => 1,
43
+ 'posts_per_page' => 10
44
+ ));
45
+
46
+ foreach ($posts as $post) {
47
+ $data[] = array($post->post_name, mb_substr($post->post_title, 0, 49));
48
+ }
49
+
50
+ wp_send_json($data);
51
+
52
+ wp_die();
53
+ }
54
+
55
+ function add_menu() {
56
+ add_menu_page(QLWAPP_PLUGIN_NAME, QLWAPP_PLUGIN_NAME, 'manage_options', QLWAPP_DOMAIN, array($this, 'settings_welcome'), 'dashicons-format-chat');
57
+ add_submenu_page(QLWAPP_DOMAIN, __('Welcome', 'qlwapp'), esc_html__('Welcome', 'qlwapp'), 'manage_options', QLWAPP_DOMAIN, array($this, 'settings_welcome'));
58
+ add_submenu_page(QLWAPP_DOMAIN, __('Button', 'qlwapp'), esc_html__('Button', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_button', array($this, 'settings_button'));
59
+ add_submenu_page(QLWAPP_DOMAIN, __('Box', 'qlwapp'), esc_html__('Box', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_box', array($this, 'settings_box'));
60
+ add_submenu_page(QLWAPP_DOMAIN, __('Display', 'qlwapp'), esc_html__('Display', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_display', array($this, 'settings_display'));
61
+ add_submenu_page(QLWAPP_DOMAIN, __('Colors', 'qlwapp'), esc_html__('Colors', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_colors', array($this, 'settings_colors'));
62
+ add_submenu_page(QLWAPP_DOMAIN, __('Premium', 'qlwapp'), sprintf('<i class="dashicons dashicons-awards"></i> %s', __('Premium', 'qlwapp')), 'edit_posts', QLWAPP_DOMAIN . '_purchase', array($this, 'settings_purchase'));
63
+ }
64
+
65
+ function settings_header() {
66
+
67
+ global $submenu;
68
+
69
+ if (isset($submenu[QLWAPP_DOMAIN])) {
70
+ $welcome_menu_items = $submenu[QLWAPP_DOMAIN];
71
+ }
72
+
73
+ if (is_array($welcome_menu_items)) {
74
+ ?>
75
+ <div class="wrap about-wrap full-width-layout qlwrap">
76
+
77
+ <h1><?php esc_html_e('WhatsApp Chat', 'qlwapp'); ?></h1>
78
+
79
+ <p class="about-text"><?php esc_html_e('Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users.', 'qlwapp'); ?></p>
80
+
81
+ <p class="about-text">
82
+ <?php printf('<a href="%s" target="_blank">%s</a>', QLWAPP_DEMO_URL, esc_html__('Check out our demo', 'qlwapp')); ?></a>
83
+ </p>
84
+
85
+ <?php printf('<a href="%s" target="_blank"><div style="
86
+ background: #006bff url(%s) no-repeat;
87
+ background-position: top center;
88
+ background-size: 130px 130px;
89
+ color: #fff;
90
+ font-size: 14px;
91
+ text-align: center;
92
+ font-weight: 600;
93
+ margin: 5px 0 0;
94
+ padding-top: 120px;
95
+ height: 40px;
96
+ display: inline-block;
97
+ width: 140px;
98
+ position: absolute;
99
+ top: 0;
100
+ right: 0;
101
+ " class="ql-badge">%s</div></a>', 'https://quadlayers.com/?utm_source=qlwapp_admin', plugins_url('/assets/img/quadlayers.jpg', QLWAPP_PLUGIN_FILE), esc_html__('QuadLayers', 'qlwapp')); ?>
102
+
103
+ </div>
104
+ <div class="wrap about-wrap full-width-layout qlwrap">
105
+ <h2 class="nav-tab-wrapper">
106
+ <?php
107
+ foreach ($welcome_menu_items as $welcome_menu_item) {
108
+ if (strpos($welcome_menu_item[2], '.php') !== false)
109
+ continue;
110
+ ?>
111
+ <a href="<?php echo admin_url('admin.php?page=' . esc_attr($welcome_menu_item[2])); ?>" class="nav-tab<?php echo (isset($_GET['page']) && $_GET['page'] == $welcome_menu_item[2]) ? ' nav-tab-active' : ''; ?>"><?php echo $welcome_menu_item[0]; ?></a>
112
+ <?php
113
+ }
114
+ ?>
115
+ </h2>
116
+ </div>
117
+ <?php
118
+ }
119
+ }
120
+
121
+ function settings_sanitize($settings) {
122
+
123
+ if (isset($settings['button']['layout'])) {
124
+ $settings['button']['layout'] = sanitize_html_class($settings['button']['layout']);
125
+ }
126
+ if (isset($settings['button']['position'])) {
127
+ $settings['button']['position'] = sanitize_html_class($settings['button']['position']);
128
+ }
129
+ if (isset($settings['button']['text'])) {
130
+ $settings['button']['text'] = sanitize_text_field($settings['button']['text']);
131
+ }
132
+ if (isset($settings['button']['icon'])) {
133
+ $settings['button']['icon'] = sanitize_html_class($settings['button']['icon']);
134
+ }
135
+ if (isset($settings['box']['header'])) {
136
+ $settings['box']['header'] = wp_kses_post($settings['box']['header']);
137
+ }
138
+ if (isset($settings['box']['footer'])) {
139
+ $settings['box']['footer'] = wp_kses_post($settings['box']['footer']);
140
+ }
141
+ if (isset($settings['contacts'])) {
142
+ if (count($settings['contacts'])) {
143
+ foreach ($settings['contacts'] as $id => $c) {
144
+ $settings['contacts'][$id]['chat'] = boolval($settings['contacts'][$id]['chat']);
145
+ $settings['contacts'][$id]['avatar'] = sanitize_text_field($settings['contacts'][$id]['avatar']);
146
+ $settings['contacts'][$id]['phone'] = sanitize_text_field($settings['contacts'][$id]['phone']);
147
+ $settings['contacts'][$id]['firstname'] = sanitize_text_field($settings['contacts'][$id]['firstname']);
148
+ $settings['contacts'][$id]['lastname'] = sanitize_text_field($settings['contacts'][$id]['lastname']);
149
+ $settings['contacts'][$id]['label'] = sanitize_text_field($settings['contacts'][$id]['label']);
150
+ $settings['contacts'][$id]['message'] = wp_kses_post($settings['contacts'][$id]['message']);
151
+ //$settings['contacts'][$id]['message'] = stripslashes($settings['contacts'][$id]['message']);
152
+ }
153
+ }
154
+ }
155
+
156
+ return $settings;
157
+ }
158
+
159
+ function add_settings_register() {
160
+ register_setting(sanitize_key(QLWAPP_DOMAIN . '-group'), sanitize_key(QLWAPP_DOMAIN), array($this, 'settings_sanitize'));
161
+ }
162
+
163
+ function settings_welcome() {
164
+
165
+ global $qlwapp;
166
+ ?>
167
+ <?php $this->settings_header(); ?>
168
+ <div class="wrap about-wrap full-width-layout qlwrap">
169
+ <?php include_once('pages/welcome.php'); ?>
170
+ </div>
171
+ <?php
172
+ }
173
+
174
+ function settings_button() {
175
+
176
+ global $qlwapp;
177
+ ?>
178
+ <?php $this->settings_header(); ?>
179
+ <div class="wrap about-wrap full-width-layout qlwrap">
180
+ <?php include_once('pages/button.php'); ?>
181
+ </div>
182
+ <?php
183
+ }
184
+
185
+ function settings_box() {
186
+
187
+ global $qlwapp;
188
+ ?>
189
+ <?php $this->settings_header(); ?>
190
+ <div class="wrap about-wrap full-width-layout qlwrap">
191
+ <?php include_once('pages/box.php'); ?>
192
+ </div>
193
+ <?php
194
+ }
195
+
196
+ function settings_display() {
197
+
198
+ global $qlwapp;
199
+ ?>
200
+ <?php $this->settings_header(); ?>
201
+ <div class="wrap about-wrap full-width-layout qlwrap">
202
+ <?php include_once('pages/display.php'); ?>
203
+ </div>
204
+ <?php
205
+ }
206
+
207
+ function settings_colors() {
208
+
209
+ global $qlwapp;
210
+ ?>
211
+ <?php $this->settings_header(); ?>
212
+ <div class="wrap about-wrap full-width-layout qlwrap">
213
+ <?php include_once('pages/colors.php'); ?>
214
+ </div>
215
+ <?php
216
+ }
217
+
218
+ function settings_purchase() {
219
+
220
+ global $qlwapp;
221
+ ?>
222
+ <?php $this->settings_header(); ?>
223
+ <div class="wrap about-wrap full-width-layout qlwrap">
224
+ <?php include_once('pages/purchase.php'); ?>
225
+ </div>
226
+ <?php
227
+ }
228
+
229
+ function settings_contacts() {
230
+ ?>
231
+ <table class="form-table widefat" id="qlwapp-contact-form" data-editindex="-1">
232
+ <?php $this->contact_table(); ?>
233
+ </table>
234
+ <?php
235
+ }
236
+
237
+ function contact_table($id = 0) {
238
+ global $qlwapp;
239
+ ?>
240
+ <tr>
241
+ <td>
242
+ <div class="upload">
243
+ <img id="cavatar-img" class="qlwapp-avatar" data-src="<?php echo stripslashes(esc_url($qlwapp['contacts'][$id]['avatar'])); ?>" src="<?php echo esc_url($qlwapp['contacts'][$id]['avatar']); ?>" />
244
+ <div>
245
+ <input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][avatar]'); ?>" id="cavatar" value="<?php echo esc_url($qlwapp['contacts'][$id]['avatar']); ?>" />
246
+ <button type="button" class="upload_image_button button"><?php esc_html_e('Upload', 'qlwapp'); ?></button>
247
+ <button type="button" class="remove_image_button button">&times;</button>
248
+ </div>
249
+ </div>
250
+ </td>
251
+ <td>
252
+ <table>
253
+ <tr>
254
+ <td><b><?php esc_html_e('Firstname', 'qlwapp'); ?></b></td>
255
+ <td><input type="text" id="cfirstname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][firstname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['firstname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['firstname']); ?>" /></td>
256
+ <td><b><?php esc_html_e('Lastname', 'qlwapp'); ?></b></td>
257
+ <td><input type="text" id="clastname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][lastname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['lastname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['lastname']); ?>" /></td>
258
+ </tr>
259
+ <tr>
260
+ <td><b><?php esc_html_e('Phone', 'qlwapp'); ?></b></td><td><input type="text" id="cphone" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['phone']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['phone']); ?>" /></td>
261
+ <td><b><?php esc_html_e('Label', 'qlwapp'); ?></b></td><td><input type="text" id="clabel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][label]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['label']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['label']); ?>" /></td>
262
+ </tr>
263
+ </table>
264
+ </td>
265
+ </tr>
266
+ <tr class="qlwapp-premium-field">
267
+ <td><b><?php esc_html_e('Chat', 'qlwapp'); ?></b></td>
268
+ <td>
269
+ <p>
270
+ <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="1" <?php echo checked(true, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Enabled', 'qlwapp'); ?></label>
271
+ <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="0" <?php echo checked(false, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Disabled', 'qlwapp'); ?></label>
272
+ </p>
273
+ </td>
274
+ </tr>
275
+ <tr class="qlwapp-premium-field">
276
+ <td colspan="2"><b><?php esc_html_e('Message', 'qlwapp'); ?></b></td>
277
+ </tr>
278
+ <tr class="qlwapp-premium-field">
279
+ <td colspan="2"><?php wp_editor($qlwapp['contacts'][$id]['message'], 'cmessage', ['tinymce' => false, 'editor_height' => 150, 'textarea_name' => esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][message]')]); ?></td>
280
+ </tr>
281
+ <?php
282
+ }
283
+
284
+ function add_print_media_templates() {
285
+ ?>
286
+ <script type="text/html" id='tmpl-qlwapp-modal-backdrop'>
287
+ <div class="media-modal-backdrop">&nbsp;</div>
288
+ </script>
289
+ <script type="text/html" id='tmpl-qlwapp-modal-window'>
290
+ <div id="qlwapp_modal" class="media-modal wp-core-ui">
291
+ <button type="button" class="media-modal-close close">
292
+ <span class="media-modal-icon">
293
+ <span class="screen-reader-text"><?php esc_html_e('Close media panel'); ?></span>
294
+ </span>
295
+ </button>
296
+ <div class="media-frame mode-select wp-core-ui hide-menu">
297
+ <div class="media-frame-title">
298
+ <h1><?php esc_html_e('WhatsApp Chat', 'qlwapp'); ?><span class="dashicons dashicons-arrow-down"></span></h1>
299
+ </div>
300
+ <div class="media-frame-router">
301
+ <div class="media-router">
302
+ <a href="#" class="media-menu-item active"><?php esc_html_e('Select icon', 'qlwapp'); ?></a>
303
+ </div>
304
+ </div>
305
+ <div class="media-modal-content">
306
+ <div class="media-frame mode-select wp-core-ui">
307
+ <div class="media-frame-menu">
308
+ <div class="media-menu">
309
+ <a href="#" class="media-menu-item active"><?php esc_html_e('Featured Image'); ?></a>
310
+ </div>
311
+ </div>
312
+ <div class="media-frame-content" data-columns="10">
313
+ <div class="attachments-browser">
314
+ <input type="hidden" id="qlwapp_icon" value="{{ data.icon }}">
315
+ <ul tabindex="-1" class="attachments">
316
+ <?php foreach (explode(',', 'qlwf-chat,qlwf-chat1,qlwf-chat2,qlwf-comments,qlwf-chat3,qlwf-bubble1,qlwf-chat-alt-fill,qlwf-chat-alt-stroke,qlwf-comment-alt2-fill,qlwf-comment-alt2-stroke,qlwf-comment-fill,qlwf-comment-stroke,qlwf-comment,qlwf-comment-alt1-stroke,qlwf-chat4,qlwf-comments1,qlwf-chat5,qlwf-comment1,qlwf-bubble,qlwf-bubbles,qlwf-bubbles2,qlwf-bubble2,qlwf-bubbles3,qlwf-bubbles4,qlwf-whatsapp,qlwf-chat6,qlwf-mode_comment,qlwf-insert_comment,qlwf-chat_bubble_outline,qlwf-chat_bubble,qlwf-bubble_chart,qlwf-comment2,qlwf-chat7,qlwf-commenting-o,qlwf-commenting,qlwf-comments-o,qlwf-comment-o,qlwf-wechat,qlwf-comments2,qlwf-comment3,qlwf-chat8,qlwf-chat-bubble-dots,qlwf-bubbles1,qlwf-bubble3') as $id => $icon) : ?>
317
+ <li tabindex="0" role="checkbox" aria-label="<?php echo esc_attr($icon); ?>" aria-checked="false" data-id="<?php echo esc_attr($id); ?>" class="attachment save-ready icon _<?php echo esc_attr(str_replace(' ', '_', trim($icon))); ?>">
318
+ <div class="attachment-preview js--select-attachment type-image subtype-jpeg landscape">
319
+ <div class="thumbnail">
320
+ <i class="<?php echo esc_attr($icon); ?>"></i>
321
+ </div>
322
+ </div>
323
+ <button type="button" class="check" tabindex="-1">
324
+ <span class="media-modal-icon"></span>
325
+ <span class="screen-reader-text"><?php esc_html_e('Deselect'); ?></span>
326
+ </button>
327
+ </li>
328
+ <?php endforeach; ?>
329
+ </ul>
330
+ </div>
331
+ </div>
332
+ <div class="media-frame-toolbar">
333
+ <div class="media-toolbar">
334
+ <div class="media-toolbar-secondary"></div>
335
+ <div class="media-toolbar-primary search-form">
336
+ <button type="button" class="button media-button button-large button-primary media-button-select save"><?php esc_html_e('Save'); ?></button>
337
+ <button type="button" class="button media-button button-large button-secondary remove"><?php esc_html_e('Remove'); ?></button>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ </script>
346
+ <?php
347
+ }
348
+
349
+ function filter_pre_update_option($value, $old_value, $option) {
350
+
351
+ global $qlwapp;
352
+
353
+ if (isset($value['display'])) {
354
+ unset($qlwapp['display']);
355
+ }
356
+
357
+ if (isset($value['contacts'])) {
358
+ unset($qlwapp['contacts']);
359
+ }
360
+
361
+ return $this->wp_parse_args($value, $qlwapp);
362
+ }
363
+
364
+ function add_notices() {
365
+
366
+ if (!get_transient('qlwapp-first-rating') && !get_user_meta(get_current_user_id(), 'qlwapp-user-rating', true)) {
367
+ ?>
368
+ <div id="qlwapp-admin-rating" class="qlwapp-notice notice is-dismissible" data-notice_id="qlwapp-user-rating">
369
+ <div class="notice-container" style="padding-top: 10px; padding-bottom: 10px; display: flex; justify-content: left; align-items: center;">
370
+ <div class="notice-image">
371
+ <img style="border-radius:50%;max-width: 90px;" src="<?php echo plugins_url('/assets/img/logo.jpg', QLWAPP_PLUGIN_FILE); ?>" alt="<?php echo esc_html(QLWAPP_PLUGIN_NAME); ?>>">
372
+ </div>
373
+ <div class="notice-content" style="margin-left: 15px;">
374
+ <p>
375
+ <?php printf(esc_html__('Hello! Thank you for choosing the %s plugin!', 'qlwapp'), QLWAPP_PLUGIN_NAME); ?>
376
+ <br/>
377
+ <?php esc_html_e('Could you please give it a 5-star rating on WordPress? We know its a big favor, but we\'ve worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product.', 'qlwapp'); ?>
378
+ </p>
379
+ <a href="<?php echo esc_url(QLWAPP_REVIEW_URL); ?>" class="button-primary" target="_blank">
380
+ <?php esc_html_e('Yes, of course!', 'qlwapp'); ?>
381
+ </a>
382
+ <a href="<?php echo esc_url(QLWAPP_SUPPORT_URL); ?>" class="button-secondary" target="_blank">
383
+ <?php esc_html_e('Report a bug', 'qlwapp'); ?>
384
+ </a>
385
+ </div>
386
+ </div>
387
+ </div>
388
+ <script>
389
+ (function ($) {
390
+ $('.qlwapp-notice').on('click', '.notice-dismiss', function (e) {
391
+ e.preventDefault();
392
+ var notice_id = $(e.delegateTarget).data('notice_id');
393
+ $.ajax({
394
+ type: 'POST',
395
+ url: ajaxurl,
396
+ data: {
397
+ notice_id: notice_id,
398
+ action: 'qlwapp_dismiss_notice',
399
+ },
400
+ success: function (response) {
401
+ console.log(response);
402
+ },
403
+ });
404
+ });
405
+ })(jQuery);
406
+ </script>
407
+ <?php
408
+ }
409
+ }
410
+
411
+ function add_css() {
412
+ ?>
413
+ <style>
414
+ @font-face {
415
+ font-family: 'qlwf-whatsapp';
416
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
417
+ font-weight: normal;
418
+ font-style: normal;
419
+ }
420
+
421
+ #toplevel_page_qlwapp .dashicons-before.dashicons-format-chat:before {
422
+ font-family: 'qlwf-whatsapp' !important;
423
+ speak: none;
424
+ font-style: normal;
425
+ font-weight: normal;
426
+ font-variant: normal;
427
+ text-transform: none;
428
+ line-height: 1;
429
+ -webkit-font-smoothing: antialiased;
430
+ -moz-osx-font-smoothing: grayscale;
431
+ content: "\e900";
432
+ font-size: 17px;
433
+ line-height: 20px;
434
+ }
435
+ </style>
436
+ <?php
437
+ }
438
+
439
+ function add_js() {
440
+ if (isset($_GET['page']) && strpos($_GET['page'], 'qlwapp') !== false) {
441
+ wp_enqueue_style('qlwapp-admin', plugins_url('/assets/css/qlwapp-admin.min.css', QLWAPP_PLUGIN_FILE), array('wp-color-picker'), QLWAPP_PLUGIN_VERSION, 'all');
442
+ wp_enqueue_media();
443
+ wp_enqueue_script('qlwapp-select2', plugins_url('/assets/js/select2.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION);
444
+ wp_enqueue_script('qlwapp-admin', plugins_url('/assets/js/qlwapp-admin.min.js', QLWAPP_PLUGIN_FILE), array('jquery', 'wp-color-picker'), QLWAPP_PLUGIN_VERSION);
445
+ }
446
+ }
447
+
448
+ function init() {
449
+ add_action('wp_ajax_qlwapp_get_posts', array($this, 'ajax_get_posts'));
450
+ add_action('wp_ajax_qlwapp_dismiss_notice', array($this, 'ajax_dismiss_notice'));
451
+ add_action('admin_enqueue_scripts', array($this, 'add_js'));
452
+ add_action('admin_notices', array($this, 'add_notices'));
453
+ add_action('admin_head', array($this, 'add_css'));
454
+ add_action('admin_menu', array($this, 'add_menu'));
455
+ add_action('admin_init', array($this, 'add_settings_register'));
456
+ add_action('print_media_templates', array($this, 'add_print_media_templates'));
457
+ add_filter('pre_update_option_' . sanitize_key(QLWAPP_DOMAIN), array($this, 'filter_pre_update_option'), -1, 3);
458
+ add_filter('plugin_action_links_' . plugin_basename(QLWAPP_PLUGIN_FILE), array($this, 'add_action_links'));
459
+ }
460
+
461
+ public static function instance() {
462
+ if (!isset(self::$instance)) {
463
+ self::$instance = new self();
464
+ self::$instance->defaults();
465
+ self::$instance->init();
466
+ }
467
+ return self::$instance;
468
+ }
469
+
470
+ }
471
+
472
+ QLWAPP_Settings::instance();
473
+ }
4.2.3/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
4.2.3/languages/qlwapp-es_ES.mo ADDED
Binary file
4.2.3/languages/qlwapp-es_ES.po ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of Plugins - WhatsApp Chat WP - Development (trunk) in Spanish (Spain)
2
+ # This file is distributed under the same license as the Plugins - WhatsApp Chat WP - Development (trunk) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "PO-Revision-Date: 2019-04-18 19:13-0300\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
+ "X-Generator: Poedit 1.8.1\n"
11
+ "Language: es\n"
12
+ "Project-Id-Version: Plugins - WhatsApp Chat WP - Development (trunk)\n"
13
+ "POT-Creation-Date: \n"
14
+ "Last-Translator: \n"
15
+ "Language-Team: \n"
16
+
17
+ #: includes/defaults.php:47
18
+ msgid "Write a response"
19
+ msgstr "Escribe una respuesta"
20
+
21
+ #: includes/pages/box.php:31
22
+ msgid "Write a response text."
23
+ msgstr "Escribe un texto de respuesta."
24
+
25
+ #: includes/pages/box.php:28
26
+ msgid "Response"
27
+ msgstr "Respuesta"
28
+
29
+ #: includes/settings.php:27
30
+ msgid "Settings"
31
+ msgstr "Ajustes"
32
+
33
+ #: template/box.php:47
34
+ msgid "Powered by QuadLayers"
35
+ msgstr "Desarrollado por QuadLayers"
36
+
37
+ #: includes/defaults.php:57
38
+ msgid "Hello! I'm John from the support team."
39
+ msgstr "¡Hola! Soy John, del equipo de soporte."
40
+
41
+ #: includes/defaults.php:34
42
+ msgid "How can I help you?"
43
+ msgstr "¿Cómo puedo ayudarte?"
44
+
45
+ #: includes/defaults.php:29
46
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
47
+ msgstr "¡Hola! Estoy probando el plugin WhatsApp Chat @https://quadlayers.com"
48
+
49
+ #: includes/settings.php:383
50
+ msgid "Report a bug"
51
+ msgstr "Informar de un fallo"
52
+
53
+ #: includes/settings.php:380
54
+ msgid "Yes, of course!"
55
+ msgstr "¡Sí, por supuesto!"
56
+
57
+ #: includes/settings.php:377
58
+ msgid "Could you please give it a 5-star rating on WordPress? We know its a big favor, but we've worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product."
59
+ msgstr "¿Podrías darle una calificación de 5 estrellas en WordPress? Sabemos que es un gran favor, pero hemos trabajado mucho y muy duro para lanzar este gran producto. Tus comentarios aumentarán nuestra motivación y nos ayudarán a promocionar y continuar mejorando este producto."
60
+
61
+ #: includes/settings.php:375
62
+ msgid "Hello! Thank you for choosing the %s plugin!"
63
+ msgstr "¡Hola! ¡Gracias por elegir el plugin %s!"
64
+
65
+ #: includes/settings.php:337
66
+ msgid "Remove"
67
+ msgstr "Eliminar"
68
+
69
+ #: includes/settings.php:336
70
+ msgid "Save"
71
+ msgstr "Guardar"
72
+
73
+ #: includes/settings.php:325
74
+ msgid "Deselect"
75
+ msgstr "Anular selección"
76
+
77
+ #: includes/settings.php:309
78
+ msgid "Featured Image"
79
+ msgstr "Imagen destacada"
80
+
81
+ #: includes/settings.php:302
82
+ msgid "Select icon"
83
+ msgstr "Seleccionar icono"
84
+
85
+ #: includes/settings.php:293
86
+ msgid "Close media panel"
87
+ msgstr "Cerrar el panel de medios"
88
+
89
+ #: includes/settings.php:271
90
+ msgid "Disabled"
91
+ msgstr "Desactivado"
92
+
93
+ #: includes/settings.php:270
94
+ msgid "Enabled"
95
+ msgstr "Activado"
96
+
97
+ #: includes/settings.php:256
98
+ msgid "Lastname"
99
+ msgstr "Apellido"
100
+
101
+ #: includes/settings.php:254
102
+ msgid "Firstname"
103
+ msgstr "Nombre"
104
+
105
+ #: includes/settings.php:246
106
+ msgid "Upload"
107
+ msgstr "Subir"
108
+
109
+ #: includes/settings.php:101
110
+ msgid "QuadLayers"
111
+ msgstr "QuadLayers"
112
+
113
+ #: includes/settings.php:82
114
+ msgid "Check out our demo"
115
+ msgstr "Ver nuestra demo"
116
+
117
+ #: includes/settings.php:79
118
+ msgid "Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users."
119
+ msgstr "¡Gracias por utilizar WhatsApp Chat! Haremos todo lo posible para ofrecerte la mejor experiencia de comunicación con tus usuarios."
120
+
121
+ #: includes/settings.php:61
122
+ msgid "Colors"
123
+ msgstr "Colores"
124
+
125
+ #: includes/settings.php:60
126
+ msgid "Display"
127
+ msgstr "Mostrar"
128
+
129
+ #: includes/settings.php:59
130
+ msgid "Box"
131
+ msgstr "Caja"
132
+
133
+ #: includes/settings.php:57
134
+ msgid "Welcome"
135
+ msgstr "Bienvenido"
136
+
137
+ #: includes/pages/button.php:77
138
+ msgid "Leave a discrete link to developer to help and keep new updates and support."
139
+ msgstr "Deja un enlace discreto al desarrollador para ayudar y mantener nuevas actualizaciones y el soporte."
140
+
141
+ #: includes/pages/button.php:75
142
+ msgid "Hide developer link"
143
+ msgstr "Ocultar enlace de desarrollador"
144
+
145
+ #: includes/pages/button.php:74
146
+ msgid "Show developer link"
147
+ msgstr "Mostrar enlace de desarrollador"
148
+
149
+ #: includes/pages/button.php:71
150
+ msgid "Discreet link"
151
+ msgstr "Enlace discreto"
152
+
153
+ #: includes/pages/button.php:67
154
+ msgid "Message that will automatically appear in the text field of a chat."
155
+ msgstr "Mensaje que aparecerá automáticamente en el campo de texto del chat."
156
+
157
+ #: includes/pages/button.php:57
158
+ msgid "Add Icon"
159
+ msgstr "Añadir icono"
160
+
161
+ #: includes/pages/button.php:54
162
+ msgid "Icon"
163
+ msgstr "Icono"
164
+
165
+ #: includes/pages/button.php:49
166
+ msgid "Full phone number in international format."
167
+ msgstr "Número de teléfono completo en formato internacional."
168
+
169
+ #: includes/pages/button.php:42
170
+ msgid "Customize your text."
171
+ msgstr "Personaliza tu texto."
172
+
173
+ #: includes/pages/button.php:39
174
+ msgid "Text"
175
+ msgstr "Texto"
176
+
177
+ #: includes/pages/button.php:35
178
+ msgid "Switch to change the button position."
179
+ msgstr "Cambiar la posición del botón."
180
+
181
+ #: includes/pages/button.php:33
182
+ msgid "Bottom Right"
183
+ msgstr "Abajo a la derecha"
184
+
185
+ #: includes/pages/button.php:32
186
+ msgid "Bottom Left"
187
+ msgstr "Abajo a la izquierda"
188
+
189
+ #: includes/pages/button.php:31
190
+ msgid "Middle Right"
191
+ msgstr "Centrado a la derecha"
192
+
193
+ #: includes/pages/button.php:30
194
+ msgid "Middle Left"
195
+ msgstr "Centrado a la izquierda"
196
+
197
+ #: includes/pages/button.php:27
198
+ msgid "Position"
199
+ msgstr "Posición"
200
+
201
+ #: includes/pages/button.php:23
202
+ msgid "Add rounded border to the button."
203
+ msgstr "Añadir borde redondeado al botón."
204
+
205
+ #: includes/pages/button.php:21
206
+ msgid "Remove rounded border"
207
+ msgstr "Quitar el borde redondeado"
208
+
209
+ #: includes/pages/button.php:20
210
+ msgid "Add rounded border"
211
+ msgstr "Añadir borde redondeado"
212
+
213
+ #: includes/pages/button.php:17
214
+ msgid "Rounded"
215
+ msgstr "Redondeado"
216
+
217
+ #: includes/pages/button.php:13
218
+ msgid "Switch to change the button layout."
219
+ msgstr "Cambiar el diseño del botón."
220
+
221
+ #: includes/pages/button.php:11
222
+ msgid "Bubble"
223
+ msgstr "Burbuja"
224
+
225
+ #: includes/settings.php:58 includes/pages/button.php:10
226
+ msgid "Button"
227
+ msgstr "Botón"
228
+
229
+ #: includes/pages/button.php:7
230
+ msgid "Layout"
231
+ msgstr "Diseño"
232
+
233
+ #: includes/pages/welcome.php:29
234
+ msgid "Submit ticket"
235
+ msgstr "Enviar un ticket"
236
+
237
+ #: includes/pages/welcome.php:27
238
+ msgid "If you have any doubt or you find any issue don't hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users."
239
+ msgstr "Si tienes alguna duda o si encuentras algún problema, no dudes en contactar con nosotros a través de nuestro sistema de tickets o unirte a nuestra comunidad para conocer a otros usuarios de WhatsApp Chat."
240
+
241
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
242
+ msgid "Support"
243
+ msgstr "Soporte"
244
+
245
+ #: includes/pages/welcome.php:22
246
+ msgid "View demo"
247
+ msgstr "Ver demo"
248
+
249
+ #: includes/pages/welcome.php:20
250
+ msgid "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version."
251
+ msgstr "¡Gracias por elegir nuestro plugin WhatsApp Chat para WordPress! Aquí puedes ver nuestra demo y una descripción de las características que ofrecemos en la versión premium."
252
+
253
+ #: includes/pages/welcome.php:18
254
+ msgid "Demo"
255
+ msgstr "Demo"
256
+
257
+ #: includes/pages/welcome.php:15
258
+ msgid "Join us"
259
+ msgstr "Únete a nosotros"
260
+
261
+ #: includes/pages/welcome.php:13
262
+ msgid "If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now."
263
+ msgstr "Si deseas ponerse en contacto con otros usuarios de WhatsApp Chat o conocer nuestros descuentos promocionales, únete a nuestra comunidad ahora."
264
+
265
+ #: includes/pages/welcome.php:11
266
+ msgid "Community"
267
+ msgstr "Comunidad"
268
+
269
+ #: includes/pages/welcome.php:6
270
+ msgid "Hello we're QuadLayers! We've recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues."
271
+ msgstr "Hola somos QuadLayers! Recientemente hemos adquirido este plugin y esta es la primera actualización. Hemos trabajado mucho y es muy duro para su lanzamiento, y haremos todo lo posible para dar el mejor soporte y solucionar todos los problemas."
272
+
273
+ #: includes/pages/box.php:63
274
+ msgid "Actions"
275
+ msgstr "Acciones"
276
+
277
+ #: includes/settings.php:267 includes/pages/box.php:62
278
+ msgid "Chat"
279
+ msgstr "Chat"
280
+
281
+ #: includes/settings.php:260 includes/pages/box.php:58
282
+ #: includes/pages/button.php:46
283
+ msgid "Phone"
284
+ msgstr "Teléfono"
285
+
286
+ #: includes/pages/box.php:57
287
+ msgid "Avatar"
288
+ msgstr "Avatar"
289
+
290
+ #: includes/pages/box.php:51
291
+ msgid "Add Contact"
292
+ msgstr "Añadir contacto"
293
+
294
+ #: includes/pages/box.php:44
295
+ msgid "Save Contact"
296
+ msgstr "Guardar contacto"
297
+
298
+ #: includes/pages/box.php:36
299
+ msgid "Contacts"
300
+ msgstr "Contactos"
301
+
302
+ #: includes/pages/box.php:22
303
+ msgid "Footer"
304
+ msgstr "Pie de página"
305
+
306
+ #: includes/pages/box.php:16
307
+ msgid "Header"
308
+ msgstr "Cabecera"
309
+
310
+ #: includes/pages/box.php:11
311
+ msgid "Disable contact box"
312
+ msgstr "Desactivar caja de contactos"
313
+
314
+ #: includes/pages/box.php:10
315
+ msgid "Enable contact box"
316
+ msgstr "Activar caja de contactos"
317
+
318
+ #: includes/pages/box.php:7
319
+ msgid "Disable"
320
+ msgstr "Desactivar"
321
+
322
+ #: includes/pages/purchase.php:68
323
+ msgid "Allow your users to type their own messages before send it to the agent phone number."
324
+ msgstr "Permite que tus usuarios escriban sus propios mensajes antes de enviarlos al número de teléfono del agente."
325
+
326
+ #: includes/pages/purchase.php:66
327
+ msgid "Type user message"
328
+ msgstr "Escribe el mensaje de usuario"
329
+
330
+ #: includes/pages/purchase.php:62
331
+ msgid "You can choose the predefined user message that will be sent to the agent phone number."
332
+ msgstr "Puedes elegir el mensaje de usuario predefinido que se enviará al número de teléfono del agente."
333
+
334
+ #: includes/pages/purchase.php:60
335
+ msgid "Custom user message"
336
+ msgstr "Mensaje de usuario personalizado"
337
+
338
+ #: includes/pages/purchase.php:56
339
+ msgid "Allow you to set a custom message for each agent that will displayed on the chatbox."
340
+ msgstr "Te permite establecer un mensaje personalizado para cada agente que se mostrará en la caja de chat."
341
+
342
+ #: includes/pages/purchase.php:54
343
+ msgid "Custom agent message"
344
+ msgstr "Mensaje del agente personalizado"
345
+
346
+ #: includes/pages/purchase.php:48
347
+ msgid "WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message."
348
+ msgstr "WhatsApp Chat para WordPress te permite incluir una caja de chat para cada agente donde tus usuarios pueden escribir su primer mensaje."
349
+
350
+ #: includes/pages/purchase.php:46
351
+ msgid "Chatbox interface"
352
+ msgstr "Interfaz de chat"
353
+
354
+ #: includes/pages/purchase.php:29
355
+ msgid "Our plugin allows you to select between more than fourty icons to include in your Whatsapp button."
356
+ msgstr "Nuestro plugin te permite seleccionar entre más de cuarenta iconos para incluir en tu botón de WhatsApp."
357
+
358
+ #: includes/pages/purchase.php:27
359
+ msgid "Custom icons"
360
+ msgstr "Iconos personalizados"
361
+
362
+ #: includes/pages/purchase.php:23
363
+ msgid "Customize the colors to match site’s theme colors through the WordPress live customizer interface."
364
+ msgstr "Personaliza los colores para que coincidan con los colores del tema de tu sitio a través del personalizador de WordPress."
365
+
366
+ #: includes/pages/purchase.php:21
367
+ msgid "Customize colors"
368
+ msgstr "Personalizar colores"
369
+
370
+ #: includes/pages/purchase.php:17
371
+ msgid "WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
372
+ msgstr "WhatsApp Chat te permite incluir cuentas de agentes ilimitadas con sus nombres y etiquetas dentro de la caja para proporcionar un contacto directo hacia las diferentes áreas de soporte de tu sitio."
373
+
374
+ #: includes/pages/purchase.php:15
375
+ msgid "Multiple agents"
376
+ msgstr "Múltiples agentes"
377
+
378
+ #: includes/pages/purchase.php:11
379
+ msgid "Get Support"
380
+ msgstr "Obtener soporte"
381
+
382
+ #: includes/pages/purchase.php:10
383
+ msgid "Purchase Now"
384
+ msgstr "Comprar ahora"
385
+
386
+ #: includes/pages/purchase.php:7
387
+ msgid "Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
388
+ msgstr "Desbloquea la potencia de la version premium de WhatsApp Chat que te permite incluir cuentas de agentes ilimitadas con sus nombres y etiquetas para proporcionar un contacto directo a las diferentes áreas de soporte de tu sitio."
389
+
390
+ #: includes/settings.php:25 includes/settings.php:62
391
+ #: includes/pages/purchase.php:5
392
+ msgid "Premium"
393
+ msgstr "Premium"
394
+
395
+ #: includes/pages/display.php:50
396
+ msgid "Archive"
397
+ msgstr "Archivo"
398
+
399
+ #: includes/pages/display.php:48
400
+ msgid "Select for %s&hellip;"
401
+ msgstr "Selecciona para %s&hellip;"
402
+
403
+ #: includes/pages/display.php:27
404
+ msgid "If you select an option all the other will be excluded"
405
+ msgstr "Si seleccionas una opción, todas las demás serán excluidas."
406
+
407
+ #: includes/pages/display.php:24
408
+ msgid "Search"
409
+ msgstr "Buscar"
410
+
411
+ #: includes/pages/display.php:23
412
+ msgid "Blog"
413
+ msgstr "Blog"
414
+
415
+ #: includes/pages/display.php:22
416
+ msgid "Home"
417
+ msgstr "Inicio"
418
+
419
+ #: includes/settings.php:35 includes/pages/display.php:21
420
+ #: includes/pages/display.php:49 includes/pages/display.php:97
421
+ msgid "Exclude from all"
422
+ msgstr "Excluir de todos"
423
+
424
+ #: includes/pages/display.php:18
425
+ msgid "Target"
426
+ msgstr "Target"
427
+
428
+ #: includes/pages/display.php:13
429
+ msgid "Hide in all devices"
430
+ msgstr "Ocultar en todos los dispositivos"
431
+
432
+ #: includes/pages/display.php:12
433
+ msgid "Show in desktop devices"
434
+ msgstr "Mostrar en dispositivos de escritorio"
435
+
436
+ #: includes/pages/display.php:11
437
+ msgid "Show in mobile devices"
438
+ msgstr "Mostrar en dispositivos móviles"
439
+
440
+ #: includes/pages/display.php:10
441
+ msgid "Show in all devices"
442
+ msgstr "Mostrar en todos los dispositivos"
443
+
444
+ #: includes/pages/display.php:7
445
+ msgid "Devices"
446
+ msgstr "Dispositivos"
447
+
448
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
449
+ msgid "Name"
450
+ msgstr "Name"
451
+
452
+ #: includes/settings.php:261 includes/pages/box.php:60
453
+ #: includes/pages/colors.php:33
454
+ msgid "Label"
455
+ msgstr "Etiqueta"
456
+
457
+ #: includes/settings.php:276 includes/pages/box.php:61
458
+ #: includes/pages/colors.php:26 includes/pages/button.php:64
459
+ msgid "Message"
460
+ msgstr "Mensaje"
461
+
462
+ #: includes/pages/display.php:72 includes/pages/box.php:52
463
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
464
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
465
+ #: includes/pages/button.php:58
466
+ msgid "This is a premium feature"
467
+ msgstr "Esta es una característica premium"
468
+
469
+ #: includes/pages/colors.php:19
470
+ msgid "Link"
471
+ msgstr "Enlace"
472
+
473
+ #: includes/pages/colors.php:13
474
+ msgid "Color"
475
+ msgstr "Color"
476
+
477
+ #: includes/pages/colors.php:7
478
+ msgid "Background"
479
+ msgstr "Fondo"
480
+
481
+ #. Author URI of the plugin
482
+ msgid "https://quadlayers.com"
483
+ msgstr "https://quadlayers.com"
484
+
485
+ #. Author of the plugin
486
+ #: includes/settings.php:77 includes/settings.php:298
487
+ msgid "WhatsApp Chat"
488
+ msgstr "WhatsApp Chat"
489
+
490
+ #. Description of the plugin
491
+ msgid "Send messages directly to your WhatsApp phone number."
492
+ msgstr "Envía mensajes directamente a tu número de teléfono de WhatsApp."
493
+
494
+ #. Plugin Name of the plugin
495
+ msgid "WhatsApp Chat WP"
496
+ msgstr "WhatsApp Chat WP"
4.2.3/languages/qlwapp-pt_BR.mo ADDED
Binary file
4.2.3/languages/qlwapp-pt_BR.po ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of Plugins - WhatsApp Chat WP - Development (trunk) in Portuguese (Brazil)
2
+ # This file is distributed under the same license as the Plugins - WhatsApp Chat WP - Development (trunk) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "PO-Revision-Date: 2019-04-20 19:48-0300\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
10
+ "X-Generator: Poedit 1.8.1\n"
11
+ "Language: pt_BR\n"
12
+ "Project-Id-Version: Plugins - WhatsApp Chat WP - Development (trunk)\n"
13
+ "POT-Creation-Date: \n"
14
+ "Last-Translator: \n"
15
+ "Language-Team: \n"
16
+
17
+ #: includes/defaults.php:47
18
+ msgid "Write a response"
19
+ msgstr "Escreva sua mensagem"
20
+
21
+ #: includes/pages/box.php:31
22
+ msgid "Write a response text."
23
+ msgstr "Escreva um texto de resposta."
24
+
25
+ #: includes/pages/box.php:28
26
+ msgid "Response"
27
+ msgstr "Resposta"
28
+
29
+ #: includes/settings.php:27
30
+ msgid "Settings"
31
+ msgstr "Configurações"
32
+
33
+ #: template/box.php:47
34
+ msgid "Powered by QuadLayers"
35
+ msgstr "Movido por QuadLayers"
36
+
37
+ #: includes/defaults.php:57
38
+ msgid "Hello! I'm John from the support team."
39
+ msgstr "Oi! Eu sou John do suporte."
40
+
41
+ #: includes/defaults.php:34
42
+ msgid "How can I help you?"
43
+ msgstr "Como posso te ajudar?"
44
+
45
+ #: includes/defaults.php:29
46
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
47
+ msgstr "Oi! Estou testando o plugin de chat do WhatsApp @https://quadlayers.com"
48
+
49
+ #: includes/settings.php:383
50
+ msgid "Report a bug"
51
+ msgstr "Informar um erro"
52
+
53
+ #: includes/settings.php:380
54
+ msgid "Yes, of course!"
55
+ msgstr "Claro!"
56
+
57
+ #: includes/settings.php:377
58
+ msgid "Could you please give it a 5-star rating on WordPress? We know its a big favor, but we've worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product."
59
+ msgstr "Você poderia nos avaliar com 5 estrelas no WordPress? Sabemos que é um grande favor, mas trabalhamos muito para entregar esse produto. Seu feedback vai nos ajudar a continuar melhorando ele."
60
+
61
+ #: includes/settings.php:375
62
+ msgid "Hello! Thank you for choosing the %s plugin!"
63
+ msgstr "Oi! Obrigado por escolher o %s plugin!"
64
+
65
+ #: includes/settings.php:337
66
+ msgid "Remove"
67
+ msgstr "Apagar"
68
+
69
+ #: includes/settings.php:336
70
+ msgid "Save"
71
+ msgstr "Salvar"
72
+
73
+ #: includes/settings.php:325
74
+ msgid "Deselect"
75
+ msgstr "Não selecionar"
76
+
77
+ #: includes/settings.php:309
78
+ msgid "Featured Image"
79
+ msgstr "Imagem destacada"
80
+
81
+ #: includes/settings.php:302
82
+ msgid "Select icon"
83
+ msgstr "Selecione o ícone"
84
+
85
+ #: includes/settings.php:293
86
+ msgid "Close media panel"
87
+ msgstr "Fechar o painel de mídia"
88
+
89
+ #: includes/settings.php:271
90
+ msgid "Disabled"
91
+ msgstr "Desabilitado"
92
+
93
+ #: includes/settings.php:270
94
+ msgid "Enabled"
95
+ msgstr "Habilitado"
96
+
97
+ #: includes/settings.php:256
98
+ msgid "Lastname"
99
+ msgstr "Último nome"
100
+
101
+ #: includes/settings.php:254
102
+ msgid "Firstname"
103
+ msgstr "Primeiro nome"
104
+
105
+ #: includes/settings.php:246
106
+ msgid "Upload"
107
+ msgstr "Enviar"
108
+
109
+ #: includes/settings.php:101
110
+ msgid "QuadLayers"
111
+ msgstr "QuadLayers"
112
+
113
+ #: includes/settings.php:82
114
+ msgid "Check out our demo"
115
+ msgstr "Confira nossa demonstração"
116
+
117
+ #: includes/settings.php:79
118
+ msgid "Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users."
119
+ msgstr "Agradecemos por usar o WhatsApp Chat! Nós fazemos o nosso melhor para oferecer a melhor experiência de comunicação para nossos usuários."
120
+
121
+ #: includes/settings.php:61
122
+ msgid "Colors"
123
+ msgstr "Cores"
124
+
125
+ #: includes/settings.php:60
126
+ msgid "Display"
127
+ msgstr "Exibir"
128
+
129
+ #: includes/settings.php:59
130
+ msgid "Box"
131
+ msgstr "Caixa"
132
+
133
+ #: includes/settings.php:57
134
+ msgid "Welcome"
135
+ msgstr "Bem-vindo"
136
+
137
+ #: includes/pages/button.php:77
138
+ msgid "Leave a discrete link to developer to help and keep new updates and support."
139
+ msgstr "Deixe um link discreto para o desenvolvedor para ajudar e manter novas atualizações e suporte."
140
+
141
+ #: includes/pages/button.php:75
142
+ msgid "Hide developer link"
143
+ msgstr "Ocultar link do desenvolvedor"
144
+
145
+ #: includes/pages/button.php:74
146
+ msgid "Show developer link"
147
+ msgstr "Mostrar link do desenvolvedor"
148
+
149
+ #: includes/pages/button.php:71
150
+ msgid "Discreet link"
151
+ msgstr "Link discreto"
152
+
153
+ #: includes/pages/button.php:67
154
+ msgid "Message that will automatically appear in the text field of a chat."
155
+ msgstr "Mensagem que aparecerá automaticamente no campo de texto do chat."
156
+
157
+ #: includes/pages/button.php:57
158
+ msgid "Add Icon"
159
+ msgstr "Adicionar ícone"
160
+
161
+ #: includes/pages/button.php:54
162
+ msgid "Icon"
163
+ msgstr "Ícone"
164
+
165
+ #: includes/pages/button.php:49
166
+ msgid "Full phone number in international format."
167
+ msgstr "Número de telefone completo em formato internacional."
168
+
169
+ #: includes/pages/button.php:42
170
+ msgid "Customize your text."
171
+ msgstr "Personalize o texto do botão Trocar nome de usuário."
172
+
173
+ #: includes/pages/button.php:39
174
+ msgid "Text"
175
+ msgstr "Texto"
176
+
177
+ #: includes/pages/button.php:35
178
+ msgid "Switch to change the button position."
179
+ msgstr "Mude para alterar a posição do botão."
180
+
181
+ #: includes/pages/button.php:33
182
+ msgid "Bottom Right"
183
+ msgstr "Base à direita"
184
+
185
+ #: includes/pages/button.php:32
186
+ msgid "Bottom Left"
187
+ msgstr "Em baixo à esquerda"
188
+
189
+ #: includes/pages/button.php:31
190
+ msgid "Middle Right"
191
+ msgstr "Meio á direita"
192
+
193
+ #: includes/pages/button.php:30
194
+ msgid "Middle Left"
195
+ msgstr "Meio à esquerda"
196
+
197
+ #: includes/pages/button.php:27
198
+ msgid "Position"
199
+ msgstr "Posição"
200
+
201
+ #: includes/pages/button.php:23
202
+ msgid "Add rounded border to the button."
203
+ msgstr "Adicione a borda arredondada ao botão."
204
+
205
+ #: includes/pages/button.php:21
206
+ msgid "Remove rounded border"
207
+ msgstr "Remover borda arredondada"
208
+
209
+ #: includes/pages/button.php:20
210
+ msgid "Add rounded border"
211
+ msgstr "Adicionar borda arredondada"
212
+
213
+ #: includes/pages/button.php:17
214
+ msgid "Rounded"
215
+ msgstr "Arredondado"
216
+
217
+ #: includes/pages/button.php:13
218
+ msgid "Switch to change the button layout."
219
+ msgstr "Mude para alterar o layout do botão."
220
+
221
+ #: includes/pages/button.php:11
222
+ msgid "Bubble"
223
+ msgstr "Bolha"
224
+
225
+ #: includes/settings.php:58 includes/pages/button.php:10
226
+ msgid "Button"
227
+ msgstr "Botão"
228
+
229
+ #: includes/pages/button.php:7
230
+ msgid "Layout"
231
+ msgstr "Layout"
232
+
233
+ #: includes/pages/welcome.php:29
234
+ msgid "Submit ticket"
235
+ msgstr "Enviar chamado"
236
+
237
+ #: includes/pages/welcome.php:27
238
+ msgid "If you have any doubt or you find any issue don't hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users."
239
+ msgstr "Se você tiver alguma dúvida ou encontrar qualquer problema, não hesite em nos contactar através do nosso sistema de chamados ou entrar em nossa comunidade para encontrar outros usuários do WhatsApp Chat."
240
+
241
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
242
+ msgid "Support"
243
+ msgstr "Ajuda"
244
+
245
+ #: includes/pages/welcome.php:22
246
+ msgid "View demo"
247
+ msgstr "Ver demonstração"
248
+
249
+ #: includes/pages/welcome.php:20
250
+ msgid "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version."
251
+ msgstr "Agradecemos por escolher o nosso plugin WhatsApp Chat para WordPress! Aqui você pode ver a nossa demonstração e uma descrição sobre os recursos que oferecemos na versão Premium."
252
+
253
+ #: includes/pages/welcome.php:18
254
+ msgid "Demo"
255
+ msgstr "Demonstração"
256
+
257
+ #: includes/pages/welcome.php:15
258
+ msgid "Join us"
259
+ msgstr "Junte-se a nós"
260
+
261
+ #: includes/pages/welcome.php:13
262
+ msgid "If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now."
263
+ msgstr "Se você quiser entrar em contato com outros usuários do WhatsApp Chat, ou estar ciente de nossos descontos promocionais, junte-se à nossa comunidade agora mesmo."
264
+
265
+ #: includes/pages/welcome.php:11
266
+ msgid "Community"
267
+ msgstr "Comunidade"
268
+
269
+ #: includes/pages/welcome.php:6
270
+ msgid "Hello we're QuadLayers! We've recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues."
271
+ msgstr "Olá nós somos a QuadLayers! Nós adquirimos recentemente este plugin e esta é a primeira atualização. Temos trabalhado muito e muito duro para liberá-lo, e vamos fazer o nosso melhor para fornecer suporte e corrigir todos os problemas."
272
+
273
+ #: includes/pages/box.php:63
274
+ msgid "Actions"
275
+ msgstr "Ações"
276
+
277
+ #: includes/settings.php:267 includes/pages/box.php:62
278
+ msgid "Chat"
279
+ msgstr "Chat"
280
+
281
+ #: includes/settings.php:260 includes/pages/box.php:58
282
+ #: includes/pages/button.php:46
283
+ msgid "Phone"
284
+ msgstr "Telefone"
285
+
286
+ #: includes/pages/box.php:57
287
+ msgid "Avatar"
288
+ msgstr "Avatar"
289
+
290
+ #: includes/pages/box.php:51
291
+ msgid "Add Contact"
292
+ msgstr "Adicionar contato"
293
+
294
+ #: includes/pages/box.php:44
295
+ msgid "Save Contact"
296
+ msgstr "Salvar contato"
297
+
298
+ #: includes/pages/box.php:36
299
+ msgid "Contacts"
300
+ msgstr "Contatos"
301
+
302
+ #: includes/pages/box.php:22
303
+ msgid "Footer"
304
+ msgstr "Rodapé"
305
+
306
+ #: includes/pages/box.php:16
307
+ msgid "Header"
308
+ msgstr "Cabeçalho"
309
+
310
+ #: includes/pages/box.php:11
311
+ msgid "Disable contact box"
312
+ msgstr "Desativar caixa de contato"
313
+
314
+ #: includes/pages/box.php:10
315
+ msgid "Enable contact box"
316
+ msgstr "Ativar caixa de contato"
317
+
318
+ #: includes/pages/box.php:7
319
+ msgid "Disable"
320
+ msgstr "Desativar"
321
+
322
+ #: includes/pages/purchase.php:68
323
+ msgid "Allow your users to type their own messages before send it to the agent phone number."
324
+ msgstr "Permita que seus usuários digitem suas próprias mensagens antes de enviá-lo para o número de telefone do agente."
325
+
326
+ #: includes/pages/purchase.php:66
327
+ msgid "Type user message"
328
+ msgstr "Escrever mensagem do usuário"
329
+
330
+ #: includes/pages/purchase.php:62
331
+ msgid "You can choose the predefined user message that will be sent to the agent phone number."
332
+ msgstr "Você pode escolher a mensagem de usuário predefinida que será enviada para o número de telefone do agente."
333
+
334
+ #: includes/pages/purchase.php:60
335
+ msgid "Custom user message"
336
+ msgstr "Mensagem personalizada do usuário"
337
+
338
+ #: includes/pages/purchase.php:56
339
+ msgid "Allow you to set a custom message for each agent that will displayed on the chatbox."
340
+ msgstr "Permite que você defina uma mensagem personalizada para cada agente que será exibido na caixa do chat."
341
+
342
+ #: includes/pages/purchase.php:54
343
+ msgid "Custom agent message"
344
+ msgstr "Mensagem personalizada do agente"
345
+
346
+ #: includes/pages/purchase.php:48
347
+ msgid "WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message."
348
+ msgstr "O WhatsApp Chat para WordPress permite que você inclua uma caixa de chat para cada agente onde seus usuários podem digitar sua primeira mensagem."
349
+
350
+ #: includes/pages/purchase.php:46
351
+ msgid "Chatbox interface"
352
+ msgstr "Interface do ChatBox"
353
+
354
+ #: includes/pages/purchase.php:29
355
+ msgid "Our plugin allows you to select between more than fourty icons to include in your Whatsapp button."
356
+ msgstr "Nosso plugin permite que você selecione entre mais de quarenta ícones para incluir no seu botão WhatsApp."
357
+
358
+ #: includes/pages/purchase.php:27
359
+ msgid "Custom icons"
360
+ msgstr "Ícones personalizados"
361
+
362
+ #: includes/pages/purchase.php:23
363
+ msgid "Customize the colors to match site’s theme colors through the WordPress live customizer interface."
364
+ msgstr "Personalize as cores para combinar com as cores do tema do site através da interface do customizador ao vivo do WordPress."
365
+
366
+ #: includes/pages/purchase.php:21
367
+ msgid "Customize colors"
368
+ msgstr "Personalizar cores"
369
+
370
+ #: includes/pages/purchase.php:17
371
+ msgid "WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
372
+ msgstr "O WhatsApp Chat permite que você inclua contas de agente ilimitadas com seus nomes e rótulos dentro da caixa para fornecer um contato direto com as diferentes áreas de suporte do seu site."
373
+
374
+ #: includes/pages/purchase.php:15
375
+ msgid "Multiple agents"
376
+ msgstr "Vários agentes"
377
+
378
+ #: includes/pages/purchase.php:11
379
+ msgid "Get Support"
380
+ msgstr "Obter ajuda"
381
+
382
+ #: includes/pages/purchase.php:10
383
+ msgid "Purchase Now"
384
+ msgstr "Compre agora"
385
+
386
+ #: includes/pages/purchase.php:7
387
+ msgid "Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
388
+ msgstr "Desbloqueie o poder do nosso plugin WhatsApp Chat Premium que permite que você inclua contas de agente ilimitadas com seus nomes e rótulos dentro da caixa para fornecer um contato direto com as diferentes áreas de suporte do seu site."
389
+
390
+ #: includes/settings.php:25 includes/settings.php:62
391
+ #: includes/pages/purchase.php:5
392
+ msgid "Premium"
393
+ msgstr "Premium"
394
+
395
+ #: includes/pages/display.php:50
396
+ msgid "Archive"
397
+ msgstr "Arquivo"
398
+
399
+ #: includes/pages/display.php:48
400
+ msgid "Select for %s&hellip;"
401
+ msgstr "Selecione para %s&hellip;"
402
+
403
+ #: includes/pages/display.php:27
404
+ msgid "If you select an option all the other will be excluded"
405
+ msgstr "Se você selecionar uma opção todas as outras serão excluídas"
406
+
407
+ #: includes/pages/display.php:24
408
+ msgid "Search"
409
+ msgstr "Pesquisar"
410
+
411
+ #: includes/pages/display.php:23
412
+ msgid "Blog"
413
+ msgstr "Blog"
414
+
415
+ #: includes/pages/display.php:22
416
+ msgid "Home"
417
+ msgstr "InÍcio"
418
+
419
+ #: includes/settings.php:35 includes/pages/display.php:21
420
+ #: includes/pages/display.php:49 includes/pages/display.php:97
421
+ msgid "Exclude from all"
422
+ msgstr "Excluir de todos"
423
+
424
+ #: includes/pages/display.php:18
425
+ msgid "Target"
426
+ msgstr "Alvo"
427
+
428
+ #: includes/pages/display.php:13
429
+ msgid "Hide in all devices"
430
+ msgstr "Ocultar em todos os dispositivos"
431
+
432
+ #: includes/pages/display.php:12
433
+ msgid "Show in desktop devices"
434
+ msgstr "Mostrar no computador"
435
+
436
+ #: includes/pages/display.php:11
437
+ msgid "Show in mobile devices"
438
+ msgstr "Mostrar nos dispositivos móveis"
439
+
440
+ #: includes/pages/display.php:10
441
+ msgid "Show in all devices"
442
+ msgstr "Mostrar em todos dispositivos"
443
+
444
+ #: includes/pages/display.php:7
445
+ msgid "Devices"
446
+ msgstr "Dispositivos"
447
+
448
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
449
+ msgid "Name"
450
+ msgstr "Nome"
451
+
452
+ #: includes/settings.php:261 includes/pages/box.php:60
453
+ #: includes/pages/colors.php:33
454
+ msgid "Label"
455
+ msgstr "Rótulo"
456
+
457
+ #: includes/settings.php:276 includes/pages/box.php:61
458
+ #: includes/pages/colors.php:26 includes/pages/button.php:64
459
+ msgid "Message"
460
+ msgstr "Mensagem"
461
+
462
+ #: includes/pages/display.php:72 includes/pages/box.php:52
463
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
464
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
465
+ #: includes/pages/button.php:58
466
+ msgid "This is a premium feature"
467
+ msgstr "Esta é um recurso da versão Premium"
468
+
469
+ #: includes/pages/colors.php:19
470
+ msgid "Link"
471
+ msgstr "Link"
472
+
473
+ #: includes/pages/colors.php:13
474
+ msgid "Color"
475
+ msgstr "Cor"
476
+
477
+ #: includes/pages/colors.php:7
478
+ msgid "Background"
479
+ msgstr "Fundo"
480
+
481
+ #. Author URI of the plugin
482
+ msgid "https://quadlayers.com"
483
+ msgstr "https://quadlayers.com"
484
+
485
+ #. Author of the plugin
486
+ #: includes/settings.php:77 includes/settings.php:298
487
+ msgid "WhatsApp Chat"
488
+ msgstr "WhatsApp Chat"
489
+
490
+ #. Description of the plugin
491
+ msgid "Send messages directly to your WhatsApp phone number."
492
+ msgstr "Envie mensagens diretamente para o seu número de telefone do WhatsApp."
493
+
494
+ #. Plugin Name of the plugin
495
+ msgid "WhatsApp Chat WP"
496
+ msgstr "WhatsApp Chat WP"
4.2.3/languages/qlwapp.pot ADDED
@@ -0,0 +1,539 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: WhatsApp Chat WP\n"
5
+ "POT-Creation-Date: 2019-04-19 12:44-0300\n"
6
+ "PO-Revision-Date: 2019-03-02 18:52-0300\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "X-Poedit-WPHeader: wp-whatsapp-chat.php\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
21
+
22
+ #: includes/defaults.php:29
23
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
24
+ msgstr ""
25
+
26
+ #: includes/defaults.php:34
27
+ msgid "How can I help you?"
28
+ msgstr ""
29
+
30
+ #: includes/defaults.php:47
31
+ msgid "Write a response"
32
+ msgstr ""
33
+
34
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
35
+ msgid "Support"
36
+ msgstr ""
37
+
38
+ #: includes/defaults.php:57
39
+ msgid "Hello! I'm John from the support team."
40
+ msgstr ""
41
+
42
+ #: includes/pages/box.php:7
43
+ msgid "Disable"
44
+ msgstr ""
45
+
46
+ #: includes/pages/box.php:10
47
+ msgid "Enable contact box"
48
+ msgstr ""
49
+
50
+ #: includes/pages/box.php:11
51
+ msgid "Disable contact box"
52
+ msgstr ""
53
+
54
+ #: includes/pages/box.php:16
55
+ msgid "Header"
56
+ msgstr ""
57
+
58
+ #: includes/pages/box.php:22
59
+ msgid "Footer"
60
+ msgstr ""
61
+
62
+ #: includes/pages/box.php:28
63
+ msgid "Response"
64
+ msgstr ""
65
+
66
+ #: includes/pages/box.php:31
67
+ msgid "Write a response text."
68
+ msgstr ""
69
+
70
+ #: includes/pages/box.php:36
71
+ msgid "Contacts"
72
+ msgstr ""
73
+
74
+ #: includes/pages/box.php:44
75
+ msgid "Save Contact"
76
+ msgstr ""
77
+
78
+ #: includes/pages/box.php:51
79
+ msgid "Add Contact"
80
+ msgstr ""
81
+
82
+ #: includes/pages/box.php:52 includes/pages/button.php:58
83
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
84
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
85
+ #: includes/pages/display.php:72
86
+ msgid "This is a premium feature"
87
+ msgstr ""
88
+
89
+ #: includes/pages/box.php:57
90
+ msgid "Avatar"
91
+ msgstr ""
92
+
93
+ #: includes/pages/box.php:58 includes/pages/button.php:46
94
+ #: includes/settings.php:260
95
+ msgid "Phone"
96
+ msgstr ""
97
+
98
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
99
+ msgid "Name"
100
+ msgstr ""
101
+
102
+ #: includes/pages/box.php:60 includes/pages/colors.php:33
103
+ #: includes/settings.php:261
104
+ msgid "Label"
105
+ msgstr ""
106
+
107
+ #: includes/pages/box.php:61 includes/pages/button.php:64
108
+ #: includes/pages/colors.php:26 includes/settings.php:276
109
+ msgid "Message"
110
+ msgstr ""
111
+
112
+ #: includes/pages/box.php:62 includes/settings.php:267
113
+ msgid "Chat"
114
+ msgstr ""
115
+
116
+ #: includes/pages/box.php:63
117
+ msgid "Actions"
118
+ msgstr ""
119
+
120
+ #: includes/pages/button.php:7
121
+ msgid "Layout"
122
+ msgstr ""
123
+
124
+ #: includes/pages/button.php:10 includes/settings.php:58
125
+ msgid "Button"
126
+ msgstr ""
127
+
128
+ #: includes/pages/button.php:11
129
+ msgid "Bubble"
130
+ msgstr ""
131
+
132
+ #: includes/pages/button.php:13
133
+ msgid "Switch to change the button layout."
134
+ msgstr ""
135
+
136
+ #: includes/pages/button.php:17
137
+ msgid "Rounded"
138
+ msgstr ""
139
+
140
+ #: includes/pages/button.php:20
141
+ msgid "Add rounded border"
142
+ msgstr ""
143
+
144
+ #: includes/pages/button.php:21
145
+ msgid "Remove rounded border"
146
+ msgstr ""
147
+
148
+ #: includes/pages/button.php:23
149
+ msgid "Add rounded border to the button."
150
+ msgstr ""
151
+
152
+ #: includes/pages/button.php:27
153
+ msgid "Position"
154
+ msgstr ""
155
+
156
+ #: includes/pages/button.php:30
157
+ msgid "Middle Left"
158
+ msgstr ""
159
+
160
+ #: includes/pages/button.php:31
161
+ msgid "Middle Right"
162
+ msgstr ""
163
+
164
+ #: includes/pages/button.php:32
165
+ msgid "Bottom Left"
166
+ msgstr ""
167
+
168
+ #: includes/pages/button.php:33
169
+ msgid "Bottom Right"
170
+ msgstr ""
171
+
172
+ #: includes/pages/button.php:35
173
+ msgid "Switch to change the button position."
174
+ msgstr ""
175
+
176
+ #: includes/pages/button.php:39
177
+ msgid "Text"
178
+ msgstr ""
179
+
180
+ #: includes/pages/button.php:42
181
+ msgid "Customize your text."
182
+ msgstr ""
183
+
184
+ #: includes/pages/button.php:49
185
+ msgid "Full phone number in international format."
186
+ msgstr ""
187
+
188
+ #: includes/pages/button.php:54
189
+ msgid "Icon"
190
+ msgstr ""
191
+
192
+ #: includes/pages/button.php:57
193
+ msgid "Add Icon"
194
+ msgstr ""
195
+
196
+ #: includes/pages/button.php:67
197
+ msgid "Message that will automatically appear in the text field of a chat."
198
+ msgstr ""
199
+
200
+ #: includes/pages/button.php:71
201
+ msgid "Discreet link"
202
+ msgstr ""
203
+
204
+ #: includes/pages/button.php:74
205
+ msgid "Show developer link"
206
+ msgstr ""
207
+
208
+ #: includes/pages/button.php:75
209
+ msgid "Hide developer link"
210
+ msgstr ""
211
+
212
+ #: includes/pages/button.php:77
213
+ msgid ""
214
+ "Leave a discrete link to developer to help and keep new updates and support."
215
+ msgstr ""
216
+
217
+ #: includes/pages/colors.php:7
218
+ msgid "Background"
219
+ msgstr ""
220
+
221
+ #: includes/pages/colors.php:13
222
+ msgid "Color"
223
+ msgstr ""
224
+
225
+ #: includes/pages/colors.php:19
226
+ msgid "Link"
227
+ msgstr ""
228
+
229
+ #: includes/pages/display.php:7
230
+ msgid "Devices"
231
+ msgstr ""
232
+
233
+ #: includes/pages/display.php:10
234
+ msgid "Show in all devices"
235
+ msgstr ""
236
+
237
+ #: includes/pages/display.php:11
238
+ msgid "Show in mobile devices"
239
+ msgstr ""
240
+
241
+ #: includes/pages/display.php:12
242
+ msgid "Show in desktop devices"
243
+ msgstr ""
244
+
245
+ #: includes/pages/display.php:13
246
+ msgid "Hide in all devices"
247
+ msgstr ""
248
+
249
+ #: includes/pages/display.php:18
250
+ msgid "Target"
251
+ msgstr ""
252
+
253
+ #: includes/pages/display.php:21 includes/pages/display.php:49
254
+ #: includes/pages/display.php:97 includes/settings.php:35
255
+ msgid "Exclude from all"
256
+ msgstr ""
257
+
258
+ #: includes/pages/display.php:22
259
+ msgid "Home"
260
+ msgstr ""
261
+
262
+ #: includes/pages/display.php:23
263
+ msgid "Blog"
264
+ msgstr ""
265
+
266
+ #: includes/pages/display.php:24
267
+ msgid "Search"
268
+ msgstr ""
269
+
270
+ #: includes/pages/display.php:27
271
+ msgid "If you select an option all the other will be excluded"
272
+ msgstr ""
273
+
274
+ #: includes/pages/display.php:48
275
+ #, php-format
276
+ msgid "Select for %s&hellip;"
277
+ msgstr ""
278
+
279
+ #: includes/pages/display.php:50
280
+ msgid "Archive"
281
+ msgstr ""
282
+
283
+ #: includes/pages/purchase.php:5 includes/settings.php:25
284
+ #: includes/settings.php:62
285
+ msgid "Premium"
286
+ msgstr ""
287
+
288
+ #: includes/pages/purchase.php:7
289
+ msgid ""
290
+ "Unlock the power of our premium WhatsApp Chat plugin wich allows you to "
291
+ "include unlimited agent accounts with their names and labels inside the box "
292
+ "to provide a direct contact to the different support areas of your site."
293
+ msgstr ""
294
+
295
+ #: includes/pages/purchase.php:10
296
+ msgid "Purchase Now"
297
+ msgstr ""
298
+
299
+ #: includes/pages/purchase.php:11
300
+ msgid "Get Support"
301
+ msgstr ""
302
+
303
+ #: includes/pages/purchase.php:15
304
+ msgid "Multiple agents"
305
+ msgstr ""
306
+
307
+ #: includes/pages/purchase.php:17
308
+ msgid ""
309
+ "WhatsApp Chat allows you to include unlimited agent accounts with their "
310
+ "names and labels inside the box to provide a direct contact to the different "
311
+ "support areas of your site."
312
+ msgstr ""
313
+
314
+ #: includes/pages/purchase.php:21
315
+ msgid "Customize colors"
316
+ msgstr ""
317
+
318
+ #: includes/pages/purchase.php:23
319
+ msgid ""
320
+ "Customize the colors to match site’s theme colors through the WordPress live "
321
+ "customizer interface."
322
+ msgstr ""
323
+
324
+ #: includes/pages/purchase.php:27
325
+ msgid "Custom icons"
326
+ msgstr ""
327
+
328
+ #: includes/pages/purchase.php:29
329
+ msgid ""
330
+ "Our plugin allows you to select between more than fourty icons to include in "
331
+ "your Whatsapp button."
332
+ msgstr ""
333
+
334
+ #: includes/pages/purchase.php:46
335
+ msgid "Chatbox interface"
336
+ msgstr ""
337
+
338
+ #: includes/pages/purchase.php:48
339
+ msgid ""
340
+ "WhatsApp chat for WordPress allows you to include a chatbox for each agent "
341
+ "where your users can type their first message."
342
+ msgstr ""
343
+
344
+ #: includes/pages/purchase.php:54
345
+ msgid "Custom agent message"
346
+ msgstr ""
347
+
348
+ #: includes/pages/purchase.php:56
349
+ msgid ""
350
+ "Allow you to set a custom message for each agent that will displayed on the "
351
+ "chatbox."
352
+ msgstr ""
353
+
354
+ #: includes/pages/purchase.php:60
355
+ msgid "Custom user message"
356
+ msgstr ""
357
+
358
+ #: includes/pages/purchase.php:62
359
+ msgid ""
360
+ "You can choose the predefined user message that will be sent to the agent "
361
+ "phone number."
362
+ msgstr ""
363
+
364
+ #: includes/pages/purchase.php:66
365
+ msgid "Type user message"
366
+ msgstr ""
367
+
368
+ #: includes/pages/purchase.php:68
369
+ msgid ""
370
+ "Allow your users to type their own messages before send it to the agent "
371
+ "phone number."
372
+ msgstr ""
373
+
374
+ #: includes/pages/welcome.php:6
375
+ msgid ""
376
+ "Hello we're QuadLayers! We've recently acquired this plugin and this is the "
377
+ "first update. We have worked very much and very hard to release it, and we "
378
+ "will do our absolute best to support it and fix all the issues."
379
+ msgstr ""
380
+
381
+ #: includes/pages/welcome.php:11
382
+ msgid "Community"
383
+ msgstr ""
384
+
385
+ #: includes/pages/welcome.php:13
386
+ msgid ""
387
+ "If you want to get in touch with other WhatsApp Chat users or be aware of "
388
+ "our promotional discounts join our community now."
389
+ msgstr ""
390
+
391
+ #: includes/pages/welcome.php:15
392
+ msgid "Join us"
393
+ msgstr ""
394
+
395
+ #: includes/pages/welcome.php:18
396
+ msgid "Demo"
397
+ msgstr ""
398
+
399
+ #: includes/pages/welcome.php:20
400
+ msgid ""
401
+ "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can "
402
+ "see our demo and a description about the features we offer in the premium "
403
+ "version."
404
+ msgstr ""
405
+
406
+ #: includes/pages/welcome.php:22
407
+ msgid "View demo"
408
+ msgstr ""
409
+
410
+ #: includes/pages/welcome.php:27
411
+ msgid ""
412
+ "If you have any doubt or you find any issue don't hesitate to contact us "
413
+ "through our ticket system or join our community to meet other WhatsApp Chat "
414
+ "users."
415
+ msgstr ""
416
+
417
+ #: includes/pages/welcome.php:29
418
+ msgid "Submit ticket"
419
+ msgstr ""
420
+
421
+ #: includes/settings.php:27
422
+ msgid "Settings"
423
+ msgstr ""
424
+
425
+ #: includes/settings.php:57
426
+ msgid "Welcome"
427
+ msgstr ""
428
+
429
+ #: includes/settings.php:59
430
+ msgid "Box"
431
+ msgstr ""
432
+
433
+ #: includes/settings.php:60
434
+ msgid "Display"
435
+ msgstr ""
436
+
437
+ #: includes/settings.php:61
438
+ msgid "Colors"
439
+ msgstr ""
440
+
441
+ #. Author of the plugin/theme
442
+ #: includes/settings.php:77 includes/settings.php:298
443
+ msgid "WhatsApp Chat"
444
+ msgstr ""
445
+
446
+ #: includes/settings.php:79
447
+ msgid ""
448
+ "Thanks for using WhatsApp Chat! We will do our best to offer you the best "
449
+ "and improved communication experience with your users."
450
+ msgstr ""
451
+
452
+ #: includes/settings.php:82
453
+ msgid "Check out our demo"
454
+ msgstr ""
455
+
456
+ #: includes/settings.php:101
457
+ msgid "QuadLayers"
458
+ msgstr ""
459
+
460
+ #: includes/settings.php:246
461
+ msgid "Upload"
462
+ msgstr ""
463
+
464
+ #: includes/settings.php:254
465
+ msgid "Firstname"
466
+ msgstr ""
467
+
468
+ #: includes/settings.php:256
469
+ msgid "Lastname"
470
+ msgstr ""
471
+
472
+ #: includes/settings.php:270
473
+ msgid "Enabled"
474
+ msgstr ""
475
+
476
+ #: includes/settings.php:271
477
+ msgid "Disabled"
478
+ msgstr ""
479
+
480
+ #: includes/settings.php:293
481
+ msgid "Close media panel"
482
+ msgstr ""
483
+
484
+ #: includes/settings.php:302
485
+ msgid "Select icon"
486
+ msgstr ""
487
+
488
+ #: includes/settings.php:309
489
+ msgid "Featured Image"
490
+ msgstr ""
491
+
492
+ #: includes/settings.php:325
493
+ msgid "Deselect"
494
+ msgstr ""
495
+
496
+ #: includes/settings.php:336
497
+ msgid "Save"
498
+ msgstr ""
499
+
500
+ #: includes/settings.php:337
501
+ msgid "Remove"
502
+ msgstr ""
503
+
504
+ #: includes/settings.php:375
505
+ #, php-format
506
+ msgid "Hello! Thank you for choosing the %s plugin!"
507
+ msgstr ""
508
+
509
+ #: includes/settings.php:377
510
+ msgid ""
511
+ "Could you please give it a 5-star rating on WordPress? We know its a big "
512
+ "favor, but we've worked very much and very hard to release this great "
513
+ "product. Your feedback will boost our motivation and help us promote and "
514
+ "continue to improve this product."
515
+ msgstr ""
516
+
517
+ #: includes/settings.php:380
518
+ msgid "Yes, of course!"
519
+ msgstr ""
520
+
521
+ #: includes/settings.php:383
522
+ msgid "Report a bug"
523
+ msgstr ""
524
+
525
+ #: template/box.php:47
526
+ msgid "Powered by QuadLayers"
527
+ msgstr ""
528
+
529
+ #. Plugin Name of the plugin/theme
530
+ msgid "WhatsApp Chat WP"
531
+ msgstr ""
532
+
533
+ #. Description of the plugin/theme
534
+ msgid "Send messages directly to your WhatsApp phone number."
535
+ msgstr ""
536
+
537
+ #. Author URI of the plugin/theme
538
+ msgid "https://quadlayers.com"
539
+ msgstr ""
4.2.3/readme.txt ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WhatsApp Chat WP ===
2
+ Contributors: quadlayers
3
+ Tags: button, chat, contact, support, whatsapp, whatsapp chat, whatsapp button, whatsapp widget, click to chat
4
+ Donate link: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
5
+ Requires at least: 3.0
6
+ Tested up to: 5.1
7
+ Stable tag: 4.2.3
8
+ License: GPLv2
9
+ License URI: https://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ WhatsApp Chat WP allows your website visitors and customers to contact you or your team through WhatsApp chat with a single click.
12
+
13
+ == Description ==
14
+
15
+ [Premium](https://quadlayers.com/portfolio/wordpress-whatsapp-chat/) | [Demo](https://quadlayers.com/whatsapp-chat/) | [Community](https://www.facebook.com/groups/quadlayers/)
16
+
17
+ WhatsApp Chat for WordPress allows your customers to open a conversation from your website directly to your WhatsApp phone number. This plugin includes a button where you can include a pre-filled message which will be automatically included in the conversation.
18
+ == Why WhatsApp? ==
19
+ WhatsApp is these days the most popular instant messaging application in the world and is available in more than 100 countries and supporting more than 50 languages.
20
+
21
+ This means most of our users <span style="background-color: #f6d5d9;">use</span> WhatsApp as their main contact method, and they probably have been using it for years. Therefore, offering easy access from our website is a good way to convert those visitors into customers.
22
+
23
+ Generating leads is the key to every business success, and the WhatsApp chat button can help you to increase your overall sales and reach this goal.
24
+ == WhatsApp Button ==
25
+ With the WhatsApp chat button, your visitors will be allowed to send a message directly to your phone number. To start configuring it, you have to go to the button tab inside the WhatsApp Chat section that you can find in your admin dashboard.
26
+
27
+ Inside the button tab, you'll to switch between two different layouts, define if you want to include rounded edges, the position where you want to show the WhatsApp button, the text that will be displayed inside, the phone number and the default user message.
28
+ == WhatsApp Chat ==
29
+ WhatsApp Chat also allows you to include a box to show some contact information and a personalized message. This box can be activated through the Box tab inside the WhatsApp Chat section and here you can define the header and footer message, contact name, phone, work, and avatar.
30
+ == WhatsApp Premium ==
31
+ The premium version of the WhatsApp Chat plugin allows you to include multiple team member agents with their names and labels inside the contact box to provide direct contact to the different support areas of your site.
32
+
33
+ A new option to display a chatbox for each agent will be included. This box will be displayed when the user clicks on the WhatsApp contact, and here you can show a custom message from each contact and your users will be able to type the message that will be sent to the WhatsApp contact phone.
34
+
35
+ Finally, we’ve included an option that allows you to select between more than fourteen icons to include in the WhatsApp button and full integration with the WordPress live customizer.
36
+
37
+
38
+ == WhatsApp Chat Features ==
39
+
40
+ > * WhatsApp button
41
+ > * WhatsApp contact box
42
+ > * WhatsApp button and box colors
43
+ > * Add custom icon in the WhatsApp button
44
+ > * Two button layouts
45
+ > * Hide the button based on post types and taxonomies
46
+ > * Add rounded or square borders
47
+ > * Vertical and horizontal position
48
+ > * Custom button text
49
+ > * Custom user message
50
+
51
+ == Installation ==
52
+
53
+ 1. Go to the Plugins Menu in WordPress
54
+ 2. Search for "WhatsApp Chat WP"
55
+ 3. Click "Install"
56
+ 4. Click "Activation"
57
+ 5. Go to the WhatsApp Chat options in the dashboard
58
+
59
+ == Frequently Asked Questions ==
60
+
61
+ = Where do I get support? =
62
+
63
+ You can contact us trough this channels
64
+
65
+ [Support Forum](https://wordpress.org/support/plugin/wp-whatsapp-chat/) | [Support Ticket](https://quadlayers.com/account/support) | [Support Chat](https://www.facebook.com/quadlayers/)
66
+
67
+ = Can I use more than one WhatsApp number? =
68
+
69
+ Yes, this option is available in our premium version
70
+
71
+ [WhatsApp Chat Premium](https://quadlayers.com/portfolio/wordpress-whatsapp-chat/)
72
+
73
+ = WhatsApp Chat is GDPR compatible? =
74
+
75
+ Yes, WhatsApp Chat WP don't save any personal data and don't use cookies.
76
+
77
+ = Will my WhatsApp number be visible to all users? =
78
+
79
+ Yes, every user of your website will be able to see the number of WhatsApp you are using. For this reason we advise you to not use a WhatsApp number that you want to keep private.
80
+
81
+ = What is a full phone number in international format? =
82
+
83
+ Omit any zeroes, brackets or dashes when adding the phone number in international format, including your country code, area and regular phone number.
84
+
85
+ Use: 15551234567
86
+ Don't use: +001-(555)1234567
87
+
88
+ = Translation =
89
+
90
+ * Brazilian Portuguese (thanks to [Dionizio Bach](@djio))
91
+
92
+ == Changelog ==
93
+
94
+ = 4.2.2 =
95
+ * Fix. language fix
96
+
97
+ = 4.2.1 =
98
+ * Fix. bad spelling
99
+
100
+ = 4.2.0 =
101
+ * Fix. incompatibility with visual composer add ons
102
+
103
+ = 4.1.9 =
104
+ * Fix. license market key
105
+
106
+ = 4.1.8 =
107
+ * Fix. WhatsApp button bubble text empty
108
+ * Fix. WhatsApp shortcode not working in desktop devices
109
+
110
+ = 4.1.7 =
111
+ * Fix. WhatsApp delete contact
112
+
113
+ = 4.1.6 =
114
+ * Fix. WhatsApp Android textarea closes on click
115
+ * Fix. WhatsApp Button empty settings not saving
116
+
117
+ = 4.1.5 =
118
+ * Fix. array to string conversion on first save
119
+ * Fix. static method
120
+
121
+ = 4.1.4 =
122
+ * Fix. WhatsApp Chat avatar js fixes
123
+
124
+ = 4.1.4 =
125
+ * Fix. WhatsApp Chat avatar css fixes
126
+
127
+ = 4.1.3 =
128
+ * Fix. WhatsApp Chat contacts missing
129
+ * Fix. WhatsApp Chat rounded images
130
+
131
+ = 4.1.2 =
132
+ * Fix. WhatsApp Chat button not open when box is disabled
133
+
134
+ = 4.1.1 =
135
+ * Fix. undefined variable
136
+
137
+ = 4.1.0 =
138
+ * Fix. WhatsApp Chat contact remove
139
+ * Fix. WhatsApp Chat box disable
140
+ * Fix. WhatsApp Chat button rounded disable
141
+ * Fix. WhatsApp Chat button discreet link
142
+
143
+ = 4.0.0 =
144
+
145
+ * New. WhatsApp Chat button bubble layout
146
+ * New. WhatsApp Chat button add or remove rounded corners
147
+ * New. WhatsApp Chat button middle position
148
+ * New. WhatsApp Chat button icon options
149
+ * New. WhatsApp Chat button discreet link
150
+ * New. WhatsApp Chat box to display contact
151
+ * New. WhatsApp Chat box header message
152
+ * New. WhatsApp Chat box footer message
153
+ * New. WhatsApp Chat box contact name
154
+ * New. WhatsApp Chat box contact phone
155
+ * New. WhatsApp Chat box contact label
156
+ * New. WhatsApp Chat box contact message
157
+ * New. WhatsApp Chat box contact name
158
+ * New. WhatsApp Chat show/hide in home search and 404 pages
159
+ * New. WhatsApp Chat show/hide in taxonomies
160
+ * New. WhatsApp Chat show/hide mobile devices
161
+ * New. WhatsApp Chat show/hide desktop devices
162
+ * Pro. WhatsApp Chat box multiple agents
163
+ * Pro. WhatsApp Chat box chat for each agent
164
+ * Pro. WhatsApp Chat color link
165
+ * Pro. WhatsApp Chat color message
166
+ * Pro. WhatsApp Chat color label
167
+ * Pro. WhatsApp Chat color label
168
+ * Pro. WhatsApp Chat color link
169
+ * Pro. WhatsApp Chat color customizer integration
170
+ * Pro. WhatsApp Chat button icons options
171
+ * Pro. WhatsApp Chat show/hide in singular post types
172
+
173
+ == Upgrade Notice ==
174
+
175
+ Hello! We've recently acquired this plugin and included tons of new features.
176
+
177
+ == Developed by ==
178
+ [QuadLayers](https://quadlayers.com)
4.2.3/template/box.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="qlwapp" class="qlwapp-free <?php printf("qlwapp-%s qlwapp-%s qlwapp-%s qlwapp-%s", esc_attr($qlwapp['button']['layout']), esc_attr($qlwapp['button']['position']), esc_attr($qlwapp['display']['devices']), esc_attr($qlwapp['button']['rounded'] === 'yes' ? 'rounded' : 'square')); ?>">
2
+ <div class="qlwapp-container">
3
+ <?php if ($qlwapp['box']['enable'] === 'yes'): ?>
4
+ <div class="qlwapp-box">
5
+ <?php if (!empty($qlwapp['box']['header'])): ?>
6
+ <div class="qlwapp-header">
7
+ <i class="qlwapp-close" data-action="close">&times;</i>
8
+ <div class="qlwapp-description">
9
+ <?php echo wpautop(wp_kses_post(wpautop($qlwapp['box']['header']))); ?>
10
+ </div>
11
+ </div>
12
+ <?php endif; ?>
13
+ <div class="qlwapp-body">
14
+ <?php if (isset($qlwapp['contacts'][0])): ?>
15
+ <a class="qlwapp-account" data-action="open" data-phone="<?php echo esc_attr($qlwapp['contacts'][0]['phone']); ?>" data-message="<?php echo esc_html($qlwapp['user']['message']); ?>" href="javascript:void(0);" target="_blank">
16
+ <?php if (!empty($qlwapp['contacts'][0]['avatar'])): ?>
17
+ <div class="qlwapp-avatar">
18
+ <div class="qlwapp-avatar-container">
19
+ <img alt="<?php printf("%s %s", esc_html($qlwapp['contacts'][0]['firstname']), esc_html($qlwapp['contacts'][0]['lastname'])); ?>" src="<?php echo esc_url($qlwapp['contacts'][0]['avatar']); ?>">
20
+ </div>
21
+ </div>
22
+ <?php endif; ?>
23
+ <div class="qlwapp-info">
24
+ <span class="qlwapp-label"><?php echo esc_html($qlwapp['contacts'][0]['label']); ?></span>
25
+ <span class="qlwapp-name"><?php printf("%s %s", esc_html($qlwapp['contacts'][0]['firstname']), esc_html($qlwapp['contacts'][0]['lastname'])); ?></span>
26
+ </div>
27
+ </a>
28
+ <?php endif; ?>
29
+ </div>
30
+ <?php if (!empty($qlwapp['box']['footer'])): ?>
31
+ <div class="qlwapp-footer">
32
+ <?php echo wpautop(wp_kses_post($qlwapp['box']['footer'])); ?>
33
+ </div>
34
+ <?php endif; ?>
35
+ </div>
36
+ <?php endif; ?>
37
+ <a class="qlwapp-toggle" data-action="<?php echo ($qlwapp['box']['enable'] === 'yes' ? 'box' : 'open'); ?>" data-phone="<?php echo esc_attr($qlwapp['button']['phone']); ?>" data-message="<?php echo esc_html($qlwapp['user']['message']); ?>" href="#" target="_blank">
38
+ <?php if ($qlwapp['button']['icon']): ?>
39
+ <i class="qlwapp-icon <?php echo esc_attr($qlwapp['button']['icon']); ?>"></i>
40
+ <?php endif; ?>
41
+ <i class="qlwapp-close" data-action="close">&times;</i>
42
+ <?php if ($qlwapp['button']['text']): ?>
43
+ <span class="qlwapp-text"><?php echo esc_html($qlwapp['button']['text']); ?></span>
44
+ <?php endif; ?>
45
+ </a>
46
+ <?php if ($qlwapp['button']['developer'] === 'yes'): ?>
47
+ <a class="qlwapp-developer" href="<?php echo esc_url(QLWAPP_DEMO_URL); ?>" target="_blank"><?php esc_html_e('Powered by QuadLayers'); ?></a>
48
+ <?php endif; ?>
49
+ </div>
50
+ </div>
4.2.3/uninstall.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('WP_UNINSTALL_PLUGIN')) {
4
+ die('-1');
5
+ }
6
+
7
+ if (!is_multisite()) {
8
+ delete_option('qlwapp');
9
+ }
10
+
11
+ delete_user_meta(get_current_user_id(), 'qlwapp-user-rating');
4.2.3/whatsapp-chat.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ($active_plugins = get_option('active_plugins', array())) {
4
+
5
+ foreach ($active_plugins as $key => $active_plugin) {
6
+
7
+ if (strstr($active_plugin, '/whatsapp-chat.php')) {
8
+ $active_plugins[$key] = str_replace('/whatsapp-chat.php', '/wp-whatsapp-chat.php', $active_plugin);
9
+ }
10
+
11
+ if (strstr($active_plugin, '/ql-whatsapp-chat.php')) {
12
+ $active_plugins[$key] = str_replace('/ql-whatsapp-chat.php', '/wp-whatsapp-chat.php', $active_plugin);
13
+ }
14
+ }
15
+
16
+ update_option('active_plugins', $active_plugins);
17
+ }
4.2.3/wp-whatsapp-chat.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Plugin Name: WhatsApp Chat WP
5
+ * Description: Send messages directly to your WhatsApp phone number.
6
+ * Version: 4.2.3
7
+ * Author: WhatsApp Chat
8
+ * Author URI: https://quadlayers.com
9
+ * Copyright: 2018 QuadLayers (https://quadlayers.com)
10
+ * Text Domain: qlwapp
11
+ * Domain Path: /languages
12
+ */
13
+ if (!defined('ABSPATH')) {
14
+ die('-1');
15
+ }
16
+ if (!defined('QLWAPP_PLUGIN_NAME')) {
17
+ define('QLWAPP_PLUGIN_NAME', 'WhatsApp Chat');
18
+ }
19
+ if (!defined('QLWAPP_PLUGIN_VERSION')) {
20
+ define('QLWAPP_PLUGIN_VERSION', '4.2.3');
21
+ }
22
+ if (!defined('QLWAPP_PLUGIN_FILE')) {
23
+ define('QLWAPP_PLUGIN_FILE', __FILE__);
24
+ }
25
+ if (!defined('QLWAPP_PLUGIN_DIR')) {
26
+ define('QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR);
27
+ }
28
+ if (!defined('QLWAPP_DOMAIN')) {
29
+ define('QLWAPP_DOMAIN', 'qlwapp');
30
+ }
31
+ if (!defined('QLWAPP_WORDPRESS_URL')) {
32
+ define('QLWAPP_WORDPRESS_URL', 'https://wordpress.org/plugins/wp-whatsapp-chat/');
33
+ }
34
+ if (!defined('QLWAPP_REVIEW_URL')) {
35
+ define('QLWAPP_REVIEW_URL', 'https://wordpress.org/support/plugin/wp-whatsapp-chat/reviews/?filter=5#new-post');
36
+ }
37
+ if (!defined('QLWAPP_DEMO_URL')) {
38
+ define('QLWAPP_DEMO_URL', 'https://quadlayers.com/portfolio/wordpress-whatsapp-chat/?utm_source=qlwapp_admin');
39
+ }
40
+ if (!defined('QLWAPP_PURCHASE_URL')) {
41
+ define('QLWAPP_PURCHASE_URL', QLWAPP_DEMO_URL);
42
+ }
43
+ if (!defined('QLWAPP_SUPPORT_URL')) {
44
+ define('QLWAPP_SUPPORT_URL', 'https://quadlayers.com/account/support/?utm_source=qlwapp_admin');
45
+ }
46
+ if (!defined('QLWAPP_GROUP_URL')) {
47
+ define('QLWAPP_GROUP_URL', 'https://www.facebook.com/groups/quadlayers');
48
+ }
49
+
50
+ if (!class_exists('QLWAPP')) {
51
+
52
+ class QLWAPP {
53
+
54
+ protected static $instance;
55
+
56
+ function includes() {
57
+ include_once('includes/defaults.php');
58
+ include_once('includes/frontend.php');
59
+ include_once('includes/settings.php');
60
+ }
61
+
62
+ function languages() {
63
+ load_plugin_textdomain('qlwapp', false, dirname(plugin_basename(__FILE__)) . '/languages/');
64
+ }
65
+
66
+ function add_premium_js() {
67
+ if (!class_exists('QLWAPP_PRO')) {
68
+ ?>
69
+ <style>
70
+ .qlwapp-premium-field {
71
+ opacity: 0.5;
72
+ pointer-events: none;
73
+ }
74
+ </style>
75
+ <?php
76
+
77
+ }
78
+ }
79
+
80
+ function init() {
81
+ add_action('admin_footer', array($this, 'add_premium_js'));
82
+ }
83
+
84
+ public static function do_activation() {
85
+ set_transient('qlwapp-first-rating', true, MONTH_IN_SECONDS);
86
+ }
87
+
88
+ public static function instance() {
89
+ if (!isset(self::$instance)) {
90
+ self::$instance = new self();
91
+ self::$instance->languages();
92
+ self::$instance->includes();
93
+ self::$instance->init();
94
+ }
95
+ return self::$instance;
96
+ }
97
+
98
+ }
99
+
100
+ add_action('plugins_loaded', array('QLWAPP', 'instance'));
101
+
102
+ register_activation_hook(QLWAPP_PLUGIN_FILE, array('QLWAPP', 'do_activation'));
103
+ }
4.2.4/assets/css/qlwapp-admin.css ADDED
@@ -0,0 +1,502 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .select2-container {
2
+ box-sizing: border-box;
3
+ display: inline-block;
4
+ margin: 0;
5
+ position: relative;
6
+ vertical-align: middle
7
+ }
8
+
9
+ .select2-container .select2-selection--single {
10
+ box-sizing: border-box;
11
+ cursor: pointer;
12
+ display: block;
13
+ height: 28px;
14
+ margin: 0 0 -4px;
15
+ -moz-user-select: none;
16
+ -ms-user-select: none;
17
+ user-select: none;
18
+ -webkit-user-select: none
19
+ }
20
+
21
+ .select2-container .select2-selection--single .select2-selection__rendered {
22
+ display: block;
23
+ padding-left: 8px;
24
+ padding-right: 20px;
25
+ overflow: hidden;
26
+ text-overflow: ellipsis;
27
+ white-space: nowrap
28
+ }
29
+
30
+ .select2-container .select2-selection--single .select2-selection__clear {
31
+ position: relative
32
+ }
33
+
34
+ .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
35
+ padding-right: 8px;
36
+ padding-left: 20px
37
+ }
38
+
39
+ .select2-container .select2-selection {
40
+ box-sizing: border-box;
41
+ cursor: pointer;
42
+ display: block;
43
+ min-height: 32px;
44
+ -moz-user-select: none;
45
+ -ms-user-select: none;
46
+ user-select: none;
47
+ -webkit-user-select: none
48
+ }
49
+
50
+ .select2-container .select2-selection .select2-selection__rendered {
51
+ display: inline-block;
52
+ overflow: hidden;
53
+ padding-left: 8px;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap
56
+ }
57
+
58
+ .select2-container .select2-search--inline {
59
+ float: left;
60
+ padding: 0
61
+ }
62
+
63
+ .select2-container .select2-search--inline .select2-search__field {
64
+ box-sizing: border-box;
65
+ border: none;
66
+ font-size: 100%;
67
+ margin: 0;
68
+ padding: 0
69
+ }
70
+
71
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
72
+ -webkit-appearance: none
73
+ }
74
+
75
+ .select2-dropdown {
76
+ background-color: #fff;
77
+ border: 1px solid #ccc;
78
+ border-radius: 2px;
79
+ box-sizing: border-box;
80
+ display: block;
81
+ position: absolute;
82
+ left: -100000px;
83
+ width: 100%;
84
+ z-index: 1051
85
+ }
86
+
87
+ .select2-results {
88
+ display: block
89
+ }
90
+
91
+ .select2-results__options {
92
+ list-style: none;
93
+ margin: 0;
94
+ padding: 0
95
+ }
96
+
97
+ .select2-results__option {
98
+ margin: 0;
99
+ padding: 8px;
100
+ -moz-user-select: none;
101
+ -ms-user-select: none;
102
+ user-select: none;
103
+ -webkit-user-select: none
104
+ }
105
+
106
+ .select2-results__option[aria-selected],
107
+ .select2-results__option[data-selected] {
108
+ cursor: pointer
109
+ }
110
+
111
+ .select2-container--open .select2-dropdown {
112
+ left: 0
113
+ }
114
+
115
+ .select2-container--open .select2-dropdown--above {
116
+ border-bottom: none;
117
+ border-bottom-left-radius: 0;
118
+ border-bottom-right-radius: 0
119
+ }
120
+
121
+ .select2-container--open .select2-dropdown--below {
122
+ border-top: none;
123
+ border-top-left-radius: 0;
124
+ border-top-right-radius: 0
125
+ }
126
+
127
+ .select2-search--dropdown {
128
+ display: block;
129
+ padding: 4px
130
+ }
131
+
132
+ .select2-search--dropdown .select2-search__field {
133
+ padding: 4px;
134
+ width: 100%;
135
+ box-sizing: border-box
136
+ }
137
+
138
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
139
+ -webkit-appearance: none
140
+ }
141
+
142
+ .select2-search--dropdown.select2-search--hide {
143
+ display: none
144
+ }
145
+
146
+ .select2-close-mask {
147
+ border: 0;
148
+ margin: 0;
149
+ padding: 0;
150
+ display: block;
151
+ position: fixed;
152
+ left: 0;
153
+ top: 0;
154
+ min-height: 100%;
155
+ min-width: 100%;
156
+ height: auto;
157
+ width: auto;
158
+ opacity: 0;
159
+ z-index: 99;
160
+ background-color: #fff
161
+ }
162
+
163
+ .select2-hidden-accessible {
164
+ border: 0!important;
165
+ clip: rect(0 0 0 0)!important;
166
+ height: 1px!important;
167
+ margin: -1px!important;
168
+ overflow: hidden!important;
169
+ padding: 0!important;
170
+ position: absolute!important;
171
+ width: 1px!important
172
+ }
173
+
174
+ .select2-container--default .select2-selection--single {
175
+ background-color: #fff;
176
+ border: 1px solid #ccc;
177
+ border-radius: 4px
178
+ }
179
+
180
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
181
+ color: #444;
182
+ line-height: 28px
183
+ }
184
+
185
+ .select2-container--default .select2-selection--single .select2-selection__clear {
186
+ cursor: pointer;
187
+ float: right;
188
+ font-weight: 700
189
+ }
190
+
191
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
192
+ color: #999
193
+ }
194
+
195
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
196
+ height: 32px;
197
+ position: absolute;
198
+ top: 0px;
199
+ right: 1px;
200
+ width: 20px
201
+ }
202
+
203
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
204
+ border-color: #888 transparent transparent transparent;
205
+ border-style: solid;
206
+ border-width: 5px 4px 0 4px;
207
+ height: 0;
208
+ left: 50%;
209
+ margin-left: -4px;
210
+ margin-top: -2px;
211
+ position: absolute;
212
+ top: 50%;
213
+ width: 0
214
+ }
215
+
216
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
217
+ float: left
218
+ }
219
+
220
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
221
+ left: 1px;
222
+ right: auto
223
+ }
224
+
225
+ .select2-container--default.select2-container--disabled .select2-selection--single {
226
+ background-color: #eee;
227
+ cursor: default
228
+ }
229
+
230
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
231
+ display: none
232
+ }
233
+
234
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
235
+ border-color: transparent transparent #888 transparent;
236
+ border-width: 0 4px 5px 4px
237
+ }
238
+
239
+ .select2-container--default .select2-selection {
240
+ background-color: #fff;
241
+ border: 1px solid #ccc;
242
+ border-radius: 2px;
243
+ cursor: text
244
+ }
245
+
246
+ .select2-container--default .select2-selection .select2-selection__rendered {
247
+ box-sizing: border-box;
248
+ list-style: none;
249
+ margin: 0;
250
+ padding: 0 5px;
251
+ width: 100%
252
+ }
253
+
254
+ .select2-container--default .select2-selection .select2-selection__rendered li {
255
+ list-style: none;
256
+ margin: 5px 5px 0 0
257
+ }
258
+
259
+ .select2-container--default .select2-selection .select2-selection__rendered li:before {
260
+ content: '';
261
+ display: none
262
+ }
263
+
264
+ .select2-container--default .select2-selection .select2-selection__placeholder {
265
+ color: #999;
266
+ margin-top: 5px;
267
+ float: left
268
+ }
269
+
270
+ .select2-container--default .select2-selection .select2-selection__clear {
271
+ cursor: pointer;
272
+ float: right;
273
+ font-weight: 700;
274
+ margin-top: 5px;
275
+ margin-right: 10px
276
+ }
277
+
278
+ .select2-container--default .select2-selection .select2-selection__choice {
279
+ background-color: #e4e4e4;
280
+ border: 1px solid #ccc;
281
+ border-radius: 2px;
282
+ cursor: default;
283
+ float: left;
284
+ margin-right: 5px;
285
+ margin-top: 5px;
286
+ padding: 0 5px
287
+ }
288
+
289
+ .select2-container--default .select2-selection .select2-selection__choice__remove {
290
+ color: #999;
291
+ cursor: pointer;
292
+ display: inline-block;
293
+ font-weight: 700;
294
+ margin-right: 2px
295
+ }
296
+
297
+ .select2-container--default .select2-selection .select2-selection__choice__remove:hover {
298
+ color: #333
299
+ }
300
+
301
+ .select2-container--default[dir=rtl] .select2-selection .select2-search--inline,
302
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,
303
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder {
304
+ float: right
305
+ }
306
+
307
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice {
308
+ margin-left: 5px;
309
+ margin-right: auto
310
+ }
311
+
312
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove {
313
+ margin-left: 2px;
314
+ margin-right: auto
315
+ }
316
+
317
+ .select2-container--default.select2-container--focus .select2-selection {
318
+ outline: 0
319
+ }
320
+
321
+ .select2-container--default.select2-container--disabled .select2-selection {
322
+ background-color: #eee;
323
+ cursor: default
324
+ }
325
+
326
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
327
+ display: none
328
+ }
329
+
330
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection,
331
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
332
+ border-top-left-radius: 0;
333
+ border-top-right-radius: 0
334
+ }
335
+
336
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection,
337
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
338
+ border-bottom-left-radius: 0;
339
+ border-bottom-right-radius: 0
340
+ }
341
+
342
+ .select2-container--default .select2-search--dropdown .select2-search__field {
343
+ border: 1px solid #ccc
344
+ }
345
+
346
+ .select2-container--default .select2-search--inline .select2-search__field {
347
+ background: 0 0;
348
+ border: none;
349
+ outline: 0;
350
+ box-shadow: none;
351
+ -webkit-appearance: textfield
352
+ }
353
+
354
+ .select2-container--default .select2-results>.select2-results__options {
355
+ max-height: 200px;
356
+ overflow-y: auto
357
+ }
358
+
359
+ .select2-container--default .select2-results__option[role=group] {
360
+ padding: 0
361
+ }
362
+
363
+ .select2-container--default .select2-results__option[aria-disabled=true] {
364
+ color: #999
365
+ }
366
+
367
+ .select2-container--default .select2-results__option[aria-selected=true],
368
+ .select2-container--default .select2-results__option[data-selected=true] {
369
+ background-color: #ddd
370
+ }
371
+
372
+ .select2-container--default .select2-results__option .select2-results__option {
373
+ padding-left: 1em
374
+ }
375
+
376
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
377
+ padding-left: 0
378
+ }
379
+
380
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
381
+ margin-left: -1em;
382
+ padding-left: 2em
383
+ }
384
+
385
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
386
+ margin-left: -2em;
387
+ padding-left: 3em
388
+ }
389
+
390
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
391
+ margin-left: -3em;
392
+ padding-left: 4em
393
+ }
394
+
395
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
396
+ margin-left: -4em;
397
+ padding-left: 5em
398
+ }
399
+
400
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
401
+ margin-left: -5em;
402
+ padding-left: 6em
403
+ }
404
+
405
+ .select2-container--default .select2-results__option--highlighted[aria-selected],
406
+ .select2-container--default .select2-results__option--highlighted[data-selected] {
407
+ background-color: #0073aa;
408
+ color: #fff
409
+ }
410
+
411
+ #qlwapp_modal .attachments-browser .attachments {
412
+ top: 0;
413
+ left: 0;
414
+ right: 0;
415
+ }
416
+
417
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail,
418
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
419
+ vertical-align: middle;
420
+ text-align: center;
421
+ }
422
+
423
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail:before,
424
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before {
425
+ content: '';
426
+ display: inline-block;
427
+ width: 0px;
428
+ height: 100%;
429
+ vertical-align: middle;
430
+ }
431
+
432
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail>i,
433
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
434
+ text-align: center;
435
+ font-size: 3vw;
436
+ display: inline-block;
437
+ vertical-align: middle;
438
+ height: auto;
439
+ width: auto;
440
+ }
441
+
442
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
443
+ width: 60px;
444
+ height: 60px;
445
+ background-color: #fff;
446
+ }
447
+
448
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
449
+ font-size: 2em;
450
+ position: relative;
451
+ left: -1px;
452
+ }
453
+
454
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container {
455
+ box-sizing: border-box;
456
+ width: 100%;
457
+ border-bottom: 1px solid #ddd;
458
+ padding: 11px 0;
459
+ }
460
+
461
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color {
462
+ box-sizing: border-box;
463
+ margin: 1px;
464
+ width: 65%;
465
+ float: right;
466
+ }
467
+
468
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result {
469
+ width: 100%;
470
+ margin-top: 5px!important;
471
+ }
472
+
473
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text {
474
+ z-index: 1;
475
+ position: relative;
476
+ }
477
+
478
+ .about-wrap .form-table td img.qlwapp-avatar {
479
+ width: 120px;
480
+ height: 120px;
481
+ }
482
+
483
+ .qlwrap .nav-tab i {
484
+ line-height: 26px;
485
+ }
486
+
487
+ .qlwrap .form-table td {
488
+ vertical-align: middle;
489
+ }
490
+
491
+ .qlwrap .qlwapp-input,
492
+ .qlwrap .qlwapp-select2 {
493
+ width: 350px;
494
+ max-width: 100%;
495
+ }
496
+
497
+ .qlwrap .qlwapp-input {
498
+ margin: 0;
499
+ padding: 6px;
500
+ box-sizing: border-box;
501
+ vertical-align: top;
502
+ }
4.2.4/assets/css/qlwapp-admin.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;margin:0 0 -4px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left;padding:0}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:0;font-size:100%;margin:0;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{margin:0;padding:8px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected],.select2-results__option[data-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #ccc;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:32px;position:absolute;top:0;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection{background-color:#fff;border:1px solid #ccc;border-radius:2px;cursor:text}.select2-container--default .select2-selection .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection .select2-selection__rendered li{list-style:none;margin:5px 5px 0 0}.select2-container--default .select2-selection .select2-selection__rendered li:before{content:'';display:none}.select2-container--default .select2-selection .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection .select2-selection__choice{background-color:#e4e4e4;border:1px solid #ccc;border-radius:2px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection{outline:0}.select2-container--default.select2-container--disabled .select2-selection{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #ccc}.select2-container--default .select2-search--inline .select2-search__field{background:0;border:0;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background-color:#0073aa;color:#fff}#qlwapp_modal .attachments-browser .attachments{top:0;left:0;right:0}#qlwapp_modal .wp-core-ui .attachment .thumbnail,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail{vertical-align:middle;text-align:center}#qlwapp_modal .wp-core-ui .attachment .thumbnail:before,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before{content:'';display:inline-block;width:0;height:100%;vertical-align:middle}#qlwapp_modal .wp-core-ui .attachment .thumbnail>i,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i{text-align:center;font-size:3vw;display:inline-block;vertical-align:middle;height:auto;width:auto}#qlwapp_modal .wp-core-ui .attachment-info .thumbnail{width:60px;height:60px;background-color:#fff}#qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i{font-size:2em;position:relative;left:-1px}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container{box-sizing:border-box;width:100%;border-bottom:1px solid #ddd;padding:11px 0}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color{box-sizing:border-box;margin:1px;width:65%;float:right}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result{width:100%;margin-top:5px!important}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text{z-index:1;position:relative}.about-wrap .form-table td img.qlwapp-avatar{width:120px;height:120px}.qlwrap .nav-tab i{line-height:26px}.qlwrap .form-table td{vertical-align:middle}.qlwrap .qlwapp-input,.qlwrap .qlwapp-select2{width:350px;max-width:100%}.qlwrap .qlwapp-input{margin:0;padding:6px;box-sizing:border-box;vertical-align:top}
4.2.4/assets/css/qlwapp.css ADDED
@@ -0,0 +1,869 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'qlwapp-whatsapp';
3
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+ .qlwapp-whatsapp-icon {
8
+ font-family: 'qlwapp-whatsapp' !important;
9
+ speak: none;
10
+ font-style: normal;
11
+ font-weight: normal;
12
+ font-variant: normal;
13
+ text-transform: none;
14
+ line-height: 1;
15
+ -webkit-font-smoothing: antialiased;
16
+ -moz-osx-font-smoothing: grayscale;
17
+ }
18
+ .qlwapp-whatsapp-icon:before {
19
+ content: "\e900";
20
+ }
21
+ #qlwapp {
22
+ box-sizing: border-box;
23
+ /*&.qlwapp-middle-left {
24
+ &.qlwapp-button {
25
+ .qlwapp-developer,
26
+ .qlwapp-toggle {
27
+ margin-left: -48px;
28
+ padding-left: 60px;
29
+ }
30
+ }
31
+ }
32
+
33
+ &.qlwapp-middle-right {
34
+ &.qlwapp-button {
35
+ .qlwapp-developer,
36
+ .qlwapp-toggle {
37
+ margin-right: -48px;
38
+ padding-right: 60px;
39
+ }
40
+
41
+ }
42
+ }
43
+
44
+ &.qlwapp-bottom-left {
45
+ &.qlwapp-bubble,
46
+ &.qlwapp-button {
47
+ .qlwapp-developer,
48
+ .qlwapp-toggle {
49
+ margin-left: 20px;
50
+ }
51
+ }
52
+
53
+ &.qlwapp-bubble {
54
+ .qlwapp-toggle {
55
+ .qlwapp-text {
56
+ right: auto;
57
+ left: 60px;
58
+ }
59
+ }
60
+ }
61
+
62
+ .qlwapp-box {
63
+ &:before {
64
+ right: auto;
65
+ left: 20px;
66
+ }
67
+ }
68
+
69
+ }
70
+
71
+ &.qlwapp-bottom-right {
72
+ &.qlwapp-bubble,
73
+ &.qlwapp-button {
74
+
75
+ .qlwapp-developer,
76
+ .qlwapp-toggle {
77
+ margin-right: 20px;
78
+ }
79
+ }
80
+ }*/
81
+ }
82
+ @media (min-width: 430px) {
83
+ #qlwapp {
84
+ width: 430px;
85
+ }
86
+ }
87
+ #qlwapp * {
88
+ box-sizing: border-box;
89
+ }
90
+ #qlwapp.qlwapp-js-ready {
91
+ display: block;
92
+ }
93
+ #qlwapp.qlwapp-hide,
94
+ #qlwapp.qlwapp-desktop.mobile,
95
+ #qlwapp.qlwapp-mobile.desktop {
96
+ display: none;
97
+ }
98
+ #qlwapp.qlwapp-middle-left,
99
+ #qlwapp.qlwapp-bottom-left,
100
+ #qlwapp.qlwapp-middle-right,
101
+ #qlwapp.qlwapp-bottom-right {
102
+ position: fixed;
103
+ z-index: 9999999;
104
+ }
105
+ #qlwapp.qlwapp-middle-left,
106
+ #qlwapp.qlwapp-bottom-left {
107
+ right: auto;
108
+ left: 0;
109
+ }
110
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,
111
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,
112
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,
113
+ #qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,
114
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,
115
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,
116
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,
117
+ #qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle {
118
+ margin-left: 20px;
119
+ }
120
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,
121
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
122
+ right: auto;
123
+ left: 60px;
124
+ }
125
+ #qlwapp.qlwapp-middle-left .qlwapp-box:before,
126
+ #qlwapp.qlwapp-bottom-left .qlwapp-box:before {
127
+ right: auto;
128
+ left: 20px;
129
+ }
130
+ #qlwapp.qlwapp-middle-right,
131
+ #qlwapp.qlwapp-bottom-right {
132
+ left: auto;
133
+ right: 0;
134
+ }
135
+ #qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,
136
+ #qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,
137
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,
138
+ #qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,
139
+ #qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,
140
+ #qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,
141
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,
142
+ #qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle {
143
+ margin-right: 20px;
144
+ }
145
+ #qlwapp.qlwapp-middle-left,
146
+ #qlwapp.qlwapp-middle-right {
147
+ top: 40%;
148
+ bottom: auto;
149
+ }
150
+ #qlwapp.qlwapp-middle-left .qlwapp-developer,
151
+ #qlwapp.qlwapp-middle-right .qlwapp-developer {
152
+ padding: 0 24px;
153
+ }
154
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,
155
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle {
156
+ margin-left: -48px;
157
+ padding-left: 60px;
158
+ }
159
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,
160
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle {
161
+ margin-right: -48px;
162
+ padding-right: 60px;
163
+ }
164
+ #qlwapp.qlwapp-bottom-left,
165
+ #qlwapp.qlwapp-bottom-right {
166
+ top: auto;
167
+ bottom: 0;
168
+ }
169
+ #qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle {
170
+ border-radius: 50%;
171
+ }
172
+ #qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle {
173
+ border-radius: 50px;
174
+ }
175
+ @media (min-width: 430px) {
176
+ #qlwapp.qlwapp-rounded .qlwapp-box {
177
+ border-radius: 8px;
178
+ }
179
+ }
180
+ #qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,
181
+ #qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message {
182
+ border-radius: 4px;
183
+ }
184
+ #qlwapp p:last-child {
185
+ margin: 0;
186
+ }
187
+ #qlwapp time {
188
+ opacity: 0.8;
189
+ font-style: italic;
190
+ font-size: 10px;
191
+ }
192
+ #qlwapp .qlwapp-container {
193
+ display: flex;
194
+ flex-direction: column;
195
+ }
196
+ #qlwapp .qlwapp-clearfix:before,
197
+ #qlwapp .qlwapp-clearfix:after {
198
+ content: '';
199
+ display: block;
200
+ clear: both;
201
+ }
202
+ #qlwapp .qlwapp-previous,
203
+ #qlwapp .qlwapp-close {
204
+ display: block;
205
+ opacity: 0.8;
206
+ font-style: unset;
207
+ font-size: 24px;
208
+ font-weight: bold;
209
+ width: 24px;
210
+ height: 24px;
211
+ cursor: pointer;
212
+ text-align: center;
213
+ line-height: 24px;
214
+ z-index: 1;
215
+ }
216
+ #qlwapp .qlwapp-previous {
217
+ width: 16px;
218
+ height: 36px;
219
+ cursor: pointer;
220
+ text-align: center;
221
+ line-height: 36px;
222
+ margin-right: auto;
223
+ }
224
+ #qlwapp .qlwapp-developer {
225
+ font-size: 8px;
226
+ top: -20px;
227
+ position: relative;
228
+ }
229
+ #qlwapp .qlwapp-developer,
230
+ #qlwapp .qlwapp-toggle {
231
+ display: inline-flex;
232
+ align-items: center;
233
+ justify-content: center;
234
+ margin-left: auto;
235
+ margin-right: auto;
236
+ }
237
+ #qlwapp .qlwapp-toggle {
238
+ cursor: pointer;
239
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
240
+ margin-top: 24px;
241
+ margin-bottom: 24px;
242
+ position: relative;
243
+ text-decoration: none;
244
+ }
245
+ #qlwapp .qlwapp-toggle,
246
+ #qlwapp .qlwapp-toggle:active,
247
+ #qlwapp .qlwapp-toggle:focus,
248
+ #qlwapp .qlwapp-toggle:hover {
249
+ outline: none;
250
+ text-decoration: none;
251
+ }
252
+ #qlwapp .qlwapp-avatar .qlwapp-avatar-container {
253
+ overflow: hidden;
254
+ border-radius: 50%;
255
+ width: inherit;
256
+ height: inherit;
257
+ }
258
+ #qlwapp .qlwapp-avatar .qlwapp-avatar-container img {
259
+ width: 100%;
260
+ height: auto;
261
+ }
262
+ #qlwapp.qlwapp-bubble .qlwapp-toggle {
263
+ width: 60px;
264
+ height: 60px;
265
+ }
266
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,
267
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
268
+ position: absolute;
269
+ display: block;
270
+ pointer-events: none;
271
+ font-size: 24px;
272
+ }
273
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
274
+ position: absolute;
275
+ right: 60px;
276
+ height: 60px;
277
+ margin: 0 24px;
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: flex-end;
281
+ font-weight: bold;
282
+ white-space: pre;
283
+ }
284
+ #qlwapp.qlwapp-button .qlwapp-toggle {
285
+ height: 40px;
286
+ white-space: nowrap;
287
+ padding: 12px 24px;
288
+ }
289
+ #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon {
290
+ margin: 0 12px 0 0;
291
+ }
292
+ #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close {
293
+ display: none;
294
+ }
295
+ #qlwapp .qlwapp-box {
296
+ padding-bottom: 56px;
297
+ position: fixed;
298
+ top: auto;
299
+ bottom: 0;
300
+ left: 0;
301
+ right: 0;
302
+ z-index: 99999;
303
+ box-shadow: 0px 5px 40px 5px rgba(0, 0, 0, 0.5);
304
+ }
305
+ @media (min-width: 430px) {
306
+ #qlwapp .qlwapp-box {
307
+ position: relative;
308
+ top: auto;
309
+ bottom: auto;
310
+ left: auto;
311
+ right: auto;
312
+ box-shadow: 0 8px 25px -5px rgba(45, 62, 79, 0.15);
313
+ margin-top: 24px;
314
+ margin-left: 24px;
315
+ margin-right: 24px;
316
+ margin-bottom: 12px;
317
+ }
318
+ #qlwapp .qlwapp-box:before {
319
+ content: '';
320
+ position: absolute;
321
+ bottom: -6px;
322
+ right: 24px;
323
+ width: 13px;
324
+ height: 13px;
325
+ transform: rotate(45deg);
326
+ }
327
+ #qlwapp .qlwapp-box .qlwapp-header {
328
+ border-top-left-radius: inherit;
329
+ border-top-right-radius: inherit;
330
+ }
331
+ #qlwapp .qlwapp-box .qlwapp-footer,
332
+ #qlwapp .qlwapp-box .qlwapp-response {
333
+ border-bottom-left-radius: inherit;
334
+ border-bottom-right-radius: inherit;
335
+ }
336
+ }
337
+ #qlwapp .qlwapp-box .qlwapp-header {
338
+ position: relative;
339
+ overflow: hidden;
340
+ }
341
+ #qlwapp .qlwapp-box .qlwapp-header:before {
342
+ content: '';
343
+ position: absolute;
344
+ top: 0;
345
+ bottom: 0;
346
+ left: 0;
347
+ right: 0;
348
+ background: linear-gradient(135deg, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
349
+ }
350
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-close {
351
+ position: absolute;
352
+ top: 12px;
353
+ right: 12px;
354
+ }
355
+ @media (min-width: 430px) {
356
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-close {
357
+ position: absolute;
358
+ top: 7px;
359
+ right: 7px;
360
+ font-size: 16px;
361
+ }
362
+ }
363
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-description {
364
+ position: relative;
365
+ }
366
+ #qlwapp .qlwapp-box .qlwapp-description,
367
+ #qlwapp .qlwapp-box .qlwapp-contact {
368
+ padding: 24px 36px;
369
+ height: 100%;
370
+ }
371
+ #qlwapp .qlwapp-box .qlwapp-description p,
372
+ #qlwapp .qlwapp-box .qlwapp-description h3 {
373
+ color: inherit;
374
+ font-family: inherit;
375
+ margin: 0;
376
+ }
377
+ #qlwapp .qlwapp-box .qlwapp-description h3 {
378
+ margin: 0 0 0.25em 0;
379
+ }
380
+ #qlwapp .qlwapp-box .qlwapp-contact {
381
+ display: flex;
382
+ justify-content: flex-end;
383
+ align-items: center;
384
+ text-align: right;
385
+ }
386
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous {
387
+ position: relative;
388
+ left: -16px;
389
+ }
390
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous > i {
391
+ line-height: 36px;
392
+ }
393
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar {
394
+ width: 42px;
395
+ height: 42px;
396
+ }
397
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,
398
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name {
399
+ color: inherit;
400
+ }
401
+ #qlwapp .qlwapp-box .qlwapp-account {
402
+ color: inherit;
403
+ padding: 16px 36px;
404
+ display: flex;
405
+ align-items: center;
406
+ overflow: hidden;
407
+ position: relative;
408
+ cursor: pointer;
409
+ width: 100%;
410
+ }
411
+ #qlwapp .qlwapp-box .qlwapp-account:only-of-type {
412
+ padding-top: 36px;
413
+ padding-bottom: 36px;
414
+ }
415
+ #qlwapp .qlwapp-box .qlwapp-info {
416
+ padding: 0 16px;
417
+ }
418
+ #qlwapp .qlwapp-box .qlwapp-avatar {
419
+ position: relative;
420
+ width: 62px;
421
+ height: 62px;
422
+ }
423
+ #qlwapp .qlwapp-box .qlwapp-avatar:after {
424
+ content: '';
425
+ display: block;
426
+ width: 15px;
427
+ height: 15px;
428
+ position: absolute;
429
+ bottom: 2px;
430
+ right: 2px;
431
+ background-image: url(data:image/png;base64,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);
432
+ background-color: transparent;
433
+ background-repeat: no-repeat;
434
+ background-position: center center;
435
+ background-size: cover;
436
+ z-index: 4;
437
+ }
438
+ #qlwapp .qlwapp-box .qlwapp-label,
439
+ #qlwapp .qlwapp-box .qlwapp-offline-text {
440
+ font-size: 12px;
441
+ line-height: 1.5em;
442
+ opacity: .6;
443
+ display: block;
444
+ }
445
+ #qlwapp .qlwapp-box .qlwapp-name {
446
+ display: block;
447
+ font-weight: bold;
448
+ }
449
+ #qlwapp .qlwapp-box .qlwapp-body {
450
+ overflow-x: hidden;
451
+ overflow-y: auto;
452
+ }
453
+ #qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel {
454
+ max-height: 470px;
455
+ min-height: 134px;
456
+ }
457
+ #qlwapp .qlwapp-box .qlwapp-chat {
458
+ display: flex;
459
+ flex-direction: column;
460
+ overflow: hidden;
461
+ }
462
+ #qlwapp .qlwapp-box .qlwapp-user,
463
+ #qlwapp .qlwapp-box .qlwapp-message {
464
+ padding: 16px 24px;
465
+ margin: 36px;
466
+ position: relative;
467
+ word-wrap: break-word;
468
+ width: calc(100% - 36px*2);
469
+ }
470
+ #qlwapp .qlwapp-box .qlwapp-user:before,
471
+ #qlwapp .qlwapp-box .qlwapp-message:before {
472
+ content: '';
473
+ position: absolute;
474
+ top: -6px;
475
+ right: 24px;
476
+ width: 13px;
477
+ height: 13px;
478
+ transform: rotate(45deg);
479
+ }
480
+ #qlwapp .qlwapp-box .qlwapp-user {
481
+ width: auto;
482
+ max-width: 75%;
483
+ align-self: flex-start;
484
+ justify-self: flex-end;
485
+ margin-top: 0;
486
+ }
487
+ #qlwapp .qlwapp-box .qlwapp-user:before {
488
+ top: auto;
489
+ bottom: -6px;
490
+ left: 24px;
491
+ }
492
+ #qlwapp .qlwapp-box .qlwapp-padding {
493
+ padding-bottom: 56px;
494
+ }
495
+ #qlwapp .qlwapp-box .qlwapp-footer,
496
+ #qlwapp .qlwapp-box .qlwapp-response {
497
+ position: absolute;
498
+ bottom: 0;
499
+ left: 0;
500
+ right: 0;
501
+ height: auto;
502
+ width: 100%;
503
+ }
504
+ #qlwapp .qlwapp-box .qlwapp-footer,
505
+ #qlwapp .qlwapp-box .qlwapp-response,
506
+ #qlwapp .qlwapp-box .qlwapp-footer pre,
507
+ #qlwapp .qlwapp-box .qlwapp-response pre,
508
+ #qlwapp .qlwapp-box .qlwapp-footer textarea,
509
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
510
+ max-height: 160px;
511
+ }
512
+ #qlwapp .qlwapp-box .qlwapp-footer pre,
513
+ #qlwapp .qlwapp-box .qlwapp-response pre,
514
+ #qlwapp .qlwapp-box .qlwapp-footer textarea,
515
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
516
+ color: inherit;
517
+ background-color: inherit;
518
+ }
519
+ #qlwapp .qlwapp-box .qlwapp-footer:before,
520
+ #qlwapp .qlwapp-box .qlwapp-response:before {
521
+ pointer-events: none;
522
+ position: absolute;
523
+ content: '';
524
+ height: 59px;
525
+ top: -59px;
526
+ background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
527
+ left: 0;
528
+ right: 0;
529
+ }
530
+ #qlwapp .qlwapp-box .qlwapp-footer {
531
+ min-height: 56px;
532
+ display: flex;
533
+ align-items: center;
534
+ justify-content: center;
535
+ text-align: center;
536
+ font-size: 12px;
537
+ padding: 12px 36px;
538
+ }
539
+ #qlwapp .qlwapp-box .qlwapp-footer p {
540
+ font-size: inherit;
541
+ }
542
+ #qlwapp .qlwapp-box .qlwapp-footer p:last-child {
543
+ margin-bottom: 0;
544
+ }
545
+ #qlwapp .qlwapp-box .qlwapp-response,
546
+ #qlwapp .qlwapp-box .qlwapp-response pre,
547
+ #qlwapp .qlwapp-box .qlwapp-response textarea,
548
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
549
+ min-height: 56px;
550
+ }
551
+ #qlwapp .qlwapp-box .qlwapp-response pre,
552
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
553
+ width: 100%;
554
+ height: 100%;
555
+ resize: none;
556
+ border: none;
557
+ padding: 18px 56px 18px 36px;
558
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
559
+ font-size: 14px;
560
+ font-weight: normal;
561
+ line-height: 20px;
562
+ white-space: pre-wrap;
563
+ word-wrap: break-word;
564
+ border-radius: inherit;
565
+ margin: 0;
566
+ }
567
+ #qlwapp .qlwapp-box .qlwapp-response pre {
568
+ visibility: hidden;
569
+ }
570
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
571
+ position: absolute;
572
+ bottom: 0;
573
+ left: 0;
574
+ }
575
+ #qlwapp .qlwapp-box .qlwapp-response textarea:focus {
576
+ outline: none;
577
+ }
578
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
579
+ position: absolute;
580
+ top: 0;
581
+ right: 21px;
582
+ display: flex;
583
+ align-items: center;
584
+ }
585
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active > i {
586
+ display: none;
587
+ }
588
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active > i.qlwf-emoji {
589
+ display: block;
590
+ }
591
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > i {
592
+ opacity: 0.4;
593
+ }
594
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > i,
595
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > a {
596
+ cursor: pointer;
597
+ margin: 0 0 0 10px;
598
+ display: inherit;
599
+ font-size: 18px;
600
+ line-height: 24px;
601
+ }
602
+ #qlwapp .qlwapp-previous,
603
+ #qlwapp .qlwapp-close,
604
+ #qlwapp .qlwapp-toggle,
605
+ #qlwapp .qlwapp-box .qlwapp-header,
606
+ #qlwapp .qlwapp-box .qlwapp-contact,
607
+ #qlwapp .qlwapp-box .qlwapp-user {
608
+ color: #ffffff;
609
+ }
610
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
611
+ color: #303030;
612
+ }
613
+ #qlwapp .qlwapp-box,
614
+ #qlwapp .qlwapp-box:before {
615
+ background-color: #fff;
616
+ }
617
+ #qlwapp .qlwapp-box .qlwapp-account {
618
+ background-color: #fff;
619
+ }
620
+ #qlwapp .qlwapp-box .qlwapp-account:not(:first-child) {
621
+ border-top: 1px solid #f5f5f5;
622
+ }
623
+ #qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
624
+ background-color: #eee;
625
+ }
626
+ #qlwapp .qlwapp-box .qlwapp-message,
627
+ #qlwapp .qlwapp-box .qlwapp-message:before {
628
+ background-color: #eee;
629
+ }
630
+ #qlwapp .qlwapp-box .qlwapp-footer,
631
+ #qlwapp .qlwapp-box .qlwapp-response {
632
+ color: #303030;
633
+ background-color: #fff;
634
+ border-top: 1px solid #e6e6e6;
635
+ }
636
+ #qlwapp .qlwapp-toggle,
637
+ #qlwapp .qlwapp-box .qlwapp-header,
638
+ #qlwapp .qlwapp-box .qlwapp-user,
639
+ #qlwapp .qlwapp-box .qlwapp-user:before {
640
+ background-color: #303030;
641
+ }
642
+ #qlwapp {
643
+ display: none;
644
+ }
645
+ #qlwapp.qlwapp-show .qlwapp-box {
646
+ visibility: visible;
647
+ opacity: 1;
648
+ transform: translateY(0) scale(1);
649
+ display: block;
650
+ }
651
+ #qlwapp.qlwapp-transition .qlwapp-box {
652
+ visibility: visible;
653
+ display: block;
654
+ }
655
+ #qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon {
656
+ transform: scale(0, 0);
657
+ opacity: 0;
658
+ }
659
+ #qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close {
660
+ transform: scale(1, 1);
661
+ opacity: 1;
662
+ }
663
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
664
+ transform: scale(0, 0);
665
+ opacity: 0;
666
+ }
667
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon {
668
+ transform: scale(1, 1);
669
+ opacity: 1;
670
+ }
671
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,
672
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
673
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
674
+ }
675
+ #qlwapp .qlwapp-box {
676
+ display: none;
677
+ opacity: 0;
678
+ visibility: hidden;
679
+ transform: translateY(50px);
680
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
681
+ }
682
+ @media (min-width: 430px) {
683
+ #qlwapp .qlwapp-box {
684
+ transform: translateY(50px) scale(0.9);
685
+ }
686
+ }
687
+ #qlwapp .qlwapp-box .qlwapp-carousel {
688
+ display: flex;
689
+ width: 200%;
690
+ height: 100%;
691
+ }
692
+ #qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide {
693
+ width: 50%;
694
+ transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms;
695
+ height: 100%;
696
+ overflow: hidden;
697
+ }
698
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide {
699
+ max-height: 300px;
700
+ }
701
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,
702
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,
703
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
704
+ opacity: 0;
705
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s;
706
+ }
707
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,
708
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label {
709
+ transform: translateX(56px);
710
+ }
711
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
712
+ transform: scale(0.5);
713
+ }
714
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name {
715
+ transition-delay: 800ms;
716
+ }
717
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label {
718
+ transition-delay: 850ms;
719
+ }
720
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
721
+ transition-delay: 900ms;
722
+ }
723
+ #qlwapp .qlwapp-box .qlwapp-footer,
724
+ #qlwapp .qlwapp-box .qlwapp-response,
725
+ #qlwapp .qlwapp-box .qlwapp-previous,
726
+ #qlwapp .qlwapp-box .qlwapp-message,
727
+ #qlwapp .qlwapp-box .qlwapp-user {
728
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms;
729
+ }
730
+ #qlwapp .qlwapp-box .qlwapp-response,
731
+ #qlwapp .qlwapp-box .qlwapp-previous,
732
+ #qlwapp .qlwapp-box .qlwapp-user {
733
+ opacity: 0;
734
+ }
735
+ #qlwapp .qlwapp-box .qlwapp-response {
736
+ pointer-events: none;
737
+ }
738
+ #qlwapp .qlwapp-box .qlwapp-previous {
739
+ transform: translateX(56px);
740
+ }
741
+ #qlwapp .qlwapp-box .qlwapp-user {
742
+ transform: translateY(56px);
743
+ }
744
+ #qlwapp .qlwapp-box .qlwapp-close {
745
+ transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
746
+ }
747
+ #qlwapp .qlwapp-box .qlwapp-description {
748
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
749
+ }
750
+ #qlwapp .qlwapp-box .qlwapp-account {
751
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in;
752
+ }
753
+ #qlwapp .qlwapp-box .qlwapp-previous {
754
+ transition-delay: 800ms;
755
+ }
756
+ #qlwapp .qlwapp-box .qlwapp-message {
757
+ transition-delay: 900ms;
758
+ }
759
+ #qlwapp .qlwapp-box .qlwapp-close,
760
+ #qlwapp .qlwapp-box .qlwapp-description {
761
+ transition-delay: 900ms;
762
+ }
763
+ #qlwapp .qlwapp-box .qlwapp-user {
764
+ transition-delay: 200ms;
765
+ }
766
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6) {
767
+ transition-delay: 600ms;
768
+ }
769
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5) {
770
+ transition-delay: 500ms;
771
+ }
772
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4) {
773
+ transition-delay: 400ms;
774
+ }
775
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3) {
776
+ transition-delay: 300ms;
777
+ }
778
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2) {
779
+ transition-delay: 200ms;
780
+ }
781
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1) {
782
+ transition-delay: 100ms;
783
+ }
784
+ #qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message {
785
+ opacity: 0;
786
+ transform: translateY(-56px);
787
+ }
788
+ #qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover {
789
+ background-color: #fafafa;
790
+ }
791
+ #qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide {
792
+ transform: translateX(-100%);
793
+ }
794
+ #qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel {
795
+ overflow: hidden;
796
+ max-height: 134px!important;
797
+ min-height: 122px;
798
+ }
799
+ #qlwapp .qlwapp-box.response .qlwapp-close {
800
+ transition-delay: 0ms;
801
+ }
802
+ #qlwapp .qlwapp-box.response .qlwapp-close,
803
+ #qlwapp .qlwapp-box.response .qlwapp-footer,
804
+ #qlwapp .qlwapp-box.response .qlwapp-description,
805
+ #qlwapp .qlwapp-box.response .qlwapp-account {
806
+ opacity: 0;
807
+ }
808
+ #qlwapp .qlwapp-box.response .qlwapp-account {
809
+ transform: translateY(-33.333%);
810
+ border-top-color: transparent!important;
811
+ }
812
+ #qlwapp .qlwapp-box.response .qlwapp-user {
813
+ display: block;
814
+ }
815
+ #qlwapp .qlwapp-box.response .qlwapp-message,
816
+ #qlwapp .qlwapp-box.response .qlwapp-previous,
817
+ #qlwapp .qlwapp-box.response .qlwapp-response {
818
+ opacity: 1;
819
+ }
820
+ #qlwapp .qlwapp-box.response .qlwapp-response {
821
+ pointer-events: all;
822
+ }
823
+ #qlwapp .qlwapp-box.response .qlwapp-message,
824
+ #qlwapp .qlwapp-box.response .qlwapp-previous {
825
+ transform: translate(0);
826
+ }
827
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide {
828
+ max-height: 84px;
829
+ }
830
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,
831
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar {
832
+ opacity: 1;
833
+ }
834
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label {
835
+ opacity: 0.5;
836
+ }
837
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,
838
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label {
839
+ transform: translateX(0);
840
+ }
841
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar {
842
+ transform: scale(1);
843
+ }
844
+ #qlwapp .qlwapp-box.response.opening .qlwapp-footer,
845
+ #qlwapp .qlwapp-box.response.opening .qlwapp-response,
846
+ #qlwapp .qlwapp-box.response.opening .qlwapp-close,
847
+ #qlwapp .qlwapp-box.response.opening .qlwapp-previous,
848
+ #qlwapp .qlwapp-box.response.opening .qlwapp-description,
849
+ #qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,
850
+ #qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label {
851
+ visibility: visible;
852
+ }
853
+ #qlwapp .qlwapp-box.texting .qlwapp-body {
854
+ overflow-y: auto;
855
+ }
856
+ #qlwapp .qlwapp-box.texting .qlwapp-user {
857
+ opacity: 1;
858
+ transform: translate(0);
859
+ }
860
+ #qlwapp .qlwapp-box.closing .qlwapp-previous {
861
+ transition-delay: 0ms;
862
+ transform: translateX(-24px);
863
+ opacity: 0;
864
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms;
865
+ }
866
+ #qlwapp .qlwapp-box.closing .qlwapp-description {
867
+ opacity: 0;
868
+ }
869
+ /*# sourceMappingURL=qlwapp.css.map */
4.2.4/assets/css/qlwapp.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+
2
+ @font-face{font-family:'qlwapp-whatsapp';src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:'qlwapp-whatsapp'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{box-sizing:border-box}@media(min-width:430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media(min-width:430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:'';display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{display:block;opacity:.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:0;text-decoration:none}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0 5px 40px 5px rgba(0,0,0,0.5)}@media(min-width:430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:'';position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(135deg,transparent 0,rgba(0,0,0,0.3) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media(min-width:430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:16px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:24px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 .25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center;text-align:right}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:'';display:block;width:15px;height:15px;position:absolute;bottom:2px;right:2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:.6;display:block}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{display:flex;flex-direction:column;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;margin:36px;position:relative;word-wrap:break-word;width:calc(100% - 36px*2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:'';position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:'';height:59px;top:-59px;background-image:linear-gradient(transparent,rgba(0,0,0,0.05));left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:0;padding:18px 56px 18px 36px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:0}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#fff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#303030}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}@media(min-width:430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215,0.61,0.355,1) 1000ms,transform 300ms cubic-bezier(0.215,0.61,0.355,1) 500ms,opacity 500ms ease-in 500ms;height:100%;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) .3s,opacity ease-in .3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215,0.61,0.355,1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 900ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;max-height:134px!important;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent!important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}
4.2.4/assets/img/box1.png ADDED
Binary file
4.2.4/assets/img/box2.png ADDED
Binary file
4.2.4/assets/img/logo.jpg ADDED
Binary file
4.2.4/assets/img/quadlayers.jpg ADDED
Binary file
4.2.4/assets/js/qlwapp-admin.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+
3
+ $(document).on('ready', function () {
4
+
5
+ $('.qlwapp-select2').select2({allowClear: false, theme: 'default', minimumResultsForSearch: -1});
6
+
7
+ $('.qlwapp-select2-ajax').each(function () {
8
+
9
+ var $select = $(this),
10
+ name = $(this).data('name');
11
+
12
+ $select.select2({
13
+ allowClear: true,
14
+ ajax: {
15
+ url: ajaxurl,
16
+ dataType: 'json',
17
+ delay: 5000,
18
+ data: function (params) {
19
+ return {
20
+ q: params.term,
21
+ name: name,
22
+ per_page: 10,
23
+ action: 'qlwapp_get_posts'
24
+ };
25
+ },
26
+ processResults: function (response) {
27
+
28
+ var options = [];
29
+
30
+ if (response) {
31
+ $.each(response, function (index, text) {
32
+ options.push({id: text[0], text: text[1]});
33
+ });
34
+ }
35
+ return {
36
+ results: options
37
+ };
38
+ },
39
+ cache: true
40
+ },
41
+ //minimumInputLength: 3
42
+ });
43
+
44
+ });
45
+
46
+ $('.qlwapp-color-field').wpColorPicker();
47
+ });
48
+
49
+
50
+ $(document).on('click', '.upload_image_button', function (e) {
51
+ e.preventDefault();
52
+
53
+ var send_attachment_bkp = wp.media.editor.send.attachment,
54
+ button = $(this);
55
+
56
+ wp.media.editor.send.attachment = function (props, attachment) {
57
+ $(button).parent().prev().attr('src', attachment.url);
58
+ $(button).prev().val(attachment.url);
59
+ wp.media.editor.send.attachment = send_attachment_bkp;
60
+ }
61
+
62
+ wp.media.editor.open(button);
63
+
64
+ return false;
65
+ });
66
+
67
+ $(document).on('click', '.remove_image_button', function (e) {
68
+ e.preventDefault();
69
+
70
+ var src = $(this).parent().prev().attr('data-src');
71
+
72
+ $(this).parent().prev().attr('src', src);
73
+
74
+ $(this).prev().prev().val('');
75
+
76
+ return false;
77
+ });
78
+
79
+ })(jQuery);
4.2.4/assets/js/qlwapp-admin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(a){a(document).on("ready",function(){a(".qlwapp-select2").select2({allowClear:false,theme:"default",minimumResultsForSearch:-1});a(".qlwapp-select2-ajax").each(function(){var c=a(this),b=a(this).data("name");c.select2({allowClear:true,ajax:{url:ajaxurl,dataType:"json",delay:5000,data:function(d){return{q:d.term,name:b,per_page:10,action:"qlwapp_get_posts"}},processResults:function(d){var e=[];if(d){a.each(d,function(f,g){e.push({id:g[0],text:g[1]})})}return{results:e}},cache:true},})});a(".qlwapp-color-field").wpColorPicker()});a(document).on("click",".upload_image_button",function(d){d.preventDefault();var b=wp.media.editor.send.attachment,c=a(this);wp.media.editor.send.attachment=function(e,f){a(c).parent().prev().attr("src",f.url);a(c).prev().val(f.url);wp.media.editor.send.attachment=b};wp.media.editor.open(c);return false});a(document).on("click",".remove_image_button",function(b){b.preventDefault();var c=a(this).parent().prev().attr("data-src");a(this).parent().prev().attr("src",c);a(this).prev().prev().val("");return false})})(jQuery);
4.2.4/assets/js/qlwapp.js ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($, window, document, undefined) {
2
+ 'use strict';
3
+
4
+ var defaults = {};
5
+
6
+ function Plugin(element, options) {
7
+ this.$qlwapp = $(element);
8
+ //this.settings = $.extend({}, defaults, options);
9
+
10
+ this.init(this);
11
+ }
12
+
13
+ Plugin.prototype = {
14
+ init: function (plugin) {
15
+
16
+ var $qlwapp = this.$qlwapp;
17
+
18
+ $qlwapp.on('qlwapp.init', function (e) {
19
+ plugin.mobiledevice = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
20
+ });
21
+
22
+ $qlwapp.on('qlwapp.resize', function (e) {
23
+ if ($(this).hasClass('qlwapp-show')) {
24
+ $(this).trigger('qlwapp.toggle');
25
+ }
26
+ });
27
+
28
+ $qlwapp.on('qlwapp.init', function (e) {
29
+
30
+ if (!plugin.mobiledevice) {
31
+ $qlwapp.addClass('desktop').removeClass('mobile');
32
+ } else {
33
+ $qlwapp.addClass('mobile').removeClass('desktop');
34
+ }
35
+
36
+ $qlwapp.addClass('qlwapp-js-ready');
37
+ });
38
+
39
+
40
+ // Ready!
41
+ // -----------------------------------------------------------------------
42
+ $qlwapp.addClass('qlwapp-js-ready').trigger('qlwapp.init');
43
+
44
+ // Height
45
+ // -----------------------------------------------------------------------
46
+
47
+ $qlwapp.on('qlwapp.height', function (e) {
48
+
49
+ var $container = $(e.delegateTarget),
50
+ $body = $container.find('.qlwapp-body'),
51
+ $carousel = $body.find('.qlwapp-carousel');
52
+
53
+ var $header = $container.find('.qlwapp-header'),
54
+ $footer = $container.find('.qlwapp-footer'),
55
+ height = ($(window).innerHeight() - $header.outerHeight() - $footer.outerHeight());
56
+
57
+ if (!plugin.mobiledevice) {
58
+ height = ($(window).innerHeight() * 0.666 - $header.outerHeight() - $footer.outerHeight());
59
+ }
60
+
61
+ $carousel.css({'max-height': height + 'px'});
62
+
63
+ });
64
+
65
+ // Toggle
66
+ // -----------------------------------------------------------------------
67
+
68
+ $qlwapp.on('qlwapp.toggle', function (e) {
69
+
70
+ var $container = $(e.delegateTarget),
71
+ $box = $container.find('.qlwapp-box');
72
+
73
+ $container.addClass('qlwapp-transition');
74
+
75
+ $box.removeClass('response texting');
76
+
77
+ setTimeout(function () {
78
+ $container.toggleClass('qlwapp-show').trigger('qlwapp.height');
79
+ }, 10);
80
+
81
+ setTimeout(function () {
82
+ $container.toggleClass('qlwapp-transition');
83
+ }, 300);
84
+
85
+ });
86
+
87
+ // Click
88
+ // -----------------------------------------------------------------------
89
+
90
+ //console.log('toggle');
91
+
92
+ $qlwapp.on('click', '[data-action=box], [data-action=close]', function (e) {
93
+ e.preventDefault();
94
+
95
+ $(e.delegateTarget).trigger('qlwapp.toggle');
96
+
97
+ });
98
+
99
+ // Whatsapp
100
+ // -----------------------------------------------------------------------
101
+
102
+ $qlwapp.on('click', '[data-action=open]', function (e) {
103
+
104
+ var url = 'https://api.whatsapp.com/send';
105
+
106
+ if (!plugin.mobiledevice) {
107
+ url = 'https://web.whatsapp.com/send';
108
+ }
109
+
110
+ $(this).attr('href', url + '?phone=' + $(this).data('phone') + '&text=' + $(this).data('message'));
111
+
112
+ });
113
+
114
+ // Response
115
+ // -----------------------------------------------------------------------
116
+
117
+ $qlwapp.on('click', '[data-action=previous]', function (e) {
118
+ e.preventDefault();
119
+
120
+ var $container = $(e.delegateTarget),
121
+ $box = $container.find('.qlwapp-box');//,
122
+ //$user = $box.find('.qlwapp-user');
123
+
124
+ $box.addClass('closing');
125
+
126
+ setTimeout(function () {
127
+ $box.removeClass('response').removeClass('closing');
128
+ $box.removeClass('texting')
129
+ //$user.empty();
130
+ }, 300);
131
+
132
+ });
133
+
134
+ $qlwapp.on('click', '[data-action=chat]', function (e) {
135
+ e.preventDefault();
136
+
137
+ var $contact = $(this),
138
+ $container = $(e.delegateTarget),
139
+ $box = $container.find('.qlwapp-box'),
140
+ avatar = $contact.find('.qlwapp-avatar img').attr('src'),
141
+ name = $contact.find('.qlwapp-name').text(),
142
+ label = $contact.find('.qlwapp-label').text(),
143
+ //url = $contact.data('url'),
144
+ message = $contact.data('message'),
145
+ phone = $contact.data('phone');
146
+
147
+ $box.addClass('response').addClass('opening');
148
+
149
+ $container.trigger('qlwapp.height');
150
+
151
+ setTimeout(function () {
152
+ $box.removeClass('opening');
153
+ }, 300);
154
+
155
+ var $reply = $box.find('.qlwapp-reply'),
156
+ $header = $box.find('.qlwapp-header'),
157
+ $avatar = $header.find('.qlwapp-avatar img'),
158
+ $number = $header.find('.qlwapp-number'),
159
+ $name = $header.find('.qlwapp-name'),
160
+ $label = $header.find('.qlwapp-label'),
161
+ $message = $box.find('.qlwapp-message');
162
+
163
+
164
+ $reply.data('phone', phone);//.data('message', message);
165
+ $avatar.attr('src', avatar);
166
+ $number.html(phone);
167
+ $name.html(name);
168
+ $label.html(label);
169
+ $message.html(message);
170
+
171
+ });
172
+
173
+ // Response
174
+ // -----------------------------------------------------------------------
175
+
176
+ $qlwapp.on('click', 'textarea', function (e) {
177
+ $qlwapp.off('qlwapp.resize');
178
+ });
179
+
180
+ $qlwapp.on('keypress', 'textarea', function (e) {
181
+ if (e.keyCode == 13) {
182
+ $qlwapp.find('.qlwapp-reply').trigger('click');
183
+ setTimeout(function () {
184
+ window.location = $qlwapp.find('.qlwapp-reply').attr('href');
185
+ }, 100);
186
+ }
187
+ });
188
+
189
+ $qlwapp.on('keyup', '[data-action=response]', function (e) {
190
+ e.preventDefault();
191
+
192
+ var $textarea = $(this).find('textarea'),
193
+ $pre = $(this).find('pre'),
194
+ $reply = $(this).find('.qlwapp-reply'),
195
+ $container = $(e.delegateTarget),
196
+ $box = $container.find('.qlwapp-box'),
197
+ //$user = $box.find('.qlwapp-user'),
198
+ $buttons = $box.find('.qlwapp-buttons');
199
+
200
+ $pre.html($textarea.val());
201
+
202
+ setTimeout(function () {
203
+ $box.addClass('texting').css({'padding-bottom': $pre.outerHeight()});
204
+ $buttons.addClass('active');
205
+ var message = $textarea.val();
206
+ $reply.data('message', message);
207
+
208
+ if (message == '') {
209
+ $box.removeClass('texting');
210
+ $buttons.removeClass('active');
211
+ }
212
+
213
+ }, 300);
214
+
215
+ });
216
+
217
+ $qlwapp.trigger('qlwapp.init');
218
+ },
219
+ };
220
+
221
+ $.fn.qlwapp = function (options) {
222
+
223
+ var args = arguments;
224
+
225
+ if (options === undefined || typeof options === 'object') {
226
+ return this.each(function () {
227
+ if (!$.data(this, 'plugin_qlwapp')) {
228
+ $.data(this, 'plugin_qlwapp', new Plugin(this, options));
229
+ }
230
+ });
231
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
232
+ // Cache the method call to make it possible to return a value
233
+ var returns;
234
+ this.each(function () {
235
+ var instance = $.data(this, 'plugin_qlwapp');
236
+ // Tests that there's already a plugin-instance and checks that the requested public method exists
237
+ if (instance instanceof Plugin && typeof instance[options] === 'function') {
238
+ // Call the method of our plugin instance, and pass it the supplied arguments.
239
+ returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
240
+ }
241
+ // Allow instances to be destroyed via the 'destroy' method
242
+ if (options === 'destroy') {
243
+ //console.log('destroy');
244
+ $.data(this, 'plugin_qlwapp', null);
245
+ }
246
+ });
247
+ // If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
248
+ return returns !== undefined ? returns : this;
249
+ }
250
+ }
251
+
252
+ function qlwapp_init() {
253
+ $('div#qlwapp').qlwapp();
254
+ }
255
+
256
+ qlwapp_init();
257
+
258
+ $(window).on('load', function () {
259
+ qlwapp_init();
260
+ //$('div#qlwapp').trigger('qlwapp.toggle');
261
+ });
262
+
263
+ $(window).on('click', function (e) {
264
+ if (!$(e.target).closest('#qlwapp.qlwapp-show').length) {
265
+ $('div#qlwapp.qlwapp-show').trigger('qlwapp.toggle');
266
+ }
267
+ });
268
+
269
+ $(window).on('resize', function (e) {
270
+ $('div#qlwapp').trigger('qlwapp.resize');
271
+ $('div#qlwapp').trigger('qlwapp.init');
272
+ });
273
+
274
+ })(jQuery, window, document);
4.2.4/assets/js/qlwapp.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(d,c,a,g){var e={};function b(i,h){this.$qlwapp=d(i);this.init(this)}b.prototype={init:function(i){var h=this.$qlwapp;h.on("qlwapp.init",function(j){i.mobiledevice=(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))});h.on("qlwapp.resize",function(j){if(d(this).hasClass("qlwapp-show")){d(this).trigger("qlwapp.toggle")}});h.on("qlwapp.init",function(j){if(!i.mobiledevice){h.addClass("desktop").removeClass("mobile")}else{h.addClass("mobile").removeClass("desktop")}h.addClass("qlwapp-js-ready")});h.addClass("qlwapp-js-ready").trigger("qlwapp.init");h.on("qlwapp.height",function(o){var p=d(o.delegateTarget),n=p.find(".qlwapp-body"),m=n.find(".qlwapp-carousel");var l=p.find(".qlwapp-header"),k=p.find(".qlwapp-footer"),j=(d(c).innerHeight()-l.outerHeight()-k.outerHeight());if(!i.mobiledevice){j=(d(c).innerHeight()*0.666-l.outerHeight()-k.outerHeight())}m.css({"max-height":j+"px"})});h.on("qlwapp.toggle",function(k){var l=d(k.delegateTarget),j=l.find(".qlwapp-box");l.addClass("qlwapp-transition");j.removeClass("response texting");setTimeout(function(){l.toggleClass("qlwapp-show").trigger("qlwapp.height")},10);setTimeout(function(){l.toggleClass("qlwapp-transition")},300)});h.on("click","[data-action=box], [data-action=close]",function(j){j.preventDefault();d(j.delegateTarget).trigger("qlwapp.toggle")});h.on("click","[data-action=open]",function(k){var j="https://api.whatsapp.com/send";if(!i.mobiledevice){j="https://web.whatsapp.com/send"}d(this).attr("href",j+"?phone="+d(this).data("phone")+"&text="+d(this).data("message"))});h.on("click","[data-action=previous]",function(k){k.preventDefault();var l=d(k.delegateTarget),j=l.find(".qlwapp-box");j.addClass("closing");setTimeout(function(){j.removeClass("response").removeClass("closing");j.removeClass("texting")},300)});h.on("click","[data-action=chat]",function(r){r.preventDefault();var k=d(this),x=d(r.delegateTarget),l=x.find(".qlwapp-box"),t=k.find(".qlwapp-avatar img").attr("src"),m=k.find(".qlwapp-name").text(),u=k.find(".qlwapp-label").text(),y=k.data("message"),q=k.data("phone");l.addClass("response").addClass("opening");x.trigger("qlwapp.height");setTimeout(function(){l.removeClass("opening")},300);var n=l.find(".qlwapp-reply"),j=l.find(".qlwapp-header"),o=j.find(".qlwapp-avatar img"),v=j.find(".qlwapp-number"),w=j.find(".qlwapp-name"),s=j.find(".qlwapp-label"),p=l.find(".qlwapp-message");n.data("phone",q);o.attr("src",t);v.html(q);w.html(m);s.html(u);p.html(y)});h.on("click","textarea",function(j){h.off("qlwapp.resize")});h.on("keypress","textarea",function(j){if(j.keyCode==13){h.find(".qlwapp-reply").trigger("click");setTimeout(function(){c.location=h.find(".qlwapp-reply").attr("href")},100)}});h.on("keyup","[data-action=response]",function(m){m.preventDefault();var p=d(this).find("textarea"),o=d(this).find("pre"),j=d(this).find(".qlwapp-reply"),n=d(m.delegateTarget),l=n.find(".qlwapp-box"),k=l.find(".qlwapp-buttons");o.html(p.val());setTimeout(function(){l.addClass("texting").css({"padding-bottom":o.outerHeight()});k.addClass("active");var q=p.val();j.data("message",q);if(q==""){l.removeClass("texting");k.removeClass("active")}},300)});h.trigger("qlwapp.init")},};d.fn.qlwapp=function(i){var h=arguments;if(i===g||typeof i==="object"){return this.each(function(){if(!d.data(this,"plugin_qlwapp")){d.data(this,"plugin_qlwapp",new b(this,i))}})}else{if(typeof i==="string"&&i[0]!=="_"&&i!=="init"){var j;this.each(function(){var k=d.data(this,"plugin_qlwapp");if(k instanceof b&&typeof k[i]==="function"){j=k[i].apply(k,Array.prototype.slice.call(h,1))}if(i==="destroy"){d.data(this,"plugin_qlwapp",null)}});return j!==g?j:this}}};function f(){d("div#qlwapp").qlwapp()}f();d(c).on("load",function(){f()});d(c).on("click",function(h){if(!d(h.target).closest("#qlwapp.qlwapp-show").length){d("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")}});d(c).on("resize",function(h){d("div#qlwapp").trigger("qlwapp.resize");d("div#qlwapp").trigger("qlwapp.init")})})(jQuery,window,document);
4.2.4/assets/js/select2.min.js ADDED
@@ -0,0 +1 @@
 
1
+ /*! Select2 4.0.6-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=a('<span class="select2-selection__clear">&times;</span>');c.StoreData(e[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(e)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,d.GetData(a[0])):d.GetData(a[0]);var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
4.2.4/assets/less/animations.less ADDED
@@ -0,0 +1,369 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #qlwapp {
2
+ display: none;
3
+
4
+
5
+ &.qlwapp-show {
6
+ .qlwapp-box {
7
+ visibility: visible;
8
+ opacity: 1;
9
+ transform: translateY(0) scale(1);
10
+ display: block;
11
+ }
12
+ }
13
+
14
+ &.qlwapp-transition {
15
+ .qlwapp-box {
16
+ visibility: visible;
17
+ display: block;
18
+ }
19
+ }
20
+
21
+ &.qlwapp-bubble {
22
+
23
+ &.qlwapp-show {
24
+ .qlwapp-toggle {
25
+
26
+ .qlwapp-icon {
27
+ transform: scale(0,0);
28
+ opacity: 0;
29
+ }
30
+
31
+ .qlwapp-close {
32
+ transform: scale(1,1);
33
+ opacity: 1;
34
+ }
35
+ }
36
+ }
37
+
38
+ .qlwapp-toggle {
39
+
40
+ .qlwapp-close {
41
+ transform: scale(0,0);
42
+ opacity: 0;
43
+ }
44
+
45
+ .qlwapp-icon {
46
+ transform: scale(1,1);
47
+ opacity: 1;
48
+ }
49
+
50
+ .qlwapp-icon,
51
+ .qlwapp-close {
52
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
53
+ }
54
+
55
+ }
56
+ }
57
+
58
+ .qlwapp-box {
59
+ display: none;
60
+ opacity: 0;
61
+ visibility: hidden;
62
+ transform: translateY(50px);
63
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
64
+
65
+ @media (min-width: 430px) {
66
+ transform: translateY(50px) scale(0.9);
67
+ }
68
+
69
+ // Carousel
70
+ // ---------------------------------------------------------------------------
71
+
72
+ .qlwapp-carousel {
73
+ display: flex;
74
+ width: 200%;
75
+ height: 100%;
76
+ //overflow: hidden;
77
+
78
+ .qlwapp-slide {
79
+ width: 50%;
80
+ transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms;
81
+ height: 100%;
82
+ overflow: hidden;
83
+ //&:last-child {
84
+ //max-height: 94px;
85
+ //}
86
+ }
87
+ }
88
+
89
+ .qlwapp-header {
90
+
91
+ .qlwapp-slide {
92
+ max-height: 300px;
93
+ }
94
+
95
+ .qlwapp-name,
96
+ .qlwapp-label,
97
+ .qlwapp-avatar {
98
+ opacity: 0;
99
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s;
100
+ }
101
+
102
+ .qlwapp-name,
103
+ .qlwapp-label {
104
+ transform: translateX(56px);
105
+ }
106
+
107
+ .qlwapp-avatar {
108
+ transform: scale(0.5);
109
+ }
110
+
111
+ .qlwapp-name {
112
+ transition-delay: 800ms
113
+ }
114
+
115
+ .qlwapp-label {
116
+ transition-delay: 850ms
117
+ }
118
+
119
+ .qlwapp-avatar {
120
+ transition-delay: 900ms
121
+ }
122
+
123
+ }
124
+
125
+ .qlwapp-footer,
126
+ .qlwapp-response,
127
+ .qlwapp-previous,
128
+ .qlwapp-message,
129
+ .qlwapp-user {
130
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms;
131
+ }
132
+
133
+ .qlwapp-response,
134
+ .qlwapp-previous,
135
+ .qlwapp-user {
136
+ opacity: 0;
137
+ }
138
+
139
+ .qlwapp-response {
140
+ pointer-events: none;
141
+ }
142
+
143
+ .qlwapp-previous {
144
+ transform: translateX(56px);
145
+ }
146
+
147
+ .qlwapp-user {
148
+ transform: translateY(56px);
149
+ }
150
+
151
+ .qlwapp-close {
152
+ transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
153
+ }
154
+
155
+ .qlwapp-description {
156
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
157
+ }
158
+
159
+ .qlwapp-account {
160
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in;
161
+ }
162
+ .qlwapp-previous {
163
+ transition-delay: 800ms
164
+ }
165
+
166
+ .qlwapp-message {
167
+ transition-delay: 900ms
168
+ }
169
+
170
+ .qlwapp-close,
171
+ .qlwapp-description {
172
+ transition-delay: 900ms
173
+ }
174
+
175
+ .qlwapp-user {
176
+ transition-delay: 200ms
177
+ }
178
+
179
+ .qlwapp-account {
180
+
181
+ &:nth-of-type(6) {
182
+ transition-delay: 600ms
183
+ }
184
+
185
+ &:nth-of-type(5) {
186
+ transition-delay: 500ms
187
+ }
188
+
189
+ &:nth-of-type(4) {
190
+ transition-delay: 400ms
191
+ }
192
+
193
+ &:nth-of-type(3) {
194
+ transition-delay: 300ms
195
+ }
196
+
197
+ &:nth-of-type(2) {
198
+ transition-delay: 200ms
199
+ }
200
+
201
+ &:nth-of-type(1) {
202
+ transition-delay: 100ms
203
+ }
204
+
205
+ }
206
+
207
+ // Premium
208
+ // -------------------------------------------------------------------------
209
+ .qlwapp-slide {
210
+ .qlwapp-message {
211
+ opacity: 0;
212
+ transform: translateY(-56px);
213
+ }
214
+
215
+ .qlwapp-box {
216
+ .qlwapp-account {
217
+ &:hover {
218
+ background-color: #fafafa;
219
+ }
220
+ }
221
+
222
+ }
223
+ }
224
+
225
+ // Response
226
+ // -------------------------------------------------------------------------
227
+
228
+ &.response {
229
+
230
+ .qlwapp-carousel {
231
+ .qlwapp-slide {
232
+ transform: translateX(-100%);
233
+ }
234
+ }
235
+
236
+ .qlwapp-body {
237
+ .qlwapp-carousel {
238
+ overflow: hidden;
239
+ max-height: 134px!important;
240
+ min-height: 122px;
241
+ }
242
+ }
243
+
244
+ // Out
245
+ // -----------------------------------------------------------------------
246
+
247
+ .qlwapp-close {
248
+ transition-delay: 0ms;
249
+ }
250
+
251
+ .qlwapp-close,
252
+ .qlwapp-footer,
253
+ .qlwapp-description,
254
+ .qlwapp-account {
255
+ opacity: 0;
256
+ }
257
+
258
+ .qlwapp-account {
259
+ transform: translateY(-33.333%);
260
+ border-top-color: transparent!important;
261
+ }
262
+
263
+ // In
264
+ // -----------------------------------------------------------------------
265
+
266
+ //.qlwapp-chat {
267
+ // overflow: hidden;
268
+ //}
269
+
270
+ .qlwapp-user {
271
+ display: block;
272
+ //opacity: 0;
273
+ }
274
+
275
+ .qlwapp-message,
276
+ .qlwapp-previous,
277
+ .qlwapp-response {
278
+ opacity: 1;
279
+ }
280
+
281
+ .qlwapp-response {
282
+ pointer-events: all;
283
+ }
284
+
285
+ .qlwapp-message,
286
+ .qlwapp-previous {
287
+ transform: translate(0);
288
+ }
289
+
290
+ .qlwapp-header {
291
+
292
+ .qlwapp-slide {
293
+ max-height: 84px;
294
+ }
295
+
296
+ .qlwapp-name,
297
+ .qlwapp-avatar {
298
+ opacity: 1;
299
+ }
300
+
301
+ .qlwapp-label {
302
+ opacity: 0.5;
303
+ }
304
+
305
+ .qlwapp-name,
306
+ .qlwapp-label {
307
+ transform: translateX(0);
308
+ }
309
+
310
+ .qlwapp-avatar {
311
+ transform: scale(1);
312
+ }
313
+
314
+ }
315
+
316
+ &.opening {
317
+
318
+ .qlwapp-footer,
319
+ .qlwapp-response,
320
+ .qlwapp-close,
321
+ .qlwapp-previous,
322
+ .qlwapp-description,
323
+ .qlwapp-header .qlwapp-name,
324
+ .qlwapp-header .qlwapp-label {
325
+ visibility: visible;
326
+ }
327
+ }
328
+
329
+ }
330
+
331
+ &.texting {
332
+
333
+ .qlwapp-body {
334
+ overflow-y: auto;
335
+ }
336
+
337
+ .qlwapp-user {
338
+ opacity: 1;
339
+ transform: translate(0);
340
+ }
341
+
342
+ }
343
+
344
+ &.closing {
345
+
346
+ .qlwapp-carousel {
347
+
348
+ .qlwapp-slide {
349
+ //transition-delay: 0ms;
350
+ //transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms, opacity 500ms ease-in 500ms;
351
+ }
352
+ }
353
+
354
+ .qlwapp-previous {
355
+ transition-delay: 0ms;
356
+ transform: translateX(-24px);
357
+ opacity: 0;
358
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms;
359
+ }
360
+
361
+ .qlwapp-description {
362
+ opacity: 0;
363
+ }
364
+
365
+ }
366
+
367
+ }
368
+ }
369
+
4.2.4/assets/less/colors.less ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #qlwapp {
2
+ .qlwapp-previous,
3
+ .qlwapp-close,
4
+ .qlwapp-toggle,
5
+ .qlwapp-box .qlwapp-header,
6
+ .qlwapp-box .qlwapp-contact,
7
+ .qlwapp-box .qlwapp-user {
8
+ color: #ffffff;
9
+ }
10
+
11
+ &.qlwapp-bubble {
12
+ .qlwapp-toggle .qlwapp-text {
13
+ color: #303030;
14
+ }
15
+ }
16
+
17
+ .qlwapp-box,
18
+ .qlwapp-box:before {
19
+ background-color: #fff;
20
+ }
21
+
22
+ .qlwapp-box .qlwapp-account {
23
+ background-color: #fff;
24
+
25
+ &:not(:first-child) {
26
+ border-top: 1px solid #f5f5f5;
27
+ }
28
+ }
29
+
30
+ .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
31
+ background-color: #eee;
32
+ }
33
+
34
+ .qlwapp-box .qlwapp-message,
35
+ .qlwapp-box .qlwapp-message:before {
36
+ background-color: #eee;
37
+ }
38
+
39
+ .qlwapp-box .qlwapp-footer,
40
+ .qlwapp-box .qlwapp-response {
41
+ color: #303030;
42
+ background-color: #fff;
43
+ border-top: 1px solid #e6e6e6;
44
+ }
45
+
46
+ .qlwapp-toggle,
47
+ .qlwapp-box .qlwapp-header,
48
+ .qlwapp-box .qlwapp-user,
49
+ .qlwapp-box .qlwapp-user:before {
50
+ background-color: #303030;
51
+ }
52
+
53
+ }
4.2.4/assets/less/qlwapp.less ADDED
@@ -0,0 +1,778 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'qlwapp-whatsapp';
3
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+
8
+ .qlwapp-whatsapp-icon {
9
+ font-family: 'qlwapp-whatsapp' !important;
10
+ speak: none;
11
+ font-style: normal;
12
+ font-weight: normal;
13
+ font-variant: normal;
14
+ text-transform: none;
15
+ line-height: 1;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ }
19
+
20
+ .qlwapp-whatsapp-icon:before {
21
+ content: "\e900";
22
+ }
23
+
24
+ #qlwapp {
25
+
26
+ box-sizing: border-box;
27
+
28
+ @media (min-width: 430px) {
29
+ width: 430px;
30
+ }
31
+
32
+
33
+ * {
34
+ box-sizing: border-box;
35
+ }
36
+
37
+ // Ready
38
+ // ---------------------------------------------------------------------------
39
+
40
+ &.qlwapp-js-ready {
41
+ display: block;
42
+ }
43
+
44
+ &.qlwapp-hide,
45
+ &.qlwapp-desktop.mobile,
46
+ &.qlwapp-mobile.desktop {
47
+ display: none;
48
+ }
49
+
50
+ // Position
51
+ // ---------------------------------------------------------------------------
52
+ &.qlwapp-middle-left,
53
+ &.qlwapp-bottom-left,
54
+ &.qlwapp-middle-right,
55
+ &.qlwapp-bottom-right {
56
+ position: fixed;
57
+ z-index: 9999999;
58
+ }
59
+
60
+ // Left
61
+ // ---------------------------------------------------------------------------
62
+
63
+ &.qlwapp-middle-left,
64
+ &.qlwapp-bottom-left {
65
+ right: auto;
66
+ left: 0;
67
+
68
+ &.qlwapp-bubble,
69
+ &.qlwapp-button {
70
+ .qlwapp-developer,
71
+ .qlwapp-toggle {
72
+ margin-left: 20px;
73
+ }
74
+ }
75
+
76
+ &.qlwapp-bubble {
77
+ .qlwapp-toggle {
78
+ .qlwapp-text {
79
+ right: auto;
80
+ left: 60px;
81
+ }
82
+ }
83
+ }
84
+
85
+ .qlwapp-box {
86
+ &:before {
87
+ right: auto;
88
+ left: 20px;
89
+ }
90
+ }
91
+
92
+ }
93
+
94
+ // Right
95
+ // ---------------------------------------------------------------------------
96
+
97
+ &.qlwapp-middle-right,
98
+ &.qlwapp-bottom-right {
99
+ left: auto;
100
+ right: 0;
101
+
102
+ &.qlwapp-bubble,
103
+ &.qlwapp-button {
104
+ .qlwapp-developer,
105
+ .qlwapp-toggle {
106
+ margin-right: 20px;
107
+ }
108
+ }
109
+
110
+ }
111
+
112
+ // Middle
113
+ // ---------------------------------------------------------------------------
114
+
115
+ &.qlwapp-middle-left,
116
+ &.qlwapp-middle-right {
117
+ top: 40%;
118
+ bottom: auto;
119
+ .qlwapp-developer {
120
+ padding: 0 24px;
121
+ }
122
+ }
123
+
124
+ &.qlwapp-middle-left {
125
+ &.qlwapp-button {
126
+ .qlwapp-developer,
127
+ .qlwapp-toggle {
128
+ margin-left: -48px;
129
+ padding-left: 60px;
130
+ }
131
+ }
132
+ }
133
+
134
+ &.qlwapp-middle-right {
135
+ &.qlwapp-button {
136
+ .qlwapp-developer,
137
+ .qlwapp-toggle {
138
+ margin-right: -48px;
139
+ padding-right: 60px;
140
+ }
141
+
142
+ }
143
+ }
144
+
145
+ // Bottom
146
+ // ---------------------------------------------------------------------------
147
+
148
+ &.qlwapp-bottom-left,
149
+ &.qlwapp-bottom-right {
150
+ top: auto;
151
+ bottom: 0;
152
+ }
153
+
154
+ /*&.qlwapp-middle-left {
155
+ &.qlwapp-button {
156
+ .qlwapp-developer,
157
+ .qlwapp-toggle {
158
+ margin-left: -48px;
159
+ padding-left: 60px;
160
+ }
161
+ }
162
+ }
163
+
164
+ &.qlwapp-middle-right {
165
+ &.qlwapp-button {
166
+ .qlwapp-developer,
167
+ .qlwapp-toggle {
168
+ margin-right: -48px;
169
+ padding-right: 60px;
170
+ }
171
+
172
+ }
173
+ }
174
+
175
+ &.qlwapp-bottom-left {
176
+ &.qlwapp-bubble,
177
+ &.qlwapp-button {
178
+ .qlwapp-developer,
179
+ .qlwapp-toggle {
180
+ margin-left: 20px;
181
+ }
182
+ }
183
+
184
+ &.qlwapp-bubble {
185
+ .qlwapp-toggle {
186
+ .qlwapp-text {
187
+ right: auto;
188
+ left: 60px;
189
+ }
190
+ }
191
+ }
192
+
193
+ .qlwapp-box {
194
+ &:before {
195
+ right: auto;
196
+ left: 20px;
197
+ }
198
+ }
199
+
200
+ }
201
+
202
+ &.qlwapp-bottom-right {
203
+ &.qlwapp-bubble,
204
+ &.qlwapp-button {
205
+
206
+ .qlwapp-developer,
207
+ .qlwapp-toggle {
208
+ margin-right: 20px;
209
+ }
210
+ }
211
+ }*/
212
+
213
+ &.qlwapp-rounded {
214
+ &.qlwapp-bubble {
215
+ .qlwapp-toggle {
216
+ border-radius: 50%;
217
+ }
218
+ }
219
+ &.qlwapp-button {
220
+ .qlwapp-toggle {
221
+ border-radius: 50px;
222
+ }
223
+ }
224
+
225
+ .qlwapp-box {
226
+ @media (min-width: 430px) {
227
+ border-radius: 8px;
228
+ }
229
+
230
+ .qlwapp-user,
231
+ .qlwapp-message {
232
+ border-radius: 4px;
233
+ }
234
+
235
+ }
236
+ }
237
+
238
+ p:last-child {
239
+ margin: 0;
240
+ }
241
+
242
+ time {
243
+ opacity: 0.8;
244
+ font-style: italic;
245
+ font-size: 10px;
246
+ }
247
+
248
+ // General
249
+ // ---------------------------------------------------------------------------
250
+
251
+ .qlwapp-container {
252
+ display: flex;
253
+ flex-direction: column;
254
+ }
255
+
256
+ .qlwapp-clearfix {
257
+ &:before,
258
+ &:after {
259
+ content: '';
260
+ display: block;
261
+ clear: both;
262
+ }
263
+ }
264
+
265
+ .qlwapp-previous,
266
+ .qlwapp-close {
267
+ display: block;
268
+ opacity: 0.8;
269
+ font-style: unset;
270
+ font-size: 24px;
271
+ font-weight: bold;
272
+ width: 24px;
273
+ height: 24px;
274
+ cursor: pointer;
275
+ text-align: center;
276
+ line-height: 24px;
277
+ z-index: 1;
278
+ }
279
+
280
+ .qlwapp-previous {
281
+ width: 16px;
282
+ height: 36px;
283
+ cursor: pointer;
284
+ text-align: center;
285
+ line-height: 36px;
286
+ margin-right: auto;
287
+ }
288
+
289
+ .qlwapp-developer {
290
+ font-size: 8px;
291
+ top: -20px;
292
+ position: relative;
293
+ }
294
+
295
+ .qlwapp-developer,
296
+ .qlwapp-toggle {
297
+ display: inline-flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ margin-left: auto;
301
+ margin-right: auto;
302
+ }
303
+
304
+ .qlwapp-toggle {
305
+ cursor: pointer;
306
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
307
+ margin-top: 24px;
308
+ margin-bottom: 24px;
309
+ position: relative;
310
+ text-decoration: none;
311
+
312
+ &,
313
+ &:active,
314
+ &:focus,
315
+ &:hover {
316
+ outline: none;
317
+ text-decoration: none;
318
+ }
319
+
320
+ }
321
+
322
+ .qlwapp-avatar {
323
+ .qlwapp-avatar-container {
324
+ overflow: hidden;
325
+ border-radius: 50%;
326
+ width: inherit;
327
+ height: inherit;
328
+ img {
329
+ width: 100%;
330
+ height: auto;
331
+ }
332
+ }
333
+ }
334
+
335
+ // Bubble
336
+ // ---------------------------------------------------------------------------
337
+ &.qlwapp-bubble {
338
+
339
+ .qlwapp-toggle {
340
+ width: 60px;
341
+ height: 60px;
342
+
343
+ .qlwapp-icon,
344
+ .qlwapp-close {
345
+ position: absolute;
346
+ display: block;
347
+ pointer-events: none;
348
+ font-size: 24px;
349
+ }
350
+
351
+ .qlwapp-text {
352
+ position: absolute;
353
+ right: 60px;
354
+ height: 60px;
355
+ margin: 0 24px;
356
+ display: flex;
357
+ align-items: center;
358
+ justify-content: flex-end;
359
+ font-weight: bold;
360
+ white-space: pre;
361
+ }
362
+ }
363
+ }
364
+
365
+ // Button
366
+ // ---------------------------------------------------------------------------
367
+ &.qlwapp-button {
368
+
369
+ .qlwapp-toggle {
370
+ height: 40px;
371
+ white-space: nowrap;
372
+ padding: 12px 24px;
373
+
374
+ .qlwapp-icon {
375
+ margin: 0 12px 0 0;
376
+ }
377
+
378
+ .qlwapp-close {
379
+ display: none;
380
+ }
381
+
382
+ }
383
+ }
384
+
385
+ // Box
386
+ // ---------------------------------------------------------------------------
387
+ .qlwapp-box {
388
+ padding-bottom: 56px;
389
+ position: fixed;
390
+ top: auto;
391
+ bottom: 0;
392
+ left: 0;
393
+ right: 0;
394
+ z-index: 99999;
395
+ box-shadow: 0px 5px 40px 5px rgba(0,0,0,0.5);
396
+
397
+ // Desktop
398
+ // ---------------------------------------------------------------------------
399
+
400
+ @media (min-width: 430px) {
401
+ position: relative;
402
+ top: auto;
403
+ bottom: auto;
404
+ left: auto;
405
+ right: auto;
406
+ box-shadow: 0 8px 25px -5px rgba(45, 62, 79, .15);
407
+ margin-top: 24px;
408
+ margin-left: 24px;
409
+ margin-right: 24px;
410
+ margin-bottom: 12px;
411
+
412
+ &:before {
413
+ content: '';
414
+ position: absolute;
415
+ bottom: -6px;
416
+ right: 24px;
417
+ width: 13px;
418
+ height: 13px;
419
+ transform: rotate(45deg);
420
+ }
421
+
422
+ .qlwapp-header {
423
+ border-top-left-radius: inherit;
424
+ border-top-right-radius: inherit;
425
+ }
426
+
427
+ .qlwapp-footer,
428
+ .qlwapp-response {
429
+ border-bottom-left-radius: inherit;
430
+ border-bottom-right-radius: inherit;
431
+ }
432
+
433
+ }
434
+
435
+ // Header
436
+ // -------------------------------------------------------------------------
437
+
438
+ .qlwapp-header {
439
+ position: relative;
440
+ overflow: hidden;
441
+
442
+ &:before {
443
+ content: '';
444
+ position: absolute;
445
+ top: 0;
446
+ bottom: 0;
447
+ left: 0;
448
+ right: 0;
449
+ background: linear-gradient(135deg, transparent 0%, rgba(0,0,0,0.3) 100%);
450
+ }
451
+
452
+ .qlwapp-close {
453
+ position: absolute;
454
+ top: 12px;
455
+ right: 12px;
456
+
457
+ @media (min-width: 430px) {
458
+ position: absolute;
459
+ top: 7px;
460
+ right: 7px;
461
+ font-size: 16px;
462
+ }
463
+ }
464
+
465
+ .qlwapp-description {
466
+ position: relative;
467
+ }
468
+
469
+ }
470
+
471
+ .qlwapp-description,
472
+ .qlwapp-contact {
473
+ padding: 24px 36px;
474
+ height: 100%;
475
+ }
476
+
477
+ // Description
478
+ // -------------------------------------------------------------------------
479
+
480
+ .qlwapp-description {
481
+
482
+ p,
483
+ h3 {
484
+ color: inherit;
485
+ font-family: inherit;
486
+ margin: 0;
487
+ }
488
+
489
+ h3 {
490
+ margin: 0 0 0.25em 0;
491
+ }
492
+ }
493
+
494
+ // Response
495
+ // -------------------------------------------------------------------------
496
+
497
+ .qlwapp-contact {
498
+ display: flex;
499
+ justify-content: flex-end;
500
+ align-items: center;
501
+ text-align: right;
502
+
503
+ .qlwapp-previous {
504
+ position: relative;
505
+ left: -16px;
506
+
507
+ > i {
508
+ //font-size: 26px;
509
+ line-height: 36px;
510
+ }
511
+ }
512
+
513
+ .qlwapp-avatar {
514
+ width: 42px;
515
+ height: 42px;
516
+ }
517
+
518
+ .qlwapp-label,
519
+ .qlwapp-name {
520
+ color: inherit;
521
+ }
522
+ }
523
+
524
+ .qlwapp-account {
525
+ color: inherit;
526
+ padding: 16px 36px;
527
+ display: flex;
528
+ align-items: center;
529
+ overflow: hidden;
530
+ position: relative;
531
+ cursor: pointer;
532
+ width: 100%;
533
+
534
+ &:only-of-type {
535
+ padding-top: 36px;
536
+ padding-bottom: 36px;
537
+ }
538
+
539
+ }
540
+
541
+ .qlwapp-info {
542
+ padding: 0 16px;
543
+
544
+ }
545
+
546
+ .qlwapp-avatar {
547
+ position: relative;
548
+ width: 62px;
549
+ height: 62px;
550
+ //border-radius: 50%;
551
+
552
+ &:after {
553
+ content: '';
554
+ display: block;
555
+ width: 15px;
556
+ height: 15px;
557
+ position: absolute;
558
+ bottom: 2px;
559
+ right: 2px;
560
+ background-image: url(data:image/png;base64,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);
561
+ background-color: transparent;
562
+ background-repeat: no-repeat;
563
+ background-position: center center;
564
+ background-size: cover;
565
+ z-index: 4;
566
+ }
567
+ }
568
+
569
+ .qlwapp-label,
570
+ .qlwapp-offline-text {
571
+ font-size: 12px;
572
+ line-height: 1.5em;
573
+ opacity: .6;
574
+ display: block;
575
+ }
576
+
577
+ .qlwapp-name {
578
+ display: block;
579
+ font-weight: bold;
580
+ }
581
+
582
+ // Body
583
+ // -------------------------------------------------------------------------
584
+ .qlwapp-body {
585
+ overflow-x: hidden;
586
+ overflow-y: auto;
587
+
588
+ .qlwapp-carousel {
589
+ max-height: 470px;
590
+ min-height: 134px;
591
+ }
592
+ }
593
+
594
+ // Chat
595
+ // -------------------------------------------------------------------------
596
+
597
+ .qlwapp-chat {
598
+ display: flex;
599
+ flex-direction: column;
600
+ //height: 100%;
601
+ overflow: hidden;
602
+ }
603
+
604
+ .qlwapp-user,
605
+ .qlwapp-message {
606
+ padding: 16px 24px;
607
+ margin: 36px;
608
+ position: relative;
609
+ word-wrap: break-word;
610
+ width: calc(~"100% - 36px*2");
611
+
612
+ &:before {
613
+ content: '';
614
+ position: absolute;
615
+ top: -6px;
616
+ right: 24px;
617
+ width: 13px;
618
+ height: 13px;
619
+ transform: rotate(45deg);
620
+ }
621
+ }
622
+
623
+ .qlwapp-user {
624
+ width: auto;
625
+ max-width: 75%;
626
+ align-self: flex-start;
627
+ justify-self: flex-end;
628
+ margin-top: 0;
629
+
630
+ &:before {
631
+ top: auto;
632
+ bottom: -6px;
633
+ left: 24px;
634
+ }
635
+ }
636
+
637
+ // Footer
638
+ // -------------------------------------------------------------------------
639
+
640
+ .qlwapp-padding {
641
+ padding-bottom: 56px;
642
+ }
643
+
644
+ .qlwapp-footer,
645
+ .qlwapp-response {
646
+ position: absolute;
647
+ bottom: 0;
648
+ left: 0;
649
+ right: 0;
650
+ height: auto;
651
+ width:100%;
652
+
653
+ &,
654
+ pre,
655
+ textarea {
656
+ max-height: 160px;
657
+ }
658
+
659
+ pre,
660
+ textarea {
661
+ color: inherit;
662
+ background-color: inherit;
663
+ }
664
+
665
+ &:before {
666
+ pointer-events: none;
667
+ position: absolute;
668
+ content: '';
669
+ height: 59px;
670
+ top: -59px;
671
+ background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
672
+ left: 0;
673
+ right: 0;
674
+ }
675
+
676
+ }
677
+
678
+ .qlwapp-footer {
679
+ min-height: 56px;
680
+ display: flex;
681
+ align-items: center;
682
+ justify-content: center;
683
+ text-align: center;
684
+ font-size: 12px;
685
+ padding: 12px 36px;
686
+
687
+ p {
688
+ font-size: inherit;
689
+ }
690
+
691
+ p:last-child {
692
+ margin-bottom: 0;
693
+ }
694
+ }
695
+
696
+ // Response
697
+ // -------------------------------------------------------------------------
698
+ .qlwapp-response {
699
+
700
+ &,
701
+ pre,
702
+ textarea,
703
+ .qlwapp-buttons {
704
+ min-height: 56px;
705
+ }
706
+
707
+ pre,
708
+ textarea {
709
+ width: 100%;
710
+ height: 100%;
711
+ resize: none;
712
+ border: none;
713
+ padding: 18px 56px 18px 36px;
714
+ font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
715
+ font-size: 14px;
716
+ font-weight: normal;
717
+ line-height: 20px;
718
+ white-space: pre-wrap;
719
+ word-wrap: break-word;
720
+ border-radius: inherit;
721
+ margin: 0;
722
+ }
723
+
724
+ pre {
725
+ visibility: hidden;
726
+ }
727
+
728
+ textarea {
729
+ position: absolute;
730
+ bottom: 0;
731
+ left: 0;
732
+
733
+ &:focus {
734
+ outline: none;
735
+ }
736
+
737
+ }
738
+
739
+ .qlwapp-buttons {
740
+ position: absolute;
741
+ top: 0;
742
+ right: 21px;
743
+ display: flex;
744
+ align-items: center;
745
+
746
+ &.active {
747
+
748
+ > i {
749
+ display: none;
750
+ }
751
+
752
+ > i.qlwf-emoji {
753
+ display: block;
754
+ }
755
+ }
756
+
757
+ > i {
758
+ opacity: 0.4;
759
+ }
760
+
761
+ > i,
762
+ > a {
763
+ cursor: pointer;
764
+ margin: 0 0 0 10px;
765
+ display: inherit;
766
+ font-size: 18px;
767
+ line-height: 24px;
768
+ }
769
+
770
+ }
771
+
772
+ }
773
+
774
+ }
775
+
776
+ }
777
+ @import 'colors.less';
778
+ @import 'animations.less';
4.2.4/includes/defaults.php ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH'))
4
+ exit;
5
+
6
+ if (!class_exists('QLWAPP_Options')) {
7
+
8
+ class QLWAPP_Options {
9
+
10
+ protected static $instance;
11
+ public $defaults;
12
+
13
+ function defaults() {
14
+ $this->defaults = array(
15
+ 'license' => array(
16
+ 'market' => '',
17
+ 'key' => '',
18
+ 'email' => ''
19
+ ),
20
+ 'scheme' => array(
21
+ 'brand' => '',
22
+ 'text' => '',
23
+ 'link' => '',
24
+ 'message' => '',
25
+ 'label' => '',
26
+ 'name' => '',
27
+ ),
28
+ 'user' => array(
29
+ 'message' => esc_html__('Hello! I\'m testing the WhatsApp Chat plugin @https://quadlayers.com', 'qlwapp')
30
+ ),
31
+ 'button' => array(
32
+ 'layout' => 'button',
33
+ 'position' => 'bottom-right',
34
+ 'text' => esc_html__('How can I help you?', 'qlwapp'),
35
+ 'icon' => 'qlwapp-whatsapp-icon',
36
+ 'phone' => '+441234567890',
37
+ 'developer' => 'no',
38
+ 'rounded' => 'yes'
39
+ ),
40
+ 'box' => array(
41
+ 'enable' => 'no',
42
+ 'header' => '<h3>Hello!</h3><p>Click one of our representatives below to chat on WhatsApp or send us an email to <a href="mailto:hello@quadlayers.com">hello@quadlayers.com</a></p>',
43
+ 'footer' => '<p>Call us to <a href="tel://542215676835">+542215676835</a> from <em><time>0:00hs</time></em> a <em><time>24:00hs</time></em></p>'
44
+ ),
45
+ 'chat' => array(
46
+ 'emoji' => 'no',
47
+ 'response' => esc_html__('Write a response', 'qlwapp'),
48
+ ),
49
+ 'contacts' => array(
50
+ 0 => array(
51
+ 'chat' => true,
52
+ 'avatar' => 'https://www.gravatar.com/avatar/00000000000000000000000000000000',
53
+ 'phone' => '+441234567890',
54
+ 'firstname' => 'John',
55
+ 'lastname' => 'Doe',
56
+ 'label' => esc_html__('Support', 'qlwapp'),
57
+ 'message' => esc_html__('Hello! I\'m John from the support team.', 'qlwapp')
58
+ ),
59
+ ),
60
+ 'display' => array(
61
+ 'devices' => 'all',
62
+ 'target' => array(),
63
+ ),
64
+ );
65
+
66
+ return $this->defaults;
67
+ }
68
+
69
+ function wac_options($options, $key) {
70
+
71
+ if ($phone = get_option('whatsapp_chat_page')) {
72
+ $options['button']['phone'] = $phone;
73
+ }
74
+
75
+ if ($text = get_option('whatsapp_chat_button')) {
76
+ $options['button']['text'] = $text;
77
+ }
78
+ if (get_option('whatsapp_chat_powered_by')) {
79
+ $options['button']['developer'] = 'yes';
80
+ }
81
+ if (false !== get_option('whatsapp_chat_round')) {
82
+ $options['button']['rounded'] = 'no';
83
+ }
84
+ if ($message = get_option('whatsapp_chat_msg')) {
85
+ $options['user']['message'] = $message;
86
+ }
87
+ if ($mobile = get_option('whatsapp_chat_mobile')) {
88
+ $options['display']['devices'] = 'mobile';
89
+ }
90
+ if (get_option('whatsapp_chat_hide_button')) {
91
+ $options['display']['devices'] = 'hide';
92
+ }
93
+ if (get_option('whatsapp_chat_hide_post')) {
94
+ $options['display']['post'] = array('none');
95
+ }
96
+ if (get_option('whatsapp_chat_hide_page')) {
97
+ $options['display']['page'] = array('none');
98
+ }
99
+ if (get_option('whatsapp_chat_hide_product')) {
100
+ $options['display']['product'] = array('none');
101
+ }
102
+ if (get_option('whatsapp_chat_hide_project')) {
103
+ $options['display']['project'] = array('none');
104
+ }
105
+
106
+ if (false !== get_option('whatsapp_chat_down')) {
107
+ $vposition = get_option('whatsapp_chat_down') ? 'bottom' : 'middle';
108
+ $hposition = get_option('whatsapp_chat_left_side') ? 'left' : 'right';
109
+ $options['button']['position'] = "{$vposition}-{$hposition}";
110
+ }
111
+
112
+ if (get_option('whatsapp_chat_dark')) {
113
+ $options['scheme']['brand'] = '#075E54';
114
+ $options['scheme']['text'] = '#ffffff';
115
+ } elseif (get_option('whatsapp_chat_white')) {
116
+ $options['scheme']['brand'] = '#ffffff';
117
+ $options['scheme']['text'] = '#075E54';
118
+ } elseif (false !== get_option('whatsapp_chat_white')) {
119
+ $options['scheme']['brand'] = '#20B038';
120
+ $options['scheme']['text'] = '#ffffff';
121
+ }
122
+
123
+ return $options;
124
+ }
125
+
126
+ function options() {
127
+
128
+ global $qlwapp;
129
+
130
+ $options = get_option(QLWAPP_DOMAIN);
131
+
132
+ if (isset($options['box']['enable']) && $options['box']['enable'] == 1) {
133
+ $options['box']['enable'] = 'yes';
134
+ }
135
+
136
+ if (isset($options['button']['rounded']) && $options['button']['rounded'] == 1) {
137
+ $options['button']['rounded'] = 'yes';
138
+ }
139
+
140
+ if (isset($options['button']['developer']) && $options['button']['developer'] == 1) {
141
+ $options['button']['developer'] = 'yes';
142
+ }
143
+
144
+ $qlwapp = $this->wp_parse_args($options, $this->defaults());
145
+ }
146
+
147
+ function wp_parse_args(&$a, $b) {
148
+ $a = (array) $a;
149
+ $b = (array) $b;
150
+ $result = $b;
151
+ foreach ($a as $k => &$v) {
152
+ if (is_array($v) && isset($result[$k])) {
153
+ $result[$k] = $this->wp_parse_args($v, $result[$k]);
154
+ } else {
155
+ $result[$k] = $v;
156
+ }
157
+ }
158
+ return $result;
159
+ }
160
+
161
+ function init() {
162
+ add_action('init', array($this, 'options'));
163
+ add_filter('default_option_qlwapp', array($this, 'wac_options'), 10, 2);
164
+ }
165
+
166
+ public static function instance() {
167
+ if (!isset(self::$instance)) {
168
+ self::$instance = new self();
169
+ self::$instance->defaults();
170
+ self::$instance->init();
171
+ }
172
+ return self::$instance;
173
+ }
174
+
175
+ }
176
+
177
+ QLWAPP_Options::instance();
178
+ }
4.2.4/includes/frontend.php ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!class_exists('QLWAPP_Frontend')) {
3
+
4
+ class QLWAPP_Frontend {
5
+
6
+ protected static $instance;
7
+
8
+ function add_js() {
9
+ wp_enqueue_style('qlwapp', plugins_url('/assets/css/qlwapp.min.css', QLWAPP_PLUGIN_FILE), null, QLWAPP_PLUGIN_VERSION, 'all');
10
+ wp_enqueue_script('qlwapp', plugins_url('/assets/js/qlwapp.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION, true);
11
+ }
12
+
13
+ function add_box() {
14
+
15
+ global $qlwapp;
16
+
17
+ if ($display = apply_filters('qlwapp_box_display', '__return_true')) {
18
+
19
+ if (is_file($file = apply_filters('qlwapp_box_template', QLWAPP_PLUGIN_DIR . 'template/box.php'))) {
20
+ include_once $file;
21
+ }
22
+ }
23
+ }
24
+
25
+ function add_frontend_css() {
26
+ global $qlwapp;
27
+ ?>
28
+ <style>
29
+ :root {
30
+ <?php
31
+ foreach ($qlwapp['scheme'] as $key => $value) {
32
+ if ($value != '') {
33
+ printf('--%s-scheme-%s:%s;', QLWAPP_DOMAIN, $key, $value);
34
+ }
35
+ }
36
+ ?>
37
+ }
38
+ <?php if ($qlwapp['scheme']['brand']): ?>
39
+ #qlwapp .qlwapp-toggle,
40
+ #qlwapp .qlwapp-box .qlwapp-header,
41
+ #qlwapp .qlwapp-box .qlwapp-user,
42
+ #qlwapp .qlwapp-box .qlwapp-user:before {
43
+ background-color: var(--qlwapp-scheme-brand);
44
+ }
45
+ <?php endif; ?>
46
+ <?php if ($qlwapp['scheme']['text']): ?>
47
+ #qlwapp .qlwapp-toggle,
48
+ #qlwapp .qlwapp-toggle .qlwapp-icon,
49
+ #qlwapp .qlwapp-toggle .qlwapp-text,
50
+ #qlwapp .qlwapp-box .qlwapp-header,
51
+ #qlwapp .qlwapp-box .qlwapp-user {
52
+ color: var(--qlwapp-scheme-text);
53
+ }
54
+ <?php endif; ?>
55
+ </style>
56
+ <?php
57
+ }
58
+
59
+ function box_display($display) {
60
+
61
+ global $qlwapp, $wp_query;
62
+
63
+ if (is_customize_preview()) {
64
+ return true;
65
+ }
66
+
67
+ if (count($qlwapp['display']['target'])) {
68
+
69
+ if (is_front_page() || is_home() || is_search() || is_404()) {
70
+ $display = false;
71
+ }
72
+
73
+ if (is_front_page() && in_array('home', $qlwapp['display']['target'])) {
74
+ return true;
75
+ }
76
+
77
+ if (is_home() && in_array('blog', $qlwapp['display']['target'])) {
78
+ return true;
79
+ }
80
+
81
+ if (is_search() && in_array('search', $qlwapp['display']['target'])) {
82
+ return true;
83
+ }
84
+
85
+ if (is_404() && in_array('error', $qlwapp['display']['target'])) {
86
+ return true;
87
+ }
88
+ }
89
+
90
+ if (is_archive() && isset($wp_query->queried_object->taxonomy)) {
91
+
92
+ if (isset($qlwapp['display'][$wp_query->queried_object->taxonomy]) && count($qlwapp['display'][$wp_query->queried_object->taxonomy])) {
93
+
94
+ $display = false;
95
+
96
+ if (in_array($wp_query->queried_object->slug, $qlwapp['display'][$wp_query->queried_object->taxonomy])) {
97
+ return true;
98
+ }
99
+ }
100
+ }
101
+
102
+ return $display;
103
+ }
104
+
105
+ function do_shortcode($atts, $content = null) {
106
+
107
+ global $qlwapp;
108
+
109
+ extract(shortcode_atts($qlwapp['button'], $atts));
110
+
111
+ ob_start();
112
+ ?>
113
+ <div id="qlwapp" class="qlwapp-button qlwapp-js-ready">
114
+ <a class="qlwapp-toggle" data-action="open" data-phone="<?php echo esc_attr($phone); ?>" href="#" target="_blank">
115
+ <?php if ($icon): ?>
116
+ <i class="qlwapp-icon <?php echo esc_attr($icon); ?>"></i>
117
+ <?php endif; ?>
118
+ <?php if ($content): ?>
119
+ <span class="qlwapp-text"><?php echo esc_html($content); ?></span>
120
+ <?php endif; ?>
121
+ </a>
122
+ </div>
123
+ <?php
124
+ return ob_get_clean();
125
+ }
126
+
127
+ function init() {
128
+ add_action('wp_enqueue_scripts', array($this, 'add_js'));
129
+ add_action('wp_head', array($this, 'add_frontend_css'), 200);
130
+ add_action('wp_footer', array($this, 'add_box'));
131
+ add_filter('qlwapp_box_display', array($this, 'box_display'));
132
+ add_shortcode('whatsapp', array($this, 'do_shortcode'));
133
+ }
134
+
135
+ public static function instance() {
136
+ if (!isset(self::$instance)) {
137
+ self::$instance = new self();
138
+ self::$instance->init();
139
+ }
140
+ return self::$instance;
141
+ }
142
+
143
+ }
144
+
145
+ QLWAPP_Frontend::instance();
146
+ }
4.2.4/includes/pages/box.php ADDED
@@ -0,0 +1,175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Disable', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[box][enable]" class="qlwapp-select2">
10
+ <option value="yes" <?php selected($qlwapp['box']['enable'], 'yes'); ?>><?php esc_html_e('Enable contact box', 'qlwapp'); ?></option>
11
+ <option value="no" <?php selected($qlwapp['box']['enable'], 'no'); ?>><?php esc_html_e('Disable contact box', 'qlwapp'); ?></option>
12
+ </select>
13
+ </td>
14
+ </tr>
15
+ <tr>
16
+ <th scope="row"><?php esc_html_e('Header', 'qlwapp'); ?></th>
17
+ <td>
18
+ <?php wp_editor($qlwapp['box']['header'], 'qlwapp_box_header', ['editor_height' => 200, 'textarea_name' => esc_attr(QLWAPP_DOMAIN) . '[box][header]']); ?>
19
+ </td>
20
+ </tr>
21
+ <tr>
22
+ <th scope="row"><?php esc_html_e('Footer', 'qlwapp'); ?></th>
23
+ <td>
24
+ <?php wp_editor($qlwapp['box']['footer'], 'qlwapp_box_footer', ['editor_height' => 200, 'textarea_name' => esc_attr(QLWAPP_DOMAIN) . '[box][footer]']); ?>
25
+ </td>
26
+ </tr>
27
+ <tr>
28
+ <th scope="row"><?php esc_html_e('Response', 'qlwapp'); ?></th>
29
+ <td>
30
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[chat][response]'); ?>" placeholder="<?php echo esc_html($this->defaults['chat']['response']); ?>" value="<?php echo esc_attr($qlwapp['chat']['response']); ?>" class="qlwapp-input"/>
31
+ <p class="description"><?php esc_html_e('Write a response text.', 'qlwapp'); ?></p>
32
+ </td>
33
+ </tr>
34
+ <tr>
35
+ <th scope="row">
36
+ <?php esc_html_e('Contacts', 'qlwapp'); ?>
37
+ </th>
38
+ <td>
39
+ <table id="qlwapp-contact-form" class="form-table widefat hidden" data-editindex="-1">
40
+ <?php $this->contact_table(); ?>
41
+ <tfoot>
42
+ <tr>
43
+ <td colspan="2">
44
+ <?php submit_button(esc_html__('Save Contact', 'qlwapp'), 'primary', null, false, array('id' => 'btn-save-contact')); ?>
45
+ <span class="spinner"></span>
46
+ </td>
47
+ </tr>
48
+ <tfoot>
49
+ </table>
50
+ <div class="submit qlwapp-premium-field">
51
+ <?php submit_button(esc_html__('Add Contact', 'qlwapp'), 'secondary', null, false, array('id' => 'btn-add-contact')); ?>
52
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
53
+ </div>
54
+ <table id="qlwapp-contacts-table" class="form-table widefat striped">
55
+ <thead>
56
+ <tr>
57
+ <td><b><?php esc_html_e('Avatar', 'qlwapp'); ?></b></td>
58
+ <td><b><?php esc_html_e('Phone', 'qlwapp'); ?></b></td>
59
+ <td><b><?php esc_html_e('Name', 'qlwapp'); ?></b></td>
60
+ <td><b><?php esc_html_e('Label', 'qlwapp'); ?></b></td>
61
+ <td><b><?php esc_html_e('Message', 'qlwapp'); ?></b></td>
62
+ <td><b><?php esc_html_e('Chat', 'qlwapp'); ?></b></td>
63
+ <td><b><?php esc_html_e('Actions', 'qlwapp'); ?></b></td>
64
+ </tr>
65
+ </thead>
66
+ <tbody>
67
+ </tbody>
68
+ </table>
69
+ </td>
70
+ </tr>
71
+ </tbody>
72
+ </table>
73
+ <?php submit_button() ?>
74
+ </form>
75
+ <script>
76
+ (function($) {
77
+ let qlwapp_contacts = <?php echo json_encode($qlwapp['contacts']) ?>;
78
+ let tableBody = document.querySelector('#qlwapp-contacts-table tbody');
79
+ $(document).on('click', '#btn-edit-contact', function() {
80
+ esc_html_edit_contact(this.dataset.cid);
81
+ return false;
82
+ });
83
+ $('#btn-save-contact').click(function(e) {
84
+ e.preventDefault();
85
+ let contact = {
86
+
87
+ firstname: $('#qlwapp-contact-form #cfirstname').val(),
88
+ lastname: $('#qlwapp-contact-form #clastname').val(),
89
+ phone: $('#qlwapp-contact-form #cphone').val(),
90
+ label: $('#qlwapp-contact-form #clabel').val(),
91
+ message: $('#qlwapp-contact-form #cmessage').val(),
92
+ chat: $('#qlwapp-contact-form .cchat:checked').val(),
93
+ avatar: $('#qlwapp-contact-form #cavatar').val()
94
+ }
95
+
96
+ let index = document.querySelector('#qlwapp-contact-form').dataset.editindex;
97
+ if (index != '-1') {
98
+ qlwapp_contacts[parseInt(index)] = contact;
99
+ } else {
100
+ qlwapp_contacts.push(contact);
101
+ }
102
+ qlwapp_show_contacts();
103
+ $('#qlwapp-contact-form').slideToggle();
104
+ return false;
105
+ });
106
+ $(document).on('click', '#btn-delete-contact', function () {
107
+ let index = this.dataset.cid;
108
+ if (!qlwapp_contacts[index])
109
+ return false;
110
+ qlwapp_contacts.splice(index, 1);
111
+ qlwapp_show_contacts();
112
+ return false;
113
+ });
114
+ function qlwapp_show_contacts() {
115
+ tableBody.innerHTML = '';
116
+ let i = 0;
117
+ for (let contact of qlwapp_contacts) {
118
+ let tr = document.createElement('tr');
119
+ tr.dataset.cid = i;
120
+ let td1 = document.createElement('td');
121
+ let td2 = document.createElement('td');
122
+ let td3 = document.createElement('td');
123
+ let td4 = document.createElement('td');
124
+ let td5 = document.createElement('td');
125
+ let td6 = document.createElement('td');
126
+ let tda = document.createElement('td');
127
+ let avatar = contact.avatar ? contact.avatar : 'https://www.gravatar.com/avatar/00000000000000000000000000000000';
128
+ //td0.innerHTML = (i + 1);
129
+ tda.innerHTML = '<img class="qlwapp-avatar" src="' + avatar + '" alt="" width="100" height="100" />' +
130
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][avatar]" value="' + avatar + '" />';
131
+ td1.innerHTML = contact.phone +
132
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][phone]" value="' + contact.phone + '" />';
133
+ td2.innerHTML = contact.firstname + ' ' + contact.lastname +
134
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][firstname]" value="' + contact.firstname + '" />' +
135
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][lastname]" value="' + contact.lastname + '" />';
136
+ td3.innerHTML = contact.label +
137
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][label]" value="' + contact.label + '" />';
138
+ td4.innerHTML = contact.message +
139
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][message]" value="' + contact.message + '" />';
140
+ td5.innerHTML = (Number(contact.chat) ? 'Enabled' : 'Disabled') +
141
+ '<input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts]'); ?>[' + i + '][chat]" value="' + Number(contact.chat) + '" />';
142
+ td6.innerHTML = '<a href="javascript:;" id="btn-delete-contact" data-cid="' + i + '">Remove</a> | ' +
143
+ '<a href="javascript:;" id="btn-edit-contact" data-cid="' + i + '">Edit</a>';
144
+ //tr.appendChild(td0);
145
+ tr.appendChild(tda);
146
+ tr.appendChild(td1);
147
+ tr.appendChild(td2);
148
+ tr.appendChild(td3);
149
+ tr.appendChild(td4);
150
+ tr.appendChild(td5);
151
+ tr.appendChild(td6);
152
+ tableBody.appendChild(tr);
153
+ i++;
154
+ }
155
+ }
156
+
157
+ function esc_html_edit_contact(index) {
158
+ let contact = qlwapp_contacts[index] || null;
159
+ if (!contact)
160
+ return false;
161
+ document.querySelector('#qlwapp-contact-form').dataset.editindex = index;
162
+ $('#qlwapp-contact-form #cfirstname').val(contact.firstname);
163
+ $('#qlwapp-contact-form #clastname').val(contact.lastname);
164
+ $('#qlwapp-contact-form #cphone').val(contact.phone);
165
+ $('#qlwapp-contact-form #clabel').val(contact.label);
166
+ $('#qlwapp-contact-form .cchat[value="1"]').attr('checked', contact.chat);
167
+ $('#qlwapp-contact-form .cchat[value="0"]').attr('checked', !contact.chat);
168
+ $('#qlwapp-contact-form #cmessage').val(contact.message);
169
+ $('#qlwapp-contact-form #cavatar').val(contact.avatar);
170
+ $('#qlwapp-contact-form #cavatar-img').attr('src', contact.avatar);
171
+ $('#qlwapp-contact-form').slideToggle();
172
+ }
173
+ qlwapp_show_contacts();
174
+ })(jQuery);
175
+ </script>
4.2.4/includes/pages/button.php ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Layout', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][layout]" class="qlwapp-select2">
10
+ <option value="button" <?php selected($qlwapp['button']['layout'], 'button'); ?>><?php esc_html_e('Button', 'qlwapp'); ?></option>
11
+ <option value="bubble" <?php selected($qlwapp['button']['layout'], 'bubble'); ?>><?php esc_html_e('Bubble', 'qlwapp'); ?></option>
12
+ </select>
13
+ <p class="description"><?php esc_html_e('Switch to change the button layout.', 'qlwapp'); ?></p>
14
+ </td>
15
+ </tr>
16
+ <tr>
17
+ <th scope="row"><?php esc_html_e('Rounded', 'qlwapp'); ?></th>
18
+ <td>
19
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][rounded]" class="qlwapp-select2">
20
+ <option value="yes" <?php selected($qlwapp['button']['rounded'], 'yes'); ?>><?php esc_html_e('Add rounded border', 'qlwapp'); ?></option>
21
+ <option value="no" <?php selected($qlwapp['button']['rounded'], 'no'); ?>><?php esc_html_e('Remove rounded border', 'qlwapp'); ?></option>
22
+ </select>
23
+ <p class="description"><?php esc_html_e('Add rounded border to the button.', 'qlwapp'); ?></p>
24
+ </td>
25
+ </tr>
26
+ <tr>
27
+ <th scope="row"><?php esc_html_e('Position', 'qlwapp'); ?></th>
28
+ <td>
29
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][position]" class="qlwapp-select2">
30
+ <option value="middle-left" <?php selected($qlwapp['button']['position'], 'middle-left'); ?>><?php esc_html_e('Middle Left', 'qlwapp'); ?></option>
31
+ <option value="middle-right" <?php selected($qlwapp['button']['position'], 'middle-right'); ?>><?php esc_html_e('Middle Right', 'qlwapp'); ?></option>
32
+ <option value="bottom-left" <?php selected($qlwapp['button']['position'], 'bottom-left'); ?>><?php esc_html_e('Bottom Left', 'qlwapp'); ?></option>
33
+ <option value="bottom-right" <?php selected($qlwapp['button']['position'], 'bottom-right'); ?>><?php esc_html_e('Bottom Right', 'qlwapp'); ?></option>
34
+ </select>
35
+ <p class="description"><?php esc_html_e('Switch to change the button position.', 'qlwapp'); ?></p>
36
+ </td>
37
+ </tr>
38
+ <tr>
39
+ <th scope="row"><?php esc_html_e('Text', 'qlwapp'); ?></th>
40
+ <td>
41
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][text]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['text']); ?>" value="<?php echo esc_attr($qlwapp['button']['text']); ?>" class="qlwapp-input"/>
42
+ <p class="description"><?php esc_html_e('Customize your text.', 'qlwapp'); ?></p>
43
+ </td>
44
+ </tr>
45
+ <tr>
46
+ <th scope="row"><?php esc_html_e('Phone', 'qlwapp'); ?></th>
47
+ <td>
48
+ <input type="tel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[button][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['button']['phone']); ?>" value="<?php echo esc_attr($qlwapp['button']['phone']); ?>" class="qlwapp-input"/>
49
+ <p class="description"><?php esc_html_e('Full phone number in international format.', 'qlwapp'); ?></p>
50
+
51
+ </td>
52
+ </tr>
53
+ <tr>
54
+ <th scope="row"><?php esc_html_e('Icon', 'qlwapp'); ?></th>
55
+ <td>
56
+ <div class="submit qlwapp-premium-field">
57
+ <?php submit_button(__('Add Icon', 'qlwapp'), 'secondary', null, false, array('id' => 'btn-add-icon')); ?>
58
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
59
+ </div>
60
+ <input type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][icon]" placeholder="<?php echo esc_html($this->defaults['button']['icon']); ?>" value="<?php echo esc_attr($qlwapp['button']['icon']); ?>" class="qlwapp-input"/>
61
+ </td>
62
+ </tr>
63
+ <tr>
64
+ <th scope="row"><?php esc_html_e('Message', 'qlwapp'); ?></th>
65
+ <td>
66
+ <textarea maxlength="500" style="width:100%;height: 100px;padding: 8px;" name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[user][message]" placeholder="<?php echo esc_html($this->defaults['user']['message']); ?>" ><?php echo esc_html(trim($qlwapp['user']['message'])); ?></textarea>
67
+ <p class="description"><?php esc_html_e('Message that will automatically appear in the text field of a chat.', 'qlwapp'); ?></p>
68
+ </td>
69
+ </tr>
70
+ <tr>
71
+ <th scope="row"><?php esc_html_e('Discreet link', 'qlwapp'); ?></th>
72
+ <td>
73
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[button][developer]" class="qlwapp-select2">
74
+ <option value="yes" <?php selected($qlwapp['button']['developer'], 'yes'); ?>><?php esc_html_e('Show developer link', 'qlwapp'); ?></option>
75
+ <option value="no" <?php selected($qlwapp['button']['developer'], 'no'); ?>><?php esc_html_e('Hide developer link', 'qlwapp'); ?></option>
76
+ </select>
77
+ <p class="description"><?php esc_html_e('Leave a discrete link to developer to help and keep new updates and support.', 'qlwapp'); ?></p>
78
+ </td>
79
+ </tr>
80
+ </tbody>
81
+ </table>
82
+ <?php submit_button() ?>
83
+ </form>
4.2.4/includes/pages/colors.php ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Background', 'qlwapp'); ?></th>
8
+ <td>
9
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][brand]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['brand']); ?>" />
10
+ </td>
11
+ </tr>
12
+ <tr>
13
+ <th scope="row"><?php esc_html_e('Color', 'qlwapp'); ?></th>
14
+ <td>
15
+ <input class="qlwapp-color-field" type="text" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][text]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['text']); ?>" />
16
+ </td>
17
+ </tr>
18
+ <tr class="qlwapp-premium-field">
19
+ <th scope="row"><?php esc_html_e('Link', 'qlwapp'); ?></th>
20
+ <td>
21
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][link]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['link']); ?>" />
22
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
23
+ </td>
24
+ </tr>
25
+ <tr class="qlwapp-premium-field">
26
+ <th scope="row"><?php esc_html_e('Message', 'qlwapp'); ?></th>
27
+ <td>
28
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][message]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['message']); ?>" />
29
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
30
+ </td>
31
+ </tr>
32
+ <tr class="qlwapp-premium-field">
33
+ <th scope="row"><?php esc_html_e('Label', 'qlwapp'); ?></th>
34
+ <td>
35
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][label]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['label']); ?>" />
36
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
37
+ </td>
38
+ </tr>
39
+ <tr class="qlwapp-premium-field">
40
+ <th scope="row"><?php esc_html_e('Name', 'qlwapp'); ?></th>
41
+ <td>
42
+ <input class="qlwapp-color-field" type="link" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[scheme][name]'); ?>" value="<?php echo esc_attr($qlwapp['scheme']['name']); ?>" />
43
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
44
+ </td>
45
+ </tr>
46
+ </tbody>
47
+ </table>
48
+ <?php submit_button() ?>
49
+ </form>
4.2.4/includes/pages/display.php ADDED
@@ -0,0 +1,115 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <form method="post" action="options.php">
2
+ <?php settings_fields(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
3
+ <?php do_settings_sections(sanitize_key(QLWAPP_DOMAIN . '-group')); ?>
4
+ <table class="form-table">
5
+ <tbody>
6
+ <tr>
7
+ <th scope="row"><?php esc_html_e('Devices', 'qlwapp'); ?></th>
8
+ <td>
9
+ <select name="<?php echo esc_attr(QLWAPP_DOMAIN); ?>[display][devices]" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr('Posts', 'qlwapp'); ?>" class="qlwapp-select2">
10
+ <option value="all" <?php selected('all', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in all devices', 'qlwapp'); ?></option>
11
+ <option value="mobile" <?php selected('mobile', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in mobile devices', 'qlwapp'); ?></option>
12
+ <option value="desktop" <?php selected('desktop', $qlwapp['display']['devices']); ?>><?php esc_html_e('Show in desktop devices', 'qlwapp'); ?></option>
13
+ <option value="hide" <?php selected('hide', $qlwapp['display']['devices']); ?>><?php esc_html_e('Hide in all devices', 'qlwapp'); ?></option>
14
+ </select>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <th scope="row"><?php esc_html_e('Target', 'qlwapp'); ?></th>
19
+ <td>
20
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][target][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr('Posts', 'qlwapp'); ?>" class="qlwapp-select2">
21
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
22
+ <option value="home" <?php echo selected(true, in_array('home', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Home', 'qlwapp'); ?></option>
23
+ <option value="blog" <?php echo selected(true, in_array('blog', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Blog', 'qlwapp'); ?></option>
24
+ <option value="search" <?php echo selected(true, in_array('search', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html__('Search', 'qlwapp'); ?></option>
25
+ <option value="error" <?php echo selected(true, in_array('error', (array) $qlwapp['display']['target'])); ?>><?php echo esc_html('404'); ?></option>
26
+ </select>
27
+ <p class="description"><?php esc_html_e('If you select an option all the other will be excluded', 'qlwapp'); ?></p>
28
+ </td>
29
+ </tr>
30
+ <?php
31
+ foreach (get_post_types(array('public' => true, 'show_in_nav_menus' => true), 'objects') as $type) {
32
+
33
+ if (!isset($qlwapp['display'][$type->name])) {
34
+ $qlwapp['display'][$type->name] = array();
35
+ }
36
+
37
+ $posts = get_posts(array(
38
+ 'post_type' => $type->name,
39
+ 'post_status' => 'publish',
40
+ 'numberposts' => 10
41
+ ));
42
+
43
+ if ($count = wp_count_posts($type->name)) {
44
+ ?>
45
+ <tr class="qlwapp-premium-field">
46
+ <th scope="row"><?php esc_html_e(ucwords($type->label)); ?></th>
47
+ <td>
48
+ <select id="qlwapp_select2_<?php echo esc_attr($type->name); ?>" multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $type->name . '][]'); ?>" style="width:350px" data-placeholder="<?php printf(esc_html__('Select for %s&hellip;', 'qlwapp'), $type->label); ?>" aria-label="<?php echo esc_attr($type->label); ?>" data-name="<?php echo esc_attr($type->name); ?>" class="<?php echo esc_attr($count->publish < 11 ? 'qlwapp-select2' : 'qlwapp-select2-ajax' ); ?>">
49
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
50
+ <option value="archive" <?php echo selected(true, in_array('archive', (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html__('Archive', 'qlwapp'); ?></option>
51
+ <?php
52
+ if ($count->publish < 11) {
53
+
54
+ foreach ($posts as $post) {
55
+ ?>
56
+ <option value="<?php echo esc_attr($post->post_name); ?>" <?php echo selected(true, in_array($post->post_name, (array) $qlwapp['display'][$type->name])); ?>><?php echo esc_html($post->post_title); ?></option>
57
+ <?php
58
+ }
59
+ }
60
+
61
+ if (isset($qlwapp['display'][$type->name]) && count($qlwapp['display'][$type->name])) {
62
+ foreach ($qlwapp['display'][$type->name] as $id => $slug) {
63
+ if ($post = get_page_by_path($slug)) {
64
+ ?>
65
+ <option value="<?php echo esc_attr($slug); ?>" selected="selected"><?php echo esc_html(mb_substr($post->post_title, 0, 49)); ?></option>
66
+ <?php
67
+ }
68
+ }
69
+ }
70
+ ?>
71
+ </select>
72
+ <p class="description"><small><?php esc_html_e('This is a premium feature', 'qlwapp'); ?></small></p>
73
+ </td>
74
+ </tr>
75
+ <?php
76
+ }
77
+ }
78
+ ?>
79
+ <?php
80
+ foreach ($taxonomies = get_taxonomies(array('public' => true), 'objects') as $taxonomy) {
81
+
82
+ if (!isset($qlwapp['display'][$taxonomy->name])) {
83
+ $qlwapp['display'][$taxonomy->name] = array();
84
+ }
85
+
86
+ $terms = get_terms(array(
87
+ 'taxonomy' => $taxonomy->name,
88
+ 'hide_empty' => false,
89
+ ));
90
+
91
+ if (count($terms)) {
92
+ ?>
93
+ <tr>
94
+ <th scope="row"><?php esc_html_e(ucwords($taxonomy->label)); ?></th>
95
+ <td>
96
+ <select multiple="multiple" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[display][' . $taxonomy->name . '][]'); ?>" style="width:350px" data-placeholder="<?php echo esc_attr('Choose target&hellip;', 'qlwapp'); ?>" aria-label="<?php echo esc_attr($taxonomy->label); ?>" class="qlwapp-select2">
97
+ <option value="none" <?php echo selected(true, in_array('none', (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html__('Exclude from all', 'qlwapp'); ?></option>
98
+ <?php
99
+ foreach ($terms as $term) {
100
+ ?>
101
+ <option value="<?php echo esc_attr($term->slug); ?>" <?php echo selected(true, in_array($term->slug, (array) $qlwapp['display'][$taxonomy->name])); ?>><?php echo esc_html($term->name); ?></option>
102
+ <?php
103
+ }
104
+ ?>
105
+ </select>
106
+ </td>
107
+ </tr>
108
+ <?php
109
+ }
110
+ }
111
+ ?>
112
+ </tbody>
113
+ </table>
114
+ <?php submit_button() ?>
115
+ </form>
4.2.4/includes/pages/purchase.php ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ <div class="two-col">
3
+ <div class="col" style="min-width: 60%;">
4
+ <div class="welcome-header">
5
+ <h1><?php esc_html_e('Premium', 'qlwapp'); ?></h1>
6
+ <div class="about-description">
7
+ <?php esc_html_e('Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site.', 'qlwapp'); ?>
8
+ </div>
9
+ <br/>
10
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLWAPP_PURCHASE_URL); ?>"><?php esc_html_e('Purchase Now', 'qlwapp'); ?></a>
11
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo esc_url(QLWAPP_SUPPORT_URL); ?>"><?php esc_html_e('Get Support', 'qlwapp'); ?></a>
12
+ </div>
13
+ <hr/>
14
+ <div class="feature-section">
15
+ <h3><?php esc_html_e('Multiple agents', 'qlwapp'); ?></h3>
16
+ <p>
17
+ <?php esc_html_e('WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site.', 'qlwapp'); ?>
18
+ </p>
19
+ </div>
20
+ <div class="feature-section">
21
+ <h3><?php esc_html_e('Customize colors', 'qlwapp'); ?></h3>
22
+ <p>
23
+ <?php esc_html_e('Customize the colors to match site’s theme colors through the WordPress live customizer interface.', 'qlwapp'); ?>
24
+ </p>
25
+ </div>
26
+ <div class="feature-section">
27
+ <h3><?php esc_html_e('Custom icons', 'qlwapp'); ?></h3>
28
+ <p>
29
+ <?php esc_html_e('Our plugin allows you to select between more than fourty icons to include in your Whatsapp button.', 'qlwapp'); ?>
30
+ </p>
31
+ </div>
32
+ </div>
33
+ <div class="col" style="max-width: 33%;min-width: 33%;">
34
+ <img src="<?php echo plugins_url('/assets/img/box1.png', QLWAPP_PLUGIN_FILE); ?>">
35
+ </div>
36
+ </div>
37
+ <br/>
38
+ <br/>
39
+ <div class="two-col">
40
+ <div class="col" style="max-width: 33%;min-width: 33%;">
41
+ <img src="<?php echo plugins_url('/assets/img/box2.png', QLWAPP_PLUGIN_FILE); ?>">
42
+ </div>
43
+ <div class="col" style="min-width: 60%;">
44
+ <br/>
45
+ <div class="welcome-header">
46
+ <h1><?php esc_html_e('Chatbox interface', 'qlwapp'); ?></h1>
47
+ <div class="about-description">
48
+ <?php esc_html_e('WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message.', 'qlwapp'); ?>
49
+ <?php //esc_html_e('Take in mind that this chat dosent allow .', 'qlwapp'); ?>
50
+ </div>
51
+ </div>
52
+ <hr/>
53
+ <div class="feature-section">
54
+ <h3><?php esc_html_e('Custom agent message', 'qlwapp'); ?></h3>
55
+ <p>
56
+ <?php esc_html_e('Allow you to set a custom message for each agent that will displayed on the chatbox.', 'qlwapp'); ?>
57
+ </p>
58
+ </div>
59
+ <div class="feature-section">
60
+ <h3><?php esc_html_e('Custom user message', 'qlwapp'); ?></h3>
61
+ <p>
62
+ <?php esc_html_e('You can choose the predefined user message that will be sent to the agent phone number.', 'qlwapp'); ?>
63
+ </p>
64
+ </div>
65
+ <div class="feature-section">
66
+ <h3><?php esc_html_e('Type user message', 'qlwapp'); ?></h3>
67
+ <p>
68
+ <?php esc_html_e('Allow your users to type their own messages before send it to the agent phone number.', 'qlwapp'); ?>
69
+ </p>
70
+ </div>
71
+ </div>
72
+ </div>
4.2.4/includes/pages/welcome.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div class="two-col">
2
+ <div class="col" style="min-width: 60%;">
3
+ <div class="qlwapp-welcome-header">
4
+ <h1><?php echo QLWAPP_PLUGIN_NAME; ?> <span style="font-size: 24px;color: #555;">v<?php echo QLWAPP_PLUGIN_VERSION; ?></span></h1>
5
+ <div class="about-text">
6
+ <?php esc_html_e('Hello we\'re QuadLayers! We\'ve recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues.', 'qlwapp'); ?>
7
+ </div>
8
+ </div>
9
+ <hr/>
10
+ <div class="feature-section one-col is-wide wp-clearfix">
11
+ <h3><?php esc_html_e('Community', 'qlwapp'); ?></h3>
12
+ <p>
13
+ <?php esc_html_e('If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now.', 'qlwapp'); ?>
14
+ </p>
15
+ <a style="background-color: #ffffff;color: #626262;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_GROUP_URL; ?>"><?php esc_html_e('Join us', 'qlwapp'); ?></a>
16
+ </div>
17
+ <div class="feature-section one-col is-wide wp-clearfix">
18
+ <h3><?php esc_html_e('Demo', 'qlwapp'); ?></h3>
19
+ <p>
20
+ <?php esc_html_e('Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version.', 'qlwapp'); ?>
21
+ </p>
22
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_DEMO_URL; ?>"><?php esc_html_e('View demo', 'qlwapp'); ?></a>
23
+ </div>
24
+ <div class="feature-section one-col is-wide wp-clearfix">
25
+ <h3><?php esc_html_e('Support', 'qlwapp'); ?></h3>
26
+ <p>
27
+ <?php esc_html_e('If you have any doubt or you find any issue don\'t hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users.', 'qlwapp'); ?>
28
+ </p>
29
+ <a style="background-color: #006cff;color: #ffffff;text-decoration: none;padding: 10px 30px;border-radius: 30px;margin: 10px 0 0 0;display: inline-block;" target="_blank" href="<?php echo QLWAPP_SUPPORT_URL; ?>"><?php esc_html_e('Submit ticket', 'qlwapp'); ?></a>
30
+ </div>
31
+ </div>
32
+ <div class="col" style="max-width: 33%;min-width: 33%;">
33
+ <img src="<?php echo plugins_url('/assets/img/box1.png', QLWAPP_PLUGIN_FILE); ?>">
34
+ </div>
35
+ </div>
4.2.4/includes/settings.php ADDED
@@ -0,0 +1,473 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if (!defined('ABSPATH'))
3
+ exit;
4
+
5
+ if (!class_exists('QLWAPP_Settings')) {
6
+
7
+ class QLWAPP_Settings extends QLWAPP_Options {
8
+
9
+ protected static $instance;
10
+
11
+ function ajax_dismiss_notice() {
12
+
13
+ if ($notice_id = ( isset($_POST['notice_id']) ) ? sanitize_key($_POST['notice_id']) : '') {
14
+
15
+ update_user_meta(get_current_user_id(), $notice_id, true);
16
+
17
+ wp_send_json($notice_id);
18
+ }
19
+
20
+ wp_die();
21
+ }
22
+
23
+ function add_action_links($links) {
24
+
25
+ $links[] = '<a target="_blank" href="' . QLWAPP_PURCHASE_URL . '">' . esc_html__('Premium', 'qlwapp') . '</a>';
26
+
27
+ $links[] = '<a href="' . admin_url('admin.php?page=' . QLWAPP_DOMAIN) . '">' . esc_html__('Settings', 'qlwapp') . '</a>';
28
+
29
+ return $links;
30
+ }
31
+
32
+ function ajax_get_posts() {
33
+
34
+ $data = array(
35
+ array('none', esc_html__('Exclude from all', 'qlwapp'))
36
+ );
37
+
38
+ $posts = get_posts(array(
39
+ 's' => $_GET['q'],
40
+ 'post_type' => $_GET['name'],
41
+ 'post_status' => 'publish',
42
+ 'ignore_sticky_posts' => 1,
43
+ 'posts_per_page' => 10
44
+ ));
45
+
46
+ foreach ($posts as $post) {
47
+ $data[] = array($post->post_name, mb_substr($post->post_title, 0, 49));
48
+ }
49
+
50
+ wp_send_json($data);
51
+
52
+ wp_die();
53
+ }
54
+
55
+ function add_menu() {
56
+ add_menu_page(QLWAPP_PLUGIN_NAME, QLWAPP_PLUGIN_NAME, 'manage_options', QLWAPP_DOMAIN, array($this, 'settings_welcome'), 'dashicons-format-chat');
57
+ add_submenu_page(QLWAPP_DOMAIN, __('Welcome', 'qlwapp'), esc_html__('Welcome', 'qlwapp'), 'manage_options', QLWAPP_DOMAIN, array($this, 'settings_welcome'));
58
+ add_submenu_page(QLWAPP_DOMAIN, __('Button', 'qlwapp'), esc_html__('Button', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_button', array($this, 'settings_button'));
59
+ add_submenu_page(QLWAPP_DOMAIN, __('Box', 'qlwapp'), esc_html__('Box', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_box', array($this, 'settings_box'));
60
+ add_submenu_page(QLWAPP_DOMAIN, __('Display', 'qlwapp'), esc_html__('Display', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_display', array($this, 'settings_display'));
61
+ add_submenu_page(QLWAPP_DOMAIN, __('Colors', 'qlwapp'), esc_html__('Colors', 'qlwapp'), 'edit_posts', QLWAPP_DOMAIN . '_colors', array($this, 'settings_colors'));
62
+ add_submenu_page(QLWAPP_DOMAIN, __('Premium', 'qlwapp'), sprintf('<i class="dashicons dashicons-awards"></i> %s', __('Premium', 'qlwapp')), 'edit_posts', QLWAPP_DOMAIN . '_purchase', array($this, 'settings_purchase'));
63
+ }
64
+
65
+ function settings_header() {
66
+
67
+ global $submenu;
68
+
69
+ if (isset($submenu[QLWAPP_DOMAIN])) {
70
+ $welcome_menu_items = $submenu[QLWAPP_DOMAIN];
71
+ }
72
+
73
+ if (is_array($welcome_menu_items)) {
74
+ ?>
75
+ <div class="wrap about-wrap full-width-layout qlwrap">
76
+
77
+ <h1><?php esc_html_e('WhatsApp Chat', 'qlwapp'); ?></h1>
78
+
79
+ <p class="about-text"><?php esc_html_e('Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users.', 'qlwapp'); ?></p>
80
+
81
+ <p class="about-text">
82
+ <?php printf('<a href="%s" target="_blank">%s</a>', QLWAPP_DEMO_URL, esc_html__('Check out our demo', 'qlwapp')); ?></a>
83
+ </p>
84
+
85
+ <?php printf('<a href="%s" target="_blank"><div style="
86
+ background: #006bff url(%s) no-repeat;
87
+ background-position: top center;
88
+ background-size: 130px 130px;
89
+ color: #fff;
90
+ font-size: 14px;
91
+ text-align: center;
92
+ font-weight: 600;
93
+ margin: 5px 0 0;
94
+ padding-top: 120px;
95
+ height: 40px;
96
+ display: inline-block;
97
+ width: 140px;
98
+ position: absolute;
99
+ top: 0;
100
+ right: 0;
101
+ " class="ql-badge">%s</div></a>', 'https://quadlayers.com/?utm_source=qlwapp_admin', plugins_url('/assets/img/quadlayers.jpg', QLWAPP_PLUGIN_FILE), esc_html__('QuadLayers', 'qlwapp')); ?>
102
+
103
+ </div>
104
+ <div class="wrap about-wrap full-width-layout qlwrap">
105
+ <h2 class="nav-tab-wrapper">
106
+ <?php
107
+ foreach ($welcome_menu_items as $welcome_menu_item) {
108
+ if (strpos($welcome_menu_item[2], '.php') !== false)
109
+ continue;
110
+ ?>
111
+ <a href="<?php echo admin_url('admin.php?page=' . esc_attr($welcome_menu_item[2])); ?>" class="nav-tab<?php echo (isset($_GET['page']) && $_GET['page'] == $welcome_menu_item[2]) ? ' nav-tab-active' : ''; ?>"><?php echo $welcome_menu_item[0]; ?></a>
112
+ <?php
113
+ }
114
+ ?>
115
+ </h2>
116
+ </div>
117
+ <?php
118
+ }
119
+ }
120
+
121
+ function settings_sanitize($settings) {
122
+
123
+ if (isset($settings['button']['layout'])) {
124
+ $settings['button']['layout'] = sanitize_html_class($settings['button']['layout']);
125
+ }
126
+ if (isset($settings['button']['position'])) {
127
+ $settings['button']['position'] = sanitize_html_class($settings['button']['position']);
128
+ }
129
+ if (isset($settings['button']['text'])) {
130
+ $settings['button']['text'] = sanitize_text_field($settings['button']['text']);
131
+ }
132
+ if (isset($settings['button']['icon'])) {
133
+ $settings['button']['icon'] = sanitize_html_class($settings['button']['icon']);
134
+ }
135
+ if (isset($settings['box']['header'])) {
136
+ $settings['box']['header'] = wp_kses_post($settings['box']['header']);
137
+ }
138
+ if (isset($settings['box']['footer'])) {
139
+ $settings['box']['footer'] = wp_kses_post($settings['box']['footer']);
140
+ }
141
+ if (isset($settings['contacts'])) {
142
+ if (count($settings['contacts'])) {
143
+ foreach ($settings['contacts'] as $id => $c) {
144
+ $settings['contacts'][$id]['chat'] = boolval($settings['contacts'][$id]['chat']);
145
+ $settings['contacts'][$id]['avatar'] = sanitize_text_field($settings['contacts'][$id]['avatar']);
146
+ $settings['contacts'][$id]['phone'] = sanitize_text_field($settings['contacts'][$id]['phone']);
147
+ $settings['contacts'][$id]['firstname'] = sanitize_text_field($settings['contacts'][$id]['firstname']);
148
+ $settings['contacts'][$id]['lastname'] = sanitize_text_field($settings['contacts'][$id]['lastname']);
149
+ $settings['contacts'][$id]['label'] = sanitize_text_field($settings['contacts'][$id]['label']);
150
+ $settings['contacts'][$id]['message'] = wp_kses_post($settings['contacts'][$id]['message']);
151
+ //$settings['contacts'][$id]['message'] = stripslashes($settings['contacts'][$id]['message']);
152
+ }
153
+ }
154
+ }
155
+
156
+ return $settings;
157
+ }
158
+
159
+ function add_settings_register() {
160
+ register_setting(sanitize_key(QLWAPP_DOMAIN . '-group'), sanitize_key(QLWAPP_DOMAIN), array($this, 'settings_sanitize'));
161
+ }
162
+
163
+ function settings_welcome() {
164
+
165
+ global $qlwapp;
166
+ ?>
167
+ <?php $this->settings_header(); ?>
168
+ <div class="wrap about-wrap full-width-layout qlwrap">
169
+ <?php include_once('pages/welcome.php'); ?>
170
+ </div>
171
+ <?php
172
+ }
173
+
174
+ function settings_button() {
175
+
176
+ global $qlwapp;
177
+ ?>
178
+ <?php $this->settings_header(); ?>
179
+ <div class="wrap about-wrap full-width-layout qlwrap">
180
+ <?php include_once('pages/button.php'); ?>
181
+ </div>
182
+ <?php
183
+ }
184
+
185
+ function settings_box() {
186
+
187
+ global $qlwapp;
188
+ ?>
189
+ <?php $this->settings_header(); ?>
190
+ <div class="wrap about-wrap full-width-layout qlwrap">
191
+ <?php include_once('pages/box.php'); ?>
192
+ </div>
193
+ <?php
194
+ }
195
+
196
+ function settings_display() {
197
+
198
+ global $qlwapp;
199
+ ?>
200
+ <?php $this->settings_header(); ?>
201
+ <div class="wrap about-wrap full-width-layout qlwrap">
202
+ <?php include_once('pages/display.php'); ?>
203
+ </div>
204
+ <?php
205
+ }
206
+
207
+ function settings_colors() {
208
+
209
+ global $qlwapp;
210
+ ?>
211
+ <?php $this->settings_header(); ?>
212
+ <div class="wrap about-wrap full-width-layout qlwrap">
213
+ <?php include_once('pages/colors.php'); ?>
214
+ </div>
215
+ <?php
216
+ }
217
+
218
+ function settings_purchase() {
219
+
220
+ global $qlwapp;
221
+ ?>
222
+ <?php $this->settings_header(); ?>
223
+ <div class="wrap about-wrap full-width-layout qlwrap">
224
+ <?php include_once('pages/purchase.php'); ?>
225
+ </div>
226
+ <?php
227
+ }
228
+
229
+ function settings_contacts() {
230
+ ?>
231
+ <table class="form-table widefat" id="qlwapp-contact-form" data-editindex="-1">
232
+ <?php $this->contact_table(); ?>
233
+ </table>
234
+ <?php
235
+ }
236
+
237
+ function contact_table($id = 0) {
238
+ global $qlwapp;
239
+ ?>
240
+ <tr>
241
+ <td>
242
+ <div class="upload">
243
+ <img id="cavatar-img" class="qlwapp-avatar" data-src="<?php echo stripslashes(esc_url($qlwapp['contacts'][$id]['avatar'])); ?>" src="<?php echo esc_url($qlwapp['contacts'][$id]['avatar']); ?>" />
244
+ <div>
245
+ <input type="hidden" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][avatar]'); ?>" id="cavatar" value="<?php echo esc_url($qlwapp['contacts'][$id]['avatar']); ?>" />
246
+ <button type="button" class="upload_image_button button"><?php esc_html_e('Upload', 'qlwapp'); ?></button>
247
+ <button type="button" class="remove_image_button button">&times;</button>
248
+ </div>
249
+ </div>
250
+ </td>
251
+ <td>
252
+ <table>
253
+ <tr>
254
+ <td><b><?php esc_html_e('Firstname', 'qlwapp'); ?></b></td>
255
+ <td><input type="text" id="cfirstname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][firstname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['firstname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['firstname']); ?>" /></td>
256
+ <td><b><?php esc_html_e('Lastname', 'qlwapp'); ?></b></td>
257
+ <td><input type="text" id="clastname" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][lastname]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['lastname']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['lastname']); ?>" /></td>
258
+ </tr>
259
+ <tr>
260
+ <td><b><?php esc_html_e('Phone', 'qlwapp'); ?></b></td><td><input type="text" id="cphone" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][phone]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['phone']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['phone']); ?>" /></td>
261
+ <td><b><?php esc_html_e('Label', 'qlwapp'); ?></b></td><td><input type="text" id="clabel" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][label]'); ?>" placeholder="<?php echo esc_html($this->defaults['contacts'][0]['label']); ?>" value="<?php echo esc_html($qlwapp['contacts'][$id]['label']); ?>" /></td>
262
+ </tr>
263
+ </table>
264
+ </td>
265
+ </tr>
266
+ <tr class="qlwapp-premium-field">
267
+ <td><b><?php esc_html_e('Chat', 'qlwapp'); ?></b></td>
268
+ <td>
269
+ <p>
270
+ <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="1" <?php echo checked(true, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Enabled', 'qlwapp'); ?></label>
271
+ <label><input type="radio" class="cchat" name="<?php echo esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][chat]'); ?>" value="0" <?php echo checked(false, (bool) $qlwapp['contacts'][$id]['chat']); ?>/><?php esc_html_e('Disabled', 'qlwapp'); ?></label>
272
+ </p>
273
+ </td>
274
+ </tr>
275
+ <tr class="qlwapp-premium-field">
276
+ <td colspan="2"><b><?php esc_html_e('Message', 'qlwapp'); ?></b></td>
277
+ </tr>
278
+ <tr class="qlwapp-premium-field">
279
+ <td colspan="2"><?php wp_editor($qlwapp['contacts'][$id]['message'], 'cmessage', ['tinymce' => false, 'editor_height' => 150, 'textarea_name' => esc_attr(QLWAPP_DOMAIN . '[contacts][' . $id . '][message]')]); ?></td>
280
+ </tr>
281
+ <?php
282
+ }
283
+
284
+ function add_print_media_templates() {
285
+ ?>
286
+ <script type="text/html" id='tmpl-qlwapp-modal-backdrop'>
287
+ <div class="media-modal-backdrop">&nbsp;</div>
288
+ </script>
289
+ <script type="text/html" id='tmpl-qlwapp-modal-window'>
290
+ <div id="qlwapp_modal" class="media-modal wp-core-ui">
291
+ <button type="button" class="media-modal-close close">
292
+ <span class="media-modal-icon">
293
+ <span class="screen-reader-text"><?php esc_html_e('Close media panel'); ?></span>
294
+ </span>
295
+ </button>
296
+ <div class="media-frame mode-select wp-core-ui hide-menu">
297
+ <div class="media-frame-title">
298
+ <h1><?php esc_html_e('WhatsApp Chat', 'qlwapp'); ?><span class="dashicons dashicons-arrow-down"></span></h1>
299
+ </div>
300
+ <div class="media-frame-router">
301
+ <div class="media-router">
302
+ <a href="#" class="media-menu-item active"><?php esc_html_e('Select icon', 'qlwapp'); ?></a>
303
+ </div>
304
+ </div>
305
+ <div class="media-modal-content">
306
+ <div class="media-frame mode-select wp-core-ui">
307
+ <div class="media-frame-menu">
308
+ <div class="media-menu">
309
+ <a href="#" class="media-menu-item active"><?php esc_html_e('Featured Image'); ?></a>
310
+ </div>
311
+ </div>
312
+ <div class="media-frame-content" data-columns="10">
313
+ <div class="attachments-browser">
314
+ <input type="hidden" id="qlwapp_icon" value="{{ data.icon }}">
315
+ <ul tabindex="-1" class="attachments">
316
+ <?php foreach (explode(',', 'qlwf-chat,qlwf-chat1,qlwf-chat2,qlwf-comments,qlwf-chat3,qlwf-bubble1,qlwf-chat-alt-fill,qlwf-chat-alt-stroke,qlwf-comment-alt2-fill,qlwf-comment-alt2-stroke,qlwf-comment-fill,qlwf-comment-stroke,qlwf-comment,qlwf-comment-alt1-stroke,qlwf-chat4,qlwf-comments1,qlwf-chat5,qlwf-comment1,qlwf-bubble,qlwf-bubbles,qlwf-bubbles2,qlwf-bubble2,qlwf-bubbles3,qlwf-bubbles4,qlwf-whatsapp,qlwf-chat6,qlwf-mode_comment,qlwf-insert_comment,qlwf-chat_bubble_outline,qlwf-chat_bubble,qlwf-bubble_chart,qlwf-comment2,qlwf-chat7,qlwf-commenting-o,qlwf-commenting,qlwf-comments-o,qlwf-comment-o,qlwf-wechat,qlwf-comments2,qlwf-comment3,qlwf-chat8,qlwf-chat-bubble-dots,qlwf-bubbles1,qlwf-bubble3') as $id => $icon) : ?>
317
+ <li tabindex="0" role="checkbox" aria-label="<?php echo esc_attr($icon); ?>" aria-checked="false" data-id="<?php echo esc_attr($id); ?>" class="attachment save-ready icon _<?php echo esc_attr(str_replace(' ', '_', trim($icon))); ?>">
318
+ <div class="attachment-preview js--select-attachment type-image subtype-jpeg landscape">
319
+ <div class="thumbnail">
320
+ <i class="<?php echo esc_attr($icon); ?>"></i>
321
+ </div>
322
+ </div>
323
+ <button type="button" class="check" tabindex="-1">
324
+ <span class="media-modal-icon"></span>
325
+ <span class="screen-reader-text"><?php esc_html_e('Deselect'); ?></span>
326
+ </button>
327
+ </li>
328
+ <?php endforeach; ?>
329
+ </ul>
330
+ </div>
331
+ </div>
332
+ <div class="media-frame-toolbar">
333
+ <div class="media-toolbar">
334
+ <div class="media-toolbar-secondary"></div>
335
+ <div class="media-toolbar-primary search-form">
336
+ <button type="button" class="button media-button button-large button-primary media-button-select save"><?php esc_html_e('Save'); ?></button>
337
+ <button type="button" class="button media-button button-large button-secondary remove"><?php esc_html_e('Remove'); ?></button>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ </div>
342
+ </div>
343
+ </div>
344
+ </div>
345
+ </script>
346
+ <?php
347
+ }
348
+
349
+ function filter_pre_update_option($value, $old_value, $option) {
350
+
351
+ global $qlwapp;
352
+
353
+ if (isset($value['display'])) {
354
+ unset($qlwapp['display']);
355
+ }
356
+
357
+ if (isset($value['contacts'])) {
358
+ unset($qlwapp['contacts']);
359
+ }
360
+
361
+ return $this->wp_parse_args($value, $qlwapp);
362
+ }
363
+
364
+ function add_notices() {
365
+
366
+ if (!get_transient('qlwapp-first-rating') && !get_user_meta(get_current_user_id(), 'qlwapp-user-rating', true)) {
367
+ ?>
368
+ <div id="qlwapp-admin-rating" class="qlwapp-notice notice is-dismissible" data-notice_id="qlwapp-user-rating">
369
+ <div class="notice-container" style="padding-top: 10px; padding-bottom: 10px; display: flex; justify-content: left; align-items: center;">
370
+ <div class="notice-image">
371
+ <img style="border-radius:50%;max-width: 90px;" src="<?php echo plugins_url('/assets/img/logo.jpg', QLWAPP_PLUGIN_FILE); ?>" alt="<?php echo esc_html(QLWAPP_PLUGIN_NAME); ?>>">
372
+ </div>
373
+ <div class="notice-content" style="margin-left: 15px;">
374
+ <p>
375
+ <?php printf(esc_html__('Hello! Thank you for choosing the %s plugin!', 'qlwapp'), QLWAPP_PLUGIN_NAME); ?>
376
+ <br/>
377
+ <?php esc_html_e('Could you please give it a 5-star rating on WordPress? We know its a big favor, but we\'ve worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product.', 'qlwapp'); ?>
378
+ </p>
379
+ <a href="<?php echo esc_url(QLWAPP_REVIEW_URL); ?>" class="button-primary" target="_blank">
380
+ <?php esc_html_e('Yes, of course!', 'qlwapp'); ?>
381
+ </a>
382
+ <a href="<?php echo esc_url(QLWAPP_SUPPORT_URL); ?>" class="button-secondary" target="_blank">
383
+ <?php esc_html_e('Report a bug', 'qlwapp'); ?>
384
+ </a>
385
+ </div>
386
+ </div>
387
+ </div>
388
+ <script>
389
+ (function ($) {
390
+ $('.qlwapp-notice').on('click', '.notice-dismiss', function (e) {
391
+ e.preventDefault();
392
+ var notice_id = $(e.delegateTarget).data('notice_id');
393
+ $.ajax({
394
+ type: 'POST',
395
+ url: ajaxurl,
396
+ data: {
397
+ notice_id: notice_id,
398
+ action: 'qlwapp_dismiss_notice',
399
+ },
400
+ success: function (response) {
401
+ console.log(response);
402
+ },
403
+ });
404
+ });
405
+ })(jQuery);
406
+ </script>
407
+ <?php
408
+ }
409
+ }
410
+
411
+ function add_css() {
412
+ ?>
413
+ <style>
414
+ @font-face {
415
+ font-family: 'qlwf-whatsapp';
416
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
417
+ font-weight: normal;
418
+ font-style: normal;
419
+ }
420
+
421
+ #toplevel_page_qlwapp .dashicons-before.dashicons-format-chat:before {
422
+ font-family: 'qlwf-whatsapp' !important;
423
+ speak: none;
424
+ font-style: normal;
425
+ font-weight: normal;
426
+ font-variant: normal;
427
+ text-transform: none;
428
+ line-height: 1;
429
+ -webkit-font-smoothing: antialiased;
430
+ -moz-osx-font-smoothing: grayscale;
431
+ content: "\e900";
432
+ font-size: 17px;
433
+ line-height: 20px;
434
+ }
435
+ </style>
436
+ <?php
437
+ }
438
+
439
+ function add_js() {
440
+ if (isset($_GET['page']) && strpos($_GET['page'], 'qlwapp') !== false) {
441
+ wp_enqueue_style('qlwapp-admin', plugins_url('/assets/css/qlwapp-admin.min.css', QLWAPP_PLUGIN_FILE), array('wp-color-picker'), QLWAPP_PLUGIN_VERSION, 'all');
442
+ wp_enqueue_media();
443
+ wp_enqueue_script('qlwapp-select2', plugins_url('/assets/js/select2.min.js', QLWAPP_PLUGIN_FILE), array('jquery'), QLWAPP_PLUGIN_VERSION);
444
+ wp_enqueue_script('qlwapp-admin', plugins_url('/assets/js/qlwapp-admin.min.js', QLWAPP_PLUGIN_FILE), array('jquery', 'wp-color-picker'), QLWAPP_PLUGIN_VERSION);
445
+ }
446
+ }
447
+
448
+ function init() {
449
+ add_action('wp_ajax_qlwapp_get_posts', array($this, 'ajax_get_posts'));
450
+ add_action('wp_ajax_qlwapp_dismiss_notice', array($this, 'ajax_dismiss_notice'));
451
+ add_action('admin_enqueue_scripts', array($this, 'add_js'));
452
+ add_action('admin_notices', array($this, 'add_notices'));
453
+ add_action('admin_head', array($this, 'add_css'));
454
+ add_action('admin_menu', array($this, 'add_menu'));
455
+ add_action('admin_init', array($this, 'add_settings_register'));
456
+ add_action('print_media_templates', array($this, 'add_print_media_templates'));
457
+ add_filter('pre_update_option_' . sanitize_key(QLWAPP_DOMAIN), array($this, 'filter_pre_update_option'), -1, 3);
458
+ add_filter('plugin_action_links_' . plugin_basename(QLWAPP_PLUGIN_FILE), array($this, 'add_action_links'));
459
+ }
460
+
461
+ public static function instance() {
462
+ if (!isset(self::$instance)) {
463
+ self::$instance = new self();
464
+ self::$instance->defaults();
465
+ self::$instance->init();
466
+ }
467
+ return self::$instance;
468
+ }
469
+
470
+ }
471
+
472
+ QLWAPP_Settings::instance();
473
+ }
4.2.4/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
4.2.4/languages/qlwapp-es_ES.mo ADDED
Binary file
4.2.4/languages/qlwapp-es_ES.po ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of Plugins - WhatsApp Chat WP - Development (trunk) in Spanish (Spain)
2
+ # This file is distributed under the same license as the Plugins - WhatsApp Chat WP - Development (trunk) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "PO-Revision-Date: 2019-04-18 19:13-0300\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=n != 1;\n"
10
+ "X-Generator: Poedit 1.8.1\n"
11
+ "Language: es\n"
12
+ "Project-Id-Version: Plugins - WhatsApp Chat WP - Development (trunk)\n"
13
+ "POT-Creation-Date: \n"
14
+ "Last-Translator: \n"
15
+ "Language-Team: \n"
16
+
17
+ #: includes/defaults.php:47
18
+ msgid "Write a response"
19
+ msgstr "Escribe una respuesta"
20
+
21
+ #: includes/pages/box.php:31
22
+ msgid "Write a response text."
23
+ msgstr "Escribe un texto de respuesta."
24
+
25
+ #: includes/pages/box.php:28
26
+ msgid "Response"
27
+ msgstr "Respuesta"
28
+
29
+ #: includes/settings.php:27
30
+ msgid "Settings"
31
+ msgstr "Ajustes"
32
+
33
+ #: template/box.php:47
34
+ msgid "Powered by QuadLayers"
35
+ msgstr "Desarrollado por QuadLayers"
36
+
37
+ #: includes/defaults.php:57
38
+ msgid "Hello! I'm John from the support team."
39
+ msgstr "¡Hola! Soy John, del equipo de soporte."
40
+
41
+ #: includes/defaults.php:34
42
+ msgid "How can I help you?"
43
+ msgstr "¿Cómo puedo ayudarte?"
44
+
45
+ #: includes/defaults.php:29
46
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
47
+ msgstr "¡Hola! Estoy probando el plugin WhatsApp Chat @https://quadlayers.com"
48
+
49
+ #: includes/settings.php:383
50
+ msgid "Report a bug"
51
+ msgstr "Informar de un fallo"
52
+
53
+ #: includes/settings.php:380
54
+ msgid "Yes, of course!"
55
+ msgstr "¡Sí, por supuesto!"
56
+
57
+ #: includes/settings.php:377
58
+ msgid "Could you please give it a 5-star rating on WordPress? We know its a big favor, but we've worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product."
59
+ msgstr "¿Podrías darle una calificación de 5 estrellas en WordPress? Sabemos que es un gran favor, pero hemos trabajado mucho y muy duro para lanzar este gran producto. Tus comentarios aumentarán nuestra motivación y nos ayudarán a promocionar y continuar mejorando este producto."
60
+
61
+ #: includes/settings.php:375
62
+ msgid "Hello! Thank you for choosing the %s plugin!"
63
+ msgstr "¡Hola! ¡Gracias por elegir el plugin %s!"
64
+
65
+ #: includes/settings.php:337
66
+ msgid "Remove"
67
+ msgstr "Eliminar"
68
+
69
+ #: includes/settings.php:336
70
+ msgid "Save"
71
+ msgstr "Guardar"
72
+
73
+ #: includes/settings.php:325
74
+ msgid "Deselect"
75
+ msgstr "Anular selección"
76
+
77
+ #: includes/settings.php:309
78
+ msgid "Featured Image"
79
+ msgstr "Imagen destacada"
80
+
81
+ #: includes/settings.php:302
82
+ msgid "Select icon"
83
+ msgstr "Seleccionar icono"
84
+
85
+ #: includes/settings.php:293
86
+ msgid "Close media panel"
87
+ msgstr "Cerrar el panel de medios"
88
+
89
+ #: includes/settings.php:271
90
+ msgid "Disabled"
91
+ msgstr "Desactivado"
92
+
93
+ #: includes/settings.php:270
94
+ msgid "Enabled"
95
+ msgstr "Activado"
96
+
97
+ #: includes/settings.php:256
98
+ msgid "Lastname"
99
+ msgstr "Apellido"
100
+
101
+ #: includes/settings.php:254
102
+ msgid "Firstname"
103
+ msgstr "Nombre"
104
+
105
+ #: includes/settings.php:246
106
+ msgid "Upload"
107
+ msgstr "Subir"
108
+
109
+ #: includes/settings.php:101
110
+ msgid "QuadLayers"
111
+ msgstr "QuadLayers"
112
+
113
+ #: includes/settings.php:82
114
+ msgid "Check out our demo"
115
+ msgstr "Ver nuestra demo"
116
+
117
+ #: includes/settings.php:79
118
+ msgid "Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users."
119
+ msgstr "¡Gracias por utilizar WhatsApp Chat! Haremos todo lo posible para ofrecerte la mejor experiencia de comunicación con tus usuarios."
120
+
121
+ #: includes/settings.php:61
122
+ msgid "Colors"
123
+ msgstr "Colores"
124
+
125
+ #: includes/settings.php:60
126
+ msgid "Display"
127
+ msgstr "Mostrar"
128
+
129
+ #: includes/settings.php:59
130
+ msgid "Box"
131
+ msgstr "Caja"
132
+
133
+ #: includes/settings.php:57
134
+ msgid "Welcome"
135
+ msgstr "Bienvenido"
136
+
137
+ #: includes/pages/button.php:77
138
+ msgid "Leave a discrete link to developer to help and keep new updates and support."
139
+ msgstr "Deja un enlace discreto al desarrollador para ayudar y mantener nuevas actualizaciones y el soporte."
140
+
141
+ #: includes/pages/button.php:75
142
+ msgid "Hide developer link"
143
+ msgstr "Ocultar enlace de desarrollador"
144
+
145
+ #: includes/pages/button.php:74
146
+ msgid "Show developer link"
147
+ msgstr "Mostrar enlace de desarrollador"
148
+
149
+ #: includes/pages/button.php:71
150
+ msgid "Discreet link"
151
+ msgstr "Enlace discreto"
152
+
153
+ #: includes/pages/button.php:67
154
+ msgid "Message that will automatically appear in the text field of a chat."
155
+ msgstr "Mensaje que aparecerá automáticamente en el campo de texto del chat."
156
+
157
+ #: includes/pages/button.php:57
158
+ msgid "Add Icon"
159
+ msgstr "Añadir icono"
160
+
161
+ #: includes/pages/button.php:54
162
+ msgid "Icon"
163
+ msgstr "Icono"
164
+
165
+ #: includes/pages/button.php:49
166
+ msgid "Full phone number in international format."
167
+ msgstr "Número de teléfono completo en formato internacional."
168
+
169
+ #: includes/pages/button.php:42
170
+ msgid "Customize your text."
171
+ msgstr "Personaliza tu texto."
172
+
173
+ #: includes/pages/button.php:39
174
+ msgid "Text"
175
+ msgstr "Texto"
176
+
177
+ #: includes/pages/button.php:35
178
+ msgid "Switch to change the button position."
179
+ msgstr "Cambiar la posición del botón."
180
+
181
+ #: includes/pages/button.php:33
182
+ msgid "Bottom Right"
183
+ msgstr "Abajo a la derecha"
184
+
185
+ #: includes/pages/button.php:32
186
+ msgid "Bottom Left"
187
+ msgstr "Abajo a la izquierda"
188
+
189
+ #: includes/pages/button.php:31
190
+ msgid "Middle Right"
191
+ msgstr "Centrado a la derecha"
192
+
193
+ #: includes/pages/button.php:30
194
+ msgid "Middle Left"
195
+ msgstr "Centrado a la izquierda"
196
+
197
+ #: includes/pages/button.php:27
198
+ msgid "Position"
199
+ msgstr "Posición"
200
+
201
+ #: includes/pages/button.php:23
202
+ msgid "Add rounded border to the button."
203
+ msgstr "Añadir borde redondeado al botón."
204
+
205
+ #: includes/pages/button.php:21
206
+ msgid "Remove rounded border"
207
+ msgstr "Quitar el borde redondeado"
208
+
209
+ #: includes/pages/button.php:20
210
+ msgid "Add rounded border"
211
+ msgstr "Añadir borde redondeado"
212
+
213
+ #: includes/pages/button.php:17
214
+ msgid "Rounded"
215
+ msgstr "Redondeado"
216
+
217
+ #: includes/pages/button.php:13
218
+ msgid "Switch to change the button layout."
219
+ msgstr "Cambiar el diseño del botón."
220
+
221
+ #: includes/pages/button.php:11
222
+ msgid "Bubble"
223
+ msgstr "Burbuja"
224
+
225
+ #: includes/settings.php:58 includes/pages/button.php:10
226
+ msgid "Button"
227
+ msgstr "Botón"
228
+
229
+ #: includes/pages/button.php:7
230
+ msgid "Layout"
231
+ msgstr "Diseño"
232
+
233
+ #: includes/pages/welcome.php:29
234
+ msgid "Submit ticket"
235
+ msgstr "Enviar un ticket"
236
+
237
+ #: includes/pages/welcome.php:27
238
+ msgid "If you have any doubt or you find any issue don't hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users."
239
+ msgstr "Si tienes alguna duda o si encuentras algún problema, no dudes en contactar con nosotros a través de nuestro sistema de tickets o unirte a nuestra comunidad para conocer a otros usuarios de WhatsApp Chat."
240
+
241
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
242
+ msgid "Support"
243
+ msgstr "Soporte"
244
+
245
+ #: includes/pages/welcome.php:22
246
+ msgid "View demo"
247
+ msgstr "Ver demo"
248
+
249
+ #: includes/pages/welcome.php:20
250
+ msgid "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version."
251
+ msgstr "¡Gracias por elegir nuestro plugin WhatsApp Chat para WordPress! Aquí puedes ver nuestra demo y una descripción de las características que ofrecemos en la versión premium."
252
+
253
+ #: includes/pages/welcome.php:18
254
+ msgid "Demo"
255
+ msgstr "Demo"
256
+
257
+ #: includes/pages/welcome.php:15
258
+ msgid "Join us"
259
+ msgstr "Únete a nosotros"
260
+
261
+ #: includes/pages/welcome.php:13
262
+ msgid "If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now."
263
+ msgstr "Si deseas ponerse en contacto con otros usuarios de WhatsApp Chat o conocer nuestros descuentos promocionales, únete a nuestra comunidad ahora."
264
+
265
+ #: includes/pages/welcome.php:11
266
+ msgid "Community"
267
+ msgstr "Comunidad"
268
+
269
+ #: includes/pages/welcome.php:6
270
+ msgid "Hello we're QuadLayers! We've recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues."
271
+ msgstr "Hola somos QuadLayers! Recientemente hemos adquirido este plugin y esta es la primera actualización. Hemos trabajado mucho y es muy duro para su lanzamiento, y haremos todo lo posible para dar el mejor soporte y solucionar todos los problemas."
272
+
273
+ #: includes/pages/box.php:63
274
+ msgid "Actions"
275
+ msgstr "Acciones"
276
+
277
+ #: includes/settings.php:267 includes/pages/box.php:62
278
+ msgid "Chat"
279
+ msgstr "Chat"
280
+
281
+ #: includes/settings.php:260 includes/pages/box.php:58
282
+ #: includes/pages/button.php:46
283
+ msgid "Phone"
284
+ msgstr "Teléfono"
285
+
286
+ #: includes/pages/box.php:57
287
+ msgid "Avatar"
288
+ msgstr "Avatar"
289
+
290
+ #: includes/pages/box.php:51
291
+ msgid "Add Contact"
292
+ msgstr "Añadir contacto"
293
+
294
+ #: includes/pages/box.php:44
295
+ msgid "Save Contact"
296
+ msgstr "Guardar contacto"
297
+
298
+ #: includes/pages/box.php:36
299
+ msgid "Contacts"
300
+ msgstr "Contactos"
301
+
302
+ #: includes/pages/box.php:22
303
+ msgid "Footer"
304
+ msgstr "Pie de página"
305
+
306
+ #: includes/pages/box.php:16
307
+ msgid "Header"
308
+ msgstr "Cabecera"
309
+
310
+ #: includes/pages/box.php:11
311
+ msgid "Disable contact box"
312
+ msgstr "Desactivar caja de contactos"
313
+
314
+ #: includes/pages/box.php:10
315
+ msgid "Enable contact box"
316
+ msgstr "Activar caja de contactos"
317
+
318
+ #: includes/pages/box.php:7
319
+ msgid "Disable"
320
+ msgstr "Desactivar"
321
+
322
+ #: includes/pages/purchase.php:68
323
+ msgid "Allow your users to type their own messages before send it to the agent phone number."
324
+ msgstr "Permite que tus usuarios escriban sus propios mensajes antes de enviarlos al número de teléfono del agente."
325
+
326
+ #: includes/pages/purchase.php:66
327
+ msgid "Type user message"
328
+ msgstr "Escribe el mensaje de usuario"
329
+
330
+ #: includes/pages/purchase.php:62
331
+ msgid "You can choose the predefined user message that will be sent to the agent phone number."
332
+ msgstr "Puedes elegir el mensaje de usuario predefinido que se enviará al número de teléfono del agente."
333
+
334
+ #: includes/pages/purchase.php:60
335
+ msgid "Custom user message"
336
+ msgstr "Mensaje de usuario personalizado"
337
+
338
+ #: includes/pages/purchase.php:56
339
+ msgid "Allow you to set a custom message for each agent that will displayed on the chatbox."
340
+ msgstr "Te permite establecer un mensaje personalizado para cada agente que se mostrará en la caja de chat."
341
+
342
+ #: includes/pages/purchase.php:54
343
+ msgid "Custom agent message"
344
+ msgstr "Mensaje del agente personalizado"
345
+
346
+ #: includes/pages/purchase.php:48
347
+ msgid "WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message."
348
+ msgstr "WhatsApp Chat para WordPress te permite incluir una caja de chat para cada agente donde tus usuarios pueden escribir su primer mensaje."
349
+
350
+ #: includes/pages/purchase.php:46
351
+ msgid "Chatbox interface"
352
+ msgstr "Interfaz de chat"
353
+
354
+ #: includes/pages/purchase.php:29
355
+ msgid "Our plugin allows you to select between more than fourty icons to include in your Whatsapp button."
356
+ msgstr "Nuestro plugin te permite seleccionar entre más de cuarenta iconos para incluir en tu botón de WhatsApp."
357
+
358
+ #: includes/pages/purchase.php:27
359
+ msgid "Custom icons"
360
+ msgstr "Iconos personalizados"
361
+
362
+ #: includes/pages/purchase.php:23
363
+ msgid "Customize the colors to match site’s theme colors through the WordPress live customizer interface."
364
+ msgstr "Personaliza los colores para que coincidan con los colores del tema de tu sitio a través del personalizador de WordPress."
365
+
366
+ #: includes/pages/purchase.php:21
367
+ msgid "Customize colors"
368
+ msgstr "Personalizar colores"
369
+
370
+ #: includes/pages/purchase.php:17
371
+ msgid "WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
372
+ msgstr "WhatsApp Chat te permite incluir cuentas de agentes ilimitadas con sus nombres y etiquetas dentro de la caja para proporcionar un contacto directo hacia las diferentes áreas de soporte de tu sitio."
373
+
374
+ #: includes/pages/purchase.php:15
375
+ msgid "Multiple agents"
376
+ msgstr "Múltiples agentes"
377
+
378
+ #: includes/pages/purchase.php:11
379
+ msgid "Get Support"
380
+ msgstr "Obtener soporte"
381
+
382
+ #: includes/pages/purchase.php:10
383
+ msgid "Purchase Now"
384
+ msgstr "Comprar ahora"
385
+
386
+ #: includes/pages/purchase.php:7
387
+ msgid "Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
388
+ msgstr "Desbloquea la potencia de la version premium de WhatsApp Chat que te permite incluir cuentas de agentes ilimitadas con sus nombres y etiquetas para proporcionar un contacto directo a las diferentes áreas de soporte de tu sitio."
389
+
390
+ #: includes/settings.php:25 includes/settings.php:62
391
+ #: includes/pages/purchase.php:5
392
+ msgid "Premium"
393
+ msgstr "Premium"
394
+
395
+ #: includes/pages/display.php:50
396
+ msgid "Archive"
397
+ msgstr "Archivo"
398
+
399
+ #: includes/pages/display.php:48
400
+ msgid "Select for %s&hellip;"
401
+ msgstr "Selecciona para %s&hellip;"
402
+
403
+ #: includes/pages/display.php:27
404
+ msgid "If you select an option all the other will be excluded"
405
+ msgstr "Si seleccionas una opción, todas las demás serán excluidas."
406
+
407
+ #: includes/pages/display.php:24
408
+ msgid "Search"
409
+ msgstr "Buscar"
410
+
411
+ #: includes/pages/display.php:23
412
+ msgid "Blog"
413
+ msgstr "Blog"
414
+
415
+ #: includes/pages/display.php:22
416
+ msgid "Home"
417
+ msgstr "Inicio"
418
+
419
+ #: includes/settings.php:35 includes/pages/display.php:21
420
+ #: includes/pages/display.php:49 includes/pages/display.php:97
421
+ msgid "Exclude from all"
422
+ msgstr "Excluir de todos"
423
+
424
+ #: includes/pages/display.php:18
425
+ msgid "Target"
426
+ msgstr "Target"
427
+
428
+ #: includes/pages/display.php:13
429
+ msgid "Hide in all devices"
430
+ msgstr "Ocultar en todos los dispositivos"
431
+
432
+ #: includes/pages/display.php:12
433
+ msgid "Show in desktop devices"
434
+ msgstr "Mostrar en dispositivos de escritorio"
435
+
436
+ #: includes/pages/display.php:11
437
+ msgid "Show in mobile devices"
438
+ msgstr "Mostrar en dispositivos móviles"
439
+
440
+ #: includes/pages/display.php:10
441
+ msgid "Show in all devices"
442
+ msgstr "Mostrar en todos los dispositivos"
443
+
444
+ #: includes/pages/display.php:7
445
+ msgid "Devices"
446
+ msgstr "Dispositivos"
447
+
448
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
449
+ msgid "Name"
450
+ msgstr "Name"
451
+
452
+ #: includes/settings.php:261 includes/pages/box.php:60
453
+ #: includes/pages/colors.php:33
454
+ msgid "Label"
455
+ msgstr "Etiqueta"
456
+
457
+ #: includes/settings.php:276 includes/pages/box.php:61
458
+ #: includes/pages/colors.php:26 includes/pages/button.php:64
459
+ msgid "Message"
460
+ msgstr "Mensaje"
461
+
462
+ #: includes/pages/display.php:72 includes/pages/box.php:52
463
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
464
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
465
+ #: includes/pages/button.php:58
466
+ msgid "This is a premium feature"
467
+ msgstr "Esta es una característica premium"
468
+
469
+ #: includes/pages/colors.php:19
470
+ msgid "Link"
471
+ msgstr "Enlace"
472
+
473
+ #: includes/pages/colors.php:13
474
+ msgid "Color"
475
+ msgstr "Color"
476
+
477
+ #: includes/pages/colors.php:7
478
+ msgid "Background"
479
+ msgstr "Fondo"
480
+
481
+ #. Author URI of the plugin
482
+ msgid "https://quadlayers.com"
483
+ msgstr "https://quadlayers.com"
484
+
485
+ #. Author of the plugin
486
+ #: includes/settings.php:77 includes/settings.php:298
487
+ msgid "WhatsApp Chat"
488
+ msgstr "WhatsApp Chat"
489
+
490
+ #. Description of the plugin
491
+ msgid "Send messages directly to your WhatsApp phone number."
492
+ msgstr "Envía mensajes directamente a tu número de teléfono de WhatsApp."
493
+
494
+ #. Plugin Name of the plugin
495
+ msgid "WhatsApp Chat WP"
496
+ msgstr "WhatsApp Chat WP"
4.2.4/languages/qlwapp-pt_BR.mo ADDED
Binary file
4.2.4/languages/qlwapp-pt_BR.po ADDED
@@ -0,0 +1,496 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Translation of Plugins - WhatsApp Chat WP - Development (trunk) in Portuguese (Brazil)
2
+ # This file is distributed under the same license as the Plugins - WhatsApp Chat WP - Development (trunk) package.
3
+ msgid ""
4
+ msgstr ""
5
+ "PO-Revision-Date: 2019-04-20 19:48-0300\n"
6
+ "MIME-Version: 1.0\n"
7
+ "Content-Type: text/plain; charset=UTF-8\n"
8
+ "Content-Transfer-Encoding: 8bit\n"
9
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
10
+ "X-Generator: Poedit 1.8.1\n"
11
+ "Language: pt_BR\n"
12
+ "Project-Id-Version: Plugins - WhatsApp Chat WP - Development (trunk)\n"
13
+ "POT-Creation-Date: \n"
14
+ "Last-Translator: \n"
15
+ "Language-Team: \n"
16
+
17
+ #: includes/defaults.php:47
18
+ msgid "Write a response"
19
+ msgstr "Escreva sua mensagem"
20
+
21
+ #: includes/pages/box.php:31
22
+ msgid "Write a response text."
23
+ msgstr "Escreva um texto de resposta."
24
+
25
+ #: includes/pages/box.php:28
26
+ msgid "Response"
27
+ msgstr "Resposta"
28
+
29
+ #: includes/settings.php:27
30
+ msgid "Settings"
31
+ msgstr "Configurações"
32
+
33
+ #: template/box.php:47
34
+ msgid "Powered by QuadLayers"
35
+ msgstr "Movido por QuadLayers"
36
+
37
+ #: includes/defaults.php:57
38
+ msgid "Hello! I'm John from the support team."
39
+ msgstr "Oi! Eu sou John do suporte."
40
+
41
+ #: includes/defaults.php:34
42
+ msgid "How can I help you?"
43
+ msgstr "Como posso te ajudar?"
44
+
45
+ #: includes/defaults.php:29
46
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
47
+ msgstr "Oi! Estou testando o plugin de chat do WhatsApp @https://quadlayers.com"
48
+
49
+ #: includes/settings.php:383
50
+ msgid "Report a bug"
51
+ msgstr "Informar um erro"
52
+
53
+ #: includes/settings.php:380
54
+ msgid "Yes, of course!"
55
+ msgstr "Claro!"
56
+
57
+ #: includes/settings.php:377
58
+ msgid "Could you please give it a 5-star rating on WordPress? We know its a big favor, but we've worked very much and very hard to release this great product. Your feedback will boost our motivation and help us promote and continue to improve this product."
59
+ msgstr "Você poderia nos avaliar com 5 estrelas no WordPress? Sabemos que é um grande favor, mas trabalhamos muito para entregar esse produto. Seu feedback vai nos ajudar a continuar melhorando ele."
60
+
61
+ #: includes/settings.php:375
62
+ msgid "Hello! Thank you for choosing the %s plugin!"
63
+ msgstr "Oi! Obrigado por escolher o %s plugin!"
64
+
65
+ #: includes/settings.php:337
66
+ msgid "Remove"
67
+ msgstr "Apagar"
68
+
69
+ #: includes/settings.php:336
70
+ msgid "Save"
71
+ msgstr "Salvar"
72
+
73
+ #: includes/settings.php:325
74
+ msgid "Deselect"
75
+ msgstr "Não selecionar"
76
+
77
+ #: includes/settings.php:309
78
+ msgid "Featured Image"
79
+ msgstr "Imagem destacada"
80
+
81
+ #: includes/settings.php:302
82
+ msgid "Select icon"
83
+ msgstr "Selecione o ícone"
84
+
85
+ #: includes/settings.php:293
86
+ msgid "Close media panel"
87
+ msgstr "Fechar o painel de mídia"
88
+
89
+ #: includes/settings.php:271
90
+ msgid "Disabled"
91
+ msgstr "Desabilitado"
92
+
93
+ #: includes/settings.php:270
94
+ msgid "Enabled"
95
+ msgstr "Habilitado"
96
+
97
+ #: includes/settings.php:256
98
+ msgid "Lastname"
99
+ msgstr "Último nome"
100
+
101
+ #: includes/settings.php:254
102
+ msgid "Firstname"
103
+ msgstr "Primeiro nome"
104
+
105
+ #: includes/settings.php:246
106
+ msgid "Upload"
107
+ msgstr "Enviar"
108
+
109
+ #: includes/settings.php:101
110
+ msgid "QuadLayers"
111
+ msgstr "QuadLayers"
112
+
113
+ #: includes/settings.php:82
114
+ msgid "Check out our demo"
115
+ msgstr "Confira nossa demonstração"
116
+
117
+ #: includes/settings.php:79
118
+ msgid "Thanks for using WhatsApp Chat! We will do our best to offer you the best and improved communication experience with your users."
119
+ msgstr "Agradecemos por usar o WhatsApp Chat! Nós fazemos o nosso melhor para oferecer a melhor experiência de comunicação para nossos usuários."
120
+
121
+ #: includes/settings.php:61
122
+ msgid "Colors"
123
+ msgstr "Cores"
124
+
125
+ #: includes/settings.php:60
126
+ msgid "Display"
127
+ msgstr "Exibir"
128
+
129
+ #: includes/settings.php:59
130
+ msgid "Box"
131
+ msgstr "Caixa"
132
+
133
+ #: includes/settings.php:57
134
+ msgid "Welcome"
135
+ msgstr "Bem-vindo"
136
+
137
+ #: includes/pages/button.php:77
138
+ msgid "Leave a discrete link to developer to help and keep new updates and support."
139
+ msgstr "Deixe um link discreto para o desenvolvedor para ajudar e manter novas atualizações e suporte."
140
+
141
+ #: includes/pages/button.php:75
142
+ msgid "Hide developer link"
143
+ msgstr "Ocultar link do desenvolvedor"
144
+
145
+ #: includes/pages/button.php:74
146
+ msgid "Show developer link"
147
+ msgstr "Mostrar link do desenvolvedor"
148
+
149
+ #: includes/pages/button.php:71
150
+ msgid "Discreet link"
151
+ msgstr "Link discreto"
152
+
153
+ #: includes/pages/button.php:67
154
+ msgid "Message that will automatically appear in the text field of a chat."
155
+ msgstr "Mensagem que aparecerá automaticamente no campo de texto do chat."
156
+
157
+ #: includes/pages/button.php:57
158
+ msgid "Add Icon"
159
+ msgstr "Adicionar ícone"
160
+
161
+ #: includes/pages/button.php:54
162
+ msgid "Icon"
163
+ msgstr "Ícone"
164
+
165
+ #: includes/pages/button.php:49
166
+ msgid "Full phone number in international format."
167
+ msgstr "Número de telefone completo em formato internacional."
168
+
169
+ #: includes/pages/button.php:42
170
+ msgid "Customize your text."
171
+ msgstr "Personalize o texto do botão Trocar nome de usuário."
172
+
173
+ #: includes/pages/button.php:39
174
+ msgid "Text"
175
+ msgstr "Texto"
176
+
177
+ #: includes/pages/button.php:35
178
+ msgid "Switch to change the button position."
179
+ msgstr "Mude para alterar a posição do botão."
180
+
181
+ #: includes/pages/button.php:33
182
+ msgid "Bottom Right"
183
+ msgstr "Base à direita"
184
+
185
+ #: includes/pages/button.php:32
186
+ msgid "Bottom Left"
187
+ msgstr "Em baixo à esquerda"
188
+
189
+ #: includes/pages/button.php:31
190
+ msgid "Middle Right"
191
+ msgstr "Meio á direita"
192
+
193
+ #: includes/pages/button.php:30
194
+ msgid "Middle Left"
195
+ msgstr "Meio à esquerda"
196
+
197
+ #: includes/pages/button.php:27
198
+ msgid "Position"
199
+ msgstr "Posição"
200
+
201
+ #: includes/pages/button.php:23
202
+ msgid "Add rounded border to the button."
203
+ msgstr "Adicione a borda arredondada ao botão."
204
+
205
+ #: includes/pages/button.php:21
206
+ msgid "Remove rounded border"
207
+ msgstr "Remover borda arredondada"
208
+
209
+ #: includes/pages/button.php:20
210
+ msgid "Add rounded border"
211
+ msgstr "Adicionar borda arredondada"
212
+
213
+ #: includes/pages/button.php:17
214
+ msgid "Rounded"
215
+ msgstr "Arredondado"
216
+
217
+ #: includes/pages/button.php:13
218
+ msgid "Switch to change the button layout."
219
+ msgstr "Mude para alterar o layout do botão."
220
+
221
+ #: includes/pages/button.php:11
222
+ msgid "Bubble"
223
+ msgstr "Bolha"
224
+
225
+ #: includes/settings.php:58 includes/pages/button.php:10
226
+ msgid "Button"
227
+ msgstr "Botão"
228
+
229
+ #: includes/pages/button.php:7
230
+ msgid "Layout"
231
+ msgstr "Layout"
232
+
233
+ #: includes/pages/welcome.php:29
234
+ msgid "Submit ticket"
235
+ msgstr "Enviar chamado"
236
+
237
+ #: includes/pages/welcome.php:27
238
+ msgid "If you have any doubt or you find any issue don't hesitate to contact us through our ticket system or join our community to meet other WhatsApp Chat users."
239
+ msgstr "Se você tiver alguma dúvida ou encontrar qualquer problema, não hesite em nos contactar através do nosso sistema de chamados ou entrar em nossa comunidade para encontrar outros usuários do WhatsApp Chat."
240
+
241
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
242
+ msgid "Support"
243
+ msgstr "Ajuda"
244
+
245
+ #: includes/pages/welcome.php:22
246
+ msgid "View demo"
247
+ msgstr "Ver demonstração"
248
+
249
+ #: includes/pages/welcome.php:20
250
+ msgid "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can see our demo and a description about the features we offer in the premium version."
251
+ msgstr "Agradecemos por escolher o nosso plugin WhatsApp Chat para WordPress! Aqui você pode ver a nossa demonstração e uma descrição sobre os recursos que oferecemos na versão Premium."
252
+
253
+ #: includes/pages/welcome.php:18
254
+ msgid "Demo"
255
+ msgstr "Demonstração"
256
+
257
+ #: includes/pages/welcome.php:15
258
+ msgid "Join us"
259
+ msgstr "Junte-se a nós"
260
+
261
+ #: includes/pages/welcome.php:13
262
+ msgid "If you want to get in touch with other WhatsApp Chat users or be aware of our promotional discounts join our community now."
263
+ msgstr "Se você quiser entrar em contato com outros usuários do WhatsApp Chat, ou estar ciente de nossos descontos promocionais, junte-se à nossa comunidade agora mesmo."
264
+
265
+ #: includes/pages/welcome.php:11
266
+ msgid "Community"
267
+ msgstr "Comunidade"
268
+
269
+ #: includes/pages/welcome.php:6
270
+ msgid "Hello we're QuadLayers! We've recently acquired this plugin and this is the first update. We have worked very much and very hard to release it, and we will do our absolute best to support it and fix all the issues."
271
+ msgstr "Olá nós somos a QuadLayers! Nós adquirimos recentemente este plugin e esta é a primeira atualização. Temos trabalhado muito e muito duro para liberá-lo, e vamos fazer o nosso melhor para fornecer suporte e corrigir todos os problemas."
272
+
273
+ #: includes/pages/box.php:63
274
+ msgid "Actions"
275
+ msgstr "Ações"
276
+
277
+ #: includes/settings.php:267 includes/pages/box.php:62
278
+ msgid "Chat"
279
+ msgstr "Chat"
280
+
281
+ #: includes/settings.php:260 includes/pages/box.php:58
282
+ #: includes/pages/button.php:46
283
+ msgid "Phone"
284
+ msgstr "Telefone"
285
+
286
+ #: includes/pages/box.php:57
287
+ msgid "Avatar"
288
+ msgstr "Avatar"
289
+
290
+ #: includes/pages/box.php:51
291
+ msgid "Add Contact"
292
+ msgstr "Adicionar contato"
293
+
294
+ #: includes/pages/box.php:44
295
+ msgid "Save Contact"
296
+ msgstr "Salvar contato"
297
+
298
+ #: includes/pages/box.php:36
299
+ msgid "Contacts"
300
+ msgstr "Contatos"
301
+
302
+ #: includes/pages/box.php:22
303
+ msgid "Footer"
304
+ msgstr "Rodapé"
305
+
306
+ #: includes/pages/box.php:16
307
+ msgid "Header"
308
+ msgstr "Cabeçalho"
309
+
310
+ #: includes/pages/box.php:11
311
+ msgid "Disable contact box"
312
+ msgstr "Desativar caixa de contato"
313
+
314
+ #: includes/pages/box.php:10
315
+ msgid "Enable contact box"
316
+ msgstr "Ativar caixa de contato"
317
+
318
+ #: includes/pages/box.php:7
319
+ msgid "Disable"
320
+ msgstr "Desativar"
321
+
322
+ #: includes/pages/purchase.php:68
323
+ msgid "Allow your users to type their own messages before send it to the agent phone number."
324
+ msgstr "Permita que seus usuários digitem suas próprias mensagens antes de enviá-lo para o número de telefone do agente."
325
+
326
+ #: includes/pages/purchase.php:66
327
+ msgid "Type user message"
328
+ msgstr "Escrever mensagem do usuário"
329
+
330
+ #: includes/pages/purchase.php:62
331
+ msgid "You can choose the predefined user message that will be sent to the agent phone number."
332
+ msgstr "Você pode escolher a mensagem de usuário predefinida que será enviada para o número de telefone do agente."
333
+
334
+ #: includes/pages/purchase.php:60
335
+ msgid "Custom user message"
336
+ msgstr "Mensagem personalizada do usuário"
337
+
338
+ #: includes/pages/purchase.php:56
339
+ msgid "Allow you to set a custom message for each agent that will displayed on the chatbox."
340
+ msgstr "Permite que você defina uma mensagem personalizada para cada agente que será exibido na caixa do chat."
341
+
342
+ #: includes/pages/purchase.php:54
343
+ msgid "Custom agent message"
344
+ msgstr "Mensagem personalizada do agente"
345
+
346
+ #: includes/pages/purchase.php:48
347
+ msgid "WhatsApp chat for WordPress allows you to include a chatbox for each agent where your users can type their first message."
348
+ msgstr "O WhatsApp Chat para WordPress permite que você inclua uma caixa de chat para cada agente onde seus usuários podem digitar sua primeira mensagem."
349
+
350
+ #: includes/pages/purchase.php:46
351
+ msgid "Chatbox interface"
352
+ msgstr "Interface do ChatBox"
353
+
354
+ #: includes/pages/purchase.php:29
355
+ msgid "Our plugin allows you to select between more than fourty icons to include in your Whatsapp button."
356
+ msgstr "Nosso plugin permite que você selecione entre mais de quarenta ícones para incluir no seu botão WhatsApp."
357
+
358
+ #: includes/pages/purchase.php:27
359
+ msgid "Custom icons"
360
+ msgstr "Ícones personalizados"
361
+
362
+ #: includes/pages/purchase.php:23
363
+ msgid "Customize the colors to match site’s theme colors through the WordPress live customizer interface."
364
+ msgstr "Personalize as cores para combinar com as cores do tema do site através da interface do customizador ao vivo do WordPress."
365
+
366
+ #: includes/pages/purchase.php:21
367
+ msgid "Customize colors"
368
+ msgstr "Personalizar cores"
369
+
370
+ #: includes/pages/purchase.php:17
371
+ msgid "WhatsApp Chat allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
372
+ msgstr "O WhatsApp Chat permite que você inclua contas de agente ilimitadas com seus nomes e rótulos dentro da caixa para fornecer um contato direto com as diferentes áreas de suporte do seu site."
373
+
374
+ #: includes/pages/purchase.php:15
375
+ msgid "Multiple agents"
376
+ msgstr "Vários agentes"
377
+
378
+ #: includes/pages/purchase.php:11
379
+ msgid "Get Support"
380
+ msgstr "Obter ajuda"
381
+
382
+ #: includes/pages/purchase.php:10
383
+ msgid "Purchase Now"
384
+ msgstr "Compre agora"
385
+
386
+ #: includes/pages/purchase.php:7
387
+ msgid "Unlock the power of our premium WhatsApp Chat plugin wich allows you to include unlimited agent accounts with their names and labels inside the box to provide a direct contact to the different support areas of your site."
388
+ msgstr "Desbloqueie o poder do nosso plugin WhatsApp Chat Premium que permite que você inclua contas de agente ilimitadas com seus nomes e rótulos dentro da caixa para fornecer um contato direto com as diferentes áreas de suporte do seu site."
389
+
390
+ #: includes/settings.php:25 includes/settings.php:62
391
+ #: includes/pages/purchase.php:5
392
+ msgid "Premium"
393
+ msgstr "Premium"
394
+
395
+ #: includes/pages/display.php:50
396
+ msgid "Archive"
397
+ msgstr "Arquivo"
398
+
399
+ #: includes/pages/display.php:48
400
+ msgid "Select for %s&hellip;"
401
+ msgstr "Selecione para %s&hellip;"
402
+
403
+ #: includes/pages/display.php:27
404
+ msgid "If you select an option all the other will be excluded"
405
+ msgstr "Se você selecionar uma opção todas as outras serão excluídas"
406
+
407
+ #: includes/pages/display.php:24
408
+ msgid "Search"
409
+ msgstr "Pesquisar"
410
+
411
+ #: includes/pages/display.php:23
412
+ msgid "Blog"
413
+ msgstr "Blog"
414
+
415
+ #: includes/pages/display.php:22
416
+ msgid "Home"
417
+ msgstr "InÍcio"
418
+
419
+ #: includes/settings.php:35 includes/pages/display.php:21
420
+ #: includes/pages/display.php:49 includes/pages/display.php:97
421
+ msgid "Exclude from all"
422
+ msgstr "Excluir de todos"
423
+
424
+ #: includes/pages/display.php:18
425
+ msgid "Target"
426
+ msgstr "Alvo"
427
+
428
+ #: includes/pages/display.php:13
429
+ msgid "Hide in all devices"
430
+ msgstr "Ocultar em todos os dispositivos"
431
+
432
+ #: includes/pages/display.php:12
433
+ msgid "Show in desktop devices"
434
+ msgstr "Mostrar no computador"
435
+
436
+ #: includes/pages/display.php:11
437
+ msgid "Show in mobile devices"
438
+ msgstr "Mostrar nos dispositivos móveis"
439
+
440
+ #: includes/pages/display.php:10
441
+ msgid "Show in all devices"
442
+ msgstr "Mostrar em todos dispositivos"
443
+
444
+ #: includes/pages/display.php:7
445
+ msgid "Devices"
446
+ msgstr "Dispositivos"
447
+
448
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
449
+ msgid "Name"
450
+ msgstr "Nome"
451
+
452
+ #: includes/settings.php:261 includes/pages/box.php:60
453
+ #: includes/pages/colors.php:33
454
+ msgid "Label"
455
+ msgstr "Rótulo"
456
+
457
+ #: includes/settings.php:276 includes/pages/box.php:61
458
+ #: includes/pages/colors.php:26 includes/pages/button.php:64
459
+ msgid "Message"
460
+ msgstr "Mensagem"
461
+
462
+ #: includes/pages/display.php:72 includes/pages/box.php:52
463
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
464
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
465
+ #: includes/pages/button.php:58
466
+ msgid "This is a premium feature"
467
+ msgstr "Esta é um recurso da versão Premium"
468
+
469
+ #: includes/pages/colors.php:19
470
+ msgid "Link"
471
+ msgstr "Link"
472
+
473
+ #: includes/pages/colors.php:13
474
+ msgid "Color"
475
+ msgstr "Cor"
476
+
477
+ #: includes/pages/colors.php:7
478
+ msgid "Background"
479
+ msgstr "Fundo"
480
+
481
+ #. Author URI of the plugin
482
+ msgid "https://quadlayers.com"
483
+ msgstr "https://quadlayers.com"
484
+
485
+ #. Author of the plugin
486
+ #: includes/settings.php:77 includes/settings.php:298
487
+ msgid "WhatsApp Chat"
488
+ msgstr "WhatsApp Chat"
489
+
490
+ #. Description of the plugin
491
+ msgid "Send messages directly to your WhatsApp phone number."
492
+ msgstr "Envie mensagens diretamente para o seu número de telefone do WhatsApp."
493
+
494
+ #. Plugin Name of the plugin
495
+ msgid "WhatsApp Chat WP"
496
+ msgstr "WhatsApp Chat WP"
4.2.4/languages/qlwapp.pot ADDED
@@ -0,0 +1,539 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #, fuzzy
2
+ msgid ""
3
+ msgstr ""
4
+ "Project-Id-Version: WhatsApp Chat WP\n"
5
+ "POT-Creation-Date: 2019-04-19 12:44-0300\n"
6
+ "PO-Revision-Date: 2019-03-02 18:52-0300\n"
7
+ "Last-Translator: \n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.8.1\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "X-Poedit-WPHeader: wp-whatsapp-chat.php\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
+ "X-Poedit-SearchPath-0: .\n"
20
+ "X-Poedit-SearchPathExcluded-0: *.js\n"
21
+
22
+ #: includes/defaults.php:29
23
+ msgid "Hello! I'm testing the WhatsApp Chat plugin @https://quadlayers.com"
24
+ msgstr ""
25
+
26
+ #: includes/defaults.php:34
27
+ msgid "How can I help you?"
28
+ msgstr ""
29
+
30
+ #: includes/defaults.php:47
31
+ msgid "Write a response"
32
+ msgstr ""
33
+
34
+ #: includes/defaults.php:56 includes/pages/welcome.php:25
35
+ msgid "Support"
36
+ msgstr ""
37
+
38
+ #: includes/defaults.php:57
39
+ msgid "Hello! I'm John from the support team."
40
+ msgstr ""
41
+
42
+ #: includes/pages/box.php:7
43
+ msgid "Disable"
44
+ msgstr ""
45
+
46
+ #: includes/pages/box.php:10
47
+ msgid "Enable contact box"
48
+ msgstr ""
49
+
50
+ #: includes/pages/box.php:11
51
+ msgid "Disable contact box"
52
+ msgstr ""
53
+
54
+ #: includes/pages/box.php:16
55
+ msgid "Header"
56
+ msgstr ""
57
+
58
+ #: includes/pages/box.php:22
59
+ msgid "Footer"
60
+ msgstr ""
61
+
62
+ #: includes/pages/box.php:28
63
+ msgid "Response"
64
+ msgstr ""
65
+
66
+ #: includes/pages/box.php:31
67
+ msgid "Write a response text."
68
+ msgstr ""
69
+
70
+ #: includes/pages/box.php:36
71
+ msgid "Contacts"
72
+ msgstr ""
73
+
74
+ #: includes/pages/box.php:44
75
+ msgid "Save Contact"
76
+ msgstr ""
77
+
78
+ #: includes/pages/box.php:51
79
+ msgid "Add Contact"
80
+ msgstr ""
81
+
82
+ #: includes/pages/box.php:52 includes/pages/button.php:58
83
+ #: includes/pages/colors.php:22 includes/pages/colors.php:29
84
+ #: includes/pages/colors.php:36 includes/pages/colors.php:43
85
+ #: includes/pages/display.php:72
86
+ msgid "This is a premium feature"
87
+ msgstr ""
88
+
89
+ #: includes/pages/box.php:57
90
+ msgid "Avatar"
91
+ msgstr ""
92
+
93
+ #: includes/pages/box.php:58 includes/pages/button.php:46
94
+ #: includes/settings.php:260
95
+ msgid "Phone"
96
+ msgstr ""
97
+
98
+ #: includes/pages/box.php:59 includes/pages/colors.php:40
99
+ msgid "Name"
100
+ msgstr ""
101
+
102
+ #: includes/pages/box.php:60 includes/pages/colors.php:33
103
+ #: includes/settings.php:261
104
+ msgid "Label"
105
+ msgstr ""
106
+
107
+ #: includes/pages/box.php:61 includes/pages/button.php:64
108
+ #: includes/pages/colors.php:26 includes/settings.php:276
109
+ msgid "Message"
110
+ msgstr ""
111
+
112
+ #: includes/pages/box.php:62 includes/settings.php:267
113
+ msgid "Chat"
114
+ msgstr ""
115
+
116
+ #: includes/pages/box.php:63
117
+ msgid "Actions"
118
+ msgstr ""
119
+
120
+ #: includes/pages/button.php:7
121
+ msgid "Layout"
122
+ msgstr ""
123
+
124
+ #: includes/pages/button.php:10 includes/settings.php:58
125
+ msgid "Button"
126
+ msgstr ""
127
+
128
+ #: includes/pages/button.php:11
129
+ msgid "Bubble"
130
+ msgstr ""
131
+
132
+ #: includes/pages/button.php:13
133
+ msgid "Switch to change the button layout."
134
+ msgstr ""
135
+
136
+ #: includes/pages/button.php:17
137
+ msgid "Rounded"
138
+ msgstr ""
139
+
140
+ #: includes/pages/button.php:20
141
+ msgid "Add rounded border"
142
+ msgstr ""
143
+
144
+ #: includes/pages/button.php:21
145
+ msgid "Remove rounded border"
146
+ msgstr ""
147
+
148
+ #: includes/pages/button.php:23
149
+ msgid "Add rounded border to the button."
150
+ msgstr ""
151
+
152
+ #: includes/pages/button.php:27
153
+ msgid "Position"
154
+ msgstr ""
155
+
156
+ #: includes/pages/button.php:30
157
+ msgid "Middle Left"
158
+ msgstr ""
159
+
160
+ #: includes/pages/button.php:31
161
+ msgid "Middle Right"
162
+ msgstr ""
163
+
164
+ #: includes/pages/button.php:32
165
+ msgid "Bottom Left"
166
+ msgstr ""
167
+
168
+ #: includes/pages/button.php:33
169
+ msgid "Bottom Right"
170
+ msgstr ""
171
+
172
+ #: includes/pages/button.php:35
173
+ msgid "Switch to change the button position."
174
+ msgstr ""
175
+
176
+ #: includes/pages/button.php:39
177
+ msgid "Text"
178
+ msgstr ""
179
+
180
+ #: includes/pages/button.php:42
181
+ msgid "Customize your text."
182
+ msgstr ""
183
+
184
+ #: includes/pages/button.php:49
185
+ msgid "Full phone number in international format."
186
+ msgstr ""
187
+
188
+ #: includes/pages/button.php:54
189
+ msgid "Icon"
190
+ msgstr ""
191
+
192
+ #: includes/pages/button.php:57
193
+ msgid "Add Icon"
194
+ msgstr ""
195
+
196
+ #: includes/pages/button.php:67
197
+ msgid "Message that will automatically appear in the text field of a chat."
198
+ msgstr ""
199
+
200
+ #: includes/pages/button.php:71
201
+ msgid "Discreet link"
202
+ msgstr ""
203
+
204
+ #: includes/pages/button.php:74
205
+ msgid "Show developer link"
206
+ msgstr ""
207
+
208
+ #: includes/pages/button.php:75
209
+ msgid "Hide developer link"
210
+ msgstr ""
211
+
212
+ #: includes/pages/button.php:77
213
+ msgid ""
214
+ "Leave a discrete link to developer to help and keep new updates and support."
215
+ msgstr ""
216
+
217
+ #: includes/pages/colors.php:7
218
+ msgid "Background"
219
+ msgstr ""
220
+
221
+ #: includes/pages/colors.php:13
222
+ msgid "Color"
223
+ msgstr ""
224
+
225
+ #: includes/pages/colors.php:19
226
+ msgid "Link"
227
+ msgstr ""
228
+
229
+ #: includes/pages/display.php:7
230
+ msgid "Devices"
231
+ msgstr ""
232
+
233
+ #: includes/pages/display.php:10
234
+ msgid "Show in all devices"
235
+ msgstr ""
236
+
237
+ #: includes/pages/display.php:11
238
+ msgid "Show in mobile devices"
239
+ msgstr ""
240
+
241
+ #: includes/pages/display.php:12
242
+ msgid "Show in desktop devices"
243
+ msgstr ""
244
+
245
+ #: includes/pages/display.php:13
246
+ msgid "Hide in all devices"
247
+ msgstr ""
248
+
249
+ #: includes/pages/display.php:18
250
+ msgid "Target"
251
+ msgstr ""
252
+
253
+ #: includes/pages/display.php:21 includes/pages/display.php:49
254
+ #: includes/pages/display.php:97 includes/settings.php:35
255
+ msgid "Exclude from all"
256
+ msgstr ""
257
+
258
+ #: includes/pages/display.php:22
259
+ msgid "Home"
260
+ msgstr ""
261
+
262
+ #: includes/pages/display.php:23
263
+ msgid "Blog"
264
+ msgstr ""
265
+
266
+ #: includes/pages/display.php:24
267
+ msgid "Search"
268
+ msgstr ""
269
+
270
+ #: includes/pages/display.php:27
271
+ msgid "If you select an option all the other will be excluded"
272
+ msgstr ""
273
+
274
+ #: includes/pages/display.php:48
275
+ #, php-format
276
+ msgid "Select for %s&hellip;"
277
+ msgstr ""
278
+
279
+ #: includes/pages/display.php:50
280
+ msgid "Archive"
281
+ msgstr ""
282
+
283
+ #: includes/pages/purchase.php:5 includes/settings.php:25
284
+ #: includes/settings.php:62
285
+ msgid "Premium"
286
+ msgstr ""
287
+
288
+ #: includes/pages/purchase.php:7
289
+ msgid ""
290
+ "Unlock the power of our premium WhatsApp Chat plugin wich allows you to "
291
+ "include unlimited agent accounts with their names and labels inside the box "
292
+ "to provide a direct contact to the different support areas of your site."
293
+ msgstr ""
294
+
295
+ #: includes/pages/purchase.php:10
296
+ msgid "Purchase Now"
297
+ msgstr ""
298
+
299
+ #: includes/pages/purchase.php:11
300
+ msgid "Get Support"
301
+ msgstr ""
302
+
303
+ #: includes/pages/purchase.php:15
304
+ msgid "Multiple agents"
305
+ msgstr ""
306
+
307
+ #: includes/pages/purchase.php:17
308
+ msgid ""
309
+ "WhatsApp Chat allows you to include unlimited agent accounts with their "
310
+ "names and labels inside the box to provide a direct contact to the different "
311
+ "support areas of your site."
312
+ msgstr ""
313
+
314
+ #: includes/pages/purchase.php:21
315
+ msgid "Customize colors"
316
+ msgstr ""
317
+
318
+ #: includes/pages/purchase.php:23
319
+ msgid ""
320
+ "Customize the colors to match site’s theme colors through the WordPress live "
321
+ "customizer interface."
322
+ msgstr ""
323
+
324
+ #: includes/pages/purchase.php:27
325
+ msgid "Custom icons"
326
+ msgstr ""
327
+
328
+ #: includes/pages/purchase.php:29
329
+ msgid ""
330
+ "Our plugin allows you to select between more than fourty icons to include in "
331
+ "your Whatsapp button."
332
+ msgstr ""
333
+
334
+ #: includes/pages/purchase.php:46
335
+ msgid "Chatbox interface"
336
+ msgstr ""
337
+
338
+ #: includes/pages/purchase.php:48
339
+ msgid ""
340
+ "WhatsApp chat for WordPress allows you to include a chatbox for each agent "
341
+ "where your users can type their first message."
342
+ msgstr ""
343
+
344
+ #: includes/pages/purchase.php:54
345
+ msgid "Custom agent message"
346
+ msgstr ""
347
+
348
+ #: includes/pages/purchase.php:56
349
+ msgid ""
350
+ "Allow you to set a custom message for each agent that will displayed on the "
351
+ "chatbox."
352
+ msgstr ""
353
+
354
+ #: includes/pages/purchase.php:60
355
+ msgid "Custom user message"
356
+ msgstr ""
357
+
358
+ #: includes/pages/purchase.php:62
359
+ msgid ""
360
+ "You can choose the predefined user message that will be sent to the agent "
361
+ "phone number."
362
+ msgstr ""
363
+
364
+ #: includes/pages/purchase.php:66
365
+ msgid "Type user message"
366
+ msgstr ""
367
+
368
+ #: includes/pages/purchase.php:68
369
+ msgid ""
370
+ "Allow your users to type their own messages before send it to the agent "
371
+ "phone number."
372
+ msgstr ""
373
+
374
+ #: includes/pages/welcome.php:6
375
+ msgid ""
376
+ "Hello we're QuadLayers! We've recently acquired this plugin and this is the "
377
+ "first update. We have worked very much and very hard to release it, and we "
378
+ "will do our absolute best to support it and fix all the issues."
379
+ msgstr ""
380
+
381
+ #: includes/pages/welcome.php:11
382
+ msgid "Community"
383
+ msgstr ""
384
+
385
+ #: includes/pages/welcome.php:13
386
+ msgid ""
387
+ "If you want to get in touch with other WhatsApp Chat users or be aware of "
388
+ "our promotional discounts join our community now."
389
+ msgstr ""
390
+
391
+ #: includes/pages/welcome.php:15
392
+ msgid "Join us"
393
+ msgstr ""
394
+
395
+ #: includes/pages/welcome.php:18
396
+ msgid "Demo"
397
+ msgstr ""
398
+
399
+ #: includes/pages/welcome.php:20
400
+ msgid ""
401
+ "Thank you for choosing our WhatsApp Chat plugin for WordPress! Here you can "
402
+ "see our demo and a description about the features we offer in the premium "
403
+ "version."
404
+ msgstr ""
405
+
406
+ #: includes/pages/welcome.php:22
407
+ msgid "View demo"
408
+ msgstr ""
409
+
410
+ #: includes/pages/welcome.php:27
411
+ msgid ""
412
+ "If you have any doubt or you find any issue don't hesitate to contact us "
413
+ "through our ticket system or join our community to meet other WhatsApp Chat "
414
+ "users."
415
+ msgstr ""
416
+
417
+ #: includes/pages/welcome.php:29
418
+ msgid "Submit ticket"
419
+ msgstr ""
420
+
421
+ #: includes/settings.php:27
422
+ msgid "Settings"
423
+ msgstr ""
424
+
425
+ #: includes/settings.php:57
426
+ msgid "Welcome"
427
+ msgstr ""
428
+
429
+ #: includes/settings.php:59
430
+ msgid "Box"
431
+ msgstr ""
432
+
433
+ #: includes/settings.php:60
434
+ msgid "Display"
435
+ msgstr ""
436
+
437
+ #: includes/settings.php:61
438
+ msgid "Colors"
439
+ msgstr ""
440
+
441
+ #. Author of the plugin/theme
442
+ #: includes/settings.php:77 includes/settings.php:298
443
+ msgid "WhatsApp Chat"
444
+ msgstr ""
445
+
446
+ #: includes/settings.php:79
447
+ msgid ""
448
+ "Thanks for using WhatsApp Chat! We will do our best to offer you the best "
449
+ "and improved communication experience with your users."
450
+ msgstr ""
451
+
452
+ #: includes/settings.php:82
453
+ msgid "Check out our demo"
454
+ msgstr ""
455
+
456
+ #: includes/settings.php:101
457
+ msgid "QuadLayers"
458
+ msgstr ""
459
+
460
+ #: includes/settings.php:246
461
+ msgid "Upload"
462
+ msgstr ""
463
+
464
+ #: includes/settings.php:254
465
+ msgid "Firstname"
466
+ msgstr ""
467
+
468
+ #: includes/settings.php:256
469
+ msgid "Lastname"
470
+ msgstr ""
471
+
472
+ #: includes/settings.php:270
473
+ msgid "Enabled"
474
+ msgstr ""
475
+
476
+ #: includes/settings.php:271
477
+ msgid "Disabled"
478
+ msgstr ""
479
+
480
+ #: includes/settings.php:293
481
+ msgid "Close media panel"
482
+ msgstr ""
483
+
484
+ #: includes/settings.php:302
485
+ msgid "Select icon"
486
+ msgstr ""
487
+
488
+ #: includes/settings.php:309
489
+ msgid "Featured Image"
490
+ msgstr ""
491
+
492
+ #: includes/settings.php:325
493
+ msgid "Deselect"
494
+ msgstr ""
495
+
496
+ #: includes/settings.php:336
497
+ msgid "Save"
498
+ msgstr ""
499
+
500
+ #: includes/settings.php:337
501
+ msgid "Remove"
502
+ msgstr ""
503
+
504
+ #: includes/settings.php:375
505
+ #, php-format
506
+ msgid "Hello! Thank you for choosing the %s plugin!"
507
+ msgstr ""
508
+
509
+ #: includes/settings.php:377
510
+ msgid ""
511
+ "Could you please give it a 5-star rating on WordPress? We know its a big "
512
+ "favor, but we've worked very much and very hard to release this great "
513
+ "product. Your feedback will boost our motivation and help us promote and "
514
+ "continue to improve this product."
515
+ msgstr ""
516
+
517
+ #: includes/settings.php:380
518
+ msgid "Yes, of course!"
519
+ msgstr ""
520
+
521
+ #: includes/settings.php:383
522
+ msgid "Report a bug"
523
+ msgstr ""
524
+
525
+ #: template/box.php:47
526
+ msgid "Powered by QuadLayers"
527
+ msgstr ""
528
+
529
+ #. Plugin Name of the plugin/theme
530
+ msgid "WhatsApp Chat WP"
531
+ msgstr ""
532
+
533
+ #. Description of the plugin/theme
534
+ msgid "Send messages directly to your WhatsApp phone number."
535
+ msgstr ""
536
+
537
+ #. Author URI of the plugin/theme
538
+ msgid "https://quadlayers.com"
539
+ msgstr ""
4.2.4/readme.txt ADDED
@@ -0,0 +1,179 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === WhatsApp Chat ===
2
+ Contributors: quadlayers, franmastromarino
3
+ Donate link: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
4
+ Tags: whatsapp, button, chat, support, contact, click to chat, directly message whatsapp, floating whatsapp, whatsapp chat, whatsapp support, whatsapp business, messaging, help desk
5
+ Requires at least: 3.0
6
+ Tested up to: 5.1
7
+ Requires PHP: 5.3
8
+ Stable tag: 4.2.4
9
+ License: GPLv2 or later
10
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
+
12
+ WhatsApp Chat WP allows your website visitors and customers to contact you or your team through WhatsApp chat with a single click.
13
+
14
+ == Description ==
15
+
16
+ [Premium](https://quadlayers.com/portfolio/wordpress-whatsapp-chat/) | [Demo](https://quadlayers.com/whatsapp-chat/) | [Community](https://www.facebook.com/groups/quadlayers/)
17
+
18
+ WhatsApp Chat for WordPress allows your customers to open a conversation from your website directly to your WhatsApp phone number. This plugin includes a button where you can include a pre-filled message which will be automatically included in the conversation.
19
+ == Why WhatsApp? ==
20
+ WhatsApp is these days the most popular instant messaging application in the world and is available in more than 100 countries and supporting more than 50 languages.
21
+
22
+ This means most of our users <span style="background-color: #f6d5d9;">use</span> WhatsApp as their main contact method, and they probably have been using it for years. Therefore, offering easy access from our website is a good way to convert those visitors into customers.
23
+
24
+ Generating leads is the key to every business success, and the WhatsApp chat button can help you to increase your overall sales and reach this goal.
25
+ == WhatsApp Button ==
26
+ With the WhatsApp chat button, your visitors will be allowed to send a message directly to your phone number. To start configuring it, you have to go to the button tab inside the WhatsApp Chat section that you can find in your admin dashboard.
27
+
28
+ Inside the button tab, you'll to switch between two different layouts, define if you want to include rounded edges, the position where you want to show the WhatsApp button, the text that will be displayed inside, the phone number and the default user message.
29
+ == WhatsApp Chat ==
30
+ WhatsApp Chat also allows you to include a box to show some contact information and a personalized message. This box can be activated through the Box tab inside the WhatsApp Chat section and here you can define the header and footer message, contact name, phone, work, and avatar.
31
+ == WhatsApp Premium ==
32
+ The premium version of the WhatsApp Chat plugin allows you to include multiple team member agents with their names and labels inside the contact box to provide direct contact to the different support areas of your site.
33
+
34
+ A new option to display a chatbox for each agent will be included. This box will be displayed when the user clicks on the WhatsApp contact, and here you can show a custom message from each contact and your users will be able to type the message that will be sent to the WhatsApp contact phone.
35
+
36
+ Finally, we’ve included an option that allows you to select between more than fourteen icons to include in the WhatsApp button and full integration with the WordPress live customizer.
37
+
38
+
39
+ == WhatsApp Chat Features ==
40
+
41
+ > * WhatsApp button
42
+ > * WhatsApp contact box
43
+ > * WhatsApp button and box colors
44
+ > * Add custom icon in the WhatsApp button
45
+ > * Two button layouts
46
+ > * Hide the button based on post types and taxonomies
47
+ > * Add rounded or square borders
48
+ > * Vertical and horizontal position
49
+ > * Custom button text
50
+ > * Custom user message
51
+
52
+ == Installation ==
53
+
54
+ 1. Go to the Plugins Menu in WordPress
55
+ 2. Search for "WhatsApp Chat WP"
56
+ 3. Click "Install"
57
+ 4. Click "Activation"
58
+ 5. Go to the WhatsApp Chat options in the dashboard
59
+
60
+ == Frequently Asked Questions ==
61
+
62
+ = Where do I get support? =
63
+
64
+ You can contact us trough this channels
65
+
66
+ [Support Forum](https://wordpress.org/support/plugin/wp-whatsapp-chat/) | [Support Ticket](https://quadlayers.com/account/support) | [Support Chat](https://www.facebook.com/quadlayers/)
67
+
68
+ = Can I use more than one WhatsApp number? =
69
+
70
+ Yes, this option is available in our premium version
71
+
72
+ [WhatsApp Chat Premium](https://quadlayers.com/portfolio/wordpress-whatsapp-chat/)
73
+
74
+ = WhatsApp Chat is GDPR compatible? =
75
+
76
+ Yes, WhatsApp Chat WP don't save any personal data and don't use cookies.
77
+
78
+ = Will my WhatsApp number be visible to all users? =
79
+
80
+ Yes, every user of your website will be able to see the number of WhatsApp you are using. For this reason we advise you to not use a WhatsApp number that you want to keep private.
81
+
82
+ = What is a full phone number in international format? =
83
+
84
+ Omit any zeroes, brackets or dashes when adding the phone number in international format, including your country code, area and regular phone number.
85
+
86
+ Use: 15551234567
87
+ Don't use: +001-(555)1234567
88
+
89
+ = Translation =
90
+
91
+ * Brazilian Portuguese (thanks to [Dionizio Bach](@djio))
92
+
93
+ == Changelog ==
94
+
95
+ = 4.2.2 =
96
+ * Fix. language fix
97
+
98
+ = 4.2.1 =
99
+ * Fix. bad spelling
100
+
101
+ = 4.2.0 =
102
+ * Fix. incompatibility with visual composer add ons
103
+
104
+ = 4.1.9 =
105
+ * Fix. license market key
106
+
107
+ = 4.1.8 =
108
+ * Fix. WhatsApp button bubble text empty
109
+ * Fix. WhatsApp shortcode not working in desktop devices
110
+
111
+ = 4.1.7 =
112
+ * Fix. WhatsApp delete contact
113
+
114
+ = 4.1.6 =
115
+ * Fix. WhatsApp Android textarea closes on click
116
+ * Fix. WhatsApp Button empty settings not saving
117
+
118
+ = 4.1.5 =
119
+ * Fix. array to string conversion on first save
120
+ * Fix. static method
121
+
122
+ = 4.1.4 =
123
+ * Fix. WhatsApp Chat avatar js fixes
124
+
125
+ = 4.1.4 =
126
+ * Fix. WhatsApp Chat avatar css fixes
127
+
128
+ = 4.1.3 =
129
+ * Fix. WhatsApp Chat contacts missing
130
+ * Fix. WhatsApp Chat rounded images
131
+
132
+ = 4.1.2 =
133
+ * Fix. WhatsApp Chat button not open when box is disabled
134
+
135
+ = 4.1.1 =
136
+ * Fix. undefined variable
137
+
138
+ = 4.1.0 =
139
+ * Fix. WhatsApp Chat contact remove
140
+ * Fix. WhatsApp Chat box disable
141
+ * Fix. WhatsApp Chat button rounded disable
142
+ * Fix. WhatsApp Chat button discreet link
143
+
144
+ = 4.0.0 =
145
+
146
+ * New. WhatsApp Chat button bubble layout
147
+ * New. WhatsApp Chat button add or remove rounded corners
148
+ * New. WhatsApp Chat button middle position
149
+ * New. WhatsApp Chat button icon options
150
+ * New. WhatsApp Chat button discreet link
151
+ * New. WhatsApp Chat box to display contact
152
+ * New. WhatsApp Chat box header message
153
+ * New. WhatsApp Chat box footer message
154
+ * New. WhatsApp Chat box contact name
155
+ * New. WhatsApp Chat box contact phone
156
+ * New. WhatsApp Chat box contact label
157
+ * New. WhatsApp Chat box contact message
158
+ * New. WhatsApp Chat box contact name
159
+ * New. WhatsApp Chat show/hide in home search and 404 pages
160
+ * New. WhatsApp Chat show/hide in taxonomies
161
+ * New. WhatsApp Chat show/hide mobile devices
162
+ * New. WhatsApp Chat show/hide desktop devices
163
+ * Pro. WhatsApp Chat box multiple agents
164
+ * Pro. WhatsApp Chat box chat for each agent
165
+ * Pro. WhatsApp Chat color link
166
+ * Pro. WhatsApp Chat color message
167
+ * Pro. WhatsApp Chat color label
168
+ * Pro. WhatsApp Chat color label
169
+ * Pro. WhatsApp Chat color link
170
+ * Pro. WhatsApp Chat color customizer integration
171
+ * Pro. WhatsApp Chat button icons options
172
+ * Pro. WhatsApp Chat show/hide in singular post types
173
+
174
+ == Upgrade Notice ==
175
+
176
+ Hello! We've recently acquired this plugin and included tons of new features.
177
+
178
+ == Developed by ==
179
+ [QuadLayers](https://quadlayers.com)
4.2.4/template/box.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="qlwapp" class="qlwapp-free <?php printf("qlwapp-%s qlwapp-%s qlwapp-%s qlwapp-%s", esc_attr($qlwapp['button']['layout']), esc_attr($qlwapp['button']['position']), esc_attr($qlwapp['display']['devices']), esc_attr($qlwapp['button']['rounded'] === 'yes' ? 'rounded' : 'square')); ?>">
2
+ <div class="qlwapp-container">
3
+ <?php if ($qlwapp['box']['enable'] === 'yes'): ?>
4
+ <div class="qlwapp-box">
5
+ <?php if (!empty($qlwapp['box']['header'])): ?>
6
+ <div class="qlwapp-header">
7
+ <i class="qlwapp-close" data-action="close">&times;</i>
8
+ <div class="qlwapp-description">
9
+ <?php echo wpautop(wp_kses_post(wpautop($qlwapp['box']['header']))); ?>
10
+ </div>
11
+ </div>
12
+ <?php endif; ?>
13
+ <div class="qlwapp-body">
14
+ <?php if (isset($qlwapp['contacts'][0])): ?>
15
+ <a class="qlwapp-account" data-action="open" data-phone="<?php echo esc_attr($qlwapp['contacts'][0]['phone']); ?>" data-message="<?php echo esc_html($qlwapp['user']['message']); ?>" href="javascript:void(0);" target="_blank">
16
+ <?php if (!empty($qlwapp['contacts'][0]['avatar'])): ?>
17
+ <div class="qlwapp-avatar">
18
+ <div class="qlwapp-avatar-container">
19
+ <img alt="<?php printf("%s %s", esc_html($qlwapp['contacts'][0]['firstname']), esc_html($qlwapp['contacts'][0]['lastname'])); ?>" src="<?php echo esc_url($qlwapp['contacts'][0]['avatar']); ?>">
20
+ </div>
21
+ </div>
22
+ <?php endif; ?>
23
+ <div class="qlwapp-info">
24
+ <span class="qlwapp-label"><?php echo esc_html($qlwapp['contacts'][0]['label']); ?></span>
25
+ <span class="qlwapp-name"><?php printf("%s %s", esc_html($qlwapp['contacts'][0]['firstname']), esc_html($qlwapp['contacts'][0]['lastname'])); ?></span>
26
+ </div>
27
+ </a>
28
+ <?php endif; ?>
29
+ </div>
30
+ <?php if (!empty($qlwapp['box']['footer'])): ?>
31
+ <div class="qlwapp-footer">
32
+ <?php echo wpautop(wp_kses_post($qlwapp['box']['footer'])); ?>
33
+ </div>
34
+ <?php endif; ?>
35
+ </div>
36
+ <?php endif; ?>
37
+ <a class="qlwapp-toggle" data-action="<?php echo ($qlwapp['box']['enable'] === 'yes' ? 'box' : 'open'); ?>" data-phone="<?php echo esc_attr($qlwapp['button']['phone']); ?>" data-message="<?php echo esc_html($qlwapp['user']['message']); ?>" href="#" target="_blank">
38
+ <?php if ($qlwapp['button']['icon']): ?>
39
+ <i class="qlwapp-icon <?php echo esc_attr($qlwapp['button']['icon']); ?>"></i>
40
+ <?php endif; ?>
41
+ <i class="qlwapp-close" data-action="close">&times;</i>
42
+ <?php if ($qlwapp['button']['text']): ?>
43
+ <span class="qlwapp-text"><?php echo esc_html($qlwapp['button']['text']); ?></span>
44
+ <?php endif; ?>
45
+ </a>
46
+ <?php if ($qlwapp['button']['developer'] === 'yes'): ?>
47
+ <a class="qlwapp-developer" href="<?php echo esc_url(QLWAPP_DEMO_URL); ?>" target="_blank"><?php esc_html_e('Powered by QuadLayers'); ?></a>
48
+ <?php endif; ?>
49
+ </div>
50
+ </div>
4.2.4/uninstall.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('WP_UNINSTALL_PLUGIN')) {
4
+ die('-1');
5
+ }
6
+
7
+ if (!is_multisite()) {
8
+ delete_option('qlwapp');
9
+ }
10
+
11
+ delete_user_meta(get_current_user_id(), 'qlwapp-user-rating');
4.2.4/whatsapp-chat.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ($active_plugins = get_option('active_plugins', array())) {
4
+
5
+ foreach ($active_plugins as $key => $active_plugin) {
6
+
7
+ if (strstr($active_plugin, '/whatsapp-chat.php')) {
8
+ $active_plugins[$key] = str_replace('/whatsapp-chat.php', '/wp-whatsapp-chat.php', $active_plugin);
9
+ }
10
+
11
+ if (strstr($active_plugin, '/ql-whatsapp-chat.php')) {
12
+ $active_plugins[$key] = str_replace('/ql-whatsapp-chat.php', '/wp-whatsapp-chat.php', $active_plugin);
13
+ }
14
+ }
15
+
16
+ update_option('active_plugins', $active_plugins);
17
+ }
4.2.4/wp-whatsapp-chat.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ *
4
+ * Plugin Name: WhatsApp Chat
5
+ * Plugin URI: https://quadlayers.com/portfolio/wordpress-whatsapp-chat/
6
+ * Description: WhatsApp Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
7
+ * Version: 4.2.4
8
+ * Author: WhatsApp Chat
9
+ * Author URI: https://quadlayers.com
10
+ * License: GPL-2.0+
11
+ * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
12
+ * Text Domain: qlwapp
13
+ * Domain Path: /languages
14
+ */
15
+ if (!defined('ABSPATH')) {
16
+ die('-1');
17
+ }
18
+ if (!defined('QLWAPP_PLUGIN_NAME')) {
19
+ define('QLWAPP_PLUGIN_NAME', 'WhatsApp Chat');
20
+ }
21
+ if (!defined('QLWAPP_PLUGIN_VERSION')) {
22
+ define('QLWAPP_PLUGIN_VERSION', '4.2.4');
23
+ }
24
+ if (!defined('QLWAPP_PLUGIN_FILE')) {
25
+ define('QLWAPP_PLUGIN_FILE', __FILE__);
26
+ }
27
+ if (!defined('QLWAPP_PLUGIN_DIR')) {
28
+ define('QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR);
29
+ }
30
+ if (!defined('QLWAPP_DOMAIN')) {
31
+ define('QLWAPP_DOMAIN', 'qlwapp');
32
+ }
33
+ if (!defined('QLWAPP_WORDPRESS_URL')) {
34
+ define('QLWAPP_WORDPRESS_URL', 'https://wordpress.org/plugins/wp-whatsapp-chat/');
35
+ }
36
+ if (!defined('QLWAPP_REVIEW_URL')) {
37
+ define('QLWAPP_REVIEW_URL', 'https://wordpress.org/support/plugin/wp-whatsapp-chat/reviews/?filter=5#new-post');
38
+ }
39
+ if (!defined('QLWAPP_DEMO_URL')) {
40
+ define('QLWAPP_DEMO_URL', 'https://quadlayers.com/portfolio/wordpress-whatsapp-chat/?utm_source=qlwapp_admin');
41
+ }
42
+ if (!defined('QLWAPP_PURCHASE_URL')) {
43
+ define('QLWAPP_PURCHASE_URL', QLWAPP_DEMO_URL);
44
+ }
45
+ if (!defined('QLWAPP_SUPPORT_URL')) {
46
+ define('QLWAPP_SUPPORT_URL', 'https://quadlayers.com/account/support/?utm_source=qlwapp_admin');
47
+ }
48
+ if (!defined('QLWAPP_GROUP_URL')) {
49
+ define('QLWAPP_GROUP_URL', 'https://www.facebook.com/groups/quadlayers');
50
+ }
51
+
52
+ if (!class_exists('QLWAPP')) {
53
+
54
+ class QLWAPP {
55
+
56
+ protected static $instance;
57
+
58
+ function includes() {
59
+ include_once('includes/defaults.php');
60
+ include_once('includes/frontend.php');
61
+ include_once('includes/settings.php');
62
+ }
63
+
64
+ function languages() {
65
+ load_plugin_textdomain('qlwapp', false, dirname(plugin_basename(__FILE__)) . '/languages/');
66
+ }
67
+
68
+ function add_premium_js() {
69
+ if (!class_exists('QLWAPP_PRO')) {
70
+ ?>
71
+ <style>
72
+ .qlwapp-premium-field {
73
+ opacity: 0.5;
74
+ pointer-events: none;
75
+ }
76
+ </style>
77
+ <?php
78
+
79
+ }
80
+ }
81
+
82
+ function init() {
83
+ add_action('admin_footer', array($this, 'add_premium_js'));
84
+ }
85
+
86
+ public static function do_activation() {
87
+ set_transient('qlwapp-first-rating', true, MONTH_IN_SECONDS);
88
+ }
89
+
90
+ public static function instance() {
91
+ if (!isset(self::$instance)) {
92
+ self::$instance = new self();
93
+ self::$instance->languages();
94
+ self::$instance->includes();
95
+ self::$instance->init();
96
+ }
97
+ return self::$instance;
98
+ }
99
+
100
+ }
101
+
102
+ add_action('plugins_loaded', array('QLWAPP', 'instance'));
103
+
104
+ register_activation_hook(QLWAPP_PLUGIN_FILE, array('QLWAPP', 'do_activation'));
105
+ }
4.2.5/assets/css/qlwapp-admin.css ADDED
@@ -0,0 +1,502 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .select2-container {
2
+ box-sizing: border-box;
3
+ display: inline-block;
4
+ margin: 0;
5
+ position: relative;
6
+ vertical-align: middle
7
+ }
8
+
9
+ .select2-container .select2-selection--single {
10
+ box-sizing: border-box;
11
+ cursor: pointer;
12
+ display: block;
13
+ height: 28px;
14
+ margin: 0 0 -4px;
15
+ -moz-user-select: none;
16
+ -ms-user-select: none;
17
+ user-select: none;
18
+ -webkit-user-select: none
19
+ }
20
+
21
+ .select2-container .select2-selection--single .select2-selection__rendered {
22
+ display: block;
23
+ padding-left: 8px;
24
+ padding-right: 20px;
25
+ overflow: hidden;
26
+ text-overflow: ellipsis;
27
+ white-space: nowrap
28
+ }
29
+
30
+ .select2-container .select2-selection--single .select2-selection__clear {
31
+ position: relative
32
+ }
33
+
34
+ .select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
35
+ padding-right: 8px;
36
+ padding-left: 20px
37
+ }
38
+
39
+ .select2-container .select2-selection {
40
+ box-sizing: border-box;
41
+ cursor: pointer;
42
+ display: block;
43
+ min-height: 32px;
44
+ -moz-user-select: none;
45
+ -ms-user-select: none;
46
+ user-select: none;
47
+ -webkit-user-select: none
48
+ }
49
+
50
+ .select2-container .select2-selection .select2-selection__rendered {
51
+ display: inline-block;
52
+ overflow: hidden;
53
+ padding-left: 8px;
54
+ text-overflow: ellipsis;
55
+ white-space: nowrap
56
+ }
57
+
58
+ .select2-container .select2-search--inline {
59
+ float: left;
60
+ padding: 0
61
+ }
62
+
63
+ .select2-container .select2-search--inline .select2-search__field {
64
+ box-sizing: border-box;
65
+ border: none;
66
+ font-size: 100%;
67
+ margin: 0;
68
+ padding: 0
69
+ }
70
+
71
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
72
+ -webkit-appearance: none
73
+ }
74
+
75
+ .select2-dropdown {
76
+ background-color: #fff;
77
+ border: 1px solid #ccc;
78
+ border-radius: 2px;
79
+ box-sizing: border-box;
80
+ display: block;
81
+ position: absolute;
82
+ left: -100000px;
83
+ width: 100%;
84
+ z-index: 1051
85
+ }
86
+
87
+ .select2-results {
88
+ display: block
89
+ }
90
+
91
+ .select2-results__options {
92
+ list-style: none;
93
+ margin: 0;
94
+ padding: 0
95
+ }
96
+
97
+ .select2-results__option {
98
+ margin: 0;
99
+ padding: 8px;
100
+ -moz-user-select: none;
101
+ -ms-user-select: none;
102
+ user-select: none;
103
+ -webkit-user-select: none
104
+ }
105
+
106
+ .select2-results__option[aria-selected],
107
+ .select2-results__option[data-selected] {
108
+ cursor: pointer
109
+ }
110
+
111
+ .select2-container--open .select2-dropdown {
112
+ left: 0
113
+ }
114
+
115
+ .select2-container--open .select2-dropdown--above {
116
+ border-bottom: none;
117
+ border-bottom-left-radius: 0;
118
+ border-bottom-right-radius: 0
119
+ }
120
+
121
+ .select2-container--open .select2-dropdown--below {
122
+ border-top: none;
123
+ border-top-left-radius: 0;
124
+ border-top-right-radius: 0
125
+ }
126
+
127
+ .select2-search--dropdown {
128
+ display: block;
129
+ padding: 4px
130
+ }
131
+
132
+ .select2-search--dropdown .select2-search__field {
133
+ padding: 4px;
134
+ width: 100%;
135
+ box-sizing: border-box
136
+ }
137
+
138
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
139
+ -webkit-appearance: none
140
+ }
141
+
142
+ .select2-search--dropdown.select2-search--hide {
143
+ display: none
144
+ }
145
+
146
+ .select2-close-mask {
147
+ border: 0;
148
+ margin: 0;
149
+ padding: 0;
150
+ display: block;
151
+ position: fixed;
152
+ left: 0;
153
+ top: 0;
154
+ min-height: 100%;
155
+ min-width: 100%;
156
+ height: auto;
157
+ width: auto;
158
+ opacity: 0;
159
+ z-index: 99;
160
+ background-color: #fff
161
+ }
162
+
163
+ .select2-hidden-accessible {
164
+ border: 0!important;
165
+ clip: rect(0 0 0 0)!important;
166
+ height: 1px!important;
167
+ margin: -1px!important;
168
+ overflow: hidden!important;
169
+ padding: 0!important;
170
+ position: absolute!important;
171
+ width: 1px!important
172
+ }
173
+
174
+ .select2-container--default .select2-selection--single {
175
+ background-color: #fff;
176
+ border: 1px solid #ccc;
177
+ border-radius: 4px
178
+ }
179
+
180
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
181
+ color: #444;
182
+ line-height: 28px
183
+ }
184
+
185
+ .select2-container--default .select2-selection--single .select2-selection__clear {
186
+ cursor: pointer;
187
+ float: right;
188
+ font-weight: 700
189
+ }
190
+
191
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
192
+ color: #999
193
+ }
194
+
195
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
196
+ height: 32px;
197
+ position: absolute;
198
+ top: 0px;
199
+ right: 1px;
200
+ width: 20px
201
+ }
202
+
203
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
204
+ border-color: #888 transparent transparent transparent;
205
+ border-style: solid;
206
+ border-width: 5px 4px 0 4px;
207
+ height: 0;
208
+ left: 50%;
209
+ margin-left: -4px;
210
+ margin-top: -2px;
211
+ position: absolute;
212
+ top: 50%;
213
+ width: 0
214
+ }
215
+
216
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear {
217
+ float: left
218
+ }
219
+
220
+ .select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow {
221
+ left: 1px;
222
+ right: auto
223
+ }
224
+
225
+ .select2-container--default.select2-container--disabled .select2-selection--single {
226
+ background-color: #eee;
227
+ cursor: default
228
+ }
229
+
230
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
231
+ display: none
232
+ }
233
+
234
+ .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
235
+ border-color: transparent transparent #888 transparent;
236
+ border-width: 0 4px 5px 4px
237
+ }
238
+
239
+ .select2-container--default .select2-selection {
240
+ background-color: #fff;
241
+ border: 1px solid #ccc;
242
+ border-radius: 2px;
243
+ cursor: text
244
+ }
245
+
246
+ .select2-container--default .select2-selection .select2-selection__rendered {
247
+ box-sizing: border-box;
248
+ list-style: none;
249
+ margin: 0;
250
+ padding: 0 5px;
251
+ width: 100%
252
+ }
253
+
254
+ .select2-container--default .select2-selection .select2-selection__rendered li {
255
+ list-style: none;
256
+ margin: 5px 5px 0 0
257
+ }
258
+
259
+ .select2-container--default .select2-selection .select2-selection__rendered li:before {
260
+ content: '';
261
+ display: none
262
+ }
263
+
264
+ .select2-container--default .select2-selection .select2-selection__placeholder {
265
+ color: #999;
266
+ margin-top: 5px;
267
+ float: left
268
+ }
269
+
270
+ .select2-container--default .select2-selection .select2-selection__clear {
271
+ cursor: pointer;
272
+ float: right;
273
+ font-weight: 700;
274
+ margin-top: 5px;
275
+ margin-right: 10px
276
+ }
277
+
278
+ .select2-container--default .select2-selection .select2-selection__choice {
279
+ background-color: #e4e4e4;
280
+ border: 1px solid #ccc;
281
+ border-radius: 2px;
282
+ cursor: default;
283
+ float: left;
284
+ margin-right: 5px;
285
+ margin-top: 5px;
286
+ padding: 0 5px
287
+ }
288
+
289
+ .select2-container--default .select2-selection .select2-selection__choice__remove {
290
+ color: #999;
291
+ cursor: pointer;
292
+ display: inline-block;
293
+ font-weight: 700;
294
+ margin-right: 2px
295
+ }
296
+
297
+ .select2-container--default .select2-selection .select2-selection__choice__remove:hover {
298
+ color: #333
299
+ }
300
+
301
+ .select2-container--default[dir=rtl] .select2-selection .select2-search--inline,
302
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,
303
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder {
304
+ float: right
305
+ }
306
+
307
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice {
308
+ margin-left: 5px;
309
+ margin-right: auto
310
+ }
311
+
312
+ .select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove {
313
+ margin-left: 2px;
314
+ margin-right: auto
315
+ }
316
+
317
+ .select2-container--default.select2-container--focus .select2-selection {
318
+ outline: 0
319
+ }
320
+
321
+ .select2-container--default.select2-container--disabled .select2-selection {
322
+ background-color: #eee;
323
+ cursor: default
324
+ }
325
+
326
+ .select2-container--default.select2-container--disabled .select2-selection__choice__remove {
327
+ display: none
328
+ }
329
+
330
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection,
331
+ .select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
332
+ border-top-left-radius: 0;
333
+ border-top-right-radius: 0
334
+ }
335
+
336
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection,
337
+ .select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
338
+ border-bottom-left-radius: 0;
339
+ border-bottom-right-radius: 0
340
+ }
341
+
342
+ .select2-container--default .select2-search--dropdown .select2-search__field {
343
+ border: 1px solid #ccc
344
+ }
345
+
346
+ .select2-container--default .select2-search--inline .select2-search__field {
347
+ background: 0 0;
348
+ border: none;
349
+ outline: 0;
350
+ box-shadow: none;
351
+ -webkit-appearance: textfield
352
+ }
353
+
354
+ .select2-container--default .select2-results>.select2-results__options {
355
+ max-height: 200px;
356
+ overflow-y: auto
357
+ }
358
+
359
+ .select2-container--default .select2-results__option[role=group] {
360
+ padding: 0
361
+ }
362
+
363
+ .select2-container--default .select2-results__option[aria-disabled=true] {
364
+ color: #999
365
+ }
366
+
367
+ .select2-container--default .select2-results__option[aria-selected=true],
368
+ .select2-container--default .select2-results__option[data-selected=true] {
369
+ background-color: #ddd
370
+ }
371
+
372
+ .select2-container--default .select2-results__option .select2-results__option {
373
+ padding-left: 1em
374
+ }
375
+
376
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
377
+ padding-left: 0
378
+ }
379
+
380
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
381
+ margin-left: -1em;
382
+ padding-left: 2em
383
+ }
384
+
385
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
386
+ margin-left: -2em;
387
+ padding-left: 3em
388
+ }
389
+
390
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
391
+ margin-left: -3em;
392
+ padding-left: 4em
393
+ }
394
+
395
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
396
+ margin-left: -4em;
397
+ padding-left: 5em
398
+ }
399
+
400
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
401
+ margin-left: -5em;
402
+ padding-left: 6em
403
+ }
404
+
405
+ .select2-container--default .select2-results__option--highlighted[aria-selected],
406
+ .select2-container--default .select2-results__option--highlighted[data-selected] {
407
+ background-color: #0073aa;
408
+ color: #fff
409
+ }
410
+
411
+ #qlwapp_modal .attachments-browser .attachments {
412
+ top: 0;
413
+ left: 0;
414
+ right: 0;
415
+ }
416
+
417
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail,
418
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
419
+ vertical-align: middle;
420
+ text-align: center;
421
+ }
422
+
423
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail:before,
424
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before {
425
+ content: '';
426
+ display: inline-block;
427
+ width: 0px;
428
+ height: 100%;
429
+ vertical-align: middle;
430
+ }
431
+
432
+ #qlwapp_modal .wp-core-ui .attachment .thumbnail>i,
433
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
434
+ text-align: center;
435
+ font-size: 3vw;
436
+ display: inline-block;
437
+ vertical-align: middle;
438
+ height: auto;
439
+ width: auto;
440
+ }
441
+
442
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail {
443
+ width: 60px;
444
+ height: 60px;
445
+ background-color: #fff;
446
+ }
447
+
448
+ #qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i {
449
+ font-size: 2em;
450
+ position: relative;
451
+ left: -1px;
452
+ }
453
+
454
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container {
455
+ box-sizing: border-box;
456
+ width: 100%;
457
+ border-bottom: 1px solid #ddd;
458
+ padding: 11px 0;
459
+ }
460
+
461
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color {
462
+ box-sizing: border-box;
463
+ margin: 1px;
464
+ width: 65%;
465
+ float: right;
466
+ }
467
+
468
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result {
469
+ width: 100%;
470
+ margin-top: 5px!important;
471
+ }
472
+
473
+ #qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text {
474
+ z-index: 1;
475
+ position: relative;
476
+ }
477
+
478
+ .about-wrap .form-table td img.qlwapp-avatar {
479
+ width: 120px;
480
+ height: 120px;
481
+ }
482
+
483
+ .qlwrap .nav-tab i {
484
+ line-height: 26px;
485
+ }
486
+
487
+ .qlwrap .form-table td {
488
+ vertical-align: middle;
489
+ }
490
+
491
+ .qlwrap .qlwapp-input,
492
+ .qlwrap .qlwapp-select2 {
493
+ width: 350px;
494
+ max-width: 100%;
495
+ }
496
+
497
+ .qlwrap .qlwapp-input {
498
+ margin: 0;
499
+ padding: 6px;
500
+ box-sizing: border-box;
501
+ vertical-align: top;
502
+ }
4.2.5/assets/css/qlwapp-admin.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;margin:0 0 -4px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left;padding:0}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:0;font-size:100%;margin:0;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:2px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{margin:0;padding:8px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected],.select2-results__option[data-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #ccc;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:32px;position:absolute;top:0;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection{background-color:#fff;border:1px solid #ccc;border-radius:2px;cursor:text}.select2-container--default .select2-selection .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection .select2-selection__rendered li{list-style:none;margin:5px 5px 0 0}.select2-container--default .select2-selection .select2-selection__rendered li:before{content:'';display:none}.select2-container--default .select2-selection .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection .select2-selection__choice{background-color:#e4e4e4;border:1px solid #ccc;border-radius:2px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection{outline:0}.select2-container--default.select2-container--disabled .select2-selection{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #ccc}.select2-container--default .select2-search--inline .select2-search__field{background:0;border:0;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background-color:#0073aa;color:#fff}#qlwapp_modal .attachments-browser .attachments{top:0;left:0;right:0}#qlwapp_modal .wp-core-ui .attachment .thumbnail,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail{vertical-align:middle;text-align:center}#qlwapp_modal .wp-core-ui .attachment .thumbnail:before,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail:before{content:'';display:inline-block;width:0;height:100%;vertical-align:middle}#qlwapp_modal .wp-core-ui .attachment .thumbnail>i,#qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i{text-align:center;font-size:3vw;display:inline-block;vertical-align:middle;height:auto;width:auto}#qlwapp_modal .wp-core-ui .attachment-info .thumbnail{width:60px;height:60px;background-color:#fff}#qlwapp_modal .wp-core-ui .attachment-info .thumbnail>i{font-size:2em;position:relative;left:-1px}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .container{box-sizing:border-box;width:100%;border-bottom:1px solid #ddd;padding:11px 0}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker #qlwapp-input-color{box-sizing:border-box;margin:1px;width:65%;float:right}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result{width:100%;margin-top:5px!important}#qlwapp_modal .wp-core-ui .attachment-info .qlwapp-color-picker .wp-picker-container .wp-color-result-text{z-index:1;position:relative}.about-wrap .form-table td img.qlwapp-avatar{width:120px;height:120px}.qlwrap .nav-tab i{line-height:26px}.qlwrap .form-table td{vertical-align:middle}.qlwrap .qlwapp-input,.qlwrap .qlwapp-select2{width:350px;max-width:100%}.qlwrap .qlwapp-input{margin:0;padding:6px;box-sizing:border-box;vertical-align:top}
4.2.5/assets/css/qlwapp.css ADDED
@@ -0,0 +1,869 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'qlwapp-whatsapp';
3
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+ .qlwapp-whatsapp-icon {
8
+ font-family: 'qlwapp-whatsapp' !important;
9
+ speak: none;
10
+ font-style: normal;
11
+ font-weight: normal;
12
+ font-variant: normal;
13
+ text-transform: none;
14
+ line-height: 1;
15
+ -webkit-font-smoothing: antialiased;
16
+ -moz-osx-font-smoothing: grayscale;
17
+ }
18
+ .qlwapp-whatsapp-icon:before {
19
+ content: "\e900";
20
+ }
21
+ #qlwapp {
22
+ box-sizing: border-box;
23
+ /*&.qlwapp-middle-left {
24
+ &.qlwapp-button {
25
+ .qlwapp-developer,
26
+ .qlwapp-toggle {
27
+ margin-left: -48px;
28
+ padding-left: 60px;
29
+ }
30
+ }
31
+ }
32
+
33
+ &.qlwapp-middle-right {
34
+ &.qlwapp-button {
35
+ .qlwapp-developer,
36
+ .qlwapp-toggle {
37
+ margin-right: -48px;
38
+ padding-right: 60px;
39
+ }
40
+
41
+ }
42
+ }
43
+
44
+ &.qlwapp-bottom-left {
45
+ &.qlwapp-bubble,
46
+ &.qlwapp-button {
47
+ .qlwapp-developer,
48
+ .qlwapp-toggle {
49
+ margin-left: 20px;
50
+ }
51
+ }
52
+
53
+ &.qlwapp-bubble {
54
+ .qlwapp-toggle {
55
+ .qlwapp-text {
56
+ right: auto;
57
+ left: 60px;
58
+ }
59
+ }
60
+ }
61
+
62
+ .qlwapp-box {
63
+ &:before {
64
+ right: auto;
65
+ left: 20px;
66
+ }
67
+ }
68
+
69
+ }
70
+
71
+ &.qlwapp-bottom-right {
72
+ &.qlwapp-bubble,
73
+ &.qlwapp-button {
74
+
75
+ .qlwapp-developer,
76
+ .qlwapp-toggle {
77
+ margin-right: 20px;
78
+ }
79
+ }
80
+ }*/
81
+ }
82
+ @media (min-width: 430px) {
83
+ #qlwapp {
84
+ width: 430px;
85
+ }
86
+ }
87
+ #qlwapp * {
88
+ box-sizing: border-box;
89
+ }
90
+ #qlwapp.qlwapp-js-ready {
91
+ display: block;
92
+ }
93
+ #qlwapp.qlwapp-hide,
94
+ #qlwapp.qlwapp-desktop.mobile,
95
+ #qlwapp.qlwapp-mobile.desktop {
96
+ display: none;
97
+ }
98
+ #qlwapp.qlwapp-middle-left,
99
+ #qlwapp.qlwapp-bottom-left,
100
+ #qlwapp.qlwapp-middle-right,
101
+ #qlwapp.qlwapp-bottom-right {
102
+ position: fixed;
103
+ z-index: 9999999;
104
+ }
105
+ #qlwapp.qlwapp-middle-left,
106
+ #qlwapp.qlwapp-bottom-left {
107
+ right: auto;
108
+ left: 0;
109
+ }
110
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,
111
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,
112
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,
113
+ #qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,
114
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,
115
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,
116
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,
117
+ #qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle {
118
+ margin-left: 20px;
119
+ }
120
+ #qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,
121
+ #qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
122
+ right: auto;
123
+ left: 60px;
124
+ }
125
+ #qlwapp.qlwapp-middle-left .qlwapp-box:before,
126
+ #qlwapp.qlwapp-bottom-left .qlwapp-box:before {
127
+ right: auto;
128
+ left: 20px;
129
+ }
130
+ #qlwapp.qlwapp-middle-right,
131
+ #qlwapp.qlwapp-bottom-right {
132
+ left: auto;
133
+ right: 0;
134
+ }
135
+ #qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,
136
+ #qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,
137
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,
138
+ #qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,
139
+ #qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,
140
+ #qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,
141
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,
142
+ #qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle {
143
+ margin-right: 20px;
144
+ }
145
+ #qlwapp.qlwapp-middle-left,
146
+ #qlwapp.qlwapp-middle-right {
147
+ top: 40%;
148
+ bottom: auto;
149
+ }
150
+ #qlwapp.qlwapp-middle-left .qlwapp-developer,
151
+ #qlwapp.qlwapp-middle-right .qlwapp-developer {
152
+ padding: 0 24px;
153
+ }
154
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,
155
+ #qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle {
156
+ margin-left: -48px;
157
+ padding-left: 60px;
158
+ }
159
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,
160
+ #qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle {
161
+ margin-right: -48px;
162
+ padding-right: 60px;
163
+ }
164
+ #qlwapp.qlwapp-bottom-left,
165
+ #qlwapp.qlwapp-bottom-right {
166
+ top: auto;
167
+ bottom: 0;
168
+ }
169
+ #qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle {
170
+ border-radius: 50%;
171
+ }
172
+ #qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle {
173
+ border-radius: 50px;
174
+ }
175
+ @media (min-width: 430px) {
176
+ #qlwapp.qlwapp-rounded .qlwapp-box {
177
+ border-radius: 8px;
178
+ }
179
+ }
180
+ #qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,
181
+ #qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message {
182
+ border-radius: 4px;
183
+ }
184
+ #qlwapp p:last-child {
185
+ margin: 0;
186
+ }
187
+ #qlwapp time {
188
+ opacity: 0.8;
189
+ font-style: italic;
190
+ font-size: 10px;
191
+ }
192
+ #qlwapp .qlwapp-container {
193
+ display: flex;
194
+ flex-direction: column;
195
+ }
196
+ #qlwapp .qlwapp-clearfix:before,
197
+ #qlwapp .qlwapp-clearfix:after {
198
+ content: '';
199
+ display: block;
200
+ clear: both;
201
+ }
202
+ #qlwapp .qlwapp-previous,
203
+ #qlwapp .qlwapp-close {
204
+ display: block;
205
+ opacity: 0.8;
206
+ font-style: unset;
207
+ font-size: 24px;
208
+ font-weight: bold;
209
+ width: 24px;
210
+ height: 24px;
211
+ cursor: pointer;
212
+ text-align: center;
213
+ line-height: 24px;
214
+ z-index: 1;
215
+ }
216
+ #qlwapp .qlwapp-previous {
217
+ width: 16px;
218
+ height: 36px;
219
+ cursor: pointer;
220
+ text-align: center;
221
+ line-height: 36px;
222
+ margin-right: auto;
223
+ }
224
+ #qlwapp .qlwapp-developer {
225
+ font-size: 8px;
226
+ top: -20px;
227
+ position: relative;
228
+ }
229
+ #qlwapp .qlwapp-developer,
230
+ #qlwapp .qlwapp-toggle {
231
+ display: inline-flex;
232
+ align-items: center;
233
+ justify-content: center;
234
+ margin-left: auto;
235
+ margin-right: auto;
236
+ }
237
+ #qlwapp .qlwapp-toggle {
238
+ cursor: pointer;
239
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
240
+ margin-top: 24px;
241
+ margin-bottom: 24px;
242
+ position: relative;
243
+ text-decoration: none;
244
+ }
245
+ #qlwapp .qlwapp-toggle,
246
+ #qlwapp .qlwapp-toggle:active,
247
+ #qlwapp .qlwapp-toggle:focus,
248
+ #qlwapp .qlwapp-toggle:hover {
249
+ outline: none;
250
+ text-decoration: none;
251
+ }
252
+ #qlwapp .qlwapp-avatar .qlwapp-avatar-container {
253
+ overflow: hidden;
254
+ border-radius: 50%;
255
+ width: inherit;
256
+ height: inherit;
257
+ }
258
+ #qlwapp .qlwapp-avatar .qlwapp-avatar-container img {
259
+ width: 100%;
260
+ height: auto;
261
+ }
262
+ #qlwapp.qlwapp-bubble .qlwapp-toggle {
263
+ width: 60px;
264
+ height: 60px;
265
+ }
266
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,
267
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
268
+ position: absolute;
269
+ display: block;
270
+ pointer-events: none;
271
+ font-size: 24px;
272
+ }
273
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
274
+ position: absolute;
275
+ right: 60px;
276
+ height: 60px;
277
+ margin: 0 24px;
278
+ display: flex;
279
+ align-items: center;
280
+ justify-content: flex-end;
281
+ font-weight: bold;
282
+ white-space: pre;
283
+ }
284
+ #qlwapp.qlwapp-button .qlwapp-toggle {
285
+ height: 40px;
286
+ white-space: nowrap;
287
+ padding: 12px 24px;
288
+ }
289
+ #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon {
290
+ margin: 0 12px 0 0;
291
+ }
292
+ #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close {
293
+ display: none;
294
+ }
295
+ #qlwapp .qlwapp-box {
296
+ padding-bottom: 56px;
297
+ position: fixed;
298
+ top: auto;
299
+ bottom: 0;
300
+ left: 0;
301
+ right: 0;
302
+ z-index: 99999;
303
+ box-shadow: 0px 5px 40px 5px rgba(0, 0, 0, 0.5);
304
+ }
305
+ @media (min-width: 430px) {
306
+ #qlwapp .qlwapp-box {
307
+ position: relative;
308
+ top: auto;
309
+ bottom: auto;
310
+ left: auto;
311
+ right: auto;
312
+ box-shadow: 0 8px 25px -5px rgba(45, 62, 79, 0.15);
313
+ margin-top: 24px;
314
+ margin-left: 24px;
315
+ margin-right: 24px;
316
+ margin-bottom: 12px;
317
+ }
318
+ #qlwapp .qlwapp-box:before {
319
+ content: '';
320
+ position: absolute;
321
+ bottom: -6px;
322
+ right: 24px;
323
+ width: 13px;
324
+ height: 13px;
325
+ transform: rotate(45deg);
326
+ }
327
+ #qlwapp .qlwapp-box .qlwapp-header {
328
+ border-top-left-radius: inherit;
329
+ border-top-right-radius: inherit;
330
+ }
331
+ #qlwapp .qlwapp-box .qlwapp-footer,
332
+ #qlwapp .qlwapp-box .qlwapp-response {
333
+ border-bottom-left-radius: inherit;
334
+ border-bottom-right-radius: inherit;
335
+ }
336
+ }
337
+ #qlwapp .qlwapp-box .qlwapp-header {
338
+ position: relative;
339
+ overflow: hidden;
340
+ }
341
+ #qlwapp .qlwapp-box .qlwapp-header:before {
342
+ content: '';
343
+ position: absolute;
344
+ top: 0;
345
+ bottom: 0;
346
+ left: 0;
347
+ right: 0;
348
+ background: linear-gradient(135deg, transparent 0%, rgba(0, 0, 0, 0.3) 100%);
349
+ }
350
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-close {
351
+ position: absolute;
352
+ top: 12px;
353
+ right: 12px;
354
+ }
355
+ @media (min-width: 430px) {
356
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-close {
357
+ position: absolute;
358
+ top: 7px;
359
+ right: 7px;
360
+ font-size: 16px;
361
+ }
362
+ }
363
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-description {
364
+ position: relative;
365
+ }
366
+ #qlwapp .qlwapp-box .qlwapp-description,
367
+ #qlwapp .qlwapp-box .qlwapp-contact {
368
+ padding: 24px 36px;
369
+ height: 100%;
370
+ }
371
+ #qlwapp .qlwapp-box .qlwapp-description p,
372
+ #qlwapp .qlwapp-box .qlwapp-description h3 {
373
+ color: inherit;
374
+ font-family: inherit;
375
+ margin: 0;
376
+ }
377
+ #qlwapp .qlwapp-box .qlwapp-description h3 {
378
+ margin: 0 0 0.25em 0;
379
+ }
380
+ #qlwapp .qlwapp-box .qlwapp-contact {
381
+ display: flex;
382
+ justify-content: flex-end;
383
+ align-items: center;
384
+ text-align: right;
385
+ }
386
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous {
387
+ position: relative;
388
+ left: -16px;
389
+ }
390
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous > i {
391
+ line-height: 36px;
392
+ }
393
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar {
394
+ width: 42px;
395
+ height: 42px;
396
+ }
397
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,
398
+ #qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name {
399
+ color: inherit;
400
+ }
401
+ #qlwapp .qlwapp-box .qlwapp-account {
402
+ color: inherit;
403
+ padding: 16px 36px;
404
+ display: flex;
405
+ align-items: center;
406
+ overflow: hidden;
407
+ position: relative;
408
+ cursor: pointer;
409
+ width: 100%;
410
+ }
411
+ #qlwapp .qlwapp-box .qlwapp-account:only-of-type {
412
+ padding-top: 36px;
413
+ padding-bottom: 36px;
414
+ }
415
+ #qlwapp .qlwapp-box .qlwapp-info {
416
+ padding: 0 16px;
417
+ }
418
+ #qlwapp .qlwapp-box .qlwapp-avatar {
419
+ position: relative;
420
+ width: 62px;
421
+ height: 62px;
422
+ }
423
+ #qlwapp .qlwapp-box .qlwapp-avatar:after {
424
+ content: '';
425
+ display: block;
426
+ width: 15px;
427
+ height: 15px;
428
+ position: absolute;
429
+ bottom: 2px;
430
+ right: 2px;
431
+ background-image: url(data:image/png;base64,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);
432
+ background-color: transparent;
433
+ background-repeat: no-repeat;
434
+ background-position: center center;
435
+ background-size: cover;
436
+ z-index: 4;
437
+ }
438
+ #qlwapp .qlwapp-box .qlwapp-label,
439
+ #qlwapp .qlwapp-box .qlwapp-offline-text {
440
+ font-size: 12px;
441
+ line-height: 1.5em;
442
+ opacity: .6;
443
+ display: block;
444
+ }
445
+ #qlwapp .qlwapp-box .qlwapp-name {
446
+ display: block;
447
+ font-weight: bold;
448
+ }
449
+ #qlwapp .qlwapp-box .qlwapp-body {
450
+ overflow-x: hidden;
451
+ overflow-y: auto;
452
+ }
453
+ #qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel {
454
+ max-height: 470px;
455
+ min-height: 134px;
456
+ }
457
+ #qlwapp .qlwapp-box .qlwapp-chat {
458
+ display: flex;
459
+ flex-direction: column;
460
+ overflow: hidden;
461
+ }
462
+ #qlwapp .qlwapp-box .qlwapp-user,
463
+ #qlwapp .qlwapp-box .qlwapp-message {
464
+ padding: 16px 24px;
465
+ margin: 36px;
466
+ position: relative;
467
+ word-wrap: break-word;
468
+ width: calc(100% - 36px*2);
469
+ }
470
+ #qlwapp .qlwapp-box .qlwapp-user:before,
471
+ #qlwapp .qlwapp-box .qlwapp-message:before {
472
+ content: '';
473
+ position: absolute;
474
+ top: -6px;
475
+ right: 24px;
476
+ width: 13px;
477
+ height: 13px;
478
+ transform: rotate(45deg);
479
+ }
480
+ #qlwapp .qlwapp-box .qlwapp-user {
481
+ width: auto;
482
+ max-width: 75%;
483
+ align-self: flex-start;
484
+ justify-self: flex-end;
485
+ margin-top: 0;
486
+ }
487
+ #qlwapp .qlwapp-box .qlwapp-user:before {
488
+ top: auto;
489
+ bottom: -6px;
490
+ left: 24px;
491
+ }
492
+ #qlwapp .qlwapp-box .qlwapp-padding {
493
+ padding-bottom: 56px;
494
+ }
495
+ #qlwapp .qlwapp-box .qlwapp-footer,
496
+ #qlwapp .qlwapp-box .qlwapp-response {
497
+ position: absolute;
498
+ bottom: 0;
499
+ left: 0;
500
+ right: 0;
501
+ height: auto;
502
+ width: 100%;
503
+ }
504
+ #qlwapp .qlwapp-box .qlwapp-footer,
505
+ #qlwapp .qlwapp-box .qlwapp-response,
506
+ #qlwapp .qlwapp-box .qlwapp-footer pre,
507
+ #qlwapp .qlwapp-box .qlwapp-response pre,
508
+ #qlwapp .qlwapp-box .qlwapp-footer textarea,
509
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
510
+ max-height: 160px;
511
+ }
512
+ #qlwapp .qlwapp-box .qlwapp-footer pre,
513
+ #qlwapp .qlwapp-box .qlwapp-response pre,
514
+ #qlwapp .qlwapp-box .qlwapp-footer textarea,
515
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
516
+ color: inherit;
517
+ background-color: inherit;
518
+ }
519
+ #qlwapp .qlwapp-box .qlwapp-footer:before,
520
+ #qlwapp .qlwapp-box .qlwapp-response:before {
521
+ pointer-events: none;
522
+ position: absolute;
523
+ content: '';
524
+ height: 59px;
525
+ top: -59px;
526
+ background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
527
+ left: 0;
528
+ right: 0;
529
+ }
530
+ #qlwapp .qlwapp-box .qlwapp-footer {
531
+ min-height: 56px;
532
+ display: flex;
533
+ align-items: center;
534
+ justify-content: center;
535
+ text-align: center;
536
+ font-size: 12px;
537
+ padding: 12px 36px;
538
+ }
539
+ #qlwapp .qlwapp-box .qlwapp-footer p {
540
+ font-size: inherit;
541
+ }
542
+ #qlwapp .qlwapp-box .qlwapp-footer p:last-child {
543
+ margin-bottom: 0;
544
+ }
545
+ #qlwapp .qlwapp-box .qlwapp-response,
546
+ #qlwapp .qlwapp-box .qlwapp-response pre,
547
+ #qlwapp .qlwapp-box .qlwapp-response textarea,
548
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
549
+ min-height: 56px;
550
+ }
551
+ #qlwapp .qlwapp-box .qlwapp-response pre,
552
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
553
+ width: 100%;
554
+ height: 100%;
555
+ resize: none;
556
+ border: none;
557
+ padding: 18px 56px 18px 36px;
558
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
559
+ font-size: 14px;
560
+ font-weight: normal;
561
+ line-height: 20px;
562
+ white-space: pre-wrap;
563
+ word-wrap: break-word;
564
+ border-radius: inherit;
565
+ margin: 0;
566
+ }
567
+ #qlwapp .qlwapp-box .qlwapp-response pre {
568
+ visibility: hidden;
569
+ }
570
+ #qlwapp .qlwapp-box .qlwapp-response textarea {
571
+ position: absolute;
572
+ bottom: 0;
573
+ left: 0;
574
+ }
575
+ #qlwapp .qlwapp-box .qlwapp-response textarea:focus {
576
+ outline: none;
577
+ }
578
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons {
579
+ position: absolute;
580
+ top: 0;
581
+ right: 21px;
582
+ display: flex;
583
+ align-items: center;
584
+ }
585
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active > i {
586
+ display: none;
587
+ }
588
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active > i.qlwf-emoji {
589
+ display: block;
590
+ }
591
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > i {
592
+ opacity: 0.4;
593
+ }
594
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > i,
595
+ #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons > a {
596
+ cursor: pointer;
597
+ margin: 0 0 0 10px;
598
+ display: inherit;
599
+ font-size: 18px;
600
+ line-height: 24px;
601
+ }
602
+ #qlwapp .qlwapp-previous,
603
+ #qlwapp .qlwapp-close,
604
+ #qlwapp .qlwapp-toggle,
605
+ #qlwapp .qlwapp-box .qlwapp-header,
606
+ #qlwapp .qlwapp-box .qlwapp-contact,
607
+ #qlwapp .qlwapp-box .qlwapp-user {
608
+ color: #ffffff;
609
+ }
610
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text {
611
+ color: #303030;
612
+ }
613
+ #qlwapp .qlwapp-box,
614
+ #qlwapp .qlwapp-box:before {
615
+ background-color: #fff;
616
+ }
617
+ #qlwapp .qlwapp-box .qlwapp-account {
618
+ background-color: #fff;
619
+ }
620
+ #qlwapp .qlwapp-box .qlwapp-account:not(:first-child) {
621
+ border-top: 1px solid #f5f5f5;
622
+ }
623
+ #qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
624
+ background-color: #eee;
625
+ }
626
+ #qlwapp .qlwapp-box .qlwapp-message,
627
+ #qlwapp .qlwapp-box .qlwapp-message:before {
628
+ background-color: #eee;
629
+ }
630
+ #qlwapp .qlwapp-box .qlwapp-footer,
631
+ #qlwapp .qlwapp-box .qlwapp-response {
632
+ color: #303030;
633
+ background-color: #fff;
634
+ border-top: 1px solid #e6e6e6;
635
+ }
636
+ #qlwapp .qlwapp-toggle,
637
+ #qlwapp .qlwapp-box .qlwapp-header,
638
+ #qlwapp .qlwapp-box .qlwapp-user,
639
+ #qlwapp .qlwapp-box .qlwapp-user:before {
640
+ background-color: #303030;
641
+ }
642
+ #qlwapp {
643
+ display: none;
644
+ }
645
+ #qlwapp.qlwapp-show .qlwapp-box {
646
+ visibility: visible;
647
+ opacity: 1;
648
+ transform: translateY(0) scale(1);
649
+ display: block;
650
+ }
651
+ #qlwapp.qlwapp-transition .qlwapp-box {
652
+ visibility: visible;
653
+ display: block;
654
+ }
655
+ #qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon {
656
+ transform: scale(0, 0);
657
+ opacity: 0;
658
+ }
659
+ #qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close {
660
+ transform: scale(1, 1);
661
+ opacity: 1;
662
+ }
663
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
664
+ transform: scale(0, 0);
665
+ opacity: 0;
666
+ }
667
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon {
668
+ transform: scale(1, 1);
669
+ opacity: 1;
670
+ }
671
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,
672
+ #qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close {
673
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
674
+ }
675
+ #qlwapp .qlwapp-box {
676
+ display: none;
677
+ opacity: 0;
678
+ visibility: hidden;
679
+ transform: translateY(50px);
680
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
681
+ }
682
+ @media (min-width: 430px) {
683
+ #qlwapp .qlwapp-box {
684
+ transform: translateY(50px) scale(0.9);
685
+ }
686
+ }
687
+ #qlwapp .qlwapp-box .qlwapp-carousel {
688
+ display: flex;
689
+ width: 200%;
690
+ height: 100%;
691
+ }
692
+ #qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide {
693
+ width: 50%;
694
+ transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms;
695
+ height: 100%;
696
+ overflow: hidden;
697
+ }
698
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide {
699
+ max-height: 300px;
700
+ }
701
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,
702
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,
703
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
704
+ opacity: 0;
705
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s;
706
+ }
707
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,
708
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label {
709
+ transform: translateX(56px);
710
+ }
711
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
712
+ transform: scale(0.5);
713
+ }
714
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-name {
715
+ transition-delay: 800ms;
716
+ }
717
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-label {
718
+ transition-delay: 850ms;
719
+ }
720
+ #qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar {
721
+ transition-delay: 900ms;
722
+ }
723
+ #qlwapp .qlwapp-box .qlwapp-footer,
724
+ #qlwapp .qlwapp-box .qlwapp-response,
725
+ #qlwapp .qlwapp-box .qlwapp-previous,
726
+ #qlwapp .qlwapp-box .qlwapp-message,
727
+ #qlwapp .qlwapp-box .qlwapp-user {
728
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms;
729
+ }
730
+ #qlwapp .qlwapp-box .qlwapp-response,
731
+ #qlwapp .qlwapp-box .qlwapp-previous,
732
+ #qlwapp .qlwapp-box .qlwapp-user {
733
+ opacity: 0;
734
+ }
735
+ #qlwapp .qlwapp-box .qlwapp-response {
736
+ pointer-events: none;
737
+ }
738
+ #qlwapp .qlwapp-box .qlwapp-previous {
739
+ transform: translateX(56px);
740
+ }
741
+ #qlwapp .qlwapp-box .qlwapp-user {
742
+ transform: translateY(56px);
743
+ }
744
+ #qlwapp .qlwapp-box .qlwapp-close {
745
+ transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
746
+ }
747
+ #qlwapp .qlwapp-box .qlwapp-description {
748
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
749
+ }
750
+ #qlwapp .qlwapp-box .qlwapp-account {
751
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in;
752
+ }
753
+ #qlwapp .qlwapp-box .qlwapp-previous {
754
+ transition-delay: 800ms;
755
+ }
756
+ #qlwapp .qlwapp-box .qlwapp-message {
757
+ transition-delay: 900ms;
758
+ }
759
+ #qlwapp .qlwapp-box .qlwapp-close,
760
+ #qlwapp .qlwapp-box .qlwapp-description {
761
+ transition-delay: 900ms;
762
+ }
763
+ #qlwapp .qlwapp-box .qlwapp-user {
764
+ transition-delay: 200ms;
765
+ }
766
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6) {
767
+ transition-delay: 600ms;
768
+ }
769
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5) {
770
+ transition-delay: 500ms;
771
+ }
772
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4) {
773
+ transition-delay: 400ms;
774
+ }
775
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3) {
776
+ transition-delay: 300ms;
777
+ }
778
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2) {
779
+ transition-delay: 200ms;
780
+ }
781
+ #qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1) {
782
+ transition-delay: 100ms;
783
+ }
784
+ #qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message {
785
+ opacity: 0;
786
+ transform: translateY(-56px);
787
+ }
788
+ #qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover {
789
+ background-color: #fafafa;
790
+ }
791
+ #qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide {
792
+ transform: translateX(-100%);
793
+ }
794
+ #qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel {
795
+ overflow: hidden;
796
+ max-height: 134px!important;
797
+ min-height: 122px;
798
+ }
799
+ #qlwapp .qlwapp-box.response .qlwapp-close {
800
+ transition-delay: 0ms;
801
+ }
802
+ #qlwapp .qlwapp-box.response .qlwapp-close,
803
+ #qlwapp .qlwapp-box.response .qlwapp-footer,
804
+ #qlwapp .qlwapp-box.response .qlwapp-description,
805
+ #qlwapp .qlwapp-box.response .qlwapp-account {
806
+ opacity: 0;
807
+ }
808
+ #qlwapp .qlwapp-box.response .qlwapp-account {
809
+ transform: translateY(-33.333%);
810
+ border-top-color: transparent!important;
811
+ }
812
+ #qlwapp .qlwapp-box.response .qlwapp-user {
813
+ display: block;
814
+ }
815
+ #qlwapp .qlwapp-box.response .qlwapp-message,
816
+ #qlwapp .qlwapp-box.response .qlwapp-previous,
817
+ #qlwapp .qlwapp-box.response .qlwapp-response {
818
+ opacity: 1;
819
+ }
820
+ #qlwapp .qlwapp-box.response .qlwapp-response {
821
+ pointer-events: all;
822
+ }
823
+ #qlwapp .qlwapp-box.response .qlwapp-message,
824
+ #qlwapp .qlwapp-box.response .qlwapp-previous {
825
+ transform: translate(0);
826
+ }
827
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide {
828
+ max-height: 84px;
829
+ }
830
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,
831
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar {
832
+ opacity: 1;
833
+ }
834
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label {
835
+ opacity: 0.5;
836
+ }
837
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,
838
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label {
839
+ transform: translateX(0);
840
+ }
841
+ #qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar {
842
+ transform: scale(1);
843
+ }
844
+ #qlwapp .qlwapp-box.response.opening .qlwapp-footer,
845
+ #qlwapp .qlwapp-box.response.opening .qlwapp-response,
846
+ #qlwapp .qlwapp-box.response.opening .qlwapp-close,
847
+ #qlwapp .qlwapp-box.response.opening .qlwapp-previous,
848
+ #qlwapp .qlwapp-box.response.opening .qlwapp-description,
849
+ #qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,
850
+ #qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label {
851
+ visibility: visible;
852
+ }
853
+ #qlwapp .qlwapp-box.texting .qlwapp-body {
854
+ overflow-y: auto;
855
+ }
856
+ #qlwapp .qlwapp-box.texting .qlwapp-user {
857
+ opacity: 1;
858
+ transform: translate(0);
859
+ }
860
+ #qlwapp .qlwapp-box.closing .qlwapp-previous {
861
+ transition-delay: 0ms;
862
+ transform: translateX(-24px);
863
+ opacity: 0;
864
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms;
865
+ }
866
+ #qlwapp .qlwapp-box.closing .qlwapp-description {
867
+ opacity: 0;
868
+ }
869
+ /*# sourceMappingURL=qlwapp.css.map */
4.2.5/assets/css/qlwapp.min.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+
2
+ @font-face{font-family:'qlwapp-whatsapp';src:url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:'qlwapp-whatsapp'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{box-sizing:border-box}@media(min-width:430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media(min-width:430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:'';display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{display:block;opacity:.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:0;text-decoration:none}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0 5px 40px 5px rgba(0,0,0,0.5)}@media(min-width:430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:'';position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(135deg,transparent 0,rgba(0,0,0,0.3) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media(min-width:430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:16px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:24px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 .25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center;text-align:right}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:'';display:block;width:15px;height:15px;position:absolute;bottom:2px;right:2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:.6;display:block}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{display:flex;flex-direction:column;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;margin:36px;position:relative;word-wrap:break-word;width:calc(100% - 36px*2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:'';position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:'';height:59px;top:-59px;background-image:linear-gradient(transparent,rgba(0,0,0,0.05));left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:0;padding:18px 56px 18px 36px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:0}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#fff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#303030}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0,0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1,1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215,0.61,0.355,1),opacity 300ms ease-in}@media(min-width:430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215,0.61,0.355,1) 1000ms,transform 300ms cubic-bezier(0.215,0.61,0.355,1) 500ms,opacity 500ms ease-in 500ms;height:100%;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) .3s,opacity ease-in .3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215,0.61,0.355,1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 900ms cubic-bezier(0.215,0.61,0.355,1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215,0.61,0.355,1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;max-height:134px!important;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent!important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215,0.61,0.355,1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}
4.2.5/assets/img/box1.png ADDED
Binary file
4.2.5/assets/img/box2.png ADDED
Binary file
4.2.5/assets/img/logo.jpg ADDED
Binary file
4.2.5/assets/img/quadlayers.jpg ADDED
Binary file
4.2.5/assets/js/qlwapp-admin.js ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($) {
2
+
3
+ $(document).on('ready', function () {
4
+
5
+ $('.qlwapp-select2').select2({allowClear: false, theme: 'default', minimumResultsForSearch: -1});
6
+
7
+ $('.qlwapp-select2-ajax').each(function () {
8
+
9
+ var $select = $(this),
10
+ name = $(this).data('name');
11
+
12
+ $select.select2({
13
+ allowClear: true,
14
+ ajax: {
15
+ url: ajaxurl,
16
+ dataType: 'json',
17
+ delay: 5000,
18
+ data: function (params) {
19
+ return {
20
+ q: params.term,
21
+ name: name,
22
+ per_page: 10,
23
+ action: 'qlwapp_get_posts'
24
+ };
25
+ },
26
+ processResults: function (response) {
27
+
28
+ var options = [];
29
+
30
+ if (response) {
31
+ $.each(response, function (index, text) {
32
+ options.push({id: text[0], text: text[1]});
33
+ });
34
+ }
35
+ return {
36
+ results: options
37
+ };
38
+ },
39
+ cache: true
40
+ },
41
+ //minimumInputLength: 3
42
+ });
43
+
44
+ });
45
+
46
+ $('.qlwapp-color-field').wpColorPicker();
47
+ });
48
+
49
+
50
+ $(document).on('click', '.upload_image_button', function (e) {
51
+ e.preventDefault();
52
+
53
+ var send_attachment_bkp = wp.media.editor.send.attachment,
54
+ button = $(this);
55
+
56
+ wp.media.editor.send.attachment = function (props, attachment) {
57
+ $(button).parent().prev().attr('src', attachment.url);
58
+ $(button).prev().val(attachment.url);
59
+ wp.media.editor.send.attachment = send_attachment_bkp;
60
+ }
61
+
62
+ wp.media.editor.open(button);
63
+
64
+ return false;
65
+ });
66
+
67
+ $(document).on('click', '.remove_image_button', function (e) {
68
+ e.preventDefault();
69
+
70
+ var src = $(this).parent().prev().attr('data-src');
71
+
72
+ $(this).parent().prev().attr('src', src);
73
+
74
+ $(this).prev().prev().val('');
75
+
76
+ return false;
77
+ });
78
+
79
+ })(jQuery);
4.2.5/assets/js/qlwapp-admin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(a){a(document).on("ready",function(){a(".qlwapp-select2").select2({allowClear:false,theme:"default",minimumResultsForSearch:-1});a(".qlwapp-select2-ajax").each(function(){var c=a(this),b=a(this).data("name");c.select2({allowClear:true,ajax:{url:ajaxurl,dataType:"json",delay:5000,data:function(d){return{q:d.term,name:b,per_page:10,action:"qlwapp_get_posts"}},processResults:function(d){var e=[];if(d){a.each(d,function(f,g){e.push({id:g[0],text:g[1]})})}return{results:e}},cache:true},})});a(".qlwapp-color-field").wpColorPicker()});a(document).on("click",".upload_image_button",function(d){d.preventDefault();var b=wp.media.editor.send.attachment,c=a(this);wp.media.editor.send.attachment=function(e,f){a(c).parent().prev().attr("src",f.url);a(c).prev().val(f.url);wp.media.editor.send.attachment=b};wp.media.editor.open(c);return false});a(document).on("click",".remove_image_button",function(b){b.preventDefault();var c=a(this).parent().prev().attr("data-src");a(this).parent().prev().attr("src",c);a(this).prev().prev().val("");return false})})(jQuery);
4.2.5/assets/js/qlwapp.js ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function ($, window, document, undefined) {
2
+ 'use strict';
3
+
4
+ var defaults = {};
5
+
6
+ function Plugin(element, options) {
7
+ this.$qlwapp = $(element);
8
+ //this.settings = $.extend({}, defaults, options);
9
+
10
+ this.init(this);
11
+ }
12
+
13
+ Plugin.prototype = {
14
+ init: function (plugin) {
15
+
16
+ var $qlwapp = this.$qlwapp;
17
+
18
+ $qlwapp.on('qlwapp.init', function (e) {
19
+ plugin.mobiledevice = (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent));
20
+ });
21
+
22
+ $qlwapp.on('qlwapp.resize', function (e) {
23
+ if ($(this).hasClass('qlwapp-show')) {
24
+ $(this).trigger('qlwapp.toggle');
25
+ }
26
+ });
27
+
28
+ $qlwapp.on('qlwapp.init', function (e) {
29
+
30
+ if (!plugin.mobiledevice) {
31
+ $qlwapp.addClass('desktop').removeClass('mobile');
32
+ } else {
33
+ $qlwapp.addClass('mobile').removeClass('desktop');
34
+ }
35
+
36
+ $qlwapp.addClass('qlwapp-js-ready');
37
+ });
38
+
39
+
40
+ // Ready!
41
+ // -----------------------------------------------------------------------
42
+ $qlwapp.addClass('qlwapp-js-ready').trigger('qlwapp.init');
43
+
44
+ // Height
45
+ // -----------------------------------------------------------------------
46
+
47
+ $qlwapp.on('qlwapp.height', function (e) {
48
+
49
+ var $container = $(e.delegateTarget),
50
+ $body = $container.find('.qlwapp-body'),
51
+ $carousel = $body.find('.qlwapp-carousel');
52
+
53
+ var $header = $container.find('.qlwapp-header'),
54
+ $footer = $container.find('.qlwapp-footer'),
55
+ height = ($(window).innerHeight() - $header.outerHeight() - $footer.outerHeight());
56
+
57
+ if (!plugin.mobiledevice) {
58
+ height = ($(window).innerHeight() * 0.666 - $header.outerHeight() - $footer.outerHeight());
59
+ }
60
+
61
+ $carousel.css({'max-height': height + 'px'});
62
+
63
+ });
64
+
65
+ // Toggle
66
+ // -----------------------------------------------------------------------
67
+
68
+ $qlwapp.on('qlwapp.toggle', function (e) {
69
+
70
+ var $container = $(e.delegateTarget),
71
+ $box = $container.find('.qlwapp-box');
72
+
73
+ $container.addClass('qlwapp-transition');
74
+
75
+ $box.removeClass('response texting');
76
+
77
+ setTimeout(function () {
78
+ $container.toggleClass('qlwapp-show').trigger('qlwapp.height');
79
+ }, 10);
80
+
81
+ setTimeout(function () {
82
+ $container.toggleClass('qlwapp-transition');
83
+ }, 300);
84
+
85
+ });
86
+
87
+ // Click
88
+ // -----------------------------------------------------------------------
89
+
90
+ //console.log('toggle');
91
+
92
+ $qlwapp.on('click', '[data-action=box], [data-action=close]', function (e) {
93
+ e.preventDefault();
94
+
95
+ $(e.delegateTarget).trigger('qlwapp.toggle');
96
+
97
+ });
98
+
99
+ // Whatsapp
100
+ // -----------------------------------------------------------------------
101
+
102
+ $qlwapp.on('click', '[data-action=open]', function (e) {
103
+
104
+ var url = 'https://api.whatsapp.com/send';
105
+
106
+ if (!plugin.mobiledevice) {
107
+ url = 'https://web.whatsapp.com/send';
108
+ }
109
+
110
+ $(this).attr('href', url + '?phone=' + $(this).data('phone') + '&text=' + $(this).data('message'));
111
+
112
+ });
113
+
114
+ // Response
115
+ // -----------------------------------------------------------------------
116
+
117
+ $qlwapp.on('click', '[data-action=previous]', function (e) {
118
+ e.preventDefault();
119
+
120
+ var $container = $(e.delegateTarget),
121
+ $box = $container.find('.qlwapp-box');//,
122
+ //$user = $box.find('.qlwapp-user');
123
+
124
+ $box.addClass('closing');
125
+
126
+ setTimeout(function () {
127
+ $box.removeClass('response').removeClass('closing');
128
+ $box.removeClass('texting')
129
+ //$user.empty();
130
+ }, 300);
131
+
132
+ });
133
+
134
+ $qlwapp.on('click', '[data-action=chat]', function (e) {
135
+ e.preventDefault();
136
+
137
+ var $contact = $(this),
138
+ $container = $(e.delegateTarget),
139
+ $box = $container.find('.qlwapp-box'),
140
+ avatar = $contact.find('.qlwapp-avatar img').attr('src'),
141
+ name = $contact.find('.qlwapp-name').text(),
142
+ label = $contact.find('.qlwapp-label').text(),
143
+ //url = $contact.data('url'),
144
+ message = $contact.data('message'),
145
+ phone = $contact.data('phone');
146
+
147
+ $box.addClass('response').addClass('opening');
148
+
149
+ $container.trigger('qlwapp.height');
150
+
151
+ setTimeout(function () {
152
+ $box.removeClass('opening');
153
+ }, 300);
154
+
155
+ var $reply = $box.find('.qlwapp-reply'),
156
+ $header = $box.find('.qlwapp-header'),
157
+ $avatar = $header.find('.qlwapp-avatar img'),
158
+ $number = $header.find('.qlwapp-number'),
159
+ $name = $header.find('.qlwapp-name'),
160
+ $label = $header.find('.qlwapp-label'),
161
+ $message = $box.find('.qlwapp-message');
162
+
163
+
164
+ $reply.data('phone', phone);//.data('message', message);
165
+ $avatar.attr('src', avatar);
166
+ $number.html(phone);
167
+ $name.html(name);
168
+ $label.html(label);
169
+ $message.html(message);
170
+
171
+ });
172
+
173
+ // Response
174
+ // -----------------------------------------------------------------------
175
+
176
+ $qlwapp.on('click', 'textarea', function (e) {
177
+ $qlwapp.off('qlwapp.resize');
178
+ });
179
+
180
+ $qlwapp.on('keypress', 'textarea', function (e) {
181
+ if (e.keyCode == 13) {
182
+ $qlwapp.find('.qlwapp-reply').trigger('click');
183
+ setTimeout(function () {
184
+ window.location = $qlwapp.find('.qlwapp-reply').attr('href');
185
+ }, 100);
186
+ }
187
+ });
188
+
189
+ $qlwapp.on('keyup', '[data-action=response]', function (e) {
190
+ e.preventDefault();
191
+
192
+ var $textarea = $(this).find('textarea'),
193
+ $pre = $(this).find('pre'),
194
+ $reply = $(this).find('.qlwapp-reply'),
195
+ $container = $(e.delegateTarget),
196
+ $box = $container.find('.qlwapp-box'),
197
+ //$user = $box.find('.qlwapp-user'),
198
+ $buttons = $box.find('.qlwapp-buttons');
199
+
200
+ $pre.html($textarea.val());
201
+
202
+ setTimeout(function () {
203
+ $box.addClass('texting').css({'padding-bottom': $pre.outerHeight()});
204
+ $buttons.addClass('active');
205
+ var message = $textarea.val();
206
+ $reply.data('message', message);
207
+
208
+ if (message == '') {
209
+ $box.removeClass('texting');
210
+ $buttons.removeClass('active');
211
+ }
212
+
213
+ }, 300);
214
+
215
+ });
216
+
217
+ $qlwapp.trigger('qlwapp.init');
218
+ },
219
+ };
220
+
221
+ $.fn.qlwapp = function (options) {
222
+
223
+ var args = arguments;
224
+
225
+ if (options === undefined || typeof options === 'object') {
226
+ return this.each(function () {
227
+ if (!$.data(this, 'plugin_qlwapp')) {
228
+ $.data(this, 'plugin_qlwapp', new Plugin(this, options));
229
+ }
230
+ });
231
+ } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
232
+ // Cache the method call to make it possible to return a value
233
+ var returns;
234
+ this.each(function () {
235
+ var instance = $.data(this, 'plugin_qlwapp');
236
+ // Tests that there's already a plugin-instance and checks that the requested public method exists
237
+ if (instance instanceof Plugin && typeof instance[options] === 'function') {
238
+ // Call the method of our plugin instance, and pass it the supplied arguments.
239
+ returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
240
+ }
241
+ // Allow instances to be destroyed via the 'destroy' method
242
+ if (options === 'destroy') {
243
+ //console.log('destroy');
244
+ $.data(this, 'plugin_qlwapp', null);
245
+ }
246
+ });
247
+ // If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
248
+ return returns !== undefined ? returns : this;
249
+ }
250
+ }
251
+
252
+ function qlwapp_init() {
253
+ $('div#qlwapp').qlwapp();
254
+ }
255
+
256
+ qlwapp_init();
257
+
258
+ $(window).on('load', function () {
259
+ qlwapp_init();
260
+ //$('div#qlwapp').trigger('qlwapp.toggle');
261
+ });
262
+
263
+ $(window).on('click', function (e) {
264
+ if (!$(e.target).closest('#qlwapp.qlwapp-show').length) {
265
+ $('div#qlwapp.qlwapp-show').trigger('qlwapp.toggle');
266
+ }
267
+ });
268
+
269
+ $(window).on('resize', function (e) {
270
+ $('div#qlwapp').trigger('qlwapp.resize');
271
+ $('div#qlwapp').trigger('qlwapp.init');
272
+ });
273
+
274
+ })(jQuery, window, document);
4.2.5/assets/js/qlwapp.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(d,c,a,g){var e={};function b(i,h){this.$qlwapp=d(i);this.init(this)}b.prototype={init:function(i){var h=this.$qlwapp;h.on("qlwapp.init",function(j){i.mobiledevice=(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))});h.on("qlwapp.resize",function(j){if(d(this).hasClass("qlwapp-show")){d(this).trigger("qlwapp.toggle")}});h.on("qlwapp.init",function(j){if(!i.mobiledevice){h.addClass("desktop").removeClass("mobile")}else{h.addClass("mobile").removeClass("desktop")}h.addClass("qlwapp-js-ready")});h.addClass("qlwapp-js-ready").trigger("qlwapp.init");h.on("qlwapp.height",function(o){var p=d(o.delegateTarget),n=p.find(".qlwapp-body"),m=n.find(".qlwapp-carousel");var l=p.find(".qlwapp-header"),k=p.find(".qlwapp-footer"),j=(d(c).innerHeight()-l.outerHeight()-k.outerHeight());if(!i.mobiledevice){j=(d(c).innerHeight()*0.666-l.outerHeight()-k.outerHeight())}m.css({"max-height":j+"px"})});h.on("qlwapp.toggle",function(k){var l=d(k.delegateTarget),j=l.find(".qlwapp-box");l.addClass("qlwapp-transition");j.removeClass("response texting");setTimeout(function(){l.toggleClass("qlwapp-show").trigger("qlwapp.height")},10);setTimeout(function(){l.toggleClass("qlwapp-transition")},300)});h.on("click","[data-action=box], [data-action=close]",function(j){j.preventDefault();d(j.delegateTarget).trigger("qlwapp.toggle")});h.on("click","[data-action=open]",function(k){var j="https://api.whatsapp.com/send";if(!i.mobiledevice){j="https://web.whatsapp.com/send"}d(this).attr("href",j+"?phone="+d(this).data("phone")+"&text="+d(this).data("message"))});h.on("click","[data-action=previous]",function(k){k.preventDefault();var l=d(k.delegateTarget),j=l.find(".qlwapp-box");j.addClass("closing");setTimeout(function(){j.removeClass("response").removeClass("closing");j.removeClass("texting")},300)});h.on("click","[data-action=chat]",function(r){r.preventDefault();var k=d(this),x=d(r.delegateTarget),l=x.find(".qlwapp-box"),t=k.find(".qlwapp-avatar img").attr("src"),m=k.find(".qlwapp-name").text(),u=k.find(".qlwapp-label").text(),y=k.data("message"),q=k.data("phone");l.addClass("response").addClass("opening");x.trigger("qlwapp.height");setTimeout(function(){l.removeClass("opening")},300);var n=l.find(".qlwapp-reply"),j=l.find(".qlwapp-header"),o=j.find(".qlwapp-avatar img"),v=j.find(".qlwapp-number"),w=j.find(".qlwapp-name"),s=j.find(".qlwapp-label"),p=l.find(".qlwapp-message");n.data("phone",q);o.attr("src",t);v.html(q);w.html(m);s.html(u);p.html(y)});h.on("click","textarea",function(j){h.off("qlwapp.resize")});h.on("keypress","textarea",function(j){if(j.keyCode==13){h.find(".qlwapp-reply").trigger("click");setTimeout(function(){c.location=h.find(".qlwapp-reply").attr("href")},100)}});h.on("keyup","[data-action=response]",function(m){m.preventDefault();var p=d(this).find("textarea"),o=d(this).find("pre"),j=d(this).find(".qlwapp-reply"),n=d(m.delegateTarget),l=n.find(".qlwapp-box"),k=l.find(".qlwapp-buttons");o.html(p.val());setTimeout(function(){l.addClass("texting").css({"padding-bottom":o.outerHeight()});k.addClass("active");var q=p.val();j.data("message",q);if(q==""){l.removeClass("texting");k.removeClass("active")}},300)});h.trigger("qlwapp.init")},};d.fn.qlwapp=function(i){var h=arguments;if(i===g||typeof i==="object"){return this.each(function(){if(!d.data(this,"plugin_qlwapp")){d.data(this,"plugin_qlwapp",new b(this,i))}})}else{if(typeof i==="string"&&i[0]!=="_"&&i!=="init"){var j;this.each(function(){var k=d.data(this,"plugin_qlwapp");if(k instanceof b&&typeof k[i]==="function"){j=k[i].apply(k,Array.prototype.slice.call(h,1))}if(i==="destroy"){d.data(this,"plugin_qlwapp",null)}});return j!==g?j:this}}};function f(){d("div#qlwapp").qlwapp()}f();d(c).on("load",function(){f()});d(c).on("click",function(h){if(!d(h.target).closest("#qlwapp.qlwapp-show").length){d("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")}});d(c).on("resize",function(h){d("div#qlwapp").trigger("qlwapp.resize");d("div#qlwapp").trigger("qlwapp.init")})})(jQuery,window,document);
4.2.5/assets/js/select2.min.js ADDED
@@ -0,0 +1 @@
 
1
+ /*! Select2 4.0.6-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=a('<span class="select2-selection__clear">&times;</span>');c.StoreData(e[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(e)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"Please enter "+(a.minimum-a.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,d.GetData(a[0])):d.GetData(a[0]);var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
4.2.5/assets/less/animations.less ADDED
@@ -0,0 +1,369 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #qlwapp {
2
+ display: none;
3
+
4
+
5
+ &.qlwapp-show {
6
+ .qlwapp-box {
7
+ visibility: visible;
8
+ opacity: 1;
9
+ transform: translateY(0) scale(1);
10
+ display: block;
11
+ }
12
+ }
13
+
14
+ &.qlwapp-transition {
15
+ .qlwapp-box {
16
+ visibility: visible;
17
+ display: block;
18
+ }
19
+ }
20
+
21
+ &.qlwapp-bubble {
22
+
23
+ &.qlwapp-show {
24
+ .qlwapp-toggle {
25
+
26
+ .qlwapp-icon {
27
+ transform: scale(0,0);
28
+ opacity: 0;
29
+ }
30
+
31
+ .qlwapp-close {
32
+ transform: scale(1,1);
33
+ opacity: 1;
34
+ }
35
+ }
36
+ }
37
+
38
+ .qlwapp-toggle {
39
+
40
+ .qlwapp-close {
41
+ transform: scale(0,0);
42
+ opacity: 0;
43
+ }
44
+
45
+ .qlwapp-icon {
46
+ transform: scale(1,1);
47
+ opacity: 1;
48
+ }
49
+
50
+ .qlwapp-icon,
51
+ .qlwapp-close {
52
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
53
+ }
54
+
55
+ }
56
+ }
57
+
58
+ .qlwapp-box {
59
+ display: none;
60
+ opacity: 0;
61
+ visibility: hidden;
62
+ transform: translateY(50px);
63
+ transition: transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 300ms ease-in;
64
+
65
+ @media (min-width: 430px) {
66
+ transform: translateY(50px) scale(0.9);
67
+ }
68
+
69
+ // Carousel
70
+ // ---------------------------------------------------------------------------
71
+
72
+ .qlwapp-carousel {
73
+ display: flex;
74
+ width: 200%;
75
+ height: 100%;
76
+ //overflow: hidden;
77
+
78
+ .qlwapp-slide {
79
+ width: 50%;
80
+ transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms, opacity 500ms ease-in 500ms;
81
+ height: 100%;
82
+ overflow: hidden;
83
+ //&:last-child {
84
+ //max-height: 94px;
85
+ //}
86
+ }
87
+ }
88
+
89
+ .qlwapp-header {
90
+
91
+ .qlwapp-slide {
92
+ max-height: 300px;
93
+ }
94
+
95
+ .qlwapp-name,
96
+ .qlwapp-label,
97
+ .qlwapp-avatar {
98
+ opacity: 0;
99
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s, opacity ease-in 0.3s;
100
+ }
101
+
102
+ .qlwapp-name,
103
+ .qlwapp-label {
104
+ transform: translateX(56px);
105
+ }
106
+
107
+ .qlwapp-avatar {
108
+ transform: scale(0.5);
109
+ }
110
+
111
+ .qlwapp-name {
112
+ transition-delay: 800ms
113
+ }
114
+
115
+ .qlwapp-label {
116
+ transition-delay: 850ms
117
+ }
118
+
119
+ .qlwapp-avatar {
120
+ transition-delay: 900ms
121
+ }
122
+
123
+ }
124
+
125
+ .qlwapp-footer,
126
+ .qlwapp-response,
127
+ .qlwapp-previous,
128
+ .qlwapp-message,
129
+ .qlwapp-user {
130
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms, opacity ease-in 200ms;
131
+ }
132
+
133
+ .qlwapp-response,
134
+ .qlwapp-previous,
135
+ .qlwapp-user {
136
+ opacity: 0;
137
+ }
138
+
139
+ .qlwapp-response {
140
+ pointer-events: none;
141
+ }
142
+
143
+ .qlwapp-previous {
144
+ transform: translateX(56px);
145
+ }
146
+
147
+ .qlwapp-user {
148
+ transform: translateY(56px);
149
+ }
150
+
151
+ .qlwapp-close {
152
+ transition: opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
153
+ }
154
+
155
+ .qlwapp-description {
156
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
157
+ }
158
+
159
+ .qlwapp-account {
160
+ transition: transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1), opacity 150ms ease-in;
161
+ }
162
+ .qlwapp-previous {
163
+ transition-delay: 800ms
164
+ }
165
+
166
+ .qlwapp-message {
167
+ transition-delay: 900ms
168
+ }
169
+
170
+ .qlwapp-close,
171
+ .qlwapp-description {
172
+ transition-delay: 900ms
173
+ }
174
+
175
+ .qlwapp-user {
176
+ transition-delay: 200ms
177
+ }
178
+
179
+ .qlwapp-account {
180
+
181
+ &:nth-of-type(6) {
182
+ transition-delay: 600ms
183
+ }
184
+
185
+ &:nth-of-type(5) {
186
+ transition-delay: 500ms
187
+ }
188
+
189
+ &:nth-of-type(4) {
190
+ transition-delay: 400ms
191
+ }
192
+
193
+ &:nth-of-type(3) {
194
+ transition-delay: 300ms
195
+ }
196
+
197
+ &:nth-of-type(2) {
198
+ transition-delay: 200ms
199
+ }
200
+
201
+ &:nth-of-type(1) {
202
+ transition-delay: 100ms
203
+ }
204
+
205
+ }
206
+
207
+ // Premium
208
+ // -------------------------------------------------------------------------
209
+ .qlwapp-slide {
210
+ .qlwapp-message {
211
+ opacity: 0;
212
+ transform: translateY(-56px);
213
+ }
214
+
215
+ .qlwapp-box {
216
+ .qlwapp-account {
217
+ &:hover {
218
+ background-color: #fafafa;
219
+ }
220
+ }
221
+
222
+ }
223
+ }
224
+
225
+ // Response
226
+ // -------------------------------------------------------------------------
227
+
228
+ &.response {
229
+
230
+ .qlwapp-carousel {
231
+ .qlwapp-slide {
232
+ transform: translateX(-100%);
233
+ }
234
+ }
235
+
236
+ .qlwapp-body {
237
+ .qlwapp-carousel {
238
+ overflow: hidden;
239
+ max-height: 134px!important;
240
+ min-height: 122px;
241
+ }
242
+ }
243
+
244
+ // Out
245
+ // -----------------------------------------------------------------------
246
+
247
+ .qlwapp-close {
248
+ transition-delay: 0ms;
249
+ }
250
+
251
+ .qlwapp-close,
252
+ .qlwapp-footer,
253
+ .qlwapp-description,
254
+ .qlwapp-account {
255
+ opacity: 0;
256
+ }
257
+
258
+ .qlwapp-account {
259
+ transform: translateY(-33.333%);
260
+ border-top-color: transparent!important;
261
+ }
262
+
263
+ // In
264
+ // -----------------------------------------------------------------------
265
+
266
+ //.qlwapp-chat {
267
+ // overflow: hidden;
268
+ //}
269
+
270
+ .qlwapp-user {
271
+ display: block;
272
+ //opacity: 0;
273
+ }
274
+
275
+ .qlwapp-message,
276
+ .qlwapp-previous,
277
+ .qlwapp-response {
278
+ opacity: 1;
279
+ }
280
+
281
+ .qlwapp-response {
282
+ pointer-events: all;
283
+ }
284
+
285
+ .qlwapp-message,
286
+ .qlwapp-previous {
287
+ transform: translate(0);
288
+ }
289
+
290
+ .qlwapp-header {
291
+
292
+ .qlwapp-slide {
293
+ max-height: 84px;
294
+ }
295
+
296
+ .qlwapp-name,
297
+ .qlwapp-avatar {
298
+ opacity: 1;
299
+ }
300
+
301
+ .qlwapp-label {
302
+ opacity: 0.5;
303
+ }
304
+
305
+ .qlwapp-name,
306
+ .qlwapp-label {
307
+ transform: translateX(0);
308
+ }
309
+
310
+ .qlwapp-avatar {
311
+ transform: scale(1);
312
+ }
313
+
314
+ }
315
+
316
+ &.opening {
317
+
318
+ .qlwapp-footer,
319
+ .qlwapp-response,
320
+ .qlwapp-close,
321
+ .qlwapp-previous,
322
+ .qlwapp-description,
323
+ .qlwapp-header .qlwapp-name,
324
+ .qlwapp-header .qlwapp-label {
325
+ visibility: visible;
326
+ }
327
+ }
328
+
329
+ }
330
+
331
+ &.texting {
332
+
333
+ .qlwapp-body {
334
+ overflow-y: auto;
335
+ }
336
+
337
+ .qlwapp-user {
338
+ opacity: 1;
339
+ transform: translate(0);
340
+ }
341
+
342
+ }
343
+
344
+ &.closing {
345
+
346
+ .qlwapp-carousel {
347
+
348
+ .qlwapp-slide {
349
+ //transition-delay: 0ms;
350
+ //transition: max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms, transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 0ms, opacity 500ms ease-in 500ms;
351
+ }
352
+ }
353
+
354
+ .qlwapp-previous {
355
+ transition-delay: 0ms;
356
+ transform: translateX(-24px);
357
+ opacity: 0;
358
+ transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms, opacity ease-out 200ms;
359
+ }
360
+
361
+ .qlwapp-description {
362
+ opacity: 0;
363
+ }
364
+
365
+ }
366
+
367
+ }
368
+ }
369
+
4.2.5/assets/less/colors.less ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #qlwapp {
2
+ .qlwapp-previous,
3
+ .qlwapp-close,
4
+ .qlwapp-toggle,
5
+ .qlwapp-box .qlwapp-header,
6
+ .qlwapp-box .qlwapp-contact,
7
+ .qlwapp-box .qlwapp-user {
8
+ color: #ffffff;
9
+ }
10
+
11
+ &.qlwapp-bubble {
12
+ .qlwapp-toggle .qlwapp-text {
13
+ color: #303030;
14
+ }
15
+ }
16
+
17
+ .qlwapp-box,
18
+ .qlwapp-box:before {
19
+ background-color: #fff;
20
+ }
21
+
22
+ .qlwapp-box .qlwapp-account {
23
+ background-color: #fff;
24
+
25
+ &:not(:first-child) {
26
+ border-top: 1px solid #f5f5f5;
27
+ }
28
+ }
29
+
30
+ .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container {
31
+ background-color: #eee;
32
+ }
33
+
34
+ .qlwapp-box .qlwapp-message,
35
+ .qlwapp-box .qlwapp-message:before {
36
+ background-color: #eee;
37
+ }
38
+
39
+ .qlwapp-box .qlwapp-footer,
40
+ .qlwapp-box .qlwapp-response {
41
+ color: #303030;
42
+ background-color: #fff;
43
+ border-top: 1px solid #e6e6e6;
44
+ }
45
+
46
+ .qlwapp-toggle,
47
+ .qlwapp-box .qlwapp-header,
48
+ .qlwapp-box .qlwapp-user,
49
+ .qlwapp-box .qlwapp-user:before {
50
+ background-color: #303030;
51
+ }
52
+
53
+ }
4.2.5/assets/less/qlwapp.less ADDED
@@ -0,0 +1,778 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @font-face {
2
+ font-family: 'qlwapp-whatsapp';
3
+ src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+
8
+ .qlwapp-whatsapp-icon {
9
+ font-family: 'qlwapp-whatsapp' !important;
10
+ speak: none;
11
+ font-style: normal;
12
+ font-weight: normal;
13
+ font-variant: normal;
14
+ text-transform: none;
15
+ line-height: 1;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ }
19
+
20
+ .qlwapp-whatsapp-icon:before {
21
+ content: "\e900";
22
+ }
23
+
24
+ #qlwapp {
25
+
26
+ box-sizing: border-box;
27
+
28
+ @media (min-width: 430px) {
29
+ width: 430px;
30
+ }
31
+
32
+
33
+ * {
34
+ box-sizing: border-box;
35
+ }
36
+
37
+ // Ready
38
+ // ---------------------------------------------------------------------------
39
+
40
+ &.qlwapp-js-ready {
41
+ display: block;
42
+ }
43
+
44
+ &.qlwapp-hide,
45
+ &.qlwapp-desktop.mobile,
46
+ &.qlwapp-mobile.desktop {
47
+ display: none;
48
+ }
49
+
50
+ // Position
51
+ // ---------------------------------------------------------------------------
52
+ &.qlwapp-middle-left,
53
+ &.qlwapp-bottom-left,
54
+ &.qlwapp-middle-right,
55
+ &.qlwapp-bottom-right {
56
+ position: fixed;
57
+ z-index: 9999999;
58
+ }
59
+
60
+ // Left
61
+ // ---------------------------------------------------------------------------
62
+
63
+ &.qlwapp-middle-left,
64
+ &.qlwapp-bottom-left {
65
+ right: auto;
66
+ left: 0;
67
+
68
+ &.qlwapp-bubble,
69
+ &.qlwapp-button {
70
+ .qlwapp-developer,
71
+ .qlwapp-toggle {
72
+ margin-left: 20px;
73
+ }
74
+ }
75
+
76
+ &.qlwapp-bubble {
77
+ .qlwapp-toggle {
78
+ .qlwapp-text {
79
+ right: auto;
80
+ left: 60px;
81
+ }
82
+ }
83
+ }
84
+
85
+ .qlwapp-box {
86
+ &:before {
87
+ right: auto;
88
+ left: 20px;
89
+ }
90
+ }
91
+
92
+ }
93
+
94
+ // Right
95
+ // ---------------------------------------------------------------------------
96
+
97
+ &.qlwapp-middle-right,
98
+ &.qlwapp-bottom-right {
99
+ left: auto;
100
+ right: 0;
101
+
102
+ &.qlwapp-bubble,
103
+ &.qlwapp-button {
104
+ .qlwapp-developer,
105
+ .qlwapp-toggle {
106
+ margin-right: 20px;
107
+ }
108
+ }
109
+
110
+ }
111
+
112
+ // Middle
113
+ // ---------------------------------------------------------------------------
114
+
115
+ &.qlwapp-middle-left,
116
+ &.qlwapp-middle-right {
117
+ top: 40%;
118
+ bottom: auto;
119
+ .qlwapp-developer {
120
+ padding: 0 24px;
121
+ }
122
+ }
123
+
124
+ &.qlwapp-middle-left {
125
+ &.qlwapp-button {
126
+ .qlwapp-developer,
127
+ .qlwapp-toggle {
128
+ margin-left: -48px;
129
+ padding-left: 60px;
130
+ }
131
+ }
132
+ }
133
+
134
+ &.qlwapp-middle-right {
135
+ &.qlwapp-button {
136
+ .qlwapp-developer,
137
+ .qlwapp-toggle {
138
+ margin-right: -48px;
139
+ padding-right: 60px;
140
+ }
141
+
142
+ }
143
+ }
144
+
145
+ // Bottom
146
+ // ---------------------------------------------------------------------------
147
+
148
+ &.qlwapp-bottom-left,
149
+ &.qlwapp-bottom-right {
150
+ top: auto;
151
+ bottom: 0;
152
+ }
153
+
154
+ /*&.qlwapp-middle-left {
155
+ &.qlwapp-button {
156
+ .qlwapp-developer,
157
+ .qlwapp-toggle {
158
+ margin-left: -48px;
159
+ padding-left: 60px;
160
+ }
161
+ }
162
+ }
163
+
164
+ &.qlwapp-middle-right {
165
+ &.qlwapp-button {
166
+ .qlwapp-developer,
167
+ .qlwapp-toggle {
168
+ margin-right: -48px;
169
+ padding-right: 60px;
170
+ }
171
+
172
+ }
173
+ }
174
+
175
+ &.qlwapp-bottom-left {
176
+ &.qlwapp-bubble,
177
+ &.qlwapp-button {
178
+ .qlwapp-developer,
179
+ .qlwapp-toggle {
180
+ margin-left: 20px;
181
+ }
182
+ }
183
+
184
+ &.qlwapp-bubble {
185
+ .qlwapp-toggle {
186
+ .qlwapp-text {
187
+ right: auto;
188
+ left: 60px;
189
+ }
190
+ }
191
+ }
192
+
193
+ .qlwapp-box {
194
+ &:before {
195
+ right: auto;
196
+ left: 20px;
197
+ }
198
+ }
199
+
200
+ }
201
+
202
+ &.qlwapp-bottom-right {
203
+ &.qlwapp-bubble,
204
+ &.qlwapp-button {
205
+
206
+ .qlwapp-developer,
207
+ .qlwapp-toggle {
208
+ margin-right: 20px;
209
+ }
210
+ }
211
+ }*/
212
+
213
+ &.qlwapp-rounded {
214
+ &.qlwapp-bubble {
215
+ .qlwapp-toggle {
216
+ border-radius: 50%;
217
+ }
218
+ }
219
+ &.qlwapp-button {
220
+ .qlwapp-toggle {
221
+ border-radius: 50px;
222
+ }
223
+ }
224
+
225
+ .qlwapp-box {
226
+ @media (min-width: 430px) {
227
+ border-radius: 8px;
228
+ }
229
+
230
+ .qlwapp-user,
231
+ .qlwapp-message {
232
+ border-radius: 4px;
233
+ }
234
+
235
+ }
236
+ }
237
+
238
+ p:last-child {
239
+ margin: 0;
240
+ }
241
+
242
+ time {
243
+ opacity: 0.8;
244
+ font-style: italic;
245
+ font-size: 10px;
246
+ }
247
+
248
+ // General
249
+ // ---------------------------------------------------------------------------
250
+
251
+ .qlwapp-container {
252
+ display: flex;
253
+ flex-direction: column;
254
+ }
255
+
256
+ .qlwapp-clearfix {
257
+ &:before,
258
+ &:after {
259
+ content: '';
260
+ display: block;
261
+ clear: both;
262
+ }
263
+ }
264
+
265
+ .qlwapp-previous,
266
+ .qlwapp-close {
267
+ display: block;
268
+ opacity: 0.8;
269
+ font-style: unset;
270
+ font-size: 24px;
271
+ font-weight: bold;
272
+ width: 24px;
273
+ height: 24px;
274
+ cursor: pointer;
275
+ text-align: center;
276
+ line-height: 24px;
277
+ z-index: 1;
278
+ }
279
+
280
+ .qlwapp-previous {
281
+ width: 16px;
282
+ height: 36px;
283
+ cursor: pointer;
284
+ text-align: center;
285
+ line-height: 36px;
286
+ margin-right: auto;
287
+ }
288
+
289
+ .qlwapp-developer {
290
+ font-size: 8px;
291
+ top: -20px;
292
+ position: relative;
293
+ }
294
+
295
+ .qlwapp-developer,
296
+ .qlwapp-toggle {
297
+ display: inline-flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ margin-left: auto;
301
+ margin-right: auto;
302
+ }
303
+
304
+ .qlwapp-toggle {
305
+ cursor: pointer;
306
+ box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16);
307
+ margin-top: 24px;
308
+ margin-bottom: 24px;
309
+ position: relative;
310
+ text-decoration: none;
311
+
312
+ &,
313
+ &:active,
314
+ &:focus,
315
+ &:hover {
316
+ outline: none;
317
+ text-decoration: none;
318
+ }
319
+
320
+ }
321
+
322
+ .qlwapp-avatar {
323
+ .qlwapp-avatar-container {
324
+ overflow: hidden;
325
+ border-radius: 50%;
326
+ width: inherit;
327
+ height: inherit;
328
+ img {
329
+ width: 100%;
330
+ height: auto;
331
+ }
332
+ }
333
+ }
334
+
335
+ // Bubble
336
+ // ---------------------------------------------------------------------------
337
+ &.qlwapp-bubble {
338
+
339
+ .qlwapp-toggle {
340
+ width: 60px;
341
+ height: 60px;
342
+
343
+ .qlwapp-icon,
344
+ .qlwapp-close {
345
+ position: absolute;
346
+ display: block;
347
+ pointer-events: none;
348
+ font-size: 24px;
349
+ }
350
+
351
+ .qlwapp-text {
352
+ position: absolute;
353
+ right: 60px;
354
+ height: 60px;
355
+ margin: 0 24px;
356
+ display: flex;
357
+ align-items: center;
358
+ justify-content: flex-end;
359
+ font-weight: bold;
360
+ white-space: pre;
361
+ }
362
+ }
363
+ }
364
+
365
+ // Button
366
+ // ---------------------------------------------------------------------------
367
+ &.qlwapp-button {
368
+
369
+ .qlwapp-toggle {
370
+ height: 40px;
371
+ white-space: nowrap;
372
+ padding: 12px 24px;
373
+
374
+ .qlwapp-icon {
375
+ margin: 0 12px 0 0;
376
+ }
377
+
378
+ .qlwapp-close {
379
+ display: none;
380
+ }
381
+
382
+ }
383
+ }
384
+
385
+ // Box
386
+ // ---------------------------------------------------------------------------
387
+ .qlwapp-box {
388
+ padding-bottom: 56px;
389
+ position: fixed;
390
+ top: auto;
391
+ bottom: 0;
392
+ left: 0;
393
+ right: 0;
394
+ z-index: 99999;
395
+ box-shadow: 0px 5px 40px 5px rgba(0,0,0,0.5);
396
+
397
+ // Desktop
398
+ // ---------------------------------------------------------------------------
399
+
400
+ @media (min-width: 430px) {
401
+ position: relative;
402
+ top: auto;
403
+ bottom: auto;
404
+ left: auto;
405
+ right: auto;
406
+ box-shadow: 0 8px 25px -5px rgba(45, 62, 79, .15);
407
+ margin-top: 24px;
408
+ margin-left: 24px;
409
+ margin-right: 24px;
410
+ margin-bottom: 12px;
411
+
412
+ &:before {
413
+ content: '';
414
+ position: absolute;
415
+ bottom: -6px;
416
+ right: 24px;
417
+ width: 13px;
418
+ height: 13px;
419
+ transform: rotate(45deg);
420
+ }
421
+
422
+ .qlwapp-header {
423
+ border-top-left-radius: inherit;
424
+ border-top-right-radius: inherit;
425
+ }
426
+
427
+ .qlwapp-footer,
428
+ .qlwapp-response {
429
+ border-bottom-left-radius: inherit;
430
+ border-bottom-right-radius: inherit;
431
+ }
432
+
433
+ }
434
+
435
+ // Header
436
+ // -------------------------------------------------------------------------
437
+
438
+ .qlwapp-header {
439
+ position: relative;
440
+ overflow: hidden;
441
+
442
+ &:before {
443
+ content: '';
444
+ position: absolute;
445
+ top: 0;
446
+ bottom: 0;
447
+ left: 0;
448
+ right: 0;
449
+ background: linear-gradient(135deg, transparent 0%, rgba(0,0,0,0.3) 100%);
450
+ }
451
+
452
+ .qlwapp-close {
453
+ position: absolute;
454
+ top: 12px;
455
+ right: 12px;
456
+
457
+ @media (min-width: 430px) {
458
+ position: absolute;
459
+ top: 7px;
460
+ right: 7px;
461
+ font-size: 16px;
462
+ }
463
+ }
464
+
465
+ .qlwapp-description {
466
+ position: relative;
467
+ }
468
+
469
+ }
470
+
471
+ .qlwapp-description,
472
+ .qlwapp-contact {
473
+ padding: 24px 36px;
474
+ height: 100%;
475
+ }
476
+
477
+ // Description
478
+ // -------------------------------------------------------------------------
479
+
480
+ .qlwapp-description {
481
+
482
+ p,
483
+ h3 {
484
+ color: inherit;
485
+ font-family: inherit;
486
+ margin: 0;
487
+ }
488
+
489
+ h3 {
490
+ margin: 0 0 0.25em 0;
491
+ }
492
+ }
493
+
494
+ // Response
495
+ // -------------------------------------------------------------------------
496
+
497
+ .qlwapp-contact {
498
+ display: flex;
499
+ justify-content: flex-end;
500
+ align-items: center;
501
+ text-align: right;
502
+
503
+ .qlwapp-previous {
504
+ position: relative;
505
+ left: -16px;
506
+
507
+ > i {
508
+ //font-size: 26px;
509
+ line-height: 36px;
510
+ }
511
+ }
512
+
513
+ .qlwapp-avatar {
514
+ width: 42px;
515
+ height: 42px;
516
+ }
517
+
518
+ .qlwapp-label,
519
+ .qlwapp-name {
520
+ color: inherit;
521
+ }
522
+ }
523
+
524
+ .qlwapp-account {
525
+ color: inherit;
526
+ padding: 16px 36px;
527
+ display: flex;
528
+ align-items: center;
529
+ overflow: hidden;
530
+ position: relative;
531
+ cursor: pointer;
532
+ width: 100%;
533
+
534
+ &:only-of-type {
535
+ padding-top: 36px;
536
+ padding-bottom: 36px;
537
+ }
538
+
539
+ }
540
+
541
+ .qlwapp-info {
542
+ padding: 0 16px;
543
+
544
+ }
545
+
546
+ .qlwapp-avatar {
547
+ position: relative;
548
+ width: 62px;
549
+ height: 62px;
550
+ //border-radius: 50%;
551
+
552
+ &:after {
553
+ content: '';
554
+ display: block;
555
+ width: 15px;
556
+ height: 15px;
557
+ position: absolute;
558
+ bottom: 2px;
559
+ right: 2px;
560
+ background-image: url(data:image/png;base64,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);
561
+ background-color: transparent;
562
+ background-repeat: no-repeat;
563
+ background-position: center center;
564
+ background-size: cover;
565
+ z-index: 4;
566
+ }
567
+ }
568
+
569
+ .qlwapp-label,
570
+ .qlwapp-offline-text {
571
+ font-size: 12px;
572
+ line-height: 1.5em;
573
+ opacity: .6;
574
+ display: block;
575
+ }
576
+
577
+ .qlwapp-name {
578
+ display: block;
579
+ font-weight: bold;
580
+ }
581
+
582
+ // Body
583
+ // -------------------------------------------------------------------------
584
+ .qlwapp-body {
585
+ overflow-x: hidden;
586
+ overflow-y: auto;
587
+
588
+ .qlwapp-carousel {
589
+ max-height: 470px;
590
+ min-height: 134px;
591
+ }
592
+ }
593
+
594
+ // Chat
595
+ // -------------------------------------------------------------------------
596
+
597
+ .qlwapp-chat {
598
+ display: flex;
599
+ flex-direction: column;
600
+ //height: 100%;
601
+ overflow: hidden;
602
+ }
603
+
604
+ .qlwapp-user,
605
+ .qlwapp-message {
606
+ padding: 16px 24px;
607
+ margin: 36px;
608
+ position: relative;
609
+ word-wrap: break-word;
610
+ width: calc(~"100% - 36px*2");
611
+
612
+ &:before {
613
+ content: '';
614
+ position: absolute;
615
+ top: -6px;
616
+ right: 24px;
617
+ width: 13px;
618
+ height: 13px;
619
+ transform: rotate(45deg);
620
+ }
621
+ }
622
+
623
+ .qlwapp-user {
624
+ width: auto;
625
+ max-width: 75%;
626
+ align-self: flex-start;
627
+ justify-self: flex-end;
628
+ margin-top: 0;
629
+
630
+ &:before {
631
+ top: auto;
632
+ bottom: -6px;
633
+ left: 24px;
634
+ }
635
+ }
636
+
637
+ // Footer
638
+ // -------------------------------------------------------------------------
639
+
640
+ .qlwapp-padding {
641
+ padding-bottom: 56px;
642
+ }
643
+
644
+ .qlwapp-footer,
645
+ .qlwapp-response {
646
+ position: absolute;
647
+ bottom: 0;
648
+ left: 0;
649
+ right: 0;
650
+ height: auto;
651
+ width:100%;
652
+
653
+ &,
654
+ pre,
655
+ textarea {
656
+ max-height: 160px;
657
+ }
658
+
659
+ pre,
660
+ textarea {
661
+ color: inherit;
662
+ background-color: inherit;
663
+ }
664
+
665
+ &:before {
666
+ pointer-events: none;
667
+ position: absolute;
668
+ content: '';
669
+ height: 59px;
670
+ top: -59px;
671
+ background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.05));
672
+ left: 0;
673
+ right: 0;
674
+ }
675
+
676
+ }
677
+
678
+ .qlwapp-footer {
679
+ min-height: 56px;
680
+ display: flex;
681
+ align-items: center;
682
+ justify-content: center;
683
+ text-align: center;
684
+ font-size: 12px;
685
+ padding: 12px 36px;
686
+
687
+ p {
688
+ font-size: inherit;
689
+ }
690
+
691
+ p:last-child {
692
+ margin-bottom: 0;
693
+ }
694
+ }
695
+
696
+ // Response
697
+ // -------------------------------------------------------------------------
698
+ .qlwapp-response {
699
+
700
+ &,
701
+ pre,
702
+ textarea,
703
+ .qlwapp-buttons {
704
+ min-height: 56px;
705
+ }
706
+
707
+ pre,
708
+ textarea {
709
+ width: 100%;
710
+ height: 100%;
711
+ resize: none;
712
+ border: none;
713
+ padding: 18px 56px 18px 36px;
714
+ font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
715
+ font-size: 14px;
716
+ font-weight: normal;
717
+ line-height: 20px;
718
+ white-space: pre-wrap;
719
+ word-wrap: break-word;
720
+ border-radius: inherit;
721
+ margin: 0;
722
+ }
723
+
724
+ pre {
725
+ visibility: hidden;
726
+ }
727
+
728
+ textarea {
729
+ position: absolute;
730
+ bottom: 0;
731
+ left: 0;
732
+
733
+ &:focus {
734
+ outline: none;
735
+ }
736
+
737
+ }
738
+
739
+ .qlwapp-buttons {
740
+ position: absolute;
741
+ top: 0;
742
+ right: 21px;
743
+ display: flex;
744
+ align-items: center;
745
+
746
+ &.active {
747
+
748
+ > i {
749
+ display: none;
750
+ }
751
+
752
+ > i.qlwf-emoji {
753
+ display: block;
754
+ }
755
+ }
756
+
757
+ > i {
758
+ opacity: 0.4;
759
+ }
760
+
761
+ > i,
762
+ > a {
763
+ cursor: pointer;
764
+ margin: 0 0 0 10px;
765
+ display: inherit;
766
+ font-size: 18px;
767
+ line-height: 24px;
768
+ }
769
+
770
+ }
771
+
772
+ }
773
+
774
+ }
775
+
776
+ }
777
+ @import 'colors.less';
778
+ @import 'animations.less';
{includes → 4.2.5/includes}/defaults.php RENAMED
File without changes
{includes → 4.2.5/includes}/frontend.php RENAMED
File without changes
{includes → 4.2.5/includes}/pages/box.php RENAMED
File without changes
{includes → 4.2.5/includes}/pages/button.php RENAMED
File without changes
{includes → 4.2.5/includes}/pages/colors.php RENAMED
File without changes
{includes → 4.2.5/includes}/pages/display.php RENAMED
File without changes
{includes → 4.2.5/includes}/pages/purchase.php RENAMED
File without changes
{includes → 4.2.5/includes}/pages/welcome.php RENAMED
File without changes
{includes → 4.2.5/includes}/settings.php RENAMED
File without changes
4.2.5/index.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Silence is golden.
3
+ ?>
{languages → 4.2.5/languages}/wp-whatsapp-chat-es_ES.mo RENAMED
File without changes
{languages → 4.2.5/languages}/wp-whatsapp-chat-es_ES.po RENAMED
File without changes
{languages → 4.2.5/languages}/wp-whatsapp-chat-pt_BR.mo RENAMED
File without changes
{languages → 4.2.5/languages}/wp-whatsapp-chat-pt_BR.po RENAMED
File without changes
{languages → 4.2.5/languages}/wp-whatsapp-chat.pot RENAMED
File without changes
readme.txt → 4.2.5/readme.txt RENAMED
File without changes
4.2.5/template/box.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="qlwapp" class="qlwapp-free <?php printf("qlwapp-%s qlwapp-%s qlwapp-%s qlwapp-%s", esc_attr($qlwapp['button']['layout']), esc_attr($qlwapp['button']['position']), esc_attr($qlwapp['display']['devices']), esc_attr($qlwapp['button']['rounded'] === 'yes' ? 'rounded' : 'square')); ?>">
2
+ <div class="qlwapp-container">
3
+ <?php if ($qlwapp['box']['enable'] === 'yes'): ?>
4
+ <div class="qlwapp-box">
5
+ <?php if (!empty($qlwapp['box']['header'])): ?>
6
+ <div class="qlwapp-header">
7
+ <i class="qlwapp-close" data-action="close">&times;</i>
8
+ <div class="qlwapp-description">
9
+ <?php echo wpautop(wp_kses_post(wpautop($qlwapp['box']['header']))); ?>
10
+ </div>
11
+ </div>
12
+ <?php endif; ?>
13
+ <div class="qlwapp-body">
14
+ <?php if (isset($qlwapp['contacts'][0])): ?>
15
+ <a class="qlwapp-account" data-action="open" data-phone="<?php echo esc_attr($qlwapp['contacts'][0]['phone']); ?>" data-message="<?php echo esc_html($qlwapp['user']['message']); ?>" href="javascript:void(0);" target="_blank">
16
+ <?php if (!empty($qlwapp['contacts'][0]['avatar'])): ?>
17
+ <div class="qlwapp-avatar">
18
+ <div class="qlwapp-avatar-container">
19
+ <img alt="<?php printf("%s %s", esc_html($qlwapp['contacts'][0]['firstname']), esc_html($qlwapp['contacts'][0]['lastname'])); ?>" src="<?php echo esc_url($qlwapp['contacts'][0]['avatar']); ?>">
20
+ </div>
21
+ </div>
22
+ <?php endif; ?>
23
+ <div class="qlwapp-info">
24
+ <span class="qlwapp-label"><?php echo esc_html($qlwapp['contacts'][0]['label']); ?></span>
25
+ <span class="qlwapp-name"><?php printf("%s %s", esc_html($qlwapp['contacts'][0]['firstname']), esc_html($qlwapp['contacts'][0]['lastname'])); ?></span>
26
+ </div>
27
+ </a>
28
+ <?php endif; ?>
29
+ </div>
30
+ <?php if (!empty($qlwapp['box']['footer'])): ?>
31
+ <div class="qlwapp-footer">
32
+ <?php echo wpautop(wp_kses_post($qlwapp['box']['footer'])); ?>
33
+ </div>
34
+ <?php endif; ?>
35
+ </div>
36
+ <?php endif; ?>
37
+ <a class="qlwapp-toggle" data-action="<?php echo ($qlwapp['box']['enable'] === 'yes' ? 'box' : 'open'); ?>" data-phone="<?php echo esc_attr($qlwapp['button']['phone']); ?>" data-message="<?php echo esc_html($qlwapp['user']['message']); ?>" href="#" target="_blank">
38
+ <?php if ($qlwapp['button']['icon']): ?>
39
+ <i class="qlwapp-icon <?php echo esc_attr($qlwapp['button']['icon']); ?>"></i>
40
+ <?php endif; ?>
41
+ <i class="qlwapp-close" data-action="close">&times;</i>
42
+ <?php if ($qlwapp['button']['text']): ?>
43
+ <span class="qlwapp-text"><?php echo esc_html($qlwapp['button']['text']); ?></span>
44
+ <?php endif; ?>
45
+ </a>
46
+ <?php if ($qlwapp['button']['developer'] === 'yes'): ?>
47
+ <a class="qlwapp-developer" href="<?php echo esc_url(QLWAPP_DEMO_URL); ?>" target="_blank"><?php esc_html_e('Powered by QuadLayers'); ?></a>
48
+ <?php endif; ?>
49
+ </div>
50
+ </div>
uninstall.php → 4.2.5/uninstall.php RENAMED
File without changes
4.2.5/whatsapp-chat.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ($active_plugins = get_option('active_plugins', array())) {
4
+
5
+ foreach ($active_plugins as $key => $active_plugin) {
6
+
7
+ if (strstr($active_plugin, '/whatsapp-chat.php')) {
8
+ $active_plugins[$key] = str_replace('/whatsapp-chat.php', '/wp-whatsapp-chat.php', $active_plugin);
9
+ }
10
+
11
+ if (strstr($active_plugin, '/ql-whatsapp-chat.php')) {
12
+ $active_plugins[$key] = str_replace('/ql-whatsapp-chat.php', '/wp-whatsapp-chat.php', $active_plugin);
13
+ }
14
+ }
15
+
16
+ update_option('active_plugins', $active_plugins);
17
+ }
wp-whatsapp-chat.php → 4.2.5/wp-whatsapp-chat.php RENAMED
File without changes