Imagify Image Optimizer - Version 1.8.2

Version Description

  • 2018/09/12 =
  • New: display partnership links (can be removed).
  • Improvement: display a small spinner when opening a folder in the custom folders selector.
  • Improvement: visual for the admin toolbar option has been updated and localized for some languages.
  • Bug Fix: two errors that prevented to create the backup folder (and other things).
  • Bug Fix: improved uninstall cleanup.
Download this release

Release Info

Developer wp_media
Plugin Icon 128x128 Imagify Image Optimizer
Version 1.8.2
Comparing to
See all releases

Code changes from version 1.8.1.1 to 1.8.2

Files changed (183) hide show
  1. assets/css/admin.css +1 -1
  2. assets/css/admin.min.css +1 -1
  3. assets/css/files-list.css +0 -0
  4. assets/css/files-list.min.css +0 -0
  5. assets/css/options.css +20 -1
  6. assets/css/options.min.css +1 -1
  7. assets/images/big-blue-check.png +0 -0
  8. assets/images/icon-alert.svg +0 -0
  9. assets/images/icon-arrow-choice.png +0 -0
  10. assets/images/icon-arrow-choice.svg +0 -0
  11. assets/images/icon-doc-image.svg +0 -0
  12. assets/images/icon-external.svg +0 -0
  13. assets/images/icon-level.svg +0 -0
  14. assets/images/icon-load.svg +0 -0
  15. assets/images/icon-lock.png +0 -0
  16. assets/images/icon-lock.svg +0 -0
  17. assets/images/icon-pack.png +0 -0
  18. assets/images/icon-pack.svg +0 -0
  19. assets/images/icon-time.svg +0 -0
  20. assets/images/imagify-logo.png +0 -0
  21. assets/images/imagify-menu-bar-de.jpg +0 -0
  22. assets/images/imagify-menu-bar-en.jpg +0 -0
  23. assets/images/imagify-menu-bar-es.jpg +0 -0
  24. assets/images/imagify-menu-bar-fr.jpg +0 -0
  25. assets/images/imagify-menu-bar-it.jpg +0 -0
  26. assets/images/imagify-menu-bar.jpg +0 -0
  27. assets/images/lazyload.png +0 -0
  28. assets/images/logo-wprocket.png +0 -0
  29. assets/images/logo-wprocket.svg +0 -0
  30. assets/images/logo-wprocket@2x.png +0 -0
  31. assets/images/pic-ericwaltr.jpg +0 -0
  32. assets/images/pic-srhdesign.jpg +0 -0
  33. assets/images/spinner.gif +0 -0
  34. assets/images/upload-image.png +0 -0
  35. assets/js/chart.js +0 -0
  36. assets/js/chart.min.js +0 -0
  37. assets/js/files-list.js +0 -0
  38. assets/js/files-list.min.js +0 -0
  39. assets/js/formdata-polyfill.js +0 -0
  40. assets/js/formdata-polyfill.min.js +0 -0
  41. assets/js/imagify-gulp.js +0 -0
  42. assets/js/imagify-gulp.min.js +0 -0
  43. assets/js/imagify-wp-retina-2x.js +0 -0
  44. assets/js/imagify-wp-retina-2x.min.js +0 -0
  45. assets/js/options.js +4 -4
  46. assets/js/options.min.js +1 -1
  47. imagify.php +3 -3
  48. inc/3rd-party/3rd-party.php +2 -1
  49. inc/3rd-party/amazon-s3-and-cloudfront/amazon-s3-and-cloudfront.php +1 -1
  50. inc/3rd-party/amazon-s3-and-cloudfront/inc/classes/class-imagify-as3cf-attachment.php +1 -1
  51. inc/3rd-party/amazon-s3-and-cloudfront/inc/classes/class-imagify-as3cf.php +1 -1
  52. inc/3rd-party/enable-media-replace/enable-media-replace.php +1 -1
  53. inc/3rd-party/enable-media-replace/inc/classes/class-imagify-enable-media-replace.php +1 -1
  54. inc/3rd-party/formidable-pro/formidable-pro.php +1 -1
  55. inc/3rd-party/formidable-pro/inc/classes/class-imagify-formidable-pro.php +1 -1
  56. inc/3rd-party/hosting/siteground.php +1 -1
  57. inc/3rd-party/hosting/wpengine.php +1 -1
  58. inc/3rd-party/nextgen-gallery/inc/admin/ajax.php +1 -1
  59. inc/3rd-party/nextgen-gallery/inc/admin/bulk.php +1 -1
  60. inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php +1 -1
  61. inc/3rd-party/nextgen-gallery/inc/admin/gallery.php +1 -1
  62. inc/3rd-party/nextgen-gallery/inc/admin/heartbeat.php +1 -1
  63. inc/3rd-party/nextgen-gallery/inc/admin/menu.php +1 -1
  64. inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-attachment.php +1 -1
  65. inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-db.php +1 -1
  66. inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-dynamic-thumbnails-background-process.php +1 -1
  67. inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-storage.php +1 -1
  68. inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg.php +1 -1
  69. inc/3rd-party/nextgen-gallery/inc/common/attachments.php +1 -1
  70. inc/3rd-party/nextgen-gallery/inc/functions/admin-stats.php +1 -1
  71. inc/3rd-party/nextgen-gallery/inc/functions/attachments.php +1 -1
  72. inc/3rd-party/nextgen-gallery/inc/functions/common.php +1 -1
  73. inc/3rd-party/nextgen-gallery/nextgen-gallery.php +1 -1
  74. inc/3rd-party/regenerate-thumbnails/inc/classes/class-imagify-regenerate-thumbnails.php +1 -1
  75. inc/3rd-party/regenerate-thumbnails/regenerate-thumbnails.php +1 -1
  76. inc/3rd-party/screets-lc.php +1 -1
  77. inc/3rd-party/wp-real-media-library.php +1 -1
  78. inc/3rd-party/wp-retina-2x/inc/classes/class-imagify-wp-retina-2x-core.php +1 -1
  79. inc/3rd-party/wp-retina-2x/inc/classes/class-imagify-wp-retina-2x.php +1 -1
  80. inc/3rd-party/wp-retina-2x/wp-retina-2x.php +1 -1
  81. inc/3rd-party/wp-rocket.php +1 -1
  82. inc/3rd-party/wp-time-capsule/inc/classes/class-imagify-wp-time-capsule.php +337 -0
  83. inc/3rd-party/wp-time-capsule/wp-time-capsule.php +8 -0
  84. inc/3rd-party/yoast-seo.php +1 -1
  85. inc/admin/custom-folders.php +1 -1
  86. inc/admin/heartbeat.php +1 -1
  87. inc/admin/media.php +1 -1
  88. inc/admin/meta-boxes.php +1 -1
  89. inc/admin/upgrader.php +5 -0
  90. inc/admin/upload.php +1 -1
  91. inc/classes/class-imagify-abstract-attachment.php +1 -1
  92. inc/classes/class-imagify-abstract-background-process.php +1 -1
  93. inc/classes/class-imagify-abstract-cron.php +1 -1
  94. inc/classes/class-imagify-abstract-db.php +1 -1
  95. inc/classes/class-imagify-abstract-options.php +1 -1
  96. inc/classes/class-imagify-admin-ajax-post.php +1 -1
  97. inc/classes/class-imagify-assets.php +1 -1
  98. inc/classes/class-imagify-attachment.php +1 -1
  99. inc/classes/class-imagify-cron-library-size.php +1 -1
  100. inc/classes/class-imagify-cron-rating.php +1 -1
  101. inc/classes/class-imagify-cron-sync-files.php +1 -1
  102. inc/classes/class-imagify-custom-folders.php +1 -1
  103. inc/classes/class-imagify-data.php +1 -1
  104. inc/classes/class-imagify-db.php +1 -1
  105. inc/classes/class-imagify-file-attachment.php +1 -1
  106. inc/classes/class-imagify-files-db.php +1 -1
  107. inc/classes/class-imagify-files-iterator.php +1 -1
  108. inc/classes/class-imagify-files-list-table.php +1 -1
  109. inc/classes/class-imagify-files-recursive-iterator.php +1 -1
  110. inc/classes/class-imagify-files-scan.php +1 -1
  111. inc/classes/class-imagify-files-stats.php +1 -1
  112. inc/classes/class-imagify-filesystem.php +23 -14
  113. inc/classes/class-imagify-folders-db.php +1 -1
  114. inc/classes/class-imagify-notices.php +1 -1
  115. inc/classes/class-imagify-options.php +4 -1
  116. inc/classes/class-imagify-requirements.php +1 -1
  117. inc/classes/class-imagify-settings.php +1 -1
  118. inc/classes/class-imagify-user.php +1 -1
  119. inc/classes/class-imagify-views.php +1 -1
  120. inc/classes/class-imagify.php +1 -1
  121. inc/classes/class-wp-async-request.php +1 -1
  122. inc/classes/class-wp-background-process.php +1 -1
  123. inc/common/admin-bar.php +1 -1
  124. inc/common/attachments.php +1 -1
  125. inc/common/partners.php +1 -1
  126. inc/functions/admin-stats.php +1 -1
  127. inc/functions/admin-ui.php +1 -1
  128. inc/functions/admin.php +1 -1
  129. inc/functions/api.php +1 -1
  130. inc/functions/attachments.php +1 -1
  131. inc/functions/common.php +2 -1
  132. inc/functions/compat-spl-autoload.php +1 -1
  133. inc/functions/compat.php +1 -1
  134. inc/functions/deprecated.php +1 -1
  135. inc/functions/formatting.php +1 -1
  136. inc/functions/i18n.php +1 -1
  137. inc/functions/options.php +1 -1
  138. inc/functions/partners.php +1 -1
  139. inc/functions/process.php +1 -1
  140. readme.txt +9 -2
  141. uninstall.php +3 -3
  142. views/modal-payment.php +1 -1
  143. views/modal-settings-infos.php +1 -1
  144. views/modal-settings-partners-infos.php +18 -0
  145. views/modal-settings-visual-comparison.php +1 -1
  146. views/notice-almost-over-quota.php +1 -1
  147. views/notice-backup-folder-not-writable.php +1 -1
  148. views/notice-footer.php +1 -1
  149. views/notice-grid-view.php +1 -1
  150. views/notice-header.php +1 -1
  151. views/notice-http-block-external.php +1 -1
  152. views/notice-plugins-to-deactivate.php +1 -1
  153. views/notice-rating.php +1 -1
  154. views/notice-temporary.php +1 -1
  155. views/notice-welcome-steps.php +1 -1
  156. views/notice-wp-rocket.php +1 -1
  157. views/notice-wrong-api-key.php +1 -1
  158. views/page-bulk.php +1 -1
  159. views/page-files-list.php +1 -1
  160. views/page-settings.php +40 -2
  161. views/part-bulk-optimization-header-row-custom-folders.php +1 -1
  162. views/part-bulk-optimization-header-row-library.php +1 -1
  163. views/part-bulk-optimization-header.php +1 -1
  164. views/part-bulk-optimization-infos.php +1 -1
  165. views/part-bulk-optimization-newbie.php +1 -1
  166. views/part-bulk-optimization-overquota-alert.php +1 -1
  167. views/part-bulk-optimization-spinner.php +1 -1
  168. views/part-bulk-optimization-success.php +1 -1
  169. views/part-bulk-optimization-table-row-folder-type.php +1 -1
  170. views/part-bulk-optimization-table.php +1 -1
  171. views/part-bulk-optimization-underscore-file-row-custom-folders.php +1 -1
  172. views/part-bulk-optimization-underscore-file-row-library.php +1 -1
  173. views/part-discount-banner.php +1 -1
  174. views/part-documentation-link.php +1 -1
  175. views/part-files-list-header.php +1 -1
  176. views/part-rocket-ad.php +1 -1
  177. views/part-settings-account.php +1 -1
  178. views/part-settings-custom-folders.php +1 -1
  179. views/part-settings-files-tree-row.php +22 -21
  180. views/part-settings-footer.php +1 -1
  181. views/part-settings-header.php +1 -1
  182. views/part-settings-library.php +1 -1
  183. views/part-settings-row-custom-folder.php +1 -1
assets/css/admin.css CHANGED
@@ -1179,7 +1179,7 @@ ul.imagify-datas-details.imagify-datas-details {
1179
  overflow: hidden;
1180
  border-top: 2px solid transparent;
1181
  padding-top: 5px;
1182
- font-size: 8px;
1183
  }
1184
  .nggform .imagify-datas-actions-links {
1185
  position: relative;
1179
  overflow: hidden;
1180
  border-top: 2px solid transparent;
1181
  padding-top: 5px;
1182
+ font-size: 11px;
1183
  }
