Version Description
- Enhancement: Add compatibility with our new smart compression system (#663)
- Enhancement: Optimize initialization of some of the code (#473)
- Enhancement: Add new filter
imagify_process_webp_content
(#653) - Bugfix: Prevent PHP warning when displaying the pricing modal (#666)
- 3rd party compatibility: Pass missing parameter to the
http_headers_useragent
filter (#612) - 3rd party compatibility: Prevent conflict with WP Cloudflare super page cache (#609)
- Bugfix: Fix various UI issues (#604, #586, #592, #594)
- i18n: Fix typos & improve strings (#621)
Download this release
Release Info
Developer | wp_media |
Plugin | Imagify Image Optimizer |
Version | 2.0 |
Comparing to | |
See all releases |
Code changes from version 1.10 to 2.0
- assets/css/admin-bar.min.css +1 -1
- assets/css/admin.min.css +1 -1
- assets/css/bulk.css +8 -9
- assets/css/bulk.min.css +1 -1
- assets/css/files-list.css +12 -3
- assets/css/files-list.min.css +1 -1
- assets/css/notices.min.css +1 -1
- assets/css/options.min.css +1 -1
- assets/css/pricing-modal.min.css +1 -1
- assets/css/sweetalert-custom.css +3 -0
- assets/css/sweetalert-custom.min.css +1 -1
- assets/css/sweetalert2.min.css +1 -1
- assets/css/twentytwenty.min.css +1 -1
- assets/js/pricing-modal.js +1 -1
- classes/Context/AbstractContext.php +0 -39
- classes/Context/ContextInterface.php +0 -24
- classes/Context/CustomFolders.php +2 -26
- classes/Context/Noop.php +7 -17
- classes/Context/WP.php +0 -27
- classes/Optimization/File.php +1 -32
- classes/Optimization/Process/AbstractProcess.php +3 -68
- classes/Webp/Picture/Display.php +3 -1
- imagify.php +12 -10
- inc/3rd-party/3rd-party.php +1 -0
- inc/3rd-party/nextgen-gallery/classes/Context/NGG.php +4 -19
- inc/3rd-party/wp-cloudflare-super-page-cache.php +25 -0
- inc/admin/upgrader.php +6 -86
- inc/classes/class-imagify-admin-ajax-post.php +17 -63
- inc/classes/class-imagify-files-list-table.php +12 -46
- inc/classes/class-imagify-notices.php +3 -1
- inc/classes/class-imagify-options.php +2 -13
- inc/classes/class-imagify.php +5 -38
- inc/deprecated/deprecated.php +89 -0
- inc/functions/admin-ui.php +12 -14
- inc/functions/api.php +1 -13
- inc/functions/common.php +4 -12
- inc/functions/i18n.php +1 -1
- readme.txt +26 -22
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +4 -4
- vendor/composer/installed.json +7 -6
- vendor/composer/installers/.github/workflows/continuous-integration.yml +6 -0
- vendor/composer/installers/composer.json +1 -0
- vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php +1 -0
- vendor/composer/installers/src/Composer/Installers/Installer.php +1 -0
- vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php +12 -0
- views/button/re-optimize.php +4 -4
- views/modal-payment.php +3 -3
- views/page-settings.php +2 -54
- views/part-bulk-optimization-overquota-alert.php +1 -1
- views/part-bulk-optimization-table-row-folder-type.php +0 -16
- views/part-bulk-optimization-table.php +0 -1
- views/part-rocket-ad.php +5 -3
assets/css/admin-bar.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
.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}#wp-admin-bar-imagify-profile [class^=imagify-bar-]{position:relative;height:1.5em;width:100%;background:#60758d;color:#fff;font-size:10px}#wp-admin-bar-imagify-profile .imagify-progress{height:1.5em;font-size:1em}.imagify-progress{-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-negative .imagify-progress{background:#73818c}.imagify-bar-negative .imagify-barnb{color:#73818c}.imagify-bar-neutral .imagify-progress{background:#f5a623}.imagify-space-left .imagify-bar-negative .imagify-progress{background:#d0021b}#wpadminbar #wp-admin-bar-imagify-profile *{line-height:1.5;white-space:initial}#wpadminbar #wp-admin-bar-imagify .ab-submenu{padding-bottom:0}#wpadminbar #wp-admin-bar-imagify-profile .ab-item{height:auto;padding:0 13px}#wpadminbar #wp-admin-bar-imagify-profile{min-width:200px;padding:15px 0 10px;margin-top:.7em;background:#222}#wp-admin-bar-imagify .dashicons{font-family:dashicons;font-size:18px;vertical-align:middle;margin:0 5px 0 0}#wp-admin-bar-imagify .button-text{display:inline-block;vertical-align:middle}#wp-admin-bar-imagify .imagify-abq-row{display:table;width:100%}#wp-admin-bar-imagify .imagify-abq-row+.imagify-abq-row{margin-top:.75em}#wp-admin-bar-imagify .imagify-abq-row>*{display:table-cell}#wp-admin-bar-imagify-profile .imagify-meteo-icon{padding-right:7px}#wp-admin-bar-imagify-profile .imagify-meteo-icon img{width:37px}#wp-admin-bar-imagify-profile .imagify-meteo-title{font-size:17px}#wp-admin-bar-imagify-profile .imagify-meteo-subs{color:#72889f}#wpadminbar #wp-admin-bar-imagify-profile strong{font-weight:700}#wpadminbar #wp-admin-bar-imagify-profile .imagify-user-plan,#wpadminbar #wp-admin-bar-imagify-profile a{padding:0;color:#40b1d0}#wpadminbar #wp-admin-bar-imagify-profile .imagify-account-link{display:table}#wpadminbar #wp-admin-bar-imagify-profile .imagify-account-link>*{display:table-cell}#wpadminbar #wp-admin-bar-imagify-profile .imagify-space-left{max-width:210px;min-width:210px;width:210px}#wpadminbar #wp-admin-bar-imagify-profile .imagify-space-left p{font-size:12px}#wp-admin-bar-imagify-profile .imagify-error,#wp-admin-bar-imagify-profile .imagify-warning{padding:10px;margin:0 -13px -13px}#wp-admin-bar-imagify-profile .imagify-error p+p,#wp-admin-bar-imagify-profile .imagify-warning p+p{margin-top:.5em}#wp-admin-bar-imagify-profile .imagify-error p+p+p,#wp-admin-bar-imagify-profile .imagify-warning p+p+p{margin-top:1em}#wpadminbar #wp-admin-bar-imagify-profile .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}#wpadminbar #wp-admin-bar-imagify-profile .imagify-btn-ghost:focus,#wpadminbar #wp-admin-bar-imagify-profile .imagify-btn-ghost:hover{background:#fff;color:#888}#wpadminbar .imagify-warning *{background:#f5a623;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.2)}
|
assets/css/admin.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.imagify-start,.wp_attachment_image .imagify-button-primary{float:left}.imagify-mt0.imagify-mt0,.imagify-section p:first-child{margin-top:0}.imagify-columns,.imagify-data-item,.imagify-datas-actions-links,.imagify-oh,body.imagify-modal-is-open{overflow:hidden}.imagify-flex{display:-webkit-box;display:-ms-flexbox;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-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-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-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:-webkit-box;display:-ms-flexbox;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;vertical-align:top}.imagify-cell.va-top,.va-top .imagify-cell{vertical-align:top}.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-main-content .button,.imagify-notice .button,.imagify-settings-section .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)}.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: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 .imagify-setting-line,.imagify-settings-main-content p{font-size:14px;line-height:1.5}.imagify-settings-main-content .code{max-height:10em;padding:3px 5px 2px;overflow:auto;background:#EAEAEA;background:rgba(0,0,0,.07)}.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{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-user-plan-label:empty{display:none}.imagify-columns{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}ul.imagify-datas-list .big{font-size:12px;color:#40B1D0}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{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{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}.media-sidebar .compat-field-imagify .imagify-datas-actions-links br,.submitbox .misc-pub-imagify .imagify-datas-actions-links br{display: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-modal-loading .imagify-modal-content{overflow:hidden}#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-weight:400;font-size:24px;letter-spacing:.075em;text-align:center}.imagify-modal .h3{color:#40b1d0;font-weight:400;font-size:18px;letter-spacing:.075em;text-align:center}.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;z-index:12}.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}}@media (max-width:730px){.imagify-settings .imagify-documentation-link-box{margin-top:2em}}@media (max-width:782px){input[type=checkbox],input[type=radio]{height:1.5625rem;width:1.5625rem;margin:1px}[class*=imagify-] .button-text{font-size:13px}.imagify-account-info-col .imagify-settings-section{padding:0 10px}.imagify-settings-section{padding:10px}.imagify-check-group.imagify-is-scrollable{margin:auto}.imagify-col.imagify-col.imagify-shared-with-account-col,.imagify-custom-folders-section .imagify-col,.imagify-media-lib-section .imagify-col,.imagify-settings-section .imagify-col,.imagify-shared-with-account-col{width:100%;float:none;padding-right:0}.imagify-account-info-col,.imagify-col.imagify-col.imagify-account-info-col,.imagify-custom-folders-section .imagify-account-info-col,.imagify-media-lib-section .imagify-account-info-col{width:100%;float:none;padding-left:0;padding-right:0}.imagify-lb-text{font-size:20px}.imagify-vcenter{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-pr2.imagify-pr2{padding-right:0}}
|
1 |
+
.imagify-flex{display:-webkit-box;display:-ms-flexbox;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-oh{overflow:hidden}.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-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:-webkit-box;display:-ms-flexbox;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;vertical-align:top}.imagify-cell.va-top,.va-top .imagify-cell{vertical-align:top}.imagify-bulk-submit .imagify-cell{padding-top:0}body.imagify-modal-is-open{overflow:hidden}.imagify-spinner{display:inline-block;width:20px;height:20px;margin-right:5px;vertical-align:middle;background:rgba(0,0,0,0) url("../images/spinner.gif") no-repeat scroll 0 0/20px 20px;opacity:.7}.spinner.imagify-hidden{width:0;margin:4px 0 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-main-content .button,.imagify-notice .button,.imagify-settings-section .button,.imagify-welcome .button{height:auto;padding:11px 22px;border:0 none;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;word-spacing:0.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 #338ea6;box-shadow:0 3px 0 #338ea6;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 #338ea6;box-shadow:0 3px 0 #338ea6}.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 .imagify-setting-line,.imagify-settings-main-content p{font-size:14px;line-height:1.5}.imagify-settings-main-content .code{max-height:10em;padding:3px 5px 2px 5px;overflow:auto;background:#eaeaea;background:rgba(0,0,0,.07)}.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 none!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{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-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}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{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}.media-sidebar .compat-field-imagify .imagify-datas-actions-links br,.submitbox .misc-pub-imagify .imagify-datas-actions-links br{display: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}.imagify-progress{-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-modal-loading .imagify-modal-content{overflow:hidden}#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-weight:400;font-size:24px;letter-spacing:.075em;text-align:center}.imagify-modal .h3{color:#40b1d0;font-weight:400;font-size:18px;letter-spacing:.075em;text-align:center}.imagify-modal .close-btn{display:none;visibility:hidden;position:absolute;right:20px;top:20px;font-size:1.2em;border:0;background:transparent none;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;z-index:12}.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%}.imagify-col{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}}@media (max-width:730px){.imagify-settings .imagify-documentation-link-box{margin-top:2em}}@media (max-width:782px){input[type=checkbox],input[type=radio]{height:1.5625rem;width:1.5625rem;margin:1px}[class*=imagify-] .button-text{font-size:13px}.imagify-account-info-col .imagify-settings-section{padding:0 10px}.imagify-settings-section{padding:10px}.imagify-check-group.imagify-is-scrollable{margin:auto}.imagify-col.imagify-col.imagify-shared-with-account-col,.imagify-custom-folders-section .imagify-col,.imagify-media-lib-section .imagify-col,.imagify-settings-section .imagify-col,.imagify-shared-with-account-col{width:100%;float:none;padding-right:0}.imagify-account-info-col,.imagify-col.imagify-col.imagify-account-info-col,.imagify-custom-folders-section .imagify-account-info-col,.imagify-media-lib-section .imagify-account-info-col{width:100%;float:none;padding-left:0;padding-right:0}.imagify-lb-text{font-size:20px}.imagify-vcenter{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-pr2.imagify-pr2{padding-right:0}}
|
assets/css/bulk.css
CHANGED
@@ -88,7 +88,7 @@ body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress {
|
|
88 |
body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent {
|
89 |
position: absolute;
|
90 |
top: 6px;
|
91 |
-
right:
|
92 |
text-shadow: none;
|
93 |
width: auto;
|
94 |
padding: 0 5px;
|
@@ -312,12 +312,6 @@ body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress .bar {
|
|
312 |
color: #40B1D0;
|
313 |
}
|
314 |
|
315 |
-
.imagify-col-content {
|
316 |
-
background: #F4F7F9;
|
317 |
-
border-left: 1px solid #ddd;
|
318 |
-
border-right: 1px solid #ddd;
|
319 |
-
}
|
320 |
-
|
321 |
.imagify-col-content .imagify-block-secondary {
|
322 |
margin-left: -1px;
|
323 |
margin-right: -1px;
|
@@ -669,11 +663,16 @@ body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress .bar {
|
|
669 |
background: #FFF;
|
670 |
}
|
671 |
|
672 |
-
|
673 |
-
|
|
|
|
|
|
|
|
|
674 |
}
|
675 |
|
676 |
.imagify-bulk-table .imagify-row-progress {
|
|
|
677 |
height: 8px;
|
678 |
padding: 0;
|
679 |
}
|
88 |
body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent {
|
89 |
position: absolute;
|
90 |
top: 6px;
|
91 |
+
right: -28px;
|
92 |
text-shadow: none;
|
93 |
width: auto;
|
94 |
padding: 0 5px;
|
312 |
color: #40B1D0;
|
313 |
}
|
314 |
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
.imagify-col-content .imagify-block-secondary {
|
316 |
margin-left: -1px;
|
317 |
margin-right: -1px;
|
663 |
background: #FFF;
|
664 |
}
|
665 |
|
666 |
+
@media (max-width: 782px) {
|
667 |
+
.imagify-row-folder-type,
|
668 |
+
tr.imagify-row-working,
|
669 |
+
tr.imagify-row-waiting {
|
670 |
+
padding-top: 20px;
|
671 |
+
}
|
672 |
}
|
673 |
|
674 |
.imagify-bulk-table .imagify-row-progress {
|
675 |
+
display: none;
|
676 |
height: 8px;
|
677 |
padding: 0;
|
678 |
}
|
assets/css/bulk.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#imagify-overview-chart-legend{overflow:hidden}.imagify-doughnut-legend{margin-top:38px;list-style:none}.imagify-doughnut-legend li{display:block;padding-left:30px;position:relative;margin-bottom:15px;border-radius:5px;padding:3px 8px 2px 31px;font-size:13px;cursor:default;-webkit-transition:background-color .2s ease-in-out;-o-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.imagify-doughnut-legend li span{display:block;position:absolute;left:0;top:0;width:25px;height:25px;border-radius:50%}.imagify-global-optim-phrase{width:180px;padding-top:20px;font-size:14px;text-align:center}.imagify-total-percent{color:#46b1ce}.imagify-overview-chart-container{float:left;margin-right:20px}.imagify-chart-percent{position:absolute;left:0;right:0;top:50%;margin-top:-.5em;line-height:1;text-align:center;font-size:55px;font-weight:700;color:#46B1CE}.imagify-chart-percent span{font-size:20px;vertical-align:super}.media_page_imagify-bulk-optimization .media-item,body[class*="_imagify-ngg-bulk-optimization"] .media-item{margin:0}.media_page_imagify-bulk-optimization .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress{float:none;width:100%;height:8px;margin:0;overflow:visible;background:#1F2331;-webkit-box-shadow:0;box-shadow:0;border-radius:0}.media_page_imagify-bulk-optimization .media-item .percent,body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent{position:absolute;top:6px;right:0;text-shadow:none;width:auto;padding:0 5px;line-height:1.85;font-size:14px;font-weight:700;color:#40B1D0}.media_page_imagify-bulk-optimization .media-item .percent,.media_page_imagify-bulk-optimization .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress{text-align:right}.media_page_imagify-bulk-optimization .media-item .progress .bar,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress .bar{position:relative;width:1px;height:8px;margin-top:0;background:#46B1CE;border-radius:0;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}#imagify-bulk-action{padding:11px 20px}.imagify-columns .col-overview.col-overview{width:calc(100% - 465px);padding-left:20px}.imagify-columns .col-statistics.col-statistics{width:60%}.imagify-columns .col-chart.col-chart{width:40%}@media (max-width:1520px) and (min-width:1381px),(max-width:1086px){.imagify-columns .col-chart.col-chart,.imagify-columns .col-statistics.col-statistics{width:50%}}@media (max-width:1380px) and (min-width:1246px),(max-width:380px){.imagify-overview-chart-container{float:none;margin-right:0}.imagify-doughnut-legend{margin-top:18px}.imagify-global-optim-phrase{padding-top:0;width:auto}}@media (max-width:808px){.imagify-columns .col-chart.col-chart,.imagify-columns .col-statistics.col-statistics{width:auto;float:none;padding:0}.imagify-columns .col-chart.col-chart{margin-top:3em}}.imagify-sep-v{width:1px;background:rgba(255,255,255,.2)}.base-transparent{background:0 0}[class^=imagify-bar-].right-outside-number{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:4.5em}.right-outside-number .imagify-barnb{display:block;margin-right:-5.25em;text-align:right;font-weight:700;line-height:.8}.imagify-h2-like{margin:0 0 .5em;padding-bottom:.5em;border-bottom:1px solid #E9EFF2;font-size:24px;color:#000;font-weight:700}.imagify-h2-like .dashicons,.imagify-h2-like .dashicons:before{font-size:38px;height:38px;width:38px;margin-right:12px;vertical-align:-5px;color:#40B1D0}.imagify-info-block{position:relative;padding:10px;padding-left:42px;background:#D9E4EB;border-radius:4px;line-height:1.6}.imagify-list-infos{margin:0;padding:0}.imagify-list-infos li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px 5px;text-align:left;font-size:14px;line-height:1.5;color:#626E7B}.imagify-list-infos li:first-child{padding-top:5px}.imagify-list-infos li:last-child{padding-bottom:5px}.imagify-list-infos li+li{border-top:1px solid #E9EFF2}.imagify-info-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-preferred-size:50px;flex-basis:50px}.imagify-info-icon+span{padding-left:20px}.imagify-list-infos a:before{content:'';display:block}.imagify-bulk .imagify-settings-section{border:1px solid #D9D9D9;border-top:0;background:#FFF;color:#4A4A4A}.imagify-bulk h3,.imagify-bulk li,.imagify-bulk p{color:#4A4A4A}.imagify-bulk .imagify-settings-section h3{margin-bottom:2em}.imagify-account-info-col .imagify-options-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-account-info-col p.imagify-meteo-title{margin:0;font-size:24px;font-weight:700;color:#FFF}.imagify-account-info-col .imagify-options-title>a{-ms-flex-preferred-size:100px;flex-basis:100px;margin-left:auto;margin-right:10px;text-decoration:underline;font-size:12px}.imagify-account-info-col .imagify-meteo-title .dashicons,.imagify-account-info-col .imagify-meteo-title .dashicons:before{font-size:38px;width:38px;height:38px;margin-right:4px;color:#40B1D0}.imagify-col-content{background:#F4F7F9;border-left:1px solid #ddd;border-right:1px solid #ddd}.imagify-col-content .imagify-block-secondary{margin-left:-1px;margin-right:-1px}.imagify-col-content .imagify-space-left{margin:15px 30px 15px 0}.imagify-col-content .imagify-space-left p{margin:0 0 10px;font-size:19px;font-weight:500;color:#343A49}.imagify-col-content .imagify-meteo-icon{height:64px;margin:15px 15px 15px 20px}.imagify-col-content .imagify-section-title+p{margin-top:10px}.imagify-account-info-col .imagify-h3-like.imagify-h3-like{color:inherit}.imagify-title .imagify-tooltips{position:absolute;top:100%;left:0}.imagify-tooltips .icon-round{float:left;display:inline-block;width:28px;height:28px;border:1px solid #FFF;margin-right:8px;margin-bottom:8px;font-size:17px;font-style:italic;line-height:29px;font-weight:700;text-align:center;border-radius:50%}.imagify-tooltips .tooltip-content{display:block;position:relative;max-width:250px;padding:7px 15px 8px;background:#2e3242;color:#FFF;font-size:10px;border-radius:3px}.imagify-tooltips.right .tooltip-content{margin-left:12px}.imagify-tooltips.bottom .tooltip-content{margin-top:4px}.imagify-inline-options label .tooltip-content{position:absolute;left:0;right:0;top:100%;text-transform:none;font-size:10px;letter-spacing:0;text-align:center}.imagify-tooltips .tooltip-content:after{content:"";position:absolute}.imagify-tooltips.right .tooltip-content:after{top:16px;left:-6px;border-right:8px solid #2e3242;border-top:6px solid transparent;border-bottom:6px solid transparent}.imagify-tooltips.bottom .tooltip-content:after{top:-5px;left:50%;margin-left:-3px;border-bottom:6px solid #2e3242;border-left:6px solid transparent;border-right:6px solid transparent}.imagify-space-tooltips .tooltip-content{max-width:280px;margin-top:20px;margin-left:0;padding:5px 15px;font-size:13px;background:#40B1D0;-webkit-box-shadow:0 3px 0 #338EA6;box-shadow:0 3px 0 #338EA6}.imagify-space-tooltips .tooltip-content:after{top:-14px;left:50%;margin-left:-7px;border:0;border-bottom:15px solid #40B1D0;border-left:15px solid transparent;border-right:15px solid transparent}.tooltip-content.tooltip-table{display:table;width:100%}.tooltip-content.tooltip-table>*{display:table-cell;vertical-align:middle}.tooltip-content .cell-icon{width:28px}.tooltip-content .cell-icon .icon{margin-bottom:0}.tooltip-content .cell-text{padding:5px 10px 5px 0;line-height:1.3}.tooltip-content .cell-sep{width:1px;background:rgba(255,255,255,.4)}.tooltip-content .cell-cta{padding-left:10px}.tooltip-content .cell-cta a{display:block;color:#FFF;width:100%;height:100%;white-space:nowrap}.imagify-number-you-optimized{margin-bottom:1.35em;overflow:hidden}.imagify-number-you-optimized .number{display:table-cell;padding-right:15px;font-size:48px;font-weight:700;line-height:1;vertical-align:middle;white-space:nowrap;color:#000}.imagify-number-you-optimized [id=imagify-total-optimized-attachments-pct]{color:#40B1D0}.imagify-number-you-optimized .text{display:table-cell;vertical-align:middle;overflow:hidden;font-size:12px;color:#626E7B}.imagify-number-you-optimized>p{display:table}.imagify-bars{padding-right:15px}.imagify-bars p{font-size:12px;margin-bottom:5px}.imagify-bars+.imagify-number-you-optimized{border-bottom:0;padding-top:.85em}.imagify-bars+.imagify-number-you-optimized p{color:#46b1ce}.imagify-bulk-table{margin-top:2em}.imagify-table-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 25px;background:#343A49;color:#FFF}.imagify-newbie{margin-top:4em;position:relative;overflow:visible}.imagify-newbie .imagify-new-feature.imagify-new-feature{position:absolute;top:0;left:25px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:8px 20px;font-size:14px;letter-spacing:.02em;text-transform:uppercase;font-weight:700;color:#FFF;background:#8BC34A}.imagify-newbie .imagify-table-header{padding:30px 25px;border:2px solid #8BC34A;background:#F3F9EC}.imagify-th-titles .dashicons,.imagify-th-titles .dashicons:before{width:38px;height:38px;margin-right:20px;font-size:38px;color:#40B1D0}.imagify-newbie .imagify-th-titles .dashicons:before{color:#8BC34A}.imagify-th-title.imagify-th-title.imagify-th-title{margin:0;font-size:24px;font-weight:500;color:#FFF}.imagify-newbie .imagify-th-title.imagify-th-title{color:#343A49}.imagify-th-subtitle.imagify-th-subtitle.imagify-th-subtitle{margin:0 0 5px;font-size:14px;color:#7A8996;font-weight:500}.imagify-th-action .imagify-button-clean{font-size:12px;color:#7A8996}.imagify-th-action .button:focus,.imagify-th-action .button:hover,.imagify-th-action .imagify-is-active{color:#FFF}.imagify-bulk-table table{width:100%;border-spacing:0;border-collapse:collapse}.imagify-bulk-table td{padding:20px}.imagify-bulk-table-details{border-bottom:2px solid #E5EBEF}.imagify-bulk-table-details thead th,.imagify-bulk-table-details thead tr{background:#4A5362}.imagify-bulk-table-details thead th{padding:12px 20px;text-align:left;font-weight:700;color:#E5EBEF;font-size:12px}.imagify-bulk-table-details tbody tr:nth-child(odd) td{background:#F2F5F7}.imagify-bulk-table-content{border:1px solid #D3D3D3;border-top:0}.imagify-bulk-table-footer{padding:20px;color:#626E7B;background:#F2F5F7}.imagify-bulk-table tbody tr+tr{border-top:3px solid #F2F5F7}.imagify-bulk-table tbody td,.imagify-bulk-table tbody tr{background:#FFF}.imagify-bulk-table .imagify-row-progress{display:none;height:8px;padding:0}.imagify-bulk-table .imagify-no-uploaded-yet td{height:200px;font-size:17px;letter-spacing:.1em;word-spacing:.12em;vertical-align:middle;text-transform:uppercase;font-weight:700;text-align:center;color:#999;background-color:#FFF}.imagify-selector{position:relative}.imagify-selector-list{background:#FFF;border:1px solid #F4F7F9;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.1);border-radius:3px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.imagify-selector-list li:first-child label{border-radius:3px 3px 0 0}.imagify-selector-list li:last-child label{border-radius:0 0 3px 3px}.imagify-selector-list li{margin:0}.imagify-selector-list li+li{border-top:1px solid #F4F7F9}.imagify-selector-list svg{margin-right:5px}.imagify-selector-list .imagify-selector-current-value label,.imagify-selector-list input:checked+label{background:#343A49;color:#FFF}.imagify-selector-list .imagify-selector-current-value input:focus+label,.imagify-selector-list .imagify-selector-current-value label:hover,.imagify-selector-list input:checked+label:hover,.imagify-selector-list input:focus+label,.imagify-selector-list label:hover{background:#40B1D0;color:#F4F7F9}.imagify-selector-list .imagify-selector-current-value input:focus+label polygon,.imagify-selector-list .imagify-selector-current-value label:hover polygon,.imagify-selector-list input:checked+label:hover polygon,.imagify-selector-list input:focus+label polygon,.imagify-selector-list label:hover polygon{fill:#FFF}.imagify-selector-list .imagify-selector-current-value input:focus+label polygon[fill="#CCD1D6"],.imagify-selector-list .imagify-selector-current-value label:hover polygon[fill="#CCD1D6"],.imagify-selector-list input:checked+label:hover polygon[fill="#CCD1D6"],.imagify-selector-list input:focus+label polygon[fill="#CCD1D6"],.imagify-selector-list label:hover polygon[fill="#CCD1D6"]{fill:#3694AE}.imagify-selector-list li label{display:block;padding:10px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-selector-list polygon{-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-selector-list{position:absolute;top:0;left:0;right:0;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.imagify-selector-list[aria-hidden=true]{opacity:0;visibility:hidden;-webkit-transform:translateY(-50%) scale(0);-ms-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}.imagify-selector-list[aria-hidden=false]{opacity:1;visibility:visible;-webkit-transform:translateY(-50%) scale(1);-ms-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}.button .imagify-selector-current-value-info{position:relative;padding-right:20px}.button .imagify-selector-current-value-info:after{content:'';position:absolute;right:0;top:50%;margin-top:-3px;border-top:6px solid #7A8996;border-left:6px solid transparent;border-right:6px solid transparent}.imagify-row-complete{padding:35px 20px;margin-top:2em;background:#8BC34A;color:#FFF;text-shadow:0 0 2px rgba(0,0,0,.1)}.imagify-row-complete .imagify-ac-chart{margin-top:3px}.imagify-row-complete.imagify-row-complete p{color:#FFF;margin:0}@-webkit-keyframes congrate{0%{opacity:0;-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.05);opacity:1}100%{-webkit-transform:scale(1);opacity:1}}@keyframes congrate{0%{opacity:0;-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05);opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.imagify-row-complete.done{-webkit-animation:congrate .5s ease-in-out;animation:congrate .5s ease-in-out}.imagify-all-complete{margin:1.5em 0}.imagify-all-complete>div{display:inline-block;vertical-align:middle}.imagify-ac-report{min-width:310px;margin-right:20px}.imagify-ac-chart{width:46px;height:46px;float:left;margin:0 20px 0 10px}.imagify-ac-report-text{overflow:hidden}.imagify-ac-report-text p{line-height:1.3}.imagify-ac-rt-big{font-weight:700;font-size:24px;letter-spacing:.15em;word-spacing:.15em;text-transform:uppercase}.imagify-ac-share{text-align:right}.imagify-ac-share-content{display:inline-block;padding:10px 15px;background:rgba(255,255,255,.2)}.imagify-ac-share-content>*{display:inline-block;vertical-align:middle}.imagify-bulk-table .imagify-ac-share-content p{margin-right:5px}.imagify-share-networks,.imagify-share-networks li{margin:0}.imagify-share-networks li{display:inline-block}.imagify-share-networks a{display:inline-block;vertical-align:-7px;margin:0 5px;text-decoration:none;color:#FFF}.imagify-cell-checkbox{width:35px}.imagify-cell-checkbox p{margin:0}.imagify-cell-checkbox-loader{display:block;width:27px;height:28px;line-height:0;-webkit-animation:loading 4s infinite linear;animation:loading 4s infinite linear}@-webkit-keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.imagify-cell-checkbox-loader.hidden{display:none;-webkit-animation:none;animation:none}.imagify-cell-label,.imagify-cell-title label{font-size:14px;text-transform:uppercase;letter-spacing:.02em;font-weight:700}.imagify-cell-label{margin-right:10px}.imagify-cell-value{font-size:12px;font-weight:500;color:#7A8996}td.imagify-cell-title{padding-left:0}.imagify-cell-original-size .imagify-cell-label,.imagify-cell-title label{color:#1F2332}.imagify-cell-optimized-size,.imagify-cell-original-size{font-weight:500;color:#7A8996;font-size:12px}.imagify-cell-optimized-size .imagify-cell-label{color:#338EA6}.imagify-cell-count-optimized{font-size:14px;font-weight:700;color:#338EA6}.imagify-cell-count-errors{color:#C51162;font-weight:700;font-size:14px}.imagify-cell-count-errors a{margin-left:5px;color:#7A8996;font-weight:400;font-size:12px}.imagify-cell-filename{max-width:200px}.imagify-cell-status{max-width:145px}.imagify-cell-status .dashicons-warning{margin-right:2px}.imagistatus .dashicons,.imagiuploaded{margin-right:5px}.imagify-cell-thumbnails{max-width:120px}td.imagify-cell-filename{-o-text-overflow:clip;text-overflow:clip;white-space:nowrap;overflow:hidden}.imagify-bulk-table .imagify-cell-thumbnails{text-align:center}.imagify-cell-percentage,.imagify-cell-savings{color:#46B1CE;font-weight:700}.imagify-bulk-table td.imagify-cell-totaloriginal{padding-right:78px}.imagify-cell-totaloriginal{text-align:right}.imagify-cell-level{width:145px}.imagify-selector-button.imagify-selector-button{border:1px solid #FFF;padding:2px 10px}.imagify-selector-button.imagify-selector-button:focus,.imagify-selector-button.imagify-selector-button:hover{border-color:#EEE;-webkit-box-shadow:0 4px 8px rgba(0,0,0,.1);box-shadow:0 4px 8px rgba(0,0,0,.1)}.imagifilename,.imagiuploaded{display:inline-block;vertical-align:middle;margin-left:5px;color:#626E7B;font-weight:500}.imagifilename{font-size:12px}.imagiuploaded{width:33px;height:33px;margin-left:-8px;overflow:hidden;background:url(../images/upload-image.png) no-repeat;background-size:cover}.imagiuploaded img{max-width:100%;height:auto}.imagistatus{color:#8CA6B3;text-transform:uppercase;font-weight:700}.status-compressing{color:#46B1CE}.status-error{color:#CE0B24}.status-warning{color:#f5a623}.status-complete{color:#8CC152}.imagify-bulk-submit{padding:15px 0 8px}.imagify-settings .button-primary.button-primary[disabled]{color:#4A4A4A!important;background:#D9E4EB!important;text-shadow:none!important;cursor:not-allowed}.dashicons.rotate{-webkit-animation:icon-rotate 2.6s infinite linear;animation:icon-rotate 2.6s infinite linear}.imagify-cell-status .dashicons-admin-generic{-webkit-transform-origin:48.75% 51.75%;-ms-transform-origin:48.75% 51.75%;transform-origin:48.75% 51.75%}@-webkit-keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.imagify-col.imagify-col.imagify-account-info-col{width:465px}@media (max-width:1245px){.imagify-col.imagify-col.imagify-account-info-col{width:auto;max-width:none;float:none}.imagify-columns .col-overview.col-overview{float:none;width:auto;padding-left:0;padding-right:0}}@media (max-width:1200px){.imagify-settings .imagify-title .imagify-logo{display:none}}@media (max-width:940px){.imagify-bulk-table-container tbody,.imagify-bulk-table-container tr{text-align:left}.imagify-bulk-table-container tbody,.imagify-bulk-table-container tbody td,.imagify-bulk-table-container tbody tr{display:block}.imagify-bulk-table-container tbody td{padding:20px}.imagify-cell-checkbox,.imagify-cell-title{float:left}.imagify-cell-checkbox{width:26px}.imagify-bulk-table-container .imagify-cell-title{padding-left:10px;width:calc(100% - 96px)}.imagify-cell-count-optimized:before,.imagify-cell-title:after{content:'';display:table;clear:both;width:100%}.imagify-cell-count-optimized{clear:both}.imagify-bulk-table-container .imagify-cell-title~td{display:inline-block}.imagify-bulk-table-container td.imagify-cell-level{display:block}}@media (max-width:918px){.imagify-settings .imagify-title{display:block}.imagify-settings .imagify-documentation-link-box{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}.hidden{display:none}@media (max-width:782px){.imagify-account-info-col .imagify-options-title,.imagify-newbie .imagify-table-header,.imagify-table-header{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-newbie .imagify-th-titles{width:100%}.imagify-newbie .imagify-th-title.imagify-th-title{color:#343A49;font-size:16px;padding-bottom:20px}.imagify-newbie .imagify-th-titles .dashicons,.imagify-newbie .imagify-th-titles .dashicons:before{margin:0}.imagify-newbie .imagify-th-action{display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%}.imagify-newbie .imagify-th-action a{max-width:100%;font-size:11px;padding:11px 12px}.imagify-columns .col-chart.col-chart{text-align:center}.imagify-doughnut-legend{margin-top:18px;width:60%;margin:10px auto}.imagify-account-info-col .imagify-options-title>a{-ms-flex-preferred-size:unset;flex-basis:unset;margin:auto}.imagify-account-info-col p.imagify-meteo-title,.imagify-th-title.imagify-th-title.imagify-th-title{font-size:20px}.imagify-bulk-table-container tbody td{padding:10px}.imagify-col-content .imagify-space-left{width:auto;margin:0 0 15px}}
|
1 |
+
#imagify-overview-chart-legend{overflow:hidden}.imagify-doughnut-legend{margin-top:38px;list-style:none}.imagify-doughnut-legend li{display:block;padding-left:30px;position:relative;margin-bottom:15px;border-radius:5px;padding:3px 8px 2px 31px;font-size:13px;cursor:default;-webkit-transition:background-color .2s ease-in-out;-o-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out}.imagify-doughnut-legend li span{display:block;position:absolute;left:0;top:0;width:25px;height:25px;border-radius:50%}.imagify-global-optim-phrase{width:180px;padding-top:20px;font-size:14px;text-align:center}.imagify-total-percent{color:#46b1ce}.imagify-overview-chart-container{float:left;margin-right:20px}.imagify-chart-percent{position:absolute;left:0;right:0;top:50%;margin-top:-.5em;line-height:1;text-align:center;font-size:55px;font-weight:700;color:#46b1ce}.imagify-chart-percent span{font-size:20px;vertical-align:super}.media_page_imagify-bulk-optimization .media-item,body[class*="_imagify-ngg-bulk-optimization"] .media-item{margin:0}.media_page_imagify-bulk-optimization .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress{float:none;width:100%;height:8px;margin:0;overflow:visible;background:#1f2331;-webkit-box-shadow:0;box-shadow:0;border-radius:0}.media_page_imagify-bulk-optimization .media-item .percent,body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent{position:absolute;top:6px;right:-28px;text-shadow:none;width:auto;padding:0 5px;line-height:1.85;font-size:14px;font-weight:700;color:#40b1d0}.media_page_imagify-bulk-optimization .media-item .percent,.media_page_imagify-bulk-optimization .media-item .progress,body[class*="_imagify-ngg-bulk-optimization"] .media-item .percent,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress{text-align:right}.media_page_imagify-bulk-optimization .media-item .progress .bar,body[class*="_imagify-ngg-bulk-optimization"] .media-item .progress .bar{position:relative;width:1px;height:8px;margin-top:0;background:#46b1ce;border-radius:0;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}#imagify-bulk-action{padding:11px 20px}.imagify-columns .col-overview.col-overview{width:calc(100% - 465px);padding-left:20px}.imagify-columns .col-statistics.col-statistics{width:60%}.imagify-columns .col-chart.col-chart{width:40%}@media (max-width:1520px) and (min-width:1381px),(max-width:1086px){.imagify-columns .col-chart.col-chart,.imagify-columns .col-statistics.col-statistics{width:50%}}@media (max-width:1380px) and (min-width:1246px),(max-width:380px){.imagify-overview-chart-container{float:none;margin-right:0}.imagify-doughnut-legend{margin-top:18px}.imagify-global-optim-phrase{padding-top:0;width:auto}}@media (max-width:808px){.imagify-columns .col-chart.col-chart,.imagify-columns .col-statistics.col-statistics{width:auto;float:none;padding:0}.imagify-columns .col-chart.col-chart{margin-top:3em}}.imagify-sep-v{width:1px;background:rgba(255,255,255,.2)}.base-transparent{background:0 0}[class^=imagify-bar-].right-outside-number{-webkit-box-sizing:border-box;box-sizing:border-box;padding-right:4.5em}.right-outside-number .imagify-barnb{display:block;margin-right:-5.25em;text-align:right;font-weight:700;line-height:.8}.imagify-h2-like{margin:0 0 .5em 0;padding-bottom:.5em;border-bottom:1px solid #e9eff2;font-size:24px;color:#000;font-weight:700}.imagify-h2-like .dashicons,.imagify-h2-like .dashicons:before{font-size:38px;height:38px;width:38px;margin-right:12px;vertical-align:-5px;color:#40b1d0}.imagify-info-block{position:relative;padding:10px;padding-left:42px;background:#d9e4eb;border-radius:4px;line-height:1.6}.imagify-list-infos{margin:0;padding:0}.imagify-list-infos li{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px 5px;text-align:left;font-size:14px;line-height:1.5;color:#626e7b}.imagify-list-infos li:first-child{padding-top:5px}.imagify-list-infos li:last-child{padding-bottom:5px}.imagify-list-infos li+li{border-top:1px solid #e9eff2}.imagify-info-icon{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-ms-flex-preferred-size:50px;flex-basis:50px}.imagify-info-icon+span{padding-left:20px}.imagify-list-infos a:before{content:'';display:block}.imagify-bulk .imagify-settings-section{border:1px solid #d9d9d9;border-top:0;background:#fff;color:#4a4a4a}.imagify-bulk h3,.imagify-bulk li,.imagify-bulk p{color:#4a4a4a}.imagify-bulk .imagify-settings-section h3{margin-bottom:2em}.imagify-account-info-col .imagify-options-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-account-info-col p.imagify-meteo-title{margin:0;font-size:24px;font-weight:700;color:#fff}.imagify-account-info-col .imagify-options-title>a{-ms-flex-preferred-size:100px;flex-basis:100px;margin-left:auto;margin-right:10px;text-decoration:underline;font-size:12px}.imagify-account-info-col .imagify-meteo-title .dashicons,.imagify-account-info-col .imagify-meteo-title .dashicons:before{font-size:38px;width:38px;height:38px;margin-right:4px;color:#40b1d0}.imagify-col-content .imagify-block-secondary{margin-left:-1px;margin-right:-1px}.imagify-col-content .imagify-space-left{margin:15px 30px 15px 0}.imagify-col-content .imagify-space-left p{margin:0 0 10px 0;font-size:19px;font-weight:500;color:#343a49}.imagify-col-content .imagify-meteo-icon{height:64px;margin:15px 15px 15px 20px}.imagify-col-content .imagify-section-title+p{margin-top:10px}.imagify-account-info-col .imagify-h3-like.imagify-h3-like{color:inherit}.imagify-title .imagify-tooltips{position:absolute;top:100%;left:0}.imagify-tooltips .icon-round{float:left;display:inline-block;width:28px;height:28px;border:1px solid #fff;margin-right:8px;margin-bottom:8px;font-size:17px;font-style:italic;line-height:29px;font-weight:700;text-align:center;border-radius:50%}.imagify-tooltips .tooltip-content{display:block;position:relative;max-width:250px;padding:7px 15px 8px;background:#2e3242;color:#fff;font-size:10px;border-radius:3px}.imagify-tooltips.right .tooltip-content{margin-left:12px}.imagify-tooltips.bottom .tooltip-content{margin-top:4px}.imagify-inline-options label .tooltip-content{position:absolute;left:0;right:0;top:100%;text-transform:none;font-size:10px;letter-spacing:0;text-align:center}.imagify-tooltips .tooltip-content:after{content:"";position:absolute}.imagify-tooltips.right .tooltip-content:after{top:16px;left:-6px;border-right:8px solid #2e3242;border-top:6px solid transparent;border-bottom:6px solid transparent}.imagify-tooltips.bottom .tooltip-content:after{top:-5px;left:50%;margin-left:-3px;border-bottom:6px solid #2e3242;border-left:6px solid transparent;border-right:6px solid transparent}.imagify-space-tooltips .tooltip-content{max-width:280px;margin-top:20px;margin-left:0;padding:5px 15px 5px;font-size:13px;background:#40b1d0;-webkit-box-shadow:0 3px 0 #338ea6;box-shadow:0 3px 0 #338ea6}.imagify-space-tooltips .tooltip-content:after{top:-14px;left:50%;margin-left:-7px;border:0 none;border-bottom:15px solid #40b1d0;border-left:15px solid transparent;border-right:15px solid transparent}.tooltip-content.tooltip-table{display:table;width:100%}.tooltip-content.tooltip-table>*{display:table-cell;vertical-align:middle}.tooltip-content .cell-icon{width:28px}.tooltip-content .cell-icon .icon{margin-bottom:0}.tooltip-content .cell-text{padding:5px 10px 5px 0;line-height:1.3}.tooltip-content .cell-sep{width:1px;background:rgba(255,255,255,.4)}.tooltip-content .cell-cta{padding-left:10px}.tooltip-content .cell-cta a{display:block;color:#fff;width:100%;height:100%;white-space:nowrap}.imagify-number-you-optimized{margin-bottom:1.35em;overflow:hidden}.imagify-number-you-optimized .number{display:table-cell;padding-right:15px;font-size:48px;font-weight:700;line-height:1;vertical-align:middle;white-space:nowrap;color:#000}.imagify-number-you-optimized [id=imagify-total-optimized-attachments-pct]{color:#40b1d0}.imagify-number-you-optimized .text{display:table-cell;vertical-align:middle;overflow:hidden;font-size:12px;color:#626e7b}.imagify-number-you-optimized>p{display:table}.imagify-bars{padding-right:15px}.imagify-bars p{font-size:12px;margin-bottom:5px}.imagify-bars+.imagify-number-you-optimized{border-bottom:0;padding-top:.85em}.imagify-bars+.imagify-number-you-optimized p{color:#46b1ce}.imagify-bulk-table{margin-top:2em}.imagify-table-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:15px 25px;background:#343a49;color:#fff}.imagify-newbie{margin-top:4em;position:relative;overflow:visible}.imagify-newbie .imagify-new-feature.imagify-new-feature{position:absolute;top:0;left:25px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);margin:0;padding:8px 20px;font-size:14px;letter-spacing:.02em;text-transform:uppercase;font-weight:700;color:#fff;background:#8bc34a}.imagify-newbie .imagify-table-header{padding:30px 25px;border:2px solid #8bc34a;background:#f3f9ec}.imagify-th-titles .dashicons,.imagify-th-titles .dashicons:before{width:38px;height:38px;margin-right:20px;font-size:38px;color:#40b1d0}.imagify-newbie .imagify-th-titles .dashicons:before{color:#8bc34a}.imagify-th-title.imagify-th-title.imagify-th-title{margin:0;font-size:24px;font-weight:500;color:#fff}.imagify-newbie .imagify-th-title.imagify-th-title{color:#343a49}.imagify-th-subtitle.imagify-th-subtitle.imagify-th-subtitle{margin:0 0 5px;font-size:14px;color:#7a8996;font-weight:500}.imagify-th-action .imagify-button-clean{font-size:12px;color:#7a8996}.imagify-th-action .imagify-is-active{color:#fff}.imagify-th-action .button:focus,.imagify-th-action .button:hover{color:#fff}.imagify-bulk-table table{width:100%;border-spacing:0;border-collapse:collapse}.imagify-bulk-table td{padding:20px}.imagify-bulk-table-details{border-bottom:2px solid #e5ebef}.imagify-bulk-table-details thead th,.imagify-bulk-table-details thead tr{background:#4a5362}.imagify-bulk-table-details thead th{padding:12px 20px;text-align:left;font-weight:700;color:#e5ebef;font-size:12px}.imagify-bulk-table-details tbody tr:nth-child(odd) td{background:#f2f5f7}.imagify-bulk-table-content{border:1px solid #d3d3d3;border-top:0}.imagify-bulk-table-footer{padding:20px;color:#626e7b;background:#f2f5f7}.imagify-bulk-table tbody tr+tr{border-top:3px solid #f2f5f7}.imagify-bulk-table tbody td,.imagify-bulk-table tbody tr{background:#fff}@media (max-width:782px){.imagify-row-folder-type,tr.imagify-row-waiting,tr.imagify-row-working{padding-top:20px}}.imagify-bulk-table .imagify-row-progress{display:none;height:8px;padding:0}.imagify-bulk-table .imagify-no-uploaded-yet td{height:200px;font-size:17px;letter-spacing:.1em;word-spacing:.12em;vertical-align:middle;text-transform:uppercase;font-weight:700;text-align:center;color:#999;background-color:#fff}.imagify-selector{position:relative}.imagify-selector-list{background:#fff;border:1px solid #f4f7f9;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.1);box-shadow:0 6px 12px rgba(0,0,0,.1);border-radius:3px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.imagify-selector-list li:first-child label{border-radius:3px 3px 0 0}.imagify-selector-list li:last-child label{border-radius:0 0 3px 3px}.imagify-selector-list li{margin:0}.imagify-selector-list li+li{border-top:1px solid #f4f7f9}.imagify-selector-list svg{margin-right:5px}.imagify-selector-list .imagify-selector-current-value label,.imagify-selector-list input:checked+label{background:#343a49;color:#fff}.imagify-selector-list .imagify-selector-current-value input:focus+label,.imagify-selector-list .imagify-selector-current-value label:hover,.imagify-selector-list input:checked+label:hover,.imagify-selector-list input:focus+label,.imagify-selector-list label:hover{background:#40b1d0;color:#f4f7f9}.imagify-selector-list .imagify-selector-current-value input:focus+label polygon,.imagify-selector-list .imagify-selector-current-value label:hover polygon,.imagify-selector-list input:checked+label:hover polygon,.imagify-selector-list input:focus+label polygon,.imagify-selector-list label:hover polygon{fill:#FFF}.imagify-selector-list .imagify-selector-current-value input:focus+label polygon[fill="#CCD1D6"],.imagify-selector-list .imagify-selector-current-value label:hover polygon[fill="#CCD1D6"],.imagify-selector-list input:checked+label:hover polygon[fill="#CCD1D6"],.imagify-selector-list input:focus+label polygon[fill="#CCD1D6"],.imagify-selector-list label:hover polygon[fill="#CCD1D6"]{fill:#3694AE}.imagify-selector-list li label{display:block;padding:10px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-selector-list polygon{-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-selector-list{position:absolute;top:0;left:0;right:0;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.imagify-selector-list[aria-hidden=true]{opacity:0;visibility:hidden;-webkit-transform:translateY(-50%) scale(0);-ms-transform:translateY(-50%) scale(0);transform:translateY(-50%) scale(0)}.imagify-selector-list[aria-hidden=false]{opacity:1;visibility:visible;-webkit-transform:translateY(-50%) scale(1);-ms-transform:translateY(-50%) scale(1);transform:translateY(-50%) scale(1)}.button .imagify-selector-current-value-info{position:relative;padding-right:20px}.button .imagify-selector-current-value-info:after{content:'';position:absolute;right:0;top:50%;margin-top:-3px;border-top:6px solid #7a8996;border-left:6px solid transparent;border-right:6px solid transparent}.imagify-row-complete{padding:35px 20px;margin-top:2em;background:#8bc34a;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.1)}.imagify-row-complete .imagify-ac-chart{margin-top:3px}.imagify-row-complete.imagify-row-complete p{color:#fff;margin:0}@-webkit-keyframes congrate{0%{opacity:0;-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.05);opacity:1}100%{-webkit-transform:scale(1);opacity:1}}@keyframes congrate{0%{opacity:0;-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05);opacity:1}100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.imagify-row-complete.done{-webkit-animation:congrate .5s ease-in-out;animation:congrate .5s ease-in-out}.imagify-all-complete{margin:1.5em 0}.imagify-all-complete>div{display:inline-block;vertical-align:middle}.imagify-ac-report{min-width:310px;margin-right:20px}.imagify-ac-chart{width:46px;height:46px;float:left;margin:0 20px 0 10px}.imagify-ac-report-text{overflow:hidden}.imagify-ac-report-text p{line-height:1.3}.imagify-ac-rt-big{font-weight:700;font-size:24px;letter-spacing:.15em;word-spacing:0.15em;text-transform:uppercase}.imagify-ac-share{text-align:right}.imagify-ac-share-content{display:inline-block;padding:10px 15px;background:rgba(255,255,255,.2)}.imagify-ac-share-content>*{display:inline-block;vertical-align:middle}.imagify-bulk-table .imagify-ac-share-content p{margin-right:5px}.imagify-share-networks,.imagify-share-networks li{margin:0}.imagify-share-networks li{display:inline-block}.imagify-share-networks a{display:inline-block;vertical-align:-7px;margin:0 5px;text-decoration:none;color:#fff}.imagify-cell-checkbox{width:35px}.imagify-cell-checkbox p{margin:0}.imagify-cell-checkbox-loader{display:block;width:27px;height:28px;line-height:0;-webkit-animation:loading 4s infinite linear;animation:loading 4s infinite linear}@-webkit-keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.imagify-cell-checkbox-loader.hidden{display:none;-webkit-animation:none;animation:none}.imagify-cell-label,.imagify-cell-title label{font-size:14px;text-transform:uppercase;letter-spacing:.02em;font-weight:700}.imagify-cell-label{margin-right:10px}.imagify-cell-value{font-size:12px;font-weight:500;color:#7a8996}td.imagify-cell-title{padding-left:0}.imagify-cell-original-size .imagify-cell-label,.imagify-cell-title label{color:#1f2332}.imagify-cell-optimized-size,.imagify-cell-original-size{font-weight:500;color:#7a8996;font-size:12px}.imagify-cell-optimized-size .imagify-cell-label{color:#338ea6}.imagify-cell-count-optimized{font-size:14px;font-weight:700;color:#338ea6}.imagify-cell-count-errors{color:#c51162;font-weight:700;font-size:14px}.imagify-cell-count-errors a{margin-left:5px;color:#7a8996;font-weight:400;font-size:12px}.imagify-cell-filename{max-width:200px}.imagify-cell-status{max-width:145px}.imagify-cell-status .dashicons-warning{margin-right:2px}.imagify-cell-thumbnails{max-width:120px}td.imagify-cell-filename{-o-text-overflow:clip;text-overflow:clip;white-space:nowrap;overflow:hidden}.imagify-bulk-table .imagify-cell-thumbnails{text-align:center}.imagify-cell-percentage,.imagify-cell-savings{color:#46b1ce;font-weight:700}.imagify-bulk-table td.imagify-cell-totaloriginal{padding-right:78px}.imagify-cell-totaloriginal{text-align:right}.imagify-cell-level{width:145px}.imagify-selector-button.imagify-selector-button{border:1px solid #fff;padding:2px 10px}.imagify-selector-button.imagify-selector-button:focus,.imagify-selector-button.imagify-selector-button:hover{border-color:#eee;-webkit-box-shadow:0 4px 8px rgba(0,0,0,.1);box-shadow:0 4px 8px rgba(0,0,0,.1)}.imagifilename,.imagiuploaded{display:inline-block;vertical-align:middle;margin-left:5px;color:#626e7b;font-weight:500}.imagifilename{font-size:12px}.imagiuploaded{width:33px;height:33px;margin-right:5px;margin-left:-8px;overflow:hidden;background:url(../images/upload-image.png) 0 0 no-repeat;background-size:cover}.imagiuploaded img{max-width:100%;height:auto}.imagistatus{color:#8ca6b3;text-transform:uppercase;font-weight:700}.imagistatus .dashicons{margin-right:5px}.status-compressing{color:#46b1ce}.status-error{color:#ce0b24}.status-warning{color:#f5a623}.status-complete{color:#8cc152}.imagify-bulk-submit{padding:15px 0 8px 0}.imagify-settings .button-primary.button-primary[disabled]{color:#4a4a4a!important;background:#d9e4eb!important;text-shadow:none!important;cursor:not-allowed}.dashicons.rotate{-webkit-animation:icon-rotate 2.6s infinite linear;animation:icon-rotate 2.6s infinite linear}.imagify-cell-status .dashicons-admin-generic{-webkit-transform-origin:48.75% 51.75%;-ms-transform-origin:48.75% 51.75%;transform-origin:48.75% 51.75%}@-webkit-keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.imagify-col.imagify-col.imagify-account-info-col{width:465px}@media (max-width:1245px){.imagify-col.imagify-col.imagify-account-info-col{width:auto;max-width:none;float:none}.imagify-columns .col-overview.col-overview{float:none;width:auto;padding-left:0;padding-right:0}}@media (max-width:1200px){.imagify-settings .imagify-title .imagify-logo{display:none}}@media (max-width:940px){.imagify-bulk-table-container tbody,.imagify-bulk-table-container tr{text-align:left}.imagify-bulk-table-container tbody,.imagify-bulk-table-container tbody td,.imagify-bulk-table-container tbody tr{display:block}.imagify-bulk-table-container tbody td{padding:20px}.imagify-cell-checkbox,.imagify-cell-title{float:left}.imagify-cell-checkbox{width:26px}.imagify-bulk-table-container .imagify-cell-title{padding-left:10px;width:calc(100% - 96px)}.imagify-cell-count-optimized:before,.imagify-cell-title:after{content:'';display:table;clear:both;width:100%}.imagify-cell-count-optimized{clear:both}.imagify-bulk-table-container .imagify-cell-title~td{display:inline-block}.imagify-bulk-table-container td.imagify-cell-level{display:block}}@media (max-width:918px){.imagify-settings .imagify-title{display:block}.imagify-settings .imagify-documentation-link-box{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}}.hidden{display:none}@media (max-width:782px){.imagify-account-info-col .imagify-options-title,.imagify-newbie .imagify-table-header,.imagify-table-header{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-newbie .imagify-th-titles{width:100%}.imagify-newbie .imagify-th-title.imagify-th-title{color:#343a49;font-size:16px;padding-bottom:20px}.imagify-newbie .imagify-th-titles .dashicons,.imagify-newbie .imagify-th-titles .dashicons:before{margin:0}.imagify-newbie .imagify-th-action{display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%}.imagify-newbie .imagify-th-action a{max-width:100%;font-size:11px;padding:11px 12px}.imagify-columns .col-chart.col-chart{text-align:center}.imagify-doughnut-legend{margin-top:18px;width:60%;margin:10px auto}.imagify-account-info-col .imagify-options-title>a{-ms-flex-preferred-size:unset;flex-basis:unset;margin:auto}.imagify-th-title.imagify-th-title.imagify-th-title{font-size:20px}.imagify-account-info-col p.imagify-meteo-title{font-size:20px}.imagify-bulk-table-container tbody td{padding:10px}.imagify-col-content .imagify-space-left{width:auto;margin:0 0 15px 0}}
|
assets/css/files-list.css
CHANGED
@@ -1,15 +1,24 @@
|
|
1 |
/* Filter block */
|
2 |
.imagify-files-list .wp-filter {
|
3 |
-
padding:
|
4 |
}
|
5 |
.imagify-files-list .filter-items select {
|
6 |
height: auto;
|
7 |
-
padding: 6px;
|
8 |
-
margin
|
|
|
9 |
}
|
10 |
.imagify-files-list .filter-items .button {
|
11 |
height: auto;
|
12 |
padding: 2px 12px 3px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
}
|
14 |
|
15 |
/* Empty table */
|
1 |
/* Filter block */
|
2 |
.imagify-files-list .wp-filter {
|
3 |
+
padding: 0 20px 15px;
|
4 |
}
|
5 |
.imagify-files-list .filter-items select {
|
6 |
height: auto;
|
7 |
+
padding: 2px 20px 3px 6px;
|
8 |
+
margin: 15px 12px 0 0;
|
9 |
+
max-width: 100%;
|
10 |
}
|
11 |
.imagify-files-list .filter-items .button {
|
12 |
height: auto;
|
13 |
padding: 2px 12px 3px;
|
14 |
+
margin-top: 15px;
|
15 |
+
}
|
16 |
+
@media screen and (max-width: 782px) {
|
17 |
+
.imagify-files-list .filter-items .button {
|
18 |
+
margin-bottom: 0;
|
19 |
+
line-height: 2.15384615;
|
20 |
+
padding: 0 12px;
|
21 |
+
}
|
22 |
}
|
23 |
|
24 |
/* Empty table */
|
assets/css/files-list.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.imagify-files-list .wp-filter{padding:
|
1 |
+
.imagify-files-list .wp-filter{padding:0 20px 15px}.imagify-files-list .filter-items select{height:auto;padding:2px 20px 3px 6px;margin:15px 12px 0 0;max-width:100%}.imagify-files-list .filter-items .button{height:auto;padding:2px 12px 3px;margin-top:15px}@media screen and (max-width:782px){.imagify-files-list .filter-items .button{margin-bottom:0;line-height:2.15384615;padding:0 12px}}.imagify-files-list .no-items td{padding:35px;text-align:center;font-size:18px}.imagify-files-list .no-items td a{text-decoration:underline}.imagify-files-list .sortable a{color:#000}.imagify-files-list a{color:#3694ae}.imagify-files-list tbody td,.imagify-files-list tbody th,.imagify-files-list.imagify-files-list tbody .check-column{vertical-align:middle;padding-top:20px;padding-bottom:20px;color:#626e7b}.imagify-files-list .column-title strong{font-weight:400;font-size:14px}.imagify-files-list .column-title strong a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;word-break:break-all;word-wrap:break-word;font-weight:400}.imagify-files-list .filename{font-size:12px;font-weight:700}.imagify-files-list .media-icon{position:relative;width:60px;overflow:hidden;-ms-flex-negative:0;flex-shrink:0}.media-icon .centered{position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.media-icon .centered img{position:absolute;left:0;top:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}table.media .column-title .media-icon.landscape img{max-width:none;width:auto;height:60px}table.media .column-title .media-icon.portrait img{width:60px}.imagify-files-list ul.imagify-datas-list{font-size:11px}.imagify-files-list ul.imagify-datas-list .big{font-size:13px}.imagify-files-list ul.imagify-datas-list span.imagify-chart-value{font-size:12px}.imagify-files-list ul.imagify-datas-list .imagify-chart-container{margin-right:2px}.imagify-files-list ul.imagify-datas-list canvas{width:18px!important;height:18px!important}.imagify-files-list .optimization_level{text-align:center;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.02em}.imagify-files-list .column-optimization_level,.imagify-files-list .column-optimization_level a{text-align:center}.imagify-files-list .column-optimization_level a span{float:none;display:inline-block;vertical-align:middle}.imagify-files-list .column-optimization_level .sorting-indicator{vertical-align:-10px}.imagify-files-list .column-actions .button,.imagify-files-list .column-actions .button-primary{padding:5px 20px;font-size:14px;height:auto}.imagify-files-list .column-actions .button-primary{background:#3694ae;color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none}.imagify-files-list .column-actions a,.status a.button-imagify-refresh-status{display:inline-block;margin:.3em 0;font-size:12px;font-weight:700}.imagify-files-list .imagify-status-already_optimized{font-weight:700;color:#8bc34a}.imagify-files-list .column-actions a .dashicons,.imagify-files-list .column-actions a .dashicons:before,.status a.button-imagify-refresh-status .dashicons,.status a.button-imagify-refresh-status .dashicons:before{margin-right:2px;font-size:17px;height:17px;width:17px}
|
assets/css/notices.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.imagify-plugins-error{overflow:hidden;padding-left:20px;list-style-type:disc}.imagify-plugins-error li{width:300px;line-height:30px}@media (max-width:570px){.imagify-plugins-error li{width:auto}}.imagify-notice-dismiss.notice-dismiss{text-decoration:none}.media_page_imagify-bulk-optimization .notice,.settings_page_imagify .notice,body[class*="_imagify-ngg-bulk-optimization"] .notice{margin-right:20px;margin-left:2px}.imagify-notice .button-mini{padding:2px 10px;font-size:13px}.imagify-notice.imagify-notice{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0;margin:10px 20px 10px 2px;border:0;background:#
|
1 |
+
.imagify-plugins-error{overflow:hidden;padding-left:20px;list-style-type:disc}.imagify-plugins-error li{width:300px;line-height:30px}@media (max-width:570px){.imagify-plugins-error li{width:auto}}.imagify-notice-dismiss.notice-dismiss{text-decoration:none}.media_page_imagify-bulk-optimization .notice,.settings_page_imagify .notice,body[class*="_imagify-ngg-bulk-optimization"] .notice{margin-right:20px;margin-left:2px}.imagify-notice .button-mini{padding:2px 10px;font-size:13px}.imagify-notice.imagify-notice{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;padding:0;margin:10px 20px 10px 2px;border:0 none;background:#4a5362;-webkit-box-shadow:none;box-shadow:none;color:#fff}@media (max-width:782px){.imagify-notice.imagify-notice,.imagify-welcome{margin-right:12px}}@media (max-width:450px){.imagify-notice.imagify-notice{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wrap .imagify-notice{margin:5px 15px 2px;position:relative}.imagify-notice-logo{padding:18px 23px;background:#40b1d0}.imagify-notice-logo .imagify-logo{opacity:1}.imagify-flex-notice-content .imagify-notice-logo{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.updated .imagify-notice-logo{background:#8bc34a}.error .imagify-notice-logo{background:#c51162}.imagify-notice-title{font-size:15px}.imagify-notice-content{padding:5px 23px}.imagify-notice-content.imagify-notice-content p{margin:.65em 0}.imagify-flex-notice-content .imagify-notice-content{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0}.imagify-flex-notice-content .imagify-notice-content>*{padding:10px 20px}.imagify-flex-notice-content .imagify-meteo-icon img{height:100%;margin-top:6px}.imagify-notice-quota [class^=imagify-bar-]{background:#1f2332}.imagify-notice-quota .imagify-space-left p{margin:0}.imagify-flex-notice-content .imagify-notice-content .imagify-notice-quota{padding-right:24px;padding-left:8px;background:#343a49}.imagify-notice a{color:#40b1d0}.imagify-notice a:focus,.imagify-notice a:hover{color:#fee102}.imagify-notice code{background:rgba(0,0,0,.4) none repeat scroll 0 0}.imagify-notice .imagify-rate-us.imagify-rate-us{text-align:left}.imagify-notice .imagify-rate-us .stars{margin:0}.imagify-welcome{margin:30px 20px 0 0}.imagify-welcome .baseline{display:inline-block;margin:.2em 0 0 2em;font-size:17px}.imagify-welcome .imagify-logo{vertical-align:middle}.imagify-welcome-remove{position:absolute;top:50%;right:15px;margin-top:-8px;color:#fff;text-decoration:none}.imagify-columns [class^=col-] img{float:left;margin-right:18px}.imagify-col-content{overflow:hidden}.imagify-col-title{margin:0 0 15px 0;font-size:23px}.counter .imagify-col-title:before{counter-increment:cols;content:counter(cols) ". ";color:#40b1d0}.imagify-col-desc{color:#5f758e;margin-bottom:2em}.imagify-rkt-notice.imagify-rkt-notice{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;-ms-grid-row-align:center;align-items:center;padding:10px 45px 10px 0;border:0 none;-webkit-box-shadow:none;box-shadow:none;color:#fff;background:#1f2332}.media_page_imagify-bulk-optimization .imagify-rkt-notice{margin-left:2px;margin-right:20px}@media (max-width:782px){.media_page_imagify-bulk-optimization .imagify-rkt-notice{margin-left:0;margin-right:12px}}.imagify-rkt-notice .imagify-cross{position:absolute;right:8px;top:50%;width:22px;height:22px;padding:0;margin-top:-11px;background:0 0;color:rgba(255,255,255,.5);text-decoration:none;border-radius:50%;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-rkt-notice .imagify-cross .dashicons{position:relative;top:2px;left:1px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-rkt-notice .imagify-cross:hover{background:#fff}.imagify-rkt-notice .imagify-cross:hover .dashicons{color:#412355}.imagify-rkt-notice .imagify-rkt-coupon,.imagify-rkt-notice .imagify-rkt-cta,.imagify-rkt-notice .imagify-rkt-logo{-ms-flex-negative:0;flex-shrink:0}.imagify-rkt-notice .imagify-rkt-logo{width:150px!important;text-align:center;padding:0 25px 0 30px;line-height:.8}.imagify-rkt-notice .imagify-rkt-msg{width:100%!important;color:#fff;padding:0 15px;font-size:14px;line-height:1.6}.imagify-rkt-notice .imagify-rkt-coupon{width:150px!important;padding:0 15px}.imagify-rkt-notice .imagify-rkt-coupon-code{padding:5px 10px;font-size:23px;font-weight:700;border:1px dashed #f56640;color:#f56640}.imagify-rkt-notice .imagify-rkt-cta{width:250px!important;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:200px;flex-basis:200px}.imagify-rkt-notice .button.button{position:relative;top:-1px;height:auto;font-weight:600;font-size:14px;border:0 none;padding:9px 18px 9px;background:#f56640;-webkit-box-shadow:none;box-shadow:none;text-shadow:none!important}@media (max-width:880px){.imagify-rkt-notice{-ms-flex-wrap:wrap;flex-wrap:wrap}.imagify-rkt-notice .imagify-rkt-cta,.imagify-rkt-notice .imagify-rkt-logo,.imagify-rkt-notice .imagify-rkt-msg{text-align:left;padding:5px 15px}.imagify-cross.imagify-cross{top:8px;margin-top:0}.imagify-rkt-notice .imagify-cross .dashicons{top:1px}}@media (max-width:782px){.imagify-flex-notice-content .imagify-notice-content .imagify-notice-quota{width:100%}.imagify-notice-quota-btn-container{text-align:center;width:100%}.imagify-notice-quota-btn-container .imagify-button{display:inline-block}}
|
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}.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;margin:1em 0}.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;margin-top: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 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}.imagify-options-line{-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}label~.imagify-options-line{display:block;margin:8px 0 20px 40px;font-size:14px}.imagify-options-line+.imagify-info{margin-left:38px}label+.imagify-info{margin-top:10px}.imagify-options-line+.imagify-info+.imagify-options-line{margin-top:20px}.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,:checked+label~.imagify-options-line :checked+label~.imagify-options-line .imagify-faded{opacity:.5}.imagify-settings.imagify-settings :not(:checked)+label~.imagify-options-line :not(:checked)+label~.imagify-options-line,.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-radio-group+.imagify-options-line{display:block;margin:0 0 0 1.7em;font-size:14px}.imagify-checkbox-marged{max-width:500px;margin-left:45px}.imagify-settings [type=text],.imagify-settings [type=number]{width:20em;max-width:100%;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-settings [type=number]{width:5em}.imagify-settings ::-webkit-input-placeholder{color:#B1B1B1;font-weight:400}.imagify-settings ::-moz-placeholder{color:#B1B1B1;font-weight:400;opacity:1}.imagify-settings :-ms-input-placeholder{color:#B1B1B1;font-weight:400}.imagify-settings :-moz-placeholder{color:#B1B1B1;font-weight:400;opacity:1}.imagify-settings ::-ms-input-placeholder{color:#B1B1B1;font-weight:400}.imagify-settings ::placeholder{color:#B1B1B1;font-weight:400}.imagify-menu-bar-img{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;width:350px;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-settings .imagify-button-mini{padding:4px 13px 4px 10px}.imagify-settings .imagify-button-mini .dashicons-plus{vertical-align:-7.5px}.imagify-settings .imagify-button-mini.imagify-button-primary:focus,.imagify-settings .imagify-button-mini.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:first-child,.imagify-empty-folder{margin-top:-.5em}.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+.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-settings .progress{height:8px;margin-top:1em;background:#343A49}.imagify-settings .bar{position:relative;width:1px;height:8px;background:#46B1CE;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}.imagify-settings .percent{position:absolute;top:6px;right:0;padding:0 5px;line-height:1.85;font-size:14px;font-weight:700;color:#40B1D0}.dashicons.rotate{-webkit-animation:icon-rotate 2.6s infinite linear;animation:icon-rotate 2.6s infinite linear}@-webkit-keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.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 em{font-size:12px;font-weight:500;color:#A2AFBC}@media (max-width:782px){.imagify-settings.imagify-have-rocket{margin-right:10px}.imagify-visual-label,label+.imagify-info{max-width:calc(100% - 65px);padding-right:0}.imagify-options-title{font-size:22px}.imagify-user-plan-label{margin-right:-5px}.imagify-col.imagify-main{width:100%;padding-right:10px}.imagify-col+.imagify-col{padding:0 10px 0 0}.imagify-no-api-key .imagify-api-line input[type=text]{margin-left:0}}@media (max-width:513px){.imagify-setting-optim-level .imagify-visual-comparison-text{margin-top:20px}}
|
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 0;padding:2em 0 0}.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 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;margin:1em 0}.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}.imagify-setting-optim-level{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;margin-top: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 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}.imagify-options-line{-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}label~.imagify-options-line{display:block;margin:8px 0 20px 40px;font-size:14px}.imagify-options-line+.imagify-info{margin-left:38px}label+.imagify-info{margin-top:10px}.imagify-options-line+.imagify-info+.imagify-options-line{margin-top:20px}.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,:checked+label~.imagify-options-line :checked+label~.imagify-options-line .imagify-faded{opacity:.5}.imagify-settings.imagify-settings :not(:checked)+label~.imagify-options-line :not(:checked)+label~.imagify-options-line,.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-radio-group+.imagify-options-line{display:block;margin:0 0 0 1.7em;font-size:14px}.imagify-checkbox-marged{max-width:500px;margin-left:45px}.imagify-settings [type=number],.imagify-settings [type=text]{width:20em;max-width:100%;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-settings [type=number]{width:5em}.imagify-settings ::-webkit-input-placeholder{color:#b1b1b1;font-weight:400}.imagify-settings ::-moz-placeholder{color:#b1b1b1;font-weight:400;opacity:1}.imagify-settings :-ms-input-placeholder{color:#b1b1b1;font-weight:400}.imagify-settings :-moz-placeholder{color:#b1b1b1;font-weight:400;opacity:1}.imagify-settings ::-ms-input-placeholder{color:#b1b1b1;font-weight:400}.imagify-settings ::placeholder{color:#b1b1b1;font-weight:400}.imagify-menu-bar-img{-webkit-box-sizing:border-box;box-sizing:border-box;max-width:100%;width:350px;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}.imagify-sidebar-section+.imagify-sidebar-section{margin-top:2em}@media (max-width:820px){.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-main{width:auto;float:none}.imagify-sidebar{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;float:none;width:auto;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-section{position:relative;padding:10px 20px;text-align:center;color:#f2f2f2}.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:0.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 0;border:2px dashed #f56640;border-radius:3px;font-size:18px;font-weight:700;color:#f56640}.imagify-rocket-cta-promo strong{color:#f2f2f2}a.btn-rocket{display:block;font-size:15px;padding:10px 12px;margin:0 0 1.5em;background:#f56640;border-radius:3px;color:#f2f2f2;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 0;border-bottom:1px solid #d2d3d6;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-weight:700}.imagify-settings .imagify-button-mini{padding:4px 13px 4px 10px}.imagify-settings .imagify-button-mini .dashicons-plus{vertical-align:-7.5px}.imagify-settings .imagify-button-mini.imagify-button-primary:focus,.imagify-settings .imagify-button-mini.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-settings .progress{height:8px;margin-top:1em;background:#343a49}.imagify-settings .bar{position:relative;width:1px;height:8px;background:#46b1ce;-webkit-transition:width .5s;-o-transition:width .5s;transition:width .5s}.imagify-settings .percent{position:absolute;top:6px;right:0;padding:0 5px;line-height:1.85;font-size:14px;font-weight:700;color:#40b1d0}.dashicons.rotate{-webkit-animation:icon-rotate 2.6s infinite linear;animation:icon-rotate 2.6s infinite linear}@-webkit-keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-rotate{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.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 0;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:0.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}@media (max-width:782px){.imagify-settings.imagify-have-rocket{margin-right:10px}.imagify-visual-label,label+.imagify-info{max-width:calc(100% - 65px);padding-right:0}.imagify-options-title{font-size:22px}.imagify-user-plan-label{margin-right:-5px}.imagify-col.imagify-main{width:100%;padding-right:10px}.imagify-col+.imagify-col{padding:0 10px 0 0}.imagify-no-api-key .imagify-api-line input[type=text]{margin-left:0}}@media (max-width:513px){.imagify-setting-optim-level .imagify-visual-comparison-text{margin-top:20px}}
|
assets/css/pricing-modal.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.imagify-border-styled,.imagify-flex-table,.imagify-modal-cols,.imagify-offer-header,.imagify-payment-modal .imagify-modal-content,.imagify-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.imagify-border-styled,.imagify-modal-cols{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-payment-modal{text-align:center;color:#7A8996}.imagify-payment-modal *{-webkit-box-sizing:border-box;box-sizing:border-box}.imagify-modal-loader{position:absolute;top:0;left:0;right:0;bottom:0;background:url(../images/loader-balls.svg) center no-repeat #fff;z-index:10}.imagify-payment-modal .imagify-modal-content{width:980px;max-width:100%;min-width:925px;padding:0}.imagify-modal-content.imagify-iframe-viewing{width:980px;height:672px;overflow:hidden}.imagify-iframe-viewing #imagify-payment-process-view{width:980px;height:668px}.imagify-payment-modal .imagify-modal-main{width:70%}.imagify-iframe-viewing .imagify-modal-main{width:auto}.imagify-payment-modal .imagify-modal-content.imagify-success-viewing{min-width:auto;width:450px;min-height:300px}.imagify-success-viewing .imagify-modal-main{width:100%}.imagify-payment-modal .imagify-modal-sidebar{width:30%;padding:15px 20px;background:#1F2332;color:#FFF}.imagify-modal-content.imagify-iframe-viewing .imagify-modal-sidebar,.imagify-modal-content.imagify-success-viewing .imagify-modal-sidebar{display:none}.imagify-modal-section{padding:0 25px}.imagify-modal-section.section-gray{margin:0 0 1em;padding:10px 25px 15px;background:#F6F7FB}.imagify-tabs-contents .section-gray{padding:8px 25px 10px}.imagify-modal-section .imagify-modal-title:first-child{margin-top:1em;margin-bottom:1.5em}.imagify-modal-section.section-gray .imagify-modal-title{margin-top:.5em;margin-bottom:.5em}.imagify-modal-title{font-size:1.8em}.imagify-modal-title .imagify-inner-sub-title{display:block;font-size:.56em}.imagify-analyzing .imagify-numbers-calc,.imagify-modal-section .imagify-loader,.imagify-modal-section.imagify-analyzing .imagify-modal-cols,.imagify-numbers-notcalc{display:none}.imagify-analyzing .imagify-numbers-notcalc,.imagify-modal-section.imagify-analyzing .imagify-loader{display:block}.imagify-modal-section .imagify-loader{margin:2em auto}.imagify-border-styled{width:200px;margin:0 auto;color:#8BC34A;font-weight:700;font-size:.925em}.imagify-big-number,.imagify-payment-modal strong{font-weight:700;color:#4A4A4A}.imagify-border-styled:after,.imagify-border-styled:before{content:"";height:1px;background:rgba(0,0,0,.1);-ms-flex-preferred-size:40px;flex-basis:40px}.imagify-border-styled:before{margin-right:5px}.imagify-border-styled:after{margin-left:5px}.imagify-big-number{font-size:3.7em;margin:-3px 0;line-height:1}.imagify-popin-message{padding:5px 15px;text-align:left}.imagify-popin-message.imagify-error p{color:#FFF}.imagify-small-options{width:300px;margin:1em auto .5em;background:#338EA6;border-radius:4px}.imagify-small-options input[type=radio]:checked+label,.imagify-small-options input[type=radio]:not(:checked)+label{padding:8px 10px;font-size:13px;color:#FFF;-webkit-box-shadow:none;box-shadow:none;border-left:0}.imagify-small-options input[type=radio]:not(:checked)+label{background:#338EA6;color:rgba(255,255,255,.4)}.imagify-small-options input[type=radio]:checked+label{background:#40B1D0}.imagify-cols:after{content:"";display:table;clear:both}.js .imagify-iframe-viewing .close-btn{display:none}.imagify-modal .imagify-cols{padding:0 20px}.imagify-payment-modal .imagify-iconed{margin:1.5em 5em 1.5em 0}.imagify-iconed{position:relative;text-align:left;padding-left:42px;margin-right:15px;font-weight:500}.imagify-iconed .dashicons,.imagify-iconed .icon{position:absolute;font-size:2em;left:0;top:2px;color:#40B1D0}.imagify-payment-modal .close-btn{top:10px;right:10px;width:24px;height:24px;padding:2px 0 0 4.5px;color:#FFF;background:#40B1D0;border-radius:50%;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-payment-modal .close-btn i{margin-left:-3.5px;margin-top:-.5px}.imagify-payment-modal .close-btn:hover{background:#F6F7FB}.imagify-offer-line{margin-top:1.5em}.imagify-offer-line+.imagify-offer-line{margin-top:.75em}.imagify-offer-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0 0 15px;border-radius:4px 4px 0 0;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-offer-header.imagify-offer-header.imagify-offer-header .imagify-inline-options label:last-child{border-radius:0 4px 0 0}.imagify-offer-header .imagify-inline-options{width:auto}.imagify-offer-title{font-weight:700;margin:0}.imagify-offer-header,.imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{background:#E5EBEF}.imagify-offer-onetime .imagify-offer-header{padding-top:8px;padding-bottom:8px}.imagify-offer-onetimes>div{padding-top:15px;padding-bottom:15px}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label,.imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{position:relative;padding:7px 30px;font-size:1em;letter-spacing:.05em;color:inherit;-webkit-box-shadow:0 0 0;box-shadow:0 0 0;border-radius:0}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label{background:#F6F7FB}.imagify-2-free{position:absolute;bottom:100%;left:0;right:0;padding:2px 10px;margin-bottom:8px;font-size:.8em;letter-spacing:0;text-transform:none;text-align:center;color:#FFF;background:#10121A;border-radius:2px}.imagify-2-free:after{content:"";position:absolute;left:50%;bottom:-3px;margin-left:-3px;border-top:3px solid #10121A;border-left:3px solid transparent;border-right:3px solid transparent}.imagify-2-free.imagify-b-right{bottom:auto;left:100%;right:-100%;margin-bottom:0;margin-left:8px}.imagify-2-free.imagify-b-right:after{left:-3px;bottom:auto;top:50%;margin-top:-3px;margin-left:0;border-right:3px solid #10121A;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:0}.imagify-2-free.imagify-b-bottom{bottom:-100%;left:0;right:0;margin-top:8px}.imagify-2-free.imagify-b-bottom:after{top:-3px;bottom:auto;border-bottom:3px solid #10121A;border-left:3px solid transparent;border-right:3px solid transparent;border-top:0}.imagify-offer-content{text-align:left;background:#F6F7FB;border-radius:0 0 4px 4px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-offer-onetime .imagify-offer-content{padding:10px 0}div.imagify-col-checkbox{position:relative;width:25.5%;padding-top:10px;padding-bottom:7px}.imagify-col-checkbox label{display:block;padding-left:55px!important}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked){position:absolute;top:50%;left:6px;margin:-8px 0 0}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked+label:before,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked)+label:before{margin:0;top:-2px;left:6px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-offer-by,.imagify-offer-size{-webkit-transition:all .275s;-o-transition:all .275s}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked)+label:after{top:1px;left:13px}.imagify-offer-size{font-size:30px;color:#2E3243;font-weight:700;transition:all .275s}.imagify-offer-by{font-size:10px;transition:all .275s}.imagify-approx{display:none;font-size:11px;line-height:1.2;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}div.imagify-col-price{width:35%}.imagify-flex-table .imagify-price-block{padding-left:0;padding-right:0}.imagify-offer-monthlies .imagify-price-block,.imagify-offer-monthly .imagify-flex-table .imagify-price-block{padding-top:0}.imagify-flex-table .imagify-price-complement{padding-right:0;font-size:10px;font-weight:700}.imagify-price-block,.imagify-price-discount{white-space:nowrap}.imagify-price-block span,.imagify-price-discount span{display:inline-block;vertical-align:middle}.imagify-price-discount.imagify-price-discount{position:relative;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-top:15px;font-weight:700;width:70px}.imagify-price-discount:before{content:"";position:absolute;top:25px;width:62%;height:2px;background:#2E3243;-webkit-transform:rotate(-15deg);-ms-transform:rotate(-15deg);transform:rotate(-15deg)}.imagify-offer-onetimes .imagify-price-discount:before{width:100%}.imagify-price-discount-dollar{color:#2E3243}.imagify-price-discount-number{color:#8BA6B4}.imagify-offer-selected .imagify-price-discount-number{color:#FFF}span.imagify-dollars{color:#1F2332;font-size:18px;font-weight:700;vertical-align:-2px}.imagify-offer-onetime .imagify-col-price{padding-top:0}.imagify-offer-onetime .imagify-dollars{vertical-align:-1px}.imagify-price-big,.imagify-price-mini{color:#40B1D0;font-weight:700}.imagify-price-big{font-size:36px}span.imagify-price-mini{font-size:18px;vertical-align:2px}span.imagify-price-by{font-size:10px;color:#1F2332;vertical-align:-13px;text-indent:-27px}.imagify-offer-selected,.imagify-offer-selected .imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-offer-selected .imagify-checkbox.imagify-checkbox:not(:checked)+label:after,.imagify-offer-selected .imagify-col-other-actions a,.imagify-offer-selected .imagify-offer-size,.imagify-offer-selected .imagify-offer-title,.imagify-offer-selected .imagify-price-big,.imagify-offer-selected .imagify-price-complement,.imagify-offer-selected .imagify-price-mini{color:#FFF}.imagify-col-other-actions{width:18.5%;text-align:right}.imagify-col-other-actions a{font-size:11px}.imagify-offer-selected .imagify-offer-header,.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{background:#338EA6}.imagify-offer-selected .imagify-offer-content,.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type=radio]:checked+label{background:#40B1D0}.imagify-offer-selected .imagify-checkbox.imagify-checkbox:checked+label:before,.imagify-offer-selected .imagify-checkbox.imagify-checkbox:not(:checked)+label:before{border-color:#FFF;background:#40B1D0}.imagify-offer-selected .imagify-offer-by{color:#2E3243}.imagify-enough-free .imagify-not-enough-title,.imagify-enough-title{display:none}.imagify-enough-free .imagify-enough-title{display:block}.imagify-submit-line{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;margin:2em 0;text-align:left}.imagify-coupon-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-coupon-section p{margin:0;line-height:1.3}.imagify-coupon-text{width:200px;max-width:100%;padding-right:15px}.imagify-coupon-loader{display:none}.imagify-coupon-text.checking{text-align:right}.imagify-coupon-text.checking .imagify-coupon-loader{display:inline}.imagify-coupon-text.checking label{display:none}.imagify-coupon-input{position:relative}.imagify-coupon-input input{position:relative;z-index:1}[id=imagify-coupon-validate].button-secondary{position:absolute;top:1px;right:3px;bottom:2px;-webkit-box-shadow:none;box-shadow:none;padding:4px 10px;z-index:0;-webkit-transition:-webkit-transform .275s;-o-transition:transform .275s;transition:transform .275s;transition:transform .275s,-webkit-transform .275s}.imagify-canbe-validate [id=imagify-coupon-validate]{-webkit-transform:translateX(45px);-ms-transform:translateX(45px);transform:translateX(45px)}.imagify-modal-section+.imagify-modal-promotion{margin-top:-1em}.imagify-modal-promotion{position:relative;overflow:hidden;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px 25px;background:#604D90;text-shadow:0 0 3px rgba(0,0,0,.3)}.imagify-modal-promotion.active{display:-webkit-box;display:-ms-flexbox;display:flex}[id=imagify-pricing-tab-onetime] .imagify-modal-promotion{margin-bottom:4em}.imagify-modal-promotion:before{content:"\f488";position:absolute;top:28px;left:8%;font-family:dashicons;font-size:90px;color:#8476A9;text-shadow:none}.imagify-modal-promotion p{position:relative;margin:.2em 0;color:#FFF}.imagify-promo-title{-ms-flex-preferred-size:100%;flex-basis:100%;text-transform:uppercase;font-size:20px;font-weight:700;letter-spacing:.125em}.imagify-until-date{-ms-flex-preferred-size:200px;flex-basis:200px;text-align:right}.imagify-until-date strong{color:#FFF}.imagify-submit-line button{font-size:16px}input.imagify-coupon-code{padding:10px;border:2px solid #7A8996;font-size:.875em;font-weight:700;border-radius:3px}.validated.imagify-coupon-section .imagify-coupon-text,.validated.imagify-coupon-section strong{color:#8BC34A}.validated.imagify-coupon-section .imagify-coupon-code{color:#8BC34A;border-color:#8BC34A}.invalid.imagify-coupon-section .imagify-coupon-text,.invalid.imagify-coupon-section strong{color:#d0021b}.invalid.imagify-coupon-section .imagify-coupon-code{color:#d0021b;border-color:#d0021b}.imagify-footer-lines{width:500px;max-width:100%;margin:2em auto 2.5em;font-size:.85em;line-height:1.5}.imagify-year-selected .imagify-switch-my .imagify-yearly{display:block}.imagify-month-selected .imagify-switch-my .imagify-yearly,.imagify-year-selected .imagify-switch-my .imagify-monthly{display:none}.imagify-month-selected .imagify-switch-my .imagify-monthly{display:block}.imagify-flex-table{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-flex-table>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:7px 15px}div.imagify-col-details{width:22%;padding-left:25px}.imagify-col-details p{margin:0}.imagify-pricing-table{margin:0 20px}.imagify-pricing-table .imagify-offer-line{padding:.6em 0;border:2px solid #E8EEF0;text-align:left;border-radius:3px}.imagify-pricing-table .imagify-offer-line:first-child{margin-top:.75em}.imagify-pricing-table .imagify-offer-line.imagify-offer-selected:first-child{margin-top:1.75em}.imagify-pricing-table .imagify-offer-line+.imagify-offer-line{margin-top:-2px}.imagify-pricing-table .imagify-col-other-actions{width:20.5%}.imagify-pricing-table .imagify-approx{margin-left:0;line-height:.5;margin-bottom:1em}.imagify-pricing-table .imagify-offer-selected{-webkit-transform:scale(1.03);-ms-transform:scale(1.03);transform:scale(1.03);background:#40B1D0;border-width:0}.imagify-pricing-table .imagify-offer-selected .imagify-approx{color:#FFF}.imagify-pricing-table .imagify-button-secondary{padding:3px 20px;-webkit-box-shadow:none;box-shadow:none;text-transform:uppercase;font-size:12px;letter-spacing:.025em}.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary{border:2px solid #FFF;background:#40B1D0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none!important}.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:focus,.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:hover{background:#FFF;color:#40B1D0}.imagify-col .imagify-special-needs{margin-left:25px}.imagify-special-needs strong{font-size:25px;font-weight:700;color:#40B1D0}.imagify-special-needs span{display:block;font-size:12px;margin-top:-.5em}div.imagify-col-price{position:relative}.imagify-recommend{display:none;position:absolute;left:-20px;bottom:100%;padding:0;margin-bottom:8px;color:#1F2332;font-weight:700;font-style:italic}.imagify-offer-selected .imagify-recommend,.imagify-tab a,.imagify-tab-content.imagify-current{display:block}[class*=imagify-onetime-] .imagify-recommend{left:65px;margin-bottom:20px}.imagify-recommend:before{content:"";position:absolute;top:7px;left:-35px;width:29px;height:30px;background:url(../images/icon-arrow-choice.png) 0 no-repeat;background-size:contain}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.imagify-recommend:before{background-image:url(../images/icon-arrow-choice.svg)}}.imagify-offer-line[class*=imagify-onetime-]{padding:0;margin:.3em 0 0}.imagify-offer-line.imagify-offer-line[class*=imagify-onetime-]:first-child{margin-top:2em}.imagify-offer-line[class*=imagify-onetime-]+.imagify-offer-line{margin-top:.5em}.imagify-offer-selected.imagify-offer-line[class*=imagify-onetime-]{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);border-width:2px}.imagify-offer-line[class*=imagify-onetime-] .imagify-col-details{position:relative;overflow:hidden;width:21%;background:#1F2332;color:#FFF}.imagify-offer-selected.imagify-offer-line[class*=imagify-onetime-] .imagify-col-details{background:#338EA6}.imagify-offer-line[class*=imagify-onetime-] .imagify-col-details:before{content:"";position:absolute;bottom:0;right:25px;width:75px;height:54px;background:url(../images/icon-pack.png)}.imagify-offer-line[class*=imagify-onetime-] .imagify-col-other-actions{width:30%}.imagify-offer-line[class*=imagify-onetime-] .imagify-approx,.imagify-offer-line[class*=imagify-onetime-] .imagify-offer-size{color:#FFF}.imagify-offer-line[class*=imagify-onetime-] .imagify-offer-size{font-size:24px}.imagify-offer-line[class*=imagify-onetime-] .imagify-approx{font-size:12px}.imagify-offer-line[class*=imagify-onetime-] .imagify-price-block{padding-left:10px}.imagify-offer-line[class*=imagify-onetime-] .imagify-dollars{vertical-align:middle}.imagify-offer-line[class*=imagify-onetime-] .imagify-price-big{vertical-align:-5px}.imagify-offer-line[class*=imagify-onetime-] .imagify-price-mini{vertical-align:7px}.imagify-tabs{margin-bottom:0;list-style:none;background:#E5EBEF}.imagify-modal-content .imagify-tabs{margin:1em 0 0}.imagify-tab{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:50%;margin:0;font-size:23px}.imagify-tab a{padding:15px 10px;color:inherit;text-decoration:none}.imagify-tab a:focus{-webkit-box-shadow:none;box-shadow:none;outline:0;color:#40B1D8}.imagify-tab.imagify-current a{background:#F6F7FB}.imagify-tab-content{display:none}.imagify-tab-content .imagify-modal-section:first-child{margin-top:0}.imagify-modal-sidebar-content,.imagify-payment-modal .imagify-modal-sidebar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.imagify-modal-sidebar-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}p.imagify-modal-sidebar-title.imagify-modal-sidebar-title{margin-top:5px;padding-right:40px;font-size:18px;color:#FFF}.imagify-modal-testimony{margin-top:1em}.imagify-modal-testimony+.imagify-modal-testimony{margin-top:2em}@media (max-height:620px){.imagify-modal-testimony+.imagify-modal-testimony{display:none}}.imagify-modal-testimony-person{display:table;width:100%}.imagify-modal-testimony-person>*{display:table-cell;vertical-align:middle}.imagify-modal-avatar{width:114px;line-height:0}.imagify-modal-avatar img{border:2px solid #FFF;border-radius:50%;width:96px;height:96px}.imagify-modal-identity a{text-decoration:none;font-weight:700}.imagify-modal-identity a:first-child{font-size:13px}.imagify-modal-identity a:first-child+a{display:block;font-size:10px;color:#7A8996}.imagify-modal-testimony-content.imagify-modal-testimony-content p{font-size:13px;font-style:italic;line-height:1.7;color:#7A8996}.imagify-modal-sidebar-trust{margin-top:auto;padding-top:1.5em}.imagify-modal-sidebar-trust p{margin:0;font-weight:700;font-size:12px;line-height:1.7}.imagify-modal-sidebar-trust p img{margin-right:3px;vertical-align:-2px}.imagify-modal-sidebar-trust p+p{font-size:11px}.imagify-cart{text-align:left}.imagify-cart .imagify-cart-list{border-top:1px solid rgba(122,137,150,.2);border-bottom:1px solid rgba(122,137,150,.2)}.imagify-cart .imagify-cart-label{margin-bottom:.5em;font-size:10px;color:#2E3243}.imagify-cart-list p{margin:0;font-weight:700}.imagify-cart-item{margin:.4em 0}.imagify-cart .imagify-cart-suggestion{margin-top:-.3em}.imagify-cart-suggestion a,.imagify-cl-description p{font-size:10px}.imagify-remove-from-cart{border:0;padding:0;width:14px;height:14px;line-height:13px;border-radius:50%;background:#40B1D0;cursor:pointer;-webkit-transition:background .3s;-o-transition:background .3s;transition:background .3s}.imagify-remove-from-cart i:before{position:relative;top:-6px;left:-3px;font-size:13px;color:#FFF}.imagify-remove-from-cart:focus,.imagify-remove-from-cart:hover{background:#D0021B}.imagify-cart .imagify-cl-remove{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:45px}.imagify-cart .imagify-cl-name{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:200px}.imagify-cart .imagify-cl-description{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding-top:10px}.imagify-cart .imagify-cl-price{text-align:right}#imagify-payment-iframe{width:980px;height:672px;background:url(../images/loader-balls.svg) 50% 50% no-repeat #f6f7fb}.imagify-success-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.imagify-success-view p{font-weight:700;font-size:16px}.imagify-cart-emptied-item{margin:.3em auto;padding:6px 20px;background:#E6EBEF;border-radius:20px}.imagify-cart-emptied-item.imagify-cart-emptied-item p{font-weight:700}.imagify-cart-emptied-item a{color:#40b1d0;float:right;font-weight:700}@media (max-width:782px){.imagify-payment-modal .imagify-modal-content,.imagify-submit-line{-ms-flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical}.imagify-payment-modal .imagify-modal-content{width:90%;min-width:auto;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-payment-modal .imagify-modal-main,.imagify-payment-modal .imagify-modal-sidebar{width:100%}.imagify-modal-section.section-gray{padding:10px 10px 15px}.imagify-modal-section{padding:0 10px}.imagify-submit-line{flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-coupon-section,.imagify-modal-cols{-ms-flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical}.imagify-coupon-section{flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.imagify-coupon-section .imagify-coupon-text{text-align:center;width:100%;padding:0;margin-bottom:20px}.imagify-modal-cols{flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-col{padding:0;float:none;width:100%}.imagify-payment-modal .imagify-iconed{margin:1.5em auto;max-width:260px}.imagify-offer-header{padding:0}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label,.imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{padding:7px 15px}.imagify-offer-header .imagify-offer-title.imagify-switch-my .imagify-monthly,.imagify-offer-header .imagify-offer-title.imagify-switch-my .imagify-yearly{padding:10px 5px;font-size:12px}.imagify-offer-size{font-size:18px}.imagify-col-other-actions{padding:10px;text-align:center}.imagify-2-free{padding:2px 5px}.imagify-2-free.imagify-b-right{position:absolute;bottom:100%;left:0;right:0;padding:2px 5px;margin-bottom:0;margin-left:0;font-size:.8em;letter-spacing:0;text-transform:none;text-align:center;color:#FFF;background:#10121A;border-radius:2px}.imagify-2-free.imagify-b-right:after{content:"";position:absolute;left:50%;top:unset;bottom:-6px;margin-left:-3px;border-top:3px solid #10121A;border-left:3px solid transparent;border-right:3px solid transparent}div.imagify-col-price{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-flex-table .imagify-price-complement{padding:5px 0 0;margin:0;text-align:center}div.imagify-col-details{padding:10px 0 10px 10px}.imagify-pricing-table .imagify-col-other-actions{padding:0 10px 0 0}.imagify-pricing-table .imagify-button-secondary{font-size:12px;white-space:normal;line-height:14px;padding:10px}.imagify-price-big{font-size:24px}span.imagify-price-mini{font-size:12px}.imagify-col-checkbox label{padding-left:30px!important}.medium.imagify-checkbox:checked+label:before,.medium.imagify-checkbox:not(:checked)+label:before{width:15px;height:15px}.imagify-offer-monthlies .imagify-price-block,.imagify-offer-monthly .imagify-flex-table .imagify-price-block,div.imagify-col-checkbox{padding:0}.imagify-pricing-table{margin:0 .5em}.imagify-payment-modal .close-btn{top:5px;right:5px}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked)+label:after{top:-1px;left:10px}}
|
1 |
+
.imagify-border-styled,.imagify-flex-table,.imagify-modal-cols,.imagify-offer-header,.imagify-payment-modal .imagify-modal-content,.imagify-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.imagify-border-styled,.imagify-modal-cols{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-payment-modal{text-align:center;color:#7a8996}.imagify-payment-modal *{-webkit-box-sizing:border-box;box-sizing:border-box}.imagify-modal-loader{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff url('../images/loader-balls.svg') center no-repeat;z-index:10}.imagify-payment-modal .imagify-modal-content{width:980px;max-width:100%;min-width:925px;padding:0}.imagify-modal-content.imagify-iframe-viewing{width:980px;height:672px;overflow:hidden}.imagify-iframe-viewing #imagify-payment-process-view{width:980px;height:668px}.imagify-payment-modal .imagify-modal-main{width:70%}.imagify-iframe-viewing .imagify-modal-main{width:auto}.imagify-payment-modal .imagify-modal-content.imagify-success-viewing{min-width:auto;width:450px;min-height:300px}.imagify-success-viewing .imagify-modal-main{width:100%}.imagify-payment-modal .imagify-modal-sidebar{width:30%;padding:15px 20px;background:#1f2332;color:#fff}.imagify-modal-content.imagify-iframe-viewing .imagify-modal-sidebar,.imagify-modal-content.imagify-success-viewing .imagify-modal-sidebar{display:none}.imagify-modal-section{padding:0 25px}.imagify-modal-section.section-gray{margin:0 0 1em;padding:10px 25px 15px;background:#f6f7fb}.imagify-tabs-contents .section-gray{padding:8px 25px 10px}.imagify-modal-section .imagify-modal-title:first-child{margin-top:1em;margin-bottom:1.5em}.imagify-modal-section.section-gray .imagify-modal-title{margin-top:.5em;margin-bottom:.5em}.imagify-modal-title{font-size:1.8em}.imagify-modal-title .imagify-inner-sub-title{display:block;font-size:.56em}.imagify-analyzing .imagify-numbers-calc,.imagify-modal-section .imagify-loader,.imagify-modal-section.imagify-analyzing .imagify-modal-cols,.imagify-numbers-notcalc{display:none}.imagify-analyzing .imagify-numbers-notcalc,.imagify-modal-section.imagify-analyzing .imagify-loader{display:block}.imagify-modal-section .imagify-loader{margin:2em auto}.imagify-border-styled{width:200px;margin:0 auto;color:#8bc34a;font-weight:700;font-size:.925em}.imagify-border-styled:after,.imagify-border-styled:before{content:"";height:1px;background:rgba(0,0,0,.1);-ms-flex-preferred-size:40px;flex-basis:40px}.imagify-border-styled:before{margin-right:5px}.imagify-border-styled:after{margin-left:5px}.imagify-big-number{font-size:3.7em;font-weight:700;margin:-3px 0;color:#4a4a4a;line-height:1}.imagify-payment-modal strong{font-weight:700;color:#4a4a4a}.imagify-popin-message{padding:5px 15px;text-align:left}.imagify-popin-message.imagify-error p{color:#fff}.imagify-small-options{width:300px;margin:1em auto .5em;background:#338ea6;border-radius:4px}.imagify-small-options input[type=radio]:checked+label,.imagify-small-options input[type=radio]:not(:checked)+label{padding:8px 10px;font-size:13px;color:#fff;-webkit-box-shadow:none;box-shadow:none;border-left:0}.imagify-small-options input[type=radio]:not(:checked)+label{background:#338ea6;color:rgba(255,255,255,.4)}.imagify-small-options input[type=radio]:checked+label{background:#40b1d0}.imagify-cols:after{content:"";display:table;clear:both}.js .imagify-iframe-viewing .close-btn{display:none}.imagify-modal .imagify-cols{padding:0 20px}.imagify-payment-modal .imagify-iconed{margin:1.5em 5em 1.5em 0}.imagify-iconed{position:relative;text-align:left;padding-left:42px;margin-right:15px;font-weight:500}.imagify-iconed .dashicons,.imagify-iconed .icon{position:absolute;font-size:2em;left:0;top:2px;color:#40b1d0}.imagify-payment-modal .close-btn{top:10px;right:10px;width:24px;height:24px;padding:2px 0 0 4.5px;color:#fff;background:#40b1d0;border-radius:50%;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-payment-modal .close-btn i{margin-left:-3.5px;margin-top:-.5px}.imagify-payment-modal .close-btn:hover{background:#f6f7fb}.imagify-offer-line{margin-top:1.5em}.imagify-offer-line+.imagify-offer-line{margin-top:.75em}.imagify-offer-header{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 0 0 15px;border-radius:4px 4px 0 0;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-offer-header.imagify-offer-header.imagify-offer-header .imagify-inline-options label:last-child{border-radius:0 4px 0 0}.imagify-offer-header .imagify-inline-options{width:auto}.imagify-offer-title{font-weight:700;margin:0}.imagify-offer-header,.imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{background:#e5ebef}.imagify-offer-onetime .imagify-offer-header{padding-top:8px;padding-bottom:8px}.imagify-offer-onetimes>div{padding-top:15px;padding-bottom:15px}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label,.imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{position:relative;padding:7px 30px;font-size:1em;letter-spacing:.05em;color:inherit;-webkit-box-shadow:0 0 0;box-shadow:0 0 0;border-radius:0}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label{background:#f6f7fb}.imagify-2-free{position:absolute;bottom:100%;left:0;right:0;padding:2px 10px;margin-bottom:8px;font-size:.8em;letter-spacing:0;text-transform:none;text-align:center;color:#fff;background:#10121a;border-radius:2px}.imagify-2-free:after{content:"";position:absolute;left:50%;bottom:-3px;margin-left:-3px;border-top:3px solid #10121a;border-left:3px solid transparent;border-right:3px solid transparent}.imagify-2-free.imagify-b-right{bottom:auto;left:100%;right:-100%;margin-bottom:0;margin-left:8px}.imagify-2-free.imagify-b-right:after{left:-3px;bottom:auto;top:50%;margin-top:-3px;margin-left:0;border-right:3px solid #10121a;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:0}.imagify-2-free.imagify-b-bottom{bottom:-100%;left:0;right:0;margin-top:8px}.imagify-2-free.imagify-b-bottom:after{top:-3px;bottom:auto;border-bottom:3px solid #10121a;border-left:3px solid transparent;border-right:3px solid transparent;border-top:0}.imagify-offer-content{text-align:left;background:#f6f7fb;border-radius:0 0 4px 4px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-offer-onetime .imagify-offer-content{padding:10px 0}div.imagify-col-checkbox{position:relative;width:25.5%;padding-top:10px;padding-bottom:7px}.imagify-col-checkbox label{display:block}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked){position:absolute;top:50%;left:6px;margin:-8px 0 0 0}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked+label:before,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked)+label:before{margin:0;top:-2px;left:6px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked)+label:after{top:1px;left:13px}.imagify-col-checkbox label{padding-left:55px!important}.imagify-offer-size{font-size:30px;color:#2e3243;font-weight:700;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-offer-by{font-size:10px;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}.imagify-approx{display:none;font-size:11px;line-height:1.2;-webkit-transition:all .275s;-o-transition:all .275s;transition:all .275s}div.imagify-col-price{width:35%}.imagify-flex-table .imagify-price-block{padding-left:0;padding-right:0}.imagify-offer-monthlies .imagify-price-block,.imagify-offer-monthly .imagify-flex-table .imagify-price-block{padding-top:0}.imagify-flex-table .imagify-price-complement{padding-right:0;font-size:10px;font-weight:700}.imagify-price-block,.imagify-price-discount{white-space:nowrap}.imagify-price-block span,.imagify-price-discount span{display:inline-block;vertical-align:middle}.imagify-price-discount.imagify-price-discount{position:relative;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding-top:15px;font-weight:700;width:70px}.imagify-price-discount:before{content:"";position:absolute;top:25px;width:62%;height:2px;background:#2e3243;-webkit-transform:rotate(-15deg);-ms-transform:rotate(-15deg);transform:rotate(-15deg)}.imagify-offer-onetimes .imagify-price-discount:before{width:100%}.imagify-price-discount-dollar{color:#2e3243}.imagify-price-discount-number{color:#8ba6b4}.imagify-offer-selected .imagify-price-discount-number{color:#fff}span.imagify-dollars{color:#1f2332;font-size:18px;font-weight:700;vertical-align:-2px}.imagify-offer-onetime .imagify-col-price{padding-top:0}.imagify-offer-onetime .imagify-dollars{vertical-align:-1px}.imagify-price-big,.imagify-price-mini{color:#40b1d0;font-weight:700}.imagify-price-big{font-size:36px}span.imagify-price-mini{font-size:18px;vertical-align:2px}span.imagify-price-by{font-size:10px;color:#1f2332;vertical-align:-13px;text-indent:-27px}.imagify-col-other-actions{width:18.5%;text-align:right}.imagify-col-other-actions a{font-size:11px}.imagify-offer-selected,.imagify-offer-selected .imagify-col-other-actions a,.imagify-offer-selected .imagify-offer-size,.imagify-offer-selected .imagify-offer-title,.imagify-offer-selected .imagify-price-big,.imagify-offer-selected .imagify-price-complement,.imagify-offer-selected .imagify-price-mini{color:#fff}.imagify-offer-selected .imagify-offer-header,.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{background:#338ea6}.imagify-offer-selected .imagify-offer-header .imagify-inline-options input[type=radio]:checked+label{background:#40b1d0}.imagify-offer-selected .imagify-offer-content{background:#40b1d0}.imagify-offer-selected .imagify-checkbox.imagify-checkbox:checked+label:before,.imagify-offer-selected .imagify-checkbox.imagify-checkbox:not(:checked)+label:before{border-color:#fff;background:#40b1d0}.imagify-offer-selected .imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-offer-selected .imagify-checkbox.imagify-checkbox:not(:checked)+label:after{color:#fff}.imagify-offer-selected .imagify-offer-by{color:#2e3243}.imagify-enough-title{display:none}.imagify-enough-free .imagify-not-enough-title{display:none}.imagify-enough-free .imagify-enough-title{display:block}.imagify-submit-line{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;margin:2em 0;text-align:left}.imagify-coupon-section{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-coupon-section p{margin:0;line-height:1.3}.imagify-coupon-text{width:200px;max-width:100%;padding-right:15px}.imagify-coupon-loader{display:none}.imagify-coupon-text.checking{text-align:right}.imagify-coupon-text.checking .imagify-coupon-loader{display:inline}.imagify-coupon-text.checking label{display:none}.imagify-coupon-input{position:relative}.imagify-coupon-input input{position:relative;z-index:1}[id=imagify-coupon-validate].button-secondary{position:absolute;top:1px;right:3px;bottom:2px;-webkit-box-shadow:none;box-shadow:none;padding:4px 10px;z-index:0;-webkit-transition:-webkit-transform .275s;transition:-webkit-transform .275s;-o-transition:transform .275s;transition:transform .275s;transition:transform .275s,-webkit-transform .275s}.imagify-canbe-validate [id=imagify-coupon-validate]{-webkit-transform:translateX(45px);-ms-transform:translateX(45px);transform:translateX(45px)}.imagify-modal-section+.imagify-modal-promotion{margin-top:-1em}.imagify-modal-promotion{position:relative;overflow:hidden;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px 25px;background:#604d90;text-shadow:0 0 3px rgba(0,0,0,.3)}.imagify-modal-promotion.active{display:-webkit-box;display:-ms-flexbox;display:flex}[id=imagify-pricing-tab-onetime] .imagify-modal-promotion{margin-bottom:4em}.imagify-modal-promotion:before{content:"\f488";position:absolute;top:28px;left:8%;font-family:dashicons;font-size:90px;color:#8476a9;text-shadow:none}.imagify-modal-promotion p{position:relative;margin:.2em 0;color:#fff}.imagify-promo-title{-ms-flex-preferred-size:100%;flex-basis:100%;text-transform:uppercase;font-size:20px;font-weight:700;letter-spacing:.125em}.imagify-until-date{-ms-flex-preferred-size:200px;flex-basis:200px;text-align:right}.imagify-until-date strong{color:#fff}.imagify-submit-line button{font-size:16px}input.imagify-coupon-code{padding:10px;border:2px solid #7a8996;font-size:.875em;font-weight:700;border-radius:3px}.validated.imagify-coupon-section .imagify-coupon-text,.validated.imagify-coupon-section strong{color:#8bc34a}.validated.imagify-coupon-section .imagify-coupon-code{color:#8bc34a;border-color:#8bc34a}.invalid.imagify-coupon-section .imagify-coupon-text,.invalid.imagify-coupon-section strong{color:#d0021b}.invalid.imagify-coupon-section .imagify-coupon-code{color:#d0021b;border-color:#d0021b}.imagify-footer-lines{width:500px;max-width:100%;margin:2em auto 2.5em;font-size:.85em;line-height:1.5}.imagify-year-selected .imagify-switch-my .imagify-yearly{display:block}.imagify-year-selected .imagify-switch-my .imagify-monthly{display:none}.imagify-month-selected .imagify-switch-my .imagify-yearly{display:none}.imagify-month-selected .imagify-switch-my .imagify-monthly{display:block}.imagify-flex-table{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-flex-table>*{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:7px 15px}div.imagify-col-details{width:22%;padding-left:25px}.imagify-col-details p{margin:0}.imagify-pricing-table{margin:0 20px}.imagify-pricing-table .imagify-offer-line{padding:.6em 0;border:2px solid #e8eef0;text-align:left;border-radius:3px}.imagify-pricing-table .imagify-offer-line:first-child{margin-top:.75em}.imagify-pricing-table .imagify-offer-line.imagify-offer-selected:first-child{margin-top:1.75em}.imagify-pricing-table .imagify-offer-line+.imagify-offer-line{margin-top:-2px}.imagify-pricing-table .imagify-col-other-actions{width:20.5%}.imagify-pricing-table .imagify-approx{margin-left:0;line-height:.5;margin-bottom:1em}.imagify-pricing-table .imagify-offer-selected{-webkit-transform:scale(1.03);-ms-transform:scale(1.03);transform:scale(1.03);background:#40b1d0;border-width:0}.imagify-pricing-table .imagify-offer-selected .imagify-approx{color:#fff}.imagify-pricing-table .imagify-button-secondary{padding:3px 20px;-webkit-box-shadow:none;box-shadow:none;text-transform:uppercase;font-size:12px;letter-spacing:.025em}.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary{border:2px solid #fff;background:#40b1d0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none!important}.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:focus,.imagify-offer-selected.imagify-offer-selected .imagify-button-secondary:hover{background:#fff;color:#40b1d0}.imagify-col .imagify-special-needs{margin-left:25px}.imagify-special-needs strong{font-size:25px;font-weight:700;color:#40b1d0}.imagify-special-needs span{display:block;font-size:12px;margin-top:-.5em}div.imagify-col-price{position:relative}.imagify-recommend{display:none;position:absolute;left:-20px;bottom:100%;padding:0;margin-bottom:8px;color:#1f2332;font-weight:700;font-style:italic}.imagify-offer-selected .imagify-recommend{display:block}[class*=imagify-onetime-] .imagify-recommend{left:65px;margin-bottom:20px}.imagify-recommend:before{content:"";position:absolute;top:7px;left:-35px;width:29px;height:30px;background:url("../images/icon-arrow-choice.png") scroll 0 no-repeat;background-size:contain}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.imagify-recommend:before{background-image:url("../images/icon-arrow-choice.svg")}}.imagify-offer-line[class*=imagify-onetime-]{padding:0;margin:.3em 0 0}.imagify-offer-line.imagify-offer-line[class*=imagify-onetime-]:first-child{margin-top:2em}.imagify-offer-line[class*=imagify-onetime-]+.imagify-offer-line{margin-top:.5em}.imagify-offer-selected.imagify-offer-line[class*=imagify-onetime-]{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);border-width:2px}.imagify-offer-line[class*=imagify-onetime-] .imagify-col-details{position:relative;overflow:hidden;width:21%;background:#1f2332;color:#fff}.imagify-offer-selected.imagify-offer-line[class*=imagify-onetime-] .imagify-col-details{background:#338ea6}.imagify-offer-line[class*=imagify-onetime-] .imagify-col-details:before{content:"";position:absolute;bottom:0;right:25px;width:75px;height:54px;background:url("../images/icon-pack.png")}.imagify-offer-line[class*=imagify-onetime-] .imagify-col-other-actions{width:30%}.imagify-offer-line[class*=imagify-onetime-] .imagify-approx,.imagify-offer-line[class*=imagify-onetime-] .imagify-offer-size{color:#fff}.imagify-offer-line[class*=imagify-onetime-] .imagify-offer-size{font-size:24px}.imagify-offer-line[class*=imagify-onetime-] .imagify-approx{font-size:12px}.imagify-offer-line[class*=imagify-onetime-] .imagify-price-block{padding-left:10px}.imagify-offer-line[class*=imagify-onetime-] .imagify-dollars{vertical-align:middle}.imagify-offer-line[class*=imagify-onetime-] .imagify-price-big{vertical-align:-5px}.imagify-offer-line[class*=imagify-onetime-] .imagify-price-mini{vertical-align:7px}.imagify-tabs{margin-bottom:0;list-style:none;background:#e5ebef}.imagify-modal-content .imagify-tabs{margin:1em 0 0}.imagify-tab{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:50%;margin:0;font-size:23px}.imagify-tab a{display:block;padding:15px 10px;color:inherit;text-decoration:none}.imagify-tab a:focus{-webkit-box-shadow:none;box-shadow:none;outline:0;color:#40b1d8}.imagify-tab.imagify-current a{background:#f6f7fb}.imagify-tab-content.imagify-current{display:block}.imagify-tab-content{display:none}.imagify-tab-content .imagify-modal-section:first-child{margin-top:0}.imagify-modal-sidebar-content,.imagify-payment-modal .imagify-modal-sidebar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.imagify-modal-sidebar-content{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}p.imagify-modal-sidebar-title.imagify-modal-sidebar-title{margin-top:5px;padding-right:40px;font-size:18px;color:#fff}.imagify-modal-testimony{margin-top:1em}.imagify-modal-testimony+.imagify-modal-testimony{margin-top:2em}@media (max-height:620px){.imagify-modal-testimony+.imagify-modal-testimony{display:none}}.imagify-modal-testimony-person{display:table;width:100%}.imagify-modal-testimony-person>*{display:table-cell;vertical-align:middle}.imagify-modal-avatar{width:114px;line-height:0}.imagify-modal-avatar img{border:2px solid #fff;border-radius:50%;width:96px;height:96px}.imagify-modal-identity a{text-decoration:none;font-weight:700}.imagify-modal-identity a:first-child{font-size:13px}.imagify-modal-identity a:first-child+a{display:block;font-size:10px;color:#7a8996}.imagify-modal-testimony-content.imagify-modal-testimony-content p{font-size:13px;font-style:italic;line-height:1.7;color:#7a8996}.imagify-modal-sidebar-trust{margin-top:auto;padding-top:1.5em}.imagify-modal-sidebar-trust p{margin:0;font-weight:700;font-size:12px;line-height:1.7}.imagify-modal-sidebar-trust p img{margin-right:3px;vertical-align:-2px}.imagify-modal-sidebar-trust p+p{font-size:11px}.imagify-cart{text-align:left}.imagify-cart .imagify-cart-list{border-top:1px solid rgba(122,137,150,.2);border-bottom:1px solid rgba(122,137,150,.2)}.imagify-cart .imagify-cart-label{margin-bottom:.5em;font-size:10px;color:#2e3243}.imagify-cart-list p{margin:0;font-weight:700}.imagify-cart-item{margin:.4em 0}.imagify-cart .imagify-cart-suggestion{margin-top:-.3em}.imagify-cart-suggestion a,.imagify-cl-description p{font-size:10px}.imagify-remove-from-cart{border:0;padding:0;width:14px;height:14px;line-height:13px;border-radius:50%;background:#40b1d0;cursor:pointer;-webkit-transition:background .3s;-o-transition:background .3s;transition:background .3s}.imagify-remove-from-cart i:before{position:relative;top:-6px;left:-3px;font-size:13px;color:#fff}.imagify-remove-from-cart:focus,.imagify-remove-from-cart:hover{background:#d0021b}.imagify-cart .imagify-cl-remove{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:45px}.imagify-cart .imagify-cl-name{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:200px}.imagify-cart .imagify-cl-description{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;padding-top:10px}.imagify-cart .imagify-cl-price{text-align:right}#imagify-payment-iframe{width:980px;height:672px;background:#f6f7fb url(../images/loader-balls.svg) 50% 50% no-repeat}.imagify-success-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%}.imagify-success-view p{font-weight:700;font-size:16px}.imagify-cart-emptied-item{margin:.3em auto;padding:6px 20px;background:#e6ebef;border-radius:20px}.imagify-cart-emptied-item.imagify-cart-emptied-item p{font-weight:700}.imagify-cart-emptied-item a{color:#40b1d0;float:right;font-weight:700}@media (max-width:782px){.imagify-payment-modal .imagify-modal-content{width:90%;min-width:auto;-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-payment-modal .imagify-modal-main{width:100%}.imagify-payment-modal .imagify-modal-sidebar{width:100%}.imagify-modal-section.section-gray{padding:10px 10px 15px}.imagify-modal-section{padding:0 10px}.imagify-submit-line{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-coupon-section{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.imagify-coupon-section .imagify-coupon-text{text-align:center;width:100%;padding:0;margin-bottom:20px}.imagify-modal-cols{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-col{padding:0;float:none;width:100%}.imagify-payment-modal .imagify-iconed{margin:1.5em auto;max-width:260px}.imagify-offer-header{padding:0}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label,.imagify-offer-header .imagify-inline-options input[type=radio]:not(:checked)+label{padding:7px 15px}.imagify-offer-header .imagify-inline-options input[type=radio]:checked+label{padding:7px 15px}.imagify-offer-header .imagify-offer-title.imagify-switch-my .imagify-monthly,.imagify-offer-header .imagify-offer-title.imagify-switch-my .imagify-yearly{padding:10px 5px;font-size:12px}.imagify-offer-size{font-size:18px}.imagify-col-other-actions{padding:10px;text-align:center}.imagify-2-free{padding:2px 5px}.imagify-2-free.imagify-b-right{position:absolute;bottom:100%;left:0;right:0;padding:2px 5px;margin-bottom:0;margin-left:0;font-size:.8em;letter-spacing:0;text-transform:none;text-align:center;color:#fff;background:#10121a;border-radius:2px}.imagify-2-free.imagify-b-right:after{content:"";position:absolute;left:50%;top:unset;bottom:-6px;margin-left:-3px;border-top:3px solid #10121a;border-left:3px solid transparent;border-right:3px solid transparent}div.imagify-col-price{-ms-flex-direction:column;flex-direction:column;-webkit-box-direction:normal;-webkit-box-orient:vertical;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.imagify-flex-table .imagify-price-complement{padding:5px 0 0 0;margin:0;text-align:center}div.imagify-col-details{padding:10px 0 10px 10px}.imagify-pricing-table .imagify-col-other-actions{padding:0 10px 0 0}.imagify-pricing-table .imagify-button-secondary{font-size:12px;white-space:normal;line-height:14px;padding:10px}.imagify-price-big{font-size:24px}span.imagify-price-mini{font-size:12px}.imagify-col-checkbox label{padding-left:30px!important}.medium.imagify-checkbox:checked+label:before,.medium.imagify-checkbox:not(:checked)+label:before{width:15px;height:15px}div.imagify-col-checkbox{padding:0}.imagify-offer-monthlies .imagify-price-block,.imagify-offer-monthly .imagify-flex-table .imagify-price-block{padding:0}.imagify-pricing-table{margin:0 .5em}.imagify-payment-modal .close-btn{top:5px;right:5px}.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:checked+label:after,.imagify-col-checkbox .imagify-checkbox.imagify-checkbox:not(:checked)+label:after{top:-1px;left:10px}}
|
assets/css/sweetalert-custom.css
CHANGED
@@ -42,6 +42,7 @@ body[class*="_imagify"] .swal2-container.swal2-shown {
|
|
42 |
.imagify-swal-error-header .swal2-title {
|
43 |
background: #C51162;
|
44 |
text-align: center;
|
|
|
45 |
}
|
46 |
.imagify-sweet-alert .imagify-swal-subtitle {
|
47 |
padding: 0 32px 28px;
|
@@ -77,6 +78,8 @@ body[class*="_imagify"] .swal2-container.swal2-shown {
|
|
77 |
background-color: #40b1d0 !important;
|
78 |
text-shadow: none!important;
|
79 |
box-shadow: 0 3px 0 #338ea6;
|
|
|
|
|
80 |
}
|
81 |
.imagify-swal-buttonswrapper a.button.imagify-button-primary:focus,
|
82 |
.imagify-swal-buttonswrapper a.button.imagify-button-primary:hover {
|
42 |
.imagify-swal-error-header .swal2-title {
|
43 |
background: #C51162;
|
44 |
text-align: center;
|
45 |
+
line-height: 1.15;
|
46 |
}
|
47 |
.imagify-sweet-alert .imagify-swal-subtitle {
|
48 |
padding: 0 32px 28px;
|
78 |
background-color: #40b1d0 !important;
|
79 |
text-shadow: none!important;
|
80 |
box-shadow: 0 3px 0 #338ea6;
|
81 |
+
white-space: normal;
|
82 |
+
line-height: 1.5;
|
83 |
}
|
84 |
.imagify-swal-buttonswrapper a.button.imagify-button-primary:focus,
|
85 |
.imagify-swal-buttonswrapper a.button.imagify-button-primary:hover {
|
assets/css/sweetalert-custom.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
body[class*="_imagify"] .swal2-container.swal2-shown{background:rgb(31,35 ,50);background:rgba(31,35 ,50,.9);z-index:100000}.imagify-sweet-alert .swal2-modal{border-radius:2px}.imagify-sweet-alert{background:#
|
1 |
+
body[class*="_imagify"] .swal2-container.swal2-shown{background:rgb(31,35 ,50);background:rgba(31,35 ,50,.9);z-index:100000}.imagify-sweet-alert .swal2-modal{border-radius:2px}.imagify-sweet-alert{background:#1f2332!important}.imagify-sweet-alert .swal2-icon{margin-bottom:5px}.imagify-swal-error-header{background:#c51162!important}.imagify-swal-error-header .swal2-icon{border-color:#fff;color:#fff}.imagify-sweet-alert .swal2-title{margin:0;padding:28px 32px;font-size:24px;text-align:center;color:#fff;background:#1f2332}.imagify-swal-has-subtitle .swal2-title{text-align:left}.imagify-swal-error-header .swal2-title{background:#c51162;text-align:center;line-height:1.15}.imagify-sweet-alert .imagify-swal-subtitle{padding:0 32px 28px;margin-top:-16px;font-weight:500;font-size:14px;text-align:left;color:#7a8996;background:#1f2332}.imagify-swal-error-header .imagify-swal-subtitle{color:#fff;background:#c51162;text-align:center}.imagify-swal-buttonswrapper,.imagify-sweet-alert .swal2-buttonswrapper{margin-top:0;padding:22px;background:#f4f7f9}.imagify-swal-buttonswrapper a.button.imagify-button-primary,.imagify-sweet-alert button.swal2-styled{height:auto;padding:12px 32px;margin:10px;font-size:14px;letter-spacing:1px;text-transform:uppercase;border-radius:3px;background-color:#40b1d0!important;text-shadow:none!important;-webkit-box-shadow:0 3px 0 #338ea6;box-shadow:0 3px 0 #338ea6;white-space:normal;line-height:1.5}.imagify-swal-buttonswrapper a.button.imagify-button-primary:focus,.imagify-swal-buttonswrapper a.button.imagify-button-primary:hover{text-shadow:none;color:#fff}.imagify-swal-buttonswrapper a.button svg{margin-right:12px;vertical-align:-2px}.imagify-sweet-alert button.loading{border-radius:100%!important;height:40px!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}.imagify-sweet-alert button.swal2-cancel{color:#7a8996;background:#e9eff2!important;-webkit-box-shadow:0 3px 0 rgba(31,35,50,.2);box-shadow:0 3px 0 rgba(31,35,50,.2)}.imagify-sweet-alert-signup.imagify-sweet-alert{background:#fff!important}.imagify-sweet-alert-signup .swal2-buttonswrapper{padding:12px 22px}.swal2-success-circular-line-left,.swal2-success-circular-line-right,.swal2-success-fix{background:#1f2332!important}.imagify-sweet-alert-signup .sa-confirm-button-container{width:40%}.imagify-sweet-alert-signup .swal2-input{margin-top:0;margin-left:40px;margin-right:40px;width:calc(100% - 80px)}.imagify-sweet-alert .la-ball-fall,.imagify-sweet-alert .sa-input-error:after,.imagify-sweet-alert .sa-input-error:before{top:25%!important}.imagify-sweet-alert .swal2-buttonswrapper.swal2-loading .swal2-confirm.swal2-confirm{height:40px!important;border-radius:100%!important;border-left-width:0!important;border-right-width:0!important}.imagify-sweet-alert .swal2-content{padding:28px 32px;background:#fff}.imagify-swal-has-subtitle .swal2-content{padding:0}.imagify-swal-content{font-size:14px;padding:28px 32px}.imagify-swal-quota .imagify-space-left{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:4px 32px;text-align:left;font-weight:700;color:#fff;background:#343a49}.imagify-swal-quota .imagify-space-left p{font-size:14px}.imagify-swal-quota .imagify-space-left [class^=imagify-bar-]{width:auto;-ms-flex-preferred-size:269px;flex-basis:269px}.imagify-sweet-alert .swal2-close{color:rgba(255,255,255,.5)}
|
assets/css/sweetalert2.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
body.swal2-shown{overflow-y:hidden}body.swal2-iosfix{position:fixed;left:0;right:0}.swal2-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;bottom:0;right:0;padding:10px;background-color:transparent;z-index:1060}.swal2-container.swal2-fade{-webkit-transition:background-color .1s;-o-transition:background-color .1s;transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-modal{background-color:#fff;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;margin:auto;overflow-x:hidden;overflow-y:auto;display:none;position:relative;max-width:100%}.swal2-modal:focus{outline:0}.swal2-modal.swal2-loading{overflow-y:hidden}.swal2-modal .swal2-title{color:#595959;font-size:30px;text-align:center;font-weight:600;text-transform:none;position:relative;margin:0 0 .4em;padding:0;display:block;word-wrap:break-word}.swal2-modal .swal2-buttonswrapper{margin-top:15px}.swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4;cursor:no-drop}.swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm{-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid transparent;border-color:transparent;width:40px;height:40px;padding:0;margin:7.5px;vertical-align:top;background-color:transparent!important;color:transparent;cursor:default;border-radius:100%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel{margin-left:30px;margin-right:30px}.swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;content:'';margin-left:5px 0 15px;vertical-align:-1px;height:15px;width:15px;border:3px solid #999;-webkit-box-shadow:1px 1px 1px #fff;box-shadow:1px 1px 1px #fff;border-right-color:transparent;border-radius:50%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal}.swal2-modal .swal2-styled{border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;font-size:17px;font-weight:500;margin:15px 5px 0;padding:10px 32px}.swal2-modal .swal2-image{margin:20px auto;max-width:100%}.swal2-modal .swal2-close{background:0 0;border:0;margin:0;padding:0;width:38px;height:40px;font-size:36px;line-height:40px;font-family:serif;position:absolute;top:5px;right:8px;cursor:pointer;color:#ccc;-webkit-transition:color .1s ease;-o-transition:color .1s ease;transition:color .1s ease}.swal2-modal .swal2-close:hover{color:#d55}.swal2-modal>.swal2-checkbox,.swal2-modal>.swal2-file,.swal2-modal>.swal2-input,.swal2-modal>.swal2-radio,.swal2-modal>.swal2-select,.swal2-modal>.swal2-textarea{display:none}.swal2-modal .swal2-content{font-size:18px;text-align:center;font-weight:300;position:relative;float:none;margin:0;padding:0;line-height:normal;color:#545454;word-wrap:break-word}.swal2-modal .swal2-checkbox,.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-radio,.swal2-modal .swal2-select,.swal2-modal .swal2-textarea{margin:20px auto}.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-textarea{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:18px;border-radius:3px;border:1px solid #d9d9d9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-shadow:inset 0 1px 1px rgba(0,0,0,.06);-webkit-transition:border-color box-shadow .3s;-o-transition:border-color box-shadow .3s;transition:border-color box-shadow .3s}.swal2-modal .swal2-file.swal2-inputerror,.swal2-modal .swal2-input.swal2-inputerror,.swal2-modal .swal2-textarea.swal2-inputerror{border-color:#f27474!important;-webkit-box-shadow:0 0 2px #f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-modal .swal2-file:focus,.swal2-modal .swal2-input:focus,.swal2-modal .swal2-textarea:focus{outline:0;border:1px solid #b4dbed;-webkit-box-shadow:0 0 3px #c4e6f5;box-shadow:0 0 3px #c4e6f5}.swal2-modal .swal2-file:focus::-webkit-input-placeholder,.swal2-modal .swal2-input:focus::-webkit-input-placeholder,.swal2-modal .swal2-textarea:focus::-webkit-input-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus:-ms-input-placeholder,.swal2-modal .swal2-input:focus:-ms-input-placeholder,.swal2-modal .swal2-textarea:focus:-ms-input-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus::-moz-placeholder,.swal2-modal .swal2-input:focus::-moz-placeholder,.swal2-modal .swal2-textarea:focus::-moz-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus::-ms-input-placeholder,.swal2-modal .swal2-input:focus::-ms-input-placeholder,.swal2-modal .swal2-textarea:focus::-ms-input-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus::placeholder,.swal2-modal .swal2-input:focus::placeholder,.swal2-modal .swal2-textarea:focus::placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file::-webkit-input-placeholder,.swal2-modal .swal2-input::-webkit-input-placeholder,.swal2-modal .swal2-textarea::-webkit-input-placeholder{color:#e6e6e6}.swal2-modal .swal2-file:-ms-input-placeholder,.swal2-modal .swal2-input:-ms-input-placeholder,.swal2-modal .swal2-textarea:-ms-input-placeholder{color:#e6e6e6}.swal2-modal .swal2-file::-moz-placeholder,.swal2-modal .swal2-input::-moz-placeholder,.swal2-modal .swal2-textarea::-moz-placeholder{color:#e6e6e6}.swal2-modal .swal2-file::-ms-input-placeholder,.swal2-modal .swal2-input::-ms-input-placeholder,.swal2-modal .swal2-textarea::-ms-input-placeholder{color:#e6e6e6}.swal2-modal .swal2-file::placeholder,.swal2-modal .swal2-input::placeholder,.swal2-modal .swal2-textarea::placeholder{color:#e6e6e6}.swal2-modal .swal2-range input{float:left;width:80%}.swal2-modal .swal2-range output{float:right;width:20%;font-size:20px;font-weight:600;text-align:center}.swal2-modal .swal2-range input,.swal2-modal .swal2-range output{height:43px;line-height:43px;vertical-align:middle;margin:20px auto;padding:0}.swal2-modal .swal2-input{height:43px;padding:0 12px}.swal2-modal .swal2-input[type=number]{max-width:150px}.swal2-modal .swal2-file{font-size:20px}.swal2-modal .swal2-textarea{height:108px;padding:12px}.swal2-modal .swal2-select{color:#545454;font-size:inherit;padding:5px 10px;min-width:40%;max-width:100%}.swal2-modal .swal2-radio{border:0}.swal2-modal .swal2-radio label:not(:first-child){margin-left:20px}.swal2-modal .swal2-radio input,.swal2-modal .swal2-radio span{vertical-align:middle}.swal2-modal .swal2-radio input{margin:0 3px 0 0}.swal2-modal .swal2-checkbox{color:#545454}.swal2-modal .swal2-checkbox input,.swal2-modal .swal2-checkbox span{vertical-align:middle}.swal2-modal .swal2-validationerror{background-color:#f0f0f0;margin:0 -20px;overflow:hidden;padding:10px;color:gray;font-size:16px;font-weight:300;display:none}.swal2-modal .swal2-validationerror::before{content:'!';display:inline-block;width:24px;height:24px;border-radius:50%;background-color:#ea7d7d;color:#fff;line-height:24px;text-align:center;margin-right:10px}.swal2-icon.swal2-info,.swal2-icon.swal2-question,.swal2-icon.swal2-warning{font-size:60px;line-height:80px;text-align:center}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}.swal2-icon{width:80px;height:80px;border:4px solid transparent;border-radius:50%;margin:20px auto 30px;padding:0;position:relative;-webkit-box-sizing:content-box;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;display:block}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}.swal2-icon.swal2-warning{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#f8bb86;border-color:#facea8}.swal2-icon.swal2-info{font-family:'Open Sans',sans-serif;color:#3fc3ee;border-color:#9de0f6}.swal2-icon.swal2-question{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#87adbd;border-color:#c9dae1}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;-ms-transform-origin:60px 60px;transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;-ms-transform-origin:0 60px;transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid rgba(165,220,134,.2);border-radius:50%;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{font-weight:600;margin:0 0 20px;padding:0}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{background:#3085d6;border-radius:2em;color:#fff;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle,.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{background:#3085d6;height:.4em;margin:0 -1px;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.swal2-show{-webkit-animation:showSweetAlert .3s;animation:showSweetAlert .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:hideSweetAlert .15s forwards;animation:hideSweetAlert .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}@-webkit-keyframes animate-success-tip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animate-success-tip{0%,54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@-webkit-keyframes animate-success-long{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes animate-success-long{0%,65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes rotatePlaceholder{0%,5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%,12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%,5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}100%,12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}.swal2-animate-success-line-tip{-webkit-animation:animate-success-tip .75s;animation:animate-success-tip .75s}.swal2-animate-success-line-long{-webkit-animation:animate-success-long .75s;animation:animate-success-long .75s}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in}@-webkit-keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}.swal2-animate-error-icon{-webkit-animation:animate-error-icon .5s;animation:animate-error-icon .5s}@-webkit-keyframes animate-x-mark{0%,50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}@keyframes animate-x-mark{0%,50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{-webkit-animation:animate-x-mark .5s;animation:animate-x-mark .5s}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
|
1 |
+
body.swal2-shown{overflow-y:hidden}body.swal2-iosfix{position:fixed;left:0;right:0}.swal2-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;bottom:0;right:0;padding:10px;background-color:transparent;z-index:1060}.swal2-container.swal2-fade{-webkit-transition:background-color .1s;-o-transition:background-color .1s;transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-modal{background-color:#fff;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;margin:auto;overflow-x:hidden;overflow-y:auto;display:none;position:relative;max-width:100%}.swal2-modal:focus{outline:0}.swal2-modal.swal2-loading{overflow-y:hidden}.swal2-modal .swal2-title{color:#595959;font-size:30px;text-align:center;font-weight:600;text-transform:none;position:relative;margin:0 0 .4em;padding:0;display:block;word-wrap:break-word}.swal2-modal .swal2-buttonswrapper{margin-top:15px}.swal2-modal .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4;cursor:no-drop}.swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm{-webkit-box-sizing:border-box;box-sizing:border-box;border:4px solid transparent;border-color:transparent;width:40px;height:40px;padding:0;margin:7.5px;vertical-align:top;background-color:transparent!important;color:transparent;cursor:default;border-radius:100%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-modal .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel{margin-left:30px;margin-right:30px}.swal2-modal .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after{display:inline-block;content:'';margin-left:5px 0 15px;vertical-align:-1px;height:15px;width:15px;border:3px solid #999;-webkit-box-shadow:1px 1px 1px #fff;box-shadow:1px 1px 1px #fff;border-right-color:transparent;border-radius:50%;-webkit-animation:rotate-loading 1.5s linear 0s infinite normal;animation:rotate-loading 1.5s linear 0s infinite normal}.swal2-modal .swal2-styled{border:0;border-radius:3px;-webkit-box-shadow:none;box-shadow:none;color:#fff;cursor:pointer;font-size:17px;font-weight:500;margin:15px 5px 0;padding:10px 32px}.swal2-modal .swal2-image{margin:20px auto;max-width:100%}.swal2-modal .swal2-close{background:0 0;border:0;margin:0;padding:0;width:38px;height:40px;font-size:36px;line-height:40px;font-family:serif;position:absolute;top:5px;right:8px;cursor:pointer;color:#ccc;-webkit-transition:color .1s ease;-o-transition:color .1s ease;transition:color .1s ease}.swal2-modal .swal2-close:hover{color:#d55}.swal2-modal>.swal2-checkbox,.swal2-modal>.swal2-file,.swal2-modal>.swal2-input,.swal2-modal>.swal2-radio,.swal2-modal>.swal2-select,.swal2-modal>.swal2-textarea{display:none}.swal2-modal .swal2-content{font-size:18px;text-align:center;font-weight:300;position:relative;float:none;margin:0;padding:0;line-height:normal;color:#545454;word-wrap:break-word}.swal2-modal .swal2-checkbox,.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-radio,.swal2-modal .swal2-select,.swal2-modal .swal2-textarea{margin:20px auto}.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-textarea{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:18px;border-radius:3px;border:1px solid #d9d9d9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.06);box-shadow:inset 0 1px 1px rgba(0,0,0,.06);-webkit-transition:border-color box-shadow .3s;-o-transition:border-color box-shadow .3s;transition:border-color box-shadow .3s}.swal2-modal .swal2-file.swal2-inputerror,.swal2-modal .swal2-input.swal2-inputerror,.swal2-modal .swal2-textarea.swal2-inputerror{border-color:#f27474!important;-webkit-box-shadow:0 0 2px #f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-modal .swal2-file:focus,.swal2-modal .swal2-input:focus,.swal2-modal .swal2-textarea:focus{outline:0;border:1px solid #b4dbed;-webkit-box-shadow:0 0 3px #c4e6f5;box-shadow:0 0 3px #c4e6f5}.swal2-modal .swal2-file:focus::-webkit-input-placeholder,.swal2-modal .swal2-input:focus::-webkit-input-placeholder,.swal2-modal .swal2-textarea:focus::-webkit-input-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus:-ms-input-placeholder,.swal2-modal .swal2-input:focus:-ms-input-placeholder,.swal2-modal .swal2-textarea:focus:-ms-input-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus::-moz-placeholder,.swal2-modal .swal2-input:focus::-moz-placeholder,.swal2-modal .swal2-textarea:focus::-moz-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus::-ms-input-placeholder,.swal2-modal .swal2-input:focus::-ms-input-placeholder,.swal2-modal .swal2-textarea:focus::-ms-input-placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file:focus::placeholder,.swal2-modal .swal2-input:focus::placeholder,.swal2-modal .swal2-textarea:focus::placeholder{-webkit-transition:opacity .3s .03s ease;-o-transition:opacity .3s .03s ease;transition:opacity .3s .03s ease;opacity:.8}.swal2-modal .swal2-file::-webkit-input-placeholder,.swal2-modal .swal2-input::-webkit-input-placeholder,.swal2-modal .swal2-textarea::-webkit-input-placeholder{color:#e6e6e6}.swal2-modal .swal2-file:-ms-input-placeholder,.swal2-modal .swal2-input:-ms-input-placeholder,.swal2-modal .swal2-textarea:-ms-input-placeholder{color:#e6e6e6}.swal2-modal .swal2-file::-moz-placeholder,.swal2-modal .swal2-input::-moz-placeholder,.swal2-modal .swal2-textarea::-moz-placeholder{color:#e6e6e6}.swal2-modal .swal2-file::-ms-input-placeholder,.swal2-modal .swal2-input::-ms-input-placeholder,.swal2-modal .swal2-textarea::-ms-input-placeholder{color:#e6e6e6}.swal2-modal .swal2-file::placeholder,.swal2-modal .swal2-input::placeholder,.swal2-modal .swal2-textarea::placeholder{color:#e6e6e6}.swal2-modal .swal2-range input{float:left;width:80%}.swal2-modal .swal2-range output{float:right;width:20%;font-size:20px;font-weight:600;text-align:center}.swal2-modal .swal2-range input,.swal2-modal .swal2-range output{height:43px;line-height:43px;vertical-align:middle;margin:20px auto;padding:0}.swal2-modal .swal2-input{height:43px;padding:0 12px}.swal2-modal .swal2-input[type=number]{max-width:150px}.swal2-modal .swal2-file{font-size:20px}.swal2-modal .swal2-textarea{height:108px;padding:12px}.swal2-modal .swal2-select{color:#545454;font-size:inherit;padding:5px 10px;min-width:40%;max-width:100%}.swal2-modal .swal2-radio{border:0}.swal2-modal .swal2-radio label:not(:first-child){margin-left:20px}.swal2-modal .swal2-radio input,.swal2-modal .swal2-radio span{vertical-align:middle}.swal2-modal .swal2-radio input{margin:0 3px 0 0}.swal2-modal .swal2-checkbox{color:#545454}.swal2-modal .swal2-checkbox input,.swal2-modal .swal2-checkbox span{vertical-align:middle}.swal2-modal .swal2-validationerror{background-color:#f0f0f0;margin:0 -20px;overflow:hidden;padding:10px;color:gray;font-size:16px;font-weight:300;display:none}.swal2-modal .swal2-validationerror::before{content:'!';display:inline-block;width:24px;height:24px;border-radius:50%;background-color:#ea7d7d;color:#fff;line-height:24px;text-align:center;margin-right:10px}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.swal2-range input{width:100%!important}.swal2-range output{display:none}}.swal2-icon{width:80px;height:80px;border:4px solid transparent;border-radius:50%;margin:20px auto 30px;padding:0;position:relative;-webkit-box-sizing:content-box;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;display:block}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);right:16px}.swal2-icon.swal2-warning{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#f8bb86;border-color:#facea8;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-info{font-family:'Open Sans',sans-serif;color:#3fc3ee;border-color:#9de0f6;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-question{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#87adbd;border-color:#c9dae1;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:60px 60px;-ms-transform-origin:60px 60px;transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:0 60px;-ms-transform-origin:0 60px;transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid rgba(165,220,134,.2);border-radius:50%;-webkit-box-sizing:content-box;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:28px;top:8px;z-index:1;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.swal2-progresssteps{font-weight:600;margin:0 0 20px;padding:0}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{background:#3085d6;border-radius:2em;color:#fff;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle{background:#add8e6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{background:#3085d6;height:.4em;margin:0 -1px;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}@-webkit-keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes showSweetAlert{0%{-webkit-transform:scale(.7);transform:scale(.7)}45%{-webkit-transform:scale(1.05);transform:scale(1.05)}80%{-webkit-transform:scale(.95);transform:scale(.95)}100%{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}@keyframes hideSweetAlert{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}100%{-webkit-transform:scale(.5);transform:scale(.5);opacity:0}}.swal2-show{-webkit-animation:showSweetAlert .3s;animation:showSweetAlert .3s}.swal2-show.swal2-noanimation{-webkit-animation:none;animation:none}.swal2-hide{-webkit-animation:hideSweetAlert .15s forwards;animation:hideSweetAlert .15s forwards}.swal2-hide.swal2-noanimation{-webkit-animation:none;animation:none}@-webkit-keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@keyframes animate-success-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}100%{width:25px;left:14px;top:45px}}@-webkit-keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@keyframes animate-success-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}100%{width:47px;right:8px;top:38px}}@-webkit-keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}@keyframes rotatePlaceholder{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}5%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}12%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}100%{-webkit-transform:rotate(-405deg);transform:rotate(-405deg)}}.swal2-animate-success-line-tip{-webkit-animation:animate-success-tip .75s;animation:animate-success-tip .75s}.swal2-animate-success-line-long{-webkit-animation:animate-success-long .75s;animation:animate-success-long .75s}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{-webkit-animation:rotatePlaceholder 4.25s ease-in;animation:rotatePlaceholder 4.25s ease-in}@-webkit-keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}@keyframes animate-error-icon{0%{-webkit-transform:rotateX(100deg);transform:rotateX(100deg);opacity:0}100%{-webkit-transform:rotateX(0);transform:rotateX(0);opacity:1}}.swal2-animate-error-icon{-webkit-animation:animate-error-icon .5s;animation:animate-error-icon .5s}@-webkit-keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}@keyframes animate-x-mark{0%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}50%{-webkit-transform:scale(.4);transform:scale(.4);margin-top:26px;opacity:0}80%{-webkit-transform:scale(1.15);transform:scale(1.15);margin-top:-6px}100%{-webkit-transform:scale(1);transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{-webkit-animation:animate-x-mark .5s;animation:animate-x-mark .5s}@-webkit-keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate-loading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
|
assets/css/twentytwenty.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.twentytwenty-handle{z-index:40;position:absolute;left:50%;top:50%;height:64px;width:64px;margin-left:-32px;margin-top:-32px;border-radius:50%;-webkit-box-shadow:0 3px 0 #
|
1 |
+
.twentytwenty-handle{z-index:40;position:absolute;left:50%;top:50%;height:64px;width:64px;margin-left:-32px;margin-top:-32px;border-radius:50%;-webkit-box-shadow:0 3px 0 #338ea6;box-shadow:0 3px 0 #338ea6;background:#40b1d0;cursor:pointer}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before{left:50%;width:2px;height:9999px;margin-left:-1px}.twentytwenty-horizontal .twentytwenty-handle:before{bottom:50%;margin-bottom:32px;-webkit-box-shadow:0 3px 0 #fff,0 0 12px rgba(51,51,51,.5);box-shadow:0 3px 0 #fff,0 0 12px rgba(51,51,51,.5)}.twentytwenty-horizontal .twentytwenty-handle:after{top:50%;margin-top:34px;-webkit-box-shadow:0 -3px 0 #fff,0 0 12px rgba(51,51,51,.5);box-shadow:0 -3px 0 #fff,0 0 12px rgba(51,51,51,.5)}.twentytwenty-horizontal .twentytwenty-handle:after,.twentytwenty-horizontal .twentytwenty-handle:before{content:"";position:absolute;z-index:30;display:block;background:#f2f5f7;-webkit-box-shadow:0 0 12px rgba(51,51,51,.5);box-shadow:0 0 12px rgba(51,51,51,.5)}.twentytwenty-labels,.twentytwenty-overlay{position:absolute;top:0;width:100%;height:100%;-webkit-transition-duration:.5s;-o-transition-duration:.5s;transition-duration:.5s}.twentytwenty-labels{opacity:1;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.twentytwenty-labels .twentytwenty-label-content{position:absolute;padding:0 12px;font-size:13px;letter-spacing:.1em;line-height:38px;color:#fff;background:#1f2332;border-radius:2px}.twentytwenty-horizontal .twentytwenty-labels .twentytwenty-label-content{bottom:15px}.twentytwenty-after-label .twentytwenty-label-content{background:#40b1d0}.twentytwenty-left-arrow,.twentytwenty-right-arrow{position:absolute;width:0;height:0;border:8px inset transparent}.twentytwenty-left-arrow,.twentytwenty-right-arrow{top:50%;margin-top:-8px}.twentytwenty-container{-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;z-index:0;overflow:hidden;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.15);box-shadow:0 5px 10px rgba(0,0,0,.15);opacity:0;-webkit-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s;-webkit-user-select:none;-moz-user-select:none}.twentytwenty-container *{-webkit-box-sizing:content-box;box-sizing:content-box}.twentytwenty-container img{position:absolute;top:0;display:block;width:100%;height:auto}.loaded .twentytwenty-container{opacity:1}.twentytwenty-container.active .twentytwenty-overlay .twentytwenty-labels,.twentytwenty-container.active .twentytwenty-overlay:hover .twentytwenty-labels{opacity:0}.twentytwenty-horizontal .twentytwenty-before-label .twentytwenty-label-content{left:15px}.twentytwenty-horizontal .twentytwenty-after-label .twentytwenty-label-content{right:15px}.twentytwenty-overlay{z-index:25}.twentytwenty-before{z-index:20}.twentytwenty-after{z-index:10}.twentytwenty-duo-buttons{position:absolute;top:10px;z-index:30;overflow:hidden}.twentytwenty-duo-buttons button{float:left;padding:2px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.125em;font-weight:700;border:0;background:#1f2332;color:#fff;-webkit-transition:all .3s;-o-transition:all .3s;transition:all .3s;cursor:pointer}.twentytwenty-duo-buttons button:focus,.twentytwenty-duo-buttons button:hover{background:#444}.twentytwenty-duo-buttons button:first-child{border-radius:3px 0 0 3px}.twentytwenty-duo-buttons button:last-child{border-radius:0 3px 3px 0}.twentytwenty-duo-buttons button.selected{background:#8bc34a;text-shadow:0 0 1px rgba(0,0,0,.2);cursor:default}.twentytwenty-duo-left{left:10px}.twentytwenty-duo-right{right:10px}.twentytwenty-left-arrow{left:50%;margin-left:-22px;border-right:8px solid #fff}.twentytwenty-right-arrow{right:50%;margin-right:-22px;border-left:8px solid #fff}#imagify-visual-comparison .close-btn,.imagify-visual-comparison .close-btn{top:50px;right:5px;width:33px;height:33px;padding:1px 0 0 2px;border:1px solid #f2f2f2;color:#f2f2f2;line-height:19px;text-align:center;border-radius:50%}.imagify-modal .imagify-comparison-title{font-size:28px;margin-bottom:1em;color:#f2f2f2;text-align:left}.imagify-modal .imagify-comparison-title .twentytwenty-duo-buttons{position:static;margin:0 10px 0 15px}.imagify-comparison-title .twentytwenty-duo-buttons button{float:none;padding:6px 12px;font-size:16px;text-transform:none;border:1px solid #40b1d0;color:#889;letter-spacing:0}.imagify-comparison-title .twentytwenty-duo-buttons button:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.imagify-comparison-title .twentytwenty-duo-buttons .selected{border:1px solid #40b1d0;color:#fff;background:#40b1d0}.imagify-comparison-levels{margin:15px 0;overflow:hidden}.imagify-comparison-levels .imagify-c-level{display:none;min-width:175px;font-size:11px}.imagify-c-level.go-left{float:left}.imagify-c-level.go-right{float:right}.imagify-c-level.go-left,.imagify-c-level.go-right{display:table}.imagify-c-level .imagify-c-level-row{display:table-row;margin:0;color:#fff}.imagify-c-level-row>span{display:table-cell;padding:2px 0}.imagify-c-level-row .value{text-align:right;padding-left:5px}.imagify-c-level-row .value.level{color:#40b1d0}.imagify-c-level-row .value.size{color:#8bc34a;font-weight:700}.imagify-modal .loader{position:absolute;top:50%;left:50%;margin:-32px 0 0 -32px;opacity:0;visibility:hidden;-webkit-transition:opacity .4s;-o-transition:opacity .4s;transition:opacity .4s}.imagify-modal .loading .loader{visibility:visible;opacity:1}.modal-is-too-high .imagify-comparison-levels{position:absolute;padding:15px 20px;background:rgba(31,35,50,.95);bottom:0;left:0;right:0;margin-bottom:0}
|
assets/js/pricing-modal.js
CHANGED
@@ -199,7 +199,7 @@
|
|
199 |
$offer.find('.imagify-approx-nb').text(quo * 5);
|
200 |
|
201 |
if ('monthly' === type) {
|
202 |
-
//
|
203 |
$offer.find('.imagify-price-add-data').text('$' + add);
|
204 |
}
|
205 |
|
199 |
$offer.find('.imagify-approx-nb').text(quo * 5);
|
200 |
|
201 |
if ('monthly' === type) {
|
202 |
+
// Additional price.
|
203 |
$offer.find('.imagify-price-add-data').text('$' + add);
|
204 |
}
|
205 |
|
classes/Context/AbstractContext.php
CHANGED
@@ -1,8 +1,6 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
-
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
5 |
-
|
6 |
/**
|
7 |
* Abstract used for contexts.
|
8 |
*
|
@@ -16,7 +14,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
16 |
*
|
17 |
* @var string
|
18 |
* @since 1.9
|
19 |
-
* @access protected
|
20 |
* @author Grégory Viguier
|
21 |
*/
|
22 |
protected $context;
|
@@ -26,7 +23,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
26 |
*
|
27 |
* @var bool
|
28 |
* @since 1.9
|
29 |
-
* @access protected
|
30 |
* @author Grégory Viguier
|
31 |
*/
|
32 |
protected $is_network_wide = false;
|
@@ -39,7 +35,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
39 |
* - 'image' to allow only images.
|
40 |
* - 'not-image' to allow only pdf files.
|
41 |
* @since 1.9
|
42 |
-
* @access protected
|
43 |
* @see imagify_get_mime_types()
|
44 |
* @author Grégory Viguier
|
45 |
*/
|
@@ -58,7 +53,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
58 |
* @type string $name The size name.
|
59 |
* }
|
60 |
* @since 1.9
|
61 |
-
* @access protected
|
62 |
* @author Grégory Viguier
|
63 |
*/
|
64 |
protected $thumbnail_sizes;
|
@@ -68,26 +62,14 @@ abstract class AbstractContext implements ContextInterface {
|
|
68 |
*
|
69 |
* @var bool
|
70 |
* @since 1.9
|
71 |
-
* @access protected
|
72 |
* @author Grégory Viguier
|
73 |
*/
|
74 |
protected $can_backup;
|
75 |
|
76 |
-
/**
|
77 |
-
* Tell if the optimization process is allowed to keep exif in this context.
|
78 |
-
*
|
79 |
-
* @var bool
|
80 |
-
* @since 1.9
|
81 |
-
* @access protected
|
82 |
-
* @author Grégory Viguier
|
83 |
-
*/
|
84 |
-
protected $can_keep_exif;
|
85 |
-
|
86 |
/**
|
87 |
* Get the context "short name".
|
88 |
*
|
89 |
* @since 1.9
|
90 |
-
* @access public
|
91 |
* @author Grégory Viguier
|
92 |
*
|
93 |
* @return string
|
@@ -100,7 +82,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
100 |
* Tell if the context is network-wide.
|
101 |
*
|
102 |
* @since 1.9
|
103 |
-
* @access public
|
104 |
* @author Grégory Viguier
|
105 |
*
|
106 |
* @return bool
|
@@ -113,7 +94,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
113 |
* Get the type of files this context allows.
|
114 |
*
|
115 |
* @since 1.9
|
116 |
-
* @access protected
|
117 |
* @see imagify_get_mime_types()
|
118 |
* @author Grégory Viguier
|
119 |
*
|
@@ -130,7 +110,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
130 |
* Get the thumbnail sizes for this context, except the full size.
|
131 |
*
|
132 |
* @since 1.9
|
133 |
-
* @access public
|
134 |
* @author Grégory Viguier
|
135 |
*
|
136 |
* @return array {
|
@@ -151,7 +130,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
151 |
* Tell if the optimization process is allowed resize in this context.
|
152 |
*
|
153 |
* @since 1.9
|
154 |
-
* @access public
|
155 |
* @author Grégory Viguier
|
156 |
*
|
157 |
* @return bool
|
@@ -164,7 +142,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
164 |
* Tell if the optimization process is allowed to backup in this context.
|
165 |
*
|
166 |
* @since 1.9
|
167 |
-
* @access public
|
168 |
* @author Grégory Viguier
|
169 |
*
|
170 |
* @return bool
|
@@ -173,24 +150,10 @@ abstract class AbstractContext implements ContextInterface {
|
|
173 |
return $this->can_backup;
|
174 |
}
|
175 |
|
176 |
-
/**
|
177 |
-
* Tell if the optimization process is allowed to keep exif in this context.
|
178 |
-
*
|
179 |
-
* @since 1.9
|
180 |
-
* @access public
|
181 |
-
* @author Grégory Viguier
|
182 |
-
*
|
183 |
-
* @return bool
|
184 |
-
*/
|
185 |
-
public function can_keep_exif() {
|
186 |
-
return $this->can_keep_exif;
|
187 |
-
}
|
188 |
-
|
189 |
/**
|
190 |
* Tell if the current user is allowed to operate Imagify in this context.
|
191 |
*
|
192 |
* @since 1.9
|
193 |
-
* @access public
|
194 |
* @author Grégory Viguier
|
195 |
*
|
196 |
* @param string $describer Capacity describer. See $this->get_capacity() for possible values. Can also be a "real" user capacity.
|
@@ -205,7 +168,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
205 |
* Tell if a user is allowed to operate Imagify in this context.
|
206 |
*
|
207 |
* @since 1.9
|
208 |
-
* @access public
|
209 |
* @author Grégory Viguier
|
210 |
*
|
211 |
* @param int|\WP_User $user_id A user ID or \WP_User object. Fallback to the current user ID.
|
@@ -276,7 +238,6 @@ abstract class AbstractContext implements ContextInterface {
|
|
276 |
* Filter a user capacity used to operate Imagify in this context.
|
277 |
*
|
278 |
* @since 1.9
|
279 |
-
* @access protected
|
280 |
* @author Grégory Viguier
|
281 |
*
|
282 |
* @param string $capacity The user capacity.
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
|
|
|
|
4 |
/**
|
5 |
* Abstract used for contexts.
|
6 |
*
|
14 |
*
|
15 |
* @var string
|
16 |
* @since 1.9
|
|
|
17 |
* @author Grégory Viguier
|
18 |
*/
|
19 |
protected $context;
|
23 |
*
|
24 |
* @var bool
|
25 |
* @since 1.9
|
|
|
26 |
* @author Grégory Viguier
|
27 |
*/
|
28 |
protected $is_network_wide = false;
|
35 |
* - 'image' to allow only images.
|
36 |
* - 'not-image' to allow only pdf files.
|
37 |
* @since 1.9
|
|
|
38 |
* @see imagify_get_mime_types()
|
39 |
* @author Grégory Viguier
|
40 |
*/
|
53 |
* @type string $name The size name.
|
54 |
* }
|
55 |
* @since 1.9
|
|
|
56 |
* @author Grégory Viguier
|
57 |
*/
|
58 |
protected $thumbnail_sizes;
|
62 |
*
|
63 |
* @var bool
|
64 |
* @since 1.9
|
|
|
65 |
* @author Grégory Viguier
|
66 |
*/
|
67 |
protected $can_backup;
|
68 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
/**
|
70 |
* Get the context "short name".
|
71 |
*
|
72 |
* @since 1.9
|
|
|
73 |
* @author Grégory Viguier
|
74 |
*
|
75 |
* @return string
|
82 |
* Tell if the context is network-wide.
|
83 |
*
|
84 |
* @since 1.9
|
|
|
85 |
* @author Grégory Viguier
|
86 |
*
|
87 |
* @return bool
|
94 |
* Get the type of files this context allows.
|
95 |
*
|
96 |
* @since 1.9
|
|
|
97 |
* @see imagify_get_mime_types()
|
98 |
* @author Grégory Viguier
|
99 |
*
|
110 |
* Get the thumbnail sizes for this context, except the full size.
|
111 |
*
|
112 |
* @since 1.9
|
|
|
113 |
* @author Grégory Viguier
|
114 |
*
|
115 |
* @return array {
|
130 |
* Tell if the optimization process is allowed resize in this context.
|
131 |
*
|
132 |
* @since 1.9
|
|
|
133 |
* @author Grégory Viguier
|
134 |
*
|
135 |
* @return bool
|
142 |
* Tell if the optimization process is allowed to backup in this context.
|
143 |
*
|
144 |
* @since 1.9
|
|
|
145 |
* @author Grégory Viguier
|
146 |
*
|
147 |
* @return bool
|
150 |
return $this->can_backup;
|
151 |
}
|
152 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
/**
|
154 |
* Tell if the current user is allowed to operate Imagify in this context.
|
155 |
*
|
156 |
* @since 1.9
|
|
|
157 |
* @author Grégory Viguier
|
158 |
*
|
159 |
* @param string $describer Capacity describer. See $this->get_capacity() for possible values. Can also be a "real" user capacity.
|
168 |
* Tell if a user is allowed to operate Imagify in this context.
|
169 |
*
|
170 |
* @since 1.9
|
|
|
171 |
* @author Grégory Viguier
|
172 |
*
|
173 |
* @param int|\WP_User $user_id A user ID or \WP_User object. Fallback to the current user ID.
|
238 |
* Filter a user capacity used to operate Imagify in this context.
|
239 |
*
|
240 |
* @since 1.9
|
|
|
241 |
* @author Grégory Viguier
|
242 |
*
|
243 |
* @param string $capacity The user capacity.
|
classes/Context/ContextInterface.php
CHANGED
@@ -1,8 +1,6 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
-
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
5 |
-
|
6 |
/**
|
7 |
* Interface to use for contexts.
|
8 |
*
|
@@ -15,7 +13,6 @@ interface ContextInterface {
|
|
15 |
* Get the main Instance.
|
16 |
*
|
17 |
* @since 1.9
|
18 |
-
* @access protected
|
19 |
* @author Grégory Viguier
|
20 |
*
|
21 |
* @return object Main instance.
|
@@ -26,7 +23,6 @@ interface ContextInterface {
|
|
26 |
* Get the context "short name".
|
27 |
*
|
28 |
* @since 1.9
|
29 |
-
* @access public
|
30 |
* @author Grégory Viguier
|
31 |
*
|
32 |
* @return string
|
@@ -37,7 +33,6 @@ interface ContextInterface {
|
|
37 |
* Tell if the context is network-wide.
|
38 |
*
|
39 |
* @since 1.9
|
40 |
-
* @access public
|
41 |
* @author Grégory Viguier
|
42 |
*
|
43 |
* @return bool
|
@@ -48,7 +43,6 @@ interface ContextInterface {
|
|
48 |
* Get the type of files this context allows.
|
49 |
*
|
50 |
* @since 1.9
|
51 |
-
* @access protected
|
52 |
* @see imagify_get_mime_types()
|
53 |
* @author Grégory Viguier
|
54 |
*
|
@@ -63,7 +57,6 @@ interface ContextInterface {
|
|
63 |
* Get the thumbnail sizes for this context, except the full size.
|
64 |
*
|
65 |
* @since 1.9
|
66 |
-
* @access public
|
67 |
* @author Grégory Viguier
|
68 |
*
|
69 |
* @return array {
|
@@ -83,7 +76,6 @@ interface ContextInterface {
|
|
83 |
* 0 means to not resize.
|
84 |
*
|
85 |
* @since 1.9.8
|
86 |
-
* @access public
|
87 |
* @author Grégory Viguier
|
88 |
*
|
89 |
* @return int
|
@@ -94,7 +86,6 @@ interface ContextInterface {
|
|
94 |
* Tell if the optimization process is allowed resize in this context.
|
95 |
*
|
96 |
* @since 1.9
|
97 |
-
* @access public
|
98 |
* @author Grégory Viguier
|
99 |
*
|
100 |
* @return bool
|
@@ -105,29 +96,16 @@ interface ContextInterface {
|
|
105 |
* Tell if the optimization process is allowed to backup in this context.
|
106 |
*
|
107 |
* @since 1.9
|
108 |
-
* @access public
|
109 |
* @author Grégory Viguier
|
110 |
*
|
111 |
* @return bool
|
112 |
*/
|
113 |
public function can_backup();
|
114 |
|
115 |
-
/**
|
116 |
-
* Tell if the optimization process is allowed to keep exif in this context.
|
117 |
-
*
|
118 |
-
* @since 1.9
|
119 |
-
* @access public
|
120 |
-
* @author Grégory Viguier
|
121 |
-
*
|
122 |
-
* @return bool
|
123 |
-
*/
|
124 |
-
public function can_keep_exif();
|
125 |
-
|
126 |
/**
|
127 |
* Tell if the current user is allowed to operate Imagify in this context.
|
128 |
*
|
129 |
* @since 1.9
|
130 |
-
* @access public
|
131 |
* @author Grégory Viguier
|
132 |
*
|
133 |
* @param string $describer Capacity describer. See $this->get_capacity() for possible values. Can also be a "real" user capacity.
|
@@ -140,7 +118,6 @@ interface ContextInterface {
|
|
140 |
* Tell if a user is allowed to operate Imagify in this context.
|
141 |
*
|
142 |
* @since 1.9
|
143 |
-
* @access public
|
144 |
* @author Grégory Viguier
|
145 |
*
|
146 |
* @param int $user_id A user ID.
|
@@ -155,7 +132,6 @@ interface ContextInterface {
|
|
155 |
*
|
156 |
* @since 1.9
|
157 |
* @since 1.9 The describer 'auto-optimize' is not used anymore.
|
158 |
-
* @access public
|
159 |
* @author Grégory Viguier
|
160 |
*
|
161 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
|
|
|
|
4 |
/**
|
5 |
* Interface to use for contexts.
|
6 |
*
|
13 |
* Get the main Instance.
|
14 |
*
|
15 |
* @since 1.9
|
|
|
16 |
* @author Grégory Viguier
|
17 |
*
|
18 |
* @return object Main instance.
|
23 |
* Get the context "short name".
|
24 |
*
|
25 |
* @since 1.9
|
|
|
26 |
* @author Grégory Viguier
|
27 |
*
|
28 |
* @return string
|
33 |
* Tell if the context is network-wide.
|
34 |
*
|
35 |
* @since 1.9
|
|
|
36 |
* @author Grégory Viguier
|
37 |
*
|
38 |
* @return bool
|
43 |
* Get the type of files this context allows.
|
44 |
*
|
45 |
* @since 1.9
|
|
|
46 |
* @see imagify_get_mime_types()
|
47 |
* @author Grégory Viguier
|
48 |
*
|
57 |
* Get the thumbnail sizes for this context, except the full size.
|
58 |
*
|
59 |
* @since 1.9
|
|
|
60 |
* @author Grégory Viguier
|
61 |
*
|
62 |
* @return array {
|
76 |
* 0 means to not resize.
|
77 |
*
|
78 |
* @since 1.9.8
|
|
|
79 |
* @author Grégory Viguier
|
80 |
*
|
81 |
* @return int
|
86 |
* Tell if the optimization process is allowed resize in this context.
|
87 |
*
|
88 |
* @since 1.9
|
|
|
89 |
* @author Grégory Viguier
|
90 |
*
|
91 |
* @return bool
|
96 |
* Tell if the optimization process is allowed to backup in this context.
|
97 |
*
|
98 |
* @since 1.9
|
|
|
99 |
* @author Grégory Viguier
|
100 |
*
|
101 |
* @return bool
|
102 |
*/
|
103 |
public function can_backup();
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
/**
|
106 |
* Tell if the current user is allowed to operate Imagify in this context.
|
107 |
*
|
108 |
* @since 1.9
|
|
|
109 |
* @author Grégory Viguier
|
110 |
*
|
111 |
* @param string $describer Capacity describer. See $this->get_capacity() for possible values. Can also be a "real" user capacity.
|
118 |
* Tell if a user is allowed to operate Imagify in this context.
|
119 |
*
|
120 |
* @since 1.9
|
|
|
121 |
* @author Grégory Viguier
|
122 |
*
|
123 |
* @param int $user_id A user ID.
|
132 |
*
|
133 |
* @since 1.9
|
134 |
* @since 1.9 The describer 'auto-optimize' is not used anymore.
|
|
|
135 |
* @author Grégory Viguier
|
136 |
*
|
137 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
classes/Context/CustomFolders.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
-
|
5 |
|
6 |
/**
|
7 |
* Context class used for the custom folders.
|
@@ -10,14 +10,13 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
10 |
* @author Grégory Viguier
|
11 |
*/
|
12 |
class CustomFolders extends AbstractContext {
|
13 |
-
use
|
14 |
|
15 |
/**
|
16 |
* Context "short name".
|
17 |
*
|
18 |
* @var string
|
19 |
* @since 1.9
|
20 |
-
* @access protected
|
21 |
* @author Grégory Viguier
|
22 |
*/
|
23 |
protected $context = 'custom-folders';
|
@@ -35,7 +34,6 @@ class CustomFolders extends AbstractContext {
|
|
35 |
* @type string $name The size name.
|
36 |
* }
|
37 |
* @since 1.9
|
38 |
-
* @access public
|
39 |
* @author Grégory Viguier
|
40 |
*/
|
41 |
protected $thumbnail_sizes = [];
|
@@ -45,7 +43,6 @@ class CustomFolders extends AbstractContext {
|
|
45 |
* 0 means to not resize.
|
46 |
*
|
47 |
* @since 1.9.8
|
48 |
-
* @access public
|
49 |
* @author Grégory Viguier
|
50 |
*
|
51 |
* @return int
|
@@ -58,7 +55,6 @@ class CustomFolders extends AbstractContext {
|
|
58 |
* Tell if the optimization process is allowed to backup in this context.
|
59 |
*
|
60 |
* @since 1.9
|
61 |
-
* @access public
|
62 |
* @author Grégory Viguier
|
63 |
*
|
64 |
* @return bool
|
@@ -73,30 +69,10 @@ class CustomFolders extends AbstractContext {
|
|
73 |
return $this->can_backup;
|
74 |
}
|
75 |
|
76 |
-
/**
|
77 |
-
* Tell if the optimization process is allowed to keep exif in this context.
|
78 |
-
*
|
79 |
-
* @since 1.9
|
80 |
-
* @access public
|
81 |
-
* @author Grégory Viguier
|
82 |
-
*
|
83 |
-
* @return bool
|
84 |
-
*/
|
85 |
-
public function can_keep_exif() {
|
86 |
-
if ( isset( $this->can_keep_exif ) ) {
|
87 |
-
return $this->can_keep_exif;
|
88 |
-
}
|
89 |
-
|
90 |
-
$this->can_keep_exif = get_imagify_option( 'exif' );
|
91 |
-
|
92 |
-
return $this->can_keep_exif;
|
93 |
-
}
|
94 |
-
|
95 |
/**
|
96 |
* Get user capacity to operate Imagify in this context.
|
97 |
*
|
98 |
* @since 1.9
|
99 |
-
* @access public
|
100 |
* @author Grégory Viguier
|
101 |
*
|
102 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
+
use \Imagify\Traits\InstanceGetterTrait;
|
5 |
|
6 |
/**
|
7 |
* Context class used for the custom folders.
|
10 |
* @author Grégory Viguier
|
11 |
*/
|
12 |
class CustomFolders extends AbstractContext {
|
13 |
+
use InstanceGetterTrait;
|
14 |
|
15 |
/**
|
16 |
* Context "short name".
|
17 |
*
|
18 |
* @var string
|
19 |
* @since 1.9
|
|
|
20 |
* @author Grégory Viguier
|
21 |
*/
|
22 |
protected $context = 'custom-folders';
|
34 |
* @type string $name The size name.
|
35 |
* }
|
36 |
* @since 1.9
|
|
|
37 |
* @author Grégory Viguier
|
38 |
*/
|
39 |
protected $thumbnail_sizes = [];
|
43 |
* 0 means to not resize.
|
44 |
*
|
45 |
* @since 1.9.8
|
|
|
46 |
* @author Grégory Viguier
|
47 |
*
|
48 |
* @return int
|
55 |
* Tell if the optimization process is allowed to backup in this context.
|
56 |
*
|
57 |
* @since 1.9
|
|
|
58 |
* @author Grégory Viguier
|
59 |
*
|
60 |
* @return bool
|
69 |
return $this->can_backup;
|
70 |
}
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
/**
|
73 |
* Get user capacity to operate Imagify in this context.
|
74 |
*
|
75 |
* @since 1.9
|
|
|
76 |
* @author Grégory Viguier
|
77 |
*
|
78 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
classes/Context/Noop.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
-
|
5 |
|
6 |
/**
|
7 |
* Fallback class for contexts.
|
@@ -10,13 +10,12 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
10 |
* @author Grégory Viguier
|
11 |
*/
|
12 |
class Noop implements ContextInterface {
|
13 |
-
use
|
14 |
|
15 |
/**
|
16 |
* Get the context "short name".
|
17 |
*
|
18 |
* @since 1.9
|
19 |
-
* @access public
|
20 |
* @author Grégory Viguier
|
21 |
*
|
22 |
* @return string
|
@@ -29,7 +28,6 @@ class Noop implements ContextInterface {
|
|
29 |
* Tell if the context is network-wide.
|
30 |
*
|
31 |
* @since 1.9
|
32 |
-
* @access public
|
33 |
* @author Grégory Viguier
|
34 |
*
|
35 |
* @return bool
|
@@ -42,7 +40,6 @@ class Noop implements ContextInterface {
|
|
42 |
* Get the type of files this context allows.
|
43 |
*
|
44 |
* @since 1.9
|
45 |
-
* @access protected
|
46 |
* @see imagify_get_mime_types()
|
47 |
* @author Grégory Viguier
|
48 |
*
|
@@ -59,7 +56,6 @@ class Noop implements ContextInterface {
|
|
59 |
* Get the thumbnail sizes for this context, except the full size.
|
60 |
*
|
61 |
* @since 1.9
|
62 |
-
* @access public
|
63 |
* @author Grégory Viguier
|
64 |
*
|
65 |
* @return array {
|
@@ -81,7 +77,6 @@ class Noop implements ContextInterface {
|
|
81 |
* 0 means to not resize.
|
82 |
*
|
83 |
* @since 1.9.8
|
84 |
-
* @access public
|
85 |
* @author Grégory Viguier
|
86 |
*
|
87 |
* @return int
|
@@ -91,36 +86,33 @@ class Noop implements ContextInterface {
|
|
91 |
}
|
92 |
|
93 |
/**
|
94 |
-
* Tell if the optimization process is allowed
|
95 |
*
|
96 |
* @since 1.9
|
97 |
-
* @access public
|
98 |
* @author Grégory Viguier
|
99 |
*
|
100 |
* @return bool
|
101 |
*/
|
102 |
-
public function
|
103 |
return false;
|
104 |
}
|
105 |
|
106 |
/**
|
107 |
-
* Tell if the optimization process is allowed to
|
108 |
*
|
109 |
* @since 1.9
|
110 |
-
* @access public
|
111 |
* @author Grégory Viguier
|
112 |
*
|
113 |
* @return bool
|
114 |
*/
|
115 |
-
public function
|
116 |
-
return
|
117 |
}
|
118 |
|
119 |
/**
|
120 |
* Tell if the current user is allowed to operate Imagify in this context.
|
121 |
*
|
122 |
* @since 1.9
|
123 |
-
* @access public
|
124 |
* @author Grégory Viguier
|
125 |
*
|
126 |
* @param string $describer Capacity describer. See $this->get_capacity() for possible values. Can also be a "real" user capacity.
|
@@ -135,7 +127,6 @@ class Noop implements ContextInterface {
|
|
135 |
* Tell if a user is allowed to operate Imagify in this context.
|
136 |
*
|
137 |
* @since 1.9
|
138 |
-
* @access public
|
139 |
* @author Grégory Viguier
|
140 |
*
|
141 |
* @param int $user_id A user ID.
|
@@ -151,7 +142,6 @@ class Noop implements ContextInterface {
|
|
151 |
* Get user capacity to operate Imagify in this context.
|
152 |
*
|
153 |
* @since 1.9
|
154 |
-
* @access public
|
155 |
* @author Grégory Viguier
|
156 |
*
|
157 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
+
use \Imagify\Traits\InstanceGetterTrait;
|
5 |
|
6 |
/**
|
7 |
* Fallback class for contexts.
|
10 |
* @author Grégory Viguier
|
11 |
*/
|
12 |
class Noop implements ContextInterface {
|
13 |
+
use InstanceGetterTrait;
|
14 |
|
15 |
/**
|
16 |
* Get the context "short name".
|
17 |
*
|
18 |
* @since 1.9
|
|
|
19 |
* @author Grégory Viguier
|
20 |
*
|
21 |
* @return string
|
28 |
* Tell if the context is network-wide.
|
29 |
*
|
30 |
* @since 1.9
|
|
|
31 |
* @author Grégory Viguier
|
32 |
*
|
33 |
* @return bool
|
40 |
* Get the type of files this context allows.
|
41 |
*
|
42 |
* @since 1.9
|
|
|
43 |
* @see imagify_get_mime_types()
|
44 |
* @author Grégory Viguier
|
45 |
*
|
56 |
* Get the thumbnail sizes for this context, except the full size.
|
57 |
*
|
58 |
* @since 1.9
|
|
|
59 |
* @author Grégory Viguier
|
60 |
*
|
61 |
* @return array {
|
77 |
* 0 means to not resize.
|
78 |
*
|
79 |
* @since 1.9.8
|
|
|
80 |
* @author Grégory Viguier
|
81 |
*
|
82 |
* @return int
|
86 |
}
|
87 |
|
88 |
/**
|
89 |
+
* Tell if the optimization process is allowed resize in this context.
|
90 |
*
|
91 |
* @since 1.9
|
|
|
92 |
* @author Grégory Viguier
|
93 |
*
|
94 |
* @return bool
|
95 |
*/
|
96 |
+
public function can_resize() {
|
97 |
return false;
|
98 |
}
|
99 |
|
100 |
/**
|
101 |
+
* Tell if the optimization process is allowed to backup in this context.
|
102 |
*
|
103 |
* @since 1.9
|
|
|
104 |
* @author Grégory Viguier
|
105 |
*
|
106 |
* @return bool
|
107 |
*/
|
108 |
+
public function can_backup() {
|
109 |
+
return false;
|
110 |
}
|
111 |
|
112 |
/**
|
113 |
* Tell if the current user is allowed to operate Imagify in this context.
|
114 |
*
|
115 |
* @since 1.9
|
|
|
116 |
* @author Grégory Viguier
|
117 |
*
|
118 |
* @param string $describer Capacity describer. See $this->get_capacity() for possible values. Can also be a "real" user capacity.
|
127 |
* Tell if a user is allowed to operate Imagify in this context.
|
128 |
*
|
129 |
* @since 1.9
|
|
|
130 |
* @author Grégory Viguier
|
131 |
*
|
132 |
* @param int $user_id A user ID.
|
142 |
* Get user capacity to operate Imagify in this context.
|
143 |
*
|
144 |
* @since 1.9
|
|
|
145 |
* @author Grégory Viguier
|
146 |
*
|
147 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
classes/Context/WP.php
CHANGED
@@ -1,8 +1,6 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
4 |
-
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
5 |
-
|
6 |
/**
|
7 |
* Context class used for the WP media library.
|
8 |
*
|
@@ -17,7 +15,6 @@ class WP extends AbstractContext {
|
|
17 |
*
|
18 |
* @var string
|
19 |
* @since 1.9
|
20 |
-
* @access protected
|
21 |
* @author Grégory Viguier
|
22 |
*/
|
23 |
protected $context = 'wp';
|
@@ -27,7 +24,6 @@ class WP extends AbstractContext {
|
|
27 |
*
|
28 |
* @var int
|
29 |
* @since 1.9.8
|
30 |
-
* @access protected
|
31 |
* @author Grégory Viguier
|
32 |
*/
|
33 |
protected $resizing_threshold;
|
@@ -36,7 +32,6 @@ class WP extends AbstractContext {
|
|
36 |
* Get the thumbnail sizes for this context, except the full size.
|
37 |
*
|
38 |
* @since 1.9
|
39 |
-
* @access public
|
40 |
* @author Grégory Viguier
|
41 |
*
|
42 |
* @return array {
|
@@ -64,7 +59,6 @@ class WP extends AbstractContext {
|
|
64 |
* 0 means to not resize.
|
65 |
*
|
66 |
* @since 1.9.8
|
67 |
-
* @access public
|
68 |
* @author Grégory Viguier
|
69 |
*
|
70 |
* @return int
|
@@ -87,7 +81,6 @@ class WP extends AbstractContext {
|
|
87 |
* Tell if the optimization process is allowed to backup in this context.
|
88 |
*
|
89 |
* @since 1.9
|
90 |
-
* @access public
|
91 |
* @author Grégory Viguier
|
92 |
*
|
93 |
* @return bool
|
@@ -102,30 +95,10 @@ class WP extends AbstractContext {
|
|
102 |
return $this->can_backup;
|
103 |
}
|
104 |
|
105 |
-
/**
|
106 |
-
* Tell if the optimization process is allowed to keep exif in this context.
|
107 |
-
*
|
108 |
-
* @since 1.9
|
109 |
-
* @access public
|
110 |
-
* @author Grégory Viguier
|
111 |
-
*
|
112 |
-
* @return bool
|
113 |
-
*/
|
114 |
-
public function can_keep_exif() {
|
115 |
-
if ( isset( $this->can_keep_exif ) ) {
|
116 |
-
return $this->can_keep_exif;
|
117 |
-
}
|
118 |
-
|
119 |
-
$this->can_keep_exif = get_imagify_option( 'exif' );
|
120 |
-
|
121 |
-
return $this->can_keep_exif;
|
122 |
-
}
|
123 |
-
|
124 |
/**
|
125 |
* Get user capacity to operate Imagify in this context.
|
126 |
*
|
127 |
* @since 1.9
|
128 |
-
* @access public
|
129 |
* @author Grégory Viguier
|
130 |
*
|
131 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
1 |
<?php
|
2 |
namespace Imagify\Context;
|
3 |
|
|
|
|
|
4 |
/**
|
5 |
* Context class used for the WP media library.
|
6 |
*
|
15 |
*
|
16 |
* @var string
|
17 |
* @since 1.9
|
|
|
18 |
* @author Grégory Viguier
|
19 |
*/
|
20 |
protected $context = 'wp';
|
24 |
*
|
25 |
* @var int
|
26 |
* @since 1.9.8
|
|
|
27 |
* @author Grégory Viguier
|
28 |
*/
|
29 |
protected $resizing_threshold;
|
32 |
* Get the thumbnail sizes for this context, except the full size.
|
33 |
*
|
34 |
* @since 1.9
|
|
|
35 |
* @author Grégory Viguier
|
36 |
*
|
37 |
* @return array {
|
59 |
* 0 means to not resize.
|
60 |
*
|
61 |
* @since 1.9.8
|
|
|
62 |
* @author Grégory Viguier
|
63 |
*
|
64 |
* @return int
|
81 |
* Tell if the optimization process is allowed to backup in this context.
|
82 |
*
|
83 |
* @since 1.9
|
|
|
84 |
* @author Grégory Viguier
|
85 |
*
|
86 |
* @return bool
|
95 |
return $this->can_backup;
|
96 |
}
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
/**
|
99 |
* Get user capacity to operate Imagify in this context.
|
100 |
*
|
101 |
* @since 1.9
|
|
|
102 |
* @author Grégory Viguier
|
103 |
*
|
104 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
classes/Optimization/File.php
CHANGED
@@ -3,8 +3,6 @@ namespace Imagify\Optimization;
|
|
3 |
|
4 |
use Imagify_Requirements;
|
5 |
|
6 |
-
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
7 |
-
|
8 |
/**
|
9 |
* A generic optimization class focussed on the file itself.
|
10 |
*
|
@@ -18,7 +16,6 @@ class File {
|
|
18 |
*
|
19 |
* @var string
|
20 |
* @since 1.9
|
21 |
-
* @access protected
|
22 |
* @author Grégory Viguier
|
23 |
*/
|
24 |
protected $path;
|
@@ -28,7 +25,6 @@ class File {
|
|
28 |
*
|
29 |
* @var bool
|
30 |
* @since 1.9
|
31 |
-
* @access protected
|
32 |
* @see $this->is_image()
|
33 |
* @author Grégory Viguier
|
34 |
*/
|
@@ -39,7 +35,6 @@ class File {
|
|
39 |
*
|
40 |
* @var array
|
41 |
* @since 1.9
|
42 |
-
* @access protected
|
43 |
* @see $this->get_file_type()
|
44 |
* @author Grégory Viguier
|
45 |
*/
|
@@ -50,7 +45,6 @@ class File {
|
|
50 |
*
|
51 |
* @var \Imagify_Filesystem
|
52 |
* @since 1.9
|
53 |
-
* @access protected
|
54 |
* @author Grégory Viguier
|
55 |
*/
|
56 |
protected $filesystem;
|
@@ -60,7 +54,6 @@ class File {
|
|
60 |
*
|
61 |
* @var \WP_Image_Editor_Imagick|\WP_Image_Editor_GD|WP_Error.
|
62 |
* @since 1.9
|
63 |
-
* @access protected
|
64 |
* @author Grégory Viguier
|
65 |
*/
|
66 |
protected $editor;
|
@@ -70,7 +63,6 @@ class File {
|
|
70 |
*
|
71 |
* @var array
|
72 |
* @since 1.9
|
73 |
-
* @access protected
|
74 |
* @author Grégory Viguier
|
75 |
*/
|
76 |
protected $options = [];
|
@@ -79,7 +71,6 @@ class File {
|
|
79 |
* The constructor.
|
80 |
*
|
81 |
* @since 1.9
|
82 |
-
* @access public
|
83 |
* @author Grégory Viguier
|
84 |
*
|
85 |
* @param string $file_path Absolute path to the file.
|
@@ -93,7 +84,6 @@ class File {
|
|
93 |
* Tell if the file is valid.
|
94 |
*
|
95 |
* @since 1.9
|
96 |
-
* @access public
|
97 |
* @author Grégory Viguier
|
98 |
*
|
99 |
* @return bool
|
@@ -106,7 +96,6 @@ class File {
|
|
106 |
* Tell if the file can be processed.
|
107 |
*
|
108 |
* @since 1.9
|
109 |
-
* @access public
|
110 |
* @author Grégory Viguier
|
111 |
*
|
112 |
* @return bool|WP_Error
|
@@ -178,7 +167,6 @@ class File {
|
|
178 |
* Resize (and rotate) an image if it is bigger than the maximum width provided.
|
179 |
*
|
180 |
* @since 1.9
|
181 |
-
* @access public
|
182 |
* @author Grégory Viguier
|
183 |
* @author Remy Perona
|
184 |
*
|
@@ -301,7 +289,6 @@ class File {
|
|
301 |
* Warning: If the destination file already exists, it will be overwritten.
|
302 |
*
|
303 |
* @since 1.9
|
304 |
-
* @access protected
|
305 |
* @author Grégory Viguier
|
306 |
*
|
307 |
* @param array $destination {
|
@@ -386,7 +373,6 @@ class File {
|
|
386 |
*
|
387 |
* @since 1.9
|
388 |
* @since 1.9.8 Added $backup_source argument.
|
389 |
-
* @access public
|
390 |
* @author Grégory Viguier
|
391 |
*
|
392 |
* @param string $backup_path The backup path.
|
@@ -444,7 +430,6 @@ class File {
|
|
444 |
* Optimize a file with Imagify.
|
445 |
*
|
446 |
* @since 1.9
|
447 |
-
* @access public
|
448 |
* @author Grégory Viguier
|
449 |
*
|
450 |
* @param array $args {
|
@@ -453,7 +438,6 @@ class File {
|
|
453 |
* @type bool $backup False to prevent backup. True to follow the user's setting. A backup can't be forced.
|
454 |
* @type string $backup_path If a backup must be done, this is the path to use. Default is the backup path used for the WP Media Library.
|
455 |
* @type int $optimization_level The optimization level (2=ultra, 1=aggressive, 0=normal).
|
456 |
-
* @type bool $keep_exif To keep exif data or not.
|
457 |
* @type string $convert Set to 'webp' to convert the image to WebP.
|
458 |
* @type string $context The context.
|
459 |
* @type int $original_size The file size, sent to the API.
|
@@ -466,7 +450,6 @@ class File {
|
|
466 |
'backup_path' => null,
|
467 |
'backup_source' => null,
|
468 |
'optimization_level' => 0,
|
469 |
-
'keep_exif' => true,
|
470 |
'convert' => '',
|
471 |
'context' => 'wp',
|
472 |
'original_size' => 0,
|
@@ -519,7 +502,7 @@ class File {
|
|
519 |
'normal' => 0 === $args['optimization_level'],
|
520 |
'aggressive' => 1 === $args['optimization_level'],
|
521 |
'ultra' => 2 === $args['optimization_level'],
|
522 |
-
'keep_exif' =>
|
523 |
'original_size' => $args['original_size'],
|
524 |
'context' => $args['context'],
|
525 |
];
|
@@ -596,7 +579,6 @@ class File {
|
|
596 |
* Get an image editor instance (WP_Image_Editor_Imagick, WP_Image_Editor_GD).
|
597 |
*
|
598 |
* @since 1.9
|
599 |
-
* @access protected
|
600 |
* @author Grégory Viguier
|
601 |
*
|
602 |
* @return WP_Image_Editor_Imagick|WP_Image_Editor_GD|WP_Error
|
@@ -631,7 +613,6 @@ class File {
|
|
631 |
* Get the image editor methods we will use.
|
632 |
*
|
633 |
* @since 1.9
|
634 |
-
* @access protected
|
635 |
* @author Grégory Viguier
|
636 |
*
|
637 |
* @return array
|
@@ -666,7 +647,6 @@ class File {
|
|
666 |
* Check if a file exceeds the weight limit (> 5mo).
|
667 |
*
|
668 |
* @since 1.9
|
669 |
-
* @access public
|
670 |
* @author Grégory Viguier
|
671 |
*
|
672 |
* @return bool
|
@@ -685,7 +665,6 @@ class File {
|
|
685 |
* Tell if the current file is supported for a given context.
|
686 |
*
|
687 |
* @since 1.9
|
688 |
-
* @access public
|
689 |
* @see imagify_get_mime_types()
|
690 |
* @author Grégory Viguier
|
691 |
*
|
@@ -700,7 +679,6 @@ class File {
|
|
700 |
* Tell if the file is an image.
|
701 |
*
|
702 |
* @since 1.9
|
703 |
-
* @access public
|
704 |
* @author Grégory Viguier
|
705 |
*
|
706 |
* @return bool
|
@@ -719,7 +697,6 @@ class File {
|
|
719 |
* Tell if the file is a pdf.
|
720 |
*
|
721 |
* @since 1.9
|
722 |
-
* @access public
|
723 |
* @author Grégory Viguier
|
724 |
*
|
725 |
* @return bool
|
@@ -732,7 +709,6 @@ class File {
|
|
732 |
* Get the file mime type.
|
733 |
*
|
734 |
* @since 1.9
|
735 |
-
* @access public
|
736 |
* @author Grégory Viguier
|
737 |
*
|
738 |
* @return string
|
@@ -745,7 +721,6 @@ class File {
|
|
745 |
* Get the file extension.
|
746 |
*
|
747 |
* @since 1.9
|
748 |
-
* @access public
|
749 |
* @author Grégory Viguier
|
750 |
*
|
751 |
* @return string|null
|
@@ -758,7 +733,6 @@ class File {
|
|
758 |
* Get the file path.
|
759 |
*
|
760 |
* @since 1.9
|
761 |
-
* @access public
|
762 |
* @author Grégory Viguier
|
763 |
*
|
764 |
* @return string
|
@@ -771,7 +745,6 @@ class File {
|
|
771 |
* Replace the file extension by WebP.
|
772 |
*
|
773 |
* @since 1.9
|
774 |
-
* @access public
|
775 |
* @author Grégory Viguier
|
776 |
*
|
777 |
* @return string|bool The file path on success. False if not an image or on failure.
|
@@ -793,7 +766,6 @@ class File {
|
|
793 |
* Rejects "path/to/.webp" files.
|
794 |
*
|
795 |
* @since 1.9
|
796 |
-
* @access public
|
797 |
* @author Grégory Viguier
|
798 |
*
|
799 |
* @return bool
|
@@ -806,7 +778,6 @@ class File {
|
|
806 |
* Get the file mime type + file extension.
|
807 |
*
|
808 |
* @since 1.9
|
809 |
-
* @access protected
|
810 |
* @see wp_check_filetype()
|
811 |
* @author Grégory Viguier
|
812 |
*
|
@@ -838,7 +809,6 @@ class File {
|
|
838 |
* If the media is an image, get its width and height.
|
839 |
*
|
840 |
* @since 1.9
|
841 |
-
* @access public
|
842 |
* @author Grégory Viguier
|
843 |
*
|
844 |
* @return array
|
@@ -863,7 +833,6 @@ class File {
|
|
863 |
* Get a plugin’s option.
|
864 |
*
|
865 |
* @since 1.9
|
866 |
-
* @access protected
|
867 |
* @author Grégory Viguier
|
868 |
*
|
869 |
* @param string $option_name The option nme.
|
3 |
|
4 |
use Imagify_Requirements;
|
5 |
|
|
|
|
|
6 |
/**
|
7 |
* A generic optimization class focussed on the file itself.
|
8 |
*
|
16 |
*
|
17 |
* @var string
|
18 |
* @since 1.9
|
|
|
19 |
* @author Grégory Viguier
|
20 |
*/
|
21 |
protected $path;
|
25 |
*
|
26 |
* @var bool
|
27 |
* @since 1.9
|
|
|
28 |
* @see $this->is_image()
|
29 |
* @author Grégory Viguier
|
30 |
*/
|
35 |
*
|
36 |
* @var array
|
37 |
* @since 1.9
|
|
|
38 |
* @see $this->get_file_type()
|
39 |
* @author Grégory Viguier
|
40 |
*/
|
45 |
*
|
46 |
* @var \Imagify_Filesystem
|
47 |
* @since 1.9
|
|
|
48 |
* @author Grégory Viguier
|
49 |
*/
|
50 |
protected $filesystem;
|
54 |
*
|
55 |
* @var \WP_Image_Editor_Imagick|\WP_Image_Editor_GD|WP_Error.
|
56 |
* @since 1.9
|
|
|
57 |
* @author Grégory Viguier
|
58 |
*/
|
59 |
protected $editor;
|
63 |
*
|
64 |
* @var array
|
65 |
* @since 1.9
|
|
|
66 |
* @author Grégory Viguier
|
67 |
*/
|
68 |
protected $options = [];
|
71 |
* The constructor.
|
72 |
*
|
73 |
* @since 1.9
|
|
|
74 |
* @author Grégory Viguier
|
75 |
*
|
76 |
* @param string $file_path Absolute path to the file.
|
84 |
* Tell if the file is valid.
|
85 |
*
|
86 |
* @since 1.9
|
|
|
87 |
* @author Grégory Viguier
|
88 |
*
|
89 |
* @return bool
|
96 |
* Tell if the file can be processed.
|
97 |
*
|
98 |
* @since 1.9
|
|
|
99 |
* @author Grégory Viguier
|
100 |
*
|
101 |
* @return bool|WP_Error
|
167 |
* Resize (and rotate) an image if it is bigger than the maximum width provided.
|
168 |
*
|
169 |
* @since 1.9
|
|
|
170 |
* @author Grégory Viguier
|
171 |
* @author Remy Perona
|
172 |
*
|
289 |
* Warning: If the destination file already exists, it will be overwritten.
|
290 |
*
|
291 |
* @since 1.9
|
|
|
292 |
* @author Grégory Viguier
|
293 |
*
|
294 |
* @param array $destination {
|
373 |
*
|
374 |
* @since 1.9
|
375 |
* @since 1.9.8 Added $backup_source argument.
|
|
|
376 |
* @author Grégory Viguier
|
377 |
*
|
378 |
* @param string $backup_path The backup path.
|
430 |
* Optimize a file with Imagify.
|
431 |
*
|
432 |
* @since 1.9
|
|
|
433 |
* @author Grégory Viguier
|
434 |
*
|
435 |
* @param array $args {
|
438 |
* @type bool $backup False to prevent backup. True to follow the user's setting. A backup can't be forced.
|
439 |
* @type string $backup_path If a backup must be done, this is the path to use. Default is the backup path used for the WP Media Library.
|
440 |
* @type int $optimization_level The optimization level (2=ultra, 1=aggressive, 0=normal).
|
|
|
441 |
* @type string $convert Set to 'webp' to convert the image to WebP.
|
442 |
* @type string $context The context.
|
443 |
* @type int $original_size The file size, sent to the API.
|
450 |
'backup_path' => null,
|
451 |
'backup_source' => null,
|
452 |
'optimization_level' => 0,
|
|
|
453 |
'convert' => '',
|
454 |
'context' => 'wp',
|
455 |
'original_size' => 0,
|
502 |
'normal' => 0 === $args['optimization_level'],
|
503 |
'aggressive' => 1 === $args['optimization_level'],
|
504 |
'ultra' => 2 === $args['optimization_level'],
|
505 |
+
'keep_exif' => true,
|
506 |
'original_size' => $args['original_size'],
|
507 |
'context' => $args['context'],
|
508 |
];
|
579 |
* Get an image editor instance (WP_Image_Editor_Imagick, WP_Image_Editor_GD).
|
580 |
*
|
581 |
* @since 1.9
|
|
|
582 |
* @author Grégory Viguier
|
583 |
*
|
584 |
* @return WP_Image_Editor_Imagick|WP_Image_Editor_GD|WP_Error
|
613 |
* Get the image editor methods we will use.
|
614 |
*
|
615 |
* @since 1.9
|
|
|
616 |
* @author Grégory Viguier
|
617 |
*
|
618 |
* @return array
|
647 |
* Check if a file exceeds the weight limit (> 5mo).
|
648 |
*
|
649 |
* @since 1.9
|
|
|
650 |
* @author Grégory Viguier
|
651 |
*
|
652 |
* @return bool
|
665 |
* Tell if the current file is supported for a given context.
|
666 |
*
|
667 |
* @since 1.9
|
|
|
668 |
* @see imagify_get_mime_types()
|
669 |
* @author Grégory Viguier
|
670 |
*
|
679 |
* Tell if the file is an image.
|
680 |
*
|
681 |
* @since 1.9
|
|
|
682 |
* @author Grégory Viguier
|
683 |
*
|
684 |
* @return bool
|
697 |
* Tell if the file is a pdf.
|
698 |
*
|
699 |
* @since 1.9
|
|
|
700 |
* @author Grégory Viguier
|
701 |
*
|
702 |
* @return bool
|
709 |
* Get the file mime type.
|
710 |
*
|
711 |
* @since 1.9
|
|
|
712 |
* @author Grégory Viguier
|
713 |
*
|
714 |
* @return string
|
721 |
* Get the file extension.
|
722 |
*
|
723 |
* @since 1.9
|
|
|
724 |
* @author Grégory Viguier
|
725 |
*
|
726 |
* @return string|null
|
733 |
* Get the file path.
|
734 |
*
|
735 |
* @since 1.9
|
|
|
736 |
* @author Grégory Viguier
|
737 |
*
|
738 |
* @return string
|
745 |
* Replace the file extension by WebP.
|
746 |
*
|
747 |
* @since 1.9
|
|
|
748 |
* @author Grégory Viguier
|
749 |
*
|
750 |
* @return string|bool The file path on success. False if not an image or on failure.
|
766 |
* Rejects "path/to/.webp" files.
|
767 |
*
|
768 |
* @since 1.9
|
|
|
769 |
* @author Grégory Viguier
|
770 |
*
|
771 |
* @return bool
|
778 |
* Get the file mime type + file extension.
|
779 |
*
|
780 |
* @since 1.9
|
|
|
781 |
* @see wp_check_filetype()
|
782 |
* @author Grégory Viguier
|
783 |
*
|
809 |
* If the media is an image, get its width and height.
|
810 |
*
|
811 |
* @since 1.9
|
|
|
812 |
* @author Grégory Viguier
|
813 |
*
|
814 |
* @return array
|
833 |
* Get a plugin’s option.
|
834 |
*
|
835 |
* @since 1.9
|
|
|
836 |
* @author Grégory Viguier
|
837 |
*
|
838 |
* @param string $option_name The option nme.
|
classes/Optimization/Process/AbstractProcess.php
CHANGED
@@ -1,12 +1,11 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\Optimization\Process;
|
3 |
|
|
|
4 |
use Imagify\Job\MediaOptimization;
|
5 |
use Imagify\Optimization\Data\DataInterface;
|
6 |
use Imagify\Optimization\File;
|
7 |
|
8 |
-
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
9 |
-
|
10 |
/**
|
11 |
* Abstract class used to optimize medias.
|
12 |
*
|
@@ -14,7 +13,7 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
14 |
* @author Grégory Viguier
|
15 |
*/
|
16 |
abstract class AbstractProcess implements ProcessInterface {
|
17 |
-
use
|
18 |
|
19 |
/**
|
20 |
* The suffix used in the thumbnail size name.
|
@@ -49,7 +48,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
49 |
*
|
50 |
* @var DataInterface
|
51 |
* @since 1.9
|
52 |
-
* @access protected
|
53 |
* @author Grégory Viguier
|
54 |
*/
|
55 |
protected $data;
|
@@ -59,7 +57,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
59 |
*
|
60 |
* @var array
|
61 |
* @since 1.9
|
62 |
-
* @access protected
|
63 |
* @author Grégory Viguier
|
64 |
*/
|
65 |
protected $data_format = [
|
@@ -76,7 +73,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
76 |
*
|
77 |
* @var File
|
78 |
* @since 1.9
|
79 |
-
* @access protected
|
80 |
* @author Grégory Viguier
|
81 |
*/
|
82 |
protected $file;
|
@@ -86,7 +82,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
86 |
*
|
87 |
* @var Imagify_Filesystem
|
88 |
* @since 1.9
|
89 |
-
* @access protected
|
90 |
* @author Grégory Viguier
|
91 |
*/
|
92 |
protected $filesystem;
|
@@ -96,7 +91,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
96 |
*
|
97 |
* @var array
|
98 |
* @since 1.9
|
99 |
-
* @access protected
|
100 |
* @author Grégory Viguier
|
101 |
*/
|
102 |
protected $options = [];
|
@@ -105,7 +99,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
105 |
* The constructor.
|
106 |
*
|
107 |
* @since 1.9
|
108 |
-
* @access public
|
109 |
* @see self::constructor_accepts()
|
110 |
* @author Grégory Viguier
|
111 |
*
|
@@ -129,7 +122,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
129 |
* Tell if the given entry can be accepted in the constructor.
|
130 |
*
|
131 |
* @since 1.9
|
132 |
-
* @access public
|
133 |
* @author Grégory Viguier
|
134 |
*
|
135 |
* @param mixed $id Whatever.
|
@@ -150,7 +142,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
150 |
* Get the data instance.
|
151 |
*
|
152 |
* @since 1.9
|
153 |
-
* @access public
|
154 |
* @author Grégory Viguier
|
155 |
*
|
156 |
* @return DataInterface|false
|
@@ -163,7 +154,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
163 |
* Get the media instance.
|
164 |
*
|
165 |
* @since 1.9
|
166 |
-
* @access public
|
167 |
* @author Grégory Viguier
|
168 |
*
|
169 |
* @return MediaInterface|false
|
@@ -180,7 +170,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
180 |
* Get the File instance of the original file.
|
181 |
*
|
182 |
* @since 1.9.8
|
183 |
-
* @access public
|
184 |
* @author Grégory Viguier
|
185 |
*
|
186 |
* @return File|false
|
@@ -203,7 +192,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
203 |
* Get the File instance of the full size file.
|
204 |
*
|
205 |
* @since 1.9.8
|
206 |
-
* @access public
|
207 |
* @author Grégory Viguier
|
208 |
*
|
209 |
* @return File|false
|
@@ -226,7 +214,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
226 |
* Tell if the current media is valid.
|
227 |
*
|
228 |
* @since 1.9
|
229 |
-
* @access public
|
230 |
* @author Grégory Viguier
|
231 |
*
|
232 |
* @return bool
|
@@ -239,7 +226,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
239 |
* Tell if the current user is allowed to operate Imagify in this context.
|
240 |
*
|
241 |
* @since 1.9
|
242 |
-
* @access public
|
243 |
* @author Grégory Viguier
|
244 |
*
|
245 |
* @param string $describer Capacity describer. See \Imagify\Context\ContextInterface->get_capacity() for possible values. Can also be a "real" user capacity.
|
@@ -264,7 +250,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
264 |
* Optimize a media files.
|
265 |
*
|
266 |
* @since 1.9
|
267 |
-
* @access public
|
268 |
* @author Grégory Viguier
|
269 |
*
|
270 |
* @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra).
|
@@ -311,7 +296,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
311 |
* Re-optimize a media files with a different level.
|
312 |
*
|
313 |
* @since 1.9
|
314 |
-
* @access public
|
315 |
* @author Grégory Viguier
|
316 |
*
|
317 |
* @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra).
|
@@ -356,7 +340,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
356 |
* Optimize several file sizes by pushing tasks into the queue.
|
357 |
*
|
358 |
* @since 1.9
|
359 |
-
* @access public
|
360 |
* @see MediaOptimization->task_before()
|
361 |
* @see MediaOptimization->task_after()
|
362 |
* @author Grégory Viguier
|
@@ -479,7 +462,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
479 |
* Optimize one file with Imagify directly.
|
480 |
*
|
481 |
* @since 1.9
|
482 |
-
* @access public
|
483 |
* @author Grégory Viguier
|
484 |
*
|
485 |
* @param string $size The media size.
|
@@ -683,7 +665,7 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
683 |
'backup_source' => 'full' === $thumb_size ? $media->get_original_path() : null,
|
684 |
'optimization_level' => $optimization_level,
|
685 |
'convert' => $webp ? 'webp' : '',
|
686 |
-
'keep_exif' =>
|
687 |
'context' => $media->get_context(),
|
688 |
'original_size' => $response['file_size'],
|
689 |
] );
|
@@ -740,7 +722,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
740 |
* Compare the file size of a file and its WebP version: if the WebP version is heavier than the non-WebP file, delete it.
|
741 |
*
|
742 |
* @since 1.9.4
|
743 |
-
* @access protected
|
744 |
* @author Grégory Viguier
|
745 |
*
|
746 |
* @param array $args {
|
@@ -850,7 +831,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
850 |
* Restore the media files from the backup file.
|
851 |
*
|
852 |
* @since 1.9
|
853 |
-
* @access public
|
854 |
* @author Grégory Viguier
|
855 |
*
|
856 |
* @return bool|WP_Error True on success. A \WP_Error instance on failure.
|
@@ -963,7 +943,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
963 |
* Restore the thumbnails.
|
964 |
*
|
965 |
* @since 1.9
|
966 |
-
* @access protected
|
967 |
* @author Grégory Viguier
|
968 |
*
|
969 |
* @return bool|WP_Error True on success. A \WP_Error instance on failure.
|
@@ -992,7 +971,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
992 |
* Delete the backup file.
|
993 |
*
|
994 |
* @since 1.9
|
995 |
-
* @access public
|
996 |
* @author Grégory Viguier
|
997 |
*/
|
998 |
public function delete_backup() {
|
@@ -1022,7 +1000,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1022 |
* Create a temporary copy of a size file.
|
1023 |
*
|
1024 |
* @since 1.9
|
1025 |
-
* @access protected
|
1026 |
* @author Grégory Viguier
|
1027 |
*
|
1028 |
* @param string $size The image size name.
|
@@ -1172,7 +1149,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1172 |
* Get the path to a temporary copy of a size file.
|
1173 |
*
|
1174 |
* @since 1.9
|
1175 |
-
* @access protected
|
1176 |
* @author Grégory Viguier
|
1177 |
*
|
1178 |
* @param string $size The image size name.
|
@@ -1212,7 +1188,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1212 |
* Maybe resize an image.
|
1213 |
*
|
1214 |
* @since 1.9
|
1215 |
-
* @access public
|
1216 |
* @author Grégory Viguier
|
1217 |
*
|
1218 |
* @param string $size The size name.
|
@@ -1322,7 +1297,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1322 |
* Tell if a size should be resized.
|
1323 |
*
|
1324 |
* @since 1.9
|
1325 |
-
* @access protected
|
1326 |
* @author Grégory Viguier
|
1327 |
*
|
1328 |
* @param string $size The size name.
|
@@ -1350,7 +1324,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1350 |
* Tell if a size should be backuped.
|
1351 |
*
|
1352 |
* @since 1.9
|
1353 |
-
* @access protected
|
1354 |
* @author Grégory Viguier
|
1355 |
*
|
1356 |
* @param string $size The size name.
|
@@ -1369,29 +1342,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1369 |
return $this->get_media()->get_context_instance()->can_backup();
|
1370 |
}
|
1371 |
|
1372 |
-
/**
|
1373 |
-
* Tell if a size should keep exif.
|
1374 |
-
*
|
1375 |
-
* @since 1.9
|
1376 |
-
* @access protected
|
1377 |
-
* @author Grégory Viguier
|
1378 |
-
*
|
1379 |
-
* @param string $size The size name.
|
1380 |
-
* @return bool
|
1381 |
-
*/
|
1382 |
-
protected function can_keep_exif( $size ) {
|
1383 |
-
if ( ! $this->is_valid() ) {
|
1384 |
-
return false;
|
1385 |
-
}
|
1386 |
-
|
1387 |
-
if ( 'full' !== $size && 'full' . static::WEBP_SUFFIX !== $size ) {
|
1388 |
-
// We keep exif only on the main file and its WebP version.
|
1389 |
-
return false;
|
1390 |
-
}
|
1391 |
-
|
1392 |
-
return $this->get_media()->get_context_instance()->can_keep_exif();
|
1393 |
-
}
|
1394 |
-
|
1395 |
|
1396 |
/** ----------------------------------------------------------------------------------------- */
|
1397 |
/** WEBP ==================================================================================== */
|
@@ -1401,7 +1351,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1401 |
* Generate WebP images if they are missing.
|
1402 |
*
|
1403 |
* @since 1.9
|
1404 |
-
* @access public
|
1405 |
* @author Grégory Viguier
|
1406 |
*
|
1407 |
* @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure.
|
@@ -1459,7 +1408,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1459 |
*
|
1460 |
* @since 1.9
|
1461 |
* @since 1.9.6 Return WP_Error or true.
|
1462 |
-
* @access public
|
1463 |
* @author Grégory Viguier
|
1464 |
*
|
1465 |
* @param bool $keep_full Set to true to keep the full size.
|
@@ -1518,7 +1466,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1518 |
*
|
1519 |
* @since 1.9
|
1520 |
* @since 1.9.6 Return WP_Error or true.
|
1521 |
-
* @access protected
|
1522 |
* @author Grégory Viguier
|
1523 |
*
|
1524 |
* @param string $file_path Path to the non-WebP file.
|
@@ -1582,7 +1529,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1582 |
* Tell if a thumbnail size is an "Imagify WebP" size.
|
1583 |
*
|
1584 |
* @since 1.9
|
1585 |
-
* @access public
|
1586 |
* @author Grégory Viguier
|
1587 |
*
|
1588 |
* @param string $size_name The size name.
|
@@ -1606,7 +1552,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1606 |
* Tell if the media has WebP versions.
|
1607 |
*
|
1608 |
* @since 1.9
|
1609 |
-
* @access public
|
1610 |
* @author Grégory Viguier
|
1611 |
*
|
1612 |
* @return bool
|
@@ -1637,7 +1582,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1637 |
* Make sure the file is an image before using this method.
|
1638 |
*
|
1639 |
* @since 1.9.5
|
1640 |
-
* @access public
|
1641 |
* @author Grégory Viguier
|
1642 |
*
|
1643 |
* @param string $file_path Path to the file.
|
@@ -1684,7 +1628,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1684 |
* Tell if a process is running for this media.
|
1685 |
*
|
1686 |
* @since 1.9
|
1687 |
-
* @access public
|
1688 |
* @author Grégory Viguier
|
1689 |
*
|
1690 |
* @return string|bool The action if locked ('optimizing' or 'restoring'). False if not locked.
|
@@ -1710,7 +1653,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1710 |
* Set the running status to "running" for 10 minutes.
|
1711 |
*
|
1712 |
* @since 1.9
|
1713 |
-
* @access public
|
1714 |
* @author Grégory Viguier
|
1715 |
*
|
1716 |
* @param string $action The action performed behind this lock: 'optimizing' or 'restoring'.
|
@@ -1733,7 +1675,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1733 |
* Unset the running status.
|
1734 |
*
|
1735 |
* @since 1.9
|
1736 |
-
* @access public
|
1737 |
* @author Grégory Viguier
|
1738 |
*/
|
1739 |
public function unlock() {
|
@@ -1752,7 +1693,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1752 |
* Get the name of the transient that stores the lock status.
|
1753 |
*
|
1754 |
* @since 1.9
|
1755 |
-
* @access protected
|
1756 |
* @author Grégory Viguier
|
1757 |
*
|
1758 |
* @return string|bool The name on success. False on failure.
|
@@ -1775,7 +1715,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1775 |
* Validate the lock action.
|
1776 |
*
|
1777 |
* @since 1.9
|
1778 |
-
* @access protected
|
1779 |
* @author Grégory Viguier
|
1780 |
*
|
1781 |
* @param string $action The action performed behind this lock: 'optimizing' or 'restoring'.
|
@@ -1804,7 +1743,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1804 |
* Tell if a size already has optimization data.
|
1805 |
*
|
1806 |
* @since 1.9
|
1807 |
-
* @access public
|
1808 |
* @author Grégory Viguier
|
1809 |
*
|
1810 |
* @param string $size The size name.
|
@@ -1820,7 +1758,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1820 |
* Update the optimization data for a size.
|
1821 |
*
|
1822 |
* @since 1.9
|
1823 |
-
* @access public
|
1824 |
* @author Grégory Viguier
|
1825 |
*
|
1826 |
* @param object $response The API response.
|
@@ -1919,7 +1856,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1919 |
* Get a plugin’s option.
|
1920 |
*
|
1921 |
* @since 1.9
|
1922 |
-
* @access protected
|
1923 |
* @author Grégory Viguier
|
1924 |
*
|
1925 |
* @param string $option_name The option nme.
|
@@ -1940,7 +1876,6 @@ abstract class AbstractProcess implements ProcessInterface {
|
|
1940 |
* If not provided (false, null), fallback to the level set in the plugin's settings.
|
1941 |
*
|
1942 |
* @since 1.9
|
1943 |
-
* @access protected
|
1944 |
* @author Grégory Viguier
|
1945 |
*
|
1946 |
* @param mixed $optimization_level The optimization level.
|
1 |
<?php
|
2 |
namespace Imagify\Optimization\Process;
|
3 |
|
4 |
+
use Imagify\Deprecated\Traits\Optimization\Process\AbstractProcessDeprecatedTrait;
|
5 |
use Imagify\Job\MediaOptimization;
|
6 |
use Imagify\Optimization\Data\DataInterface;
|
7 |
use Imagify\Optimization\File;
|
8 |
|
|
|
|
|
9 |
/**
|
10 |
* Abstract class used to optimize medias.
|
11 |
*
|
13 |
* @author Grégory Viguier
|
14 |
*/
|
15 |
abstract class AbstractProcess implements ProcessInterface {
|
16 |
+
use AbstractProcessDeprecatedTrait;
|
17 |
|
18 |
/**
|
19 |
* The suffix used in the thumbnail size name.
|
48 |
*
|
49 |
* @var DataInterface
|
50 |
* @since 1.9
|
|
|
51 |
* @author Grégory Viguier
|
52 |
*/
|
53 |
protected $data;
|
57 |
*
|
58 |
* @var array
|
59 |
* @since 1.9
|
|
|
60 |
* @author Grégory Viguier
|
61 |
*/
|
62 |
protected $data_format = [
|
73 |
*
|
74 |
* @var File
|
75 |
* @since 1.9
|
|
|
76 |
* @author Grégory Viguier
|
77 |
*/
|
78 |
protected $file;
|
82 |
*
|
83 |
* @var Imagify_Filesystem
|
84 |
* @since 1.9
|
|
|
85 |
* @author Grégory Viguier
|
86 |
*/
|
87 |
protected $filesystem;
|
91 |
*
|
92 |
* @var array
|
93 |
* @since 1.9
|
|
|
94 |
* @author Grégory Viguier
|
95 |
*/
|
96 |
protected $options = [];
|
99 |
* The constructor.
|
100 |
*
|
101 |
* @since 1.9
|
|
|
102 |
* @see self::constructor_accepts()
|
103 |
* @author Grégory Viguier
|
104 |
*
|
122 |
* Tell if the given entry can be accepted in the constructor.
|
123 |
*
|
124 |
* @since 1.9
|
|
|
125 |
* @author Grégory Viguier
|
126 |
*
|
127 |
* @param mixed $id Whatever.
|
142 |
* Get the data instance.
|
143 |
*
|
144 |
* @since 1.9
|
|
|
145 |
* @author Grégory Viguier
|
146 |
*
|
147 |
* @return DataInterface|false
|
154 |
* Get the media instance.
|
155 |
*
|
156 |
* @since 1.9
|
|
|
157 |
* @author Grégory Viguier
|
158 |
*
|
159 |
* @return MediaInterface|false
|
170 |
* Get the File instance of the original file.
|
171 |
*
|
172 |
* @since 1.9.8
|
|
|
173 |
* @author Grégory Viguier
|
174 |
*
|
175 |
* @return File|false
|
192 |
* Get the File instance of the full size file.
|
193 |
*
|
194 |
* @since 1.9.8
|
|
|
195 |
* @author Grégory Viguier
|
196 |
*
|
197 |
* @return File|false
|
214 |
* Tell if the current media is valid.
|
215 |
*
|
216 |
* @since 1.9
|
|
|
217 |
* @author Grégory Viguier
|
218 |
*
|
219 |
* @return bool
|
226 |
* Tell if the current user is allowed to operate Imagify in this context.
|
227 |
*
|
228 |
* @since 1.9
|
|
|
229 |
* @author Grégory Viguier
|
230 |
*
|
231 |
* @param string $describer Capacity describer. See \Imagify\Context\ContextInterface->get_capacity() for possible values. Can also be a "real" user capacity.
|
250 |
* Optimize a media files.
|
251 |
*
|
252 |
* @since 1.9
|
|
|
253 |
* @author Grégory Viguier
|
254 |
*
|
255 |
* @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra).
|
296 |
* Re-optimize a media files with a different level.
|
297 |
*
|
298 |
* @since 1.9
|
|
|
299 |
* @author Grégory Viguier
|
300 |
*
|
301 |
* @param int $optimization_level The optimization level (0=normal, 1=aggressive, 2=ultra).
|
340 |
* Optimize several file sizes by pushing tasks into the queue.
|
341 |
*
|
342 |
* @since 1.9
|
|
|
343 |
* @see MediaOptimization->task_before()
|
344 |
* @see MediaOptimization->task_after()
|
345 |
* @author Grégory Viguier
|
462 |
* Optimize one file with Imagify directly.
|
463 |
*
|
464 |
* @since 1.9
|
|
|
465 |
* @author Grégory Viguier
|
466 |
*
|
467 |
* @param string $size The media size.
|
665 |
'backup_source' => 'full' === $thumb_size ? $media->get_original_path() : null,
|
666 |
'optimization_level' => $optimization_level,
|
667 |
'convert' => $webp ? 'webp' : '',
|
668 |
+
'keep_exif' => true,
|
669 |
'context' => $media->get_context(),
|
670 |
'original_size' => $response['file_size'],
|
671 |
] );
|
722 |
* Compare the file size of a file and its WebP version: if the WebP version is heavier than the non-WebP file, delete it.
|
723 |
*
|
724 |
* @since 1.9.4
|
|
|
725 |
* @author Grégory Viguier
|
726 |
*
|
727 |
* @param array $args {
|
831 |
* Restore the media files from the backup file.
|
832 |
*
|
833 |
* @since 1.9
|
|
|
834 |
* @author Grégory Viguier
|
835 |
*
|
836 |
* @return bool|WP_Error True on success. A \WP_Error instance on failure.
|
943 |
* Restore the thumbnails.
|
944 |
*
|
945 |
* @since 1.9
|
|
|
946 |
* @author Grégory Viguier
|
947 |
*
|
948 |
* @return bool|WP_Error True on success. A \WP_Error instance on failure.
|
971 |
* Delete the backup file.
|
972 |
*
|
973 |
* @since 1.9
|
|
|
974 |
* @author Grégory Viguier
|
975 |
*/
|
976 |
public function delete_backup() {
|
1000 |
* Create a temporary copy of a size file.
|
1001 |
*
|
1002 |
* @since 1.9
|
|
|
1003 |
* @author Grégory Viguier
|
1004 |
*
|
1005 |
* @param string $size The image size name.
|
1149 |
* Get the path to a temporary copy of a size file.
|
1150 |
*
|
1151 |
* @since 1.9
|
|
|
1152 |
* @author Grégory Viguier
|
1153 |
*
|
1154 |
* @param string $size The image size name.
|
1188 |
* Maybe resize an image.
|
1189 |
*
|
1190 |
* @since 1.9
|
|
|
1191 |
* @author Grégory Viguier
|
1192 |
*
|
1193 |
* @param string $size The size name.
|
1297 |
* Tell if a size should be resized.
|
1298 |
*
|
1299 |
* @since 1.9
|
|
|
1300 |
* @author Grégory Viguier
|
1301 |
*
|
1302 |
* @param string $size The size name.
|
1324 |
* Tell if a size should be backuped.
|
1325 |
*
|
1326 |
* @since 1.9
|
|
|
1327 |
* @author Grégory Viguier
|
1328 |
*
|
1329 |
* @param string $size The size name.
|
1342 |
return $this->get_media()->get_context_instance()->can_backup();
|
1343 |
}
|
1344 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1345 |
|
1346 |
/** ----------------------------------------------------------------------------------------- */
|
1347 |
/** WEBP ==================================================================================== */
|
1351 |
* Generate WebP images if they are missing.
|
1352 |
*
|
1353 |
* @since 1.9
|
|
|
1354 |
* @author Grégory Viguier
|
1355 |
*
|
1356 |
* @return bool|WP_Error True if successfully launched. A \WP_Error instance on failure.
|
1408 |
*
|
1409 |
* @since 1.9
|
1410 |
* @since 1.9.6 Return WP_Error or true.
|
|
|
1411 |
* @author Grégory Viguier
|
1412 |
*
|
1413 |
* @param bool $keep_full Set to true to keep the full size.
|
1466 |
*
|
1467 |
* @since 1.9
|
1468 |
* @since 1.9.6 Return WP_Error or true.
|
|
|
1469 |
* @author Grégory Viguier
|
1470 |
*
|
1471 |
* @param string $file_path Path to the non-WebP file.
|
1529 |
* Tell if a thumbnail size is an "Imagify WebP" size.
|
1530 |
*
|
1531 |
* @since 1.9
|
|
|
1532 |
* @author Grégory Viguier
|
1533 |
*
|
1534 |
* @param string $size_name The size name.
|
1552 |
* Tell if the media has WebP versions.
|
1553 |
*
|
1554 |
* @since 1.9
|
|
|
1555 |
* @author Grégory Viguier
|
1556 |
*
|
1557 |
* @return bool
|
1582 |
* Make sure the file is an image before using this method.
|
1583 |
*
|
1584 |
* @since 1.9.5
|
|
|
1585 |
* @author Grégory Viguier
|
1586 |
*
|
1587 |
* @param string $file_path Path to the file.
|
1628 |
* Tell if a process is running for this media.
|
1629 |
*
|
1630 |
* @since 1.9
|
|
|
1631 |
* @author Grégory Viguier
|
1632 |
*
|
1633 |
* @return string|bool The action if locked ('optimizing' or 'restoring'). False if not locked.
|
1653 |
* Set the running status to "running" for 10 minutes.
|
1654 |
*
|
1655 |
* @since 1.9
|
|
|
1656 |
* @author Grégory Viguier
|
1657 |
*
|
1658 |
* @param string $action The action performed behind this lock: 'optimizing' or 'restoring'.
|
1675 |
* Unset the running status.
|
1676 |
*
|
1677 |
* @since 1.9
|
|
|
1678 |
* @author Grégory Viguier
|
1679 |
*/
|
1680 |
public function unlock() {
|
1693 |
* Get the name of the transient that stores the lock status.
|
1694 |
*
|
1695 |
* @since 1.9
|
|
|
1696 |
* @author Grégory Viguier
|
1697 |
*
|
1698 |
* @return string|bool The name on success. False on failure.
|
1715 |
* Validate the lock action.
|
1716 |
*
|
1717 |
* @since 1.9
|
|
|
1718 |
* @author Grégory Viguier
|
1719 |
*
|
1720 |
* @param string $action The action performed behind this lock: 'optimizing' or 'restoring'.
|
1743 |
* Tell if a size already has optimization data.
|
1744 |
*
|
1745 |
* @since 1.9
|
|
|
1746 |
* @author Grégory Viguier
|
1747 |
*
|
1748 |
* @param string $size The size name.
|
1758 |
* Update the optimization data for a size.
|
1759 |
*
|
1760 |
* @since 1.9
|
|
|
1761 |
* @author Grégory Viguier
|
1762 |
*
|
1763 |
* @param object $response The API response.
|
1856 |
* Get a plugin’s option.
|
1857 |
*
|
1858 |
* @since 1.9
|
|
|
1859 |
* @author Grégory Viguier
|
1860 |
*
|
1861 |
* @param string $option_name The option nme.
|
1876 |
* If not provided (false, null), fallback to the level set in the plugin's settings.
|
1877 |
*
|
1878 |
* @since 1.9
|
|
|
1879 |
* @author Grégory Viguier
|
1880 |
*
|
1881 |
* @param mixed $optimization_level The optimization level.
|
classes/Webp/Picture/Display.php
CHANGED
@@ -51,6 +51,7 @@ class Display {
|
|
51 |
*/
|
52 |
public function init() {
|
53 |
add_action( 'template_redirect', [ $this, 'start_content_process' ], -1000 );
|
|
|
54 |
}
|
55 |
|
56 |
/** ----------------------------------------------------------------------------------------- */
|
@@ -148,7 +149,8 @@ class Display {
|
|
148 |
$content = str_replace( $image['tag'], $tag, $content );
|
149 |
}
|
150 |
|
151 |
-
return $content;
|
|
|
152 |
|
153 |
/**
|
154 |
* Remove pre-existing <picture> tags.
|
51 |
*/
|
52 |
public function init() {
|
53 |
add_action( 'template_redirect', [ $this, 'start_content_process' ], -1000 );
|
54 |
+
add_filter( 'imagify_process_webp_content', [ $this, 'process_content' ] );
|
55 |
}
|
56 |
|
57 |
/** ----------------------------------------------------------------------------------------- */
|
149 |
$content = str_replace( $image['tag'], $tag, $content );
|
150 |
}
|
151 |
|
152 |
+
return $content;
|
153 |
+
}
|
154 |
|
155 |
/**
|
156 |
* Remove pre-existing <picture> tags.
|
imagify.php
CHANGED
@@ -3,25 +3,23 @@
|
|
3 |
* Plugin Name: Imagify
|
4 |
* Plugin URI: https://wordpress.org/plugins/imagify/
|
5 |
* Description: Dramatically 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:
|
7 |
* Requires at least: 5.3
|
8 |
* Requires PHP: 7.0
|
9 |
-
* Author:
|
10 |
-
* Author URI: https://
|
11 |
* Licence: GPLv2
|
12 |
*
|
13 |
* Text Domain: imagify
|
14 |
* Domain Path: languages
|
15 |
*
|
16 |
-
* Copyright
|
17 |
-
*
|
18 |
-
* @package WP-Media\Imagify\WordPress-Plugin
|
19 |
*/
|
20 |
|
21 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
22 |
|
23 |
// Imagify defines.
|
24 |
-
define( 'IMAGIFY_VERSION', '
|
25 |
define( 'IMAGIFY_SLUG', 'imagify' );
|
26 |
define( 'IMAGIFY_FILE', __FILE__ );
|
27 |
define( 'IMAGIFY_PATH', realpath( plugin_dir_path( IMAGIFY_FILE ) ) . '/' );
|
@@ -29,12 +27,14 @@ define( 'IMAGIFY_URL', plugin_dir_url( IMAGIFY_FILE ) );
|
|
29 |
define( 'IMAGIFY_ASSETS_IMG_URL', IMAGIFY_URL . 'assets/images/' );
|
30 |
define( 'IMAGIFY_MAX_BYTES', 5242880 );
|
31 |
define( 'IMAGIFY_INT_MAX', PHP_INT_MAX - 30 );
|
|
|
|
|
|
|
32 |
if ( ! defined( 'IMAGIFY_APP_DOMAIN' ) ) {
|
33 |
define( 'IMAGIFY_APP_DOMAIN', 'https://app.imagify.io' );
|
34 |
}
|
35 |
define( 'IMAGIFY_APP_API_URL', IMAGIFY_APP_DOMAIN . '/api/' );
|
36 |
|
37 |
-
add_action( 'plugins_loaded', '_imagify_init' );
|
38 |
/**
|
39 |
* Plugin init.
|
40 |
*
|
@@ -62,6 +62,7 @@ function _imagify_init() {
|
|
62 |
|
63 |
$plugin->init();
|
64 |
}
|
|
|
65 |
|
66 |
/**
|
67 |
* Check if Imagify is activated on the network.
|
@@ -141,7 +142,6 @@ function imagify_load_translations() {
|
|
141 |
load_plugin_textdomain( 'imagify', false, dirname( plugin_basename( IMAGIFY_FILE ) ) . '/languages/' );
|
142 |
}
|
143 |
|
144 |
-
register_activation_hook( IMAGIFY_FILE, 'imagify_set_activation' );
|
145 |
/**
|
146 |
* Set a transient on plugin activation, it will be used later to trigger activation hooks after the plugin is loaded.
|
147 |
* The transient contains the ID of the user that activated the plugin.
|
@@ -161,8 +161,8 @@ function imagify_set_activation() {
|
|
161 |
set_transient( 'imagify_activation', get_current_user_id(), 30 );
|
162 |
}
|
163 |
}
|
|
|
164 |
|
165 |
-
register_deactivation_hook( IMAGIFY_FILE, 'imagify_deactivation' );
|
166 |
/**
|
167 |
* Trigger a hook on plugin deactivation.
|
168 |
*
|
@@ -182,3 +182,5 @@ function imagify_deactivation() {
|
|
182 |
*/
|
183 |
do_action( 'imagify_deactivation' );
|
184 |
}
|
|
|
|
3 |
* Plugin Name: Imagify
|
4 |
* Plugin URI: https://wordpress.org/plugins/imagify/
|
5 |
* Description: Dramatically 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: 2.0
|
7 |
* Requires at least: 5.3
|
8 |
* Requires PHP: 7.0
|
9 |
+
* Author: Imagify - Optimize Images & Convert WebP
|
10 |
+
* Author URI: https://imagify.io
|
11 |
* Licence: GPLv2
|
12 |
*
|
13 |
* Text Domain: imagify
|
14 |
* Domain Path: languages
|
15 |
*
|
16 |
+
* Copyright 2022 WP Media
|
|
|
|
|
17 |
*/
|
18 |
|
19 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
20 |
|
21 |
// Imagify defines.
|
22 |
+
define( 'IMAGIFY_VERSION', '2.0' );
|
23 |
define( 'IMAGIFY_SLUG', 'imagify' );
|
24 |
define( 'IMAGIFY_FILE', __FILE__ );
|
25 |
define( 'IMAGIFY_PATH', realpath( plugin_dir_path( IMAGIFY_FILE ) ) . '/' );
|
27 |
define( 'IMAGIFY_ASSETS_IMG_URL', IMAGIFY_URL . 'assets/images/' );
|
28 |
define( 'IMAGIFY_MAX_BYTES', 5242880 );
|
29 |
define( 'IMAGIFY_INT_MAX', PHP_INT_MAX - 30 );
|
30 |
+
if ( ! defined( 'IMAGIFY_SITE_DOMAIN' ) ) {
|
31 |
+
define( 'IMAGIFY_SITE_DOMAIN', 'https://imagify.io' );
|
32 |
+
}
|
33 |
if ( ! defined( 'IMAGIFY_APP_DOMAIN' ) ) {
|
34 |
define( 'IMAGIFY_APP_DOMAIN', 'https://app.imagify.io' );
|
35 |
}
|
36 |
define( 'IMAGIFY_APP_API_URL', IMAGIFY_APP_DOMAIN . '/api/' );
|
37 |
|
|
|
38 |
/**
|
39 |
* Plugin init.
|
40 |
*
|
62 |
|
63 |
$plugin->init();
|
64 |
}
|
65 |
+
add_action( 'plugins_loaded', '_imagify_init' );
|
66 |
|
67 |
/**
|
68 |
* Check if Imagify is activated on the network.
|
142 |
load_plugin_textdomain( 'imagify', false, dirname( plugin_basename( IMAGIFY_FILE ) ) . '/languages/' );
|
143 |
}
|
144 |
|
|
|
145 |
/**
|
146 |
* Set a transient on plugin activation, it will be used later to trigger activation hooks after the plugin is loaded.
|
147 |
* The transient contains the ID of the user that activated the plugin.
|
161 |
set_transient( 'imagify_activation', get_current_user_id(), 30 );
|
162 |
}
|
163 |
}
|
164 |
+
register_activation_hook( IMAGIFY_FILE, 'imagify_set_activation' );
|
165 |
|
|
|
166 |
/**
|
167 |
* Trigger a hook on plugin deactivation.
|
168 |
*
|
182 |
*/
|
183 |
do_action( 'imagify_deactivation' );
|
184 |
}
|
185 |
+
register_deactivation_hook( IMAGIFY_FILE, 'imagify_deactivation' );
|
186 |
+
|
inc/3rd-party/3rd-party.php
CHANGED
@@ -12,6 +12,7 @@ require IMAGIFY_PATH . 'inc/3rd-party/nextgen-gallery/nextgen-gallery.php';
|
|
12 |
require IMAGIFY_PATH . 'inc/3rd-party/regenerate-thumbnails/regenerate-thumbnails.php';
|
13 |
require IMAGIFY_PATH . 'inc/3rd-party/screets-lc.php';
|
14 |
require IMAGIFY_PATH . 'inc/3rd-party/wp-real-media-library.php';
|
|
|
15 |
require IMAGIFY_PATH . 'inc/3rd-party/wp-rocket/wp-rocket.php';
|
16 |
require IMAGIFY_PATH . 'inc/3rd-party/yoast-seo.php';
|
17 |
require IMAGIFY_PATH . 'inc/3rd-party/WooCommerce/class-woocommerce.php';
|
12 |
require IMAGIFY_PATH . 'inc/3rd-party/regenerate-thumbnails/regenerate-thumbnails.php';
|
13 |
require IMAGIFY_PATH . 'inc/3rd-party/screets-lc.php';
|
14 |
require IMAGIFY_PATH . 'inc/3rd-party/wp-real-media-library.php';
|
15 |
+
require IMAGIFY_PATH . 'inc/3rd-party/wp-cloudflare-super-page-cache.php';
|
16 |
require IMAGIFY_PATH . 'inc/3rd-party/wp-rocket/wp-rocket.php';
|
17 |
require IMAGIFY_PATH . 'inc/3rd-party/yoast-seo.php';
|
18 |
require IMAGIFY_PATH . 'inc/3rd-party/WooCommerce/class-woocommerce.php';
|
inc/3rd-party/nextgen-gallery/classes/Context/NGG.php
CHANGED
@@ -1,7 +1,8 @@
|
|
1 |
<?php
|
2 |
namespace Imagify\ThirdParty\NGG\Context;
|
3 |
|
4 |
-
|
|
|
5 |
|
6 |
/**
|
7 |
* Context class used for the WP media library.
|
@@ -9,15 +10,14 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
9 |
* @since 1.9
|
10 |
* @author Grégory Viguier
|
11 |
*/
|
12 |
-
class NGG extends
|
13 |
-
use
|
14 |
|
15 |
/**
|
16 |
* Context "short name".
|
17 |
*
|
18 |
* @var string
|
19 |
* @since 1.9
|
20 |
-
* @access protected
|
21 |
* @author Grégory Viguier
|
22 |
*/
|
23 |
protected $context = 'ngg';
|
@@ -30,7 +30,6 @@ class NGG extends \Imagify\Context\AbstractContext {
|
|
30 |
* - 'image' to allow only images.
|
31 |
* - 'not-image' to allow only pdf files.
|
32 |
* @since 1.9
|
33 |
-
* @access protected
|
34 |
* @see imagify_get_mime_types()
|
35 |
* @author Grégory Viguier
|
36 |
*/
|
@@ -49,7 +48,6 @@ class NGG extends \Imagify\Context\AbstractContext {
|
|
49 |
* @type string $name The size name.
|
50 |
* }
|
51 |
* @since 1.9
|
52 |
-
* @access public
|
53 |
* @author Grégory Viguier
|
54 |
*/
|
55 |
protected $thumbnail_sizes = [];
|
@@ -59,27 +57,15 @@ class NGG extends \Imagify\Context\AbstractContext {
|
|
59 |
*
|
60 |
* @var bool
|
61 |
* @since 1.9
|
62 |
-
* @access protected
|
63 |
* @author Grégory Viguier
|
64 |
*/
|
65 |
protected $can_backup = true;
|
66 |
|
67 |
-
/**
|
68 |
-
* Tell if the optimization process is allowed to keep exif in this context.
|
69 |
-
*
|
70 |
-
* @var bool
|
71 |
-
* @since 1.9
|
72 |
-
* @access protected
|
73 |
-
* @author Grégory Viguier
|
74 |
-
*/
|
75 |
-
protected $can_keep_exif = true;
|
76 |
-
|
77 |
/**
|
78 |
* Get images max width for this context. This is used when resizing.
|
79 |
* 0 means to not resize.
|
80 |
*
|
81 |
* @since 1.9.8
|
82 |
-
* @access public
|
83 |
* @author Grégory Viguier
|
84 |
*
|
85 |
* @return int
|
@@ -92,7 +78,6 @@ class NGG extends \Imagify\Context\AbstractContext {
|
|
92 |
* Get user capacity to operate Imagify in this context.
|
93 |
*
|
94 |
* @since 1.9
|
95 |
-
* @access public
|
96 |
* @author Grégory Viguier
|
97 |
*
|
98 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
1 |
<?php
|
2 |
namespace Imagify\ThirdParty\NGG\Context;
|
3 |
|
4 |
+
use Imagify\Context\AbstractContext;
|
5 |
+
use Imagify\Traits\InstanceGetterTrait;
|
6 |
|
7 |
/**
|
8 |
* Context class used for the WP media library.
|
10 |
* @since 1.9
|
11 |
* @author Grégory Viguier
|
12 |
*/
|
13 |
+
class NGG extends AbstractContext {
|
14 |
+
use InstanceGetterTrait;
|
15 |
|
16 |
/**
|
17 |
* Context "short name".
|
18 |
*
|
19 |
* @var string
|
20 |
* @since 1.9
|
|
|
21 |
* @author Grégory Viguier
|
22 |
*/
|
23 |
protected $context = 'ngg';
|
30 |
* - 'image' to allow only images.
|
31 |
* - 'not-image' to allow only pdf files.
|
32 |
* @since 1.9
|
|
|
33 |
* @see imagify_get_mime_types()
|
34 |
* @author Grégory Viguier
|
35 |
*/
|
48 |
* @type string $name The size name.
|
49 |
* }
|
50 |
* @since 1.9
|
|
|
51 |
* @author Grégory Viguier
|
52 |
*/
|
53 |
protected $thumbnail_sizes = [];
|
57 |
*
|
58 |
* @var bool
|
59 |
* @since 1.9
|
|
|
60 |
* @author Grégory Viguier
|
61 |
*/
|
62 |
protected $can_backup = true;
|
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
/**
|
65 |
* Get images max width for this context. This is used when resizing.
|
66 |
* 0 means to not resize.
|
67 |
*
|
68 |
* @since 1.9.8
|
|
|
69 |
* @author Grégory Viguier
|
70 |
*
|
71 |
* @return int
|
78 |
* Get user capacity to operate Imagify in this context.
|
79 |
*
|
80 |
* @since 1.9
|
|
|
81 |
* @author Grégory Viguier
|
82 |
*
|
83 |
* @param string $describer Capacity describer. Possible values are like 'manage', 'bulk-optimize', 'manual-optimize', 'auto-optimize'.
|
inc/3rd-party/wp-cloudflare-super-page-cache.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
|
3 |
+
|
4 |
+
add_action( 'admin_enqueue_scripts', function( $hook_suffix ) {
|
5 |
+
|
6 |
+
$imagify_admin_pages = array(
|
7 |
+
'media_page_imagify-bulk-optimization',
|
8 |
+
'settings_page_imagify',
|
9 |
+
'media_page_imagify-files',
|
10 |
+
'nextgen-gallery_page_imagify-ngg-bulk-optimization',
|
11 |
+
);
|
12 |
+
|
13 |
+
if (
|
14 |
+
! is_admin()
|
15 |
+
||
|
16 |
+
! class_exists( 'SWCFPC_Backend' )
|
17 |
+
||
|
18 |
+
! in_array( $hook_suffix, $imagify_admin_pages, true )
|
19 |
+
) {
|
20 |
+
return;
|
21 |
+
}
|
22 |
+
|
23 |
+
wp_deregister_script( 'swcfpc_sweetalert_js' );
|
24 |
+
|
25 |
+
}, 100 );
|
inc/admin/upgrader.php
CHANGED
@@ -1,7 +1,6 @@
|
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
3 |
|
4 |
-
add_action( 'admin_init', '_imagify_upgrader' );
|
5 |
/**
|
6 |
* Tell WP what to do when admin is loaded aka upgrader.
|
7 |
*
|
@@ -75,6 +74,7 @@ function _imagify_upgrader() {
|
|
75 |
Imagify_Data::get_instance()->set( 'version', IMAGIFY_VERSION );
|
76 |
}
|
77 |
}
|
|
|
78 |
|
79 |
/**
|
80 |
* Upgrade the upgrader:
|
@@ -160,7 +160,6 @@ function imagify_upgrader_upgrade() {
|
|
160 |
Imagify_Data::get_instance()->set( 'version', $network_version );
|
161 |
}
|
162 |
|
163 |
-
add_action( 'imagify_first_network_install', '_imagify_first_install' );
|
164 |
/**
|
165 |
* Keeps this function up to date at each version.
|
166 |
*
|
@@ -170,8 +169,8 @@ function _imagify_first_install() {
|
|
170 |
// Set a transient to know when we will have to display a notice to ask the user to rate the plugin.
|
171 |
set_site_transient( 'imagify_seen_rating_notice', true, DAY_IN_SECONDS * 3 );
|
172 |
}
|
|
|
173 |
|
174 |
-
add_action( 'imagify_upgrade', '_imagify_new_upgrade', 10, 2 );
|
175 |
/**
|
176 |
* What to do when Imagify is updated, depending on versions.
|
177 |
*
|
@@ -304,93 +303,13 @@ function _imagify_new_upgrade( $network_version, $site_version ) {
|
|
304 |
if ( version_compare( $site_version, '1.9.11' ) < 0 ) {
|
305 |
imagify_secure_custom_directories();
|
306 |
}
|
307 |
-
}
|
308 |
-
|
309 |
-
add_action( 'upgrader_process_complete', 'imagify_maybe_reset_opcache', 20, 2 );
|
310 |
-
/**
|
311 |
-
* Maybe reset opcache after Imagify update.
|
312 |
-
*
|
313 |
-
* @since 1.7.1.2
|
314 |
-
* @author Grégory Viguier
|
315 |
-
*
|
316 |
-
* @param object $wp_upgrader Plugin_Upgrader instance.
|
317 |
-
* @param array $hook_extra {
|
318 |
-
* Array of bulk item update data.
|
319 |
-
*
|
320 |
-
* @type string $action Type of action. Default 'update'.
|
321 |
-
* @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'.
|
322 |
-
* @type bool $bulk Whether the update process is a bulk update. Default true.
|
323 |
-
* @type array $plugins Array of the basename paths of the plugins' main files.
|
324 |
-
* }
|
325 |
-
*/
|
326 |
-
function imagify_maybe_reset_opcache( $wp_upgrader, $hook_extra ) {
|
327 |
-
static $imagify_path;
|
328 |
-
|
329 |
-
if ( ! isset( $hook_extra['action'], $hook_extra['type'], $hook_extra['plugins'] ) ) {
|
330 |
-
return;
|
331 |
-
}
|
332 |
-
|
333 |
-
if ( 'update' !== $hook_extra['action'] || 'plugin' !== $hook_extra['type'] || ! is_array( $hook_extra['plugins'] ) ) {
|
334 |
-
return;
|
335 |
-
}
|
336 |
-
|
337 |
-
$plugins = array_flip( $hook_extra['plugins'] );
|
338 |
-
|
339 |
-
if ( ! isset( $imagify_path ) ) {
|
340 |
-
$imagify_path = plugin_basename( IMAGIFY_FILE );
|
341 |
-
}
|
342 |
|
343 |
-
if (
|
344 |
-
|
345 |
}
|
346 |
-
|
347 |
-
imagify_reset_opcache();
|
348 |
-
}
|
349 |
-
|
350 |
-
/**
|
351 |
-
* Reset PHP opcache.
|
352 |
-
*
|
353 |
-
* @since 1.8.1
|
354 |
-
* @since 1.9.9 Added $reset_function_cache parameter and return boolean.
|
355 |
-
* @author Grégory Viguier
|
356 |
-
*
|
357 |
-
* @param bool $reset_function_cache Set to true to bypass the cache.
|
358 |
-
* @return bool Return true if the opcode cache was reset (or reset in a previous call), or false if the opcode cache is disabled.
|
359 |
-
*/
|
360 |
-
function imagify_reset_opcache( $reset_function_cache = false ) {
|
361 |
-
static $can_reset;
|
362 |
-
|
363 |
-
if ( $reset_function_cache || ! isset( $can_reset ) ) {
|
364 |
-
if ( ! function_exists( 'opcache_reset' ) ) {
|
365 |
-
$can_reset = false;
|
366 |
-
return false;
|
367 |
-
}
|
368 |
-
|
369 |
-
$opcache_enabled = filter_var( ini_get( 'opcache.enable' ), FILTER_VALIDATE_BOOLEAN ); // phpcs:ignore PHPCompatibility.IniDirectives.NewIniDirectives.opcache_enableFound
|
370 |
-
|
371 |
-
if ( ! $opcache_enabled ) {
|
372 |
-
$can_reset = false;
|
373 |
-
return false;
|
374 |
-
}
|
375 |
-
|
376 |
-
$restrict_api = ini_get( 'opcache.restrict_api' ); // phpcs:ignore PHPCompatibility.IniDirectives.NewIniDirectives.opcache_restrict_apiFound
|
377 |
-
|
378 |
-
if ( $restrict_api && strpos( __FILE__, $restrict_api ) !== 0 ) {
|
379 |
-
$can_reset = false;
|
380 |
-
return false;
|
381 |
-
}
|
382 |
-
|
383 |
-
$can_reset = true;
|
384 |
-
}
|
385 |
-
|
386 |
-
if ( ! $can_reset ) {
|
387 |
-
return false;
|
388 |
-
}
|
389 |
-
|
390 |
-
return opcache_reset(); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.opcache_resetFound
|
391 |
}
|
|
|
392 |
|
393 |
-
add_action( 'imagify_activation', 'imagify_secure_custom_directories' );
|
394 |
/**
|
395 |
* Scan imagify directories and add `index.php` files where missing.
|
396 |
*
|
@@ -409,3 +328,4 @@ function imagify_secure_custom_directories() {
|
|
409 |
$backup_dir = get_imagify_backup_dir_path();
|
410 |
Imagify_Custom_Folders::add_indexes( $backup_dir );
|
411 |
}
|
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
3 |
|
|
|
4 |
/**
|
5 |
* Tell WP what to do when admin is loaded aka upgrader.
|
6 |
*
|
74 |
Imagify_Data::get_instance()->set( 'version', IMAGIFY_VERSION );
|
75 |
}
|
76 |
}
|
77 |
+
add_action( 'admin_init', '_imagify_upgrader' );
|
78 |
|
79 |
/**
|
80 |
* Upgrade the upgrader:
|
160 |
Imagify_Data::get_instance()->set( 'version', $network_version );
|
161 |
}
|
162 |
|
|
|
163 |
/**
|
164 |
* Keeps this function up to date at each version.
|
165 |
*
|
169 |
// Set a transient to know when we will have to display a notice to ask the user to rate the plugin.
|
170 |
set_site_transient( 'imagify_seen_rating_notice', true, DAY_IN_SECONDS * 3 );
|
171 |
}
|
172 |
+
add_action( 'imagify_first_network_install', '_imagify_first_install' );
|
173 |
|
|
|
174 |
/**
|
175 |
* What to do when Imagify is updated, depending on versions.
|
176 |
*
|
303 |
if ( version_compare( $site_version, '1.9.11' ) < 0 ) {
|
304 |
imagify_secure_custom_directories();
|
305 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
|
307 |
+
if ( version_compare( $site_version, '2.0' ) < 0 ) {
|
308 |
+
Imagify_Options::get_instance()->set( 'optimization_level', 2 );
|
309 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
}
|
311 |
+
add_action( 'imagify_upgrade', '_imagify_new_upgrade', 10, 2 );
|
312 |
|
|
|
313 |
/**
|
314 |
* Scan imagify directories and add `index.php` files where missing.
|
315 |
*
|
328 |
$backup_dir = get_imagify_backup_dir_path();
|
329 |
Imagify_Custom_Folders::add_indexes( $backup_dir );
|
330 |
}
|
331 |
+
add_action( 'imagify_activation', 'imagify_secure_custom_directories' );
|
inc/classes/class-imagify-admin-ajax-post.php
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
<?php
|
2 |
-
|
|
|
3 |
|
4 |
/**
|
5 |
* Class that handles admin ajax/post callbacks.
|
@@ -8,7 +9,7 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
8 |
* @author Grégory Viguier
|
9 |
*/
|
10 |
class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
11 |
-
use
|
12 |
|
13 |
/**
|
14 |
* Class version.
|
@@ -24,7 +25,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
24 |
*
|
25 |
* @var array
|
26 |
* @since 1.6.11
|
27 |
-
* @access protected
|
28 |
* @author Grégory Viguier
|
29 |
*/
|
30 |
protected $ajax_post_actions = [
|
@@ -47,7 +47,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
47 |
*
|
48 |
* @var array
|
49 |
* @since 1.6.11
|
50 |
-
* @access protected
|
51 |
* @author Grégory Viguier
|
52 |
*/
|
53 |
protected $ajax_only_actions = [
|
@@ -80,7 +79,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
80 |
*
|
81 |
* @var array
|
82 |
* @since 1.6.11
|
83 |
-
* @access protected
|
84 |
* @author Grégory Viguier
|
85 |
*/
|
86 |
protected $post_only_actions = [
|
@@ -95,7 +93,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
95 |
*
|
96 |
* @var object Imagify_Filesystem
|
97 |
* @since 1.7.1
|
98 |
-
* @access protected
|
99 |
* @author Grégory Viguier
|
100 |
*/
|
101 |
protected $filesystem;
|
@@ -110,7 +107,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
110 |
*
|
111 |
* @since 1.6.11
|
112 |
* @since 1.9 Visibility set to public.
|
113 |
-
* @access public
|
114 |
* @author Grégory Viguier
|
115 |
*/
|
116 |
public function __construct() {
|
@@ -121,23 +117,28 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
121 |
* Launch the hooks.
|
122 |
*
|
123 |
* @since 1.6.11
|
124 |
-
* @access public
|
125 |
* @author Grégory Viguier
|
126 |
*/
|
127 |
public function init() {
|
128 |
-
|
129 |
-
// Actions triggered only on admin ajax.
|
130 |
-
$actions = array_merge( $this->ajax_post_actions, $this->ajax_only_actions );
|
131 |
|
132 |
-
|
133 |
-
|
|
|
|
|
134 |
}
|
|
|
135 |
}
|
136 |
|
137 |
-
// Actions triggered on
|
138 |
-
|
|
|
|
|
|
|
|
|
139 |
|
140 |
-
|
|
|
141 |
add_action( 'admin_post_' . $action, array( $this, $action . '_callback' ) );
|
142 |
}
|
143 |
}
|
@@ -151,7 +152,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
151 |
* Optimize one media.
|
152 |
*
|
153 |
* @since 1.9
|
154 |
-
* @access protected
|
155 |
* @author Grégory Viguier
|
156 |
*
|
157 |
* @param int $media_id The media ID.
|
@@ -166,7 +166,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
166 |
* Re-optimize a media to a different optimization level.
|
167 |
*
|
168 |
* @since 1.9
|
169 |
-
* @access protected
|
170 |
* @author Grégory Viguier
|
171 |
*
|
172 |
* @param int $media_id The media ID.
|
@@ -183,7 +182,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
183 |
* This is used by the bulk optimization page.
|
184 |
*
|
185 |
* @since 1.9
|
186 |
-
* @access protected
|
187 |
* @author Grégory Viguier
|
188 |
*
|
189 |
* @param int $media_id The media ID.
|
@@ -212,7 +210,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
212 |
* Optimize one or some thumbnails that are not optimized yet.
|
213 |
*
|
214 |
* @since 1.9
|
215 |
-
* @access protected
|
216 |
* @author Grégory Viguier
|
217 |
*
|
218 |
* @param int $media_id The media ID.
|
@@ -227,7 +224,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
227 |
* Generate WebP images if they are missing.
|
228 |
*
|
229 |
* @since 1.9
|
230 |
-
* @access protected
|
231 |
* @author Grégory Viguier
|
232 |
*
|
233 |
* @param int $media_id The media ID.
|
@@ -242,7 +238,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
242 |
* Delete WebP images for media that are "already_optimize".
|
243 |
*
|
244 |
* @since 1.9.6
|
245 |
-
* @access protected
|
246 |
* @author Grégory Viguier
|
247 |
*
|
248 |
* @param int $media_id The media ID.
|
@@ -280,7 +275,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
280 |
* Restore a media.
|
281 |
*
|
282 |
* @since 1.9
|
283 |
-
* @access protected
|
284 |
* @author Grégory Viguier
|
285 |
*
|
286 |
* @param int $media_id The media ID.
|
@@ -300,7 +294,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
300 |
* Get media ids for the requested imagify bulk action.
|
301 |
*
|
302 |
* @since 1.9
|
303 |
-
* @access public
|
304 |
* @author Grégory Viguier
|
305 |
*/
|
306 |
public function imagify_get_media_ids_callback() {
|
@@ -355,7 +348,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
355 |
* Process a media with the requested imagify bulk action.
|
356 |
*
|
357 |
* @since 1.6.11
|
358 |
-
* @access public
|
359 |
* @author Jonathan Buttigieg
|
360 |
*/
|
361 |
public function imagify_bulk_optimize_callback() {
|
@@ -397,7 +389,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
397 |
* Get stats data for a specific folder type.
|
398 |
*
|
399 |
* @since 1.7
|
400 |
-
* @access public
|
401 |
* @author Grégory Viguier
|
402 |
*/
|
403 |
public function imagify_get_folder_type_data_callback() {
|
@@ -422,7 +413,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
422 |
* Set the "bulk info" popup state as "seen".
|
423 |
*
|
424 |
* @since 1.7
|
425 |
-
* @access public
|
426 |
* @author Grégory Viguier
|
427 |
*/
|
428 |
public function imagify_bulk_info_seen_callback() {
|
@@ -447,7 +437,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
447 |
* Get generic stats to display in the bulk page.
|
448 |
*
|
449 |
* @since 1.7.1
|
450 |
-
* @access public
|
451 |
* @author Grégory Viguier
|
452 |
*/
|
453 |
public function imagify_bulk_get_stats_callback() {
|
@@ -480,7 +469,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
480 |
* Optimize all thumbnails of a specific image with the manual method.
|
481 |
*
|
482 |
* @since 1.6.11
|
483 |
-
* @access public
|
484 |
* @author Jonathan Buttigieg
|
485 |
*/
|
486 |
public function imagify_manual_optimize_callback() {
|
@@ -515,7 +503,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
515 |
* Optimize all thumbnails of a specific image with a different optimization level.
|
516 |
*
|
517 |
* @since 1.6.11
|
518 |
-
* @access public
|
519 |
* @author Jonathan Buttigieg
|
520 |
*/
|
521 |
public function imagify_manual_reoptimize_callback() {
|
@@ -550,7 +537,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
550 |
* Optimize one or some thumbnails that are not optimized yet.
|
551 |
*
|
552 |
* @since 1.6.11
|
553 |
-
* @access public
|
554 |
* @author Grégory Viguier
|
555 |
*/
|
556 |
public function imagify_optimize_missing_sizes_callback() {
|
@@ -585,7 +571,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
585 |
* Generate WebP images if they are missing.
|
586 |
*
|
587 |
* @since 1.9
|
588 |
-
* @access public
|
589 |
* @author Grégory Viguier
|
590 |
*/
|
591 |
public function imagify_generate_webp_versions_callback() {
|
@@ -620,7 +605,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
620 |
* Generate WebP images if they are missing.
|
621 |
*
|
622 |
* @since 1.9.6
|
623 |
-
* @access public
|
624 |
* @author Grégory Viguier
|
625 |
*/
|
626 |
public function imagify_delete_webp_versions_callback() {
|
@@ -655,7 +639,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
655 |
* Process a restoration to the original attachment.
|
656 |
*
|
657 |
* @since 1.6.11
|
658 |
-
* @access public
|
659 |
* @author Jonathan Buttigieg
|
660 |
*/
|
661 |
public function imagify_restore_callback() {
|
@@ -703,7 +686,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
703 |
* Optimize a file.
|
704 |
*
|
705 |
* @since 1.7
|
706 |
-
* @access public
|
707 |
* @author Grégory Viguier
|
708 |
*/
|
709 |
public function imagify_optimize_file_callback() {
|
@@ -735,7 +717,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
735 |
* Re-optimize a file.
|
736 |
*
|
737 |
* @since 1.7
|
738 |
-
* @access public
|
739 |
* @author Grégory Viguier
|
740 |
*/
|
741 |
public function imagify_reoptimize_file_callback() {
|
@@ -769,7 +750,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
769 |
* Restore a file.
|
770 |
*
|
771 |
* @since 1.7
|
772 |
-
* @access public
|
773 |
* @author Grégory Viguier
|
774 |
*/
|
775 |
public function imagify_restore_file_callback() {
|
@@ -802,7 +782,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
802 |
* Check if a file has been modified, and update the database accordingly.
|
803 |
*
|
804 |
* @since 1.7
|
805 |
-
* @access public
|
806 |
* @author Grégory Viguier
|
807 |
*/
|
808 |
public function imagify_refresh_file_modified_callback() {
|
@@ -842,7 +821,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
842 |
* Look for new files in custom folders.
|
843 |
*
|
844 |
* @since 1.7
|
845 |
-
* @access public
|
846 |
* @author Grégory Viguier
|
847 |
*/
|
848 |
public function imagify_scan_custom_folders_callback() {
|
@@ -897,7 +875,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
897 |
* This is used to display an error message in the plugin's settings page.
|
898 |
*
|
899 |
* @since 1.6.11
|
900 |
-
* @access public
|
901 |
* @author Grégory Viguier
|
902 |
*/
|
903 |
public function imagify_check_backup_dir_is_writable_callback() {
|
@@ -916,7 +893,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
916 |
* Get files and folders that are direct children of a given folder.
|
917 |
*
|
918 |
* @since 1.7
|
919 |
-
* @access public
|
920 |
* @author Grégory Viguier
|
921 |
*/
|
922 |
public function imagify_get_files_tree_callback() {
|
@@ -1010,7 +986,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1010 |
* Create a new Imagify account.
|
1011 |
*
|
1012 |
* @since 1.6.11
|
1013 |
-
* @access public
|
1014 |
* @author Jonathan Buttigieg
|
1015 |
*/
|
1016 |
public function imagify_signup_callback() {
|
@@ -1049,7 +1024,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1049 |
* Check the API key validity.
|
1050 |
*
|
1051 |
* @since 1.6.11
|
1052 |
-
* @access public
|
1053 |
* @author Jonathan Buttigieg
|
1054 |
*/
|
1055 |
public function imagify_check_api_key_validity_callback() {
|
@@ -1079,7 +1053,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1079 |
* Get admin bar profile output.
|
1080 |
*
|
1081 |
* @since 1.6.11
|
1082 |
-
* @access public
|
1083 |
* @author Jonathan Buttigieg
|
1084 |
*/
|
1085 |
public function imagify_get_admin_bar_profile_callback() {
|
@@ -1158,7 +1131,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1158 |
* Get pricings from API for Onetime and Plans at the same time.
|
1159 |
*
|
1160 |
* @since 1.6.11
|
1161 |
-
* @access public
|
1162 |
* @author Geoffrey Crofte
|
1163 |
*/
|
1164 |
public function imagify_get_prices_callback() {
|
@@ -1179,7 +1151,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1179 |
}
|
1180 |
|
1181 |
wp_send_json_success( array(
|
1182 |
-
'onetimes' => $prices_all->Packs,
|
1183 |
'monthlies' => $prices_all->Plans,
|
1184 |
) );
|
1185 |
}
|
@@ -1188,7 +1159,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1188 |
* Check Coupon code on modal popin.
|
1189 |
*
|
1190 |
* @since 1.6.11
|
1191 |
-
* @access public
|
1192 |
* @author Geoffrey Crofte
|
1193 |
*/
|
1194 |
public function imagify_check_coupon_callback() {
|
@@ -1235,7 +1205,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1235 |
* Get estimated sizes from the WordPress library.
|
1236 |
*
|
1237 |
* @since 1.6.11
|
1238 |
-
* @access public
|
1239 |
* @author Geoffrey Crofte
|
1240 |
*/
|
1241 |
public function imagify_get_images_counts_callback() {
|
@@ -1269,7 +1238,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1269 |
* Estimate sizes and update the options values for them.
|
1270 |
*
|
1271 |
* @since 1.6.11
|
1272 |
-
* @access public
|
1273 |
* @author Remy Perona
|
1274 |
*/
|
1275 |
public function imagify_update_estimate_sizes_callback() {
|
@@ -1294,7 +1262,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1294 |
* Get the Imagify User data.
|
1295 |
*
|
1296 |
* @since 1.7
|
1297 |
-
* @access public
|
1298 |
* @author Grégory Viguier
|
1299 |
*/
|
1300 |
public function imagify_get_user_data_callback() {
|
@@ -1328,7 +1295,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1328 |
* Delete the Imagify User data cache.
|
1329 |
*
|
1330 |
* @since 1.9.5
|
1331 |
-
* @access public
|
1332 |
* @author Grégory Viguier
|
1333 |
*/
|
1334 |
public function imagify_delete_user_data_cache_callback() {
|
@@ -1353,7 +1319,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1353 |
* When XML-RPC is used, a current user is set, but no cookies are set, so they cannot be sent with the request. Instead we stored the user ID in a transient.
|
1354 |
*
|
1355 |
* @since 1.6.11
|
1356 |
-
* @access public
|
1357 |
* @author Grégory Viguier
|
1358 |
* @see imagify_do_async_job()
|
1359 |
*/
|
@@ -1404,7 +1369,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1404 |
* Store the "closed" status of the ads.
|
1405 |
*
|
1406 |
* @since 1.7
|
1407 |
-
* @access public
|
1408 |
* @author Grégory Viguier
|
1409 |
*/
|
1410 |
public function imagify_dismiss_ad_callback() {
|
@@ -1451,7 +1415,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1451 |
*
|
1452 |
* @since 1.7
|
1453 |
* @since 1.9 Added $method and $parameter parameters.
|
1454 |
-
* @access public
|
1455 |
* @author Grégory Viguier
|
1456 |
*
|
1457 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
@@ -1473,7 +1436,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1473 |
* Get the submitted context.
|
1474 |
*
|
1475 |
* @since 1.9
|
1476 |
-
* @access public
|
1477 |
* @author Grégory Viguier
|
1478 |
*
|
1479 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
@@ -1491,7 +1453,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1491 |
* Get the submitted media ID.
|
1492 |
*
|
1493 |
* @since 1.9
|
1494 |
-
* @access public
|
1495 |
* @author Grégory Viguier
|
1496 |
*
|
1497 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
@@ -1513,7 +1474,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1513 |
* Get the submitted folder_type.
|
1514 |
*
|
1515 |
* @since 1.9
|
1516 |
-
* @access public
|
1517 |
* @author Grégory Viguier
|
1518 |
*
|
1519 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
@@ -1530,7 +1490,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1530 |
* Get the submitted imagify action.
|
1531 |
*
|
1532 |
* @since 1.9
|
1533 |
-
* @access public
|
1534 |
* @author Grégory Viguier
|
1535 |
*
|
1536 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
@@ -1548,7 +1507,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1548 |
* Get the Bulk class name depending on a context.
|
1549 |
*
|
1550 |
* @since 1.9
|
1551 |
-
* @access public
|
1552 |
* @author Grégory Viguier
|
1553 |
*
|
1554 |
* @param string $context The context name. Default values are 'wp' and 'custom-folders'.
|
@@ -1586,7 +1544,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1586 |
* Get the Bulk instance depending on a context.
|
1587 |
*
|
1588 |
* @since 1.9
|
1589 |
-
* @access public
|
1590 |
* @author Grégory Viguier
|
1591 |
*
|
1592 |
* @param string $context The context name. Default values are 'wp' and 'custom-folders'.
|
@@ -1601,7 +1558,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1601 |
* Check if the user has a valid account and has quota. Die on failure.
|
1602 |
*
|
1603 |
* @since 1.7
|
1604 |
-
* @access public
|
1605 |
* @author Grégory Viguier
|
1606 |
*/
|
1607 |
public function check_can_optimize() {
|
@@ -1626,7 +1582,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1626 |
* Get a media columns for the "Other Media" page.
|
1627 |
*
|
1628 |
* @since 1.9
|
1629 |
-
* @access public
|
1630 |
* @author Grégory Viguier
|
1631 |
*
|
1632 |
* @param object $process A \Imagify\Optimization\Process\CustomFolders object.
|
@@ -1652,7 +1607,6 @@ class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
|
1652 |
* @since 1.7
|
1653 |
* @since 1.9 Removed parameter $result.
|
1654 |
* @since 1.9 Added $folder in the returned JSON.
|
1655 |
-
* @access protected
|
1656 |
* @author Grégory Viguier
|
1657 |
*
|
1658 |
* @param object $process A \Imagify\Optimization\Process\CustomFolders object.
|
1 |
<?php
|
2 |
+
|
3 |
+
use Imagify\Traits\InstanceGetterTrait;
|
4 |
|
5 |
/**
|
6 |
* Class that handles admin ajax/post callbacks.
|
9 |
* @author Grégory Viguier
|
10 |
*/
|
11 |
class Imagify_Admin_Ajax_Post extends Imagify_Admin_Ajax_Post_Deprecated {
|
12 |
+
use InstanceGetterTrait;
|
13 |
|
14 |
/**
|
15 |
* Class version.
|
25 |
*
|
26 |
* @var array
|
27 |
* @since 1.6.11
|
|
|
28 |
* @author Grégory Viguier
|
29 |
*/
|
30 |
protected $ajax_post_actions = [
|
47 |
*
|
48 |
* @var array
|
49 |
* @since 1.6.11
|
|
|
50 |
* @author Grégory Viguier
|
51 |
*/
|
52 |
protected $ajax_only_actions = [
|
79 |
*
|
80 |
* @var array
|
81 |
* @since 1.6.11
|
|
|
82 |
* @author Grégory Viguier
|
83 |
*/
|
84 |
protected $post_only_actions = [
|
93 |
*
|
94 |
* @var object Imagify_Filesystem
|
95 |
* @since 1.7.1
|
|
|
96 |
* @author Grégory Viguier
|
97 |
*/
|
98 |
protected $filesystem;
|
107 |
*
|
108 |
* @since 1.6.11
|
109 |
* @since 1.9 Visibility set to public.
|
|
|
110 |
* @author Grégory Viguier
|
111 |
*/
|
112 |
public function __construct() {
|
117 |
* Launch the hooks.
|
118 |
*
|
119 |
* @since 1.6.11
|
|
|
120 |
* @author Grégory Viguier
|
121 |
*/
|
122 |
public function init() {
|
123 |
+
$doing_ajax = wp_doing_ajax();
|
|
|
|
|
124 |
|
125 |
+
foreach ( $this->ajax_post_actions as $action ) {
|
126 |
+
$action_callback = "{$action}_callback";
|
127 |
+
if ( $doing_ajax ) {
|
128 |
+
add_action( 'wp_ajax_' . $action, array( $this, $action_callback ) );
|
129 |
}
|
130 |
+
add_action( 'admin_post_' . $action, array( $this, $action_callback ) );
|
131 |
}
|
132 |
|
133 |
+
// Actions triggered only on admin ajax.
|
134 |
+
if ( $doing_ajax ) {
|
135 |
+
foreach ( $this->ajax_only_actions as $action ) {
|
136 |
+
add_action( 'wp_ajax_' . $action, array( $this, $action . '_callback' ) );
|
137 |
+
}
|
138 |
+
}
|
139 |
|
140 |
+
// Actions triggered on admin post.
|
141 |
+
foreach ( $this->post_only_actions as $action ) {
|
142 |
add_action( 'admin_post_' . $action, array( $this, $action . '_callback' ) );
|
143 |
}
|
144 |
}
|
152 |
* Optimize one media.
|
153 |
*
|
154 |
* @since 1.9
|
|
|
155 |
* @author Grégory Viguier
|
156 |
*
|
157 |
* @param int $media_id The media ID.
|
166 |
* Re-optimize a media to a different optimization level.
|
167 |
*
|
168 |
* @since 1.9
|
|
|
169 |
* @author Grégory Viguier
|
170 |
*
|
171 |
* @param int $media_id The media ID.
|
182 |
* This is used by the bulk optimization page.
|
183 |
*
|
184 |
* @since 1.9
|
|
|
185 |
* @author Grégory Viguier
|
186 |
*
|
187 |
* @param int $media_id The media ID.
|
210 |
* Optimize one or some thumbnails that are not optimized yet.
|
211 |
*
|
212 |
* @since 1.9
|
|
|
213 |
* @author Grégory Viguier
|
214 |
*
|
215 |
* @param int $media_id The media ID.
|
224 |
* Generate WebP images if they are missing.
|
225 |
*
|
226 |
* @since 1.9
|
|
|
227 |
* @author Grégory Viguier
|
228 |
*
|
229 |
* @param int $media_id The media ID.
|
238 |
* Delete WebP images for media that are "already_optimize".
|
239 |
*
|
240 |
* @since 1.9.6
|
|
|
241 |
* @author Grégory Viguier
|
242 |
*
|
243 |
* @param int $media_id The media ID.
|
275 |
* Restore a media.
|
276 |
*
|
277 |
* @since 1.9
|
|
|
278 |
* @author Grégory Viguier
|
279 |
*
|
280 |
* @param int $media_id The media ID.
|
294 |
* Get media ids for the requested imagify bulk action.
|
295 |
*
|
296 |
* @since 1.9
|
|
|
297 |
* @author Grégory Viguier
|
298 |
*/
|
299 |
public function imagify_get_media_ids_callback() {
|
348 |
* Process a media with the requested imagify bulk action.
|
349 |
*
|
350 |
* @since 1.6.11
|
|
|
351 |
* @author Jonathan Buttigieg
|
352 |
*/
|
353 |
public function imagify_bulk_optimize_callback() {
|
389 |
* Get stats data for a specific folder type.
|
390 |
*
|
391 |
* @since 1.7
|
|
|
392 |
* @author Grégory Viguier
|
393 |
*/
|
394 |
public function imagify_get_folder_type_data_callback() {
|
413 |
* Set the "bulk info" popup state as "seen".
|
414 |
*
|
415 |
* @since 1.7
|
|
|
416 |
* @author Grégory Viguier
|
417 |
*/
|
418 |
public function imagify_bulk_info_seen_callback() {
|
437 |
* Get generic stats to display in the bulk page.
|
438 |
*
|
439 |
* @since 1.7.1
|
|
|
440 |
* @author Grégory Viguier
|
441 |
*/
|
442 |
public function imagify_bulk_get_stats_callback() {
|
469 |
* Optimize all thumbnails of a specific image with the manual method.
|
470 |
*
|
471 |
* @since 1.6.11
|
|
|
472 |
* @author Jonathan Buttigieg
|
473 |
*/
|
474 |
public function imagify_manual_optimize_callback() {
|
503 |
* Optimize all thumbnails of a specific image with a different optimization level.
|
504 |
*
|
505 |
* @since 1.6.11
|
|
|
506 |
* @author Jonathan Buttigieg
|
507 |
*/
|
508 |
public function imagify_manual_reoptimize_callback() {
|
537 |
* Optimize one or some thumbnails that are not optimized yet.
|
538 |
*
|
539 |
* @since 1.6.11
|
|
|
540 |
* @author Grégory Viguier
|
541 |
*/
|
542 |
public function imagify_optimize_missing_sizes_callback() {
|
571 |
* Generate WebP images if they are missing.
|
572 |
*
|
573 |
* @since 1.9
|
|
|
574 |
* @author Grégory Viguier
|
575 |
*/
|
576 |
public function imagify_generate_webp_versions_callback() {
|
605 |
* Generate WebP images if they are missing.
|
606 |
*
|
607 |
* @since 1.9.6
|
|
|
608 |
* @author Grégory Viguier
|
609 |
*/
|
610 |
public function imagify_delete_webp_versions_callback() {
|
639 |
* Process a restoration to the original attachment.
|
640 |
*
|
641 |
* @since 1.6.11
|
|
|
642 |
* @author Jonathan Buttigieg
|
643 |
*/
|
644 |
public function imagify_restore_callback() {
|
686 |
* Optimize a file.
|
687 |
*
|
688 |
* @since 1.7
|
|
|
689 |
* @author Grégory Viguier
|
690 |
*/
|
691 |
public function imagify_optimize_file_callback() {
|
717 |
* Re-optimize a file.
|
718 |
*
|
719 |
* @since 1.7
|
|
|
720 |
* @author Grégory Viguier
|
721 |
*/
|
722 |
public function imagify_reoptimize_file_callback() {
|
750 |
* Restore a file.
|
751 |
*
|
752 |
* @since 1.7
|
|
|
753 |
* @author Grégory Viguier
|
754 |
*/
|
755 |
public function imagify_restore_file_callback() {
|
782 |
* Check if a file has been modified, and update the database accordingly.
|
783 |
*
|
784 |
* @since 1.7
|
|
|
785 |
* @author Grégory Viguier
|
786 |
*/
|
787 |
public function imagify_refresh_file_modified_callback() {
|
821 |
* Look for new files in custom folders.
|
822 |
*
|
823 |
* @since 1.7
|
|
|
824 |
* @author Grégory Viguier
|
825 |
*/
|
826 |
public function imagify_scan_custom_folders_callback() {
|
875 |
* This is used to display an error message in the plugin's settings page.
|
876 |
*
|
877 |
* @since 1.6.11
|
|
|
878 |
* @author Grégory Viguier
|
879 |
*/
|
880 |
public function imagify_check_backup_dir_is_writable_callback() {
|
893 |
* Get files and folders that are direct children of a given folder.
|
894 |
*
|
895 |
* @since 1.7
|
|
|
896 |
* @author Grégory Viguier
|
897 |
*/
|
898 |
public function imagify_get_files_tree_callback() {
|
986 |
* Create a new Imagify account.
|
987 |
*
|
988 |
* @since 1.6.11
|
|
|
989 |
* @author Jonathan Buttigieg
|
990 |
*/
|
991 |
public function imagify_signup_callback() {
|
1024 |
* Check the API key validity.
|
1025 |
*
|
1026 |
* @since 1.6.11
|
|
|
1027 |
* @author Jonathan Buttigieg
|
1028 |
*/
|
1029 |
public function imagify_check_api_key_validity_callback() {
|
1053 |
* Get admin bar profile output.
|
1054 |
*
|
1055 |
* @since 1.6.11
|
|
|
1056 |
* @author Jonathan Buttigieg
|
1057 |
*/
|
1058 |
public function imagify_get_admin_bar_profile_callback() {
|
1131 |
* Get pricings from API for Onetime and Plans at the same time.
|
1132 |
*
|
1133 |
* @since 1.6.11
|
|
|
1134 |
* @author Geoffrey Crofte
|
1135 |
*/
|
1136 |
public function imagify_get_prices_callback() {
|
1151 |
}
|
1152 |
|
1153 |
wp_send_json_success( array(
|
|
|
1154 |
'monthlies' => $prices_all->Plans,
|
1155 |
) );
|
1156 |
}
|
1159 |
* Check Coupon code on modal popin.
|
1160 |
*
|
1161 |
* @since 1.6.11
|
|
|
1162 |
* @author Geoffrey Crofte
|
1163 |
*/
|
1164 |
public function imagify_check_coupon_callback() {
|
1205 |
* Get estimated sizes from the WordPress library.
|
1206 |
*
|
1207 |
* @since 1.6.11
|
|
|
1208 |
* @author Geoffrey Crofte
|
1209 |
*/
|
1210 |
public function imagify_get_images_counts_callback() {
|
1238 |
* Estimate sizes and update the options values for them.
|
1239 |
*
|
1240 |
* @since 1.6.11
|
|
|
1241 |
* @author Remy Perona
|
1242 |
*/
|
1243 |
public function imagify_update_estimate_sizes_callback() {
|
1262 |
* Get the Imagify User data.
|
1263 |
*
|
1264 |
* @since 1.7
|
|
|
1265 |
* @author Grégory Viguier
|
1266 |
*/
|
1267 |
public function imagify_get_user_data_callback() {
|
1295 |
* Delete the Imagify User data cache.
|
1296 |
*
|
1297 |
* @since 1.9.5
|
|
|
1298 |
* @author Grégory Viguier
|
1299 |
*/
|
1300 |
public function imagify_delete_user_data_cache_callback() {
|
1319 |
* When XML-RPC is used, a current user is set, but no cookies are set, so they cannot be sent with the request. Instead we stored the user ID in a transient.
|
1320 |
*
|
1321 |
* @since 1.6.11
|
|
|
1322 |
* @author Grégory Viguier
|
1323 |
* @see imagify_do_async_job()
|
1324 |
*/
|
1369 |
* Store the "closed" status of the ads.
|
1370 |
*
|
1371 |
* @since 1.7
|
|
|
1372 |
* @author Grégory Viguier
|
1373 |
*/
|
1374 |
public function imagify_dismiss_ad_callback() {
|
1415 |
*
|
1416 |
* @since 1.7
|
1417 |
* @since 1.9 Added $method and $parameter parameters.
|
|
|
1418 |
* @author Grégory Viguier
|
1419 |
*
|
1420 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
1436 |
* Get the submitted context.
|
1437 |
*
|
1438 |
* @since 1.9
|
|
|
1439 |
* @author Grégory Viguier
|
1440 |
*
|
1441 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
1453 |
* Get the submitted media ID.
|
1454 |
*
|
1455 |
* @since 1.9
|
|
|
1456 |
* @author Grégory Viguier
|
1457 |
*
|
1458 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
1474 |
* Get the submitted folder_type.
|
1475 |
*
|
1476 |
* @since 1.9
|
|
|
1477 |
* @author Grégory Viguier
|
1478 |
*
|
1479 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
1490 |
* Get the submitted imagify action.
|
1491 |
*
|
1492 |
* @since 1.9
|
|
|
1493 |
* @author Grégory Viguier
|
1494 |
*
|
1495 |
* @param string $method The method used: 'GET' (default), or 'POST'.
|
1507 |
* Get the Bulk class name depending on a context.
|
1508 |
*
|
1509 |
* @since 1.9
|
|
|
1510 |
* @author Grégory Viguier
|
1511 |
*
|
1512 |
* @param string $context The context name. Default values are 'wp' and 'custom-folders'.
|
1544 |
* Get the Bulk instance depending on a context.
|
1545 |
*
|
1546 |
* @since 1.9
|
|
|
1547 |
* @author Grégory Viguier
|
1548 |
*
|
1549 |
* @param string $context The context name. Default values are 'wp' and 'custom-folders'.
|
1558 |
* Check if the user has a valid account and has quota. Die on failure.
|
1559 |
*
|
1560 |
* @since 1.7
|
|
|
1561 |
* @author Grégory Viguier
|
1562 |
*/
|
1563 |
public function check_can_optimize() {
|
1582 |
* Get a media columns for the "Other Media" page.
|
1583 |
*
|
1584 |
* @since 1.9
|
|
|
1585 |
* @author Grégory Viguier
|
1586 |
*
|
1587 |
* @param object $process A \Imagify\Optimization\Process\CustomFolders object.
|
1607 |
* @since 1.7
|
1608 |
* @since 1.9 Removed parameter $result.
|
1609 |
* @since 1.9 Added $folder in the returned JSON.
|
|
|
1610 |
* @author Grégory Viguier
|
1611 |
*
|
1612 |
* @param object $process A \Imagify\Optimization\Process\CustomFolders object.
|
inc/classes/class-imagify-files-list-table.php
CHANGED
@@ -33,7 +33,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
33 |
*
|
34 |
* @var array
|
35 |
* @since 1.7
|
36 |
-
* @access protected
|
37 |
* @author Grégory Viguier
|
38 |
*/
|
39 |
protected $folders = array();
|
@@ -43,7 +42,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
43 |
*
|
44 |
* @var object Imagify_Filesystem
|
45 |
* @since 1.7.1
|
46 |
-
* @access protected
|
47 |
* @author Grégory Viguier
|
48 |
*/
|
49 |
protected $filesystem;
|
@@ -53,7 +51,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
53 |
*
|
54 |
* @var object Imagify_Views
|
55 |
* @since 1.9
|
56 |
-
* @access protected
|
57 |
* @author Grégory Viguier
|
58 |
*/
|
59 |
protected $views;
|
@@ -62,7 +59,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
62 |
* Constructor.
|
63 |
*
|
64 |
* @since 1.7
|
65 |
-
* @access public
|
66 |
* @author Grégory Viguier
|
67 |
*
|
68 |
* @param array $args An associative array of arguments.
|
@@ -85,7 +81,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
85 |
* Prepares the list of items for displaying.
|
86 |
*
|
87 |
* @since 1.7
|
88 |
-
* @access public
|
89 |
* @author Grégory Viguier
|
90 |
*/
|
91 |
public function prepare_items() {
|
@@ -233,7 +228,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
233 |
* Message to be displayed when there are no items.
|
234 |
*
|
235 |
* @since 1.7
|
236 |
-
* @access public
|
237 |
* @author Grégory Viguier
|
238 |
*/
|
239 |
public function no_items() {
|
@@ -302,7 +296,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
302 |
* Display views.
|
303 |
*
|
304 |
* @since 1.7
|
305 |
-
* @access public
|
306 |
* @author Grégory Viguier
|
307 |
*/
|
308 |
public function views() {
|
@@ -420,7 +413,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
420 |
* Get an associative array ( option_name => option_title ) with the list of bulk actions available on this table.
|
421 |
*
|
422 |
* @since 1.7
|
423 |
-
* @access public
|
424 |
* @author Grégory Viguier
|
425 |
*
|
426 |
* @return array
|
@@ -436,7 +428,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
436 |
* 'internal-name' => 'Title'
|
437 |
*
|
438 |
* @since 1.7
|
439 |
-
* @access public
|
440 |
* @author Grégory Viguier
|
441 |
*
|
442 |
* @return array
|
@@ -462,7 +453,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
462 |
* The second format will make the initial sorting order be descending.
|
463 |
*
|
464 |
* @since 1.7
|
465 |
-
* @access public
|
466 |
* @author Grégory Viguier
|
467 |
*
|
468 |
* @return array
|
@@ -480,7 +470,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
480 |
* Get a column contents.
|
481 |
*
|
482 |
* @since 1.7
|
483 |
-
* @access public
|
484 |
* @author Grégory Viguier
|
485 |
*
|
486 |
* @param string $column The column "name": "cb", "title", "optimization_level", etc.
|
@@ -501,7 +490,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
501 |
* Handles the checkbox column output.
|
502 |
*
|
503 |
* @since 1.7
|
504 |
-
* @access public
|
505 |
* @author Grégory Viguier
|
506 |
*
|
507 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -518,7 +506,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
518 |
* Handles the title column output.
|
519 |
*
|
520 |
* @since 1.7
|
521 |
-
* @access public
|
522 |
* @author Grégory Viguier
|
523 |
*
|
524 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -569,7 +556,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
569 |
* Handles the parent folder column output.
|
570 |
*
|
571 |
* @since 1.7
|
572 |
-
* @access public
|
573 |
* @author Grégory Viguier
|
574 |
*
|
575 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -605,7 +591,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
605 |
* Handles the optimization data column output.
|
606 |
*
|
607 |
* @since 1.7
|
608 |
-
* @access public
|
609 |
* @author Grégory Viguier
|
610 |
*
|
611 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -658,7 +643,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
658 |
* Handles the status column output.
|
659 |
*
|
660 |
* @since 1.7
|
661 |
-
* @access public
|
662 |
* @author Grégory Viguier
|
663 |
*
|
664 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -694,7 +678,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
694 |
* Handles the optimization level column output.
|
695 |
*
|
696 |
* @since 1.7
|
697 |
-
* @access public
|
698 |
* @author Grégory Viguier
|
699 |
*
|
700 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -711,7 +694,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
711 |
* Handles the actions column output.
|
712 |
*
|
713 |
* @since 1.7
|
714 |
-
* @access public
|
715 |
* @author Grégory Viguier
|
716 |
*
|
717 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -749,7 +731,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
749 |
* Prints a button to optimize the file.
|
750 |
*
|
751 |
* @since 1.7
|
752 |
-
* @access protected
|
753 |
* @author Grégory Viguier
|
754 |
*
|
755 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -778,7 +759,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
778 |
* Prints a button to retry to optimize the file.
|
779 |
*
|
780 |
* @since 1.7
|
781 |
-
* @access protected
|
782 |
* @author Grégory Viguier
|
783 |
*
|
784 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -810,7 +790,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
810 |
* Prints buttons to re-optimize the file to other levels.
|
811 |
*
|
812 |
* @since 1.7
|
813 |
-
* @access protected
|
814 |
* @author Grégory Viguier
|
815 |
*
|
816 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -836,20 +815,18 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
836 |
$data = [];
|
837 |
$url_args = [ 'attachment_id' => $media->get_id() ];
|
838 |
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
-
|
844 |
-
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
|
851 |
-
echo '<br/>';
|
852 |
-
}
|
853 |
}
|
854 |
}
|
855 |
|
@@ -857,7 +834,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
857 |
* Prints a button to generate WebP versions if they are missing.
|
858 |
*
|
859 |
* @since 1.7
|
860 |
-
* @access protected
|
861 |
* @author Grégory Viguier
|
862 |
*
|
863 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -874,7 +850,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
874 |
* Prints a button to delete WebP versions when the status is "already_optimized".
|
875 |
*
|
876 |
* @since 1.9.6
|
877 |
-
* @access protected
|
878 |
* @author Grégory Viguier
|
879 |
*
|
880 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -891,7 +866,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
891 |
* Prints a button to restore the file.
|
892 |
*
|
893 |
* @since 1.7
|
894 |
-
* @access protected
|
895 |
* @author Grégory Viguier
|
896 |
*
|
897 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -915,7 +889,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
915 |
* Prints a button to check if the file has been modified or not.
|
916 |
*
|
917 |
* @since 1.7
|
918 |
-
* @access protected
|
919 |
* @author Grégory Viguier
|
920 |
*
|
921 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -933,7 +906,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
933 |
* Prints a button for the comparison tool (before / after optimization).
|
934 |
*
|
935 |
* @since 1.7
|
936 |
-
* @access protected
|
937 |
* @author Grégory Viguier
|
938 |
*
|
939 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -981,7 +953,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
981 |
* It may happen if the $item doesn't come from the prepare() method.
|
982 |
*
|
983 |
* @since 1.7
|
984 |
-
* @access protected
|
985 |
* @author Grégory Viguier
|
986 |
*
|
987 |
* @param object $item The current item. It must contain at least a $process property.
|
@@ -1018,7 +989,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
1018 |
* Get the name of the default primary column.
|
1019 |
*
|
1020 |
* @since 1.7
|
1021 |
-
* @access protected
|
1022 |
* @author Grégory Viguier
|
1023 |
*
|
1024 |
* @return string Name of the default primary column, in this case, 'title'.
|
@@ -1031,7 +1001,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
1031 |
* Get a list of CSS classes for the WP_List_Table table tag.
|
1032 |
*
|
1033 |
* @since 1.7
|
1034 |
-
* @access protected
|
1035 |
* @author Grégory Viguier
|
1036 |
*
|
1037 |
* @return array List of CSS classes for the table tag.
|
@@ -1044,7 +1013,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
1044 |
* Allow to save the screen options when submitted by the user.
|
1045 |
*
|
1046 |
* @since 1.7
|
1047 |
-
* @access public
|
1048 |
* @author Grégory Viguier
|
1049 |
*
|
1050 |
* @param bool|int $status Screen option value. Default false to skip.
|
@@ -1064,7 +1032,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
1064 |
* Get the requested folder filter.
|
1065 |
*
|
1066 |
* @since 1.7
|
1067 |
-
* @access public
|
1068 |
* @author Grégory Viguier
|
1069 |
*
|
1070 |
* @return string
|
@@ -1084,7 +1051,6 @@ class Imagify_Files_List_Table extends WP_List_Table {
|
|
1084 |
* Get the requested status filter.
|
1085 |
*
|
1086 |
* @since 1.7
|
1087 |
-
* @access public
|
1088 |
* @author Grégory Viguier
|
1089 |
*
|
1090 |
* @return string
|
33 |
*
|
34 |
* @var array
|
35 |
* @since 1.7
|
|
|
36 |
* @author Grégory Viguier
|
37 |
*/
|
38 |
protected $folders = array();
|
42 |
*
|
43 |
* @var object Imagify_Filesystem
|
44 |
* @since 1.7.1
|
|
|
45 |
* @author Grégory Viguier
|
46 |
*/
|
47 |
protected $filesystem;
|
51 |
*
|
52 |
* @var object Imagify_Views
|
53 |
* @since 1.9
|
|
|
54 |
* @author Grégory Viguier
|
55 |
*/
|
56 |
protected $views;
|
59 |
* Constructor.
|
60 |
*
|
61 |
* @since 1.7
|
|
|
62 |
* @author Grégory Viguier
|
63 |
*
|
64 |
* @param array $args An associative array of arguments.
|
81 |
* Prepares the list of items for displaying.
|
82 |
*
|
83 |
* @since 1.7
|
|
|
84 |
* @author Grégory Viguier
|
85 |
*/
|
86 |
public function prepare_items() {
|
228 |
* Message to be displayed when there are no items.
|
229 |
*
|
230 |
* @since 1.7
|
|
|
231 |
* @author Grégory Viguier
|
232 |
*/
|
233 |
public function no_items() {
|
296 |
* Display views.
|
297 |
*
|
298 |
* @since 1.7
|
|
|
299 |
* @author Grégory Viguier
|
300 |
*/
|
301 |
public function views() {
|
413 |
* Get an associative array ( option_name => option_title ) with the list of bulk actions available on this table.
|
414 |
*
|
415 |
* @since 1.7
|
|
|
416 |
* @author Grégory Viguier
|
417 |
*
|
418 |
* @return array
|
428 |
* 'internal-name' => 'Title'
|
429 |
*
|
430 |
* @since 1.7
|
|
|
431 |
* @author Grégory Viguier
|
432 |
*
|
433 |
* @return array
|
453 |
* The second format will make the initial sorting order be descending.
|
454 |
*
|
455 |
* @since 1.7
|
|
|
456 |
* @author Grégory Viguier
|
457 |
*
|
458 |
* @return array
|
470 |
* Get a column contents.
|
471 |
*
|
472 |
* @since 1.7
|
|
|
473 |
* @author Grégory Viguier
|
474 |
*
|
475 |
* @param string $column The column "name": "cb", "title", "optimization_level", etc.
|
490 |
* Handles the checkbox column output.
|
491 |
*
|
492 |
* @since 1.7
|
|
|
493 |
* @author Grégory Viguier
|
494 |
*
|
495 |
* @param object $item The current item. It must contain at least a $process property.
|
506 |
* Handles the title column output.
|
507 |
*
|
508 |
* @since 1.7
|
|
|
509 |
* @author Grégory Viguier
|
510 |
*
|
511 |
* @param object $item The current item. It must contain at least a $process property.
|
556 |
* Handles the parent folder column output.
|
557 |
*
|
558 |
* @since 1.7
|
|
|
559 |
* @author Grégory Viguier
|
560 |
*
|
561 |
* @param object $item The current item. It must contain at least a $process property.
|
591 |
* Handles the optimization data column output.
|
592 |
*
|
593 |
* @since 1.7
|
|
|
594 |
* @author Grégory Viguier
|
595 |
*
|
596 |
* @param object $item The current item. It must contain at least a $process property.
|
643 |
* Handles the status column output.
|
644 |
*
|
645 |
* @since 1.7
|
|
|
646 |
* @author Grégory Viguier
|
647 |
*
|
648 |
* @param object $item The current item. It must contain at least a $process property.
|
678 |
* Handles the optimization level column output.
|
679 |
*
|
680 |
* @since 1.7
|
|
|
681 |
* @author Grégory Viguier
|
682 |
*
|
683 |
* @param object $item The current item. It must contain at least a $process property.
|
694 |
* Handles the actions column output.
|
695 |
*
|
696 |
* @since 1.7
|
|
|
697 |
* @author Grégory Viguier
|
698 |
*
|
699 |
* @param object $item The current item. It must contain at least a $process property.
|
731 |
* Prints a button to optimize the file.
|
732 |
*
|
733 |
* @since 1.7
|
|
|
734 |
* @author Grégory Viguier
|
735 |
*
|
736 |
* @param object $item The current item. It must contain at least a $process property.
|
759 |
* Prints a button to retry to optimize the file.
|
760 |
*
|
761 |
* @since 1.7
|
|
|
762 |
* @author Grégory Viguier
|
763 |
*
|
764 |
* @param object $item The current item. It must contain at least a $process property.
|
790 |
* Prints buttons to re-optimize the file to other levels.
|
791 |
*
|
792 |
* @since 1.7
|
|
|
793 |
* @author Grégory Viguier
|
794 |
*
|
795 |
* @param object $item The current item. It must contain at least a $process property.
|
815 |
$data = [];
|
816 |
$url_args = [ 'attachment_id' => $media->get_id() ];
|
817 |
|
818 |
+
if ( $media_level < 1 ) {
|
819 |
+
$url_args['optimization_level'] = 2;
|
820 |
+
$data['optimization_level'] = 2;
|
821 |
+
$data['url'] = get_imagify_admin_url( 'reoptimize-file', $url_args );
|
822 |
+
|
823 |
+
echo $this->views->get_template( 'button/re-optimize', $data );
|
824 |
+
} elseif ( $media_level > 0 ) {
|
825 |
+
$url_args['optimization_level'] = 0;
|
826 |
+
$data['optimization_level'] = 0;
|
827 |
+
$data['url'] = get_imagify_admin_url( 'reoptimize-file', $url_args );
|
828 |
+
|
829 |
+
echo $this->views->get_template( 'button/re-optimize', $data );
|
|
|
|
|
830 |
}
|
831 |
}
|
832 |
|
834 |
* Prints a button to generate WebP versions if they are missing.
|
835 |
*
|
836 |
* @since 1.7
|
|
|
837 |
* @author Grégory Viguier
|
838 |
*
|
839 |
* @param object $item The current item. It must contain at least a $process property.
|
850 |
* Prints a button to delete WebP versions when the status is "already_optimized".
|
851 |
*
|
852 |
* @since 1.9.6
|
|
|
853 |
* @author Grégory Viguier
|
854 |
*
|
855 |
* @param object $item The current item. It must contain at least a $process property.
|
866 |
* Prints a button to restore the file.
|
867 |
*
|
868 |
* @since 1.7
|
|
|
869 |
* @author Grégory Viguier
|
870 |
*
|
871 |
* @param object $item The current item. It must contain at least a $process property.
|
889 |
* Prints a button to check if the file has been modified or not.
|
890 |
*
|
891 |
* @since 1.7
|
|
|
892 |
* @author Grégory Viguier
|
893 |
*
|
894 |
* @param object $item The current item. It must contain at least a $process property.
|
906 |
* Prints a button for the comparison tool (before / after optimization).
|
907 |
*
|
908 |
* @since 1.7
|
|
|
909 |
* @author Grégory Viguier
|
910 |
*
|
911 |
* @param object $item The current item. It must contain at least a $process property.
|
953 |
* It may happen if the $item doesn't come from the prepare() method.
|
954 |
*
|
955 |
* @since 1.7
|
|
|
956 |
* @author Grégory Viguier
|
957 |
*
|
958 |
* @param object $item The current item. It must contain at least a $process property.
|
989 |
* Get the name of the default primary column.
|
990 |
*
|
991 |
* @since 1.7
|
|
|
992 |
* @author Grégory Viguier
|
993 |
*
|
994 |
* @return string Name of the default primary column, in this case, 'title'.
|
1001 |
* Get a list of CSS classes for the WP_List_Table table tag.
|
1002 |
*
|
1003 |
* @since 1.7
|
|
|
1004 |
* @author Grégory Viguier
|
1005 |
*
|
1006 |
* @return array List of CSS classes for the table tag.
|
1013 |
* Allow to save the screen options when submitted by the user.
|
1014 |
*
|
1015 |
* @since 1.7
|
|
|
1016 |
* @author Grégory Viguier
|
1017 |
*
|
1018 |
* @param bool|int $status Screen option value. Default false to skip.
|
1032 |
* Get the requested folder filter.
|
1033 |
*
|
1034 |
* @since 1.7
|
|
|
1035 |
* @author Grégory Viguier
|
1036 |
*
|
1037 |
* @return string
|
1051 |
* Get the requested status filter.
|
1052 |
*
|
1053 |
* @since 1.7
|
|
|
1054 |
* @author Grégory Viguier
|
1055 |
*
|
1056 |
* @return string
|
inc/classes/class-imagify-notices.php
CHANGED
@@ -608,7 +608,9 @@ class Imagify_Notices extends Imagify_Notices_Deprecated {
|
|
608 |
return $display;
|
609 |
}
|
610 |
|
611 |
-
|
|
|
|
|
612 |
return $display;
|
613 |
}
|
614 |
|
608 |
return $display;
|
609 |
}
|
610 |
|
611 |
+
$plugins = get_plugins();
|
612 |
+
|
613 |
+
if ( isset( $plugins['wp-rocket/wp-rocket.php'] ) || self::notice_is_dismissed( 'wp-rocket' ) ) {
|
614 |
return $display;
|
615 |
}
|
616 |
|
inc/classes/class-imagify-options.php
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
<?php
|
2 |
-
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
3 |
|
4 |
/**
|
5 |
* Class that handles the plugin options.
|
@@ -21,7 +20,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
21 |
*
|
22 |
* @var string
|
23 |
* @since 1.7
|
24 |
-
* @access protected
|
25 |
*/
|
26 |
protected $identifier = 'settings';
|
27 |
|
@@ -32,11 +30,10 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
32 |
*
|
33 |
* @var array
|
34 |
* @since 1.7
|
35 |
-
* @access protected
|
36 |
*/
|
37 |
protected $default_values = array(
|
38 |
'api_key' => '',
|
39 |
-
'optimization_level' =>
|
40 |
'auto_optimize' => 0,
|
41 |
'backup' => 0,
|
42 |
'resize_larger' => 0,
|
@@ -45,7 +42,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
45 |
'display_webp' => 0,
|
46 |
'display_webp_method' => 'picture',
|
47 |
'cdn_url' => '',
|
48 |
-
'exif' => 0,
|
49 |
'disallowed-sizes' => array(),
|
50 |
'admin_bar_menu' => 0,
|
51 |
'partner_links' => 0,
|
@@ -57,10 +53,9 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
57 |
*
|
58 |
* @var array
|
59 |
* @since 1.7
|
60 |
-
* @access protected
|
61 |
*/
|
62 |
protected $reset_values = array(
|
63 |
-
'optimization_level' =>
|
64 |
'auto_optimize' => 1,
|
65 |
'backup' => 1,
|
66 |
'convert_to_webp' => 1,
|
@@ -73,7 +68,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
73 |
*
|
74 |
* @var object
|
75 |
* @since 1.7
|
76 |
-
* @access protected
|
77 |
*/
|
78 |
protected static $_instance;
|
79 |
|
@@ -83,7 +77,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
83 |
*
|
84 |
* @since 1.7
|
85 |
* @author Grégory Viguier
|
86 |
-
* @access protected
|
87 |
*/
|
88 |
protected function __construct() {
|
89 |
if ( defined( 'IMAGIFY_API_KEY' ) && IMAGIFY_API_KEY ) {
|
@@ -119,7 +112,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
119 |
*
|
120 |
* @since 1.7
|
121 |
* @author Grégory Viguier
|
122 |
-
* @access public
|
123 |
*
|
124 |
* @return object Main instance.
|
125 |
*/
|
@@ -141,7 +133,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
141 |
*
|
142 |
* @since 1.7
|
143 |
* @author Grégory Viguier
|
144 |
-
* @access public
|
145 |
*
|
146 |
* @param string $key The option key.
|
147 |
* @param mixed $value The value.
|
@@ -171,7 +162,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
171 |
case 'resize_larger':
|
172 |
case 'convert_to_webp':
|
173 |
case 'display_webp':
|
174 |
-
case 'exif':
|
175 |
case 'admin_bar_menu':
|
176 |
case 'partner_links':
|
177 |
return 1;
|
@@ -233,7 +223,6 @@ class Imagify_Options extends Imagify_Abstract_Options {
|
|
233 |
*
|
234 |
* @since 1.7
|
235 |
* @author Grégory Viguier
|
236 |
-
* @access public
|
237 |
*
|
238 |
* @param string $values The option value.
|
239 |
* @return array
|
1 |
<?php
|
|
|
2 |
|
3 |
/**
|
4 |
* Class that handles the plugin options.
|
20 |
*
|
21 |
* @var string
|
22 |
* @since 1.7
|
|
|
23 |
*/
|
24 |
protected $identifier = 'settings';
|
25 |
|
30 |
*
|
31 |
* @var array
|
32 |
* @since 1.7
|
|
|
33 |
*/
|
34 |
protected $default_values = array(
|
35 |
'api_key' => '',
|
36 |
+
'optimization_level' => 2,
|
37 |
'auto_optimize' => 0,
|
38 |
'backup' => 0,
|
39 |
'resize_larger' => 0,
|
42 |
'display_webp' => 0,
|
43 |
'display_webp_method' => 'picture',
|
44 |
'cdn_url' => '',
|
|
|
45 |
'disallowed-sizes' => array(),
|
46 |
'admin_bar_menu' => 0,
|
47 |
'partner_links' => 0,
|
53 |
*
|
54 |
* @var array
|
55 |
* @since 1.7
|
|
|
56 |
*/
|
57 |
protected $reset_values = array(
|
58 |
+
'optimization_level' => 2,
|
59 |
'auto_optimize' => 1,
|
60 |
'backup' => 1,
|
61 |
'convert_to_webp' => 1,
|
68 |
*
|
69 |
* @var object
|
70 |
* @since 1.7
|
|
|
71 |
*/
|
72 |
protected static $_instance;
|
73 |
|
77 |
*
|
78 |
* @since 1.7
|
79 |
* @author Grégory Viguier
|
|
|
80 |
*/
|
81 |
protected function __construct() {
|
82 |
if ( defined( 'IMAGIFY_API_KEY' ) && IMAGIFY_API_KEY ) {
|
112 |
*
|
113 |
* @since 1.7
|
114 |
* @author Grégory Viguier
|
|
|
115 |
*
|
116 |
* @return object Main instance.
|
117 |
*/
|
133 |
*
|
134 |
* @since 1.7
|
135 |
* @author Grégory Viguier
|
|
|
136 |
*
|
137 |
* @param string $key The option key.
|
138 |
* @param mixed $value The value.
|
162 |
case 'resize_larger':
|
163 |
case 'convert_to_webp':
|
164 |
case 'display_webp':
|
|
|
165 |
case 'admin_bar_menu':
|
166 |
case 'partner_links':
|
167 |
return 1;
|
223 |
*
|
224 |
* @since 1.7
|
225 |
* @author Grégory Viguier
|
|
|
226 |
*
|
227 |
* @param string $values The option value.
|
228 |
* @return array
|
inc/classes/class-imagify.php
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
|
4 |
/**
|
5 |
* Imagify.io API for WordPress.
|
6 |
*/
|
7 |
class Imagify {
|
8 |
-
use
|
9 |
|
10 |
/**
|
11 |
* The Imagify API endpoint.
|
@@ -47,7 +47,6 @@ class Imagify {
|
|
47 |
*
|
48 |
* @var object Imagify_Filesystem
|
49 |
* @since 1.7.1
|
50 |
-
* @access protected
|
51 |
* @author Grégory Viguier
|
52 |
*/
|
53 |
protected $filesystem;
|
@@ -57,7 +56,6 @@ class Imagify {
|
|
57 |
*
|
58 |
* @var \stdClass|\WP_Error
|
59 |
* @since 1.9.9
|
60 |
-
* @access protected
|
61 |
* @author Grégory Viguier
|
62 |
*/
|
63 |
protected static $user;
|
@@ -83,7 +81,6 @@ class Imagify {
|
|
83 |
/**
|
84 |
* Get your Imagify account infos.
|
85 |
*
|
86 |
-
* @access public
|
87 |
* @since 1.6.5
|
88 |
*
|
89 |
* @return object
|
@@ -128,7 +125,6 @@ class Imagify {
|
|
128 |
/**
|
129 |
* Create a user on your Imagify account.
|
130 |
*
|
131 |
-
* @access public
|
132 |
* @since 1.6.5
|
133 |
*
|
134 |
* @param array $data All user data.
|
@@ -166,7 +162,6 @@ class Imagify {
|
|
166 |
/**
|
167 |
* Update an existing user on your Imagify account.
|
168 |
*
|
169 |
-
* @access public
|
170 |
* @since 1.6.5
|
171 |
*
|
172 |
* @param string $data All user data.
|
@@ -188,7 +183,6 @@ class Imagify {
|
|
188 |
/**
|
189 |
* Check your Imagify API key status.
|
190 |
*
|
191 |
-
* @access public
|
192 |
* @since 1.6.5
|
193 |
*
|
194 |
* @param string $data The license key.
|
@@ -220,7 +214,6 @@ class Imagify {
|
|
220 |
/**
|
221 |
* Get the Imagify API version.
|
222 |
*
|
223 |
-
* @access public
|
224 |
* @since 1.6.5
|
225 |
*
|
226 |
* @return object
|
@@ -242,7 +235,6 @@ class Imagify {
|
|
242 |
/**
|
243 |
* Get Public Info.
|
244 |
*
|
245 |
-
* @access public
|
246 |
* @since 1.6.5
|
247 |
*
|
248 |
* @return object
|
@@ -256,7 +248,6 @@ class Imagify {
|
|
256 |
/**
|
257 |
* Optimize an image from its binary content.
|
258 |
*
|
259 |
-
* @access public
|
260 |
* @since 1.6.5
|
261 |
* @since 1.6.7 $data['image'] can contain the file path (prefered) or the result of `curl_file_create()`.
|
262 |
*
|
@@ -280,7 +271,6 @@ class Imagify {
|
|
280 |
/**
|
281 |
* Optimize an image from its URL.
|
282 |
*
|
283 |
-
* @access public
|
284 |
* @since 1.6.5
|
285 |
*
|
286 |
* @param string $data All options. Details here: --.
|
@@ -301,7 +291,6 @@ class Imagify {
|
|
301 |
/**
|
302 |
* Get prices for plans.
|
303 |
*
|
304 |
-
* @access public
|
305 |
* @since 1.6.5
|
306 |
*
|
307 |
* @return object
|
@@ -313,23 +302,8 @@ class Imagify {
|
|
313 |
}
|
314 |
|
315 |
/**
|
316 |
-
* Get prices
|
317 |
*
|
318 |
-
* @access public
|
319 |
-
* @since 1.6.5
|
320 |
-
*
|
321 |
-
* @return object
|
322 |
-
*/
|
323 |
-
public function get_packs_prices() {
|
324 |
-
$this->headers = $this->all_headers;
|
325 |
-
|
326 |
-
return $this->http_call( 'pricing/pack/' );
|
327 |
-
}
|
328 |
-
|
329 |
-
/**
|
330 |
-
* Get all prices (packs & plans included).
|
331 |
-
*
|
332 |
-
* @access public
|
333 |
* @since 1.6.5
|
334 |
*
|
335 |
* @return object
|
@@ -341,9 +315,8 @@ class Imagify {
|
|
341 |
}
|
342 |
|
343 |
/**
|
344 |
-
* Get
|
345 |
*
|
346 |
-
* @access public
|
347 |
* @since 1.6.5
|
348 |
*
|
349 |
* @param string $coupon A coupon code.
|
@@ -358,7 +331,6 @@ class Imagify {
|
|
358 |
/**
|
359 |
* Get information about current discount.
|
360 |
*
|
361 |
-
* @access public
|
362 |
* @since 1.6.5
|
363 |
*
|
364 |
* @return object
|
@@ -372,7 +344,6 @@ class Imagify {
|
|
372 |
/**
|
373 |
* Make an HTTP call using curl.
|
374 |
*
|
375 |
-
* @access private
|
376 |
* @since 1.6.5
|
377 |
* @since 1.6.7 Use `wp_remote_request()` when possible (when we don't need to send an image).
|
378 |
*
|
@@ -451,7 +422,6 @@ class Imagify {
|
|
451 |
/**
|
452 |
* Make an HTTP call using curl.
|
453 |
*
|
454 |
-
* @access private
|
455 |
* @since 1.6.7
|
456 |
* @throws Exception When curl_init() fails.
|
457 |
* @author Grégory Viguier
|
@@ -504,7 +474,7 @@ class Imagify {
|
|
504 |
curl_setopt( $ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS );
|
505 |
}
|
506 |
|
507 |
-
$user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . get_bloginfo( 'version' ) . '; ' . get_bloginfo( 'url' ) );
|
508 |
|
509 |
curl_setopt( $ch, CURLOPT_URL, $url );
|
510 |
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
|
@@ -580,7 +550,6 @@ class Imagify {
|
|
580 |
/**
|
581 |
* Handle the request response and maybe trigger an error.
|
582 |
*
|
583 |
-
* @access private
|
584 |
* @since 1.6.7
|
585 |
* @author Grégory Viguier
|
586 |
*
|
@@ -629,7 +598,6 @@ class Imagify {
|
|
629 |
* Generate a random key.
|
630 |
* Similar to wp_generate_password() but without filter.
|
631 |
*
|
632 |
-
* @access private
|
633 |
* @since 1.8.4
|
634 |
* @see wp_generate_password()
|
635 |
* @author Grégory Viguier
|
@@ -651,7 +619,6 @@ class Imagify {
|
|
651 |
/**
|
652 |
* Filter the arguments used in an HTTP request, to make sure our API key has not been overwritten by some other plugin.
|
653 |
*
|
654 |
-
* @access public
|
655 |
* @since 1.8.4
|
656 |
* @author Grégory Viguier
|
657 |
*
|
1 |
<?php
|
2 |
+
use Imagify\Traits\InstanceGetterTrait;
|
3 |
|
4 |
/**
|
5 |
* Imagify.io API for WordPress.
|
6 |
*/
|
7 |
class Imagify {
|
8 |
+
use InstanceGetterTrait;
|
9 |
|
10 |
/**
|
11 |
* The Imagify API endpoint.
|
47 |
*
|
48 |
* @var object Imagify_Filesystem
|
49 |
* @since 1.7.1
|
|
|
50 |
* @author Grégory Viguier
|
51 |
*/
|
52 |
protected $filesystem;
|
56 |
*
|
57 |
* @var \stdClass|\WP_Error
|
58 |
* @since 1.9.9
|
|
|
59 |
* @author Grégory Viguier
|
60 |
*/
|
61 |
protected static $user;
|
81 |
/**
|
82 |
* Get your Imagify account infos.
|
83 |
*
|
|
|
84 |
* @since 1.6.5
|
85 |
*
|
86 |
* @return object
|
125 |
/**
|
126 |
* Create a user on your Imagify account.
|
127 |
*
|
|
|
128 |
* @since 1.6.5
|
129 |
*
|
130 |
* @param array $data All user data.
|
162 |
/**
|
163 |
* Update an existing user on your Imagify account.
|
164 |
*
|
|
|
165 |
* @since 1.6.5
|
166 |
*
|
167 |
* @param string $data All user data.
|
183 |
/**
|
184 |
* Check your Imagify API key status.
|
185 |
*
|
|
|
186 |
* @since 1.6.5
|
187 |
*
|
188 |
* @param string $data The license key.
|
214 |
/**
|
215 |
* Get the Imagify API version.
|
216 |
*
|
|
|
217 |
* @since 1.6.5
|
218 |
*
|
219 |
* @return object
|
235 |
/**
|
236 |
* Get Public Info.
|
237 |
*
|
|
|
238 |
* @since 1.6.5
|
239 |
*
|
240 |
* @return object
|
248 |
/**
|
249 |
* Optimize an image from its binary content.
|
250 |
*
|
|
|
251 |
* @since 1.6.5
|
252 |
* @since 1.6.7 $data['image'] can contain the file path (prefered) or the result of `curl_file_create()`.
|
253 |
*
|
271 |
/**
|
272 |
* Optimize an image from its URL.
|
273 |
*
|
|
|
274 |
* @since 1.6.5
|
275 |
*
|
276 |
* @param string $data All options. Details here: --.
|
291 |
/**
|
292 |
* Get prices for plans.
|
293 |
*
|
|
|
294 |
* @since 1.6.5
|
295 |
*
|
296 |
* @return object
|
302 |
}
|
303 |
|
304 |
/**
|
305 |
+
* Get all prices (Plans included).
|
306 |
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
* @since 1.6.5
|
308 |
*
|
309 |
* @return object
|
315 |
}
|
316 |
|
317 |
/**
|
318 |
+
* Get coupon code data.
|
319 |
*
|
|
|
320 |
* @since 1.6.5
|
321 |
*
|
322 |
* @param string $coupon A coupon code.
|
331 |
/**
|
332 |
* Get information about current discount.
|
333 |
*
|
|
|
334 |
* @since 1.6.5
|
335 |
*
|
336 |
* @return object
|
344 |
/**
|
345 |
* Make an HTTP call using curl.
|
346 |
*
|
|
|
347 |
* @since 1.6.5
|
348 |
* @since 1.6.7 Use `wp_remote_request()` when possible (when we don't need to send an image).
|
349 |
*
|
422 |
/**
|
423 |
* Make an HTTP call using curl.
|
424 |
*
|
|
|
425 |
* @since 1.6.7
|
426 |
* @throws Exception When curl_init() fails.
|
427 |
* @author Grégory Viguier
|
474 |
curl_setopt( $ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS );
|
475 |
}
|
476 |
|
477 |
+
$user_agent = apply_filters( 'http_headers_useragent', 'WordPress/' . get_bloginfo( 'version' ) . '; ' . get_bloginfo( 'url' ), $url );
|
478 |
|
479 |
curl_setopt( $ch, CURLOPT_URL, $url );
|
480 |
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
|
550 |
/**
|
551 |
* Handle the request response and maybe trigger an error.
|
552 |
*
|
|
|
553 |
* @since 1.6.7
|
554 |
* @author Grégory Viguier
|
555 |
*
|
598 |
* Generate a random key.
|
599 |
* Similar to wp_generate_password() but without filter.
|
600 |
*
|
|
|
601 |
* @since 1.8.4
|
602 |
* @see wp_generate_password()
|
603 |
* @author Grégory Viguier
|
619 |
/**
|
620 |
* Filter the arguments used in an HTTP request, to make sure our API key has not been overwritten by some other plugin.
|
621 |
*
|
|
|
622 |
* @since 1.8.4
|
623 |
* @author Grégory Viguier
|
624 |
*
|
inc/deprecated/deprecated.php
CHANGED
@@ -1663,3 +1663,92 @@ if ( is_admin() ) :
|
|
1663 |
}
|
1664 |
|
1665 |
endif;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1663 |
}
|
1664 |
|
1665 |
endif;
|
1666 |
+
|
1667 |
+
/**
|
1668 |
+
* Maybe reset opcache after Imagify update.
|
1669 |
+
*
|
1670 |
+
* @since 1.7.1.2
|
1671 |
+
* @since 2.0
|
1672 |
+
* @author Grégory Viguier
|
1673 |
+
*
|
1674 |
+
* @param object $wp_upgrader Plugin_Upgrader instance.
|
1675 |
+
* @param array $hook_extra {
|
1676 |
+
* Array of bulk item update data.
|
1677 |
+
*
|
1678 |
+
* @type string $action Type of action. Default 'update'.
|
1679 |
+
* @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'.
|
1680 |
+
* @type bool $bulk Whether the update process is a bulk update. Default true.
|
1681 |
+
* @type array $plugins Array of the basename paths of the plugins' main files.
|
1682 |
+
* }
|
1683 |
+
*/
|
1684 |
+
function imagify_maybe_reset_opcache( $wp_upgrader, $hook_extra ) {
|
1685 |
+
_deprecated_function( __FUNCTION__ . '()', '2.0' );
|
1686 |
+
|
1687 |
+
static $imagify_path;
|
1688 |
+
|
1689 |
+
if ( ! isset( $hook_extra['action'], $hook_extra['type'], $hook_extra['plugins'] ) ) {
|
1690 |
+
return;
|
1691 |
+
}
|
1692 |
+
|
1693 |
+
if ( 'update' !== $hook_extra['action'] || 'plugin' !== $hook_extra['type'] || ! is_array( $hook_extra['plugins'] ) ) {
|
1694 |
+
return;
|
1695 |
+
}
|
1696 |
+
|
1697 |
+
$plugins = array_flip( $hook_extra['plugins'] );
|
1698 |
+
|
1699 |
+
if ( ! isset( $imagify_path ) ) {
|
1700 |
+
$imagify_path = plugin_basename( IMAGIFY_FILE );
|
1701 |
+
}
|
1702 |
+
|
1703 |
+
if ( ! isset( $plugins[ $imagify_path ] ) ) {
|
1704 |
+
return;
|
1705 |
+
}
|
1706 |
+
|
1707 |
+
imagify_reset_opcache();
|
1708 |
+
}
|
1709 |
+
|
1710 |
+
/**
|
1711 |
+
* Reset PHP opcache.
|
1712 |
+
*
|
1713 |
+
* @since 1.8.1
|
1714 |
+
* @since 1.9.9 Added $reset_function_cache parameter and return boolean.
|
1715 |
+
* @since 2.0 deprecated
|
1716 |
+
* @author Grégory Viguier
|
1717 |
+
*
|
1718 |
+
* @param bool $reset_function_cache Set to true to bypass the cache.
|
1719 |
+
* @return bool Return true if the opcode cache was reset (or reset in a previous call), or false if the opcode cache is disabled.
|
1720 |
+
*/
|
1721 |
+
function imagify_reset_opcache( $reset_function_cache = false ) {
|
1722 |
+
_deprecated_function( __FUNCTION__ . '()', '2.0' );
|
1723 |
+
|
1724 |
+
static $can_reset;
|
1725 |
+
|
1726 |
+
if ( $reset_function_cache || ! isset( $can_reset ) ) {
|
1727 |
+
if ( ! function_exists( 'opcache_reset' ) ) {
|
1728 |
+
$can_reset = false;
|
1729 |
+
return false;
|
1730 |
+
}
|
1731 |
+
|
1732 |
+
$opcache_enabled = filter_var( ini_get( 'opcache.enable' ), FILTER_VALIDATE_BOOLEAN ); // phpcs:ignore PHPCompatibility.IniDirectives.NewIniDirectives.opcache_enableFound
|
1733 |
+
|
1734 |
+
if ( ! $opcache_enabled ) {
|
1735 |
+
$can_reset = false;
|
1736 |
+
return false;
|
1737 |
+
}
|
1738 |
+
|
1739 |
+
$restrict_api = ini_get( 'opcache.restrict_api' ); // phpcs:ignore PHPCompatibility.IniDirectives.NewIniDirectives.opcache_restrict_apiFound
|
1740 |
+
|
1741 |
+
if ( $restrict_api && strpos( __FILE__, $restrict_api ) !== 0 ) {
|
1742 |
+
$can_reset = false;
|
1743 |
+
return false;
|
1744 |
+
}
|
1745 |
+
|
1746 |
+
$can_reset = true;
|
1747 |
+
}
|
1748 |
+
|
1749 |
+
if ( ! $can_reset ) {
|
1750 |
+
return false;
|
1751 |
+
}
|
1752 |
+
|
1753 |
+
return opcache_reset(); // phpcs:ignore PHPCompatibility.FunctionUse.NewFunctions.opcache_resetFound
|
1754 |
+
}
|
inc/functions/admin-ui.php
CHANGED
@@ -232,20 +232,18 @@ function get_imagify_attachment_reoptimize_link( $process ) {
|
|
232 |
];
|
233 |
}
|
234 |
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
$output .= '<br/>';
|
248 |
-
}
|
249 |
}
|
250 |
|
251 |
return $output;
|
232 |
];
|
233 |
}
|
234 |
|
235 |
+
if ( $media_level < 1 ) {
|
236 |
+
$url_args['optimization_level'] = 2;
|
237 |
+
$data['optimization_level'] = 2;
|
238 |
+
$data['url'] = get_imagify_admin_url( 'manual-reoptimize', $url_args );
|
239 |
+
|
240 |
+
$output .= $views->get_template( 'button/re-optimize', $data );
|
241 |
+
} elseif ( $media_level > 0 ) {
|
242 |
+
$url_args['optimization_level'] = 0;
|
243 |
+
$data['optimization_level'] = 0;
|
244 |
+
$data['url'] = get_imagify_admin_url( 'manual-reoptimize', $url_args );
|
245 |
+
|
246 |
+
$output .= $views->get_template( 'button/re-optimize', $data );
|
|
|
|
|
247 |
}
|
248 |
|
249 |
return $output;
|
inc/functions/api.php
CHANGED
@@ -96,19 +96,7 @@ function get_imagify_plans_prices() {
|
|
96 |
}
|
97 |
|
98 |
/**
|
99 |
-
* Get Imagify
|
100 |
-
*
|
101 |
-
* @since 1.5
|
102 |
-
* @author Geoffrey Crofte
|
103 |
-
*
|
104 |
-
* @return object
|
105 |
-
*/
|
106 |
-
function get_imagify_packs_prices() {
|
107 |
-
return imagify()->get_packs_prices();
|
108 |
-
}
|
109 |
-
|
110 |
-
/**
|
111 |
-
* Get Imagify All Prices (plan & packs).
|
112 |
*
|
113 |
* @since 1.5.4
|
114 |
* @author Geoffrey Crofte
|
96 |
}
|
97 |
|
98 |
/**
|
99 |
+
* Get Imagify All Prices (plans).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
*
|
101 |
* @since 1.5.4
|
102 |
* @author Geoffrey Crofte
|
inc/functions/common.php
CHANGED
@@ -223,7 +223,7 @@ function imagify_can_optimize_custom_folders() {
|
|
223 |
* @return string The URL.
|
224 |
*/
|
225 |
function imagify_get_external_url( $target, $query_args = array() ) {
|
226 |
-
$site_url =
|
227 |
$app_url = IMAGIFY_APP_DOMAIN . '/#/';
|
228 |
|
229 |
switch ( $target ) {
|
@@ -246,11 +246,6 @@ function imagify_get_external_url( $target, $query_args = array() ) {
|
|
246 |
$url = 'https://www.facebook.com/sharer/sharer.php?u=' . $url;
|
247 |
break;
|
248 |
|
249 |
-
case 'exif':
|
250 |
-
/* translators: URL to a Wikipedia page explaining what EXIF means. */
|
251 |
-
$url = __( 'https://en.wikipedia.org/wiki/Exchangeable_image_file_format', 'imagify' );
|
252 |
-
break;
|
253 |
-
|
254 |
case 'contact':
|
255 |
$lang = imagify_get_current_lang_in( 'fr' );
|
256 |
$paths = array(
|
@@ -370,10 +365,8 @@ function imagify_get_optimization_level_label( $level, $format = '%s' ) {
|
|
370 |
|
371 |
switch ( $level ) {
|
372 |
case 2:
|
373 |
-
$icon .= '<polygon points="11.6054688 11.6054688 8.7890625 11.6054688 8.7890625 0.39453125 11.6054688 0.39453125"/><polygon points="7.39453125 11.6054688 4.60546875 11.6054688 4.60546875 3.89453125 7.39453125 3.89453125"/><polygon points="3.2109375 11.6054688 0.39453125 11.6054688 0.39453125 6 3.2109375 6"/>';
|
374 |
-
break;
|
375 |
case 1:
|
376 |
-
$icon .= '<polygon
|
377 |
break;
|
378 |
case 0:
|
379 |
$icon .= '<polygon fill="#CCD1D6" points="11.6054688 11.6054688 8.7890625 11.6054688 8.7890625 0.39453125 11.6054688 0.39453125"/><polygon fill="#CCD1D6" points="7.39453125 11.6054688 4.60546875 11.6054688 4.60546875 3.89453125 7.39453125 3.89453125"/><polygon points="3.2109375 11.6054688 0.39453125 11.6054688 0.39453125 6 3.2109375 6"/>';
|
@@ -386,11 +379,10 @@ function imagify_get_optimization_level_label( $level, $format = '%s' ) {
|
|
386 |
|
387 |
switch ( $level ) {
|
388 |
case 2:
|
389 |
-
return sprintf( $format, __( 'Ultra', 'imagify' ) );
|
390 |
case 1:
|
391 |
-
return sprintf( $format, __( '
|
392 |
case 0:
|
393 |
-
return sprintf( $format, __( '
|
394 |
}
|
395 |
|
396 |
return '';
|
223 |
* @return string The URL.
|
224 |
*/
|
225 |
function imagify_get_external_url( $target, $query_args = array() ) {
|
226 |
+
$site_url = IMAGIFY_SITE_DOMAIN . '/';
|
227 |
$app_url = IMAGIFY_APP_DOMAIN . '/#/';
|
228 |
|
229 |
switch ( $target ) {
|
246 |
$url = 'https://www.facebook.com/sharer/sharer.php?u=' . $url;
|
247 |
break;
|
248 |
|
|
|
|
|
|
|
|
|
|
|
249 |
case 'contact':
|
250 |
$lang = imagify_get_current_lang_in( 'fr' );
|
251 |
$paths = array(
|
365 |
|
366 |
switch ( $level ) {
|
367 |
case 2:
|
|
|
|
|
368 |
case 1:
|
369 |
+
$icon .= '<polygon points="11.6054688 11.6054688 8.7890625 11.6054688 8.7890625 0.39453125 11.6054688 0.39453125"/><polygon points="7.39453125 11.6054688 4.60546875 11.6054688 4.60546875 3.89453125 7.39453125 3.89453125"/><polygon points="3.2109375 11.6054688 0.39453125 11.6054688 0.39453125 6 3.2109375 6"/>';
|
370 |
break;
|
371 |
case 0:
|
372 |
$icon .= '<polygon fill="#CCD1D6" points="11.6054688 11.6054688 8.7890625 11.6054688 8.7890625 0.39453125 11.6054688 0.39453125"/><polygon fill="#CCD1D6" points="7.39453125 11.6054688 4.60546875 11.6054688 4.60546875 3.89453125 7.39453125 3.89453125"/><polygon points="3.2109375 11.6054688 0.39453125 11.6054688 0.39453125 6 3.2109375 6"/>';
|
379 |
|
380 |
switch ( $level ) {
|
381 |
case 2:
|
|
|
382 |
case 1:
|
383 |
+
return sprintf( $format, __( 'Smart', 'imagify' ) );
|
384 |
case 0:
|
385 |
+
return sprintf( $format, __( 'Lossless', 'imagify' ) );
|
386 |
}
|
387 |
|
388 |
return '';
|
inc/functions/i18n.php
CHANGED
@@ -40,7 +40,7 @@ function get_imagify_localize_script_translations( $context ) {
|
|
40 |
'saveApiKeyTitle' => __( 'Connect to Imagify!', 'imagify' ),
|
41 |
'saveApiKeyText' => __( 'Paste your API key below:', 'imagify' ),
|
42 |
'saveApiKeyConfirmButtonText' => __( 'Connect me', 'imagify' ),
|
43 |
-
'ApiKeyErrorEmpty' => __( 'You need to specify your
|
44 |
'ApiKeyCheckSuccessTitle' => __( 'Congratulations!', 'imagify' ),
|
45 |
'ApiKeyCheckSuccessText' => __( 'Your API key is valid. You can now configure the Imagify settings to optimize your images.', 'imagify' ),
|
46 |
],
|
40 |
'saveApiKeyTitle' => __( 'Connect to Imagify!', 'imagify' ),
|
41 |
'saveApiKeyText' => __( 'Paste your API key below:', 'imagify' ),
|
42 |
'saveApiKeyConfirmButtonText' => __( 'Connect me', 'imagify' ),
|
43 |
+
'ApiKeyErrorEmpty' => __( 'You need to specify your API key!', 'imagify' ),
|
44 |
'ApiKeyCheckSuccessTitle' => __( 'Congratulations!', 'imagify' ),
|
45 |
'ApiKeyCheckSuccessText' => __( 'Your API key is valid. You can now configure the Imagify settings to optimize your images.', 'imagify' ),
|
46 |
],
|
readme.txt
CHANGED
@@ -1,8 +1,10 @@
|
|
1 |
-
=== Imagify – Optimize Images & Convert WebP ===
|
2 |
-
Contributors: wp_rocket
|
3 |
-
Tags: optimize images, convert webp, webp
|
4 |
-
Tested up to: 6.
|
5 |
-
Stable tag:
|
|
|
|
|
6 |
|
7 |
Compress images & convert WebP with the best WordPress image optimization plugin. Optimize images in 1-click & resize images with our image optimizer!
|
8 |
|
@@ -12,7 +14,7 @@ Compress images & convert WebP with the best WordPress image optimization plugin
|
|
12 |
|
13 |
[Imagify](https://imagify.io/) is the most advanced image optimization plugin to help you resize and compress images. You can now use its power directly in WordPress to optimize images and reduce the weight of the photos you want to add to your site – all in just one click and without sacrificing their quality.
|
14 |
|
15 |
-
Imagify is the best WordPress image optimizer. The plugin lets you optimize images in one go with its bulk optimization option. You can resize your images on the fly
|
16 |
|
17 |
On top of optimizing images, you’ll choose the best WebP plugin for WordPress. Imagify also converts your images to WebP, a next-gen format for lighter images that will speed up your WordPress site, improve user experience, and even SEO. Convert WebP will make a difference in images optimization, you’ll see that from yourself.
|
18 |
|
@@ -24,11 +26,11 @@ Imagify is a great image compressor and the ultimate solution to optimize images
|
|
24 |
|
25 |
Many of your high-quality images may be in sizes that are much too large. To reduce image size and compress large images, Imagify has a setting that allows you to choose a maximum width for all of your images, and if you upload images that are larger than that size, it will resize large images for you during optimization. Imagify will resize images proportionally without cropping them.
|
26 |
|
27 |
-
With such a great image optimizer like Imagify, you
|
28 |
|
29 |
When using our image compression tool, Imagify, you will enjoy smaller file sizes and faster loading times. But the best part is that you will optimize images and reduce their weight without losing quality: why should you have to choose between beauty and speed? If you want to compress images, it’s now easier than ever with Imagify!
|
30 |
|
31 |
-
= Convert
|
32 |
|
33 |
Thanks to Imagify, you can take a step further in your image optimization process. You can also convert all your images to next-gen image formats such as WebP. WebP format offers superior image compression and quality and is a way to optimize images and speed up their loading times on websites. To convert images to next-gen format, using the Imagify plugin will save you a precious amount of time.
|
34 |
|
@@ -50,7 +52,7 @@ Even Google tells you to take care of your images! If you have ever run a perfor
|
|
50 |
|
51 |
Here’s what our users have to say about us after optimizing their images with Imagify:
|
52 |
|
53 |
-
>"Images
|
54 |
>
|
55 |
|
56 |
>”To give your images a slimming treatment, without altering them aesthetically, there is a great plugin on WordPress: Imagify. Simple, efficient and functional, it’s really worth a look.”— [WP Marmite](https://twitter.com/wpmarmite_en/status/1383072818649255937)
|
@@ -103,7 +105,7 @@ Our mission is to improve the web, we are making it faster with [WP Rocket](http
|
|
103 |
|
104 |
= Related Plugins =
|
105 |
* [WP Rocket](https://wp-rocket.me/): Best caching plugin to speed-up your WordPress website.
|
106 |
-
* [Lazy Load](https://wordpress.org/plugins/rocket-lazy-load/): Best Lazy Load script to reduce the number of HTTP requests and
|
107 |
|
108 |
License: GPLv2 or later
|
109 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
@@ -162,15 +164,7 @@ When you optimize JPG, PNG, and GIF files, Imagify will also create WebP version
|
|
162 |
|
163 |
= How should I know which image compression level is best for me? =
|
164 |
|
165 |
-
|
166 |
-
|
167 |
-
Normal compression is a "lossless" image optimization. This means there is no loss of image quality after compression.
|
168 |
-
|
169 |
-
Aggressive and Ultra compression are more powerful, so the picture quality will be somewhat reduced. The weight of the compressed image will be much less.
|
170 |
-
|
171 |
-
We recommend Aggressive as the best balanced level that reduces the size of the image but does not affect the quality.
|
172 |
-
|
173 |
-
It would be best, however, to test the 3 levels of compression on a smaller amount of images and see how it affects the quality of your image. Once you see which compression level suits your needs, you can easily run the others via Bulk optimization or Media Library page.
|
174 |
|
175 |
=How does the optimization process work?=
|
176 |
|
@@ -178,7 +172,7 @@ The image optimization process is performed on our servers. Once done, Imagify r
|
|
178 |
|
179 |
=How long are images stored by Imagify?=
|
180 |
|
181 |
-
Once your images have been optimized via the WP plugin, compressed images stay on your end forever (even if you delete the Imagify account).
|
182 |
|
183 |
During the optimization process, compressed images sent via the API or WordPress plugin are stored for one hour on our server (they are already sent back to your site and stay there safely).
|
184 |
|
@@ -198,7 +192,7 @@ Do not waste your time resizing and optimizing your images in Photoshop. Imagify
|
|
198 |
|
199 |
=Is the EXIF data of images removed?=
|
200 |
|
201 |
-
|
202 |
|
203 |
=I used Kraken, Optimus, EWWW or WP Smush, will Imagify further optimize my images?=
|
204 |
|
@@ -210,7 +204,7 @@ No. Imagify automatically replaces the original images with an optimized image.
|
|
210 |
|
211 |
= Is it possible to re-optimize images with a different level? =
|
212 |
|
213 |
-
Yes. By activating the backup option in the plugin, you can re-optimize each
|
214 |
|
215 |
= What happens when the plugin is disabled? =
|
216 |
|
@@ -255,6 +249,16 @@ No. However, you get 20MB of quota per month for free to optimize your images (a
|
|
255 |
4. Other Media Page
|
256 |
|
257 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
= 1.10 - 2021/07/15 =
|
259 |
* The plugin minimum compatible versions are now PHP 7.0 and WordPress 5.3
|
260 |
* Enhancement: Correctly display WordPress cover blocks when WebP and picture tag replacement is enabled (#546)
|
1 |
+
=== Imagify – Optimize Images & Convert WebP | Compress Images Easily ===
|
2 |
+
Contributors: wp_rocket, imagify
|
3 |
+
Tags: optimize images, convert webp, webp, image optimization, compress images, image compressor, resize images, reduce image size, performance, image optimizer, core web vitals, best image optimization plugin
|
4 |
+
Tested up to: 6.1
|
5 |
+
Stable tag: 2.0
|
6 |
+
License: GPLv2 or later
|
7 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
8 |
|
9 |
Compress images & convert WebP with the best WordPress image optimization plugin. Optimize images in 1-click & resize images with our image optimizer!
|
10 |
|
14 |
|
15 |
[Imagify](https://imagify.io/) is the most advanced image optimization plugin to help you resize and compress images. You can now use its power directly in WordPress to optimize images and reduce the weight of the photos you want to add to your site – all in just one click and without sacrificing their quality.
|
16 |
|
17 |
+
Imagify is the best WordPress image optimizer. The plugin lets you optimize images in one go with its bulk optimization option. You can resize your images on the fly – they will be automatically optimized at the best compression level. If needed, you can always restore your images to their original versions.
|
18 |
|
19 |
On top of optimizing images, you’ll choose the best WebP plugin for WordPress. Imagify also converts your images to WebP, a next-gen format for lighter images that will speed up your WordPress site, improve user experience, and even SEO. Convert WebP will make a difference in images optimization, you’ll see that from yourself.
|
20 |
|
26 |
|
27 |
Many of your high-quality images may be in sizes that are much too large. To reduce image size and compress large images, Imagify has a setting that allows you to choose a maximum width for all of your images, and if you upload images that are larger than that size, it will resize large images for you during optimization. Imagify will resize images proportionally without cropping them.
|
28 |
|
29 |
+
With such a great image optimizer like Imagify, you’ll get your images automatically optimized at the best compression level and quality – thanks to the Smart Compression Mode.
|
30 |
|
31 |
When using our image compression tool, Imagify, you will enjoy smaller file sizes and faster loading times. But the best part is that you will optimize images and reduce their weight without losing quality: why should you have to choose between beauty and speed? If you want to compress images, it’s now easier than ever with Imagify!
|
32 |
|
33 |
+
= Convert WebP for Superior Image Compression =
|
34 |
|
35 |
Thanks to Imagify, you can take a step further in your image optimization process. You can also convert all your images to next-gen image formats such as WebP. WebP format offers superior image compression and quality and is a way to optimize images and speed up their loading times on websites. To convert images to next-gen format, using the Imagify plugin will save you a precious amount of time.
|
36 |
|
52 |
|
53 |
Here’s what our users have to say about us after optimizing their images with Imagify:
|
54 |
|
55 |
+
>"Images and other media are the largest parts on your web pages (most likely). Therefore don't forget to optimize images for the web before adding to your site. For WordPress there are many optimisation plugins available. My favourite is Imagify" — [Mark Wilkinson](https://twitter.com/wpmark/status/1479128422395830273)
|
56 |
>
|
57 |
|
58 |
>”To give your images a slimming treatment, without altering them aesthetically, there is a great plugin on WordPress: Imagify. Simple, efficient and functional, it’s really worth a look.”— [WP Marmite](https://twitter.com/wpmarmite_en/status/1383072818649255937)
|
105 |
|
106 |
= Related Plugins =
|
107 |
* [WP Rocket](https://wp-rocket.me/): Best caching plugin to speed-up your WordPress website.
|
108 |
+
* [Lazy Load](https://wordpress.org/plugins/rocket-lazy-load/): Best Lazy Load script to reduce the number of HTTP requests and improve the website's loading time.
|
109 |
|
110 |
License: GPLv2 or later
|
111 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
164 |
|
165 |
= How should I know which image compression level is best for me? =
|
166 |
|
167 |
+
Don’t worry! Imagify comes with the Smart Compression Mode. It means that your images will be automatically optimized for the best possible compression ratio and quality. There’s nothing else to do – just enjoy your lighter and faster images.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
|
169 |
=How does the optimization process work?=
|
170 |
|
172 |
|
173 |
=How long are images stored by Imagify?=
|
174 |
|
175 |
+
Once your images have been optimized via the WP plugin, the compressed images stay on your end forever (even if you delete the Imagify account).
|
176 |
|
177 |
During the optimization process, compressed images sent via the API or WordPress plugin are stored for one hour on our server (they are already sent back to your site and stay there safely).
|
178 |
|
192 |
|
193 |
=Is the EXIF data of images removed?=
|
194 |
|
195 |
+
EXIF data is not removed.
|
196 |
|
197 |
=I used Kraken, Optimus, EWWW or WP Smush, will Imagify further optimize my images?=
|
198 |
|
204 |
|
205 |
= Is it possible to re-optimize images with a different level? =
|
206 |
|
207 |
+
Yes. By activating the backup option in the plugin, you can re-optimize each image to lossless compression with a single click.
|
208 |
|
209 |
= What happens when the plugin is disabled? =
|
210 |
|
249 |
4. Other Media Page
|
250 |
|
251 |
== Changelog ==
|
252 |
+
= 2.0 =
|
253 |
+
- Enhancement: Add compatibility with our new smart compression system (#663)
|
254 |
+
- Enhancement: Optimize initialization of some of the code (#473)
|
255 |
+
- Enhancement: Add new filter `imagify_process_webp_content` (#653)
|
256 |
+
- Bugfix: Prevent PHP warning when displaying the pricing modal (#666)
|
257 |
+
- 3rd party compatibility: Pass missing parameter to the `http_headers_useragent` filter (#612)
|
258 |
+
- 3rd party compatibility: Prevent conflict with WP Cloudflare super page cache (#609)
|
259 |
+
- Bugfix: Fix various UI issues (#604, #586, #592, #594)
|
260 |
+
- i18n: Fix typos & improve strings (#621)
|
261 |
+
|
262 |
= 1.10 - 2021/07/15 =
|
263 |
* The plugin minimum compatible versions are now PHP 7.0 and WordPress 5.3
|
264 |
* Enhancement: Correctly display WordPress cover blocks when WebP and picture tag replacement is enabled (#546)
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit5c91431b47976e7eff13ffd9e4a50932::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit27c2f21fb0be1f8c2ef63f80977ab942
|
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
-
spl_autoload_register(array('
|
26 |
self::$loader = $loader = new \Composer\AutoloadWPMediaImagifyWordPressPlugin\ClassLoader();
|
27 |
-
spl_autoload_unregister(array('
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
-
call_user_func(\Composer\Autoload\
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit5c91431b47976e7eff13ffd9e4a50932
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
spl_autoload_register(array('ComposerAutoloaderInit5c91431b47976e7eff13ffd9e4a50932', 'loadClassLoader'), true, true);
|
26 |
self::$loader = $loader = new \Composer\AutoloadWPMediaImagifyWordPressPlugin\ClassLoader();
|
27 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit5c91431b47976e7eff13ffd9e4a50932', 'loadClassLoader'));
|
28 |
|
29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
if ($useStaticLoader) {
|
31 |
require_once __DIR__ . '/autoload_static.php';
|
32 |
|
33 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit5c91431b47976e7eff13ffd9e4a50932::getInitializer($loader));
|
34 |
} else {
|
35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -7,7 +7,7 @@ namespace Composer\Autoload;
|
|
7 |
use Composer\AutoloadWPMediaImagifyWordPressPlugin\ClassLoader as ClassLoaderWPMediaImagifyWordPressPlugin;
|
8 |
|
9 |
|
10 |
-
class
|
11 |
{
|
12 |
public static $prefixLengthsPsr4 = array (
|
13 |
'I' =>
|
@@ -129,9 +129,9 @@ class ComposerStaticInit27c2f21fb0be1f8c2ef63f80977ab942
|
|
129 |
public static function getInitializer(ClassLoaderWPMediaImagifyWordPressPlugin $loader)
|
130 |
{
|
131 |
return \Closure::bind(function () use ($loader) {
|
132 |
-
$loader->prefixLengthsPsr4 =
|
133 |
-
$loader->prefixDirsPsr4 =
|
134 |
-
$loader->classMap =
|
135 |
|
136 |
}, null, ClassLoaderWPMediaImagifyWordPressPlugin::class);
|
137 |
}
|
7 |
use Composer\AutoloadWPMediaImagifyWordPressPlugin\ClassLoader as ClassLoaderWPMediaImagifyWordPressPlugin;
|
8 |
|
9 |
|
10 |
+
class ComposerStaticInit5c91431b47976e7eff13ffd9e4a50932
|
11 |
{
|
12 |
public static $prefixLengthsPsr4 = array (
|
13 |
'I' =>
|
129 |
public static function getInitializer(ClassLoaderWPMediaImagifyWordPressPlugin $loader)
|
130 |
{
|
131 |
return \Closure::bind(function () use ($loader) {
|
132 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit5c91431b47976e7eff13ffd9e4a50932::$prefixLengthsPsr4;
|
133 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit5c91431b47976e7eff13ffd9e4a50932::$prefixDirsPsr4;
|
134 |
+
$loader->classMap = ComposerStaticInit5c91431b47976e7eff13ffd9e4a50932::$classMap;
|
135 |
|
136 |
}, null, ClassLoaderWPMediaImagifyWordPressPlugin::class);
|
137 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "composer/installers",
|
4 |
-
"version": "v1.
|
5 |
-
"version_normalized": "1.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/installers.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer/installers/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
@@ -29,7 +29,7 @@
|
|
29 |
"symfony/phpunit-bridge": "^4.2 || ^5",
|
30 |
"symfony/process": "^2.3"
|
31 |
},
|
32 |
-
"time": "2021-
|
33 |
"type": "composer-plugin",
|
34 |
"extra": {
|
35 |
"class": "Composer\\Installers\\Plugin",
|
@@ -112,6 +112,7 @@
|
|
112 |
"modx",
|
113 |
"moodle",
|
114 |
"osclass",
|
|
|
115 |
"phpbb",
|
116 |
"piwik",
|
117 |
"ppi",
|
1 |
[
|
2 |
{
|
3 |
"name": "composer/installers",
|
4 |
+
"version": "v1.12.0",
|
5 |
+
"version_normalized": "1.12.0.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/installers.git",
|
9 |
+
"reference": "d20a64ed3c94748397ff5973488761b22f6d3f19"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19",
|
14 |
+
"reference": "d20a64ed3c94748397ff5973488761b22f6d3f19",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
29 |
"symfony/phpunit-bridge": "^4.2 || ^5",
|
30 |
"symfony/process": "^2.3"
|
31 |
},
|
32 |
+
"time": "2021-09-13T08:19:44+00:00",
|
33 |
"type": "composer-plugin",
|
34 |
"extra": {
|
35 |
"class": "Composer\\Installers\\Plugin",
|
112 |
"modx",
|
113 |
"moodle",
|
114 |
"osclass",
|
115 |
+
"pantheon",
|
116 |
"phpbb",
|
117 |
"piwik",
|
118 |
"ppi",
|
vendor/composer/installers/.github/workflows/continuous-integration.yml
CHANGED
@@ -44,6 +44,7 @@ jobs:
|
|
44 |
with:
|
45 |
coverage: "none"
|
46 |
php-version: "${{ matrix.php-version }}"
|
|
|
47 |
|
48 |
- name: Get composer cache directory
|
49 |
id: composercache
|
@@ -60,6 +61,11 @@ jobs:
|
|
60 |
if: "contains(matrix.dependencies, 'lowest')"
|
61 |
run: "echo \"COMPOSER_FLAGS=$COMPOSER_FLAGS --prefer-lowest\" >> $GITHUB_ENV"
|
62 |
|
|
|
|
|
|
|
|
|
|
|
63 |
- name: "Install latest dependencies"
|
64 |
run: |
|
65 |
# Remove PHPStan as it requires a newer PHP
|
44 |
with:
|
45 |
coverage: "none"
|
46 |
php-version: "${{ matrix.php-version }}"
|
47 |
+
tools: composer:snapshot
|
48 |
|
49 |
- name: Get composer cache directory
|
50 |
id: composercache
|
61 |
if: "contains(matrix.dependencies, 'lowest')"
|
62 |
run: "echo \"COMPOSER_FLAGS=$COMPOSER_FLAGS --prefer-lowest\" >> $GITHUB_ENV"
|
63 |
|
64 |
+
- name: "Upgrade phpunit-bridge if needed for php 8 lowest build"
|
65 |
+
if: "contains(matrix.php-version, '8.')"
|
66 |
+
run: |
|
67 |
+
composer require symfony/phpunit-bridge:^5.3.3 --dev --no-update
|
68 |
+
|
69 |
- name: "Install latest dependencies"
|
70 |
run: |
|
71 |
# Remove PHPStan as it requires a newer PHP
|
vendor/composer/installers/composer.json
CHANGED
@@ -51,6 +51,7 @@
|
|
51 |
"osclass",
|
52 |
"MODULEWork",
|
53 |
"Moodle",
|
|
|
54 |
"Piwik",
|
55 |
"pxcms",
|
56 |
"phpBB",
|
51 |
"osclass",
|
52 |
"MODULEWork",
|
53 |
"Moodle",
|
54 |
+
"Pantheon",
|
55 |
"Piwik",
|
56 |
"pxcms",
|
57 |
"phpBB",
|
vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
CHANGED
@@ -47,6 +47,7 @@ class CakePHPInstaller extends BaseInstaller
|
|
47 |
* @param string $matcher
|
48 |
* @param string $version
|
49 |
* @return bool
|
|
|
50 |
*/
|
51 |
protected function matchesCakeVersion($matcher, $version)
|
52 |
{
|
47 |
* @param string $matcher
|
48 |
* @param string $version
|
49 |
* @return bool
|
50 |
+
* @phpstan-param Constraint::STR_OP_* $matcher
|
51 |
*/
|
52 |
protected function matchesCakeVersion($matcher, $version)
|
53 |
{
|
vendor/composer/installers/src/Composer/Installers/Installer.php
CHANGED
@@ -91,6 +91,7 @@ class Installer extends LibraryInstaller
|
|
91 |
'phifty' => 'PhiftyInstaller',
|
92 |
'porto' => 'PortoInstaller',
|
93 |
'processwire' => 'ProcessWireInstaller',
|
|
|
94 |
'redaxo' => 'RedaxoInstaller',
|
95 |
'redaxo5' => 'Redaxo5Installer',
|
96 |
'reindex' => 'ReIndexInstaller',
|
91 |
'phifty' => 'PhiftyInstaller',
|
92 |
'porto' => 'PortoInstaller',
|
93 |
'processwire' => 'ProcessWireInstaller',
|
94 |
+
'quicksilver' => 'PantheonInstaller',
|
95 |
'redaxo' => 'RedaxoInstaller',
|
96 |
'redaxo5' => 'Redaxo5Installer',
|
97 |
'reindex' => 'ReIndexInstaller',
|
vendor/composer/installers/src/Composer/Installers/PantheonInstaller.php
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Composer\Installers;
|
4 |
+
|
5 |
+
class PantheonInstaller extends BaseInstaller
|
6 |
+
{
|
7 |
+
/** @var array<string, string> */
|
8 |
+
protected $locations = array(
|
9 |
+
'script' => 'web/private/scripts/quicksilver/{$name}',
|
10 |
+
'module' => 'web/private/scripts/quicksilver/{$name}',
|
11 |
+
);
|
12 |
+
}
|
views/button/re-optimize.php
CHANGED
@@ -18,9 +18,9 @@ if ( ! isset( $data['atts']['data-processing-label'] ) ) {
|
|
18 |
}
|
19 |
|
20 |
$level_labels = [
|
21 |
-
__( '
|
22 |
-
__( '
|
23 |
-
__( '
|
24 |
];
|
25 |
$level_label = $level_labels[ $data['optimization_level'] ];
|
26 |
|
@@ -33,7 +33,7 @@ $html_atts = $this->build_attributes( $data['atts'] );
|
|
33 |
<?php
|
34 |
printf(
|
35 |
/* translators: %s is an optimization level. */
|
36 |
-
esc_html__( 'Re-Optimize
|
37 |
'</span>' . esc_html( $level_label ) . '<span class="imagify-hide-if-small">'
|
38 |
);
|
39 |
?>
|
18 |
}
|
19 |
|
20 |
$level_labels = [
|
21 |
+
0 => __( 'Lossless', 'imagify' ),
|
22 |
+
1 => __( 'Smart', 'imagify' ),
|
23 |
+
2 => __( 'Smart', 'imagify' ),
|
24 |
];
|
25 |
$level_label = $level_labels[ $data['optimization_level'] ];
|
26 |
|
33 |
<?php
|
34 |
printf(
|
35 |
/* translators: %s is an optimization level. */
|
36 |
+
esc_html__( 'Re-Optimize with %s compression', 'imagify' ),
|
37 |
'</span>' . esc_html( $level_label ) . '<span class="imagify-hide-if-small">'
|
38 |
);
|
39 |
?>
|
views/modal-payment.php
CHANGED
@@ -281,13 +281,13 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
281 |
</span>
|
282 |
</span>
|
283 |
|
284 |
-
<span class="imagify-recommend" aria-hidden="true"><?php esc_html_e( '
|
285 |
|
286 |
<p class="imagify-price-complement">
|
287 |
<?php
|
288 |
printf(
|
289 |
/* translators: %s is a formatted price. */
|
290 |
-
__( '%s per<br>
|
291 |
'<span class="imagify-price-add-data"></span>'
|
292 |
);
|
293 |
?>
|
@@ -342,7 +342,7 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
342 |
<span class="imagify-dollars">$</span>
|
343 |
<span class="imagify-number-block"></span>
|
344 |
</span>
|
345 |
-
<span class="imagify-recommend"><?php esc_html_e( '
|
346 |
</div><!-- .imagify-col-price -->
|
347 |
|
348 |
<div class="imagify-col-other-actions">
|
281 |
</span>
|
282 |
</span>
|
283 |
|
284 |
+
<span class="imagify-recommend" aria-hidden="true"><?php esc_html_e( 'We recommend for you', 'imagify' ); ?></span>
|
285 |
|
286 |
<p class="imagify-price-complement">
|
287 |
<?php
|
288 |
printf(
|
289 |
/* translators: %s is a formatted price. */
|
290 |
+
__( '%s per<br>additional Gb', 'imagify' ),
|
291 |
'<span class="imagify-price-add-data"></span>'
|
292 |
);
|
293 |
?>
|
342 |
<span class="imagify-dollars">$</span>
|
343 |
<span class="imagify-number-block"></span>
|
344 |
</span>
|
345 |
+
<span class="imagify-recommend"><?php esc_html_e( 'We recommend for you', 'imagify' ); ?></span>
|
346 |
</div><!-- .imagify-col-price -->
|
347 |
|
348 |
<div class="imagify-col-other-actions">
|
views/page-settings.php
CHANGED
@@ -8,11 +8,12 @@ $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';
|
12 |
$user_id = get_current_user_id();
|
13 |
$notices = get_user_meta( $user_id, '_imagify_ignore_ads', true );
|
14 |
$notices = $notices && is_array( $notices ) ? array_flip( $notices ) : array();
|
15 |
-
$wrapper_class = isset( $notices[ $notice ] ) ||
|
16 |
?>
|
17 |
<div class="wrap imagify-settings <?php echo $wrapper_class; ?> imagify-clearfix">
|
18 |
|
@@ -40,45 +41,6 @@ $wrapper_class = isset( $notices[ $notice ] ) || defined( 'WP_ROCKET_VERSION' )
|
|
40 |
|
41 |
<h2 class="imagify-options-title"><?php _e( 'General Settings', 'imagify' ); ?></h2>
|
42 |
|
43 |
-
<p class="imagify-options-subtitle" id="imagify-optimization-level-label">
|
44 |
-
<?php _e( 'Optimization Level', 'imagify' ); ?>
|
45 |
-
|
46 |
-
<span class="imagify-info">
|
47 |
-
<span class="dashicons dashicons-info"></span>
|
48 |
-
<a href="#imagify-more-info" class="imagify-modal-trigger"><?php _e( 'More info?', 'imagify' ); ?></a>
|
49 |
-
</span>
|
50 |
-
</p>
|
51 |
-
|
52 |
-
<div class="imagify-setting-optim-level">
|
53 |
-
<p class="imagify-inline-options">
|
54 |
-
<input type="radio" id="imagify-optimization_level_normal" name="<?php echo $option_name; ?>[optimization_level]" value="0" <?php checked( $options->get( 'optimization_level' ), 0 ); ?> aria-describedby="imagify-optimization-level-label">
|
55 |
-
<label for="imagify-optimization_level_normal">
|
56 |
-
<?php _e( 'Normal', 'imagify' ); ?>
|
57 |
-
</label>
|
58 |
-
|
59 |
-
<input type="radio" id="imagify-optimization_level_aggro" name="<?php echo $option_name; ?>[optimization_level]" value="1" <?php checked( $options->get( 'optimization_level' ), 1 ); ?> aria-describedby="imagify-optimization-level-label">
|
60 |
-
<label for="imagify-optimization_level_aggro">
|
61 |
-
<?php _e( 'Aggressive', 'imagify' ); ?>
|
62 |
-
</label>
|
63 |
-
|
64 |
-
<input type="radio" id="imagify-optimization_level_ultra" name="<?php echo $option_name; ?>[optimization_level]" value="2" <?php checked( $options->get( 'optimization_level' ), 2 ); ?> aria-describedby="imagify-optimization-level-label">
|
65 |
-
<label for="imagify-optimization_level_ultra">
|
66 |
-
<?php _e( 'Ultra', 'imagify' ); ?>
|
67 |
-
</label>
|
68 |
-
</p>
|
69 |
-
|
70 |
-
<p class="imagify-visual-comparison-text">
|
71 |
-
<?php
|
72 |
-
printf(
|
73 |
-
/* translators: 1 is a button tag start, 2 is the button tag end. */
|
74 |
-
__( 'Need help to choose? %1$sTry the Visual Comparison%2$s', 'imagify' ),
|
75 |
-
'<button type="button" class="button button-primary button-mini-flat imagify-visual-comparison-btn imagify-modal-trigger" data-target="#imagify-visual-comparison">',
|
76 |
-
'</button>'
|
77 |
-
);
|
78 |
-
?>
|
79 |
-
</p>
|
80 |
-
</div>
|
81 |
-
|
82 |
<p class="imagify-setting-line">
|
83 |
<?php
|
84 |
$settings->field_checkbox( array(
|
@@ -107,20 +69,6 @@ $wrapper_class = isset( $notices[ $notice ] ) || defined( 'WP_ROCKET_VERSION' )
|
|
107 |
?>
|
108 |
</strong>
|
109 |
</p>
|
110 |
-
|
111 |
-
<p class="imagify-setting-line">
|
112 |
-
<?php
|
113 |
-
$info = __( 'EXIF data is information stored in your pictures like shutter speed, exposure compensation, ISO, etc...', 'imagify' );
|
114 |
-
$info .= ' <a href="' . esc_url( imagify_get_external_url( 'exif' ) ) . '" target="_blank">' . __( 'Learn more', 'imagify' ) . '</a><br/><br/>';
|
115 |
-
$info .= __( 'If you are a photographer, you may be interested in this option if you are displaying info like the model of your camera on your pages. Also, keeping EXIF data can fix some colorimetric problems.', 'imagify' );
|
116 |
-
|
117 |
-
$settings->field_checkbox( array(
|
118 |
-
'option_name' => 'exif',
|
119 |
-
'label' => __( 'Keep all EXIF data from your images', 'imagify' ),
|
120 |
-
'info' => $info,
|
121 |
-
) );
|
122 |
-
?>
|
123 |
-
</p>
|
124 |
</div>
|
125 |
</div>
|
126 |
|
8 |
$lang = imagify_get_current_lang_in( array( 'de', 'es', 'fr', 'it' ) );
|
9 |
|
10 |
/* Ads notice */
|
11 |
+
$plugins = get_plugins();
|
12 |
$notice = 'wp-rocket';
|
13 |
$user_id = get_current_user_id();
|
14 |
$notices = get_user_meta( $user_id, '_imagify_ignore_ads', true );
|
15 |
$notices = $notices && is_array( $notices ) ? array_flip( $notices ) : array();
|
16 |
+
$wrapper_class = isset( $notices[ $notice ] ) || isset( $plugins['wp-rocket/wp-rocket.php'] ) ? 'imagify-have-rocket' : 'imagify-dont-have-rocket';
|
17 |
?>
|
18 |
<div class="wrap imagify-settings <?php echo $wrapper_class; ?> imagify-clearfix">
|
19 |
|
41 |
|
42 |
<h2 class="imagify-options-title"><?php _e( 'General Settings', 'imagify' ); ?></h2>
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
<p class="imagify-setting-line">
|
45 |
<?php
|
46 |
$settings->field_checkbox( array(
|
69 |
?>
|
70 |
</strong>
|
71 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
</div>
|
73 |
</div>
|
74 |
|
views/part-bulk-optimization-overquota-alert.php
CHANGED
@@ -16,6 +16,6 @@ $overquota_url = imagify_get_external_url( 'subscription', array(
|
|
16 |
<div class="imagify-swal-buttonswrapper">
|
17 |
<a href="<?php echo esc_url( $overquota_url ); ?>" target="_blank" class="imagify-button imagify-button-primary button">
|
18 |
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#000" fill-rule="nonzero" transform="translate(1 1)" stroke="#fff"><polygon points="8.75 0 8.75 0.7 12.8065 0.7 5.0015 8.5015 5.4985 8.9985 13.3 1.1935 13.3 5.25 14 5.25 14 0"/><polygon points="11.9 13.3 0.7 13.3 0.7 2.1 6.3 2.1 6.3 1.4 0 1.4 0 14 12.6 14 12.6 7.7 11.9 7.7"/></g></svg>
|
19 |
-
<?php esc_html_e( 'See our plans on the Imagify
|
20 |
</a>
|
21 |
</div>
|
16 |
<div class="imagify-swal-buttonswrapper">
|
17 |
<a href="<?php echo esc_url( $overquota_url ); ?>" target="_blank" class="imagify-button imagify-button-primary button">
|
18 |
<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><g fill="#000" fill-rule="nonzero" transform="translate(1 1)" stroke="#fff"><polygon points="8.75 0 8.75 0.7 12.8065 0.7 5.0015 8.5015 5.4985 8.9985 13.3 1.1935 13.3 5.25 14 5.25 14 0"/><polygon points="11.9 13.3 0.7 13.3 0.7 2.1 6.3 2.1 6.3 1.4 0 1.4 0 14 12.6 14 12.6 7.7 11.9 7.7"/></g></svg>
|
19 |
+
<?php esc_html_e( 'See our plans on the Imagify website', 'imagify' ); ?>
|
20 |
</a>
|
21 |
</div>
|
views/part-bulk-optimization-table-row-folder-type.php
CHANGED
@@ -1,7 +1,5 @@
|
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
3 |
-
|
4 |
-
$default_level = Imagify_Options::get_instance()->get( 'optimization_level' );
|
5 |
?>
|
6 |
<tr class="imagify-row-folder-type" data-group-id="<?php echo $data['group_id']; ?>" data-context="<?php echo $data['context']; ?>">
|
7 |
<td class="imagify-cell-checkbox">
|
@@ -27,20 +25,6 @@ $default_level = Imagify_Options::get_instance()->get( 'optimization_level' );
|
|
27 |
<td class="imagify-cell-original-size-size">
|
28 |
<?php echo $data['original-size']; ?>
|
29 |
</td>
|
30 |
-
<td class="imagify-cell-level">
|
31 |
-
<?php
|
32 |
-
$this->print_template( 'input/selector', [
|
33 |
-
'current_label' => __( 'Current level:', 'imagify' ),
|
34 |
-
'name' => 'level[' . $data['group_id'] . ']',
|
35 |
-
'value' => $default_level,
|
36 |
-
'values' => [
|
37 |
-
0 => imagify_get_optimization_level_label( 0, '%ICON% %s' ),
|
38 |
-
1 => imagify_get_optimization_level_label( 1, '%ICON% %s' ),
|
39 |
-
2 => imagify_get_optimization_level_label( 2, '%ICON% %s' ),
|
40 |
-
],
|
41 |
-
] );
|
42 |
-
?>
|
43 |
-
</td>
|
44 |
</tr>
|
45 |
|
46 |
<tr>
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
|
|
|
3 |
?>
|
4 |
<tr class="imagify-row-folder-type" data-group-id="<?php echo $data['group_id']; ?>" data-context="<?php echo $data['context']; ?>">
|
5 |
<td class="imagify-cell-checkbox">
|
25 |
<td class="imagify-cell-original-size-size">
|
26 |
<?php echo $data['original-size']; ?>
|
27 |
</td>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
</tr>
|
29 |
|
30 |
<tr>
|
views/part-bulk-optimization-table.php
CHANGED
@@ -45,7 +45,6 @@ defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
|
45 |
<th class="imagify-cell-count-errors"><?php esc_html_e( 'Errors', 'imagify' ); ?></th>
|
46 |
<th class="imagify-cell-optimized-size-size"><?php esc_html_e( 'Optimized Size', 'imagify' ); ?></th>
|
47 |
<th class="imagify-cell-original-size-size"><?php esc_html_e( 'Original Size', 'imagify' ); ?></th>
|
48 |
-
<th class="imagify-cell-level"><?php esc_html_e( 'Level Selection', 'imagify' ); ?></th>
|
49 |
</tr>
|
50 |
</thead>
|
51 |
<tbody>
|
45 |
<th class="imagify-cell-count-errors"><?php esc_html_e( 'Errors', 'imagify' ); ?></th>
|
46 |
<th class="imagify-cell-optimized-size-size"><?php esc_html_e( 'Optimized Size', 'imagify' ); ?></th>
|
47 |
<th class="imagify-cell-original-size-size"><?php esc_html_e( 'Original Size', 'imagify' ); ?></th>
|
|
|
48 |
</tr>
|
49 |
</thead>
|
50 |
<tbody>
|
views/part-rocket-ad.php
CHANGED
@@ -1,7 +1,9 @@
|
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
3 |
|
4 |
-
|
|
|
|
|
5 |
return '';
|
6 |
}
|
7 |
|
@@ -28,8 +30,8 @@ $dismiss_url = wp_nonce_url( admin_url( 'admin-post.php?action=imagify_dism
|
|
28 |
|
29 |
<p class="imagify-sidebar-description">
|
30 |
<?php
|
31 |
-
/* translators: 1 is a "bold" tag opening, 2 is the "bold" tag closing. Please use a non-breaking space for WP
|
32 |
-
printf( __( 'WP
|
33 |
?>
|
34 |
</p>
|
35 |
|
1 |
<?php
|
2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' );
|
3 |
|
4 |
+
$plugins = get_plugins();
|
5 |
+
|
6 |
+
if ( isset( $plugins['wp-rocket/wp-rocket.php'] ) ) {
|
7 |
return '';
|
8 |
}
|
9 |
|
30 |
|
31 |
<p class="imagify-sidebar-description">
|
32 |
<?php
|
33 |
+
/* translators: 1 is a "bold" tag opening, 2 is the "bold" tag closing. Please use a non-breaking space for WP Rocket. */
|
34 |
+
printf( __( 'WP Rocket is a %1$sspeed optimization plugin for WordPress%2$s helping you to implement a variety of speed-boosting features to your WordPress site.', 'imagify' ), '<strong>', '</strong>' );
|
35 |
?>
|
36 |
</p>
|
37 |
|