1184
  .nggform .imagify-datas-actions-links {
1185
  position: relative;
assets/css/admin.min.css CHANGED
@@ -1 +1 @@
1
- .imagify-count-list li,.imagify-flex{display:-webkit-box;display:-ms-flexbox}.imagify-oh,body.imagify-modal-is-open{overflow:hidden}.imagify-flex{display:flex}.imagify-vcenter{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-noshrink{-ms-flex-negative:0;flex-shrink:0}.imagify-nogrow{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.imagify-wauto{width:auto}.imagify-hauto{height:auto}.imagify-full-width{width:100%}.imagify-start{float:left}.imagify-end{float:right}.imagify-txt-start.imagify-txt-start.imagify-txt-start{text-align:left}.imagify-txt-center.imagify-txt-center.imagify-txt-center{text-align:center}.imagify-txt-end.imagify-txt-end.imagify-txt-end{text-align:right}.imagify-mt0.imagify-mt0{margin-top:0}.imagify-mt1.imagify-mt1{margin-top:1em}.imagify-mt2.imagify-mt2{margin-top:2em}.imagify-mt3.imagify-mt3{margin-top:3em}.imagify-mb0.imagify-mb0{margin-bottom:0}.imagify-mb1.imagify-mb1{margin-bottom:1em}.imagify-mr1.imagify-mr1{margin-right:1em}.imagify-ml2.imagify-ml2{margin-left:2em}.imagify-mr2.imagify-mr2{margin-right:2em}.imagify-pl0.imagify-pl0.imagify-pl0{padding-left:0}.imagify-pb0.imagify-pb0{padding-bottom:0}.imagify-pr1.imagify-pr1{padding-right:1em}.imagify-pr2.imagify-pr2{padding-right:2em}.imagify-clear{clear:both}.imagify-clearfix:after,.imagify-inline-options:after,.imagify-settings-main-content:after,.imagify-settings-section:after{content:"";display:table;width:100%;clear:both}.imagify-setting-optim-level .imagify-inline-options:after{display:none}.imagify-divider{height:1px;margin:20px 0;background:#D2D3D6}.imagify-pipe{display:inline-block;margin:0 .75em;vertical-align:middle;height:15px;width:1px;background:#979797}.imagify-cell,.imagify-cell.va-top,.va-top .imagify-cell{vertical-align:top}.imagify-h3-like.imagify-h3-like.imagify-h3-like{margin-bottom:0;font-size:19px;font-weight:500;color:#1F2332}.imagify-h4-like.imagify-h4-like.imagify-h4-like{font-size:14px;font-weight:700;color:#2E3243}.imagify-count.imagify-count{counter-reset:num}.imagify-count .imagify-count-title{font-weight:700}.imagify-default-settings{color:#73818c;font-weight:400}.imagify-count .imagify-count-title:before{counter-increment:num 1;content:counter(num) ". "}.imagify-count-list{counter-reset:listcount}.imagify-count-list li{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-count-list li+li{margin-top:.5em}.imagify-count-list li:before{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:24px;flex-basis:24px;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:16px;border:2px solid #40b1d0;width:24px;height:24px;counter-increment:listcount 1;content:counter(listcount);color:#40b1d0;border-radius:50%}.imagify-table{display:table;width:100%}.imagify-cell{display:table-cell;padding:10px}.imagify-bulk-submit .imagify-cell{padding-top:0}.imagify-spinner{display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:middle;background:url(../images/spinner.gif) 0 0/20px 20px no-repeat rgba(0,0,0,0);opacity:.7}.spinner.imagify-hidden{width:0;margin:4px 0 0}.imagify-primary.imagify-primary.imagify-primary{color:#40b1d0}.imagify-secondary.imagify-secondary.imagify-secondary,.imagify-valid{color:#8BC34A}.misc-pub-section.misc-pub-imagify h4{font-size:14px;margin-top:5px;margin-bottom:0}.imagify-chart{position:relative;top:1px;display:inline-block;vertical-align:middle}.imagify-chart-container{position:relative;display:inline-block;margin-right:5px}.imagify-chart-container canvas{display:block}.imagify-settings .button,.imagify-settings a,.imagify-settings input,.imagify-welcome .button,.imagify-welcome a,.imagify-weolcome input{-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-settings a{color:#40b1d0}.imagify-settings,.imagify-settings p,.imagify-settings th{color:#5F758E}.imagify-button-primary.imagify-button-primary,.imagify-button-secondary.imagify-button-secondary,.imagify-button.imagify-button,.imagify-notice .button,.imagify-settings .button,.imagify-welcome .button{height:auto;padding:11px 22px;border:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;word-spacing:.01em;-webkit-box-shadow:0 3px 0 rgba(0,0,0,.15);box-shadow:0 3px 0 rgba(0,0,0,.15);border-radius:3px;cursor:pointer;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.button-primary.button-mini{padding:2px 10px}.imagify-settings .button.button-mini-flat{padding:3px 6px 5px;font-size:12px;-webkit-box-shadow:none!important;box-shadow:none!important;line-height:1.2}.imagify-settings .button.button-mini-flat:focus,.imagify-settings .button.button-mini-flat:hover{-webkit-box-shadow:none!important;box-shadow:none!important}.imagify-button-ghost.imagify-button-ghost,.imagify-title .button-ghost.button-ghost{padding:2px 9px;border:1px solid #40B1D0;font-size:12px;font-weight:400;color:#40B1D0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.imagify-button-ghost.imagify-button-ghost:focus,.imagify-button-ghost.imagify-button-ghost:hover,.imagify-title .button-ghost.button-ghost:focus,.imagify-title .button-ghost.button-ghost:hover{border-color:transparent;color:#000;background:#40B1D0}.imagify-button-ghost.imagify-button-ghost:focus,.imagify-button-ghost.imagify-button-ghost:hover{color:#FFF}.imagify-button-medium.imagify-button-medium{text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;font-weight:700}.imagify-button-medium.imagify-button-ghost{border-width:2px}[class*=imagify-] .button .dashicons{margin-right:5px;vertical-align:middle}.imagify-button-primary.imagify-button-primary,.imagify-settings .button-primary.button-primary,.imagify-welcome .button-primary.button-primary{background:#40B1D0;color:#FFF;-webkit-box-shadow:0 3px 0 rgba(51,142,166,1);box-shadow:0 3px 0 rgba(51,142,166,1);text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799!important}.imagify-button-secondary.imagify-button-secondary{background:#8BC34A;color:#FFF;-webkit-box-shadow:0 3px 0 #6F9C3B;box-shadow:0 3px 0 #6F9C3B;text-shadow:0 -1px 1px #6F9C3B,1px 0 1px #6F9C3B,0 1px 1px #6F9C3B!important}.imagify-button-primary.imagify-button-primary:focus,.imagify-button-primary.imagify-button-primary:hover,.imagify-settings .button-primary:focus,.imagify-settings .button-primary:hover,.imagify-welcome .button-primary:focus,.imagify-welcome .button-primary:hover{background:#338ea6;-webkit-box-shadow:0 3px 0 #1f7a92;box-shadow:0 3px 0 #1f7a92}.imagify-button-secondary.imagify-button-secondary:focus,.imagify-button-secondary.imagify-button-secondary:hover{background:#6F9C3B;color:#FFF}.imagify-button-light.imagify-button-light{background:#FFF;color:#4a4a4a;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 0 rgba(0,0,0,.2)}.imagify-block-secondary .imagify-button-light.imagify-button-light{color:#6F9C3B}.imagify-button-light.imagify-button-light:focus,.imagify-button-light.imagify-button-light:hover{color:#FFF;background:rgba(0,0,0,.2)}.button.imagify-button-clean,.imagify-button-clean{padding:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.imagify-button-clean .dashicons-plus{width:32px;height:25px}.imagify-button-clean .dashicons-plus:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:25px;height:22px;margin-left:2px;padding-top:3px;font-size:17px;background:#40B1D0;color:#FFF;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.button.imagify-button-clean:active,.button.imagify-button-clean:focus,.button.imagify-button-clean:hover,.button.imagify-button-clean[disabled]{background:0 0!important;color:#343A49;-webkit-box-shadow:none;box-shadow:none}.button.imagify-button-clean:focus .dashicons-plus:before,.button.imagify-button-clean:hover .dashicons-plus:before{background:#343A49}button.imagify-link-like{border:0;padding:0;color:inherit;text-decoration:underline;font-size:13px;-webkit-box-shadow:none;box-shadow:none;background:0 0;cursor:pointer}.imagify-section-positive .imagify-button-light{color:#709A41}.imagify-button.imagify-button-big{font-size:15px;padding:11px 30px}.imagify-button-big .dashicons{font-size:1.45em;margin-right:6px;margin-left:-4px}.imagify-button-primary.imagify-button-primary .dashicons,.imagify-button-secondary.imagify-button-secondary .dashicons,.imagify-button.imagify-button .dashicons,.imagify-notice .button .dashicons,.imagify-settings .button .dashicons,.imagify-welcome .button .dashicons{vertical-align:middle}[class*=imagify-] .button-text{display:inline-block;vertical-align:middle}.media-frame-content .imagify-button-primary,.wp_attachment_image .imagify-button-primary{padding:0 10px 1px;margin:0 5px 2px 0;font-size:13px;line-height:26px;-webkit-box-shadow:0 3px 0 rgba(51,142,166,1);box-shadow:0 3px 0 rgba(51,142,166,1)}.wp_attachment_image .imagify-button-primary{float:left}.imagify-title.imagify-title{position:relative;padding:10px 30px;font-size:23px;background:#1F2332;color:#FFF}.imagify-welcome .imagify-logo{opacity:1}.imagify-welcome .imagify-title{display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px 30px}.imagify-settings .imagify-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-settings .imagify-logo-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;margin-right:35px;color:inherit}.imagify-logo-block sup{color:#1F2332}.imagify-settings .imagify-title+.imagify-notice{margin:0;border-right:1px solid #D9D9D9;padding-top:15px;padding-bottom:15px}.imagify-title .title-text{font-size:28px;font-weight:700;color:#FFF}.imagify-lb-icon{padding-right:18px}.imagify-lb-text img{margin-bottom:.15em}.imagify-lb-text{font-size:23px;font-weight:700;color:#FFF}.imagify-logo{display:block;vertical-align:top;opacity:.4}.imagify-section,.imagify-settings div.submit,.imagify-sub-header,.imagify-sub-title.imagify-sub-title{margin:0;padding:20px;background:#F2F5F7}.imagify-section-positive,.imagify-sub-title.imagify-sub-title{padding-left:40px}.imagify-section-positive{background:#8cc152;color:#FFF}.imagify-section-positive p{color:#FFF}.imagify-section-gray{background:#D9E4EB}.imagify-section-gray .imagify-count-title{color:#4a4a4a}.imagify-section p:first-child{margin-top:0}.imagify-section p:last-child{margin-bottom:0}.imagify-settings .imagify-documentation-link-box{display:-webkit-box;display:-ms-flexbox;display:flex;padding:12px 13px 14px;border:1px solid #40b1d0;color:#E5EBEF;border-radius:3px}.imagify-documentation-link-icon{width:23px;height:31px;font-size:2.6em;margin-right:15px;line-height:1.3}.imagify-documentation-link-box span{font-size:12px}.imagify-documentation-link-box a{font-weight:700}@media (max-width:1120px){.imagify-settings .imagify-title{-ms-flex-wrap:wrap;flex-wrap:wrap}}.imagify-settings-section{padding:10px 20px}.imagify-account-info-col .imagify-settings-section{padding-right:0}.imagify-settings-main-content,.imagify-welcome .imagify-settings-section{border:1px solid #D9D9D9;border-top-width:0;background:#FFF}.imagify-settings-main-content{padding-bottom:20px}.imagify-settings-main-content p{font-size:14px}.imagify-settings-main-content+.imagify-settings-main-content{margin-top:20px;border-top-width:1px}.imagify-br{line-height:2}p.imagify-section-title.imagify-section-title{font-size:20px;margin-top:-.3em;margin-bottom:-.6em}.imagify-rate-us.imagify-rate-us{text-align:right;margin:-1em -2.4em -1em 0;color:#FFF}.imagify-rate-us a{color:#40B1D0}.imagify-rate-us .stars{display:inline-block;margin:2px 0 0 10px;text-decoration:none;letter-spacing:.2em;vertical-align:-1px}.imagify-rate-us .stars .dashicons:before{font-size:18px}.imagify-rate-us a:focus,.imagify-rate-us a:hover{color:#FEE102}@media (max-width:1220px){.imagify-rate-us.imagify-rate-us{position:static;margin-bottom:0;text-align:left}.imagify-rate-us.imagify-rate-us br{display:none}.imagify-rate-us .stars{display:block;margin-left:0}}.imagify-important{color:#F5A623}.imagify-settings .imagify-success,.imagify-success{color:#8BC34A}.imagify-info,.imagify-info a{color:#7A8996;font-size:12px}.imagify-info{position:relative;display:inline-block;padding-left:25px}.imagify-info .dashicons{position:absolute;left:0;top:0;color:#40B1D0}.imagify-checkbox.imagify-checkbox:checked,.imagify-checkbox.imagify-checkbox:not(:checked),.imagify-settings.imagify-settings [type=checkbox]:checked,.imagify-settings.imagify-settings [type=checkbox]:not(:checked){position:absolute;opacity:.01}.imagify-checkbox.imagify-checkbox:checked:focus,.imagify-checkbox.imagify-checkbox:not(:checked):focus,.imagify-settings.imagify-settings [type=checkbox]:checked:focus,.imagify-settings.imagify-settings [type=checkbox]:not(:checked):focus{-webkit-box-shadow:none!important;box-shadow:none!important;outline:0!important;border:0!important}.imagify-checkbox.imagify-checkbox:checked+label,.imagify-checkbox.imagify-checkbox:not(:checked)+label,.imagify-settings [type=checkbox]:checked+label,.imagify-settings [type=checkbox]:not(:checked)+label{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:24px;padding-left:40px;cursor:pointer;font-size:14px;font-weight:700;color:#2E3243}.imagify-checkbox.imagify-checkbox:checked+label:before,.imagify-checkbox.imagify-checkbox:not(:checked)+label:before,.imagify-settings [type=checkbox]:checked+label:before,.imagify-settings [type=checkbox]:not(:checked)+label:before{content:'';position:absolute;left:0;top:0;width:22px;height:22px;border:2px solid #8BA6B4;background:#FFF;border-radius:3px}.imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-checkbox.imagify-checkbox:not(:checked)+label:after,.imagify-settings [type=checkbox]:checked+label:after,.imagify-settings [type=checkbox]:not(:checked)+label:after{content:"✓";position:absolute;font-size:1.4em;top:-2px;left:4.5px;color:#8BA6B4;font-weight:400;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.imagify-checkbox.imagify-checkbox[disabled]:checked+label:before,.imagify-checkbox.imagify-checkbox[disabled]:not(:checked)+label:before,.imagify-settings [type=checkbox][disabled]:checked+label:before,.imagify-settings [type=checkbox][disabled]:not(:checked)+label:before{border-color:#ccc;background:#ddd}.imagify-checkbox.imagify-checkbox:not(:checked)+label:after,.imagify-settings [type=checkbox]:not(:checked)+label:after{opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-settings [type=checkbox]:checked+label:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.medium.imagify-checkbox:checked+label:before,.medium.imagify-checkbox:not(:checked)+label:before{width:22px;height:22px;border-width:1.5px;border-radius:2px;margin-top:0}.medium.imagify-checkbox:checked+label:after,.medium.imagify-checkbox:not(:checked)+label:after{font-size:1.1em;left:-17px;top:3px}.imagify-settings .mini[type=checkbox]:checked+label:before,.imagify-settings .mini[type=checkbox]:not(:checked)+label:before,.mini.imagify-checkbox:checked+label:before,.mini.imagify-checkbox:not(:checked)+label:before{width:15px;height:15px;border-width:1px;border-radius:2px;margin-top:0}.imagify-settings .mini[type=checkbox]:checked+label:after,.imagify-settings .mini[type=checkbox]:not(:checked)+label:after,.mini.imagify-checkbox:checked+label:after,.mini.imagify-checkbox:not(:checked)+label:after{font-size:.9em;left:-21px;top:-.5px}.imagify-checkbox.imagify-checkbox:checked:focus+label:before,.imagify-checkbox.imagify-checkbox:not(:checked):focus+label:before,.imagify-settings [type=checkbox]:checked:focus+label:before,.imagify-settings [type=checkbox]:not(:checked):focus+label:before{border-style:dotted;border-color:#40b1d0}.imagify-check-group{padding-left:2px;margin-bottom:0}.imagify-check-group.imagify-is-scrollable{max-height:15em;overflow-y:auto;padding:8px;margin:1.5em 0 0 -8px;background:#F4F7F9;border:1px solid #D2D3D6;border-radius:3px}.imagify-is-scrollable legend+p{margin-top:0}.imagify-is-scrollable [type=checkbox]:checked+label:before,.imagify-is-scrollable [type=checkbox]:not(:checked)+label:before{background:#F4F7F9}.imagify-settings .imagify-check-group.imagify-check-group label{color:#338EA6;font-weight:500}.imagify-inline-options{position:relative;display:table;width:100%;max-width:600px;border-collapse:collapse}.imagify-inline-options input[type=radio]:checked,.imagify-inline-options input[type=radio]:not(:checked){position:absolute;left:5px;top:5px;display:none}.imagify-inline-options input[type=radio]:checked+label,.imagify-inline-options input[type=radio]:not(:checked)+label{position:relative;display:table-cell;padding:13px 10px;text-align:center;font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.1em;color:#FFF;background:#2E3243;-webkit-box-shadow:0 -3px 0 rgba(0,0,0,.1) inset;box-shadow:0 -3px 0 rgba(0,0,0,.1) inset;z-index:2;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-inline-options input[type=radio]:checked+label:first-of-type,.imagify-inline-options input[type=radio]:not(:checked)+label:first-of-type{border-radius:3px 0 0 3px}.imagify-inline-options input[type=radio]:checked+label:last-of-type,.imagify-inline-options input[type=radio]:not(:checked)+label:last-of-type{border-radius:0 3px 3px 0}.imagify-inline-options input[type=radio]:checked+label{background:#8BC34A}.imagify-inline-options .imagify-info{margin-top:15px}.imagify-account-info-col,.imagify-col.imagify-col.imagify-account-info-col{width:380px;max-width:100%;padding:0 20px 0 0}.imagify-col.imagify-col.imagify-shared-with-account-col,.imagify-shared-with-account-col{width:calc(100% - 380px);padding:0}.imagify-account-info-col .imagify-options-title{padding:24px 26px;color:#FFF;background:#1F2332}.imagify-block-secondary{padding:26px 26px 35px;border:1px solid #75A345;background:#8BC34A;border-radius:3px;color:#FFF}.imagify-account-info-col .imagify-block-secondary.imagify-block-secondary h3,.imagify-block-secondary.imagify-block-secondary p{color:inherit}.imagify-account-info-col .imagify-col-content h3:first-child{margin-top:0}.imagify-account-info-col .imagify-col-content h3{font-size:19px}.imagify-account-info-col .imagify-col-content p{margin:1.5em 0}.imagify-account-info-col .imagify-col-content p:first-child{margin-top:0}.imagify-user-plan-label{float:right;margin-top:-4px;padding:2px 10px;border:2px solid #40B1D0;font-size:14px;text-transform:uppercase;letter-spacing:.02em;color:#40B1D0;border-radius:3px}.imagify-modal .h2,.imagify-modal .h3{letter-spacing:.075em;text-align:center;font-weight:400}.imagify-user-plan-label:empty{display:none}.imagify-columns{overflow:hidden;padding:15px 0;counter-reset:cols}.imagify-columns [class^=col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.imagify-columns .col-1-3{width:33.333%;padding-left:28px}.imagify-columns .col-2-3{width:66.666%;padding-left:28px}.imagify-columns .col-1-2{width:50%;padding:0 20px}@media (max-width:830px){.imagify-columns [class^=col-]{float:none;margin-bottom:1.5em}.imagify-columns .col-1-2,.imagify-columns .col-1-3{width:auto;padding:0 28px;clear:both;padding-top:1em}}.column-imagify_optimized_file.column-imagify_optimized_file{width:300px;text-align:center;vertical-align:middle}.column-imagify_optimized_file>*{max-width:21em;margin:0 auto}@media (min-width:1151px) and (max-width:1800px){.column-imagify_optimized_file.column-imagify_optimized_file{width:21em}}@media (min-width:783px) and (max-width:1150px){.column-imagify_optimized_file.column-imagify_optimized_file{width:13em}table.media .column-title .has-media-icon~.row-actions.row-actions{margin-left:0}}@media (max-width:782px){table.media .column-imagify_optimized_file.column-imagify_optimized_file{text-align:left}table.media .imagify-datas-actions-links,table.media .imagify-datas-more-action{text-align:center}table.media .column-imagify_optimized_file .imagify-datas-actions-links a,table.media .column-imagify_optimized_file>*{max-width:100%;margin-left:0}}@media (min-width:783px) and (max-width:1150px),(max-width:360px){table.media .imagify-hide-if-small{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;word-wrap:normal!important}}.compat-field-imagify .label{vertical-align:top}.compat-field-imagify ul.imagify-datas-list{margin-top:7px;font-size:11px}ul.imagify-datas-list.imagify-datas-list{margin:0 auto;color:#555;font-size:10px}ul.imagify-datas-list .big{font-size:12px;color:#40B1D0}.imagify-data-item{overflow:hidden}li.imagify-data-item{clear:both;margin-bottom:2px}ul.imagify-datas-list .imagify-data-item span.data,ul.imagify-datas-list .imagify-data-item strong{float:left;width:38%;-webkit-box-sizing:border-box;box-sizing:border-box}ul.imagify-datas-list .imagify-data-item span.data{width:62%;padding-right:5px;text-align:left}.compat-field-imagify .imagify-datas-list .imagify-data-item .data{width:130px;text-align:left;font-weight:700}ul.imagify-datas-list .imagify-data-item strong{text-align:left;padding-left:5px}.media-sidebar .imagify-datas-list .imagify-data-item .data{width:auto;float:none}.media-sidebar .imagify-datas-list .imagify-data-item strong{display:inline-block;width:auto;float:none}.media-sidebar .imagify-datas-list .imagify-data-item .imagify-chart{float:left}.imagify-datas-more-action.imagify-datas-more-action{margin:.4em auto;background:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(49%,transparent),color-stop(50%,rgba(0,0,0,.075)),color-stop(58%,rgba(0,0,0,.075)),color-stop(58%,transparent),to(transparent));background:-o-linear-gradient(top,transparent,transparent 49%,rgba(0,0,0,.075) 50%,rgba(0,0,0,.075) 58%,transparent 58%,transparent);background:linear-gradient(to bottom,transparent,transparent 49%,rgba(0,0,0,.075) 50%,rgba(0,0,0,.075) 58%,transparent 58%,transparent)}.imagify-datas-more-action a{display:inline-block;padding:0 5px;background:#40B1D0;color:#FFF;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1.9;text-decoration:none}.imagify-datas-more-action a.is-open{background:#555}.imagify-datas-more-action a.is-open .dashicons{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.imagify-datas-more-action a .dashicons{font-size:14px;vertical-align:middle;line-height:.8}.imagify-datas-more-action a .dashicons:before{vertical-align:middle;line-height:20px}.imagify-datas-more-action .the-text{display:inline-block;vertical-align:middle;height:auto;line-height:inherit}ul.imagify-datas-details.imagify-datas-details{margin:.7em auto}.imagify-datas-details strong{color:#40B1D0}.imagify-datas-details .original{color:#555}.imagify-datas-actions-links{overflow:hidden;border-top:2px solid transparent;padding-top:5px;font-size:8px}.nggform .imagify-datas-actions-links{position:relative;z-index:2}.nggform .row-actions{z-index:1}.imagify-datas-actions-links a{position:relative;display:inline-block;padding-left:17px;text-decoration:none;font-weight:600}.compat-field-imagify .imagify-datas-actions-links{max-width:300px}.misc-pub-imagify .imagify-datas-actions-links{border-top:2px solid #f2f2f2;padding-bottom:5px}.column-imagify_optimized_file .imagify-datas-actions-links a{margin:0 .7em;padding-left:15px}.compat-field-imagify .imagify-datas-actions-links a,.misc-pub-imagify .imagify-datas-actions-links a{font-size:10px;float:left;width:50%}.media-sidebar .compat-field-imagify .imagify-datas-actions-links a,.submitbox .misc-pub-imagify .imagify-datas-actions-links a{display:block;width:auto;float:none}.imagify-datas-actions-links a:only-child{float:none;width:auto}.imagify-datas-details.is-open+.imagify-datas-actions-links{border-top-color:rgba(0,0,0,.075)}.imagify-datas-actions-links .dashicons{position:absolute;left:0;top:4px;width:12px;margin-right:2px;font-size:11px}.imagify-account,.imagify-account-link{padding-right:15px}.imagify-meteo-icon{display:inline-block;height:38px;vertical-align:middle;margin-right:10px}.imagify-user-plan{color:#40b1d0}.imagify-meteo-title.imagify-meteo-title{color:#FFF;font-size:17px}.imagify-space-left>p{color:#FFF}[class^=imagify-bar-]{position:relative;height:8px;width:100%;background:#60758D;color:#FFF;font-size:10px}.imagify-progress{height:8px;-webkit-transition:width .3s;-o-transition:width .3s;transition:width .3s}.imagify-bar-positive .imagify-progress{background:#8CC152}.imagify-bar-positive .imagify-barnb{color:#8CC152}.imagify-bar-primary .imagify-progress{background:#40B1D0}.imagify-bar-primary .imagify-barnb{color:#40B1D0}.imagify-bar-negative .imagify-progress{background:#D2D3D6}.imagify-bar-negative .imagify-barnb{color:#7A8996}.imagify-bar-neutral .imagify-progress{background:#F5A623}.imagify-space-left .imagify-bar-negative .imagify-progress{background:#C51162}.imagify-btn-ghost{display:inline-block;height:auto;padding:7px 10px;border:1px solid #FFF;text-align:center;background:0 0;color:#FFF;border-radius:3px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-btn-ghost:focus,.imagify-btn-ghost:hover{background:#FFF;color:#888}.imagify-error{background:#D0021B;color:#FFF}.imagify-settings-section .imagify-error{display:inline-block;padding:7px 10px;margin:10px 0 0 45px;border-radius:3px}.imagify-settings-section .imagify-error code{font-weight:400}.imagify-settings-section .imagify-error.hidden{display:none}.imagify-warning{background:#f5a623;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,.2)}.imagify-modal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.js .imagify-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#1F2332;background-color:rgba(31,35,50,.95);z-index:99999}.imagify-modal-content{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:800px;max-width:95%;max-height:90vw;overflow:auto;padding:20px 25px;margin:1em auto;background:#FFF;-webkit-box-shadow:1px 1px 4px rgba(0,0,0,.7);box-shadow:1px 1px 4px rgba(0,0,0,.7);border-radius:3px}#imagify-visual-comparison .imagify-modal-content,.imagify-visual-comparison .imagify-modal-content{max-width:1400px;background:0 0;padding:5px;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.imagify-modal .h2{margin:.5em 0;color:#8ba6b4;font-size:24px}.imagify-modal .h3{color:#40b1d0;font-size:18px}.imagify-modal .close-btn{display:none;visibility:hidden;position:absolute;right:20px;top:20px;font-size:1.2em;border:0;background:0 0;border-radius:0;cursor:pointer}.imagify-modal .close-btn i{margin-left:-2px}.imagify-modal .close-btn:focus,.imagify-modal .close-btn:hover{color:#40b1d0}.js .imagify-modal .close-btn{display:block;visibility:visible}.imagify-visual-comparison .close-btn,.wp_attachment_image #imagify-visual-comparison .close-btn{top:0}.imagify-visual-comparison .imagify-modal-content,.wp_attachment_image #imagify-visual-comparison .imagify-modal-content{padding-top:40px}.imagify-col{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-preferred-size:50%;flex-basis:50%;padding-right:20px}.imagify-col+.imagify-col{padding-right:0;padding-left:20px}.imagify-col:target{-webkit-animation:hello 1s 3 linear backwards;animation:hello 1s 3 linear backwards}@-webkit-keyframes hello{0%,100%{background:#FFF}50%{background:#F4F7F9}}@keyframes hello{0%,100%{background:#FFF}50%{background:#F4F7F9}}
1
+ .imagify-count-list li,.imagify-flex{display:-webkit-box;display:-ms-flexbox}.imagify-oh,body.imagify-modal-is-open{overflow:hidden}.imagify-flex{display:flex}.imagify-vcenter{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-noshrink{-ms-flex-negative:0;flex-shrink:0}.imagify-nogrow{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.imagify-wauto{width:auto}.imagify-hauto{height:auto}.imagify-full-width{width:100%}.imagify-start{float:left}.imagify-end{float:right}.imagify-txt-start.imagify-txt-start.imagify-txt-start{text-align:left}.imagify-txt-center.imagify-txt-center.imagify-txt-center{text-align:center}.imagify-txt-end.imagify-txt-end.imagify-txt-end{text-align:right}.imagify-mt0.imagify-mt0{margin-top:0}.imagify-mt1.imagify-mt1{margin-top:1em}.imagify-mt2.imagify-mt2{margin-top:2em}.imagify-mt3.imagify-mt3{margin-top:3em}.imagify-mb0.imagify-mb0{margin-bottom:0}.imagify-mb1.imagify-mb1{margin-bottom:1em}.imagify-mr1.imagify-mr1{margin-right:1em}.imagify-ml2.imagify-ml2{margin-left:2em}.imagify-mr2.imagify-mr2{margin-right:2em}.imagify-pl0.imagify-pl0.imagify-pl0{padding-left:0}.imagify-pb0.imagify-pb0{padding-bottom:0}.imagify-pr1.imagify-pr1{padding-right:1em}.imagify-pr2.imagify-pr2{padding-right:2em}.imagify-clear{clear:both}.imagify-clearfix:after,.imagify-inline-options:after,.imagify-settings-main-content:after,.imagify-settings-section:after{content:"";display:table;width:100%;clear:both}.imagify-setting-optim-level .imagify-inline-options:after{display:none}.imagify-divider{height:1px;margin:20px 0;background:#D2D3D6}.imagify-pipe{display:inline-block;margin:0 .75em;vertical-align:middle;height:15px;width:1px;background:#979797}.imagify-cell,.imagify-cell.va-top,.va-top .imagify-cell{vertical-align:top}.imagify-h3-like.imagify-h3-like.imagify-h3-like{margin-bottom:0;font-size:19px;font-weight:500;color:#1F2332}.imagify-h4-like.imagify-h4-like.imagify-h4-like{font-size:14px;font-weight:700;color:#2E3243}.imagify-count.imagify-count{counter-reset:num}.imagify-count .imagify-count-title{font-weight:700}.imagify-default-settings{color:#73818c;font-weight:400}.imagify-count .imagify-count-title:before{counter-increment:num 1;content:counter(num) ". "}.imagify-count-list{counter-reset:listcount}.imagify-count-list li{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-count-list li+li{margin-top:.5em}.imagify-count-list li:before{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:24px;flex-basis:24px;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:16px;border:2px solid #40b1d0;width:24px;height:24px;counter-increment:listcount 1;content:counter(listcount);color:#40b1d0;border-radius:50%}.imagify-table{display:table;width:100%}.imagify-cell{display:table-cell;padding:10px}.imagify-bulk-submit .imagify-cell{padding-top:0}.imagify-spinner{display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:middle;background:url(../images/spinner.gif) 0 0/20px 20px no-repeat rgba(0,0,0,0);opacity:.7}.spinner.imagify-hidden{width:0;margin:4px 0 0}.imagify-primary.imagify-primary.imagify-primary{color:#40b1d0}.imagify-secondary.imagify-secondary.imagify-secondary,.imagify-valid{color:#8BC34A}.misc-pub-section.misc-pub-imagify h4{font-size:14px;margin-top:5px;margin-bottom:0}.imagify-chart{position:relative;top:1px;display:inline-block;vertical-align:middle}.imagify-chart-container{position:relative;display:inline-block;margin-right:5px}.imagify-chart-container canvas{display:block}.imagify-settings .button,.imagify-settings a,.imagify-settings input,.imagify-welcome .button,.imagify-welcome a,.imagify-weolcome input{-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-settings a{color:#40b1d0}.imagify-settings,.imagify-settings p,.imagify-settings th{color:#5F758E}.imagify-button-primary.imagify-button-primary,.imagify-button-secondary.imagify-button-secondary,.imagify-button.imagify-button,.imagify-notice .button,.imagify-settings .button,.imagify-welcome .button{height:auto;padding:11px 22px;border:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;word-spacing:.01em;-webkit-box-shadow:0 3px 0 rgba(0,0,0,.15);box-shadow:0 3px 0 rgba(0,0,0,.15);border-radius:3px;cursor:pointer;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.button-primary.button-mini{padding:2px 10px}.imagify-settings .button.button-mini-flat{padding:3px 6px 5px;font-size:12px;-webkit-box-shadow:none!important;box-shadow:none!important;line-height:1.2}.imagify-settings .button.button-mini-flat:focus,.imagify-settings .button.button-mini-flat:hover{-webkit-box-shadow:none!important;box-shadow:none!important}.imagify-button-ghost.imagify-button-ghost,.imagify-title .button-ghost.button-ghost{padding:2px 9px;border:1px solid #40B1D0;font-size:12px;font-weight:400;color:#40B1D0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.imagify-button-ghost.imagify-button-ghost:focus,.imagify-button-ghost.imagify-button-ghost:hover,.imagify-title .button-ghost.button-ghost:focus,.imagify-title .button-ghost.button-ghost:hover{border-color:transparent;color:#000;background:#40B1D0}.imagify-button-ghost.imagify-button-ghost:focus,.imagify-button-ghost.imagify-button-ghost:hover{color:#FFF}.imagify-button-medium.imagify-button-medium{text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;font-weight:700}.imagify-button-medium.imagify-button-ghost{border-width:2px}[class*=imagify-] .button .dashicons{margin-right:5px;vertical-align:middle}.imagify-button-primary.imagify-button-primary,.imagify-settings .button-primary.button-primary,.imagify-welcome .button-primary.button-primary{background:#40B1D0;color:#FFF;-webkit-box-shadow:0 3px 0 rgba(51,142,166,1);box-shadow:0 3px 0 rgba(51,142,166,1);text-shadow:0 -1px 1px #006799,1px 0 1px #006799,0 1px 1px #006799!important}.imagify-button-secondary.imagify-button-secondary{background:#8BC34A;color:#FFF;-webkit-box-shadow:0 3px 0 #6F9C3B;box-shadow:0 3px 0 #6F9C3B;text-shadow:0 -1px 1px #6F9C3B,1px 0 1px #6F9C3B,0 1px 1px #6F9C3B!important}.imagify-button-primary.imagify-button-primary:focus,.imagify-button-primary.imagify-button-primary:hover,.imagify-settings .button-primary:focus,.imagify-settings .button-primary:hover,.imagify-welcome .button-primary:focus,.imagify-welcome .button-primary:hover{background:#338ea6;-webkit-box-shadow:0 3px 0 #1f7a92;box-shadow:0 3px 0 #1f7a92}.imagify-button-secondary.imagify-button-secondary:focus,.imagify-button-secondary.imagify-button-secondary:hover{background:#6F9C3B;color:#FFF}.imagify-button-light.imagify-button-light{background:#FFF;color:#4a4a4a;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.2);box-shadow:0 2px 0 rgba(0,0,0,.2)}.imagify-block-secondary .imagify-button-light.imagify-button-light{color:#6F9C3B}.imagify-button-light.imagify-button-light:focus,.imagify-button-light.imagify-button-light:hover{color:#FFF;background:rgba(0,0,0,.2)}.button.imagify-button-clean,.imagify-button-clean{padding:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.imagify-button-clean .dashicons-plus{width:32px;height:25px}.imagify-button-clean .dashicons-plus:before{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:25px;height:22px;margin-left:2px;padding-top:3px;font-size:17px;background:#40B1D0;color:#FFF;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.button.imagify-button-clean:active,.button.imagify-button-clean:focus,.button.imagify-button-clean:hover,.button.imagify-button-clean[disabled]{background:0 0!important;color:#343A49;-webkit-box-shadow:none;box-shadow:none}.button.imagify-button-clean:focus .dashicons-plus:before,.button.imagify-button-clean:hover .dashicons-plus:before{background:#343A49}button.imagify-link-like{border:0;padding:0;color:inherit;text-decoration:underline;font-size:13px;-webkit-box-shadow:none;box-shadow:none;background:0 0;cursor:pointer}.imagify-section-positive .imagify-button-light{color:#709A41}.imagify-button.imagify-button-big{font-size:15px;padding:11px 30px}.imagify-button-big .dashicons{font-size:1.45em;margin-right:6px;margin-left:-4px}.imagify-button-primary.imagify-button-primary .dashicons,.imagify-button-secondary.imagify-button-secondary .dashicons,.imagify-button.imagify-button .dashicons,.imagify-notice .button .dashicons,.imagify-settings .button .dashicons,.imagify-welcome .button .dashicons{vertical-align:middle}[class*=imagify-] .button-text{display:inline-block;vertical-align:middle}.media-frame-content .imagify-button-primary,.wp_attachment_image .imagify-button-primary{padding:0 10px 1px;margin:0 5px 2px 0;font-size:13px;line-height:26px;-webkit-box-shadow:0 3px 0 rgba(51,142,166,1);box-shadow:0 3px 0 rgba(51,142,166,1)}.wp_attachment_image .imagify-button-primary{float:left}.imagify-title.imagify-title{position:relative;padding:10px 30px;font-size:23px;background:#1F2332;color:#FFF}.imagify-welcome .imagify-logo{opacity:1}.imagify-welcome .imagify-title{display:-webkit-box;display:-ms-flexbox;display:flex;padding:20px 30px}.imagify-settings .imagify-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-settings .imagify-logo-block{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;margin-right:35px;color:inherit}.imagify-logo-block sup{color:#1F2332}.imagify-settings .imagify-title+.imagify-notice{margin:0;border-right:1px solid #D9D9D9;padding-top:15px;padding-bottom:15px}.imagify-title .title-text{font-size:28px;font-weight:700;color:#FFF}.imagify-lb-icon{padding-right:18px}.imagify-lb-text img{margin-bottom:.15em}.imagify-lb-text{font-size:23px;font-weight:700;color:#FFF}.imagify-logo{display:block;vertical-align:top;opacity:.4}.imagify-section,.imagify-settings div.submit,.imagify-sub-header,.imagify-sub-title.imagify-sub-title{margin:0;padding:20px;background:#F2F5F7}.imagify-section-positive,.imagify-sub-title.imagify-sub-title{padding-left:40px}.imagify-section-positive{background:#8cc152;color:#FFF}.imagify-section-positive p{color:#FFF}.imagify-section-gray{background:#D9E4EB}.imagify-section-gray .imagify-count-title{color:#4a4a4a}.imagify-section p:first-child{margin-top:0}.imagify-section p:last-child{margin-bottom:0}.imagify-settings .imagify-documentation-link-box{display:-webkit-box;display:-ms-flexbox;display:flex;padding:12px 13px 14px;border:1px solid #40b1d0;color:#E5EBEF;border-radius:3px}.imagify-documentation-link-icon{width:23px;height:31px;font-size:2.6em;margin-right:15px;line-height:1.3}.imagify-documentation-link-box span{font-size:12px}.imagify-documentation-link-box a{font-weight:700}@media (max-width:1120px){.imagify-settings .imagify-title{-ms-flex-wrap:wrap;flex-wrap:wrap}}.imagify-settings-section{padding:10px 20px}.imagify-account-info-col .imagify-settings-section{padding-right:0}.imagify-settings-main-content,.imagify-welcome .imagify-settings-section{border:1px solid #D9D9D9;border-top-width:0;background:#FFF}.imagify-settings-main-content{padding-bottom:20px}.imagify-settings-main-content p{font-size:14px}.imagify-settings-main-content+.imagify-settings-main-content{margin-top:20px;border-top-width:1px}.imagify-br{line-height:2}p.imagify-section-title.imagify-section-title{font-size:20px;margin-top:-.3em;margin-bottom:-.6em}.imagify-rate-us.imagify-rate-us{text-align:right;margin:-1em -2.4em -1em 0;color:#FFF}.imagify-rate-us a{color:#40B1D0}.imagify-rate-us .stars{display:inline-block;margin:2px 0 0 10px;text-decoration:none;letter-spacing:.2em;vertical-align:-1px}.imagify-rate-us .stars .dashicons:before{font-size:18px}.imagify-rate-us a:focus,.imagify-rate-us a:hover{color:#FEE102}@media (max-width:1220px){.imagify-rate-us.imagify-rate-us{position:static;margin-bottom:0;text-align:left}.imagify-rate-us.imagify-rate-us br{display:none}.imagify-rate-us .stars{display:block;margin-left:0}}.imagify-important{color:#F5A623}.imagify-settings .imagify-success,.imagify-success{color:#8BC34A}.imagify-info,.imagify-info a{color:#7A8996;font-size:12px}.imagify-info{position:relative;display:inline-block;padding-left:25px}.imagify-info .dashicons{position:absolute;left:0;top:0;color:#40B1D0}.imagify-checkbox.imagify-checkbox:checked,.imagify-checkbox.imagify-checkbox:not(:checked),.imagify-settings.imagify-settings [type=checkbox]:checked,.imagify-settings.imagify-settings [type=checkbox]:not(:checked){position:absolute;opacity:.01}.imagify-checkbox.imagify-checkbox:checked:focus,.imagify-checkbox.imagify-checkbox:not(:checked):focus,.imagify-settings.imagify-settings [type=checkbox]:checked:focus,.imagify-settings.imagify-settings [type=checkbox]:not(:checked):focus{-webkit-box-shadow:none!important;box-shadow:none!important;outline:0!important;border:0!important}.imagify-checkbox.imagify-checkbox:checked+label,.imagify-checkbox.imagify-checkbox:not(:checked)+label,.imagify-settings [type=checkbox]:checked+label,.imagify-settings [type=checkbox]:not(:checked)+label{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:24px;padding-left:40px;cursor:pointer;font-size:14px;font-weight:700;color:#2E3243}.imagify-checkbox.imagify-checkbox:checked+label:before,.imagify-checkbox.imagify-checkbox:not(:checked)+label:before,.imagify-settings [type=checkbox]:checked+label:before,.imagify-settings [type=checkbox]:not(:checked)+label:before{content:'';position:absolute;left:0;top:0;width:22px;height:22px;border:2px solid #8BA6B4;background:#FFF;border-radius:3px}.imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-checkbox.imagify-checkbox:not(:checked)+label:after,.imagify-settings [type=checkbox]:checked+label:after,.imagify-settings [type=checkbox]:not(:checked)+label:after{content:"✓";position:absolute;font-size:1.4em;top:-2px;left:4.5px;color:#8BA6B4;font-weight:400;-webkit-transition:all .2s;-o-transition:all .2s;transition:all .2s}.imagify-checkbox.imagify-checkbox[disabled]:checked+label:before,.imagify-checkbox.imagify-checkbox[disabled]:not(:checked)+label:before,.imagify-settings [type=checkbox][disabled]:checked+label:before,.imagify-settings [type=checkbox][disabled]:not(:checked)+label:before{border-color:#ccc;background:#ddd}.imagify-checkbox.imagify-checkbox:not(:checked)+label:after,.imagify-settings [type=checkbox]:not(:checked)+label:after{opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}.imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-settings [type=checkbox]:checked+label:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.medium.imagify-checkbox:checked+label:before,.medium.imagify-checkbox:not(:checked)+label:before{width:22px;height:22px;border-width:1.5px;border-radius:2px;margin-top:0}.medium.imagify-checkbox:checked+label:after,.medium.imagify-checkbox:not(:checked)+label:after{font-size:1.1em;left:-17px;top:3px}.imagify-settings .mini[type=checkbox]:checked+label:before,.imagify-settings .mini[type=checkbox]:not(:checked)+label:before,.mini.imagify-checkbox:checked+label:before,.mini.imagify-checkbox:not(:checked)+label:before{width:15px;height:15px;border-width:1px;border-radius:2px;margin-top:0}.imagify-settings .mini[type=checkbox]:checked+label:after,.imagify-settings .mini[type=checkbox]:not(:checked)+label:after,.mini.imagify-checkbox:checked+label:after,.mini.imagify-checkbox:not(:checked)+label:after{font-size:.9em;left:-21px;top:-.5px}.imagify-checkbox.imagify-checkbox:checked:focus+label:before,.imagify-checkbox.imagify-checkbox:not(:checked):focus+label:before,.imagify-settings [type=checkbox]:checked:focus+label:before,.imagify-settings [type=checkbox]:not(:checked):focus+label:before{border-style:dotted;border-color:#40b1d0}.imagify-check-group{padding-left:2px;margin-bottom:0}.imagify-check-group.imagify-is-scrollable{max-height:15em;overflow-y:auto;padding:8px;margin:1.5em 0 0 -8px;background:#F4F7F9;border:1px solid #D2D3D6;border-radius:3px}.imagify-is-scrollable legend+p{margin-top:0}.imagify-is-scrollable [type=checkbox]:checked+label:before,.imagify-is-scrollable [type=checkbox]:not(:checked)+label:before{background:#F4F7F9}.imagify-settings .imagify-check-group.imagify-check-group label{color:#338EA6;font-weight:500}.imagify-inline-options{position:relative;display:table;width:100%;max-width:600px;border-collapse:collapse}.imagify-inline-options input[type=radio]:checked,.imagify-inline-options input[type=radio]:not(:checked){position:absolute;left:5px;top:5px;display:none}.imagify-inline-options input[type=radio]:checked+label,.imagify-inline-options input[type=radio]:not(:checked)+label{position:relative;display:table-cell;padding:13px 10px;text-align:center;font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.1em;color:#FFF;background:#2E3243;-webkit-box-shadow:0 -3px 0 rgba(0,0,0,.1) inset;box-shadow:0 -3px 0 rgba(0,0,0,.1) inset;z-index:2;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-inline-options input[type=radio]:checked+label:first-of-type,.imagify-inline-options input[type=radio]:not(:checked)+label:first-of-type{border-radius:3px 0 0 3px}.imagify-inline-options input[type=radio]:checked+label:last-of-type,.imagify-inline-options input[type=radio]:not(:checked)+label:last-of-type{border-radius:0 3px 3px 0}.imagify-inline-options input[type=radio]:checked+label{background:#8BC34A}.imagify-inline-options .imagify-info{margin-top:15px}.imagify-account-info-col,.imagify-col.imagify-col.imagify-account-info-col{width:380px;max-width:100%;padding:0 20px 0 0}.imagify-col.imagify-col.imagify-shared-with-account-col,.imagify-shared-with-account-col{width:calc(100% - 380px);padding:0}.imagify-account-info-col .imagify-options-title{padding:24px 26px;color:#FFF;background:#1F2332}.imagify-block-secondary{padding:26px 26px 35px;border:1px solid #75A345;background:#8BC34A;border-radius:3px;color:#FFF}.imagify-account-info-col .imagify-block-secondary.imagify-block-secondary h3,.imagify-block-secondary.imagify-block-secondary p{color:inherit}.imagify-account-info-col .imagify-col-content h3:first-child{margin-top:0}.imagify-account-info-col .imagify-col-content h3{font-size:19px}.imagify-account-info-col .imagify-col-content p{margin:1.5em 0}.imagify-account-info-col .imagify-col-content p:first-child{margin-top:0}.imagify-user-plan-label{float:right;margin-top:-4px;padding:2px 10px;border:2px solid #40B1D0;font-size:14px;text-transform:uppercase;letter-spacing:.02em;color:#40B1D0;border-radius:3px}.imagify-modal .h2,.imagify-modal .h3{letter-spacing:.075em;text-align:center;font-weight:400}.imagify-user-plan-label:empty{display:none}.imagify-columns{overflow:hidden;padding:15px 0;counter-reset:cols}.imagify-columns [class^=col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.imagify-columns .col-1-3{width:33.333%;padding-left:28px}.imagify-columns .col-2-3{width:66.666%;padding-left:28px}.imagify-columns .col-1-2{width:50%;padding:0 20px}@media (max-width:830px){.imagify-columns [class^=col-]{float:none;margin-bottom:1.5em}.imagify-columns .col-1-2,.imagify-columns .col-1-3{width:auto;padding:0 28px;clear:both;padding-top:1em}}.column-imagify_optimized_file.column-imagify_optimized_file{width:300px;text-align:center;vertical-align:middle}.column-imagify_optimized_file>*{max-width:21em;margin:0 auto}@media (min-width:1151px) and (max-width:1800px){.column-imagify_optimized_file.column-imagify_optimized_file{width:21em}}@media (min-width:783px) and (max-width:1150px){.column-imagify_optimized_file.column-imagify_optimized_file{width:13em}table.media .column-title .has-media-icon~.row-actions.row-actions{margin-left:0}}@media (max-width:782px){table.media .column-imagify_optimized_file.column-imagify_optimized_file{text-align:left}table.media .imagify-datas-actions-links,table.media .imagify-datas-more-action{text-align:center}table.media .column-imagify_optimized_file .imagify-datas-actions-links a,table.media .column-imagify_optimized_file>*{max-width:100%;margin-left:0}}@media (min-width:783px) and (max-width:1150px),(max-width:360px){table.media .imagify-hide-if-small{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0;word-wrap:normal!important}}.compat-field-imagify .label{vertical-align:top}.compat-field-imagify ul.imagify-datas-list{margin-top:7px;font-size:11px}ul.imagify-datas-list.imagify-datas-list{margin:0 auto;color:#555;font-size:10px}ul.imagify-datas-list .big{font-size:12px;color:#40B1D0}.imagify-data-item{overflow:hidden}li.imagify-data-item{clear:both;margin-bottom:2px}ul.imagify-datas-list .imagify-data-item span.data,ul.imagify-datas-list .imagify-data-item strong{float:left;width:38%;-webkit-box-sizing:border-box;box-sizing:border-box}ul.imagify-datas-list .imagify-data-item span.data{width:62%;padding-right:5px;text-align:left}.compat-field-imagify .imagify-datas-list .imagify-data-item .data{width:130px;text-align:left;font-weight:700}ul.imagify-datas-list .imagify-data-item strong{text-align:left;padding-left:5px}.media-sidebar .imagify-datas-list .imagify-data-item .data{width:auto;float:none}.media-sidebar .imagify-datas-list .imagify-data-item strong{display:inline-block;width:auto;float:none}.media-sidebar .imagify-datas-list .imagify-data-item .imagify-chart{float:left}.imagify-datas-more-action.imagify-datas-more-action{margin:.4em auto;background:-webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(49%,transparent),color-stop(50%,rgba(0,0,0,.075)),color-stop(58%,rgba(0,0,0,.075)),color-stop(58%,transparent),to(transparent));background:-o-linear-gradient(top,transparent,transparent 49%,rgba(0,0,0,.075) 50%,rgba(0,0,0,.075) 58%,transparent 58%,transparent);background:linear-gradient(to bottom,transparent,transparent 49%,rgba(0,0,0,.075) 50%,rgba(0,0,0,.075) 58%,transparent 58%,transparent)}.imagify-datas-more-action a{display:inline-block;padding:0 5px;background:#40B1D0;color:#FFF;text-transform:uppercase;font-size:9px;font-weight:700;line-height:1.9;text-decoration:none}.imagify-datas-more-action a.is-open{background:#555}.imagify-datas-more-action a.is-open .dashicons{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.imagify-datas-more-action a .dashicons{font-size:14px;vertical-align:middle;line-height:.8}.imagify-datas-more-action a .dashicons:before{vertical-align:middle;line-height:20px}.imagify-datas-more-action .the-text{display:inline-block;vertical-align:middle;height:auto;line-height:inherit}ul.imagify-datas-details.imagify-datas-details{margin:.7em auto}.imagify-datas-details strong{color:#40B1D0}.imagify-datas-details .original{color:#555}.imagify-datas-actions-links{overflow:hidden;border-top:2px solid transparent;padding-top:5px;font-size:11px}.nggform .imagify-datas-actions-links{position:relative;z-index:2}.nggform .row-actions{z-index:1}.imagify-datas-actions-links a{position:relative;display:inline-block;padding-left:17px;text-decoration:none;font-weight:600}.compat-field-imagify .imagify-datas-actions-links{max-width:300px}.misc-pub-imagify .imagify-datas-actions-links{border-top:2px solid #f2f2f2;padding-bottom:5px}.column-imagify_optimized_file .imagify-datas-actions-links a{margin:0 .7em;padding-left:15px}.compat-field-imagify .imagify-datas-actions-links a,.misc-pub-imagify .imagify-datas-actions-links a{font-size:10px;float:left;width:50%}.media-sidebar .compat-field-imagify .imagify-datas-actions-links a,.submitbox .misc-pub-imagify .imagify-datas-actions-links a{display:block;width:auto;float:none}.imagify-datas-actions-links a:only-child{float:none;width:auto}.imagify-datas-details.is-open+.imagify-datas-actions-links{border-top-color:rgba(0,0,0,.075)}.imagify-datas-actions-links .dashicons{position:absolute;left:0;top:4px;width:12px;margin-right:2px;font-size:11px}.imagify-account,.imagify-account-link{padding-right:15px}.imagify-meteo-icon{display:inline-block;height:38px;vertical-align:middle;margin-right:10px}.imagify-user-plan{color:#40b1d0}.imagify-meteo-title.imagify-meteo-title{color:#FFF;font-size:17px}.imagify-space-left>p{color:#FFF}[class^=imagify-bar-]{position:relative;height:8px;width:100%;background:#60758D;color:#FFF;font-size:10px}.imagify-progress{height:8px;-webkit-transition:width .3s;-o-transition:width .3s;transition:width .3s}.imagify-bar-positive .imagify-progress{background:#8CC152}.imagify-bar-positive .imagify-barnb{color:#8CC152}.imagify-bar-primary .imagify-progress{background:#40B1D0}.imagify-bar-primary .imagify-barnb{color:#40B1D0}.imagify-bar-negative .imagify-progress{background:#D2D3D6}.imagify-bar-negative .imagify-barnb{color:#7A8996}.imagify-bar-neutral .imagify-progress{background:#F5A623}.imagify-space-left .imagify-bar-negative .imagify-progress{background:#C51162}.imagify-btn-ghost{display:inline-block;height:auto;padding:7px 10px;border:1px solid #FFF;text-align:center;background:0 0;color:#FFF;border-radius:3px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-btn-ghost:focus,.imagify-btn-ghost:hover{background:#FFF;color:#888}.imagify-error{background:#D0021B;color:#FFF}.imagify-settings-section .imagify-error{display:inline-block;padding:7px 10px;margin:10px 0 0 45px;border-radius:3px}.imagify-settings-section .imagify-error code{font-weight:400}.imagify-settings-section .imagify-error.hidden{display:none}.imagify-warning{background:#f5a623;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,.2)}.imagify-modal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.js .imagify-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background-color:#1F2332;background-color:rgba(31,35,50,.95);z-index:99999}.imagify-modal-content{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:800px;max-width:95%;max-height:90vw;overflow:auto;padding:20px 25px;margin:1em auto;background:#FFF;-webkit-box-shadow:1px 1px 4px rgba(0,0,0,.7);box-shadow:1px 1px 4px rgba(0,0,0,.7);border-radius:3px}#imagify-visual-comparison .imagify-modal-content,.imagify-visual-comparison .imagify-modal-content{max-width:1400px;background:0 0;padding:5px;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.imagify-modal .h2{margin:.5em 0;color:#8ba6b4;font-size:24px}.imagify-modal .h3{color:#40b1d0;font-size:18px}.imagify-modal .close-btn{display:none;visibility:hidden;position:absolute;right:20px;top:20px;font-size:1.2em;border:0;background:0 0;border-radius:0;cursor:pointer}.imagify-modal .close-btn i{margin-left:-2px}.imagify-modal .close-btn:focus,.imagify-modal .close-btn:hover{color:#40b1d0}.js .imagify-modal .close-btn{display:block;visibility:visible}.imagify-visual-comparison .close-btn,.wp_attachment_image #imagify-visual-comparison .close-btn{top:0}.imagify-visual-comparison .imagify-modal-content,.wp_attachment_image #imagify-visual-comparison .imagify-modal-content{padding-top:40px}.imagify-col{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-preferred-size:50%;flex-basis:50%;padding-right:20px}.imagify-col+.imagify-col{padding-right:0;padding-left:20px}.imagify-col:target{-webkit-animation:hello 1s 3 linear backwards;animation:hello 1s 3 linear backwards}@-webkit-keyframes hello{0%,100%{background:#FFF}50%{background:#F4F7F9}}@keyframes hello{0%,100%{background:#FFF}50%{background:#F4F7F9}}
assets/css/files-list.css CHANGED
File without changes
assets/css/files-list.min.css CHANGED
File without changes
assets/css/options.css CHANGED
@@ -288,6 +288,7 @@ label[for="imagify_sizes_full"] + .imagify-info {
288
  }
289
 
290
  .imagify-menu-bar-img {
 
291
  max-width: 100%;
292
  height: auto;
293
  margin-top: 0;
@@ -440,7 +441,8 @@ a.btn-rocket:focus {
440
  }
441
 
442
  /* Menu in admin bar label exception */
443
- label[for="imagify_admin_bar_menu"] {
 
444
  font-weight: normal !important;
445
  color: #626E7B !important;
446
  }
@@ -638,6 +640,23 @@ p.imagify-custom-folder-line {
638
  .imagify-folders-tree .imagify-is-open ~ label {
639
  color: #7A8996;
640
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
641
 
642
  .imagify-folders-tree button.imagify-folder:hover,
643
  .imagify-folders-tree button.imagify-folder:focus,
288
  }
289
 
290
  .imagify-menu-bar-img {
291
+ box-sizing: border-box;
292
  max-width: 100%;
293
  height: auto;
294
  margin-top: 0;
441
  }
442
 
443
  /* Menu in admin bar label exception */
444
+ label[for="imagify_admin_bar_menu"],
445
+ label[for="imagify_partner_links"] {
446
  font-weight: normal !important;
447
  color: #626E7B !important;
448
  }
640
  .imagify-folders-tree .imagify-is-open ~ label {
641
  color: #7A8996;
642
  }
643
+ .imagify-folders-tree .imagify-folder.imagify-loading:before,
644
+ .imagify-folders-tree .imagify-folder .imagify-loader {
645
+ display: none;
646
+ }
647
+ .imagify-folders-tree .imagify-folder.imagify-loading .imagify-loader {
648
+ display: inline-block;
649
+ width: 13px;
650
+ height: 21px;
651
+ font-size: 1.5em;
652
+ vertical-align: .15em;
653
+ }
654
+ .imagify-folders-tree .imagify-folder.imagify-loading .imagify-loader img {
655
+ display: inline-block;
656
+ width: 100%;
657
+ height: auto;
658
+ vertical-align: middle;
659
+ }
660
 
661
  .imagify-folders-tree button.imagify-folder:hover,
662
  .imagify-folders-tree button.imagify-folder:focus,
assets/css/options.min.css CHANGED
@@ -1 +1 @@
1
- .wrap.imagify-settings{margin-right:0}.imagify-settings.imagify-have-rocket{margin-right:20px}#imagify-check-api-container{display:block;margin-top:6px;font-weight:700}#imagify-check-api-container .dashicons{font-size:25px}#imagify-check-api-container .dashicons-no:before{color:#f06e57;vertical-align:-1px}#imagify-check-api-container .imagify-icon{font-size:1.8em;margin-right:3px;margin-left:1px;color:#8BC34A;vertical-align:-2px}.imagify-account-info-col .imagify-api-line{padding:22px 26px;background:#343A49}.imagify-api-line label,p.imagify-api-key-invite-title{display:block;margin-bottom:6px;font-size:14px;text-transform:uppercase;letter-spacing:.02em;font-weight:700;color:#343A49}.imagify-account-info-col .imagify-api-line label{color:#E5EBEF;display:inline-block}.imagify-api-line.imagify-api-line input[type=text]{width:100%;padding:6px 10px;border:1px solid #40B1D0;font-family:"PT Mono",Consolas,monospace;font-size:14px;letter-spacing:.01em;font-weight:700;color:#40B1D0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.imagify-no-api-key .imagify-api-line{margin:3em 0 0;padding:2em 0 0;border-top:1px solid #D5D6D9}.imagify-no-api-key .imagify-api-line input[type=text]{margin-top:5px;width:400px;max-width:100%}.imagify-settings .imagify-no-api-key div.submit.submit{border:0;padding:0 16px;margin-top:0;background:#FFF}.imagify-settings .imagify-no-api-key div.submit.submit p{padding-bottom:0}.imagify-options-title{margin:.75em 0 0;font-size:24px;letter-spacing:.02em;font-weight:700;color:#343A49}.imagify-options-subtitle{padding-bottom:.3em;margin-bottom:20px;border-bottom:1px solid #D2D3D6;font-size:14px;letter-spacing:.01em;font-weight:700;text-transform:uppercase;color:#626E7B}.imagify-options-subtitle a{font-size:12px;color:#338EA6;text-transform:none;letter-spacing:0}.imagify-options-subtitle .imagify-info{margin-left:15px}.imagify-setting-line{border-top:1px solid #D2D3D6;padding:25px 0 13px}.imagify-options-subtitle+.imagify-setting-line{border-top:0;padding-top:8px}.imagify-setting-optim-level{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 0 18px}.imagify-setting-optim-level>p{margin:0}.imagify-setting-optim-level .imagify-inline-options{-ms-flex-preferred-size:60%;flex-basis:60%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;background:#2E3243;border-radius:3px}.imagify-setting-optim-level .imagify-inline-options label{display:block!important;width:100%;font-size:14px!important;border-radius:3px!important}.imagify-setting-optim-level .imagify-visual-comparison-text{-ms-flex-preferred-size:40%;flex-basis:40%;-ms-flex-negative:1;flex-shrink:1;padding-left:20px;color:#626E7B;-webkit-box-sizing:border-box;box-sizing:border-box}.imagify-setting-optim-level.imagify-setting-optim-level .imagify-visual-comparison-btn{padding-top:5px;margin-top:2px;border-radius:2px;text-transform:none;letter-spacing:0;text-shadow:none!important}@media (max-width:782px){.imagify-settings .form-table th{padding-top:2em;padding-bottom:.5em}}.imagify-settings .form-table td{vertical-align:top}.imagify-settings .form-table th span{cursor:pointer}.imagify-middle th{padding-top:35px}.imagify-settings input[type=text]{color:#4A4A4A;font-weight:600;-webkit-box-shadow:none;box-shadow:none}.imagify-settings div.submit.submit{border-top:1px solid #D9D9D9;margin-top:2em;padding:18px 0 7px 30px}.imagify-settings .hidden+div.submit.submit{margin-top:-1px}.imagify-settings p.submit{float:left;margin-top:0}.imagify-settings p.submit .button{margin:0 5px}.imagify-sub-header th{text-align:right}.imagify-sub-header .form-table{margin:0}.imagify-sub-header td,.imagify-sub-header th{padding-top:0;padding-bottom:0}.imagify-sub-header [for=api_key]{padding-top:5px}@media (max-width:1120px){.imagify-settings .imagify-logo-block{margin-right:0}.imagify-settings .imagify-rate-us.imagify-rate-us{margin:1em 0 -1em}}.imagify-settings .imagify-rate-us{margin-right:25px;margin-left:auto}.imagify-visual-label,label+.imagify-info{display:inline-block;width:550px;max-width:calc(100% - 38px);margin-left:38px;padding-right:25px}label+.imagify-options-line{display:block;margin:8px 0 20px 40px;font-size:14px;-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}.imagify-options-line+.imagify-info{margin-left:38px}label+.imagify-info{margin-top:10px}.imagify-visual-label{vertical-align:-5px}label[for=imagify_sizes_full]+.imagify-info{vertical-align:middle}.imagify-settings.imagify-settings [type=checkbox]:not(:checked)+label .imagify-visual-label,.imagify-settings.imagify-settings [type=checkbox]:not(:checked)+label+.imagify-options-line{opacity:.5}.imagify-settings.imagify-settings [type=checkbox]:checked+label .imagify-visual-label,.imagify-settings.imagify-settings [type=checkbox]:checked+label+.imagify-options-line{opacity:1}.imagify-checkbox-marged{max-width:500px;margin-left:45px}#imagify_resize_larger_w{width:5em;height:auto;padding:6px;margin:0 6px;border:1px solid #8BA6B4;-webkit-box-shadow:none;box-shadow:none;border-radius:2px;color:#338EA6;font-weight:700}.imagify-menu-bar-img{max-width:100%;height:auto;margin-top:0;border:1px solid #8BA6B4}.imagify-col.imagify-main{float:left;width:calc(100% - 320px);padding-left:0;padding-right:0}.imagify-have-rocket .imagify-main{float:none;width:1265px;max-width:100%}.imagify-sidebar{float:left;width:300px;max-width:100%}.imagify-sidebar-section{border:1px solid #BBB;background:#1F2332;position:relative;padding:10px 20px;text-align:center;color:#F2F2F2}.imagify-sidebar-section+.imagify-sidebar-section{margin-top:2em}@media (max-width:820px){.imagify-main,.imagify-sidebar{float:none;width:auto}.imagify-settings{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.imagify-sidebar{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;max-width:none;margin-left:0;margin-top:25px}.wp-media-products{text-align:center}.wp-media-products li{display:inline-block;width:100%;max-width:276px}}@media (min-width:1400px){.imagify-main{width:74%}}.imagify-sidebar-close{position:absolute;top:8px;right:12px;text-decoration:none}.imagify-sidebar-close i{font-size:2em;color:rgba(255,255,255,.5)}p.imagify-sidebar-title{margin:1.2em 0 1.5em;text-align:left;color:#F56640;text-transform:uppercase;letter-spacing:.015em;word-spacing:.015em;font-weight:700}p.imagify-sidebar-description{margin:1.5em 0;text-align:left;font-weight:500;color:#F2F2F2}.imagify-sidebar-description strong{color:#39CE9A}.imagify-rocket-cta-promo{display:block;padding:8px 10px;margin:1.3em 0 .5em;border:2px dashed #F56640;border-radius:3px;font-size:18px;font-weight:700;color:#F56640}.imagify-rocket-cta-promo strong,a.btn-rocket{color:#F2F2F2}a.btn-rocket{display:block;font-size:15px;padding:10px 12px;margin:0 0 1.5em;background:#F56640;border-radius:3px;text-transform:uppercase;font-weight:700;text-decoration:none}a.btn-rocket:focus,a.btn-rocket:hover{background:#AC2B15}.imagify-sidebar-section ul{margin-top:20px}.imagify-sidebar-section li{position:relative;margin:1.2em 0;padding-left:25px;text-align:left}.imagify-sidebar-section li:before{content:"✓";position:absolute;left:0;top:0;color:#39CE9A;font-size:18px}label[for=imagify_admin_bar_menu]{font-weight:400!important;color:#626E7B!important}.imagify-select-all-buttons{margin-top:8px}.imagify-link-like.imagify-select-all{font-weight:700;font-size:12px;color:#3694AE}.imagify-select-all.imagify-is-inactive{color:inherit;text-decoration:none;cursor:default}.imagify-fts-header{padding:10px 16px;background:#343A49;color:#FFF}.imagify-fts-header i{font-size:1.8em;margin-right:12px}.imagify-fts-header p{margin:0;color:#FFF}#imagify-add-themes-to-custom-folder strong,.imagify-fts-header strong{color:#40B1D0;font-weight:700}.imagify-fts-content{padding:16px;background:#F4F7F9;border:1px solid #CDD0D4;border-top:0}.imagify-fts-content p{margin-top:0}.imagify-kindof-title{margin-top:2em;padding:0 0 10px;border-bottom:1px solid #D2D3D6;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-weight:700}.imagify-kindof-title .imagify-button-primary{padding:4px 13px 4px 10px}.imagify-kindof-title .imagify-button-primary .dashicons{vertical-align:-7.5px}.imagify-kindof-title .imagify-button-primary:focus,.imagify-kindof-title .imagify-button-primary:hover{color:#FFF}p.imagify-custom-folder-line{position:relative;margin:0;padding:12px 15px;color:#4A5362;font-weight:500;-webkit-transition:all .75s;-o-transition:all .75s;transition:all .75s}.imagify-custom-folder-line.imagify-will-remove{background:#C51162;color:#FFF;-webkit-transform:translateX(-120px);-ms-transform:translateX(-120px);transform:translateX(-120px);opacity:0}.imagify-custom-folder-line:first-child{margin-top:-.5em}.imagify-custom-folder-line+.imagify-custom-folder-line{border-top:1px solid #E9EFF2}.imagify-custom-folders-remove{position:absolute;right:0;top:6px;border:0;padding:5px 10px 4px;-webkit-box-shadow:none;box-shadow:none;color:#7A8996;border-radius:16px;font-size:13px;line-height:18px;background:#FFF;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s;cursor:pointer}.imagify-custom-folders-remove-text{max-width:0;overflow:hidden;white-space:nowrap;display:inline-block;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-custom-folders-remove:focus,.imagify-custom-folders-remove:hover{background:#D9EFF6;color:#225E6E}.imagify-custom-folders-remove:focus .imagify-custom-folders-remove-text,.imagify-custom-folders-remove:hover .imagify-custom-folders-remove-text{max-width:6em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.imagify-add-custom-folder+.imagify-loader{display:none;vertical-align:middle}.imagify-add-custom-folder[disabled]+.imagify-loader{display:inline-block}.imagify-folders-information{position:relative;margin:-5px 0 20px;padding:10px 10px 10px 40px;text-align:left;background:#F2F2F2}.imagify-folders-information i{position:absolute;left:10px;top:50%;margin-top:-10px}.imagify-folders-tree{margin:0;text-align:left}.imagify-folders-tree li{clear:left}.imagify-folders-tree .imagify-folder{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:48px;z-index:2;float:left;margin-top:-3px;padding:0 8px 0 0;border:0;background:0 0!important;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-folders-tree span.imagify-folder{padding-left:1.5px}.imagify-folders-tree .imagify-folder:before{content:"+";display:inline-block;width:13px;height:21px;font-size:1.5em;vertical-align:.15em}.imagify-folders-tree span.imagify-folder:before{content:''}.imagify-folders-tree .imagify-folder-icon path{-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-folders-tree .imagify-is-open .imagify-folder-icon path{stroke:#7A8996}.imagify-folders-tree .imagify-is-open.imagify-folder:before{content:"-";color:#7A8996}.imagify-folders-tree .imagify-is-open~label{color:#7A8996}.imagify-folders-tree button.imagify-folder:focus,.imagify-folders-tree button.imagify-folder:focus path,.imagify-folders-tree button.imagify-folder:hover,.imagify-folders-tree button.imagify-folder:hover path{color:#3694AE;stroke:#3694AE}.imagify-folders-tree .imagify-folder.disabled,.imagify-folders-tree .imagify-folder:disabled{color:#7f7f7f}.imagify-swal-content .imagify-folders-tree label{position:relative;display:block;width:100%;padding:3px 0;font-size:15px;font-weight:500;vertical-align:top;-webkit-transition:all .475s;-o-transition:all .475s;transition:all .475s}.imagify-folders-tree input:focus+label,.imagify-swal-content .imagify-folders-tree label:hover{background:#F4F7F9}.imagify-folders-tree .imagify-folder-already-selected input:focus+label,.imagify-folders-tree .imagify-folder-already-selected label,.imagify-folders-tree .imagify-folder-already-selected label:hover{background:#40B1D0;color:#FFF;border-radius:3px;cursor:default}.imagify-folders-tree .imagify-folder-already-selected button,.imagify-folders-tree .imagify-folder-already-selected button path{color:#FFF;stroke:#FFF;cursor:default}.imagify-folders-tree .imagify-folder-already-selected button:focus path,.imagify-folders-tree .imagify-folder-already-selected button:hover path{stroke:#FFF}.imagify-folders-tree .imagify-folder-already-selected button:before{content:''}.imagify-add-ed-folder{position:absolute;top:0;bottom:0;right:0;font-size:11px;text-transform:uppercase;letter-spacing:.02em;word-spacing:.02em;color:#3694AE;background:#F4F7F9;opacity:0;-webkit-transform:translateX(15px);-ms-transform:translateX(15px);transform:translateX(15px);-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-folder-already-selected .imagify-add-ed-folder,input:checked+label .imagify-add-ed-folder,input:focus+label .imagify-add-ed-folder,label:hover .imagify-add-ed-folder{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}input:checked+label .imagify-add-ed-folder{background:#FFF}input:checked+label:hover .imagify-add-ed-folder,input:checked:focus+label .imagify-add-ed-folder{background:#F4F7F9}.imagify-folder-already-selected .imagify-add-ed-folder{background:#40B1D0;color:#FFF}.imagify-fake-checkbox{position:relative;display:inline-block;width:14px;height:14px;margin:3.5px 15px 0 5px;border:1.5px solid #3694AE;border-radius:3px;vertical-align:-4px}.imagify-fake-checkbox:after{position:absolute;left:1px;top:0;content:"✓";color:#3694AE;font-size:14px;line-height:.9;font-style:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:all .475s;-o-transition:all .475s;transition:all .475s}.imagify-folder-already-selected .imagify-fake-checkbox:after,input:checked+label .imagify-fake-checkbox:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.imagify-folder-already-selected .imagify-fake-checkbox{border-color:#40B1D0}.imagify-folder-already-selected .imagify-fake-checkbox:after{color:#FFF}.imagify-folders-sub-tree{position:relative;margin-left:.75em;padding-top:.6em;padding-left:1em;border-left:1px dotted rgba(98,110,123,.3)}.imagify-folders-sub-tree li{position:relative;margin-bottom:4px}.imagify-folders-sub-tree li:before{content:"";position:absolute;top:12px;left:-1em;height:1px;width:.9em;border-top:1px dotted rgba(98,110,123,.3)}.imagify-folders-sub-tree li:last-child:after{content:"";position:absolute;left:-1.1em;bottom:0;height:11px;width:3px;background:#FFF}.imagify-empty-folder{margin-top:-.5em}.imagify-empty-folder em{font-size:12px;font-weight:500;color:#A2AFBC}
1
+ .wrap.imagify-settings{margin-right:0}.imagify-settings.imagify-have-rocket{margin-right:20px}#imagify-check-api-container{display:block;margin-top:6px;font-weight:700}#imagify-check-api-container .dashicons{font-size:25px}#imagify-check-api-container .dashicons-no:before{color:#f06e57;vertical-align:-1px}#imagify-check-api-container .imagify-icon{font-size:1.8em;margin-right:3px;margin-left:1px;color:#8BC34A;vertical-align:-2px}.imagify-account-info-col .imagify-api-line{padding:22px 26px;background:#343A49}.imagify-api-line label,p.imagify-api-key-invite-title{display:block;margin-bottom:6px;font-size:14px;text-transform:uppercase;letter-spacing:.02em;font-weight:700;color:#343A49}.imagify-account-info-col .imagify-api-line label{color:#E5EBEF;display:inline-block}.imagify-api-line.imagify-api-line input[type=text]{width:100%;padding:6px 10px;border:1px solid #40B1D0;font-family:"PT Mono",Consolas,monospace;font-size:14px;letter-spacing:.01em;font-weight:700;color:#40B1D0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.imagify-no-api-key .imagify-api-line{margin:3em 0 0;padding:2em 0 0;border-top:1px solid #D5D6D9}.imagify-no-api-key .imagify-api-line input[type=text]{margin-top:5px;width:400px;max-width:100%}.imagify-settings .imagify-no-api-key div.submit.submit{border:0;padding:0 16px;margin-top:0;background:#FFF}.imagify-settings .imagify-no-api-key div.submit.submit p{padding-bottom:0}.imagify-options-title{margin:.75em 0 0;font-size:24px;letter-spacing:.02em;font-weight:700;color:#343A49}.imagify-options-subtitle{padding-bottom:.3em;margin-bottom:20px;border-bottom:1px solid #D2D3D6;font-size:14px;letter-spacing:.01em;font-weight:700;text-transform:uppercase;color:#626E7B}.imagify-options-subtitle a{font-size:12px;color:#338EA6;text-transform:none;letter-spacing:0}.imagify-options-subtitle .imagify-info{margin-left:15px}.imagify-setting-line{border-top:1px solid #D2D3D6;padding:25px 0 13px}.imagify-options-subtitle+.imagify-setting-line{border-top:0;padding-top:8px}.imagify-setting-optim-level{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 0 18px}.imagify-setting-optim-level>p{margin:0}.imagify-setting-optim-level .imagify-inline-options{-ms-flex-preferred-size:60%;flex-basis:60%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;background:#2E3243;border-radius:3px}.imagify-setting-optim-level .imagify-inline-options label{display:block!important;width:100%;font-size:14px!important;border-radius:3px!important}.imagify-setting-optim-level .imagify-visual-comparison-text{-ms-flex-preferred-size:40%;flex-basis:40%;-ms-flex-negative:1;flex-shrink:1;padding-left:20px;color:#626E7B;-webkit-box-sizing:border-box;box-sizing:border-box}.imagify-setting-optim-level.imagify-setting-optim-level .imagify-visual-comparison-btn{padding-top:5px;margin-top:2px;border-radius:2px;text-transform:none;letter-spacing:0;text-shadow:none!important}@media (max-width:782px){.imagify-settings .form-table th{padding-top:2em;padding-bottom:.5em}}.imagify-settings .form-table td{vertical-align:top}.imagify-settings .form-table th span{cursor:pointer}.imagify-middle th{padding-top:35px}.imagify-settings input[type=text]{color:#4A4A4A;font-weight:600;-webkit-box-shadow:none;box-shadow:none}.imagify-settings div.submit.submit{border-top:1px solid #D9D9D9;margin-top:2em;padding:18px 0 7px 30px}.imagify-settings .hidden+div.submit.submit{margin-top:-1px}.imagify-settings p.submit{float:left;margin-top:0}.imagify-settings p.submit .button{margin:0 5px}.imagify-sub-header th{text-align:right}.imagify-sub-header .form-table{margin:0}.imagify-sub-header td,.imagify-sub-header th{padding-top:0;padding-bottom:0}.imagify-sub-header [for=api_key]{padding-top:5px}@media (max-width:1120px){.imagify-settings .imagify-logo-block{margin-right:0}.imagify-settings .imagify-rate-us.imagify-rate-us{margin:1em 0 -1em}}.imagify-settings .imagify-rate-us{margin-right:25px;margin-left:auto}.imagify-visual-label,label+.imagify-info{display:inline-block;width:550px;max-width:calc(100% - 38px);margin-left:38px;padding-right:25px}label+.imagify-options-line{display:block;margin:8px 0 20px 40px;font-size:14px;-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}.imagify-options-line+.imagify-info{margin-left:38px}label+.imagify-info{margin-top:10px}.imagify-visual-label{vertical-align:-5px}label[for=imagify_sizes_full]+.imagify-info{vertical-align:middle}.imagify-settings.imagify-settings [type=checkbox]:not(:checked)+label .imagify-visual-label,.imagify-settings.imagify-settings [type=checkbox]:not(:checked)+label+.imagify-options-line{opacity:.5}.imagify-settings.imagify-settings [type=checkbox]:checked+label .imagify-visual-label,.imagify-settings.imagify-settings [type=checkbox]:checked+label+.imagify-options-line{opacity:1}.imagify-checkbox-marged{max-width:500px;margin-left:45px}#imagify_resize_larger_w{width:5em;height:auto;padding:6px;margin:0 6px;border:1px solid #8BA6B4;-webkit-box-shadow:none;box-shadow:none;border-radius:2px;color:#338EA6;font-weight:700}.imagify-menu-bar-img{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;height:auto;margin-top:0;border:1px solid #8BA6B4}.imagify-col.imagify-main{float:left;width:calc(100% - 320px);padding-left:0;padding-right:0}.imagify-have-rocket .imagify-main{float:none;width:1265px;max-width:100%}.imagify-sidebar{float:left;width:300px;max-width:100%}.imagify-sidebar-section{border:1px solid #BBB;background:#1F2332;position:relative;padding:10px 20px;text-align:center;color:#F2F2F2}.imagify-sidebar-section+.imagify-sidebar-section{margin-top:2em}@media (max-width:820px){.imagify-main,.imagify-sidebar{float:none;width:auto}.imagify-settings{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.imagify-sidebar{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;max-width:none;margin-left:0;margin-top:25px}.wp-media-products{text-align:center}.wp-media-products li{display:inline-block;width:100%;max-width:276px}}@media (min-width:1400px){.imagify-main{width:74%}}.imagify-sidebar-close{position:absolute;top:8px;right:12px;text-decoration:none}.imagify-sidebar-close i{font-size:2em;color:rgba(255,255,255,.5)}p.imagify-sidebar-title{margin:1.2em 0 1.5em;text-align:left;color:#F56640;text-transform:uppercase;letter-spacing:.015em;word-spacing:.015em;font-weight:700}p.imagify-sidebar-description{margin:1.5em 0;text-align:left;font-weight:500;color:#F2F2F2}.imagify-sidebar-description strong{color:#39CE9A}.imagify-rocket-cta-promo{display:block;padding:8px 10px;margin:1.3em 0 .5em;border:2px dashed #F56640;border-radius:3px;font-size:18px;font-weight:700;color:#F56640}.imagify-rocket-cta-promo strong,a.btn-rocket{color:#F2F2F2}a.btn-rocket{display:block;font-size:15px;padding:10px 12px;margin:0 0 1.5em;background:#F56640;border-radius:3px;text-transform:uppercase;font-weight:700;text-decoration:none}a.btn-rocket:focus,a.btn-rocket:hover{background:#AC2B15}.imagify-sidebar-section ul{margin-top:20px}.imagify-sidebar-section li{position:relative;margin:1.2em 0;padding-left:25px;text-align:left}.imagify-sidebar-section li:before{content:"✓";position:absolute;left:0;top:0;color:#39CE9A;font-size:18px}label[for=imagify_admin_bar_menu],label[for=imagify_partner_links]{font-weight:400!important;color:#626E7B!important}.imagify-select-all-buttons{margin-top:8px}.imagify-link-like.imagify-select-all{font-weight:700;font-size:12px;color:#3694AE}.imagify-select-all.imagify-is-inactive{color:inherit;text-decoration:none;cursor:default}.imagify-fts-header{padding:10px 16px;background:#343A49;color:#FFF}.imagify-fts-header i{font-size:1.8em;margin-right:12px}.imagify-fts-header p{margin:0;color:#FFF}#imagify-add-themes-to-custom-folder strong,.imagify-fts-header strong{color:#40B1D0;font-weight:700}.imagify-fts-content{padding:16px;background:#F4F7F9;border:1px solid #CDD0D4;border-top:0}.imagify-fts-content p{margin-top:0}.imagify-kindof-title{margin-top:2em;padding:0 0 10px;border-bottom:1px solid #D2D3D6;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-weight:700}.imagify-kindof-title .imagify-button-primary{padding:4px 13px 4px 10px}.imagify-kindof-title .imagify-button-primary .dashicons{vertical-align:-7.5px}.imagify-kindof-title .imagify-button-primary:focus,.imagify-kindof-title .imagify-button-primary:hover{color:#FFF}p.imagify-custom-folder-line{position:relative;margin:0;padding:12px 15px;color:#4A5362;font-weight:500;-webkit-transition:all .75s;-o-transition:all .75s;transition:all .75s}.imagify-custom-folder-line.imagify-will-remove{background:#C51162;color:#FFF;-webkit-transform:translateX(-120px);-ms-transform:translateX(-120px);transform:translateX(-120px);opacity:0}.imagify-custom-folder-line:first-child{margin-top:-.5em}.imagify-custom-folder-line+.imagify-custom-folder-line{border-top:1px solid #E9EFF2}.imagify-custom-folders-remove{position:absolute;right:0;top:6px;border:0;padding:5px 10px 4px;-webkit-box-shadow:none;box-shadow:none;color:#7A8996;border-radius:16px;font-size:13px;line-height:18px;background:#FFF;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s;cursor:pointer}.imagify-custom-folders-remove-text{max-width:0;overflow:hidden;white-space:nowrap;display:inline-block;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-custom-folders-remove:focus,.imagify-custom-folders-remove:hover{background:#D9EFF6;color:#225E6E}.imagify-custom-folders-remove:focus .imagify-custom-folders-remove-text,.imagify-custom-folders-remove:hover .imagify-custom-folders-remove-text{max-width:6em;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}.imagify-add-custom-folder+.imagify-loader{display:none;vertical-align:middle}.imagify-add-custom-folder[disabled]+.imagify-loader{display:inline-block}.imagify-folders-information{position:relative;margin:-5px 0 20px;padding:10px 10px 10px 40px;text-align:left;background:#F2F2F2}.imagify-folders-information i{position:absolute;left:10px;top:50%;margin-top:-10px}.imagify-folders-tree{margin:0;text-align:left}.imagify-folders-tree li{clear:left}.imagify-folders-tree .imagify-folder{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;width:48px;z-index:2;float:left;margin-top:-3px;padding:0 8px 0 0;border:0;background:0 0!important;-webkit-box-shadow:none;box-shadow:none;cursor:pointer;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-folders-tree span.imagify-folder{padding-left:1.5px}.imagify-folders-tree .imagify-folder:before{content:"+";display:inline-block;width:13px;height:21px;font-size:1.5em;vertical-align:.15em}.imagify-folders-tree span.imagify-folder:before{content:''}.imagify-folders-tree .imagify-folder-icon path{-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-folders-tree .imagify-is-open .imagify-folder-icon path{stroke:#7A8996}.imagify-folders-tree .imagify-is-open.imagify-folder:before{content:"-";color:#7A8996}.imagify-folders-tree .imagify-is-open~label{color:#7A8996}.imagify-folders-tree .imagify-folder .imagify-loader,.imagify-folders-tree .imagify-folder.imagify-loading:before{display:none}.imagify-folders-tree .imagify-folder.imagify-loading .imagify-loader{display:inline-block;width:13px;height:21px;font-size:1.5em;vertical-align:.15em}.imagify-folders-tree .imagify-folder.imagify-loading .imagify-loader img{display:inline-block;width:100%;height:auto;vertical-align:middle}.imagify-folders-tree button.imagify-folder:focus,.imagify-folders-tree button.imagify-folder:focus path,.imagify-folders-tree button.imagify-folder:hover,.imagify-folders-tree button.imagify-folder:hover path{color:#3694AE;stroke:#3694AE}.imagify-folders-tree .imagify-folder.disabled,.imagify-folders-tree .imagify-folder:disabled{color:#7f7f7f}.imagify-swal-content .imagify-folders-tree label{position:relative;display:block;width:100%;padding:3px 0;font-size:15px;font-weight:500;vertical-align:top;-webkit-transition:all .475s;-o-transition:all .475s;transition:all .475s}.imagify-folders-tree input:focus+label,.imagify-swal-content .imagify-folders-tree label:hover{background:#F4F7F9}.imagify-folders-tree .imagify-folder-already-selected input:focus+label,.imagify-folders-tree .imagify-folder-already-selected label,.imagify-folders-tree .imagify-folder-already-selected label:hover{background:#40B1D0;color:#FFF;border-radius:3px;cursor:default}.imagify-folders-tree .imagify-folder-already-selected button,.imagify-folders-tree .imagify-folder-already-selected button path{color:#FFF;stroke:#FFF;cursor:default}.imagify-folders-tree .imagify-folder-already-selected button:focus path,.imagify-folders-tree .imagify-folder-already-selected button:hover path{stroke:#FFF}.imagify-folders-tree .imagify-folder-already-selected button:before{content:''}.imagify-add-ed-folder{position:absolute;top:0;bottom:0;right:0;font-size:11px;text-transform:uppercase;letter-spacing:.02em;word-spacing:.02em;color:#3694AE;background:#F4F7F9;opacity:0;-webkit-transform:translateX(15px);-ms-transform:translateX(15px);transform:translateX(15px);-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-folder-already-selected .imagify-add-ed-folder,input:checked+label .imagify-add-ed-folder,input:focus+label .imagify-add-ed-folder,label:hover .imagify-add-ed-folder{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}input:checked+label .imagify-add-ed-folder{background:#FFF}input:checked+label:hover .imagify-add-ed-folder,input:checked:focus+label .imagify-add-ed-folder{background:#F4F7F9}.imagify-folder-already-selected .imagify-add-ed-folder{background:#40B1D0;color:#FFF}.imagify-fake-checkbox{position:relative;display:inline-block;width:14px;height:14px;margin:3.5px 15px 0 5px;border:1.5px solid #3694AE;border-radius:3px;vertical-align:-4px}.imagify-fake-checkbox:after{position:absolute;left:1px;top:0;content:"✓";color:#3694AE;font-size:14px;line-height:.9;font-style:normal;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;opacity:0;-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0);-webkit-transition:all .475s;-o-transition:all .475s;transition:all .475s}.imagify-folder-already-selected .imagify-fake-checkbox:after,input:checked+label .imagify-fake-checkbox:after{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.imagify-folder-already-selected .imagify-fake-checkbox{border-color:#40B1D0}.imagify-folder-already-selected .imagify-fake-checkbox:after{color:#FFF}.imagify-folders-sub-tree{position:relative;margin-left:.75em;padding-top:.6em;padding-left:1em;border-left:1px dotted rgba(98,110,123,.3)}.imagify-folders-sub-tree li{position:relative;margin-bottom:4px}.imagify-folders-sub-tree li:before{content:"";position:absolute;top:12px;left:-1em;height:1px;width:.9em;border-top:1px dotted rgba(98,110,123,.3)}.imagify-folders-sub-tree li:last-child:after{content:"";position:absolute;left:-1.1em;bottom:0;height:11px;width:3px;background:#FFF}.imagify-empty-folder{margin-top:-.5em}.imagify-empty-folder em{font-size:12px;font-weight:500;color:#A2AFBC}
assets/images/big-blue-check.png CHANGED
File without changes
assets/images/icon-alert.svg CHANGED
File without changes
assets/images/icon-arrow-choice.png CHANGED
File without changes
assets/images/icon-arrow-choice.svg CHANGED
File without changes
assets/images/icon-doc-image.svg CHANGED
File without changes
assets/images/icon-external.svg CHANGED
File without changes
assets/images/icon-level.svg CHANGED
File without changes
assets/images/icon-load.svg CHANGED
File without changes
assets/images/icon-lock.png CHANGED
File without changes
assets/images/icon-lock.svg CHANGED
File without changes
assets/images/icon-pack.png CHANGED
File without changes
assets/images/icon-pack.svg CHANGED
File without changes
assets/images/icon-time.svg CHANGED
File without changes
assets/images/imagify-logo.png CHANGED
File without changes
assets/images/imagify-menu-bar-de.jpg ADDED
Binary file
assets/images/imagify-menu-bar-en.jpg ADDED
Binary file
assets/images/imagify-menu-bar-es.jpg ADDED
Binary file
assets/images/imagify-menu-bar-fr.jpg ADDED
Binary file
assets/images/imagify-menu-bar-it.jpg ADDED
Binary file
assets/images/imagify-menu-bar.jpg DELETED
Binary file
assets/images/lazyload.png CHANGED
File without changes
assets/images/logo-wprocket.png CHANGED
File without changes
assets/images/logo-wprocket.svg CHANGED
File without changes
assets/images/logo-wprocket@2x.png CHANGED
File without changes
assets/images/pic-ericwaltr.jpg CHANGED
File without changes
assets/images/pic-srhdesign.jpg CHANGED
File without changes
assets/images/spinner.gif CHANGED
File without changes
assets/images/upload-image.png CHANGED
File without changes
assets/js/chart.js CHANGED
File without changes
assets/js/chart.min.js CHANGED
File without changes
assets/js/files-list.js CHANGED
File without changes
assets/js/files-list.min.js CHANGED
File without changes
assets/js/formdata-polyfill.js CHANGED
File without changes
assets/js/formdata-polyfill.min.js CHANGED
File without changes
assets/js/imagify-gulp.js CHANGED
File without changes
assets/js/imagify-gulp.min.js CHANGED
File without changes
assets/js/imagify-wp-retina-2x.js CHANGED
File without changes
assets/js/imagify-wp-retina-2x.min.js CHANGED
File without changes
assets/js/options.js CHANGED
@@ -320,7 +320,7 @@
320
  return;
321
  }
322
 
323
- $button.attr( 'disabled', 'disabled' );
324
 
325
  if ( $tree.length ) {
326
  if ( $button.hasClass( 'imagify-is-open' ) ) {
@@ -328,9 +328,9 @@
328
  $button.removeClass(' imagify-is-open' );
329
  } else {
330
  $tree.removeClass( 'hidden' );
331
- $button.addClass(' imagify-is-open' );
332
  }
333
- $button.removeAttr( 'disabled' );
334
  return;
335
  }
336
 
@@ -365,7 +365,7 @@
365
  } );
366
  } )
367
  .always( function(){
368
- $button.removeAttr( 'disabled' );
369
  } );
370
  } );
371
 
320
  return;
321
  }
322
 
323
+ $button.attr( 'disabled', 'disabled' ).addClass( 'imagify-loading' );
324
 
325
  if ( $tree.length ) {
326
  if ( $button.hasClass( 'imagify-is-open' ) ) {
328
  $button.removeClass(' imagify-is-open' );
329
  } else {
330
  $tree.removeClass( 'hidden' );
331
+ $button.addClass( 'imagify-is-open' );
332
  }
333
+ $button.removeAttr( 'disabled' ).removeClass( 'imagify-loading' );
334
  return;
335
  }
336
 
365
  } );
366
  } )
367
  .always( function(){
368
+ $button.removeAttr( 'disabled' ).removeClass( 'imagify-loading' );
369
  } );
370
  } );
371
 
assets/js/options.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,b,c,d){var e=!1,f=!1;a("#imagify-settings #api_key").on("blur",function(){var b=a(this),d=b.val();return""!==a.trim(d)&&(a("#check_api_key").val()===d?(a("#imagify-check-api-container").html('<span class="dashicons dashicons-yes"></span> '+imagifyOptions.labels.ValidApiKeyText),!1):(!0===e?f.abort():(a("#imagify-check-api-container").remove(),b.after('<span id="imagify-check-api-container"><span class="imagify-spinner"></span>'+imagifyOptions.labels.waitApiKeyCheckText+"</span>")),e=!0,void(f=a.get(ajaxurl+c.imagify.concat+"action=imagify_check_api_key_validity&api_key="+b.val()+"&imagifycheckapikeynonce="+a("#imagifycheckapikeynonce").val()).done(function(b){b.success?(a("#imagify-check-api-container").remove(),swal({title:imagifyOptions.labels.ApiKeyCheckSuccessTitle,html:imagifyOptions.labels.ApiKeyCheckSuccessText,type:"success",padding:0,customClass:"imagify-sweet-alert"}).then(function(){location.reload()})):a("#imagify-check-api-container").html('<span class="dashicons dashicons-no"></span> '+b.data),e=!1}))))}),a(".imagify-options-line").css("cursor","pointer").on("click",function(b){if("INPUT"!==b.target.nodeName)return a('input[aria-describedby="'+a(this).attr("id")+'"]').trigger("click"),!1}),a(".imagify-settings th span").on("click",function(){var b=a(this).parent().next("td").find("input:checkbox");1===b.length&&b.trigger("click")}),a(".imagify-options-line").find("input").on("change focus",function(){var b=a(this).closest(".imagify-options-line").prev("label").prev("input");b[0].checked||b.prop("checked",!0)}),a(".imagify-settings-section").find("#imagify_backup").on("change",function(){var b=a(this),c=b.siblings("#backup-dir-is-writable"),d={action:"imagify_check_backup_dir_is_writable",_wpnonce:c.data("nonce")};if(b.is(":checked"))return void a.getJSON(ajaxurl,d).done(function(b){a.isPlainObject(b)&&b.success&&(b.data.is_writable?c.addClass("hidden"):c.removeClass("hidden"))});swal({title:imagifyOptions.labels.noBackupTitle,html:imagifyOptions.labels.noBackupText,type:"warning",customClass:"imagify-sweet-alert",padding:0,showCancelButton:!0,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){c.addClass("hidden")},function(){b.prop("checked",!0)})})}(jQuery,document,window),function(a,b,c,d){a.imagifyUser&&c.getJSON(ajaxurl,a.imagifyUser).done(function(a){c.isPlainObject(a)&&a.success&&(a.data.id=null,a.data.plan_id=null,a.data.is=[],c.each(a.data,function(b,d){var e=".imagify-user-"+b.replace(/_/g,"-");0===b.indexOf("is_")?d&&a.data.is.push(e):"is"!==b&&c(e).text(d)}),a.data.is.push("best-plan"),c(a.data.is.join(",")).removeClass("hidden"))})}(window,document,jQuery),function(a,b,c,d){function e(b){var d,e,f,g,h,i=!1,j=null;b&&(f=c("#imagify-custom-folders-selected"),g=f.find(".imagify-custom-folder-line"),h=g.find('[value="'+b+'"]'),h.length||(b=b.split("#///#"),d=b[1].replace(/\/+$/,"").toLowerCase(),e=a.imagify.template("imagify-custom-folder"),g.each(function(){var a=c(this),h=a.data("path").replace(/\/+$/,"").toLowerCase();return""!==h&&0===d.indexOf(h)?(i=!0,!1):d<h?(a.before(e({value:b[0],label:b[1]})),g=f.find(".imagify-custom-folder-line"),i=!0,!1):void 0}),i||(f.append(e({value:b[0],label:b[1]})),g=f.find(".imagify-custom-folder-line")),""!==d&&g.each(function(){var a=c(this),b=a.data("path").toLowerCase();null!==j&&0===b.indexOf(j)?a.find(".imagify-custom-folders-remove").trigger("click.imagify"):j=b}),f.next(".hidden").removeClass("hidden")))}imagifyOptions.getFilesTree&&(c("#imagify-add-custom-folder").on("click.imagify",function(){var a,b=c(this),d=[];b.attr("disabled")||(b.attr("disabled","disabled").next("img").attr("aria-hidden","false"),a=c("#imagify-custom-folders-selected"),a.find("input").each(function(){d.push(this.value)}),c.post(imagifyOptions.getFilesTree,{folder:"/",selected:d},null,"json").done(function(a){if(!a.success)return void swal({title:imagifyOptions.labels.error,html:a.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"});swal({title:imagifyOptions.labels.filesTreeTitle,html:'<div class="imagify-swal-subtitle">'+imagifyOptions.labels.filesTreeSubTitle+'</div><div class="imagify-swal-content"><p class="imagify-folders-information"><i class="dashicons dashicons-info" aria-hidden="true"></i>'+imagifyOptions.labels.cleaningInfo+'</p><ul id="imagify-folders-tree" class="imagify-folders-tree">'+a.data+"</ul></div>",type:"",customClass:"imagify-sweet-alert imagify-swal-has-subtitle imagify-folders-selection",showCancelButton:!0,padding:0,confirmButtonText:imagifyOptions.labels.confirmFilesTreeBtn,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){var a=c("#imagify-folders-tree input").serializeArray();a.length&&c.each(a,function(a,b){e(b.value)})}).catch(swal.noop)}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",customClass:"imagify-sweet-alert",padding:0})}).always(function(){b.removeAttr("disabled").next("img").attr("aria-hidden","true")}))}),c(b).on("click.imagify","#imagify-folders-tree [data-folder]",function(){var a=c(this),b=a.nextAll(".imagify-folders-sub-tree"),d=[];if(!a.attr("disabled")&&!a.siblings(":checkbox").is(":checked")){if(a.attr("disabled","disabled"),b.length)return a.hasClass("imagify-is-open")?(b.addClass("hidden"),a.removeClass(" imagify-is-open")):(b.removeClass("hidden"),a.addClass(" imagify-is-open")),void a.removeAttr("disabled");c("#imagify-custom-folders-selected").find("input").each(function(){d.push(this.value)}),c.post(imagifyOptions.getFilesTree,{folder:a.data("folder"),selected:d},null,"json").done(function(b){if(!b.success)return void swal({title:imagifyOptions.labels.error,html:b.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"});a.addClass("imagify-is-open").parent().append('<ul class="imagify-folders-sub-tree">'+b.data+"</ul>")}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",padding:0,customClass:"imagify-sweet-alert"})}).always(function(){a.removeAttr("disabled")})}}),c("#imagify-custom-folders").on("click.imagify",".imagify-custom-folders-remove",function(){var b=c(this).closest(".imagify-custom-folder-line").addClass("imagify-will-remove");a.setTimeout(function(){b.remove(),c("#imagify-custom-folders-selected").siblings(".imagify-success.hidden").removeClass("hidden")},750)}),c("#imagify-add-themes-to-custom-folder").on("click.imagify",function(){var a=c(this);e(a.data("theme")),e(a.data("theme-parent")),a.replaceWith("<p>"+imagifyOptions.labels.themesAdded+"</p>")}))}(window,document,jQuery),function(a,b,c,d){var e=c.propHooks.checked;c.propHooks.checked={set:function(a,b,d){var f;return f=void 0===e?a[d]=b:e(a,b,d),c(a).trigger("change.imagify"),f}},c(".imagify-select-all").on("click.imagify",function(){var a=c(this),b=a.data("action"),d=a.closest(".imagify-select-all-buttons"),e=d.prev(".imagify-check-group"),f="imagify-is-inactive";if(a.hasClass(f))return!1;d.find(".imagify-select-all").removeClass(f).attr("aria-disabled","false"),a.addClass(f).attr("aria-disabled","true"),e.find(".imagify-row-check").prop("checked",function(){return!c(this).is(":hidden,:disabled")&&"select"===b})}),c(".imagify-check-group .imagify-row-check").on("change.imagify",function(){var a=c(this).closest(".imagify-check-group"),b=a.find(".imagify-row-check"),d=b.filter(":visible:enabled").length,e=b.filter(":visible:enabled:checked").length,f=a.next(".imagify-select-all-buttons"),g="imagify-is-inactive";0===e&&f.find('[data-action="unselect"]').addClass(g).attr("aria-disabled","true"),e===d&&f.find('[data-action="select"]').addClass(g).attr("aria-disabled","true"),e!==d&&e>0&&f.find(".imagify-select-all").removeClass(g).attr("aria-disabled","false")})}(window,document,jQuery);
1
+ !function(a,b,c,d){var e=!1,f=!1;a("#imagify-settings #api_key").on("blur",function(){var b=a(this),d=b.val();return""!==a.trim(d)&&(a("#check_api_key").val()===d?(a("#imagify-check-api-container").html('<span class="dashicons dashicons-yes"></span> '+imagifyOptions.labels.ValidApiKeyText),!1):(!0===e?f.abort():(a("#imagify-check-api-container").remove(),b.after('<span id="imagify-check-api-container"><span class="imagify-spinner"></span>'+imagifyOptions.labels.waitApiKeyCheckText+"</span>")),e=!0,void(f=a.get(ajaxurl+c.imagify.concat+"action=imagify_check_api_key_validity&api_key="+b.val()+"&imagifycheckapikeynonce="+a("#imagifycheckapikeynonce").val()).done(function(b){b.success?(a("#imagify-check-api-container").remove(),swal({title:imagifyOptions.labels.ApiKeyCheckSuccessTitle,html:imagifyOptions.labels.ApiKeyCheckSuccessText,type:"success",padding:0,customClass:"imagify-sweet-alert"}).then(function(){location.reload()})):a("#imagify-check-api-container").html('<span class="dashicons dashicons-no"></span> '+b.data),e=!1}))))}),a(".imagify-options-line").css("cursor","pointer").on("click",function(b){if("INPUT"!==b.target.nodeName)return a('input[aria-describedby="'+a(this).attr("id")+'"]').trigger("click"),!1}),a(".imagify-settings th span").on("click",function(){var b=a(this).parent().next("td").find("input:checkbox");1===b.length&&b.trigger("click")}),a(".imagify-options-line").find("input").on("change focus",function(){var b=a(this).closest(".imagify-options-line").prev("label").prev("input");b[0].checked||b.prop("checked",!0)}),a(".imagify-settings-section").find("#imagify_backup").on("change",function(){var b=a(this),c=b.siblings("#backup-dir-is-writable"),d={action:"imagify_check_backup_dir_is_writable",_wpnonce:c.data("nonce")};if(b.is(":checked"))return void a.getJSON(ajaxurl,d).done(function(b){a.isPlainObject(b)&&b.success&&(b.data.is_writable?c.addClass("hidden"):c.removeClass("hidden"))});swal({title:imagifyOptions.labels.noBackupTitle,html:imagifyOptions.labels.noBackupText,type:"warning",customClass:"imagify-sweet-alert",padding:0,showCancelButton:!0,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){c.addClass("hidden")},function(){b.prop("checked",!0)})})}(jQuery,document,window),function(a,b,c,d){a.imagifyUser&&c.getJSON(ajaxurl,a.imagifyUser).done(function(a){c.isPlainObject(a)&&a.success&&(a.data.id=null,a.data.plan_id=null,a.data.is=[],c.each(a.data,function(b,d){var e=".imagify-user-"+b.replace(/_/g,"-");0===b.indexOf("is_")?d&&a.data.is.push(e):"is"!==b&&c(e).text(d)}),a.data.is.push("best-plan"),c(a.data.is.join(",")).removeClass("hidden"))})}(window,document,jQuery),function(a,b,c,d){function e(b){var d,e,f,g,h,i=!1,j=null;b&&(f=c("#imagify-custom-folders-selected"),g=f.find(".imagify-custom-folder-line"),h=g.find('[value="'+b+'"]'),h.length||(b=b.split("#///#"),d=b[1].replace(/\/+$/,"").toLowerCase(),e=a.imagify.template("imagify-custom-folder"),g.each(function(){var a=c(this),h=a.data("path").replace(/\/+$/,"").toLowerCase();return""!==h&&0===d.indexOf(h)?(i=!0,!1):d<h?(a.before(e({value:b[0],label:b[1]})),g=f.find(".imagify-custom-folder-line"),i=!0,!1):void 0}),i||(f.append(e({value:b[0],label:b[1]})),g=f.find(".imagify-custom-folder-line")),""!==d&&g.each(function(){var a=c(this),b=a.data("path").toLowerCase();null!==j&&0===b.indexOf(j)?a.find(".imagify-custom-folders-remove").trigger("click.imagify"):j=b}),f.next(".hidden").removeClass("hidden")))}imagifyOptions.getFilesTree&&(c("#imagify-add-custom-folder").on("click.imagify",function(){var a,b=c(this),d=[];b.attr("disabled")||(b.attr("disabled","disabled").next("img").attr("aria-hidden","false"),a=c("#imagify-custom-folders-selected"),a.find("input").each(function(){d.push(this.value)}),c.post(imagifyOptions.getFilesTree,{folder:"/",selected:d},null,"json").done(function(a){if(!a.success)return void swal({title:imagifyOptions.labels.error,html:a.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"});swal({title:imagifyOptions.labels.filesTreeTitle,html:'<div class="imagify-swal-subtitle">'+imagifyOptions.labels.filesTreeSubTitle+'</div><div class="imagify-swal-content"><p class="imagify-folders-information"><i class="dashicons dashicons-info" aria-hidden="true"></i>'+imagifyOptions.labels.cleaningInfo+'</p><ul id="imagify-folders-tree" class="imagify-folders-tree">'+a.data+"</ul></div>",type:"",customClass:"imagify-sweet-alert imagify-swal-has-subtitle imagify-folders-selection",showCancelButton:!0,padding:0,confirmButtonText:imagifyOptions.labels.confirmFilesTreeBtn,cancelButtonText:imagifySwal.labels.cancelButtonText,reverseButtons:!0}).then(function(){var a=c("#imagify-folders-tree input").serializeArray();a.length&&c.each(a,function(a,b){e(b.value)})}).catch(swal.noop)}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",customClass:"imagify-sweet-alert",padding:0})}).always(function(){b.removeAttr("disabled").next("img").attr("aria-hidden","true")}))}),c(b).on("click.imagify","#imagify-folders-tree [data-folder]",function(){var a=c(this),b=a.nextAll(".imagify-folders-sub-tree"),d=[];if(!a.attr("disabled")&&!a.siblings(":checkbox").is(":checked")){if(a.attr("disabled","disabled").addClass("imagify-loading"),b.length)return a.hasClass("imagify-is-open")?(b.addClass("hidden"),a.removeClass(" imagify-is-open")):(b.removeClass("hidden"),a.addClass("imagify-is-open")),void a.removeAttr("disabled").removeClass("imagify-loading");c("#imagify-custom-folders-selected").find("input").each(function(){d.push(this.value)}),c.post(imagifyOptions.getFilesTree,{folder:a.data("folder"),selected:d},null,"json").done(function(b){if(!b.success)return void swal({title:imagifyOptions.labels.error,html:b.data||"",type:"error",padding:0,customClass:"imagify-sweet-alert"});a.addClass("imagify-is-open").parent().append('<ul class="imagify-folders-sub-tree">'+b.data+"</ul>")}).fail(function(){swal({title:imagifyOptions.labels.error,type:"error",padding:0,customClass:"imagify-sweet-alert"})}).always(function(){a.removeAttr("disabled").removeClass("imagify-loading")})}}),c("#imagify-custom-folders").on("click.imagify",".imagify-custom-folders-remove",function(){var b=c(this).closest(".imagify-custom-folder-line").addClass("imagify-will-remove");a.setTimeout(function(){b.remove(),c("#imagify-custom-folders-selected").siblings(".imagify-success.hidden").removeClass("hidden")},750)}),c("#imagify-add-themes-to-custom-folder").on("click.imagify",function(){var a=c(this);e(a.data("theme")),e(a.data("theme-parent")),a.replaceWith("<p>"+imagifyOptions.labels.themesAdded+"</p>")}))}(window,document,jQuery),function(a,b,c,d){var e=c.propHooks.checked;c.propHooks.checked={set:function(a,b,d){var f;return f=void 0===e?a[d]=b:e(a,b,d),c(a).trigger("change.imagify"),f}},c(".imagify-select-all").on("click.imagify",function(){var a=c(this),b=a.data("action"),d=a.closest(".imagify-select-all-buttons"),e=d.prev(".imagify-check-group"),f="imagify-is-inactive";if(a.hasClass(f))return!1;d.find(".imagify-select-all").removeClass(f).attr("aria-disabled","false"),a.addClass(f).attr("aria-disabled","true"),e.find(".imagify-row-check").prop("checked",function(){return!c(this).is(":hidden,:disabled")&&"select"===b})}),c(".imagify-check-group .imagify-row-check").on("change.imagify",function(){var a=c(this).closest(".imagify-check-group"),b=a.find(".imagify-row-check"),d=b.filter(":visible:enabled").length,e=b.filter(":visible:enabled:checked").length,f=a.next(".imagify-select-all-buttons"),g="imagify-is-inactive";0===e&&f.find('[data-action="unselect"]').addClass(g).attr("aria-disabled","true"),e===d&&f.find('[data-action="select"]').addClass(g).attr("aria-disabled","true"),e!==d&&e>0&&f.find(".imagify-select-all").removeClass(g).attr("aria-disabled","false")})}(window,document,jQuery);
imagify.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Imagify
4
  * Plugin URI: https://wordpress.org/plugins/imagify/
5
  * Description: Dramaticaly reduce image file sizes without losing quality, make your website load faster, boost your SEO and save money on your bandwidth using Imagify, the new most advanced image optimization tool.
6
- * Version: 1.8.1.1
7
  * Author: WP Media
8
  * Author URI: https://wp-media.me/
9
  * Licence: GPLv2
@@ -14,10 +14,10 @@
14
  * Copyright 2018 WP Media
15
  */
16
 
17
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
18
 
19
  // Imagify defines.
20
- define( 'IMAGIFY_VERSION' , '1.8.1.1' );
21
  define( 'IMAGIFY_WP_MIN' , '4.0' );
22
  define( 'IMAGIFY_SLUG' , 'imagify' );
23
  define( 'IMAGIFY_FILE' , __FILE__ );
3
  * Plugin Name: Imagify
4
  * Plugin URI: https://wordpress.org/plugins/imagify/
5
  * Description: Dramaticaly reduce image file sizes without losing quality, make your website load faster, boost your SEO and save money on your bandwidth using Imagify, the new most advanced image optimization tool.
6
+ * Version: 1.8.2
7
  * Author: WP Media
8
  * Author URI: https://wp-media.me/
9
  * Licence: GPLv2
14
  * Copyright 2018 WP Media
15
  */
16
 
17
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
18
 
19
  // Imagify defines.
20
+ define( 'IMAGIFY_VERSION' , '1.8.2' );
21
  define( 'IMAGIFY_WP_MIN' , '4.0' );
22
  define( 'IMAGIFY_SLUG' , 'imagify' );
23
  define( 'IMAGIFY_FILE' , __FILE__ );
inc/3rd-party/3rd-party.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Plugins.
@@ -10,6 +10,7 @@ require IMAGIFY_3RD_PARTY_PATH . 'formidable-pro/formidable-pro.php';
10
  require IMAGIFY_3RD_PARTY_PATH . 'nextgen-gallery/nextgen-gallery.php';
11
  require IMAGIFY_3RD_PARTY_PATH . 'regenerate-thumbnails/regenerate-thumbnails.php';
12
  require IMAGIFY_3RD_PARTY_PATH . 'wp-retina-2x/wp-retina-2x.php';
 
13
  require IMAGIFY_3RD_PARTY_PATH . 'screets-lc.php';
14
  require IMAGIFY_3RD_PARTY_PATH . 'wp-real-media-library.php';
15
  require IMAGIFY_3RD_PARTY_PATH . 'wp-rocket.php';
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Plugins.
10
  require IMAGIFY_3RD_PARTY_PATH . 'nextgen-gallery/nextgen-gallery.php';
11
  require IMAGIFY_3RD_PARTY_PATH . 'regenerate-thumbnails/regenerate-thumbnails.php';
12
  require IMAGIFY_3RD_PARTY_PATH . 'wp-retina-2x/wp-retina-2x.php';
13
+ require IMAGIFY_3RD_PARTY_PATH . 'wp-time-capsule/wp-time-capsule.php';
14
  require IMAGIFY_3RD_PARTY_PATH . 'screets-lc.php';
15
  require IMAGIFY_3RD_PARTY_PATH . 'wp-real-media-library.php';
16
  require IMAGIFY_3RD_PARTY_PATH . 'wp-rocket.php';
inc/3rd-party/amazon-s3-and-cloudfront/amazon-s3-and-cloudfront.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Tell if WP Offload S3 compatibility is loaded.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Tell if WP Offload S3 compatibility is loaded.
inc/3rd-party/amazon-s3-and-cloudfront/inc/classes/class-imagify-as3cf-attachment.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify WP Offload S3 attachment class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify WP Offload S3 attachment class.
inc/3rd-party/amazon-s3-and-cloudfront/inc/classes/class-imagify-as3cf.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify WP Offload S3 class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify WP Offload S3 class.
inc/3rd-party/enable-media-replace/enable-media-replace.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( function_exists( 'enable_media_replace' ) ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( function_exists( 'enable_media_replace' ) ) :
5
 
inc/3rd-party/enable-media-replace/inc/classes/class-imagify-enable-media-replace.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Compat class for Enable Media Replace plugin.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Compat class for Enable Media Replace plugin.
inc/3rd-party/formidable-pro/formidable-pro.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( class_exists( 'FrmProEddController' ) ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( class_exists( 'FrmProEddController' ) ) :
5
 
inc/3rd-party/formidable-pro/inc/classes/class-imagify-formidable-pro.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Compat class for Formidable Forms Pro plugin.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Compat class for Formidable Forms Pro plugin.
inc/3rd-party/hosting/siteground.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'http_request_args', 'imagify_siteground_change_user_agent', 10, 2 );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'http_request_args', 'imagify_siteground_change_user_agent', 10, 2 );
5
  /**
inc/3rd-party/hosting/wpengine.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( class_exists( 'WpeCommon' ) ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( class_exists( 'WpeCommon' ) ) :
5
 
inc/3rd-party/nextgen-gallery/inc/admin/ajax.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'wp_ajax_imagify_manual_upload', '_do_admin_post_imagify_ngg_user_capacity', 5 );
5
  add_action( 'admin_post_imagify_manual_upload', '_do_admin_post_imagify_ngg_user_capacity', 5 );
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'wp_ajax_imagify_manual_upload', '_do_admin_post_imagify_ngg_user_capacity', 5 );
5
  add_action( 'admin_post_imagify_manual_upload', '_do_admin_post_imagify_ngg_user_capacity', 5 );
inc/3rd-party/nextgen-gallery/inc/admin/bulk.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'imagify_bulk_page_types', 'imagify_ngg_bulk_page_types' );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'imagify_bulk_page_types', 'imagify_ngg_bulk_page_types' );
5
  /**
inc/3rd-party/nextgen-gallery/inc/admin/enqueue.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'imagify_assets_enqueued', '_imagify_ngg_admin_print_styles' );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'imagify_assets_enqueued', '_imagify_ngg_admin_print_styles' );
5
  /**
inc/3rd-party/nextgen-gallery/inc/admin/gallery.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'ngg_manage_images_number_of_columns', '_imagify_ngg_manage_images_number_of_columns' );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'ngg_manage_images_number_of_columns', '_imagify_ngg_manage_images_number_of_columns' );
5
  /**
inc/3rd-party/nextgen-gallery/inc/admin/heartbeat.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  global $pagenow;
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  global $pagenow;
5
 
inc/3rd-party/nextgen-gallery/inc/admin/menu.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'admin_menu', '_imagify_ngg_bulk_optimization_menu' );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'admin_menu', '_imagify_ngg_bulk_optimization_menu' );
5
  /**
inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-attachment.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery attachment class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery attachment class.
inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-db.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery DB class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery DB class.
inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-dynamic-thumbnails-background-process.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles background processing of thumbnails dynamically generated.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles background processing of thumbnails dynamically generated.
inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg-storage.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery storage class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery storage class.
inc/3rd-party/nextgen-gallery/inc/classes/class-imagify-ngg.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify NextGen Gallery class.
inc/3rd-party/nextgen-gallery/inc/common/attachments.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'ngg_after_new_images_added', '_imagify_ngg_optimize_attachment', IMAGIFY_INT_MAX, 2 );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'ngg_after_new_images_added', '_imagify_ngg_optimize_attachment', IMAGIFY_INT_MAX, 2 );
5
  /**
inc/3rd-party/nextgen-gallery/inc/functions/admin-stats.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Count number of attachments.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Count number of attachments.
inc/3rd-party/nextgen-gallery/inc/functions/attachments.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get the backup path of a specific attachement.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get the backup path of a specific attachement.
inc/3rd-party/nextgen-gallery/inc/functions/common.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get user capacity to operate Imagify within NGG galleries.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get user capacity to operate Imagify within NGG galleries.
inc/3rd-party/nextgen-gallery/nextgen-gallery.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( ! class_exists( 'C_NextGEN_Bootstrap' ) || ! class_exists( 'Mixin' ) || ! get_site_option( 'ngg_options' ) ) {
5
  return;
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( ! class_exists( 'C_NextGEN_Bootstrap' ) || ! class_exists( 'Mixin' ) || ! get_site_option( 'ngg_options' ) ) {
5
  return;
inc/3rd-party/regenerate-thumbnails/inc/classes/class-imagify-regenerate-thumbnails.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles compatibility with Regenerate Thumbnails plugin.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles compatibility with Regenerate Thumbnails plugin.
inc/3rd-party/regenerate-thumbnails/regenerate-thumbnails.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( ! class_exists( 'RegenerateThumbnails_Regenerator' ) || ! function_exists( 'RegenerateThumbnails' ) ) {
5
  return;
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( ! class_exists( 'RegenerateThumbnails_Regenerator' ) || ! function_exists( 'RegenerateThumbnails' ) ) {
5
  return;
inc/3rd-party/screets-lc.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( function_exists( 'fn_lc_fix_ssl_upload_url' ) && defined( 'SLC_VERSION' ) && version_compare( SLC_VERSION, '2.2.8' ) < 0 ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( function_exists( 'fn_lc_fix_ssl_upload_url' ) && defined( 'SLC_VERSION' ) && version_compare( SLC_VERSION, '2.2.8' ) < 0 ) :
5
 
inc/3rd-party/wp-real-media-library.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( defined( 'RML_FILE' ) ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( defined( 'RML_FILE' ) ) :
5
 
inc/3rd-party/wp-retina-2x/inc/classes/class-imagify-wp-retina-2x-core.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles all the main tools for compatibility with WP Retina 2x plugin.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles all the main tools for compatibility with WP Retina 2x plugin.
inc/3rd-party/wp-retina-2x/inc/classes/class-imagify-wp-retina-2x.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles compatibility with WP Retina 2x plugin.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles compatibility with WP Retina 2x plugin.
inc/3rd-party/wp-retina-2x/wp-retina-2x.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( ! class_exists( 'Meow_WR2X_Core' ) ) {
5
  return;
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( ! class_exists( 'Meow_WR2X_Core' ) ) {
5
  return;
inc/3rd-party/wp-rocket.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( defined( 'WP_ROCKET_VERSION' ) ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( defined( 'WP_ROCKET_VERSION' ) ) :
5
 
inc/3rd-party/wp-time-capsule/inc/classes/class-imagify-wp-time-capsule.php ADDED
@@ -0,0 +1,337 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
+
4
+ /**
5
+ * Class that handles our partnership with WP Time Capsule.
6
+ *
7
+ * @since 1.8.2
8
+ * @author Grégory Viguier
9
+ */
10
+ class Imagify_WP_Time_Capsule {
11
+
12
+ /**
13
+ * Class version.
14
+ *
15
+ * @var string
16
+ * @since 1.8.2
17
+ * @author Grégory Viguier
18
+ */
19
+ const VERSION = '1.0';
20
+
21
+ /**
22
+ * Partner ID.
23
+ *
24
+ * @var string
25
+ * @since 1.8.2
26
+ * @author Grégory Viguier
27
+ */
28
+ const PARTNER_ID = 'imagify';
29
+
30
+ /**
31
+ * Affiliate base URL.
32
+ *
33
+ * @var string
34
+ * @since 1.8.2
35
+ * @author Grégory Viguier
36
+ */
37
+ const BASE_URL = 'https://wptimecapsule.com/updates/?partner=';
38
+
39
+ /**
40
+ * The single instance of the class.
41
+ *
42
+ * @var object Imagify_WP_Time_Machine
43
+ * @since 1.8.2
44
+ * @access protected
45
+ * @author Grégory Viguier
46
+ */
47
+ protected static $_instance;
48
+
49
+ /**
50
+ * Temporary state property that tells if the button in the iframe should be added.
51
+ *
52
+ * @var bool
53
+ * @since 1.8.2
54
+ * @access protected
55
+ * @author Grégory Viguier
56
+ */
57
+ protected $add_iframe_button = false;
58
+
59
+
60
+ /** ----------------------------------------------------------------------------------------- */
61
+ /** INSTANCE ================================================================================ */
62
+ /** ----------------------------------------------------------------------------------------- */
63
+
64
+ /**
65
+ * Get the main Instance.
66
+ *
67
+ * @since 1.8.2
68
+ * @access public
69
+ * @author Grégory Viguier
70
+ *
71
+ * @return object Main instance.
72
+ */
73
+ public static function get_instance() {
74
+ if ( ! isset( self::$_instance ) ) {
75
+ self::$_instance = new self();
76
+ }
77
+
78
+ return self::$_instance;
79
+ }
80
+
81
+ /**
82
+ * The constructor.
83
+ *
84
+ * @since 1.8.2
85
+ * @access protected
86
+ * @author Grégory Viguier
87
+ */
88
+ protected function __construct() {}
89
+
90
+
91
+ /** ----------------------------------------------------------------------------------------- */
92
+ /** INIT ==================================================================================== */
93
+ /** ----------------------------------------------------------------------------------------- */
94
+
95
+ /**
96
+ * Launch the hooks.
97
+ *
98
+ * @since 1.8.2
99
+ * @access public
100
+ * @author Grégory Viguier
101
+ */
102
+ public function init() {
103
+ if ( ! is_admin() ) {
104
+ return;
105
+ }
106
+
107
+ if ( defined( 'IMAGIFY_DISPLAY_PARTNERS' ) && false === IMAGIFY_DISPLAY_PARTNERS ) {
108
+ return;
109
+ }
110
+
111
+ add_filter( 'imagify_deactivatable_partners', array( $this, 'add_self' ) );
112
+
113
+ if ( ! get_imagify_option( 'partner_links' ) ) {
114
+ return;
115
+ }
116
+
117
+ add_action( 'in_plugin_update_message-' . plugin_basename( IMAGIFY_FILE ), array( $this, 'print_link_in_plugin_update_message' ), 10, 2 );
118
+ add_action( 'admin_print_styles-update-core.php', array( $this, 'add_style_to_core_update' ) );
119
+ add_action( 'admin_footer-update-core.php', array( $this, 'add_script_to_core_update' ) );
120
+ add_filter( 'plugins_api_result', array( $this, 'maybe_print_link_in_iframe_init' ), 10, 3 );
121
+ }
122
+
123
+
124
+ /** ----------------------------------------------------------------------------------------- */
125
+ /** HOOKS =================================================================================== */
126
+ /** ----------------------------------------------------------------------------------------- */
127
+
128
+ /**
129
+ * Add this partner to the list of partners affected by the display option.
130
+ *
131
+ * @since 1.8.2
132
+ * @access public
133
+ * @author Grégory Viguier
134
+ *
135
+ * @param array $partners An array of partner names.
136
+ * @return array
137
+ */
138
+ public function add_self( $partners ) {
139
+ $partners[] = 'WP Time Capsule';
140
+ return $partners;
141
+ }
142
+
143
+ /**
144
+ * Add a link in Imagify's update message (plugins list).
145
+ *
146
+ * @since 1.8.2
147
+ * @access public
148
+ * @author Grégory Viguier
149
+ *
150
+ * @param array $plugin_data {
151
+ * An array of plugin metadata.
152
+ *
153
+ * @type string $name The human-readable name of the plugin.
154
+ * @type string $plugin_uri Plugin URI.
155
+ * @type string $version Plugin version.
156
+ * @type string $description Plugin description.
157
+ * @type string $author Plugin author.
158
+ * @type string $author_uri Plugin author URI.
159
+ * @type string $text_domain Plugin text domain.
160
+ * @type string $domain_path Relative path to the plugin's .mo file(s).
161
+ * @type bool $network Whether the plugin can only be activated network wide.
162
+ * @type string $title The human-readable title of the plugin.
163
+ * @type string $author_name Plugin author's name.
164
+ * @type bool $update Whether there's an available update. Default null.
165
+ * }
166
+ * @param array $response {
167
+ * An array of metadata about the available plugin update.
168
+ *
169
+ * @type int $id Plugin ID.
170
+ * @type string $slug Plugin slug.
171
+ * @type string $new_version New plugin version.
172
+ * @type string $url Plugin URL.
173
+ * @type string $package Plugin update package URL.
174
+ * }
175
+ */
176
+ public function print_link_in_plugin_update_message( $plugin_data, $response ) {
177
+ if ( empty( $response->package ) || ! current_user_can( 'update_plugins' ) ) {
178
+ return;
179
+ }
180
+
181
+ $link = '<a href="' . esc_url( $this->get_url() ) . '" target="_blank" class="imagify-wp-time-capsule-link">';
182
+ $zelda = '<span class="dashicons dashicons-external" aria-hidden="true"></span>';
183
+
184
+ echo ' ';
185
+ /* translators: 1 is a link opening, 2 is a "new window" icon, 3 is the link closing. */
186
+ printf( __( 'You can also %1$sbackup and update %2$s%3$s.', 'imagify' ), $link, $zelda, '</a>' );
187
+ }
188
+
189
+ /**
190
+ * Print some CSS in the Core Update page for the link into the Imagify row.
191
+ *
192
+ * @since 1.8.2
193
+ * @access public
194
+ * @author Grégory Viguier
195
+ */
196
+ public function add_style_to_core_update() {
197
+ $action = filter_input( INPUT_GET, 'action', FILTER_SANITIZE_STRING );
198
+
199
+ if ( $action && 'upgrade-core' !== $action ) {
200
+ return;
201
+ }
202
+
203
+ echo "<style type='text/css'>\n";
204
+ echo ".imagify-wp-time-capsule-link:after { content: '\\f504'; font-size: 16px; vertical-align: top; font-family: dashicons; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }\n";
205
+ echo "</style>\n";
206
+ }
207
+
208
+ /**
209
+ * Print some JS in the Core Update page to add a link into the Imagify row.
210
+ *
211
+ * @since 1.8.2
212
+ * @access public
213
+ * @author Grégory Viguier
214
+ */
215
+ public function add_script_to_core_update() {
216
+ $action = filter_input( INPUT_GET, 'action', FILTER_SANITIZE_STRING );
217
+
218
+ if ( $action && 'upgrade-core' !== $action ) {
219
+ return;
220
+ }
221
+
222
+ $link = __( 'Backup and Update', 'imagify' ) . ' <span class="dashicons dashicons-external"></span>';
223
+ $link = ' <a class="imagify-wp-time-capsule-link" href="' . esc_url( $this->get_url() ) . '" target="_blank">' . __( 'Backup and Update', 'imagify' ) . ' </a>';
224
+
225
+ $output = html_entity_decode( $link, ENT_QUOTES, 'UTF-8' );
226
+ $output = wp_json_encode( $output );
227
+ $output = 'jQuery( "#update-plugins-table .plugin-title p [href*=\"&plugin=imagify&\"]").after( ' . $output . ' );';
228
+
229
+ echo "<script type='text/javascript'>\n";
230
+ echo "/* <![CDATA[ */\n";
231
+ echo "$output\n";
232
+ echo "/* ]]> */\n";
233
+ echo "</script>\n";
234
+ }
235
+
236
+ /**
237
+ * Maybe launch the hooks that will add a button in the plugin information modal.
238
+ *
239
+ * @since 1.8.2
240
+ * @access public
241
+ * @author Grégory Viguier
242
+ *
243
+ * @param false|object|array $result The result object or array. Default false.
244
+ * @param string $action The type of information being requested from the Plugin Installation API.
245
+ * @param object $args Plugin API arguments.
246
+ * @return false|object|array
247
+ */
248
+ public function maybe_print_link_in_iframe_init( $result, $action, $args ) {
249
+ if ( 'plugin_information' !== $action ) {
250
+ return $result;
251
+ }
252
+ if ( empty( $args->slug ) || 'imagify' !== $args->slug ) {
253
+ return $result;
254
+ }
255
+
256
+ $res = (object) $result;
257
+
258
+ if ( empty( $res->slug ) || 'imagify' !== $res->slug ) {
259
+ return $result;
260
+ }
261
+
262
+ if ( empty( $res->download_link ) || ( ! current_user_can( 'install_plugins' ) && ! current_user_can( 'update_plugins' ) ) ) {
263
+ return $result;
264
+ }
265
+
266
+ $status = install_plugin_install_status( $res );
267
+
268
+ if ( 'update_available' !== $status['status'] ) {
269
+ return $result;
270
+ }
271
+
272
+ // OK, it's us.
273
+ $this->add_iframe_button = true;
274
+
275
+ add_action( 'admin_head-plugin-install.php', array( $this, 'print_link_in_iframe_init' ), IMAGIFY_INT_MAX );
276
+
277
+ return $result;
278
+ }
279
+
280
+ /**
281
+ * Launch a ob_start() at the beginning of the plugin information modal.
282
+ *
283
+ * @since 1.8.2
284
+ * @access public
285
+ * @author Grégory Viguier
286
+ */
287
+ public function print_link_in_iframe_init() {
288
+ if ( ! $this->add_iframe_button ) {
289
+ return;
290
+ }
291
+
292
+ ob_start();
293
+
294
+ add_action( 'admin_footer', array( $this, 'print_link_in_iframe' ), 5 );
295
+ }
296
+
297
+ /**
298
+ * Add a button in the plugin information modal.
299
+ *
300
+ * @since 1.8.2
301
+ * @access public
302
+ * @author Grégory Viguier
303
+ */
304
+ public function print_link_in_iframe() {
305
+ global $tab;
306
+
307
+ if ( ! $this->add_iframe_button ) {
308
+ return;
309
+ }
310
+
311
+ $this->add_iframe_button = false;
312
+
313
+ $footer = preg_quote( "<div id='$tab-footer'>", '@' );
314
+ $button = __( 'Backup and Update', 'imagify' ) . ' <span class="dashicons dashicons-external" aria-hidden="true" style="margin:-2px 0 -1px"></span>';
315
+ $button = '<a class="button button-primary right imagify-wp-time-capsule-link" href="' . esc_url( $this->get_url() ) . '" target="_blank" style="margin-right:10px">' . $button . '</a>';
316
+
317
+ echo preg_replace( "@{$footer}.+</a>@s", '$0' . $button, ob_get_clean() );
318
+ }
319
+
320
+
321
+ /** ----------------------------------------------------------------------------------------- */
322
+ /** TOOLS =================================================================================== */
323
+ /** ----------------------------------------------------------------------------------------- */
324
+
325
+ /**
326
+ * Get the partnership URL.
327
+ *
328
+ * @since 1.8.2
329
+ * @access public
330
+ * @author Grégory Viguier
331
+ *
332
+ * @return string
333
+ */
334
+ public function get_url() {
335
+ return self::BASE_URL . self::PARTNER_ID;
336
+ }
337
+ }
inc/3rd-party/wp-time-capsule/wp-time-capsule.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
+
4
+ if ( defined( 'WPTC_VERSION' ) ) {
5
+ return;
6
+ }
7
+
8
+ Imagify_WP_Time_Capsule::get_instance()->init();
inc/3rd-party/yoast-seo.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( defined( 'WPSEO_VERSION' ) && is_admin() && ! wp_doing_ajax() ) :
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( defined( 'WPSEO_VERSION' ) && is_admin() && ! wp_doing_ajax() ) :
5
 
inc/admin/custom-folders.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'upgrader_post_install', 'imagify_sync_theme_plugin_files_on_update', IMAGIFY_INT_MAX, 3 );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'upgrader_post_install', 'imagify_sync_theme_plugin_files_on_update', IMAGIFY_INT_MAX, 3 );
5
  /**
inc/admin/heartbeat.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  global $pagenow;
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  global $pagenow;
5
 
inc/admin/media.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'attachment_fields_to_edit', '_imagify_attachment_fields_to_edit', IMAGIFY_INT_MAX, 2 );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'attachment_fields_to_edit', '_imagify_attachment_fields_to_edit', IMAGIFY_INT_MAX, 2 );
5
  /**
inc/admin/meta-boxes.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'attachment_submitbox_misc_actions', '_imagify_attachment_submitbox_misc_actions', IMAGIFY_INT_MAX );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'attachment_submitbox_misc_actions', '_imagify_attachment_submitbox_misc_actions', IMAGIFY_INT_MAX );
5
  /**
inc/admin/upgrader.php CHANGED
@@ -285,6 +285,11 @@ function _imagify_new_upgrade( $network_version, $site_version ) {
285
  $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->base_prefix}imagify_files SET path = REPLACE( path, '{{ABSPATH}}/', %s ) WHERE path LIKE %s", $replacement, '{{ABSPATH}}/%' ) );
286
  $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->base_prefix}imagify_folders SET path = REPLACE( path, '{{ABSPATH}}/', %s ) WHERE path LIKE %s", $replacement, '{{ABSPATH}}/%' ) );
287
  }
 
 
 
 
 
288
  }
289
 
290
  add_action( 'upgrader_process_complete', 'imagify_maybe_reset_opcache', 20, 2 );
285
  $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->base_prefix}imagify_files SET path = REPLACE( path, '{{ABSPATH}}/', %s ) WHERE path LIKE %s", $replacement, '{{ABSPATH}}/%' ) );
286
  $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->base_prefix}imagify_folders SET path = REPLACE( path, '{{ABSPATH}}/', %s ) WHERE path LIKE %s", $replacement, '{{ABSPATH}}/%' ) );
287
  }
288
+
289
+ // 1.8.2
290
+ if ( version_compare( $site_version, '1.8.2' ) < 0 ) {
291
+ Imagify_Options::get_instance()->set( 'partner_links', 1 );
292
+ }
293
  }
294
 
295
  add_action( 'upgrader_process_complete', 'imagify_maybe_reset_opcache', 20, 2 );
inc/admin/upload.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'manage_media_columns', '_imagify_manage_media_columns' );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'manage_media_columns', '_imagify_manage_media_columns' );
5
  /**
inc/classes/class-imagify-abstract-attachment.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify Attachment base class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify Attachment base class.
inc/classes/class-imagify-abstract-background-process.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class handling background processes.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class handling background processes.
inc/classes/class-imagify-abstract-cron.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Basis class that handles events.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Basis class that handles events.
inc/classes/class-imagify-abstract-db.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify DB base class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify DB base class.
inc/classes/class-imagify-abstract-options.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Abstract class to handle a part of the plugin options.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Abstract class to handle a part of the plugin options.
inc/classes/class-imagify-admin-ajax-post.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles admin ajax/post callbacks.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles admin ajax/post callbacks.
inc/classes/class-imagify-assets.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles stylesheets and JavaScripts.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles stylesheets and JavaScripts.
inc/classes/class-imagify-attachment.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify Attachment class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify Attachment class.
inc/classes/class-imagify-cron-library-size.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles the cron that calculate and cache the library size.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles the cron that calculate and cache the library size.
inc/classes/class-imagify-cron-rating.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles the plugin rating cron.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles the plugin rating cron.
inc/classes/class-imagify-cron-sync-files.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that scans the custom folders to keep files in sync in the database.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that scans the custom folders to keep files in sync in the database.
inc/classes/class-imagify-custom-folders.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that regroups things about "custom folders".
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that regroups things about "custom folders".
inc/classes/class-imagify-data.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles the plugin data.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles the plugin data.
inc/classes/class-imagify-db.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify DB class. It reunites tools to work with the DB.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify DB class. It reunites tools to work with the DB.
inc/classes/class-imagify-file-attachment.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify Attachment class for custom folders.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify Attachment class for custom folders.
inc/classes/class-imagify-files-db.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * DB class that handles files in "custom folders".
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * DB class that handles files in "custom folders".
inc/classes/class-imagify-files-iterator.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class allowing to filter DirectoryIterator, to return only files that Imagify can optimize and folders.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class allowing to filter DirectoryIterator, to return only files that Imagify can optimize and folders.
inc/classes/class-imagify-files-list-table.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that display the "custom folders" files.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that display the "custom folders" files.
inc/classes/class-imagify-files-recursive-iterator.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class allowing to filter RecursiveDirectoryIterator, to return only files that Imagify can optimize.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class allowing to filter RecursiveDirectoryIterator, to return only files that Imagify can optimize.
inc/classes/class-imagify-files-scan.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class handling everything that is related to "custom folders optimization".
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class handling everything that is related to "custom folders optimization".
inc/classes/class-imagify-files-stats.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class handling stats related to "custom folders optimization".
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class handling stats related to "custom folders optimization".
inc/classes/class-imagify-filesystem.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
5
  require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
@@ -220,21 +220,29 @@ class Imagify_Filesystem extends WP_Filesystem_Direct {
220
  $path = untrailingslashit( $site_root );
221
 
222
  foreach ( $bits as $bit ) {
223
- $path .= '/' . $bit;
 
224
 
225
- if ( ! $this->exists( $path ) ) {
226
- $this->mkdir( $path );
227
- } elseif ( ! $this->is_dir( $path ) ) {
228
- return false;
 
229
  }
230
 
231
- if ( ! $this->is_writable( $path ) ) {
232
- $this->chmod_dir( $path );
233
 
234
- if ( ! $this->is_writable( $path ) ) {
235
  return false;
236
  }
237
  }
 
 
 
 
 
 
238
  }
239
 
240
  return true;
@@ -761,12 +769,12 @@ class Imagify_Filesystem extends WP_Filesystem_Direct {
761
  $wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */
762
  $pos = strripos( str_replace( '\\', '/', ABSPATH ), trailingslashit( $wp_path_rel_to_home ) );
763
  $root_path = substr( ABSPATH, 0, $pos );
764
- $root_path = trailingslashit( str_replace( '\\', '/', $root_path ) );
765
  return $root_path;
766
  }
767
 
768
  if ( ! defined( 'PATH_CURRENT_SITE' ) || ! is_multisite() || is_main_site() ) {
769
- $root_path = str_replace( '\\', '/', ABSPATH );
770
  return $root_path;
771
  }
772
 
@@ -774,11 +782,12 @@ class Imagify_Filesystem extends WP_Filesystem_Direct {
774
  * For a multisite in its own directory, get_home_path() returns the expected path only for the main site.
775
  *
776
  * Friend, each time an attempt is made to improve this method, and especially this part, please increment the following counter.
777
- * Improvement attempts: 2.
778
  */
779
- $document_root = trailingslashit( str_replace( '\\', '/', wp_unslash( $_SERVER['DOCUMENT_ROOT'] ) ) );
 
780
  $path_current_site = trim( str_replace( '\\', '/', PATH_CURRENT_SITE ), '/' );
781
- $root_path = trailingslashit( $document_root . $path_current_site );
782
 
783
  return $root_path;
784
  }
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php';
5
  require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php';
220
  $path = untrailingslashit( $site_root );
221
 
222
  foreach ( $bits as $bit ) {
223
+ $parent_path = $path;
224
+ $path .= '/' . $bit;
225
 
226
+ if ( $this->exists( $path ) ) {
227
+ if ( ! $this->is_dir( $path ) ) {
228
+ return false;
229
+ }
230
+ continue;
231
  }
232
 
233
+ if ( ! $this->is_writable( $parent_path ) ) {
234
+ $this->chmod_dir( $parent_path );
235
 
236
+ if ( ! $this->is_writable( $parent_path ) ) {
237
  return false;
238
  }
239
  }
240
+
241
+ $this->mkdir( $path );
242
+
243
+ if ( ! $this->exists( $path ) ) {
244
+ return false;
245
+ }
246
  }
247
 
248
  return true;
769
  $wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */
770
  $pos = strripos( str_replace( '\\', '/', ABSPATH ), trailingslashit( $wp_path_rel_to_home ) );
771
  $root_path = substr( ABSPATH, 0, $pos );
772
+ $root_path = trailingslashit( wp_normalize_path( $root_path ) );
773
  return $root_path;
774
  }
775
 
776
  if ( ! defined( 'PATH_CURRENT_SITE' ) || ! is_multisite() || is_main_site() ) {
777
+ $root_path = $this->get_abspath();
778
  return $root_path;
779
  }
780
 
782
  * For a multisite in its own directory, get_home_path() returns the expected path only for the main site.
783
  *
784
  * Friend, each time an attempt is made to improve this method, and especially this part, please increment the following counter.
785
+ * Improvement attempts: 3.
786
  */
787
+ $document_root = realpath( wp_unslash( $_SERVER['DOCUMENT_ROOT'] ) ); // `realpath()` is needed for those cases where $_SERVER['DOCUMENT_ROOT'] is totally different from ABSPATH.
788
+ $document_root = trailingslashit( str_replace( '\\', '/', $document_root ) );
789
  $path_current_site = trim( str_replace( '\\', '/', PATH_CURRENT_SITE ), '/' );
790
+ $root_path = trailingslashit( wp_normalize_path( $document_root . $path_current_site ) );
791
 
792
  return $root_path;
793
  }
inc/classes/class-imagify-folders-db.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * DB class that handles files in "custom folders".
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * DB class that handles files in "custom folders".
inc/classes/class-imagify-notices.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles the admin notices.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles the admin notices.
inc/classes/class-imagify-options.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles the plugin options.
@@ -44,6 +44,7 @@ class Imagify_Options extends Imagify_Abstract_Options {
44
  'exif' => 0,
45
  'disallowed-sizes' => array(),
46
  'admin_bar_menu' => 0,
 
47
  );
48
 
49
  /**
@@ -59,6 +60,7 @@ class Imagify_Options extends Imagify_Abstract_Options {
59
  'auto_optimize' => 1,
60
  'backup' => 1,
61
  'admin_bar_menu' => 1,
 
62
  );
63
 
64
  /**
@@ -145,6 +147,7 @@ class Imagify_Options extends Imagify_Abstract_Options {
145
  case 'resize_larger':
146
  case 'exif':
147
  case 'admin_bar_menu':
 
148
  return 1;
149
 
150
  case 'resize_larger_w':
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles the plugin options.
44
  'exif' => 0,
45
  'disallowed-sizes' => array(),
46
  'admin_bar_menu' => 0,
47
+ 'partner_links' => 0,
48
  );
49
 
50
  /**
60
  'auto_optimize' => 1,
61
  'backup' => 1,
62
  'admin_bar_menu' => 1,
63
+ 'partner_links' => 1,
64
  );
65
 
66
  /**
147
  case 'resize_larger':
148
  case 'exif':
149
  case 'admin_bar_menu':
150
+ case 'partner_links':
151
  return 1;
152
 
153
  case 'resize_larger_w':
inc/classes/class-imagify-requirements.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class used to check that Imagify has everything it needs.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class used to check that Imagify has everything it needs.
inc/classes/class-imagify-settings.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles the plugin settings.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles the plugin settings.
inc/classes/class-imagify-user.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify User class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify User class.
inc/classes/class-imagify-views.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class that handles templates and menus.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class that handles templates and menus.
inc/classes/class-imagify.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Imagify.io API for WordPress.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Imagify.io API for WordPress.
inc/classes/class-wp-async-request.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * WP Async Request
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * WP Async Request
inc/classes/class-wp-background-process.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * WP Background Process
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * WP Background Process
inc/common/admin-bar.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'admin_bar_menu', '_imagify_admin_bar', IMAGIFY_INT_MAX );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'admin_bar_menu', '_imagify_admin_bar', IMAGIFY_INT_MAX );
5
  /**
inc/common/attachments.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_filter( 'wp_generate_attachment_metadata', '_imagify_optimize_attachment', IMAGIFY_INT_MAX, 2 );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_filter( 'wp_generate_attachment_metadata', '_imagify_optimize_attachment', IMAGIFY_INT_MAX, 2 );
5
  /**
inc/common/partners.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  add_action( 'update_option_' . Imagify_Options::get_instance()->get_option_name(), 'imagify_maybe_delete_partner_on_option_update', 10, 2 );
5
  /**
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  add_action( 'update_option_' . Imagify_Options::get_instance()->get_option_name(), 'imagify_maybe_delete_partner_on_option_update', 10, 2 );
5
  /**
inc/functions/admin-stats.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Count number of attachments.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Count number of attachments.
inc/functions/admin-ui.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get the optimization data list for a specific attachment.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get the optimization data list for a specific attachment.
inc/functions/admin.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Check if Imagify is activated on the network.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Check if Imagify is activated on the network.
inc/functions/api.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Returns the main instance of the Imagify class.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Returns the main instance of the Imagify class.
inc/functions/attachments.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get all mime types which could be optimized by Imagify.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get all mime types which could be optimized by Imagify.
inc/functions/common.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get user capacity to operate Imagify.
@@ -237,6 +237,7 @@ function imagify_autoload( $class ) {
237
  'Imagify_Regenerate_Thumbnails' => 'regenerate-thumbnails',
238
  'Imagify_WP_Retina_2x' => 'wp-retina-2x',
239
  'Imagify_WP_Retina_2x_Core' => 'wp-retina-2x',
 
240
  );
241
 
242
  if ( isset( $classes[ $class ] ) ) {
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get user capacity to operate Imagify.
237
  'Imagify_Regenerate_Thumbnails' => 'regenerate-thumbnails',
238
  'Imagify_WP_Retina_2x' => 'wp-retina-2x',
239
  'Imagify_WP_Retina_2x_Core' => 'wp-retina-2x',
240
+ 'Imagify_WP_Time_Capsule' => 'wp-time-capsule',
241
  );
242
 
243
  if ( isset( $classes[ $class ] ) ) {
inc/functions/compat-spl-autoload.php CHANGED
@@ -6,7 +6,7 @@
6
  * See https://core.trac.wordpress.org/ticket/41134
7
  */
8
 
9
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
10
 
11
  if ( ! function_exists( 'spl_autoload_register' ) ) :
12
  $_wp_spl_autoloaders = array();
6
  * See https://core.trac.wordpress.org/ticket/41134
7
  */
8
 
9
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
10
 
11
  if ( ! function_exists( 'spl_autoload_register' ) ) :
12
  $_wp_spl_autoloaders = array();
inc/functions/compat.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /** --------------------------------------------------------------------------------------------- */
5
  /** PHP ========================================================================================= */
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /** --------------------------------------------------------------------------------------------- */
5
  /** PHP ========================================================================================= */
inc/functions/deprecated.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Class for deprecated methods from Imagify.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Class for deprecated methods from Imagify.
inc/functions/formatting.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Round UP to nearest half integer.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Round UP to nearest half integer.
inc/functions/i18n.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get all translations we can use with wp_localize_script().
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get all translations we can use with wp_localize_script().
inc/functions/options.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * A wrapper to easily get imagify option.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * A wrapper to easily get imagify option.
inc/functions/partners.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Get the partner ID stored in the database.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Get the partner ID stored in the database.
inc/functions/process.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  /**
5
  * Process an image with Imagify.
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  /**
5
  * Process an image with Imagify.
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: wp_media, GregLone
3
  Tags: compress image, images, performance, optimization, photos, upload, resize, gif, png, jpg, reduce image size, retina
4
  Requires at least: 4.0.0
5
- Tested up to: 4.9.7
6
- Stable tag: 1.8.1.1
7
 
8
  Dramatically reduce image file sizes without losing quality, make your website load faster, boost your SEO and save money on your bandwidth.
9
 
@@ -138,6 +138,13 @@ When the plugin is disabled, your existing images remain optimized. Backups of t
138
  4. Other Media Page
139
 
140
  == Changelog ==
 
 
 
 
 
 
 
141
  = 1.8.1.1 - 2018/07/31 =
142
  * Bug Fix: an open_basedir error that prevented some users to use the custom folders browser.
143
  * Bug Fix: an error that prevented to create the backup folder (and other things) on multisite.
2
  Contributors: wp_media, GregLone
3
  Tags: compress image, images, performance, optimization, photos, upload, resize, gif, png, jpg, reduce image size, retina
4
  Requires at least: 4.0.0
5
+ Tested up to: 4.9.8
6
+ Stable tag: 1.8.2
7
 
8
  Dramatically reduce image file sizes without losing quality, make your website load faster, boost your SEO and save money on your bandwidth.
9
 
138
  4. Other Media Page
139
 
140
  == Changelog ==
141
+ = 1.8.2 - 2018/09/12 =
142
+ * New: display partnership links (can be removed).
143
+ * Improvement: display a small spinner when opening a folder in the custom folders selector.
144
+ * Improvement: visual for the admin toolbar option has been updated and localized for some languages.
145
+ * Bug Fix: two errors that prevented to create the backup folder (and other things).
146
+ * Bug Fix: improved uninstall cleanup.
147
+
148
  = 1.8.1.1 - 2018/07/31 =
149
  * Bug Fix: an open_basedir error that prevented some users to use the custom folders browser.
150
  * Bug Fix: an error that prevented to create the backup folder (and other things) on multisite.
uninstall.php CHANGED
@@ -8,9 +8,6 @@ delete_site_option( 'imagify_settings' );
8
  delete_site_option( 'imagify_old_version' );
9
  delete_site_option( 'imagify_files_db_version' );
10
  delete_site_option( 'imagify_folders_db_version' );
11
- delete_site_option( 'do_imagify_rating_cron' );
12
- delete_site_option( 'imagify_seen_rating_notice' );
13
- delete_site_option( 'imagify_user_images_count' );
14
  delete_option( 'imagify_data' );
15
  delete_option( 'ngg_imagify_data_db_version' );
16
  delete_option( $wpdb->prefix . 'ngg_imagify_data_db_version' );
@@ -19,6 +16,9 @@ delete_option( $wpdb->prefix . 'ngg_imagify_data_db_version' );
19
  delete_site_transient( 'imagify_check_licence_1' );
20
  delete_site_transient( 'imagify_user' );
21
  delete_site_transient( 'imagify_themes_plugins_to_sync' );
 
 
 
22
  delete_transient( 'imagify_bulk_optimization_level' );
23
  delete_transient( 'imagify_bulk_optimization_infos' );
24
  delete_transient( 'imagify_large_library' );
8
  delete_site_option( 'imagify_old_version' );
9
  delete_site_option( 'imagify_files_db_version' );
10
  delete_site_option( 'imagify_folders_db_version' );
 
 
 
11
  delete_option( 'imagify_data' );
12
  delete_option( 'ngg_imagify_data_db_version' );
13
  delete_option( $wpdb->prefix . 'ngg_imagify_data_db_version' );
16
  delete_site_transient( 'imagify_check_licence_1' );
17
  delete_site_transient( 'imagify_user' );
18
  delete_site_transient( 'imagify_themes_plugins_to_sync' );
19
+ delete_site_transient( 'do_imagify_rating_cron' );
20
+ delete_site_transient( 'imagify_seen_rating_notice' );
21
+ delete_site_transient( 'imagify_user_images_count' );
22
  delete_transient( 'imagify_bulk_optimization_level' );
23
  delete_transient( 'imagify_bulk_optimization_infos' );
24
  delete_transient( 'imagify_large_library' );
views/modal-payment.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <div id="imagify-pricing-modal" class="imagify-modal imagify-payment-modal hide-if-no-js" aria-hidden="false" role="dialog">
5
  <div class="imagify-modal-content">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <div id="imagify-pricing-modal" class="imagify-modal imagify-payment-modal hide-if-no-js" aria-hidden="false" role="dialog">
5
  <div class="imagify-modal-content">
views/modal-settings-infos.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
 
views/modal-settings-partners-infos.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
3
+ ?>
4
+
5
+ <div class="imagify-modal" id="imagify-partners-info">
6
+ <div class="imagify-modal-content">
7
+ <p>
8
+ <?php esc_html_e( 'Partner links are links to products we trust which might be displayed in the Imagify plugin or the plugin modal page. We may earn an affiliate commission if you make a purchase via these links.', 'imagify' ); ?>
9
+ </p>
10
+
11
+ <button type="button" class="close-btn">
12
+ <i class="dashicons dashicons-no-alt" aria-hidden="true"></i>
13
+ <span class="screen-reader-text"><?php esc_html_e( 'Close' ); ?></span>
14
+ </button>
15
+ </div>
16
+ </div>
17
+
18
+ <?php
views/modal-settings-visual-comparison.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
 
views/notice-almost-over-quota.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'imagify-flex-notice-content', 'error' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'imagify-flex-notice-content', 'error' ),
views/notice-backup-folder-not-writable.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'error' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'error' ),
views/notice-footer.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  </div>
5
  <?php if ( ! empty( $data['dismissible'] ) ) : ?>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  </div>
5
  <?php if ( ! empty( $data['dismissible'] ) ) : ?>
views/notice-grid-view.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'title' => __( 'You\'re missing out!', 'imagify' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'title' => __( 'You\'re missing out!', 'imagify' ),
views/notice-header.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <div class="clear"></div>
5
  <div class="imagify-notice below-h2<?php echo ( ! empty( $data['classes'] ) ? ' ' . implode( ' ', $data['classes'] ) : '' ); ?>">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <div class="clear"></div>
5
  <div class="imagify-notice below-h2<?php echo ( ! empty( $data['classes'] ) ? ' ' . implode( ' ', $data['classes'] ) : '' ); ?>">
views/notice-http-block-external.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'title' => __( 'The external HTTP requests are blocked!', 'imagify' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'title' => __( 'The external HTTP requests are blocked!', 'imagify' ),
views/notice-plugins-to-deactivate.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'error' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'error' ),
views/notice-rating.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'updated' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'classes' => array( 'updated' ),
views/notice-temporary.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $notices = array();
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $notices = array();
5
 
views/notice-welcome-steps.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <div class="imagify-welcome">
5
  <div class="imagify-title">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <div class="imagify-welcome">
5
  <div class="imagify-title">
views/notice-wp-rocket.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $dismiss_url = get_imagify_admin_url( 'dismiss-notice', 'wp-rocket' );
5
  $coupon_code = 'IMAGIFY20';
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $dismiss_url = get_imagify_admin_url( 'dismiss-notice', 'wp-rocket' );
5
  $coupon_code = 'IMAGIFY20';
views/notice-wrong-api-key.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'title' => __( 'Your API key isn\'t valid!', 'imagify' ),
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $this->print_template( 'notice-header', array(
5
  'title' => __( 'Your API key isn\'t valid!', 'imagify' ),
views/page-bulk.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <div class="wrap imagify-settings imagify-bulk">
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <div class="wrap imagify-settings imagify-bulk">
5
 
views/page-files-list.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <div class="wrap imagify-files-list">
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <div class="wrap imagify-files-list">
5
 
views/page-settings.php CHANGED
@@ -1,10 +1,11 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $settings = Imagify_Settings::get_instance();
5
  $options = Imagify_Options::get_instance();
6
  $option_name = $options->get_option_name();
7
  $hidden_class = Imagify_Requirements::is_api_key_valid() ? '' : ' hidden';
 
8
 
9
  /* Ads notice */
10
  $notice = 'wp-rocket';
@@ -160,9 +161,45 @@ $wrapper_class = isset( $notices[ $notice ] ) || defined( 'WP_ROCKET_VERSION' )
160
  </div>
161
  <div class="imagify-col">
162
  <p>
163
- <img class="imagify-menu-bar-img" src="<?php echo IMAGIFY_ASSETS_IMG_URL . 'imagify-menu-bar.jpg'; ?>" width="300" height="225" alt="">
164
  </p>
165
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  </div>
167
  </div>
168
 
@@ -178,6 +215,7 @@ $wrapper_class = isset( $notices[ $notice ] ) || defined( 'WP_ROCKET_VERSION' )
178
  <?php
179
  $this->print_template( 'part-rocket-ad' );
180
  $this->print_template( 'modal-settings-infos' );
 
181
  $this->print_template( 'modal-settings-visual-comparison' );
182
  $this->print_template( 'modal-payment' );
183
  ?>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $settings = Imagify_Settings::get_instance();
5
  $options = Imagify_Options::get_instance();
6
  $option_name = $options->get_option_name();
7
  $hidden_class = Imagify_Requirements::is_api_key_valid() ? '' : ' hidden';
8
+ $lang = imagify_get_current_lang_in( array( 'de', 'es', 'fr', 'it' ) );
9
 
10
  /* Ads notice */
11
  $notice = 'wp-rocket';
161
  </div>
162
  <div class="imagify-col">
163
  <p>
164
+ <img class="imagify-menu-bar-img" src="<?php echo esc_url( IMAGIFY_ASSETS_IMG_URL . 'imagify-menu-bar-' . $lang . '.jpg' ); ?>" width="273" height="239" alt="">
165
  </p>
166
  </div>
167
+
168
+ <?php
169
+ /**
170
+ * List of partners affected by this option.
171
+ * For internal use only.
172
+ *
173
+ * @since 1.8.2
174
+ * @author Grégory Viguier
175
+ *
176
+ * @param array $partners An array of partner names.
177
+ * @return array
178
+ */
179
+ $partners = apply_filters( 'imagify_deactivatable_partners', array() );
180
+
181
+ if ( $partners ) {
182
+ ?>
183
+ <p class="imagify-options-subtitle" id="imagify-partners-label">
184
+ <?php esc_html_e( 'Partners', 'imagify' ); ?>
185
+
186
+ <span class="imagify-info">
187
+ <span class="dashicons dashicons-info"></span>
188
+ <a href="#imagify-partners-info" class="imagify-modal-trigger"><?php _e( 'More info?', 'imagify' ); ?></a>
189
+ </span>
190
+ </p>
191
+
192
+ <p>
193
+ <?php
194
+ $settings->field_checkbox( array(
195
+ 'option_name' => 'partner_links',
196
+ 'label' => __( 'Display Partner Links', 'imagify' ),
197
+ ) );
198
+ ?>
199
+ </p>
200
+ <?php
201
+ }
202
+ ?>
203
  </div>
204
  </div>
205
 
215
  <?php
216
  $this->print_template( 'part-rocket-ad' );
217
  $this->print_template( 'modal-settings-infos' );
218
+ $this->print_template( 'modal-settings-partners-infos' );
219
  $this->print_template( 'modal-settings-visual-comparison' );
220
  $this->print_template( 'modal-payment' );
221
  ?>
views/part-bulk-optimization-header-row-custom-folders.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <th class="imagify-cell-filename"><?php esc_html_e( 'Filename', 'imagify' ); ?></th>
5
  <th class="imagify-cell-status"><?php esc_html_e( 'Status', 'imagify' ); ?></th>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <th class="imagify-cell-filename"><?php esc_html_e( 'Filename', 'imagify' ); ?></th>
5
  <th class="imagify-cell-status"><?php esc_html_e( 'Status', 'imagify' ); ?></th>
views/part-bulk-optimization-header-row-library.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <th class="imagify-cell-filename"><?php esc_html_e( 'Filename', 'imagify' ); ?></th>
5
  <th class="imagify-cell-status"><?php esc_html_e( 'Status', 'imagify' ); ?></th>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <th class="imagify-cell-filename"><?php esc_html_e( 'Filename', 'imagify' ); ?></th>
5
  <th class="imagify-cell-status"><?php esc_html_e( 'Status', 'imagify' ); ?></th>
views/part-bulk-optimization-header.php CHANGED
@@ -1,4 +1,4 @@
1
- <?php defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' ); ?>
2
 
3
  <h1 class="screen-reader-text"><?php _e( 'Bulk Optimization', 'imagify' ); ?> – Imagify <?php echo IMAGIFY_VERSION; ?></h1>
4
 
1
+ <?php defined( 'ABSPATH' ) || die( 'Cheatin uh?' ); ?>
2
 
3
  <h1 class="screen-reader-text"><?php _e( 'Bulk Optimization', 'imagify' ); ?> – Imagify <?php echo IMAGIFY_VERSION; ?></h1>
4
 
views/part-bulk-optimization-infos.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <div class="imagify-swal-subtitle"><?php esc_html_e( 'Some information to know before launching the optimization.', 'imagify' ); ?></div>
5
  <div class="imagify-swal-quota">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <div class="imagify-swal-subtitle"><?php esc_html_e( 'Some information to know before launching the optimization.', 'imagify' ); ?></div>
5
  <div class="imagify-swal-quota">
views/part-bulk-optimization-newbie.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
 
5
  <div class="imagify-bulk-table imagify-newbie">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
 
5
  <div class="imagify-bulk-table imagify-newbie">
views/part-bulk-optimization-overquota-alert.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $overquota_url = imagify_get_external_url( 'subscription', array(
5
  'utm_source' => 'plugin',
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $overquota_url = imagify_get_external_url( 'subscription', array(
5
  'utm_source' => 'plugin',
views/part-bulk-optimization-spinner.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <span class="imagify-cell-checkbox-loader">
5
  <svg width="27" height="28" viewBox="0 0 27 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m13.3.254c-.773 0-1.4.627-1.4 1.4l0 4.2c0 .773.627 1.4 1.4 1.4.773 0 1.4-.627 1.4-1.4l0-4.2c0-.773-.627-1.4-1.4-1.4m-8.422 3.478c-.358 0-.711.142-.984.416-.547.547-.547 1.444 0 1.991l2.975 2.953c.547.547 1.422.547 1.969 0 .547-.547.547-1.422 0-1.969l-2.953-2.975c-.273-.273-.648-.416-1.01-.416m16.844 0c-.358 0-.733.142-1.01.416l-2.953 2.975c-.547.547-.547 1.422 0 1.969.547.547 1.422.547 1.969 0l2.975-2.953c.547-.547.547-1.444 0-1.991-.273-.273-.626-.416-.984-.416m-20.322 8.422c-.773 0-1.4.627-1.4 1.4 0 .773.627 1.4 1.4 1.4l4.2 0c.773 0 1.4-.627 1.4-1.4 0-.773-.627-1.4-1.4-1.4l-4.2 0m19.6 0c-.773 0-1.4.627-1.4 1.4 0 .773.627 1.4 1.4 1.4l4.2 0c.773 0 1.4-.627 1.4-1.4 0-.773-.627-1.4-1.4-1.4l-4.2 0m-13.147 5.447c-.358 0-.711.142-.984.416l-2.975 2.953c-.547.547-.547 1.444 0 1.991.547.547 1.444.547 1.991 0l2.953-2.975c.547-.547.547-1.422 0-1.969-.273-.273-.626-.416-.984-.416m10.894 0c-.358 0-.711.142-.984.416-.547.547-.547 1.422 0 1.969l2.953 2.975c.547.547 1.444.547 1.991 0 .547-.547.547-1.444 0-1.991l-2.975-2.953c-.273-.273-.626-.416-.984-.416m-5.447 2.253c-.773 0-1.4.627-1.4 1.4l0 4.2c0 .773.627 1.4 1.4 1.4.773 0 1.4-.627 1.4-1.4l0-4.2c0-.773-.627-1.4-1.4-1.4" fill="#40b1d0" fill-rule="nonzero"/></g></svg>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <span class="imagify-cell-checkbox-loader">
5
  <svg width="27" height="28" viewBox="0 0 27 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m13.3.254c-.773 0-1.4.627-1.4 1.4l0 4.2c0 .773.627 1.4 1.4 1.4.773 0 1.4-.627 1.4-1.4l0-4.2c0-.773-.627-1.4-1.4-1.4m-8.422 3.478c-.358 0-.711.142-.984.416-.547.547-.547 1.444 0 1.991l2.975 2.953c.547.547 1.422.547 1.969 0 .547-.547.547-1.422 0-1.969l-2.953-2.975c-.273-.273-.648-.416-1.01-.416m16.844 0c-.358 0-.733.142-1.01.416l-2.953 2.975c-.547.547-.547 1.422 0 1.969.547.547 1.422.547 1.969 0l2.975-2.953c.547-.547.547-1.444 0-1.991-.273-.273-.626-.416-.984-.416m-20.322 8.422c-.773 0-1.4.627-1.4 1.4 0 .773.627 1.4 1.4 1.4l4.2 0c.773 0 1.4-.627 1.4-1.4 0-.773-.627-1.4-1.4-1.4l-4.2 0m19.6 0c-.773 0-1.4.627-1.4 1.4 0 .773.627 1.4 1.4 1.4l4.2 0c.773 0 1.4-.627 1.4-1.4 0-.773-.627-1.4-1.4-1.4l-4.2 0m-13.147 5.447c-.358 0-.711.142-.984.416l-2.975 2.953c-.547.547-.547 1.444 0 1.991.547.547 1.444.547 1.991 0l2.953-2.975c.547-.547.547-1.422 0-1.969-.273-.273-.626-.416-.984-.416m10.894 0c-.358 0-.711.142-.984.416-.547.547-.547 1.422 0 1.969l2.953 2.975c.547.547 1.444.547 1.991 0 .547-.547.547-1.444 0-1.991l-2.975-2.953c-.273-.273-.626-.416-.984-.416m-5.447 2.253c-.773 0-1.4.627-1.4 1.4l0 4.2c0 .773.627 1.4 1.4 1.4.773 0 1.4-.627 1.4-1.4l0-4.2c0-.773-.627-1.4-1.4-1.4" fill="#40b1d0" fill-rule="nonzero"/></g></svg>
views/part-bulk-optimization-success.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
  <!-- The Success/Complete bar -->
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
  <!-- The Success/Complete bar -->
views/part-bulk-optimization-table-row-folder-type.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $default_level = Imagify_Options::get_instance()->get( 'optimization_level' );
5
  ?>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $default_level = Imagify_Options::get_instance()->get( 'optimization_level' );
5
  ?>
views/part-bulk-optimization-table.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
 
5
  <div class="imagify-bulk-table">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
 
5
  <div class="imagify-bulk-table">
views/part-bulk-optimization-underscore-file-row-custom-folders.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <tr id="{{ data.groupId }}-{{ data.id }}">
5
  <td class="imagify-cell-filename">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <tr id="{{ data.groupId }}-{{ data.id }}">
5
  <td class="imagify-cell-filename">
views/part-bulk-optimization-underscore-file-row-library.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <tr id="{{ data.groupId }}-{{ data.id }}">
5
  <td class="imagify-cell-filename">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <tr id="{{ data.groupId }}-{{ data.id }}">
5
  <td class="imagify-cell-filename">
views/part-discount-banner.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
  <div class="imagify-modal-promotion" aria-hidden="true">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
  <div class="imagify-modal-promotion" aria-hidden="true">
views/part-documentation-link.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
  <p class="imagify-documentation-link-box">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
  <p class="imagify-documentation-link-box">
views/part-files-list-header.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
  <h1><?php esc_html_e( 'Other Media optimized by Imagify', 'imagify' ); ?></h1>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
  <h1><?php esc_html_e( 'Other Media optimized by Imagify', 'imagify' ); ?></h1>
views/part-rocket-ad.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( defined( 'WP_ROCKET_VERSION' ) ) {
5
  return '';
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( defined( 'WP_ROCKET_VERSION' ) ) {
5
  return '';
views/part-settings-account.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( defined( 'IMAGIFY_HIDDEN_ACCOUNT' ) && IMAGIFY_HIDDEN_ACCOUNT ) {
5
  if ( ! defined( 'IMAGIFY_API_KEY' ) || ! IMAGIFY_API_KEY ) {
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( defined( 'IMAGIFY_HIDDEN_ACCOUNT' ) && IMAGIFY_HIDDEN_ACCOUNT ) {
5
  if ( ! defined( 'IMAGIFY_API_KEY' ) || ! IMAGIFY_API_KEY ) {
views/part-settings-custom-folders.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  if ( ! imagify_can_optimize_custom_folders() ) {
5
  return;
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  if ( ! imagify_can_optimize_custom_folders() ) {
5
  return;
views/part-settings-files-tree-row.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $disabled_attr = disabled( true, $data['checkbox_selected'], false );
5
  $disabled_class = $data['checkbox_selected'] ? ' disabled' : '';
@@ -8,16 +8,18 @@ $folder_icon = '<svg width="20px" height="17px" viewBox="0 0 20 17" version="
8
 
9
  <li<?php echo $data['checkbox_selected'] ? ' class="imagify-folder-already-selected"' : ''; ?>>
10
  <?php if ( empty( $data['no_button'] ) ) : ?>
11
- <button type="button" class="imagify-folder" data-folder="<?php echo $data['relative_path']; ?>"<?php echo $disabled_attr; ?> title="
12
- <?php
13
- if ( $data['checkbox_selected'] ) {
14
- /* translators: %s is a folder path. */
15
- printf( esc_attr__( 'The folder "%s" is already selected.', 'imagify' ), $data['relative_path'] );
16
- } else {
17
- /* translators: %s is a folder path. */
18
- printf( esc_attr__( 'Open/Close the folder "%s".', 'imagify' ), $data['relative_path'] );
19
- }
20
- ?>">
 
 
21
  <span class="imagify-folder-icon"><?php echo $folder_icon; ?></span>
22
  </button>
23
  <?php else : ?>
@@ -28,16 +30,15 @@ $folder_icon = '<svg width="20px" height="17px" viewBox="0 0 20 17" version="
28
 
29
  <input type="checkbox" name="imagify-custom-files[]" value="<?php echo $data['checkbox_value']; ?>" id="imagify-custom-folder-<?php echo $data['checkbox_id']; ?>" class="screen-reader-text"<?php echo $disabled_attr; ?>/>
30
 
31
- <label for="imagify-custom-folder-<?php echo $data['checkbox_id']; ?>" title="
32
- <?php
33
- if ( $data['checkbox_selected'] ) {
34
- /* translators: %s is a folder path. */
35
- printf( esc_attr__( 'The folder "%s" is already selected.', 'imagify' ), $data['relative_path'] );
36
- } else {
37
- /* translators: %s is a folder path. */
38
- printf( esc_attr__( 'Select the folder "%s".', 'imagify' ), $data['relative_path'] );
39
- }
40
- ?>">
41
  <?php echo esc_html( $data['label'] ); ?>
42
 
43
  <span class="imagify-add-ed-folder">
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $disabled_attr = disabled( true, $data['checkbox_selected'], false );
5
  $disabled_class = $data['checkbox_selected'] ? ' disabled' : '';
8
 
9
  <li<?php echo $data['checkbox_selected'] ? ' class="imagify-folder-already-selected"' : ''; ?>>
10
  <?php if ( empty( $data['no_button'] ) ) : ?>
11
+ <button type="button" class="imagify-folder" data-folder="<?php echo $data['relative_path']; ?>"<?php echo $disabled_attr; ?> title="<?php
12
+ if ( $data['checkbox_selected'] ) {
13
+ /* translators: %s is a folder path. */
14
+ printf( esc_attr__( 'The folder "%s" is already selected.', 'imagify' ), $data['relative_path'] );
15
+ } else {
16
+ /* translators: %s is a folder path. */
17
+ printf( esc_attr__( 'Open/Close the folder "%s".', 'imagify' ), $data['relative_path'] );
18
+ }
19
+ ?>">
20
+ <?php if ( ! $data['checkbox_selected'] ) { ?>
21
+ <span class="imagify-loader"><img alt="<?php esc_attr_e( 'Loading...', 'imagify' ); ?>" src="<?php echo esc_url( IMAGIFY_ASSETS_IMG_URL . 'spinner.gif' ); ?>" width="20" height="20"/></span>
22
+ <?php } ?>
23
  <span class="imagify-folder-icon"><?php echo $folder_icon; ?></span>
24
  </button>
25
  <?php else : ?>
30
 
31
  <input type="checkbox" name="imagify-custom-files[]" value="<?php echo $data['checkbox_value']; ?>" id="imagify-custom-folder-<?php echo $data['checkbox_id']; ?>" class="screen-reader-text"<?php echo $disabled_attr; ?>/>
32
 
33
+ <label for="imagify-custom-folder-<?php echo $data['checkbox_id']; ?>" title="<?php
34
+ if ( $data['checkbox_selected'] ) {
35
+ /* translators: %s is a folder path. */
36
+ printf( esc_attr__( 'The folder "%s" is already selected.', 'imagify' ), $data['relative_path'] );
37
+ } else {
38
+ /* translators: %s is a folder path. */
39
+ printf( esc_attr__( 'Select the folder "%s".', 'imagify' ), $data['relative_path'] );
40
+ }
41
+ ?>">
 
42
  <?php echo esc_html( $data['label'] ); ?>
43
 
44
  <span class="imagify-add-ed-folder">
views/part-settings-footer.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
 
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
 
views/part-settings-header.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  ?>
5
  <h1 class="screen-reader-text"><?php esc_html_e( 'Settings', 'imagify' ); ?> — Imagify <?php echo IMAGIFY_VERSION; ?></h1>
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  ?>
5
  <h1 class="screen-reader-text"><?php esc_html_e( 'Settings', 'imagify' ); ?> — Imagify <?php echo IMAGIFY_VERSION; ?></h1>
views/part-settings-library.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
 
4
  $settings = Imagify_Settings::get_instance();
5
  $options = Imagify_Options::get_instance();
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
 
4
  $settings = Imagify_Settings::get_instance();
5
  $options = Imagify_Options::get_instance();
views/part-settings-row-custom-folder.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' );
3
  ?>
4
  <p class="imagify-custom-folder-line" data-path="<?php echo '{{ROOT}}/' === $data['value'] ? '/' : esc_attr( $data['label'] ); ?>">
5
  <input type="hidden" name="imagify_settings[custom_folders][]" value="<?php echo esc_attr( $data['value'] ); ?>" />
1
  <?php
2
+ defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
3
  ?>
4
  <p class="imagify-custom-folder-line" data-path="<?php echo '{{ROOT}}/' === $data['value'] ? '/' : esc_attr( $data['label'] ); ?>">
5
  <input type="hidden" name="imagify_settings[custom_folders][]" value="<?php echo esc_attr( $data['value'] ); ?>" />