From 68c4bd5714506e9212987075c3cbf52af8c82963 Mon Sep 17 00:00:00 2001 From: Jon Gilkison Date: Mon, 15 Feb 2021 14:51:44 +0700 Subject: [PATCH] * Fixes for direct uploads for huge image files * Fix for hyperdb not storing null values * Fix for support links * Fixes for migrate task * Updated to latest Freemius SDK --- classes/Tools/Storage/StorageTool.php | 49 +- classes/Tools/ToolsManager.php | 5 +- external/Freemius/assets/css/admin/common.css | 2 +- .../Freemius/assets/css/admin/connect.css | 2 +- external/Freemius/includes/class-freemius.php | 120 ++-- .../Freemius/includes/class-fs-logger.php | 4 +- .../includes/entities/class-fs-site.php | 17 + .../includes/entities/class-fs-user.php | 17 - external/Freemius/languages/freemius-cs_CZ.mo | Bin 59930 -> 60931 bytes external/Freemius/languages/freemius-da_DK.mo | Bin 58864 -> 59840 bytes external/Freemius/languages/freemius-en.mo | Bin 58177 -> 59161 bytes external/Freemius/languages/freemius-es_ES.mo | Bin 61970 -> 62945 bytes external/Freemius/languages/freemius-fr_FR.mo | Bin 62562 -> 63519 bytes external/Freemius/languages/freemius-he_IL.mo | Bin 61224 -> 62213 bytes external/Freemius/languages/freemius-hu_HU.mo | Bin 59307 -> 60199 bytes external/Freemius/languages/freemius-it_IT.mo | Bin 60682 -> 61645 bytes external/Freemius/languages/freemius-ja.mo | Bin 66410 -> 67335 bytes external/Freemius/languages/freemius-nl_NL.mo | Bin 60674 -> 61628 bytes external/Freemius/languages/freemius-ru_RU.mo | Bin 74731 -> 75599 bytes external/Freemius/languages/freemius-ta.mo | Bin 92468 -> 93241 bytes external/Freemius/languages/freemius-zh_CN.mo | Bin 55922 -> 56773 bytes external/Freemius/languages/freemius.pot | 658 +++++++++--------- external/Freemius/start.php | 6 +- external/Freemius/templates/account.php | 8 +- external/Freemius/templates/connect.php | 86 ++- .../templates/forms/license-activation.php | 4 +- ilab-media-tools.php | 11 +- public/js/ilab-media-direct-upload-google.js | 2 +- .../js/ilab-media-direct-upload-other-s3.js | 2 +- public/js/ilab-media-direct-upload-s3.js | 2 +- readme.txt | 14 +- 31 files changed, 576 insertions(+), 433 deletions(-) diff --git a/classes/Tools/Storage/StorageTool.php b/classes/Tools/Storage/StorageTool.php index dff66848..ff245374 100755 --- a/classes/Tools/Storage/StorageTool.php +++ b/classes/Tools/Storage/StorageTool.php @@ -856,7 +856,7 @@ public function updateAttachmentMetadata( $upload_info = wp_upload_dir(); $upload_path = $upload_info['basedir']; - $path_base = pathinfo( $data['file'] )['dirname']; + $path_base = pathinfo( $data['file'], PATHINFO_DIRNAME ); if ( $path_base === '.' ) { $path_base = ''; } @@ -873,9 +873,54 @@ public function updateAttachmentMetadata( $path_base = ''; } - if ( !file_exists( $upload_path . DIRECTORY_SEPARATOR . $data['file'] ) ) { + $sourceFile = $upload_path . DIRECTORY_SEPARATOR . $data['file']; + Logger::info( + "Metadata:" . json_encode( $originalData, JSON_PRETTY_PRINT ), + [], + __METHOD__, + __LINE__ + ); + + if ( !file_exists( $sourceFile ) ) { + Logger::error( + "Missing {$sourceFile}", + [], + __METHOD__, + __LINE__ + ); return $originalData; } + + + if ( is_dir( $sourceFile ) ) { + Logger::error( + "{$sourceFile} is directory. Skipping.", + [], + __METHOD__, + __LINE__ + ); + return $originalData; + } + + $sourceFileSize = filesize( $sourceFile ); + + if ( filesize( $sourceFile ) < 512 ) { + Logger::error( + "File too small {$sourceFile} => {$sourceFileSize} bytes", + [], + __METHOD__, + __LINE__ + ); + return $originalData; + } else { + Logger::info( + "File size {$sourceFile} => {$sourceFileSize} bytes", + [], + __METHOD__, + __LINE__ + ); + } + if ( !$mime ) { $mime = wp_get_image_mime( $upload_path . DIRECTORY_SEPARATOR . $data['file'] ); } diff --git a/classes/Tools/ToolsManager.php b/classes/Tools/ToolsManager.php index 8d8b32b0..72330cab 100755 --- a/classes/Tools/ToolsManager.php +++ b/classes/Tools/ToolsManager.php @@ -77,7 +77,7 @@ function ( $value, $option, $old_value ) { if ( empty($value) && strpos( $option, 'mcloud' ) === 0 ) { $type = strtolower( gettype( $value ) ); if ( in_array( $type, [ 'boolean', 'null' ] ) ) { - return (string) '0'; + return (string) ''; } } @@ -165,7 +165,8 @@ function ( $value, $option, $old_value ) { $actionLinksPrefix = ( is_multisite() ? 'network_admin_' : '' ); add_filter( $actionLinksPrefix . 'plugin_action_links_' . ILAB_PLUGIN_NAME, function ( $links ) { $links[] = "Settings"; - $links[] = "Support"; + global $media_cloud_licensing ; + $links[] = "Billing"; return $links; } ); $maxTime = ini_get( 'max_execution_time' ); diff --git a/external/Freemius/assets/css/admin/common.css b/external/Freemius/assets/css/admin/common.css index a2dd8790..d96aa2f7 100755 --- a/external/Freemius/assets/css/admin/common.css +++ b/external/Freemius/assets/css/admin/common.css @@ -1,2 +1,2 @@ .fs-badge{position:absolute;top:10px;right:0;background:#71ae00;color:white;text-transform:uppercase;padding:5px 10px;-moz-border-radius:3px 0 0 3px;-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px;font-weight:bold;border-right:0;-moz-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,0.3);box-shadow:0 2px 1px -1px rgba(0,0,0,0.3)}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{position:relative;top:0;margin-top:10px;text-align:center}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{position:relative;display:inline-block;color:#ccc;text-shadow:0 1px 1px rgba(255,255,255,0.8);height:18px;padding:6px 6px 5px 6px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);background:#ececec;box-shadow:0 0 4px rgba(0,0,0,0.1),inset 0 1px 3px 0 rgba(0,0,0,0.1);cursor:pointer}.fs-switch span{display:inline-block;width:35px;text-transform:uppercase}.fs-switch .fs-toggle{position:absolute;top:1px;width:37px;height:25px;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.3);border-radius:4px;background:#fff;background-color:#fff;background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #ececec), color-stop(1, #fff));background-image:-webkit-linear-gradient(top, #ececec, #fff);background-image:-moz-linear-gradient(top, #ececec, #fff);background-image:-ms-linear-gradient(top, #ececec, #fff);background-image:-o-linear-gradient(top, #ececec, #fff);background-image:linear-gradient(top, bottom, #ececec, #fff);box-shadow:inset 0 1px 0 0 rgba(255,255,255,0.5);z-index:999;-moz-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-o-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-ms-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);-webkit-transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1);transition:0.4s cubic-bezier(0.54, 1.6, 0.5, 1)}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{top:8px;padding:4px 25px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round .fs-toggle{top:0;width:24px;height:24px;-moz-border-radius:24px;-webkit-border-radius:24px;border-radius:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{top:0;width:18px;height:18px;-moz-border-radius:18px;-webkit-border-radius:18px;border-radius:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}.fs-switch-feedback{margin-left:10px}.fs-switch-feedback.success{color:#71ae00}.rtl .fs-switch-feedback{margin-left:0;margin-right:10px}#fs_frame{line-height:0;font-size:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media (max-width: 600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}} -.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 500px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain;margin-bottom:-2px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px} +.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px !important}.fs-notice.success{color:green}.fs-notice.promotion{border-color:#00a0d2 !important;background-color:#f2fcff !important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{cursor:pointer;color:#aaa;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{margin-top:7px;display:inline-block}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,0.3);color:#fff;padding:2px 10px;position:absolute;top:100%;bottom:auto;right:auto;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;left:10px;font-size:12px;font-weight:bold;cursor:auto}div.fs-notice.updated,div.fs-notice.success,div.fs-notice.promotion{display:block !important}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{position:fixed;top:32px;left:160px;right:0;background:#ebfdeb;padding:10px 20px;color:green;z-index:9999;-moz-box-shadow:0 2px 2px rgba(6,113,6,0.3);-webkit-box-shadow:0 2px 2px rgba(6,113,6,0.3);box-shadow:0 2px 2px rgba(6,113,6,0.3);opacity:0.95;filter:alpha(opacity=95)}.fs-secure-notice:hover{opacity:1;filter:alpha(opacity=100)}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width: 960px){.fs-secure-notice{left:36px}}@media screen and (max-width: 600px){.fs-secure-notice{display:none}}@media screen and (max-width: 1250px){#fs_promo_tab{display:none}}@media screen and (max-width: 782px){.fs-secure-notice{left:0;top:46px;text-align:center}}span.fs-submenu-item.fs-sub:before{content:'\21B3';padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:'\21B2'}.fs-submenu-item.pricing.upgrade-mode{color:greenyellow}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{border:0;width:20px;height:20px;margin-right:5px;vertical-align:sub;display:inline-block;background:url("/wp-admin/images/wpspin_light-2x.gif");background-size:contain;margin-bottom:-2px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{border:0;background-color:#d54e21;padding:10px;color:#f9f9f9;margin-top:10px} diff --git a/external/Freemius/assets/css/admin/connect.css b/external/Freemius/assets/css/admin/connect.css index 43ac76c3..dff7c49c 100755 --- a/external/Freemius/assets/css/admin/connect.css +++ b/external/Freemius/assets/css/admin/connect.css @@ -1 +1 @@ -#fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions .fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li .fs-switch{float:right}#fs_connect .fs-permissions ul li .fs-permission-description{margin-left:55px}#fs_connect .fs-permissions ul li .fs-permission-description span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li .fs-permission-description p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:0;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li .fs-permission-description{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li .fs-switch{float:left}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa} +#fs_connect{width:480px;-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);margin:20px 0}@media screen and (max-width: 479px){#fs_connect{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none;width:auto;margin:0 0 0 -10px}}#fs_connect .fs-content{background:#fff;padding:15px 20px}#fs_connect .fs-content .fs-error{background:snow;color:#d3135a;border:1px solid #d3135a;-moz-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:center;padding:5px;margin-bottom:10px}#fs_connect .fs-content p{margin:0;padding:0;font-size:1.2em}#fs_connect .fs-license-key-container{position:relative;width:280px;margin:10px auto 0 auto}#fs_connect .fs-license-key-container input{width:100%}#fs_connect .fs-license-key-container .dashicons{position:absolute;top:5px;right:5px}#fs_connect.require-license-key .fs-sites-list-container td{cursor:pointer}#fs_connect #delegate_to_site_admins{margin-right:15px;float:right;height:26px;vertical-align:middle;line-height:37px;font-weight:bold;border-bottom:1px dashed;text-decoration:none}#fs_connect #delegate_to_site_admins.rtl{margin-left:15px;margin-right:0}#fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}#fs_connect .fs-actions .button{padding:0 10px 1px;line-height:35px;height:37px;font-size:16px;margin-bottom:0}#fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}#fs_connect .fs-actions .button.button-primary{padding-right:15px;padding-left:15px}#fs_connect .fs-actions .button.button-primary:after{content:' \279C'}#fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}#fs_connect .fs-actions .button.button-secondary{float:right}#fs_connect.fs-anonymous-disabled .fs-actions .button.button-primary{width:100%}#fs_connect .fs-permissions{padding:10px 20px;background:#FEFEFE;-moz-transition:background 0.5s ease;-o-transition:background 0.5s ease;-ms-transition:background 0.5s ease;-webkit-transition:background 0.5s ease;transition:background 0.5s ease}#fs_connect .fs-permissions .fs-license-sync-disclaimer{text-align:center;margin-top:0}#fs_connect .fs-permissions>.fs-trigger{font-size:0.9em;text-decoration:none;text-align:center;display:block}#fs_connect .fs-permissions ul{height:0;overflow:hidden;margin:0}#fs_connect .fs-permissions ul li{margin-bottom:12px}#fs_connect .fs-permissions ul li:last-child{margin-bottom:0}#fs_connect .fs-permissions ul li>i.dashicons{float:left;font-size:40px;width:40px;height:40px}#fs_connect .fs-permissions ul li .fs-switch{float:right}#fs_connect .fs-permissions ul li .fs-permission-description{margin-left:55px}#fs_connect .fs-permissions ul li .fs-permission-description span{font-weight:bold;text-transform:uppercase;color:#23282d}#fs_connect .fs-permissions ul li .fs-permission-description p{margin:2px 0 0 0}#fs_connect .fs-permissions.fs-open{background:#fff}#fs_connect .fs-permissions.fs-open ul{overflow:initial;height:auto;margin:20px 20px 10px 20px}@media screen and (max-width: 479px){#fs_connect .fs-permissions{background:#fff}#fs_connect .fs-permissions .fs-trigger{display:none}#fs_connect .fs-permissions ul{height:auto;margin:20px}}#fs_connect .fs-freemium-licensing{padding:8px;background:#777;color:#fff}#fs_connect .fs-freemium-licensing p{text-align:center;display:block;margin:0;padding:0}#fs_connect .fs-freemium-licensing a{color:#C2EEFF;text-decoration:underline}#fs_connect .fs-visual{padding:12px;line-height:0;background:#fafafa;height:80px;position:relative}#fs_connect .fs-visual .fs-site-icon{position:absolute;left:20px;top:10px}#fs_connect .fs-visual .fs-connect-logo{position:absolute;right:20px;top:10px}#fs_connect .fs-visual .fs-plugin-icon{position:absolute;top:10px;left:50%;margin-left:-40px}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-site-icon,#fs_connect .fs-visual img,#fs_connect .fs-visual object{width:80px;height:80px}#fs_connect .fs-visual .dashicons-wordpress{font-size:64px;background:#01749a;color:#fff;width:64px;height:64px;padding:8px}#fs_connect .fs-visual .dashicons-plus{position:absolute;top:50%;font-size:30px;margin-top:-10px;color:#bbb}#fs_connect .fs-visual .dashicons-plus.fs-first{left:28%}#fs_connect .fs-visual .dashicons-plus.fs-second{left:65%}#fs_connect .fs-visual .fs-plugin-icon,#fs_connect .fs-visual .fs-connect-logo,#fs_connect .fs-visual .fs-site-icon{border:1px solid #ccc;padding:1px;background:#fff}#fs_connect .fs-terms{text-align:center;font-size:0.85em;padding:5px;background:rgba(0,0,0,0.05)}#fs_connect .fs-terms,#fs_connect .fs-terms a{color:#999}#fs_connect .fs-terms a{text-decoration:none}.fs-multisite-options-container{margin-top:10px;border:1px solid #ccc;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:bold}.fs-multisite-options-container.fs-apply-on-all-sites{border:0 none;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-tooltip-trigger{position:relative}.fs-tooltip-trigger:not(a){cursor:help}.fs-tooltip-trigger .fs-tooltip{opacity:0;visibility:hidden;-moz-transition:opacity 0.3s ease-in-out;-o-transition:opacity 0.3s ease-in-out;-ms-transition:opacity 0.3s ease-in-out;-webkit-transition:opacity 0.3s ease-in-out;transition:opacity 0.3s ease-in-out;position:absolute;background:rgba(0,0,0,0.8);color:#fff !important;font-family:'arial', serif;font-size:12px;padding:10px;z-index:999999;bottom:100%;margin-bottom:5px;left:-17px;right:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:1px 1px 1px rgba(0,0,0,0.2);-webkit-box-shadow:1px 1px 1px rgba(0,0,0,0.2);box-shadow:1px 1px 1px rgba(0,0,0,0.2);line-height:1.3em;font-weight:bold;text-align:left;text-transform:none !important}.rtl .fs-tooltip-trigger .fs-tooltip{text-align:right;left:auto;right:-17px}.fs-tooltip-trigger .fs-tooltip::after{content:' ';display:block;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:rgba(0,0,0,0.8) transparent transparent transparent;position:absolute;top:100%;left:21px}.rtl .fs-tooltip-trigger .fs-tooltip::after{right:21px;left:auto}.fs-tooltip-trigger:hover .fs-tooltip{visibility:visible;opacity:1}#fs_marketing_optin{display:none;margin-top:10px;border:1px solid #ccc;padding:10px;line-height:1.5em}#fs_marketing_optin .fs-message{display:block;margin-bottom:5px;font-size:1.05em;font-weight:600}#fs_marketing_optin.error{border:1px solid #d3135a;background:#fee}#fs_marketing_optin.error .fs-message{color:#d3135a}#fs_marketing_optin .fs-input-container{margin-top:5px}#fs_marketing_optin .fs-input-container label{margin-top:5px;display:block}#fs_marketing_optin .fs-input-container label input{float:left;margin:1px 0 0 0}#fs_marketing_optin .fs-input-container label:first-child{display:block;margin-bottom:2px}#fs_marketing_optin .fs-input-label{display:block;margin-left:20px}#fs_marketing_optin .fs-input-label .underlined{text-decoration:underline}.rtl #fs_marketing_optin .fs-input-container label input{float:right}.rtl #fs_marketing_optin .fs-input-label{margin-left:0;margin-right:20px}.rtl #fs_connect .fs-actions{padding:10px 20px;background:#C0C7CA}.rtl #fs_connect .fs-actions .button .dashicons{font-size:37px;margin-left:-8px;margin-right:12px}.rtl #fs_connect .fs-actions .button.button-primary:after{content:' \000bb'}.rtl #fs_connect .fs-actions .button.button-primary.fs-loading:after{content:''}.rtl #fs_connect .fs-actions .button.button-secondary{float:left}.rtl #fs_connect .fs-permissions ul li .fs-permission-description{margin-right:55px;margin-left:0}.rtl #fs_connect .fs-permissions ul li .fs-switch{float:left}.rtl #fs_connect .fs-permissions ul li i.dashicons{float:right}.rtl #fs_connect .fs-visual .fs-site-icon{right:20px;left:auto}.rtl #fs_connect .fs-visual .fs-connect-logo{right:auto;left:20px}#fs_theme_connect_wrapper{position:fixed;top:0;height:100%;width:100%;z-index:99990;background:rgba(0,0,0,0.75);text-align:center;overflow-y:auto}#fs_theme_connect_wrapper:before{content:"";display:inline-block;vertical-align:middle;height:100%}#fs_theme_connect_wrapper>button.close{color:white;cursor:pointer;height:40px;width:40px;position:absolute;right:0;border:0;background-color:transparent;top:32px}#fs_theme_connect_wrapper #fs_connect{top:0;text-align:left;display:inline-block;vertical-align:middle;margin-top:52px;margin-bottom:20px}#fs_theme_connect_wrapper #fs_connect .fs-terms{background:rgba(140,140,140,0.64)}#fs_theme_connect_wrapper #fs_connect .fs-terms,#fs_theme_connect_wrapper #fs_connect .fs-terms a{color:#c5c5c5}.wp-pointer-content #fs_connect{margin:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.fs-opt-in-pointer .wp-pointer-content{padding:0}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow{border-bottom-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-top .wp-pointer-arrow-inner{border-bottom-color:#fafafa}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow{border-top-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-bottom .wp-pointer-arrow-inner{border-top-color:#fafafa}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow{border-right-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-left .wp-pointer-arrow-inner{border-right-color:#fafafa}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow{border-left-color:#dfdfdf}.fs-opt-in-pointer.wp-pointer-right .wp-pointer-arrow-inner{border-left-color:#fafafa}#license_issues_link{display:block;text-align:center;font-size:0.9em;margin-top:10px} diff --git a/external/Freemius/includes/class-freemius.php b/external/Freemius/includes/class-freemius.php index fc5958b2..dc03551f 100755 --- a/external/Freemius/includes/class-freemius.php +++ b/external/Freemius/includes/class-freemius.php @@ -384,6 +384,13 @@ class Freemius extends Freemius_Abstract { * @var boolean|null */ private $_use_external_pricing = null; + /** + * @author Leo Fajardo (@leorw) + * @since 2.4.2 + * + * @var string|null + */ + private $_pricing_js_path = null; #endregion @@ -5484,7 +5491,7 @@ private function reconnect_locally( $is_context_single_site = false ) { function is_extensions_tracking_allowed() { return ( true === $this->apply_filters( 'is_extensions_tracking_allowed', - $this->_storage->get( 'is_extensions_tracking_allowed', true ) + $this->_storage->get( 'is_extensions_tracking_allowed', null ) ) ); } @@ -5528,10 +5535,12 @@ function _update_tracking_permission_callback() { * @author Leo Fajardo (@leorw) * @since 2.3.2 * - * @param bool $is_enabled + * @param bool|null $is_enabled */ - private function update_extensions_tracking_flag( $is_enabled ) { - $this->_storage->store( 'is_extensions_tracking_allowed', $is_enabled ); + function update_extensions_tracking_flag( $is_enabled ) { + if ( is_bool( $is_enabled ) ) { + $this->_storage->store( 'is_extensions_tracking_allowed', $is_enabled ); + } } /** @@ -6860,8 +6869,6 @@ function _sync_cron() { */ function _sync_cron_method( array $blog_ids, $current_blog_id = null ) { if ( $this->is_registered() ) { - $this->sync_user_beta_mode(); - if ( $this->has_paid_plan() ) { // Initiate background plan sync. $this->_sync_license( true, false, $current_blog_id ); @@ -7234,7 +7241,8 @@ function _admin_init_action() { } if ( $this->is_plugin_new_install() || $this->is_only_premium() ) { - if ( ! $this->_anonymous_mode ) { + if ( ! $this->_anonymous_mode && + ( ! $this->is_addon() || ! $this->_parent->is_anonymous() ) ) { // Show notice for new plugin installations. $this->_admin_notices->add( sprintf( @@ -7285,6 +7293,10 @@ function _admin_init_action() { * @return bool */ private function should_add_sticky_optin_notice() { + if ( $this->is_addon() && $this->_parent->is_anonymous() ) { + return false; + } + if ( fs_is_network_admin() ) { if ( ! $this->_is_network_active ) { return false; @@ -13238,26 +13250,25 @@ function _set_beta_mode_ajax_handler() { self::shoot_ajax_failure(); } - $user = $this->get_api_user_scope()->call( + $site = $this->get_api_site_scope()->call( '', 'put', array( - 'plugin_id' => $this->get_id(), 'is_beta' => ( 'true' == $is_beta ), 'fields' => 'is_beta' ) ); - if ( ! $this->is_api_result_entity( $user ) ) { + if ( ! $this->is_api_result_entity( $site ) ) { self::shoot_ajax_failure( - FS_Api::is_api_error_object( $user ) ? - $user->error->message : + FS_Api::is_api_error_object( $site ) ? + $site->error->message : fs_text_inline( "An unknown error has occurred while trying to set the user's beta mode.", 'unknown-error-occurred', $this->get_slug() ) ); } - $this->_user->is_beta = $user->is_beta; - $this->_store_user(); + $this->_site->is_beta = $site->is_beta; + $this->_store_site(); self::shoot_ajax_response( array( 'success' => true ) ); } @@ -13292,7 +13303,7 @@ function _activate_license_ajax_action() { fs_request_get( 'blog_id', null ), fs_request_get( 'module_id', null, 'post' ), fs_request_get( 'user_id', null ), - fs_request_get_bool( 'is_extensions_tracking_allowed', true ) + fs_request_get_bool( 'is_extensions_tracking_allowed', null ) ); if ( @@ -13482,7 +13493,31 @@ function activate_migrated_license( * @return string */ function get_pricing_js_path() { - return $this->apply_filters( 'freemius_pricing_js_path', WP_FS__DIR_INCLUDES . '/freemius-pricing/freemius-pricing.js' ); + if ( ! isset( $this->_pricing_js_path ) ) { + $pricing_js_path = $this->apply_filters( 'freemius_pricing_js_path', '' ); + + if ( empty( $pricing_js_path ) ) { + global $fs_active_plugins; + + foreach ( $fs_active_plugins->plugins as $sdk_path => $data ) { + if ( $data->plugin_path == $this->get_plugin_basename() ) { + $plugin_or_theme_root_dir = ( $this->is_plugin() ? WP_PLUGIN_DIR : get_theme_root( get_stylesheet() ) ); + + $pricing_js_path = $plugin_or_theme_root_dir + . '/' + // The basename will be `plugins`, `themes`, or the basename of a custom plugins or themes directory. + . str_replace( '../' . basename( $plugin_or_theme_root_dir ) . '/', '', $sdk_path ) + . '/includes/freemius-pricing/freemius-pricing.js'; + + break; + } + } + } + + $this->_pricing_js_path = $pricing_js_path; + } + + return $this->_pricing_js_path; } /** @@ -13527,7 +13562,7 @@ private function activate_license( $blog_id = null, $plugin_id = null, $license_owner_id = null, - $is_extensions_tracking_allowed = true + $is_extensions_tracking_allowed = null ) { $this->_logger->entrance(); @@ -16448,19 +16483,6 @@ function is_beta() { ); } - /** - * @author Leo Fajardo (@leorw) - * @since 2.3.0 - */ - private function sync_user_beta_mode() { - $user = $this->get_api_user_scope()->get( '/?plugin_id=' . $this->get_id() . '&fields=is_beta' ); - - if ( $this->is_api_result_entity( $user ) ) { - $this->_user->is_beta = $user->is_beta; - $this->_store_user(); - } - } - /** * @author Vova Feldman (@svovaf) * @since 1.1.7.4 @@ -17148,9 +17170,7 @@ private function install_with_new_user( $this->disable_opt_in_notice_and_lock_user(); } - if ( ! is_null( $is_extensions_tracking_allowed ) ) { - $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed ); - } + $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed ); return $this->setup_account( $this->_user, @@ -17195,9 +17215,7 @@ private function install_many_pending_with_user( $this->disable_opt_in_notice_and_lock_user(); } - if ( ! is_null( $is_extensions_tracking_allowed ) ) { - $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed ); - } + $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed ); $sites = array(); foreach ( $site_ids as $site_id ) { @@ -17240,9 +17258,7 @@ private function install_many_with_new_user( $this->disable_opt_in_notice_and_lock_user(); } - if ( ! is_null( $is_extensions_tracking_allowed ) ) { - $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed ); - } + $this->update_extensions_tracking_flag( $is_extensions_tracking_allowed ); $install_ids = array(); @@ -17353,7 +17369,7 @@ function _install_with_current_user() { */ $license_key = fs_request_get( 'license_secret_key' ); - $this->update_extensions_tracking_flag( fs_request_get_bool( 'is_extensions_tracking_allowed', true ) ); + $this->update_extensions_tracking_flag( fs_request_get_bool( 'is_extensions_tracking_allowed', null ) ); $this->install_with_current_user( $license_key ); } @@ -20605,6 +20621,20 @@ private function _sync_plugin_license( } } + if ( ! $this->is_addon() && + $this->_site->is_beta() !== $site->is_beta + ) { + // Beta flag updated. + $this->_site = $site; + + $this->_store_site( + true, + $is_site_level_sync ? + null : + $this->get_network_install_blog_id() + ); + } + if ( $this->is_addon() || $this->has_addons() ) { /** * Purge the valid user licenses cache so that when the "Account" or the "Add-Ons" page is loaded, @@ -21298,7 +21328,7 @@ private function _get_latest_version_endpoint( $addon_id = false, $type = 'json' if ( $this->has_secret_key() ) { $endpoint = add_query_arg( 'type', 'all', $endpoint ); - } else if ( $this->is_registered() && $this->_user->is_beta() ) { + } else if ( is_object( $this->_site ) && $this->_site->is_beta() ) { $endpoint = add_query_arg( 'type', 'beta', $endpoint ); } @@ -23396,6 +23426,14 @@ function _add_tracking_links() { return; } + if ( + $this->is_addon() && + ! $this->is_only_premium() && + $this->_parent->is_anonymous() + ) { + return; + } + if ( fs_is_network_admin() ) { if ( ! $this->_is_network_active ) { // Don't add tracking links when browsing the network WP Admin and the plugin is not network active. diff --git a/external/Freemius/includes/class-fs-logger.php b/external/Freemius/includes/class-fs-logger.php index 612d37ed..624c683c 100755 --- a/external/Freemius/includes/class-fs-logger.php +++ b/external/Freemius/includes/class-fs-logger.php @@ -142,7 +142,7 @@ function get_file() { return $this->_file_start; } - private function _log( &$message, $type = 'log', $wrapper = false ) { + private function _log( &$message, $type, $wrapper = false ) { if ( ! $this->is_on() ) { return; } @@ -688,4 +688,4 @@ public static function get_logs_download_url( $filename = '' ) { } #endregion - } \ No newline at end of file + } diff --git a/external/Freemius/includes/entities/class-fs-site.php b/external/Freemius/includes/entities/class-fs-site.php index fd974766..984d8f9a 100755 --- a/external/Freemius/includes/entities/class-fs-site.php +++ b/external/Freemius/includes/entities/class-fs-site.php @@ -102,6 +102,14 @@ class FS_Site extends FS_Scope_Entity { * @var bool */ public $is_uninstalled = false; + /** + * @author Edgar Melkonyan + * + * @since 2.4.2 + * + * @var bool + */ + public $is_beta; /** * @param stdClass|bool $site @@ -233,4 +241,13 @@ function is_tracking_allowed() { function is_tracking_prohibited() { return ! $this->is_tracking_allowed(); } + + /** + * @author Edgar Melkonyan + * + * @return bool + */ + function is_beta() { + return ( isset( $this->is_beta ) && true === $this->is_beta ); + } } \ No newline at end of file diff --git a/external/Freemius/includes/entities/class-fs-user.php b/external/Freemius/includes/entities/class-fs-user.php index 6ad4e0e2..a329e879 100755 --- a/external/Freemius/includes/entities/class-fs-user.php +++ b/external/Freemius/includes/entities/class-fs-user.php @@ -31,13 +31,6 @@ class FS_User extends FS_Scope_Entity { */ public $is_verified; /** - * @author Leo Fajardo (@leorw) - * @since 2.3.0 - * - * @var bool - */ - public $is_beta; - /** * @var string|null */ public $customer_id; @@ -63,16 +56,6 @@ function is_verified() { return ( isset( $this->is_verified ) && true === $this->is_verified ); } - /** - * @author Leo Fajardo (@leorw) - * @since 2.3.0 - * - * @return bool - */ - function is_beta() { - return ( isset( $this->is_beta ) && true === $this->is_beta ); - } - static function get_type() { return 'user'; } diff --git a/external/Freemius/languages/freemius-cs_CZ.mo b/external/Freemius/languages/freemius-cs_CZ.mo index 8452f9fa9ee5001a711e7cb70df10f39ab310da2..f51ed3b6e97f323cca5034d7b26ec7ebb405c9de 100755 GIT binary patch delta 11209 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 KUV33+o&N-XB&+@a delta 10222 zcmYM&33$!N{>Skj*<=$zVhM4A*diejJH4?7O`>*MOGw0;AR@Rp{oCo{R*Ir1N>QqH zC`z@2y0z6_)UKtq6m3;4)%*UKd7l4$`rOyd{C;QVJKtH(iK!R77N7ERUn=Q6-{F7# ziaJgOEL}=9#|f(T|F)nQOg$UZa4_!146I(=ak}7}7>!pj5PfSHOJYsxk?4!bSQ68) zf#bNH0Ti~-un7BMDsNZ8Pp}-Gz#zPX{`eRJ(5sf|usHfr55r< z94df4n8x_dDGFXRRE;4@tbvuV9jfCj48a`x+-=*Jp$1%ofw&1v;7%-!hcOJV+V)3C z(wt(o9VZs+U}?s8`cTl!Mx$Psh{bW0Uck+$h!3DrcpeqlRjiM{*m@;;RiM=|7#pJc zZG(ZBhOCbBDwf5m=nkUrJ_WtF4mAT0=HNcmfQfOAvkaSJJ3NnFv2q=gv3y)deE}-a zq`Hn1fnBgN=Aic0JWRk%7=_pBlK*rH-tmq@cAP=TGiM%#Vj+g(X;en;pl1FQwNJh1 z%^S<0+ACm5tcqHihPFKk^=J{>#aAynjL>e)=725yS; zFbxCnnr**pEs|(9Z5S%El~DuM#uC^Bm7$Jq3cV;~p=P+pzHkf`=~e4p)QldZW>S=e z4?#cFT9!ctQWtArQzS`F2I^QYKz(i(Du6xsKDtj(Q0j6xjOs8S)zM7U-k67BxE%G~ zR@98XL}l&(s^fF0&t1Zj_zRB1XZSAWH8lMNG%}wrgS5MyC<N9GZ|f|nJvd|xC$fiF_y)!)+Xg~s3mEQHL)MEYR+ur3UT(L z`n```(7TOU@}6zTe{~v0(x8jtJ>+}H*@-E*8`(EbP+Lw2w#JdT0hRiS?M!ML;&|%K zQGsp4N_Y%)iteK}E)fON7B%o7Ovj0+%wBR+Xi4E3a*aFDFPpXRj9S|s)(osj zeH3bjb5WaiEozT=P=SAeI+lCw^HUf|{j&8oDv(E54Bf%xIgvs*YV&kNf9#ElFatHf zVAKFPww{k#^U0_I7TNaIw!Xo-9ko>Z&>JsdI9|sfCGUwTIDV;)^Ism6#x-~mf5K_x z`3)S}$prK#Y6ed*3QN3VuIL0*M$%9N^+xTbepng@pbzF_G)}@8E#4{$x`4jJV7!S$ z<~+nYShTYlI056RH^32?i8>`Gu^l6IW@{@`i@TXjtw5cYb*O>&qcU{}mHO{7K%3_Z z1r2-~YvNmhLB>iN;v$bU5ok7;1J9akT_$*=_VdTwinC zYN9gI9u?Rtw%#ALM+RGS`;vdH#bg@P!AuOrg{by*_QlPpfWAa6)lpQ(7f@?^8_VJY zB->6vKl9!I)KZK@^*0lBYW{=Dg3!kGR{|eRd0aRc|P@Cr>D!^Y*GkJ>I z3%>mwCl{OHaQqaN*^1mY3bZw90$orO$Up_`9&HP6pf<^er~tNOBz}z%co`MYQ`DLl z8DKVJAZnlz$erRe#6dU>Ut|Uq_yg^r7xQ#7ry%eHq`WKtUZ= z!Rpu&Q*bD@!|mvg`chX10ayh~;0Ks!+fSqJhaYVHiml(kHniWyRE!^HCh|JEwV4Vi zXqT==ZI)fuLs*OYdGtdcc9!bFcmW%s-VYmLo>xWf^4h3C>syXxRoAM_&1#Oxz4lltv^-+1A}r5XGZ9z5nLsL*i9FPhe6}GL@)^z&?Mx@I(M-Xb{cQK zL{?xw>W^?S_LyM)V)_khP=D#)X7gsDGP(()@g&y7$4F+}PL+vfM#iCVKM*c2C{*777OV*!)RrfZMosi&bbI~2ok4r(brz;d`BU;O^R{GvdLu_6!3 zuqTxA`lz*i4IAQ2)RKIKdhZOD#XnG)3x3@M*a9_RcPxX$u@p{2P2@dPzgsb$&pKBq zL}1DPGcU%WQq~gHJ_xmGreFxZi-GtdR>DtFfgM9-=%)1<>X?O2F`F_HQ>jGH`M2bpguPq72q6H01GexSK0a}sLbq~ z%KGd0ouok@xQdPOF1Etz)66|E3^l+=REMvlKfZ+ud?D(>*^JuV+fn@;!s7Tn>irwm z`}X;hY2;rW`c60ZKq=IVQPvn#NA*$fwXmj2Z+;zNPud61Hm76{W>T-p8RcuknS)xw z2Ur_}-!S7eLG_#Lrl8}}6?Jh;Ld{?XCgLJIhevS$u6@&NzQDK4uiu)ely^jB@-^#F zBtB;xD)p046Ptw^XP(u)ghCG*KEz~vh6bRoIn>|LIv~>D)P{GOll)h=ejoLU`y11 zn{gTL#5C+Z&s@#xQ5pFMw_y1Kb6UKES$I zalUy!6?N{1S*M^313II&hb48KKRH!_!~8I{{<$+;aHq{ z47R~0*b!gHT6h@M&m&ae{~(igA{Ls>_X+Br*ny?-2~<6=uq2jQqc(Q4sb+S{=M71;M!9xtOZ_r%t7mYb!SV_ky^ z)V-I2HpO8K(+AOo53wSKe_&FZh&!k^M^?*ugs*BOUmItJ_fAGR-?M|FG?>*24MfR)#9o*AGUmZiS_BlA~sA$n17xz_x9KwH%F zEvRF91eMX}w!QQ^vnOJ)G3_s7G~+unD1_q%?1F`;O;~2V`N>opD^u@`MKKRka2)Es z_y)7^A?9PBk4@@NqYw3aI9|_fd(H;)yJ0rE19-5G!i&gJ10O-{iE9|G526brHkwV= z3KHCXWokQWDfXfIIfx42oI21Z`4QF8 z6D)^CJZASsSZl~4To`zU=PkF8Lh9wV@-OGq+wy-J;BVA@;kC^yMFdu*-VQb3a8v;K zsJ-N#K|!gSjf!*`YR%W9*76uCrO!|wthC((7Ke4HH$`2fV!sb|rAz0)~v)Mwi z2K6qe{w87w8JmL@s4w2FW6t_-qo9=E#-8Z&mH7*(FaDSM5^R7OUz-^%L0!G&_m~^7 z;a-!m0#raduq=L!FV+~fw|+!r;7`O@q4;+T-uWSL7#Y(9G|m>W^$a^c!=< zMxX+$gbFYQeXs#4pk~%oR3`hQ)_e@Ugi|mV_uzD_f57~3*?EBc2hnhY1`Yf>>Vv^7 zyw)(nnuzK+1rz zsBsRVm(Kqw3TZT)#Z;_u!ptZiwTtIiS6~V1+fg^>w-}F?P)ktaq`7L#;sxr>u{f4L zWinF}HE=`Jk|&{`&i~64CSq6g$K$9B{D2DJHkQVsr_H7;gIe3Vs3oe8bukIGB%^Q$ z-ogRc^^Ez~v2CcOt@ge7%cv8&=hHBsLT8LQYp&ACr~!9jFdnz{%cu+F4~)h#=S)VL zV@c|%sNJ59x|n96_QG29!h@&`97Pv?e~$durtlXHTGQzBX1C^I9qQAuEN;adJc>Hc zFa2P?h3sgVtQOC6x`r=UQC{+LB zFi7YBEeaZFG3xw(h?>FgsPp>_6=2}c#&FcYQK;wDQJ-&sewbuUMsMn!P&4m_3aBS4 zQ$sL>@tr&hdT}}`(mALB-a#F|g~(=gR%2uQ2wUM*R7cUjm^F__El~$ldk-v+15p#0 zjOuqbYMi;)T`w%4pvXV74|bqt_BE=*@30tNu>OP^;8*+n3Hnp_yJg-Bz2%uxE#EgP zeaw)Y?Aor3%=Cd{hKzktbERizxbm`xWao}aA3oeuDYkBaPn)rs*<(Ci8%_xDc(+^` z==nUQQkbXzz%=ht>Dj|_U4wE)yGG`X9ymBXcSv?tLGKHR1sk*8^n5gUm6vD3@K(N_ z*xcfwo{rNBig<2LPbeBxH#VOC8o255xS~C=OOFJ2>aH#3S8z7Dw`b|5UET%% z-V)@=+tNO~AZtMBg7XKn3i=O>_B=Q=*E^;4z9qx*hGve)bWKQiWf!g(mN(KBog3xq zL|5r1gdsf2$Q(K*Q~l=_ZXDst9lL+iP}lGw12ePty_H?K(KT#%;l_P$H7Rf(o8ZYh zKEbP?)#)z^x{WC1i9D0w>v{Xa6yJc6!wXkrXO5tAPxG=iK?{x4?xHG%R{{X?9X43!w diff --git a/external/Freemius/languages/freemius-da_DK.mo b/external/Freemius/languages/freemius-da_DK.mo index fd44d1b7108c9ab874f7f74afe5c37f9a09de764..420c0a4d649886c862c39da081ccbd6152dafa52 100755 GIT binary patch delta 11002 zcmd7WcXX9iy2tSsQh<;`5?ZLo5C|;^5JD4yNbe;9q{ag|DVUrSa!!PRdO(^YN{w_x z5R@(i2XLee(gYC(21TwqNK?3|ND<4Z^ZjMN-dXe4UF)tjYhC~O?B^}JJp0-23Envs zaOix1|BI-=5{v(`%Uf0*OpjJ%S@RnG%T$^#6T9&Y=3u9I%gV$zF%3f-TUJAS5-a0u z+eO%fcnt>Q35>!s*v7K_))gANxe&us8Tb)4z{I9p!yy=oc~}XHF$8CzI(!8yU

l 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 delta 10152 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 delta 10084 zcmbW*c~sZM{>SkTvM7rJ0s?^`E+8tnf{L1`5u^c@V7ZH$xPl6rdeu)|wN7cd;9BmQ z>AfypzveA9ixx3+sod8zQ(N?A-Q(6`zvs)DbAJE+&hMVneay^fzBBK6&&=m5-{nWV zEBAZ57i;@0cKF|*YK{|&;bE#dPEg|i+J$0G>Lr+uBXA!M!=xm~>4kH#5njST^lNOa zjmgyG&<}I4Hs)ix2d4xT_| z3GrB&t0YYhy#y*0ijDO%FoY>Zk7tqdpJ`!nnodgPzbl8Q; zz!40?3mEI=IKSXL>a{XV0ITp3>Km~fD^c%>^bRJ_p4Q>0j7>w0H`}%^M_u#n7^C}t zgn}af5#Pt#xKtfFa#b+969*I5qb~+LYW6Y&HE|s3{m~9JQAgC4_Cy`-f1o}W)Y-gO zYNImQ3TraIlc56UAagstQ7K)Bx_(RX0j{#`D>F^N>rh*?)w&y%!73buCvCk;7nAay zsEqVQ&Z#pLT@JXjltLFT$2o{vK~OixnSu4N5LaUi-o_{leaxh~32G}cF&XeE`1?ItcJcPPEH&BQ19_kPW=9qc{Hlp4p$7Pii`qEGx|Asoei*Pb}<5}#A7hMXxzMX_8&7S9>_OzFE zFxI6$7PZ1TsKdGebvCx60^fzYj{EHMFENn%IqP*)ApgZ0=uev4pj(@Q4ox=tV{cT1 zgHaOxsjKtl*_#4~sm zUm(wOaClD>(66W!+`$A4ddj?-Q&Ab|ftsi{>MZrca2$xfSccm3DcBTOW283m3ko%9 zxPpr87i^9XP?<=5+U$KR980|jbvuq?HZ$dMw3VqPg(g!gQMctS)WnsjOjV&$e+(7y zd3<>PuTw~-;Wp~aCcd}n*b%iyS*Vpw#WZxWF}{o1nu~Z1uVEcL{EWGN-=VHw?Ptw3 zPQ-NT(@+`rpxaUnysosOZKzjnN?-Hl>(1*hj`oeH6@G@ncnEb?&ZExGHB>;iu?fcY zH{bhDpvE7AO8F|(^Mja(xBHWSw%dsvU=JCFP%py>oP|0>Z`kKMF_rpWRK|Wn1r#yR zT(?H3jAWq#%eD3XsFV-0mZG*|>Ol5i1I(l$6f5k5w`|94sDR!_osom6fls6M_Bux4 zO(ffn-yqX(AZjbdpeCA$x;1lAnS2{{wzj#p!wyvBdr$*^f(q<&)ZsaU3h*jwC3jJ0 zq1s@wh3#+*Zb79snzxMt%|tCAAGLtNsDMkX?#mQ(NYA6OwBAPr;yctluY)Yabz&(fB}u3cq@u221}dOzROI=n zGcmwEFGCIZ0&d3zxEQ+(<0|4QY>p+*nX|D9b!PUVGWh*NU0#V4IFQZ*%)x#v<0agH zdVw@8HeVWpvi0+}{w-$FejW2LWwcqyG}Kv|hptZP zS_(QW?^&y`3H6g$9lbbNs{7-4Y=azlCv>d&+&EM}7j@cSMg=zCx&)Px752GTiOEDj z3Hz_p7-<_?U~TH1Py_bF7Wga{;44TnoQtUImQ!l}C|!f~sRxfEi`WWh;&|+ew^47t zcH_;KmSRonv&NJE5DE)vXn^Z61*@Q?y3%D2h^Dv?NT6kXAUaz-%(qVQEn!D3V9nllkrtNh6OlqqT@V`9!y2Q zNyan`^&;J`%BMnPX0UblGtkZ1@tHq62h<9-i z=1%3cj9ak>=KRfk2P{Gz-Vab2^_^zEc9SugdOj*MQ;-F@&MFETIC;A1;G$Bs8Dnt| zhU01MfHyH6lV_NW4MrWd)%Xa$g-Y#57=f2i6W+mSjA6@TFzuoI-&6comxi&Jh;vYT zy93+e1+0S+FPMJKFp7G2Y>h)v0WL*NxCJBeV+_NysD=CoHE!UG=36lx6^t{2f;!GZ zrEHlV;9gWFPGd0sh=KSU#-rcgO<;+r06JNpM!i9cQHQb|^Kd%G;UUz5e?nI&^Pg!Z zXo$KEZLC?S=e@Bdjz?X~^{9aVi3;pP)aQ<(0=$F@;06ZZeOvdLWik_rx_-&C*nfSX zEe-9l8+OC#=!2E`6z)e&6gArn+!*y{OhX0O8GW%Y>XZ*gja!Db&_(rs-MY*^UpJfl zE7EN=D55>K!{^pxw&Mjtt3M}k3v%-3)ls7?*mxkK1 zj;OQnn62m9x?4yglLrGa2Unv4_#X4|cVwYXkJrrr`POGq0~evTW+duxO|k9EP!q1f zK-`QvBk!UP>we_6xXwBI;1^8fLA812&6SMm_zY_A#-N^0!dke}KHq{0xDvJEc_DFV;7o?jK|H?=c5A6s4&+%7wa>>Gm?T1$y{uOn=t{;V-Y^UrZ{+!`8J%3q0~P> zy_k-oGI9;I^4l1Of1++t=wj1e2NggZYHM1es}E#QP{*#QOk|@{)C)CHk!>%-Eb1=y zz|T;Dhc2<1Kuw&6EY^7fbr{dv_UqQ)QJD>1O8%AF*rjH|L{y5~px%I4*awSHE8JtB zA4COu&UziSqW_{6@&^W^*D|w}q4@AtU}M_Tuq6&$M*ej#=hL7M?m`8y2Up-BRE9<_ zHv^7G4fG;v1#>Y1m!tY^M=j{zsLWNO#yy7m+-cMnT*1kB$ECnFIi+uy0e#*y1B9a5 zV=xlmL1o|oD#fQzf2#e29B`+`N)x~`)EjXPmg63b#ulqgpxv#5Q5kb5QP6;{eNcgM z)Hh=c9zaF@9lno0BiVH}uQq=pc3ETo-M z1`7J1-#YWH7KBP=Gt?n$W9^C^sP{yrbS~=pEx-r3%(gFGZvtL{+M>6uJ5d>|#8LR= z!#exlVS`C|cT`FWur&@qUB?C3#fx9VQ7iD({iivdF{oRSiuJGntK&rU$LYw`cV0$aqq5v-iz#EcJdk13yRoI+nA`WNQ9nM->tQ+_CZSTk6?IxC?KLafgnH#BePG^vkL@#W$~CC7@F51{e$-hxi8?!%Z2f1{ zLhqw8=ldbIP1nSqf>Ilc>X3|zJPq@(ldaFi5bBFC0^h=D++&}gz*OoNP#FvQ$OM#* z@zftjjXN9_SP4G-{+~`kDW7efkJ^eiQ7hVjx;{Hm?fX&vkD>xPi`uH6Py^pbov9j? z=33UmXQ(Hk`njmBc&(EBYrqXO=-O;WrSbqOMMqK3kD($zj~e(pRA4`%GWHuPK);Vo zU{R>E&;ZM@501gZn1~slm_Um@am@R+b3A~nT3y+{unTWpF7M0>osEp*GR+^7GEB#ObjX(uH z4s|AG*yoE-YaeLH&nV5uw zFc)9OY&?PfSoe_md=fUGo`P%eDck-l`cS`T>wnt1_hJ2Gmi@0mLDwt~^=-Hkb(r2k zozjm{r}~Wbdu&4eE>_3-M@+p5o~K@jny}ST^SQRDeve}f%tI~s8Oi+401Cr!sO@k7 zgQ$OnI*b=>{Vpm%pD)dTk=TNIJQiS29EoqCu3PX|=8w{1tWW(UK8p8oCbs*U{CB0W zmxA7Wf1&m?{g^paJurlNA5>~bVG6#E`r6%#+T*jBh__HLq{!nYBQ4RJdVkc)2V)qH z#D+NiIQh?|u#SdMyoJrN+6i-LT45>mr%{oAjM@^flV-vw>`T2fzKU;P0X8~iejS^N zsnic!|3LjZ*7USlNT)O8KY|XU&zRJ{i0!E_LJfQbTVwKB^Xu3ER6uXw5DYj++Houv z;yxUN;T(iFupE0}@CEaw)DLxdXQ48B$feMT!Yxe3Iu}i9GEpmf4mI#C)bq!`F_{{N zO6lKGw`C4S<3dcpE%x~l)L}b?I)oQ60I#ABse6lp_UN|la36K8ye^pu0#P3fN43Xd zFeYLwrlX$sLJiyxHSln(iKDR^PC*4a4HfuIq@U}|H3eq@YJw%G)4v8a@K)4-@1ojw zqXw!%1%3oI!PgjwCs2p>GV1fcT7ScE>eViraU!vX?teoHc|1r#eP9|YkXfjSUq?+; zVe3m#{Z^p*ZLsxi)?KKS??VOlDJq~URDh>Z3;7No-v3`HXu!MHzfh^G{;iof0(B^( zu^aY61-8^aUxC_^HK>8#K?U{!K7v)KfWEbUkILYGu(vwirl0};vie*x9sE&&g`oB< z3e_*cnur>xDXL#9ThF-Sc{TBQzl5Ulk)J59YXlVJ!Ne^rFib{snn^-ckq^!JX z%otC6N{ayBtVz$6lzV=Ab83Lcr|YUf&$B!Hf<5o`kM{HQADZtIR#Y;&tlsd_3H8QJ zoG^4mQQ63n;)=?XZ7Mbw&-JVyvEJLWY0OGL&&;w~p`Nv~D!e?MUK$nn|DXEt@c;9y nk5=<|zV`KD>K;L!E?2gARji$rSJC6@%!=HXqCK~+CVTx4JqZ^& diff --git a/external/Freemius/languages/freemius-es_ES.mo b/external/Freemius/languages/freemius-es_ES.mo index dbcaa7ba5ec26a6e0d11cf16f46ea8ad32b2ccbb..e10ef71aa02158461e55b43881f21c6790851396 100755 GIT binary patch delta 11010 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 delta 10167 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 BZHfQ@ delta 10084 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 lS>^x4QS5pD`wB15l^_4@QUfZOXU{TE8qJ1_tM diff --git a/external/Freemius/languages/freemius-hu_HU.mo b/external/Freemius/languages/freemius-hu_HU.mo index 45f0a636024c3ef84a5b2cf92e064c78bd8e96b3..b4e5ee1af68ff8d0bed9f2da324728fec357a589 100755 GIT binary patch delta 10984 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 delta 10239 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 Wc9ef<|JegdPyJZtn*7sdxBmke5@baH diff --git a/external/Freemius/languages/freemius-it_IT.mo b/external/Freemius/languages/freemius-it_IT.mo index 110d188d7eaa49af8b1f25589f3ef188b2f42e9b..8eadcf8e0fc21d20cab4e551adc8376fcbffad68 100755 GIT binary patch delta 11010 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 delta 10165 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 N%V^t!5fR@<{3kdnNcaE% delta 10137 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 E0W9HPyZ`_I delta 10178 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 J_SiE5{vDC$9N+)| delta 10172 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 SQgC{>^OIk}u}mks$o~PiDiVSK diff --git a/external/Freemius/languages/freemius-zh_CN.mo b/external/Freemius/languages/freemius-zh_CN.mo index 7214b03438e1759ea8387048c8f17ad99085a0ca..4cc40abb8a665966c8f71ddfd6b1e62bad8cddc8 100755 GIT binary patch delta 12957 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 diff --git a/external/Freemius/languages/freemius.pot b/external/Freemius/languages/freemius.pot index 0d3d49d7..24d1d20e 100755 --- a/external/Freemius/languages/freemius.pot +++ b/external/Freemius/languages/freemius.pot @@ -1,4 +1,4 @@ -# Copyright (C) 2020 freemius +# Copyright (C) 2021 freemius # This file is distributed under the same license as the freemius package. msgid "" msgstr "" @@ -16,795 +16,795 @@ msgstr "" "X-Poedit-SourceCharset: UTF-8\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: includes/class-freemius.php:1912, templates/account.php:910 +#: includes/class-freemius.php:1919, templates/account.php:912 msgid "An update to a Beta version will replace your installed version of %s with the latest Beta release - use with caution, and not on production sites. You have been warned." msgstr "" -#: includes/class-freemius.php:1919 +#: includes/class-freemius.php:1926 msgid "Would you like to proceed with the update?" msgstr "" -#: includes/class-freemius.php:2131 +#: includes/class-freemius.php:2138 msgid "Freemius SDK couldn't find the plugin's main file. Please contact sdk@freemius.com with the current error." msgstr "" -#: includes/class-freemius.php:2133 +#: includes/class-freemius.php:2140 msgid "Error" msgstr "" -#: includes/class-freemius.php:2533 +#: includes/class-freemius.php:2540 msgid "I found a better %s" msgstr "" -#: includes/class-freemius.php:2535 +#: includes/class-freemius.php:2542 msgid "What's the %s's name?" msgstr "" -#: includes/class-freemius.php:2541 +#: includes/class-freemius.php:2548 msgid "It's a temporary %s. I'm just debugging an issue." msgstr "" -#: includes/class-freemius.php:2543 +#: includes/class-freemius.php:2550 msgid "Deactivation" msgstr "" -#: includes/class-freemius.php:2544 +#: includes/class-freemius.php:2551 msgid "Theme Switch" msgstr "" -#: includes/class-freemius.php:2553, templates/forms/resend-key.php:24, templates/forms/user-change.php:29 +#: includes/class-freemius.php:2560, templates/forms/resend-key.php:24, templates/forms/user-change.php:29 msgid "Other" msgstr "" -#: includes/class-freemius.php:2561 +#: includes/class-freemius.php:2568 msgid "I no longer need the %s" msgstr "" -#: includes/class-freemius.php:2568 +#: includes/class-freemius.php:2575 msgid "I only needed the %s for a short period" msgstr "" -#: includes/class-freemius.php:2574 +#: includes/class-freemius.php:2581 msgid "The %s broke my site" msgstr "" -#: includes/class-freemius.php:2581 +#: includes/class-freemius.php:2588 msgid "The %s suddenly stopped working" msgstr "" -#: includes/class-freemius.php:2591 +#: includes/class-freemius.php:2598 msgid "I can't pay for it anymore" msgstr "" -#: includes/class-freemius.php:2593 +#: includes/class-freemius.php:2600 msgid "What price would you feel comfortable paying?" msgstr "" -#: includes/class-freemius.php:2599 +#: includes/class-freemius.php:2606 msgid "I don't like to share my information with you" msgstr "" -#: includes/class-freemius.php:2620 +#: includes/class-freemius.php:2627 msgid "The %s didn't work" msgstr "" -#: includes/class-freemius.php:2630 +#: includes/class-freemius.php:2637 msgid "I couldn't understand how to make it work" msgstr "" -#: includes/class-freemius.php:2638 +#: includes/class-freemius.php:2645 msgid "The %s is great, but I need specific feature that you don't support" msgstr "" -#: includes/class-freemius.php:2640 +#: includes/class-freemius.php:2647 msgid "What feature?" msgstr "" -#: includes/class-freemius.php:2644 +#: includes/class-freemius.php:2651 msgid "The %s is not working" msgstr "" -#: includes/class-freemius.php:2646 +#: includes/class-freemius.php:2653 msgid "Kindly share what didn't work so we can fix it for future users..." msgstr "" -#: includes/class-freemius.php:2650 +#: includes/class-freemius.php:2657 msgid "It's not what I was looking for" msgstr "" -#: includes/class-freemius.php:2652 +#: includes/class-freemius.php:2659 msgid "What you've been looking for?" msgstr "" -#: includes/class-freemius.php:2656 +#: includes/class-freemius.php:2663 msgid "The %s didn't work as expected" msgstr "" -#: includes/class-freemius.php:2658 +#: includes/class-freemius.php:2665 msgid "What did you expect?" msgstr "" -#: includes/class-freemius.php:3513, templates/debug.php:20 +#: includes/class-freemius.php:3520, templates/debug.php:20 msgid "Freemius Debug" msgstr "" -#: includes/class-freemius.php:4265 +#: includes/class-freemius.php:4272 msgid "I don't know what is cURL or how to install it, help me!" msgstr "" -#: includes/class-freemius.php:4267 +#: includes/class-freemius.php:4274 msgid "We'll make sure to contact your hosting company and resolve the issue. You will get a follow-up email to %s once we have an update." msgstr "" -#: includes/class-freemius.php:4274 +#: includes/class-freemius.php:4281 msgid "Great, please install cURL and enable it in your php.ini file. In addition, search for the 'disable_functions' directive in your php.ini file and remove any disabled methods starting with 'curl_'. To make sure it was successfully activated, use 'phpinfo()'. Once activated, deactivate the %s and reactivate it back again." msgstr "" -#: includes/class-freemius.php:4379 +#: includes/class-freemius.php:4386 msgid "Yes - do your thing" msgstr "" -#: includes/class-freemius.php:4384 +#: includes/class-freemius.php:4391 msgid "No - just deactivate" msgstr "" -#: includes/class-freemius.php:4429, includes/class-freemius.php:4923, includes/class-freemius.php:6182, includes/class-freemius.php:13357, includes/class-freemius.php:14075, includes/class-freemius.php:17526, includes/class-freemius.php:17631, includes/class-freemius.php:17806, includes/class-freemius.php:20040, includes/class-freemius.php:20398, includes/class-freemius.php:20408, includes/class-freemius.php:21079, includes/class-freemius.php:21985, includes/class-freemius.php:22118, includes/class-freemius.php:22274, templates/add-ons.php:57 +#: includes/class-freemius.php:4436, includes/class-freemius.php:4930, includes/class-freemius.php:6191, includes/class-freemius.php:13368, includes/class-freemius.php:14110, includes/class-freemius.php:17542, includes/class-freemius.php:17647, includes/class-freemius.php:17822, includes/class-freemius.php:20056, includes/class-freemius.php:20414, includes/class-freemius.php:20424, includes/class-freemius.php:21109, includes/class-freemius.php:22015, includes/class-freemius.php:22148, includes/class-freemius.php:22304, templates/add-ons.php:57 msgctxt "exclamation" msgid "Oops" msgstr "" -#: includes/class-freemius.php:4498 +#: includes/class-freemius.php:4505 msgid "Thank for giving us the chance to fix it! A message was just sent to our technical staff. We will get back to you as soon as we have an update to %s. Appreciate your patience." msgstr "" -#: includes/class-freemius.php:4920 +#: includes/class-freemius.php:4927 msgctxt "addonX cannot run without pluginY" msgid "%s cannot run without %s." msgstr "" -#: includes/class-freemius.php:4921 +#: includes/class-freemius.php:4928 msgctxt "addonX cannot run..." msgid "%s cannot run without the plugin." msgstr "" -#: includes/class-freemius.php:5120, includes/class-freemius.php:5145, includes/class-freemius.php:21150 +#: includes/class-freemius.php:5127, includes/class-freemius.php:5152, includes/class-freemius.php:21180 msgid "Unexpected API error. Please contact the %s's author with the following error." msgstr "" -#: includes/class-freemius.php:5848 +#: includes/class-freemius.php:5857 msgid "Premium %s version was successfully activated." msgstr "" -#: includes/class-freemius.php:5860, includes/class-freemius.php:7762 +#: includes/class-freemius.php:5869, includes/class-freemius.php:7774 msgctxt "Used to express elation, enthusiasm, or triumph (especially in electronic communication)." msgid "W00t" msgstr "" -#: includes/class-freemius.php:5875 +#: includes/class-freemius.php:5884 msgid "You have a %s license." msgstr "" -#: includes/class-freemius.php:5879, includes/class-freemius.php:16925, includes/class-freemius.php:16936, includes/class-freemius.php:20309, includes/class-freemius.php:20659, includes/class-freemius.php:20728, includes/class-freemius.php:20900 +#: includes/class-freemius.php:5888, includes/class-freemius.php:16947, includes/class-freemius.php:16958, includes/class-freemius.php:20325, includes/class-freemius.php:20689, includes/class-freemius.php:20758, includes/class-freemius.php:20930 msgctxt "interjection expressing joy or exuberance" msgid "Yee-haw" msgstr "" -#: includes/class-freemius.php:6165 +#: includes/class-freemius.php:6174 msgid "%s free trial was successfully cancelled. Since the add-on is premium only it was automatically deactivated. If you like to use it in the future, you'll have to purchase a license." msgstr "" -#: includes/class-freemius.php:6169 +#: includes/class-freemius.php:6178 msgid "%s is a premium only add-on. You have to purchase a license first before activating the plugin." msgstr "" -#: includes/class-freemius.php:6178, templates/add-ons.php:186, templates/account/partials/addon.php:381 +#: includes/class-freemius.php:6187, templates/add-ons.php:186, templates/account/partials/addon.php:381 msgid "More information about %s" msgstr "" -#: includes/class-freemius.php:6179 +#: includes/class-freemius.php:6188 msgid "Purchase License" msgstr "" -#: includes/class-freemius.php:7118, templates/connect.php:171 +#: includes/class-freemius.php:7125, templates/connect.php:171 msgid "You should receive an activation email for %s to your mailbox at %s. Please make sure you click the activation button in that email to %s." msgstr "" -#: includes/class-freemius.php:7122 +#: includes/class-freemius.php:7129 msgid "start the trial" msgstr "" -#: includes/class-freemius.php:7123, templates/connect.php:175 +#: includes/class-freemius.php:7130, templates/connect.php:175 msgid "complete the install" msgstr "" -#: includes/class-freemius.php:7241 +#: includes/class-freemius.php:7249 msgid "You are just one step away - %s" msgstr "" -#: includes/class-freemius.php:7244 +#: includes/class-freemius.php:7252 msgctxt "%s - plugin name. As complete \"PluginX\" activation now" msgid "Complete \"%s\" Activation Now" msgstr "" -#: includes/class-freemius.php:7322 +#: includes/class-freemius.php:7334 msgid "We made a few tweaks to the %s, %s" msgstr "" -#: includes/class-freemius.php:7326 +#: includes/class-freemius.php:7338 msgid "Opt in to make \"%s\" better!" msgstr "" -#: includes/class-freemius.php:7761 +#: includes/class-freemius.php:7773 msgid "The upgrade of %s was successfully completed." msgstr "" -#: includes/class-freemius.php:10243, includes/class-fs-plugin-updater.php:1099, includes/class-fs-plugin-updater.php:1294, includes/class-fs-plugin-updater.php:1301, templates/auto-installation.php:32 +#: includes/class-freemius.php:10255, includes/class-fs-plugin-updater.php:1087, includes/class-fs-plugin-updater.php:1282, includes/class-fs-plugin-updater.php:1289, templates/auto-installation.php:32 msgid "Add-On" msgstr "" -#: includes/class-freemius.php:10245, templates/account.php:392, templates/account.php:400, templates/debug.php:358, templates/debug.php:549 +#: includes/class-freemius.php:10257, templates/account.php:394, templates/account.php:402, templates/debug.php:358, templates/debug.php:549 msgid "Plugin" msgstr "" -#: includes/class-freemius.php:10246, templates/account.php:393, templates/account.php:401, templates/debug.php:358, templates/debug.php:549, templates/forms/deactivation/form.php:71 +#: includes/class-freemius.php:10258, templates/account.php:395, templates/account.php:403, templates/debug.php:358, templates/debug.php:549, templates/forms/deactivation/form.php:71 msgid "Theme" msgstr "" -#: includes/class-freemius.php:13176 +#: includes/class-freemius.php:13188 msgid "An unknown error has occurred while trying to toggle the license's white-label mode." msgstr "" -#: includes/class-freemius.php:13190 +#: includes/class-freemius.php:13202 msgid "Your %s license was flagged as white-labeled to hide sensitive information from the WP Admin (e.g. your email, license key, prices, billing address & invoices). If you ever wish to revert it back, you can easily do it through your %s. If this was a mistake you can also %s." msgstr "" -#: includes/class-freemius.php:13195 +#: includes/class-freemius.php:13207 msgid "User Dashboard" msgstr "" -#: includes/class-freemius.php:13196 +#: includes/class-freemius.php:13208 msgid "revert it now" msgstr "" -#: includes/class-freemius.php:13255 +#: includes/class-freemius.php:13266 msgid "An unknown error has occurred while trying to set the user's beta mode." msgstr "" -#: includes/class-freemius.php:13328 +#: includes/class-freemius.php:13339 msgid "Invalid new user ID or email address." msgstr "" -#: includes/class-freemius.php:13358, includes/class-freemius.php:22229 +#: includes/class-freemius.php:13369, includes/class-freemius.php:22259 msgid "Sorry, we could not complete the email update. Another user with the same email is already registered." msgstr "" -#: includes/class-freemius.php:13359, includes/class-freemius.php:22230 +#: includes/class-freemius.php:13370, includes/class-freemius.php:22260 msgid "If you would like to give up the ownership of the %s's account to %s click the Change Ownership button." msgstr "" -#: includes/class-freemius.php:13366, includes/class-freemius.php:22237 +#: includes/class-freemius.php:13377, includes/class-freemius.php:22267 msgid "Change Ownership" msgstr "" -#: includes/class-freemius.php:13942 +#: includes/class-freemius.php:13977 msgid "Invalid site details collection." msgstr "" -#: includes/class-freemius.php:14062 +#: includes/class-freemius.php:14097 msgid "We couldn't find your email address in the system, are you sure it's the right address?" msgstr "" -#: includes/class-freemius.php:14064 +#: includes/class-freemius.php:14099 msgid "We can't see any active licenses associated with that email address, are you sure it's the right address?" msgstr "" -#: includes/class-freemius.php:14338 +#: includes/class-freemius.php:14373 msgid "Account is pending activation." msgstr "" -#: includes/class-freemius.php:14450, templates/forms/premium-versions-upgrade-handler.php:47 +#: includes/class-freemius.php:14485, templates/forms/premium-versions-upgrade-handler.php:47 msgid "Buy a license now" msgstr "" -#: includes/class-freemius.php:14462, templates/forms/premium-versions-upgrade-handler.php:46 +#: includes/class-freemius.php:14497, templates/forms/premium-versions-upgrade-handler.php:46 msgid "Renew your license now" msgstr "" -#: includes/class-freemius.php:14466 +#: includes/class-freemius.php:14501 msgid "%s to access version %s security & feature updates, and support." msgstr "" -#: includes/class-freemius.php:16907 +#: includes/class-freemius.php:16929 msgid "%s activation was successfully completed." msgstr "" -#: includes/class-freemius.php:16921 +#: includes/class-freemius.php:16943 msgid "Your account was successfully activated with the %s plan." msgstr "" -#: includes/class-freemius.php:16932, includes/class-freemius.php:20724 +#: includes/class-freemius.php:16954, includes/class-freemius.php:20754 msgid "Your trial has been successfully started." msgstr "" -#: includes/class-freemius.php:17524, includes/class-freemius.php:17629, includes/class-freemius.php:17804 +#: includes/class-freemius.php:17540, includes/class-freemius.php:17645, includes/class-freemius.php:17820 msgid "Couldn't activate %s." msgstr "" -#: includes/class-freemius.php:17525, includes/class-freemius.php:17630, includes/class-freemius.php:17805 +#: includes/class-freemius.php:17541, includes/class-freemius.php:17646, includes/class-freemius.php:17821 msgid "Please contact us with the following message:" msgstr "" -#: includes/class-freemius.php:17626, templates/forms/data-debug-mode.php:162 +#: includes/class-freemius.php:17642, templates/forms/data-debug-mode.php:162 msgid "An unknown error has occurred." msgstr "" -#: includes/class-freemius.php:18162, includes/class-freemius.php:23310 +#: includes/class-freemius.php:18178, includes/class-freemius.php:23340 msgid "Upgrade" msgstr "" -#: includes/class-freemius.php:18168 +#: includes/class-freemius.php:18184 msgid "Start Trial" msgstr "" -#: includes/class-freemius.php:18170 +#: includes/class-freemius.php:18186 msgid "Pricing" msgstr "" -#: includes/class-freemius.php:18250, includes/class-freemius.php:18252 +#: includes/class-freemius.php:18266, includes/class-freemius.php:18268 msgid "Affiliation" msgstr "" -#: includes/class-freemius.php:18280, includes/class-freemius.php:18282, templates/account.php:240, templates/debug.php:324 +#: includes/class-freemius.php:18296, includes/class-freemius.php:18298, templates/account.php:242, templates/debug.php:324 msgid "Account" msgstr "" -#: includes/class-freemius.php:18296, includes/class-freemius.php:18298, includes/customizer/class-fs-customizer-support-section.php:60 +#: includes/class-freemius.php:18312, includes/class-freemius.php:18314, includes/customizer/class-fs-customizer-support-section.php:60 msgid "Contact Us" msgstr "" -#: includes/class-freemius.php:18309, includes/class-freemius.php:18311, includes/class-freemius.php:23324, templates/account.php:119, templates/account/partials/addon.php:44 +#: includes/class-freemius.php:18325, includes/class-freemius.php:18327, includes/class-freemius.php:23354, templates/account.php:121, templates/account/partials/addon.php:44 msgid "Add-Ons" msgstr "" -#: includes/class-freemius.php:18345 +#: includes/class-freemius.php:18361 msgctxt "ASCII arrow left icon" msgid "←" msgstr "" -#: includes/class-freemius.php:18345 +#: includes/class-freemius.php:18361 msgctxt "ASCII arrow right icon" msgid "➤" msgstr "" -#: includes/class-freemius.php:18347, templates/pricing.php:109 +#: includes/class-freemius.php:18363, templates/pricing.php:109 msgctxt "noun" msgid "Pricing" msgstr "" -#: includes/class-freemius.php:18560, includes/customizer/class-fs-customizer-support-section.php:67 +#: includes/class-freemius.php:18576, includes/customizer/class-fs-customizer-support-section.php:67 msgid "Support Forum" msgstr "" -#: includes/class-freemius.php:19534 +#: includes/class-freemius.php:19550 msgid "Your email has been successfully verified - you are AWESOME!" msgstr "" -#: includes/class-freemius.php:19535 +#: includes/class-freemius.php:19551 msgctxt "a positive response" msgid "Right on" msgstr "" -#: includes/class-freemius.php:20041 +#: includes/class-freemius.php:20057 msgid "seems like the key you entered doesn't match our records." msgstr "" -#: includes/class-freemius.php:20065 +#: includes/class-freemius.php:20081 msgid "Debug mode was successfully enabled and will be automatically disabled in 60 min. You can also disable it earlier by clicking the \"Stop Debug\" link." msgstr "" -#: includes/class-freemius.php:20300 +#: includes/class-freemius.php:20316 msgid "Your %s Add-on plan was successfully upgraded." msgstr "" -#: includes/class-freemius.php:20302 +#: includes/class-freemius.php:20318 msgid "%s Add-on was successfully purchased." msgstr "" -#: includes/class-freemius.php:20305 +#: includes/class-freemius.php:20321 msgid "Download the latest version" msgstr "" -#: includes/class-freemius.php:20391 +#: includes/class-freemius.php:20407 msgid "Your server is blocking the access to Freemius' API, which is crucial for %1$s synchronization. Please contact your host to whitelist %2$s" msgstr "" -#: includes/class-freemius.php:20397, includes/class-freemius.php:20407, includes/class-freemius.php:20859, includes/class-freemius.php:20948 +#: includes/class-freemius.php:20413, includes/class-freemius.php:20423, includes/class-freemius.php:20889, includes/class-freemius.php:20978 msgid "Error received from the server:" msgstr "" -#: includes/class-freemius.php:20407 +#: includes/class-freemius.php:20423 msgid "It seems like one of the authentication parameters is wrong. Update your Public Key, Secret Key & User ID, and try again." msgstr "" -#: includes/class-freemius.php:20621, includes/class-freemius.php:20864, includes/class-freemius.php:20919, includes/class-freemius.php:21026 +#: includes/class-freemius.php:20651, includes/class-freemius.php:20894, includes/class-freemius.php:20949, includes/class-freemius.php:21056 msgctxt "something somebody says when they are thinking about what you have just said." msgid "Hmm" msgstr "" -#: includes/class-freemius.php:20634 +#: includes/class-freemius.php:20664 msgid "It looks like you are still on the %s plan. If you did upgrade or change your plan, it's probably an issue on our side - sorry." msgstr "" -#: includes/class-freemius.php:20635, templates/account.php:121, templates/add-ons.php:250, templates/account/partials/addon.php:46 +#: includes/class-freemius.php:20665, templates/account.php:123, templates/add-ons.php:250, templates/account/partials/addon.php:46 msgctxt "trial period" msgid "Trial" msgstr "" -#: includes/class-freemius.php:20640 +#: includes/class-freemius.php:20670 msgid "I have upgraded my account but when I try to Sync the License, the plan remains %s." msgstr "" -#: includes/class-freemius.php:20644, includes/class-freemius.php:20703 +#: includes/class-freemius.php:20674, includes/class-freemius.php:20733 msgid "Please contact us here" msgstr "" -#: includes/class-freemius.php:20655 +#: includes/class-freemius.php:20685 msgid "Your plan was successfully activated." msgstr "" -#: includes/class-freemius.php:20656 +#: includes/class-freemius.php:20686 msgid "Your plan was successfully upgraded." msgstr "" -#: includes/class-freemius.php:20673 +#: includes/class-freemius.php:20703 msgid "Your plan was successfully changed to %s." msgstr "" -#: includes/class-freemius.php:20689 +#: includes/class-freemius.php:20719 msgid "Your license has expired. You can still continue using the free %s forever." msgstr "" -#: includes/class-freemius.php:20691 +#: includes/class-freemius.php:20721 msgid "Your license has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions." msgstr "" -#: includes/class-freemius.php:20699 +#: includes/class-freemius.php:20729 msgid "Your license has been cancelled. If you think it's a mistake, please contact support." msgstr "" -#: includes/class-freemius.php:20712 +#: includes/class-freemius.php:20742 msgid "Your license has expired. You can still continue using all the %s features, but you'll need to renew your license to continue getting updates and support." msgstr "" -#: includes/class-freemius.php:20738 +#: includes/class-freemius.php:20768 msgid "Your free trial has expired. You can still continue using all our free features." msgstr "" -#: includes/class-freemius.php:20740 +#: includes/class-freemius.php:20770 msgid "Your free trial has expired. %1$sUpgrade now%2$s to continue using the %3$s without interruptions." msgstr "" -#: includes/class-freemius.php:20855 +#: includes/class-freemius.php:20885 msgid "It looks like the license could not be activated." msgstr "" -#: includes/class-freemius.php:20897 +#: includes/class-freemius.php:20927 msgid "Your license was successfully activated." msgstr "" -#: includes/class-freemius.php:20923 +#: includes/class-freemius.php:20953 msgid "It looks like your site currently doesn't have an active license." msgstr "" -#: includes/class-freemius.php:20947 +#: includes/class-freemius.php:20977 msgid "It looks like the license deactivation failed." msgstr "" -#: includes/class-freemius.php:20976 +#: includes/class-freemius.php:21006 msgid "Your %s license was successfully deactivated." msgstr "" -#: includes/class-freemius.php:20977 +#: includes/class-freemius.php:21007 msgid "Your license was successfully deactivated, you are back to the %s plan." msgstr "" -#: includes/class-freemius.php:20980 +#: includes/class-freemius.php:21010 msgid "O.K" msgstr "" -#: includes/class-freemius.php:21033 +#: includes/class-freemius.php:21063 msgid "Seems like we are having some temporary issue with your subscription cancellation. Please try again in few minutes." msgstr "" -#: includes/class-freemius.php:21042 +#: includes/class-freemius.php:21072 msgid "Your subscription was successfully cancelled. Your %s plan license will expire in %s." msgstr "" -#: includes/class-freemius.php:21084 +#: includes/class-freemius.php:21114 msgid "You are already running the %s in a trial mode." msgstr "" -#: includes/class-freemius.php:21095 +#: includes/class-freemius.php:21125 msgid "You already utilized a trial before." msgstr "" -#: includes/class-freemius.php:21109 +#: includes/class-freemius.php:21139 msgid "Plan %s do not exist, therefore, can't start a trial." msgstr "" -#: includes/class-freemius.php:21120 +#: includes/class-freemius.php:21150 msgid "Plan %s does not support a trial period." msgstr "" -#: includes/class-freemius.php:21131 +#: includes/class-freemius.php:21161 msgid "None of the %s's plans supports a trial period." msgstr "" -#: includes/class-freemius.php:21181 +#: includes/class-freemius.php:21211 msgid "It looks like you are not in trial mode anymore so there's nothing to cancel :)" msgstr "" -#: includes/class-freemius.php:21217 +#: includes/class-freemius.php:21247 msgid "Seems like we are having some temporary issue with your trial cancellation. Please try again in few minutes." msgstr "" -#: includes/class-freemius.php:21236 +#: includes/class-freemius.php:21266 msgid "Your %s free trial was successfully cancelled." msgstr "" -#: includes/class-freemius.php:21552 +#: includes/class-freemius.php:21582 msgid "Version %s was released." msgstr "" -#: includes/class-freemius.php:21552 +#: includes/class-freemius.php:21582 msgid "Please download %s." msgstr "" -#: includes/class-freemius.php:21559 +#: includes/class-freemius.php:21589 msgid "the latest %s version here" msgstr "" -#: includes/class-freemius.php:21564 +#: includes/class-freemius.php:21594 msgid "New" msgstr "" -#: includes/class-freemius.php:21569 +#: includes/class-freemius.php:21599 msgid "Seems like you got the latest release." msgstr "" -#: includes/class-freemius.php:21570 +#: includes/class-freemius.php:21600 msgid "You are all good!" msgstr "" -#: includes/class-freemius.php:21873 +#: includes/class-freemius.php:21903 msgid "Verification mail was just sent to %s. If you can't find it after 5 min, please check your spam box." msgstr "" -#: includes/class-freemius.php:22013 +#: includes/class-freemius.php:22043 msgid "Site successfully opted in." msgstr "" -#: includes/class-freemius.php:22014, includes/class-freemius.php:23020 +#: includes/class-freemius.php:22044, includes/class-freemius.php:23050 msgid "Awesome" msgstr "" -#: includes/class-freemius.php:22030, templates/forms/optout.php:41 +#: includes/class-freemius.php:22060, templates/forms/optout.php:41 msgid "We appreciate your help in making the %s better by letting us track some usage data." msgstr "" -#: includes/class-freemius.php:22031 +#: includes/class-freemius.php:22061 msgid "Thank you!" msgstr "" -#: includes/class-freemius.php:22038 +#: includes/class-freemius.php:22068 msgid "We will no longer be sending any usage data of %s on %s to %s." msgstr "" -#: includes/class-freemius.php:22196 +#: includes/class-freemius.php:22226 msgid "Please check your mailbox, you should receive an email via %s to confirm the ownership change. From security reasons, you must confirm the change within the next 15 min. If you cannot find the email, please check your spam folder." msgstr "" -#: includes/class-freemius.php:22202 +#: includes/class-freemius.php:22232 msgid "Thanks for confirming the ownership change. An email was just sent to %s for final approval." msgstr "" -#: includes/class-freemius.php:22207 +#: includes/class-freemius.php:22237 msgid "%s is the new owner of the account." msgstr "" -#: includes/class-freemius.php:22209 +#: includes/class-freemius.php:22239 msgctxt "as congratulations" msgid "Congrats" msgstr "" -#: includes/class-freemius.php:22245 +#: includes/class-freemius.php:22275 msgid "Your email was successfully updated. You should receive an email with confirmation instructions in few moments." msgstr "" -#: includes/class-freemius.php:22257 +#: includes/class-freemius.php:22287 msgid "Please provide your full name." msgstr "" -#: includes/class-freemius.php:22262 +#: includes/class-freemius.php:22292 msgid "Your name was successfully updated." msgstr "" -#: includes/class-freemius.php:22323 +#: includes/class-freemius.php:22353 msgid "You have successfully updated your %s." msgstr "" -#: includes/class-freemius.php:22382 +#: includes/class-freemius.php:22412 msgid "Is this your client's site? %s if you wish to hide sensitive info like your email, license key, prices, billing address & invoices from the WP Admin." msgstr "" -#: includes/class-freemius.php:22385 +#: includes/class-freemius.php:22415 msgid "Click here" msgstr "" -#: includes/class-freemius.php:22483 +#: includes/class-freemius.php:22513 msgid "Just letting you know that the add-ons information of %s is being pulled from an external server." msgstr "" -#: includes/class-freemius.php:22484 +#: includes/class-freemius.php:22514 msgctxt "advance notice of something that will need attention." msgid "Heads up" msgstr "" -#: includes/class-freemius.php:23060 +#: includes/class-freemius.php:23090 msgctxt "exclamation" msgid "Hey" msgstr "" -#: includes/class-freemius.php:23060 +#: includes/class-freemius.php:23090 msgid "How do you like %s so far? Test all our %s premium features with a %d-day free trial." msgstr "" -#: includes/class-freemius.php:23068 +#: includes/class-freemius.php:23098 msgid "No commitment for %s days - cancel anytime!" msgstr "" -#: includes/class-freemius.php:23069 +#: includes/class-freemius.php:23099 msgid "No credit card required" msgstr "" -#: includes/class-freemius.php:23076, templates/forms/trial-start.php:53 +#: includes/class-freemius.php:23106, templates/forms/trial-start.php:53 msgctxt "call to action" msgid "Start free trial" msgstr "" -#: includes/class-freemius.php:23153 +#: includes/class-freemius.php:23183 msgid "Hey there, did you know that %s has an affiliate program? If you like the %s you can become our ambassador and earn some cash!" msgstr "" -#: includes/class-freemius.php:23162 +#: includes/class-freemius.php:23192 msgid "Learn more" msgstr "" -#: includes/class-freemius.php:23348, templates/account.php:556, templates/account.php:706, templates/connect.php:179, templates/connect.php:456, templates/forms/license-activation.php:27, templates/account/partials/addon.php:321 +#: includes/class-freemius.php:23378, templates/account.php:558, templates/account.php:708, templates/connect.php:179, templates/connect.php:461, templates/forms/license-activation.php:27, templates/account/partials/addon.php:321 msgid "Activate License" msgstr "" -#: includes/class-freemius.php:23349, templates/account.php:650, templates/account.php:705, templates/account/partials/addon.php:322, templates/account/partials/site.php:271 +#: includes/class-freemius.php:23379, templates/account.php:652, templates/account.php:707, templates/account/partials/addon.php:322, templates/account/partials/site.php:271 msgid "Change License" msgstr "" -#: includes/class-freemius.php:23462, templates/account/partials/site.php:169 +#: includes/class-freemius.php:23500, templates/account/partials/site.php:169 msgid "Opt Out" msgstr "" -#: includes/class-freemius.php:23464, includes/class-freemius.php:23470, templates/account/partials/site.php:49, templates/account/partials/site.php:169 +#: includes/class-freemius.php:23502, includes/class-freemius.php:23508, templates/account/partials/site.php:49, templates/account/partials/site.php:169 msgid "Opt In" msgstr "" -#: includes/class-freemius.php:23700 +#: includes/class-freemius.php:23738 msgid " The paid version of %1$s is already installed. Please activate it to start benefiting the %2$s features. %3$s" msgstr "" -#: includes/class-freemius.php:23708 +#: includes/class-freemius.php:23746 msgid "Activate %s features" msgstr "" -#: includes/class-freemius.php:23721 +#: includes/class-freemius.php:23759 msgid "Please follow these steps to complete the upgrade" msgstr "" -#: includes/class-freemius.php:23725 +#: includes/class-freemius.php:23763 msgid "Download the latest %s version" msgstr "" -#: includes/class-freemius.php:23729 +#: includes/class-freemius.php:23767 msgid "Upload and activate the downloaded version" msgstr "" -#: includes/class-freemius.php:23731 +#: includes/class-freemius.php:23769 msgid "How to upload and activate?" msgstr "" -#: includes/class-freemius.php:23865 +#: includes/class-freemius.php:23903 msgid "%sClick here%s to choose the sites where you'd like to activate the license on." msgstr "" -#: includes/class-freemius.php:24034 +#: includes/class-freemius.php:24072 msgid "Auto installation only works for opted-in users." msgstr "" -#: includes/class-freemius.php:24044, includes/class-freemius.php:24077, includes/class-fs-plugin-updater.php:1273, includes/class-fs-plugin-updater.php:1287 +#: includes/class-freemius.php:24082, includes/class-freemius.php:24115, includes/class-fs-plugin-updater.php:1261, includes/class-fs-plugin-updater.php:1275 msgid "Invalid module ID." msgstr "" -#: includes/class-freemius.php:24053, includes/class-fs-plugin-updater.php:1309 +#: includes/class-freemius.php:24091, includes/class-fs-plugin-updater.php:1297 msgid "Premium version already active." msgstr "" -#: includes/class-freemius.php:24060 +#: includes/class-freemius.php:24098 msgid "You do not have a valid license to access the premium version." msgstr "" -#: includes/class-freemius.php:24067 +#: includes/class-freemius.php:24105 msgid "Plugin is a \"Serviceware\" which means it does not have a premium code version." msgstr "" -#: includes/class-freemius.php:24085, includes/class-fs-plugin-updater.php:1308 +#: includes/class-freemius.php:24123, includes/class-fs-plugin-updater.php:1296 msgid "Premium add-on version already installed." msgstr "" -#: includes/class-freemius.php:24435 +#: includes/class-freemius.php:24473 msgid "View paid features" msgstr "" -#: includes/class-freemius.php:24757 +#: includes/class-freemius.php:24795 msgid "Thank you so much for using %s and its add-ons!" msgstr "" -#: includes/class-freemius.php:24758 +#: includes/class-freemius.php:24796 msgid "Thank you so much for using %s!" msgstr "" -#: includes/class-freemius.php:24764 +#: includes/class-freemius.php:24802 msgid "You've already opted-in to our usage-tracking, which helps us keep improving the %s." msgstr "" -#: includes/class-freemius.php:24768 +#: includes/class-freemius.php:24806 msgid "Thank you so much for using our products!" msgstr "" -#: includes/class-freemius.php:24769 +#: includes/class-freemius.php:24807 msgid "You've already opted-in to our usage-tracking, which helps us keep improving them." msgstr "" -#: includes/class-freemius.php:24788 +#: includes/class-freemius.php:24826 msgid "%s and its add-ons" msgstr "" -#: includes/class-freemius.php:24797 +#: includes/class-freemius.php:24835 msgid "Products" msgstr "" -#: includes/class-freemius.php:24804, templates/connect.php:280 +#: includes/class-freemius.php:24842, templates/connect.php:275 msgid "Yes" msgstr "" -#: includes/class-freemius.php:24805, templates/connect.php:281 +#: includes/class-freemius.php:24843, templates/connect.php:276 msgid "send me security & feature updates, educational content and offers." msgstr "" -#: includes/class-freemius.php:24806, templates/connect.php:286 +#: includes/class-freemius.php:24844, templates/connect.php:281 msgid "No" msgstr "" -#: includes/class-freemius.php:24808, templates/connect.php:288 +#: includes/class-freemius.php:24846, templates/connect.php:283 msgid "do %sNOT%s send me security & feature updates, educational content and offers." msgstr "" -#: includes/class-freemius.php:24818 +#: includes/class-freemius.php:24856 msgid "Due to the new %sEU General Data Protection Regulation (GDPR)%s compliance requirements it is required that you provide your explicit consent, again, confirming that you are onboard :-)" msgstr "" -#: includes/class-freemius.php:24820, templates/connect.php:295 +#: includes/class-freemius.php:24858, templates/connect.php:290 msgid "Please let us know if you'd like us to contact you for security & feature updates, educational content, and occasional offers:" msgstr "" -#: includes/class-freemius.php:25102 +#: includes/class-freemius.php:25140 msgid "License key is empty." msgstr "" @@ -832,15 +832,15 @@ msgstr "" msgid "Important Upgrade Notice:" msgstr "" -#: includes/class-fs-plugin-updater.php:1338 +#: includes/class-fs-plugin-updater.php:1326 msgid "Installing plugin: %s" msgstr "" -#: includes/class-fs-plugin-updater.php:1379 +#: includes/class-fs-plugin-updater.php:1367 msgid "Unable to connect to the filesystem. Please confirm your credentials." msgstr "" -#: includes/class-fs-plugin-updater.php:1561 +#: includes/class-fs-plugin-updater.php:1549 msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work." msgstr "" @@ -861,7 +861,7 @@ msgstr "" msgid "Install Free Version Update Now" msgstr "" -#: includes/fs-plugin-info-dialog.php:745, templates/account.php:639 +#: includes/fs-plugin-info-dialog.php:745, templates/account.php:641 msgid "Install Update Now" msgstr "" @@ -878,7 +878,7 @@ msgctxt "as download latest version" msgid "Download Latest Free Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:772, templates/account.php:99, templates/add-ons.php:37, templates/account/partials/addon.php:25 +#: includes/fs-plugin-info-dialog.php:772, templates/account.php:101, templates/add-ons.php:37, templates/account/partials/addon.php:25 msgctxt "as download latest version" msgid "Download Latest" msgstr "" @@ -887,11 +887,11 @@ msgstr "" msgid "Activate this add-on" msgstr "" -#: includes/fs-plugin-info-dialog.php:789, templates/connect.php:453 +#: includes/fs-plugin-info-dialog.php:789, templates/connect.php:458 msgid "Activate Free Version" msgstr "" -#: includes/fs-plugin-info-dialog.php:790, templates/account.php:123, templates/add-ons.php:330, templates/account/partials/addon.php:48 +#: includes/fs-plugin-info-dialog.php:790, templates/account.php:125, templates/add-ons.php:330, templates/account/partials/addon.php:48 msgid "Activate" msgstr "" @@ -1020,7 +1020,7 @@ msgstr "" msgid "Details" msgstr "" -#: includes/fs-plugin-info-dialog.php:1318, templates/account.php:110, templates/debug.php:201, templates/debug.php:238, templates/debug.php:455, templates/account/partials/addon.php:36 +#: includes/fs-plugin-info-dialog.php:1318, templates/account.php:112, templates/debug.php:201, templates/debug.php:238, templates/debug.php:455, templates/account/partials/addon.php:36 msgctxt "product version" msgid "Version" msgstr "" @@ -1034,7 +1034,7 @@ msgstr "" msgid "Last Updated" msgstr "" -#: includes/fs-plugin-info-dialog.php:1337, templates/account.php:525 +#: includes/fs-plugin-info-dialog.php:1337, templates/account.php:527 msgctxt "x-ago" msgid "%s ago" msgstr "" @@ -1143,293 +1143,293 @@ msgstr "" msgid "Latest Free Version Installed" msgstr "" -#: templates/account.php:100, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:26, templates/account/partials/site.php:311 +#: templates/account.php:102, templates/forms/subscription-cancellation.php:96, templates/account/partials/addon.php:26, templates/account/partials/site.php:311 msgid "Downgrading your plan" msgstr "" -#: templates/account.php:101, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:27, templates/account/partials/site.php:312 +#: templates/account.php:103, templates/forms/subscription-cancellation.php:97, templates/account/partials/addon.php:27, templates/account/partials/site.php:312 msgid "Cancelling the subscription" msgstr "" #. translators: %1$s: Either 'Downgrading your plan' or 'Cancelling the subscription' -#: templates/account.php:103, templates/forms/subscription-cancellation.php:99, templates/account/partials/site.php:314 +#: templates/account.php:105, templates/forms/subscription-cancellation.php:99, templates/account/partials/site.php:314 msgid "%1$s will immediately stop all future recurring payments and your %2$s plan license will expire in %3$s." msgstr "" -#: templates/account.php:104, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:30, templates/account/partials/site.php:315 +#: templates/account.php:106, templates/forms/subscription-cancellation.php:100, templates/account/partials/addon.php:30, templates/account/partials/site.php:315 msgid "Please note that we will not be able to grandfather outdated pricing for renewals/new subscriptions after a cancellation. If you choose to renew the subscription manually in the future, after a price increase, which typically occurs once a year, you will be charged the updated price." msgstr "" -#: templates/account.php:105, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:31 +#: templates/account.php:107, templates/forms/subscription-cancellation.php:106, templates/account/partials/addon.php:31 msgid "Cancelling the trial will immediately block access to all premium features. Are you sure?" msgstr "" -#: templates/account.php:106, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:32, templates/account/partials/site.php:316 +#: templates/account.php:108, templates/forms/subscription-cancellation.php:101, templates/account/partials/addon.php:32, templates/account/partials/site.php:316 msgid "You can still enjoy all %s features but you will not have access to %s security & feature updates, nor support." msgstr "" -#: templates/account.php:107, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:33, templates/account/partials/site.php:317 +#: templates/account.php:109, templates/forms/subscription-cancellation.php:102, templates/account/partials/addon.php:33, templates/account/partials/site.php:317 msgid "Once your license expires you can still use the Free version but you will NOT have access to the %s features." msgstr "" #. translators: %s: Plan title (e.g. "Professional") -#: templates/account.php:109, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:35 +#: templates/account.php:111, templates/account/partials/activate-license-button.php:31, templates/account/partials/addon.php:35 msgid "Activate %s Plan" msgstr "" #. translators: %s: Time period (e.g. Auto renews in "2 months") -#: templates/account.php:112, templates/account/partials/addon.php:38, templates/account/partials/site.php:291 +#: templates/account.php:114, templates/account/partials/addon.php:38, templates/account/partials/site.php:291 msgid "Auto renews in %s" msgstr "" #. translators: %s: Time period (e.g. Expires in "2 months") -#: templates/account.php:114, templates/account/partials/addon.php:40, templates/account/partials/site.php:293 +#: templates/account.php:116, templates/account/partials/addon.php:40, templates/account/partials/site.php:293 msgid "Expires in %s" msgstr "" -#: templates/account.php:115 +#: templates/account.php:117 msgctxt "as synchronize license" msgid "Sync License" msgstr "" -#: templates/account.php:116, templates/account/partials/addon.php:41 +#: templates/account.php:118, templates/account/partials/addon.php:41 msgid "Cancel Trial" msgstr "" -#: templates/account.php:117, templates/account/partials/addon.php:42 +#: templates/account.php:119, templates/account/partials/addon.php:42 msgid "Change Plan" msgstr "" -#: templates/account.php:118, templates/account/partials/addon.php:43 +#: templates/account.php:120, templates/account/partials/addon.php:43 msgctxt "verb" msgid "Upgrade" msgstr "" -#: templates/account.php:120, templates/account/partials/addon.php:45, templates/account/partials/site.php:318 +#: templates/account.php:122, templates/account/partials/addon.php:45, templates/account/partials/site.php:318 msgctxt "verb" msgid "Downgrade" msgstr "" -#: templates/account.php:122, templates/add-ons.php:246, templates/plugin-info/features.php:72, templates/account/partials/addon.php:47, templates/account/partials/site.php:33 +#: templates/account.php:124, templates/add-ons.php:246, templates/plugin-info/features.php:72, templates/account/partials/addon.php:47, templates/account/partials/site.php:33 msgid "Free" msgstr "" -#: templates/account.php:124, templates/debug.php:371, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:49 +#: templates/account.php:126, templates/debug.php:371, includes/customizer/class-fs-customizer-upsell-control.php:110, templates/account/partials/addon.php:49 msgctxt "as product pricing plan" msgid "Plan" msgstr "" -#: templates/account.php:125 +#: templates/account.php:127 msgid "Bundle Plan" msgstr "" -#: templates/account.php:248 +#: templates/account.php:250 msgid "Free Trial" msgstr "" -#: templates/account.php:259 +#: templates/account.php:261 msgid "Account Details" msgstr "" -#: templates/account.php:266, templates/forms/data-debug-mode.php:33 +#: templates/account.php:268, templates/forms/data-debug-mode.php:33 msgid "Start Debug" msgstr "" -#: templates/account.php:268 +#: templates/account.php:270 msgid "Stop Debug" msgstr "" -#: templates/account.php:275 +#: templates/account.php:277 msgid "Billing & Invoices" msgstr "" -#: templates/account.php:286 +#: templates/account.php:288 msgid "Deleting the account will automatically deactivate your %s plan license so you can use it on other sites. If you want to terminate the recurring payments as well, click the \"Cancel\" button, and first \"Downgrade\" your account. Are you sure you would like to continue with the deletion?" msgstr "" -#: templates/account.php:288 +#: templates/account.php:290 msgid "Deletion is not temporary. Only delete if you no longer want to use this %s anymore. Are you sure you would like to continue with the deletion?" msgstr "" -#: templates/account.php:291 +#: templates/account.php:293 msgid "Delete Account" msgstr "" -#: templates/account.php:303, templates/account/partials/addon.php:231, templates/account/partials/deactivate-license-button.php:35 +#: templates/account.php:305, templates/account/partials/addon.php:231, templates/account/partials/deactivate-license-button.php:35 msgid "Deactivate License" msgstr "" -#: templates/account.php:326, templates/forms/subscription-cancellation.php:125 +#: templates/account.php:328, templates/forms/subscription-cancellation.php:125 msgid "Are you sure you want to proceed?" msgstr "" -#: templates/account.php:326, templates/account/partials/addon.php:255 +#: templates/account.php:328, templates/account/partials/addon.php:255 msgid "Cancel Subscription" msgstr "" -#: templates/account.php:355, templates/account/partials/addon.php:340 +#: templates/account.php:357, templates/account/partials/addon.php:340 msgctxt "as synchronize" msgid "Sync" msgstr "" -#: templates/account.php:370, templates/debug.php:505 +#: templates/account.php:372, templates/debug.php:505 msgid "Name" msgstr "" -#: templates/account.php:376, templates/debug.php:506 +#: templates/account.php:378, templates/debug.php:506 msgid "Email" msgstr "" -#: templates/account.php:383, templates/debug.php:369, templates/debug.php:555 +#: templates/account.php:385, templates/debug.php:369, templates/debug.php:555 msgid "User ID" msgstr "" -#: templates/account.php:401, templates/account.php:719, templates/account.php:752, templates/debug.php:236, templates/debug.php:363, templates/debug.php:452, templates/debug.php:504, templates/debug.php:553, templates/debug.php:632, templates/account/payments.php:35, templates/debug/logger.php:21 +#: templates/account.php:403, templates/account.php:721, templates/account.php:754, templates/debug.php:236, templates/debug.php:363, templates/debug.php:452, templates/debug.php:504, templates/debug.php:553, templates/debug.php:632, templates/account/payments.php:35, templates/debug/logger.php:21 msgid "ID" msgstr "" -#: templates/account.php:408 +#: templates/account.php:410 msgid "Site ID" msgstr "" -#: templates/account.php:411 +#: templates/account.php:413 msgid "No ID" msgstr "" -#: templates/account.php:416, templates/debug.php:243, templates/debug.php:372, templates/debug.php:456, templates/debug.php:508, templates/account/partials/site.php:227 +#: templates/account.php:418, templates/debug.php:243, templates/debug.php:372, templates/debug.php:456, templates/debug.php:508, templates/account/partials/site.php:227 msgid "Public Key" msgstr "" -#: templates/account.php:422, templates/debug.php:373, templates/debug.php:457, templates/debug.php:509, templates/account/partials/site.php:239 +#: templates/account.php:424, templates/debug.php:373, templates/debug.php:457, templates/debug.php:509, templates/account/partials/site.php:239 msgid "Secret Key" msgstr "" -#: templates/account.php:425 +#: templates/account.php:427 msgctxt "as secret encryption key missing" msgid "No Secret" msgstr "" -#: templates/account.php:452, templates/account/partials/site.php:120, templates/account/partials/site.php:122 +#: templates/account.php:454, templates/account/partials/site.php:120, templates/account/partials/site.php:122 msgid "Trial" msgstr "" -#: templates/account.php:479, templates/debug.php:561, templates/account/partials/site.php:260 +#: templates/account.php:481, templates/debug.php:561, templates/account/partials/site.php:260 msgid "License Key" msgstr "" -#: templates/account.php:510 +#: templates/account.php:512 msgid "Join the Beta program" msgstr "" -#: templates/account.php:516 +#: templates/account.php:518 msgid "not verified" msgstr "" -#: templates/account.php:525, templates/account/partials/addon.php:190 +#: templates/account.php:527, templates/account/partials/addon.php:190 msgid "Expired" msgstr "" -#: templates/account.php:585 +#: templates/account.php:587 msgid "Premium version" msgstr "" -#: templates/account.php:587 +#: templates/account.php:589 msgid "Free version" msgstr "" -#: templates/account.php:599 +#: templates/account.php:601 msgid "Verify Email" msgstr "" -#: templates/account.php:613 +#: templates/account.php:615 msgid "Download %s Version" msgstr "" -#: templates/account.php:629 +#: templates/account.php:631 msgid "Download Paid Version" msgstr "" -#: templates/account.php:647, templates/account.php:890, templates/account/partials/site.php:248, templates/account/partials/site.php:270 +#: templates/account.php:649, templates/account.php:892, templates/account/partials/site.php:248, templates/account/partials/site.php:270 msgctxt "verb" msgid "Show" msgstr "" -#: templates/account.php:662 +#: templates/account.php:664 msgid "What is your %s?" msgstr "" -#: templates/account.php:670, templates/account/billing.php:21 +#: templates/account.php:672, templates/account/billing.php:21 msgctxt "verb" msgid "Edit" msgstr "" -#: templates/account.php:674, templates/forms/user-change.php:27 +#: templates/account.php:676, templates/forms/user-change.php:27 msgid "Change User" msgstr "" -#: templates/account.php:698 +#: templates/account.php:700 msgid "Sites" msgstr "" -#: templates/account.php:711 +#: templates/account.php:713 msgid "Search by address" msgstr "" -#: templates/account.php:720, templates/debug.php:366 +#: templates/account.php:722, templates/debug.php:366 msgid "Address" msgstr "" -#: templates/account.php:721 +#: templates/account.php:723 msgid "License" msgstr "" -#: templates/account.php:722 +#: templates/account.php:724 msgid "Plan" msgstr "" -#: templates/account.php:755 +#: templates/account.php:757 msgctxt "as software license" msgid "License" msgstr "" -#: templates/account.php:884 +#: templates/account.php:886 msgctxt "verb" msgid "Hide" msgstr "" -#: templates/account.php:906, templates/forms/data-debug-mode.php:31 +#: templates/account.php:908, templates/forms/data-debug-mode.php:31 msgid "Processing" msgstr "" -#: templates/account.php:909 +#: templates/account.php:911 msgid "Get updates for bleeding edge Beta versions of %s." msgstr "" -#: templates/account.php:967 +#: templates/account.php:969 msgid "Cancelling %s" msgstr "" -#: templates/account.php:967, templates/account.php:984, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:133 +#: templates/account.php:969, templates/account.php:986, templates/forms/subscription-cancellation.php:27, templates/forms/deactivation/form.php:133 msgid "trial" msgstr "" -#: templates/account.php:982, templates/forms/deactivation/form.php:150 +#: templates/account.php:984, templates/forms/deactivation/form.php:150 msgid "Cancelling %s..." msgstr "" -#: templates/account.php:985, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:134 +#: templates/account.php:987, templates/forms/subscription-cancellation.php:28, templates/forms/deactivation/form.php:134 msgid "subscription" msgstr "" -#: templates/account.php:999 +#: templates/account.php:1001 msgid "Deactivating your license will block all premium features, but will enable activating the license on another site. Are you sure you want to proceed?" msgstr "" -#: templates/account.php:1073 +#: templates/account.php:1075 msgid "Disabling white-label mode" msgstr "" -#: templates/account.php:1074 +#: templates/account.php:1076 msgid "Enabling white-label mode" msgstr "" @@ -1455,7 +1455,7 @@ msgctxt "installed add-on" msgid "Installed" msgstr "" -#: templates/admin-notice.php:13, templates/forms/license-activation.php:220, templates/forms/resend-key.php:77 +#: templates/admin-notice.php:13, templates/forms/license-activation.php:222, templates/forms/resend-key.php:77 msgctxt "as close a window" msgid "Dismiss" msgstr "" @@ -1510,84 +1510,92 @@ msgstr "" msgid "Agree & Activate License" msgstr "" -#: templates/connect.php:189 -msgid "Thanks for purchasing %s! To get started, please enter your license key:" +#: templates/connect.php:184 +msgid "Welcome to %s! To get started, please enter your license key:" msgstr "" -#: templates/connect.php:196 +#: templates/connect.php:191 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s." msgstr "" -#: templates/connect.php:197 +#: templates/connect.php:192 msgid "Never miss an important update - opt in to our security and feature updates notifications, and non-sensitive diagnostic tracking with %4$s." msgstr "" -#: templates/connect.php:203 +#: templates/connect.php:198 msgid "Never miss an important update - opt in to our security & feature updates notifications, educational content, offers, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine." msgstr "" -#: templates/connect.php:204 +#: templates/connect.php:199 msgid "Never miss an important update - opt in to our security & feature updates notifications, and non-sensitive diagnostic tracking with %4$s. If you skip this, that's okay! %1$s will still work just fine." msgstr "" -#: templates/connect.php:238 +#: templates/connect.php:233 msgid "We're excited to introduce the Freemius network-level integration." msgstr "" -#: templates/connect.php:241 +#: templates/connect.php:236 msgid "During the update process we detected %d site(s) that are still pending license activation." msgstr "" -#: templates/connect.php:243 +#: templates/connect.php:238 msgid "If you'd like to use the %s on those sites, please enter your license key below and click the activation button." msgstr "" -#: templates/connect.php:245 +#: templates/connect.php:240 msgid "%s's paid features" msgstr "" -#: templates/connect.php:250 +#: templates/connect.php:245 msgid "Alternatively, you can skip it for now and activate the license later, in your %s's network-level Account page." msgstr "" -#: templates/connect.php:252 +#: templates/connect.php:247 msgid "During the update process we detected %s site(s) in the network that are still pending your attention." msgstr "" -#: templates/connect.php:261, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:49 +#: templates/connect.php:256, templates/forms/data-debug-mode.php:35, templates/forms/license-activation.php:49 msgid "License key" msgstr "" -#: templates/connect.php:264, templates/forms/license-activation.php:22 +#: templates/connect.php:259, templates/forms/license-activation.php:22 msgid "Can't find your license key?" msgstr "" -#: templates/connect.php:323, templates/connect.php:695, templates/forms/deactivation/retry-skip.php:20 +#: templates/connect.php:318, templates/connect.php:700, templates/forms/deactivation/retry-skip.php:20 msgctxt "verb" msgid "Skip" msgstr "" -#: templates/connect.php:326 +#: templates/connect.php:321 msgid "Delegate to Site Admins" msgstr "" -#: templates/connect.php:326 +#: templates/connect.php:321 msgid "If you click it, this decision will be delegated to the sites administrators." msgstr "" -#: templates/connect.php:364 +#: templates/connect.php:346 +msgid "License issues?" +msgstr "" + +#: templates/connect.php:362 msgid "Your Profile Overview" msgstr "" -#: templates/connect.php:365 +#: templates/connect.php:363 msgid "Name and email address" msgstr "" -#: templates/connect.php:372 +#: templates/connect.php:370 +msgid "So you can manage and control your license remotely from the User Dashboard." +msgstr "" + +#: templates/connect.php:371 msgid "Your Site Overview" msgstr "" -#: templates/connect.php:373 +#: templates/connect.php:372 msgid "Site URL, WP version, PHP info" msgstr "" @@ -1595,64 +1603,84 @@ msgstr "" msgid "Admin Notices" msgstr "" -#: templates/connect.php:380, templates/connect.php:396 +#: templates/connect.php:380, templates/connect.php:398 msgid "Updates, announcements, marketing, no spam" msgstr "" -#: templates/connect.php:386 -msgid "Current %s Events" +#: templates/connect.php:387 +msgid "So you can reuse the license when the %s is no longer active." +msgstr "" + +#: templates/connect.php:388 +msgid "Current %s Status" msgstr "" -#: templates/connect.php:387 -msgid "Activation, deactivation and uninstall" +#: templates/connect.php:389 +msgid "Active, deactivated, or uninstalled" msgstr "" -#: templates/connect.php:395 +#: templates/connect.php:397 msgid "Newsletter" msgstr "" -#: templates/connect.php:403 +#: templates/connect.php:405 msgid "Plugins & Themes" msgstr "" -#: templates/connect.php:404 +#: templates/connect.php:405 +msgid "optional" +msgstr "" + +#: templates/connect.php:406 +msgid "To help us troubleshoot any potential issues that may arise from other plugin or theme conflicts." +msgstr "" + +#: templates/connect.php:407 msgid "Title, slug, version, and is active" msgstr "" -#: templates/connect.php:421, templates/forms/license-activation.php:41 -msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license." +#: templates/connect.php:424 +msgid "The %1$s will periodically send %2$s to %3$s for security & feature updates delivery, and license management." msgstr "" #: templates/connect.php:426 +msgid "diagnostic data" +msgstr "" + +#: templates/connect.php:427 +msgid "Freemius is our licensing and software updates engine" +msgstr "" + +#: templates/connect.php:430 msgid "What permissions are being granted?" msgstr "" -#: templates/connect.php:452 +#: templates/connect.php:457 msgid "Don't have a license key?" msgstr "" -#: templates/connect.php:455 +#: templates/connect.php:460 msgid "Have a license key?" msgstr "" -#: templates/connect.php:463 +#: templates/connect.php:468 msgid "Privacy Policy" msgstr "" -#: templates/connect.php:465 +#: templates/connect.php:470 msgid "License Agreement" msgstr "" -#: templates/connect.php:465 +#: templates/connect.php:470 msgid "Terms of Service" msgstr "" -#: templates/connect.php:854 +#: templates/connect.php:866 msgctxt "as in the process of sending an email" msgid "Sending email" msgstr "" -#: templates/connect.php:855 +#: templates/connect.php:867 msgctxt "as activating plugin" msgid "Activating" msgstr "" @@ -2241,7 +2269,11 @@ msgstr "" msgid "Update License" msgstr "" -#: templates/forms/license-activation.php:181 +#: templates/forms/license-activation.php:41 +msgid "The %1$s will be periodically sending data to %2$s to check for security and feature updates, and verify the validity of your license." +msgstr "" + +#: templates/forms/license-activation.php:183 msgid "Associate with the license owner's account." msgstr "" diff --git a/external/Freemius/start.php b/external/Freemius/start.php index cd70a40f..9cb4f4d0 100755 --- a/external/Freemius/start.php +++ b/external/Freemius/start.php @@ -15,7 +15,7 @@ * * @var string */ - $this_sdk_version = '2.4.1'; + $this_sdk_version = '2.4.2'; #region SDK Selection Logic -------------------------------------------------------------------- @@ -512,7 +512,7 @@ function fs_init( $slug, $plugin_id, $public_key, $is_live = true, $is_premium = } /** - * @param array $module Plugin or Theme details. + * @param array $module Plugin or Theme details. * * @return Freemius * @throws Freemius_Exception @@ -527,4 +527,4 @@ function fs_dynamic_init( $module ) { function fs_dump_log() { FS_Logger::dump(); } - } \ No newline at end of file + } diff --git a/external/Freemius/templates/account.php b/external/Freemius/templates/account.php index ca3a6c44..a5d8f7c7 100755 --- a/external/Freemius/templates/account.php +++ b/external/Freemius/templates/account.php @@ -21,7 +21,9 @@ /** * @var FS_Plugin_Tag $update */ - $update = $fs->get_update( false, false, WP_FS__TIME_24_HOURS_IN_SEC / 24 ); + $update = $fs->has_release_on_freemius() ? + $fs->get_update( false, false, WP_FS__TIME_24_HOURS_IN_SEC / 24 ) : + null; if ( is_object($update) ) { /** @@ -433,11 +435,11 @@ class="dashicons dashicons-image-rotate"> $fs->get_plugin_version() ); - if ( $is_premium && ! $is_whitelabeled ) { + if ( ! fs_is_network_admin() && $is_premium && ! $is_whitelabeled ) { $profile[] = array( 'id' => 'beta_program', 'title' => '', - 'value' => $user->is_beta + 'value' => $site->is_beta ); } diff --git a/external/Freemius/templates/connect.php b/external/Freemius/templates/connect.php index d5ef39e6..5919ac8b 100755 --- a/external/Freemius/templates/connect.php +++ b/external/Freemius/templates/connect.php @@ -181,12 +181,7 @@ class="wrapis_enable_anonymous() $message = $fs->apply_filters( 'connect-message_on-premium', - ($is_network_upgrade_mode ? - '' : - /* translators: %s: name (e.g. Hey John,) */ - $hey_x_text . '
' - ) . - sprintf( fs_text_inline( 'Thanks for purchasing %s! To get started, please enter your license key:', 'thanks-for-purchasing', $slug ), '' . $fs->get_plugin_name() . '' ), + sprintf( fs_text_inline( 'Welcome to %s! To get started, please enter your license key:', 'thanks-for-purchasing', $slug ), '' . $fs->get_plugin_name() . '' ), $first_name, $fs->get_plugin_name() ); @@ -347,6 +342,9 @@ class="button button-secondary" tabindex="2">> + + + 'dashicons dashicons-admin-settings', - 'label' => $fs->get_text_inline( 'Your Site Overview', 'permissions-site' ), - 'desc' => $fs->get_text_inline( 'Site URL, WP version, PHP info', 'permissions-site_desc' ), - 'priority' => 10, - ); - - $permissions['notices'] = array( - 'icon-class' => 'dashicons dashicons-testimonial', - 'label' => $fs->get_text_inline( 'Admin Notices', 'permissions-admin-notices' ), - 'desc' => $fs->get_text_inline( 'Updates, announcements, marketing, no spam', 'permissions-newsletter_desc' ), - 'priority' => 13, - ); + $permissions['site'] = array( + 'icon-class' => 'dashicons dashicons-admin-settings', + 'tooltip' => ( $require_license_key ? sprintf( $fs->get_text_inline( 'So you can manage and control your license remotely from the User Dashboard.', 'permissions-site_tooltip' ), $fs->get_module_type() ) : '' ), + 'label' => $fs->get_text_inline( 'Your Site Overview', 'permissions-site' ), + 'desc' => $fs->get_text_inline( 'Site URL, WP version, PHP info', 'permissions-site_desc' ), + 'priority' => 10, + ); + + if ( ! $require_license_key ) { + $permissions['notices'] = array( + 'icon-class' => 'dashicons dashicons-testimonial', + 'label' => $fs->get_text_inline( 'Admin Notices', 'permissions-admin-notices' ), + 'desc' => $fs->get_text_inline( 'Updates, announcements, marketing, no spam', 'permissions-newsletter_desc' ), + 'priority' => 13, + ); + } - $permissions['events'] = array( - 'icon-class' => 'dashicons dashicons-admin-' . ( $fs->is_plugin() ? 'plugins' : 'appearance' ), - 'label' => sprintf( $fs->get_text_inline( 'Current %s Events', 'permissions-events' ), ucfirst( $fs->get_module_type() ) ), - 'desc' => $fs->get_text_inline( 'Activation, deactivation and uninstall', 'permissions-events_desc' ), - 'priority' => 20, - ); + $permissions['events'] = array( + 'icon-class' => 'dashicons dashicons-admin-' . ( $fs->is_plugin() ? 'plugins' : 'appearance' ), + 'tooltip' => ( $require_license_key ? sprintf( $fs->get_text_inline( 'So you can reuse the license when the %s is no longer active.', 'permissions-events_tooltip' ), $fs->get_module_type() ) : '' ), + 'label' => sprintf( $fs->get_text_inline( 'Current %s Status', 'permissions-events' ), ucfirst( $fs->get_module_type() ) ), + 'desc' => $fs->get_text_inline( 'Active, deactivated, or uninstalled', 'permissions-events_desc' ), + 'priority' => 20, + ); // Add newsletter permissions if enabled. if ( $is_gdpr_required || $fs->is_permission_requested( 'newsletter' ) ) { @@ -398,14 +400,15 @@ class="button button-secondary" tabindex="2"> 'dashicons dashicons-menu', - 'label' => $fs->get_text_inline( 'Plugins & Themes', 'permissions-extensions' ), + 'label' => $fs->get_text_inline( 'Plugins & Themes', 'permissions-extensions' ) . ( $require_license_key ? ' (' . $fs->get_text_inline( 'optional' ) . ')' : '' ), + 'tooltip' => $fs->get_text_inline( 'To help us troubleshoot any potential issues that may arise from other plugin or theme conflicts.', 'permissions-events_tooltip' ), 'desc' => $fs->get_text_inline( 'Title, slug, version, and is active', 'permissions-extensions_desc' ), 'priority' => 25, 'optional' => true, - 'default' => $fs->apply_filters( 'permission_extensions_default', true ) - ); + 'default' => $fs->apply_filters( 'permission_extensions_default', ! $require_license_key ) + ); // Allow filtering of the permissions list. $permissions = $fs->apply_filters( 'permission_list', $permissions ); @@ -417,13 +420,15 @@ class="button button-secondary" tabindex="2">

get_module_label( true ), - $freemius_link + sprintf('%s', fs_esc_html_inline('diagnostic data', 'send-data')), + 'freemius.com ' . $fs->get_text_inline( 'Freemius is our licensing and software updates engine', 'permissions-extensions_desc' ) . '' ) ?>

- + +
    $permission ) : ?>
  • - + class="fs-tooltip-trigger">

    @@ -702,9 +707,16 @@ function updatePrimaryCtaText( actionType ) { var ajaxOptin = ( requireLicenseKey || isNetworkActive ); $form.on('submit', function () { - var isExtensionsTrackingAllowed = $( '#fs-permission-extensions .fs-switch' ).hasClass( 'fs-on' ); - - $( 'input[name=is_extensions_tracking_allowed]' ).val( isExtensionsTrackingAllowed ? 1 : 0 ); + var $extensionsPermission = $('#fs-permission-extensions .fs-switch'), + isExtensionsTrackingAllowed = ($extensionsPermission.length > 0) ? + $extensionsPermission.hasClass('fs-on') : + null; + + if (null === isExtensionsTrackingAllowed) { + $('input[name=is_extensions_tracking_allowed]').remove(); + } else { + $('input[name=is_extensions_tracking_allowed]').val(isExtensionsTrackingAllowed ? 1 : 0); + } /** * @author Vova Feldman (@svovaf) diff --git a/external/Freemius/templates/forms/license-activation.php b/external/Freemius/templates/forms/license-activation.php index 87c5bb13..639f433e 100755 --- a/external/Freemius/templates/forms/license-activation.php +++ b/external/Freemius/templates/forms/license-activation.php @@ -115,13 +115,15 @@ * @var FS_Plugin_License $license */ foreach ( $available_licenses as $license ) { + $plan = $fs->_get_plan_by_id( $license->plan_id ); + $label = sprintf( "%s-Site %s License - %s", ( 1 == $license->quota ? 'Single' : ( $license->is_unlimited() ? 'Unlimited' : $license->quota ) ), - $fs->_get_plan_by_id( $license->plan_id )->title, + ( is_object( $plan ) ? $plan->title : '' ), $license->get_html_escaped_masked_secret_key() ); diff --git a/ilab-media-tools.php b/ilab-media-tools.php index 7c0e62ee..b208f5a3 100755 --- a/ilab-media-tools.php +++ b/ilab-media-tools.php @@ -5,7 +5,7 @@ Plugin URI: https://github.com/interfacelab/ilab-media-tools Description: Automatically upload media to Amazon S3 and integrate with Imgix, a real-time image processing CDN. Boosts site performance and simplifies workflows. Author: interfacelab -Version: 4.2.3 +Version: 4.2.6 Author URI: http://interfacelab.io */ // Copyright (c) 2016 Interfacelab LLC. All rights reserved. @@ -94,7 +94,7 @@ } // Version Defines -define( 'MEDIA_CLOUD_VERSION', '4.2.3' ); +define( 'MEDIA_CLOUD_VERSION', '4.2.6' ); define( 'MEDIA_CLOUD_INFO_VERSION', '4.0.2' ); define( 'MCLOUD_IS_BETA', false ); // Directory defines @@ -174,9 +174,10 @@ function media_cloud_licensing() media_cloud_licensing()->add_filter( 'permission_list', function ( $permissions ) { $permissions['feature-tracking'] = array( 'icon-class' => 'dashicons dashicons-admin-generic', - 'label' => media_cloud_licensing()->get_text_inline( 'Plugin Features', 'plugin-features' ), - 'desc' => media_cloud_licensing()->get_text_inline( 'Anonymously track which plugin features are being used to allow us to prioritize development.', 'permissions-plugin-features' ), - 'priority' => 16, + 'label' => media_cloud_licensing()->get_text_inline( 'Media Cloud Features', 'plugin-features' ), + 'desc' => media_cloud_licensing()->get_text_inline( 'Anonymously track which Media Cloud features are being used to allow us to prioritize development.', 'permissions-plugin-features' ), + 'priority' => 50, + 'optional' => true, ); return $permissions; } ); diff --git a/public/js/ilab-media-direct-upload-google.js b/public/js/ilab-media-direct-upload-google.js index 4446a259..da99bfe2 100755 --- a/public/js/ilab-media-direct-upload-google.js +++ b/public/js/ilab-media-direct-upload-google.js @@ -1 +1 @@ -!function(t){var e={};function r(o){if(e[o])return e[o].exports;var n=e[o]={i:o,l:!1,exports:{}};return t[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=t,r.c=e,r.d=function(t,e,o){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(o,n,function(e){return t[e]}.bind(null,n));return o},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/",r(r.s=630)}({113:function(t,e,r){var o=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag";function l(t,e,r,o){var n=e&&e.prototype instanceof s?e:s,i=Object.create(n.prototype),a=new b(o||[]);return i._invoke=function(t,e,r){var o="suspendedStart";return function(n,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===n)throw i;return S()}for(r.method=n,r.arg=i;;){var a=r.delegate;if(a){var l=w(a,r);if(l){if(l===c)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===o)throw o="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o="executing";var s=u(t,e,r);if("normal"===s.type){if(o=r.done?"completed":"suspendedYield",s.arg===c)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(o="completed",r.method="throw",r.arg=s.arg)}}}(t,r,a),i}function u(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var c={};function s(){}function h(){}function d(){}var p={};p[n]=function(){return this};var f=Object.getPrototypeOf,g=f&&f(f(L([])));g&&g!==e&&r.call(g,n)&&(p=g);var m=d.prototype=s.prototype=Object.create(p);function y(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function v(t,e){var o;this._invoke=function(n,i){function a(){return new e((function(o,a){!function o(n,i,a,l){var c=u(t[n],t,i);if("throw"!==c.type){var s=c.arg,h=s.value;return h&&"object"==typeof h&&r.call(h,"__await")?e.resolve(h.__await).then((function(t){o("next",t,a,l)}),(function(t){o("throw",t,a,l)})):e.resolve(h).then((function(t){s.value=t,a(s)}),(function(t){return o("throw",t,a,l)}))}l(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}}function w(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return c;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var o=u(r,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,c;var n=o.arg;return n?n.done?(e[t.resultName]=n.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,c):n:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,c)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function b(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function L(t){if(t){var e=t[n];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function e(){for(;++o=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--o){var n=this.tryEntries[o];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),c}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var o=r.completion;if("throw"===o.type){var n=o.arg;x(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:L(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},t}(t.exports);try{regeneratorRuntime=o}catch(t){Function("r","regeneratorRuntime = r")(o)}},630:function(t,e,r){t.exports=r(631)},631:function(t,e,r){"use strict";r.r(e);var o=r(65),n=r.n(o);function i(t,e,r,o,n,i,a){try{var l=t[i](a),u=l.value}catch(t){return void r(t)}l.done?e(u):Promise.resolve(u).then(o,n)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(o,n){var a=t.apply(e,r);function l(t){i(a,o,n,l,u,"next",t)}function u(t){i(a,o,n,l,u,"throw",t)}l(void 0)}))}}window.ILABUploadToGoogleStorage=function(t,e,r,o){var i={action:"ilab_upload_prepare",filename:t.name,type:r};o.hasOwnProperty("uploadDirectory")&&(i.directory=o.uploadDirectory),console.log("Getting upload URL ..."),console.time("Getting upload URL"),jQuery.post(ajaxurl,i,(function(i){if("ready"===i.status){console.timeEnd("Getting upload URL"),o.set({state:"uploading"});var l=-1,u=Object.keys(i.sizes),c=[],s=i.key.split("."),h=s.length>2?s.slice(0,s.length-1).join("."):s[0],d=s.length>1?"."+s[s.length-1]:"";d=d.toLowerCase();var p=null,f=null,g=function(e,r){console.log("Initial storage POST ..."),console.time("Initial upload to storage"),jQuery.ajax({url:e,method:"POST",headers:{"x-goog-resumable":"start","Content-Type":t.type},success:function(e,n,i){console.timeEnd("Initial upload to storage");var a=i.getResponseHeader("location");console.log("Actual storage upload ..."),console.time("Upload to storage"),jQuery.ajax({url:a,method:"PUT",processData:!1,crossDomain:!0,data:r,contentType:t.type,xhr:function(){var e=jQuery.ajaxSettings.xhr();return e.upload.onprogress=function(e){if(-1===t.type.indexOf("image/")||1===u.length){var r=e.loaded/e.total*100;o.set({progress:r})}else{var n=100/u.length,i=n*l+e.loaded/e.total*n;o.set({progress:i})}}.bind(this),e},success:function(t){console.timeEnd("Upload to storage"),y()},error:function(t){console.timeEnd("Upload to storage"),o.uploadError()}})},error:function(t){window.hasOwnProperty("mediaCloudDirectUploadError")&&!1!==window.mediaCloudDirectUploadError||(window.mediaCloudDirectUploadError=!0,alert("There was an error uploading this item. The most likely cause is that you don't have CORS configured correctly on your bucket.")),console.timeEnd("Initial upload to storage"),o.uploadError()}})},m=function(t,e){console.log("Upload new key ...");var n={action:"ilab_upload_prepare_next",key:t,type:r};o.hasOwnProperty("uploadDirectory")&&(n.directory=o.uploadDirectory),console.log("Getting new upload URL ..."),console.time("Getting upload URL"),jQuery.post(ajaxurl,n,(function(t){console.timeEnd("Getting upload URL"),t.hasOwnProperty("url")?g(t.url,e):o.uploadError()}))},y=function r(){if(console.log("Upload next size ..."),++l>=u.length||-1===t.type.indexOf("image/")||1===u.length)o.uploadFinished(i.key,e,c);else{var s=u[l];if("full"!==s)if(mediaCloudDirectUploadSettings.generateThumbnails){var y=function(e){var n=i.sizes[s],a=e.bitmap.width,l=e.bitmap.height;if(n.width>a&&n.height>l)r();else{if(console.log("Resizing JPEG file ..."),console.time("Resize JPEG image"),n.crop)e.cover(n.width,n.height,Jimp.HORIZONTAL_ALIGN_CENTER|Jimp.VERTICAL_ALIGN_MIDDLE,Jimp.RESIZE_BEZIER);else{var u=o.sizeToFitSize(a,l,n.width,n.height);e.resize(u[0],u[1],Jimp.RESIZE_BEZIER)}var p=h+"-"+e.bitmap.width+"x"+e.bitmap.height+d;"image/jpeg"!==t.type&&"image/jpg"!==t.type||e.quality(mediaCloudDirectUploadSettings.imageQuality),console.timeEnd("Resize JPEG image"),console.time("Get JPEG buffer"),e.getBuffer(t.type,(function(r,n){if(console.timeEnd("Get JPEG buffer"),null!=r)o.uploadError();else{var i={size:s,key:p,mime:t.type,width:e.bitmap.width,height:e.bitmap.height};c.push(i);var a=new File([n],p,{type:t.type});m(p,a)}}))}},v=function(t){var e=i.sizes[s],n=t.width,a=t.height;if(e.width>n&&e.height>a)r();else if(e.crop){var l=o.sizeToFillSize(n,a,e.width,e.height),u=h+"-"+e.width+"x"+e.height+d,p=document.createElement("canvas");p.width=l[0],p.height=l[1];var f=p.getContext("2d",{alpha:!0});f.imageSmoothingEnabled=!0,f.imageSmoothingQuality="high",f.drawImage(t,0,0,l[0],l[1]);var g=document.createElement("canvas"),y=g.getContext("2d",{alpha:!0});g.width=e.width,g.height=e.height,y.drawImage(p,Math.floor(e.width/2-l[0]/2),Math.floor(e.height/2-l[1]/2)),g.toBlob((function(t){var r={size:s,key:u,mime:"image/png",width:e.width,height:e.height};c.push(r),m(u,t)}),"image/png")}else{var v=o.sizeToFitSize(n,a,e.width,e.height),w=h+"-"+v[0]+"x"+v[1]+d,E=document.createElement("canvas");E.width=v[0],E.height=v[1];var x=E.getContext("2d",{alpha:!0});x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="high",x.drawImage(t,0,0,v[0],v[1]),E.toBlob((function(t){var r={size:s,key:w,mime:"image/png",width:e.width,height:e.height};c.push(r),m(w,t)}),"image/png")}};if("image/png"===t.type)if(null==f){var w=new FileReader;w.onload=function(){(f=new Image).onload=function(){v(f)},f.src=w.result},w.readAsDataURL(t)}else v(f);else if(null==p){console.log("Reading JPEG file ...");var E=new FileReader;console.time("Read JPEG file"),E.onload=a(n.a.mark((function t(){var e;return n.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Jimp.read(E.result);case 2:p=t.sent,console.timeEnd("Read JPEG file"),(p.bitmap.width>2560||p.bitmap.height>2560)&&(console.log("Resizing huge image ..."),console.time("Resizing huge image"),e=o.sizeToFitSize(p.bitmap.width,p.bitmap.height,2560,2560),p.resize(e[0],e[1],Jimp.RESIZE_BEZIER),console.timeEnd("Resizing huge image")),y(p.clone());case 6:case"end":return t.stop()}}),t)}))),E.readAsArrayBuffer(t)}else y(p.clone())}else r();else g(i.url,t)}};-1===t.type.indexOf("image/")||1===u.length?g(i.url,t):y()}else o.uploadError()}))},"undefined"!=typeof DirectUploadItem&&(DirectUploadItem.prototype.uploadToStorage=ILABUploadToGoogleStorage),ilabMediaUploadItem.prototype.uploadToStorage=ILABUploadToGoogleStorage},65:function(t,e,r){t.exports=r(113)}}); \ No newline at end of file +!function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=630)}({113:function(e,t,r){var o=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",a=o.toStringTag||"@@toStringTag";function l(e,t,r,o){var n=t&&t.prototype instanceof s?t:s,i=Object.create(n.prototype),a=new b(o||[]);return i._invoke=function(e,t,r){var o="suspendedStart";return function(n,i){if("executing"===o)throw new Error("Generator is already running");if("completed"===o){if("throw"===n)throw i;return S()}for(r.method=n,r.arg=i;;){var a=r.delegate;if(a){var l=w(a,r);if(l){if(l===c)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===o)throw o="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);o="executing";var s=u(e,t,r);if("normal"===s.type){if(o=r.done?"completed":"suspendedYield",s.arg===c)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(o="completed",r.method="throw",r.arg=s.arg)}}}(e,r,a),i}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var c={};function s(){}function h(){}function d(){}var p={};p[n]=function(){return this};var f=Object.getPrototypeOf,g=f&&f(f(L([])));g&&g!==t&&r.call(g,n)&&(p=g);var m=d.prototype=s.prototype=Object.create(p);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function v(e,t){var o;this._invoke=function(n,i){function a(){return new t((function(o,a){!function o(n,i,a,l){var c=u(e[n],e,i);if("throw"!==c.type){var s=c.arg,h=s.value;return h&&"object"==typeof h&&r.call(h,"__await")?t.resolve(h.__await).then((function(e){o("next",e,a,l)}),(function(e){o("throw",e,a,l)})):t.resolve(h).then((function(e){s.value=e,a(s)}),(function(e){return o("throw",e,a,l)}))}l(c.arg)}(n,i,o,a)}))}return o=o?o.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var o=u(r,e.iterator,t.arg);if("throw"===o.type)return t.method="throw",t.arg=o.arg,t.delegate=null,c;var n=o.arg;return n?n.done?(t[e.resultName]=n.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,c):n:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function b(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function L(e){if(e){var t=e[n];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function t(){for(;++o=0;--n){var i=this.tryEntries[n],a=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--o){var n=this.tryEntries[o];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var o=r.completion;if("throw"===o.type){var n=o.arg;x(r)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},e}(e.exports);try{regeneratorRuntime=o}catch(e){Function("r","regeneratorRuntime = r")(o)}},630:function(e,t,r){e.exports=r(631)},631:function(e,t,r){"use strict";r.r(t);var o=r(65),n=r.n(o);function i(e,t,r,o,n,i,a){try{var l=e[i](a),u=l.value}catch(e){return void r(e)}l.done?t(u):Promise.resolve(u).then(o,n)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(o,n){var a=e.apply(t,r);function l(e){i(a,o,n,l,u,"next",e)}function u(e){i(a,o,n,l,u,"throw",e)}l(void 0)}))}}window.ILABUploadToGoogleStorage=function(e,t,r,o){var i={action:"ilab_upload_prepare",filename:e.name,type:r};o.hasOwnProperty("uploadDirectory")&&(i.directory=o.uploadDirectory),console.log("Getting upload URL ..."),console.time("Getting upload URL"),jQuery.post(ajaxurl,i,(function(i){if("ready"===i.status){console.timeEnd("Getting upload URL"),o.set({state:"uploading"});var l=-1,u=Object.keys(i.sizes),c=[],s=i.key.split("."),h=s.length>2?s.slice(0,s.length-1).join("."):s[0],d=s.length>1?"."+s[s.length-1]:"";d=d.toLowerCase();var p=null,f=null,g=function(t,r){console.log("Initial storage POST ..."),console.time("Initial upload to storage"),jQuery.ajax({url:t,method:"POST",headers:{"x-goog-resumable":"start","Content-Type":e.type},success:function(t,n,i){console.timeEnd("Initial upload to storage");var a=i.getResponseHeader("location");console.log("Actual storage upload ..."),console.time("Upload to storage"),jQuery.ajax({url:a,method:"PUT",processData:!1,crossDomain:!0,data:r,contentType:e.type,xhr:function(){var t=jQuery.ajaxSettings.xhr();return t.upload.onprogress=function(t){if(-1===e.type.indexOf("image/")||1===u.length){var r=t.loaded/t.total*100;o.set({progress:r})}else{var n=100/u.length,i=n*l+t.loaded/t.total*n;o.set({progress:i})}}.bind(this),t},success:function(e){console.timeEnd("Upload to storage"),y()},error:function(e){console.timeEnd("Upload to storage"),o.uploadError()}})},error:function(e){window.hasOwnProperty("mediaCloudDirectUploadError")&&!1!==window.mediaCloudDirectUploadError||(window.mediaCloudDirectUploadError=!0,alert("There was an error uploading this item. The most likely cause is that you don't have CORS configured correctly on your bucket.")),console.timeEnd("Initial upload to storage"),o.uploadError()}})},m=function(e,t){console.log("Upload new key ...");var n={action:"ilab_upload_prepare_next",key:e,type:r};o.hasOwnProperty("uploadDirectory")&&(n.directory=o.uploadDirectory),console.log("Getting new upload URL ..."),console.time("Getting upload URL"),jQuery.post(ajaxurl,n,(function(e){console.timeEnd("Getting upload URL"),e.hasOwnProperty("url")?g(e.url,t):o.uploadError()}))},y=function r(){if(console.log("Upload next size ..."),++l>=u.length||-1===e.type.indexOf("image/")||1===u.length)o.uploadFinished(i.key,t,c);else{var s=u[l];if("full"!==s)if(mediaCloudDirectUploadSettings.generateThumbnails){var y=function(t){var n=i.sizes[s],a=t.bitmap.width,l=t.bitmap.height;if(n.width>a&&n.height>l)r();else{if(console.log("Resizing JPEG file ..."),console.time("Resize JPEG image"),n.crop)t.cover(n.width,n.height,Jimp.HORIZONTAL_ALIGN_CENTER|Jimp.VERTICAL_ALIGN_MIDDLE,Jimp.RESIZE_BEZIER);else{var u=o.sizeToFitSize(a,l,n.width,n.height);t.resize(u[0],u[1],Jimp.RESIZE_BEZIER)}var p=h+"-"+t.bitmap.width+"x"+t.bitmap.height+d;"image/jpeg"!==e.type&&"image/jpg"!==e.type||t.quality(mediaCloudDirectUploadSettings.imageQuality),console.timeEnd("Resize JPEG image"),console.time("Get JPEG buffer"),t.getBuffer(e.type,(function(r,n){if(console.timeEnd("Get JPEG buffer"),null!=r)o.uploadError();else{var i={size:s,key:p,mime:e.type,width:t.bitmap.width,height:t.bitmap.height};c.push(i);var a=new File([n],p,{type:e.type});m(p,a)}}))}},v=function(e){var t=i.sizes[s],n=e.width,a=e.height;if(t.width>n&&t.height>a)r();else if(t.crop){var l=o.sizeToFillSize(n,a,t.width,t.height),u=h+"-"+t.width+"x"+t.height+d,p=document.createElement("canvas");p.width=l[0],p.height=l[1];var f=p.getContext("2d",{alpha:!0});f.imageSmoothingEnabled=!0,f.imageSmoothingQuality="high",f.drawImage(e,0,0,l[0],l[1]);var g=document.createElement("canvas"),y=g.getContext("2d",{alpha:!0});g.width=t.width,g.height=t.height,y.drawImage(p,Math.floor(t.width/2-l[0]/2),Math.floor(t.height/2-l[1]/2)),g.toBlob((function(e){var r={size:s,key:u,mime:"image/png",width:t.width,height:t.height};c.push(r),m(u,e)}),"image/png")}else{var v=o.sizeToFitSize(n,a,t.width,t.height),w=h+"-"+v[0]+"x"+v[1]+d,E=document.createElement("canvas");E.width=v[0],E.height=v[1];var x=E.getContext("2d",{alpha:!0});x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="high",x.drawImage(e,0,0,v[0],v[1]),E.toBlob((function(e){var r={size:s,key:w,mime:"image/png",width:t.width,height:t.height};c.push(r),m(w,e)}),"image/png")}};if("image/png"===e.type)if(null==f){var w=new FileReader;w.onload=function(){(f=new Image).onload=function(){v(f)},f.src=w.result},w.readAsDataURL(e)}else v(f);else if(null==p){console.log("Reading JPEG file ...");var E=new FileReader;console.time("Read JPEG file"),E.onload=a(n.a.mark((function e(){var t,r;return n.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Jimp.decoders["image/jpeg"],Jimp.decoders["image/jpeg"]=function(e){return t(e,{maxMemoryUsageInMB:2048})},e.prev=2,e.next=5,Jimp.read(E.result);case 5:p=e.sent,console.timeEnd("Read JPEG file"),(p.bitmap.width>2560||p.bitmap.height>2560)&&(console.log("Resizing huge image ..."),console.time("Resizing huge image"),r=o.sizeToFitSize(p.bitmap.width,p.bitmap.height,2560,2560),p.resize(r[0],r[1],Jimp.RESIZE_BEZIER),console.timeEnd("Resizing huge image")),y(p.clone()),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(2),alert("Insufficient memory to process image. Please resize before uploading again."),o.uploadError();case 15:case"end":return e.stop()}}),e,null,[[2,11]])}))),E.readAsArrayBuffer(e)}else y(p.clone())}else r();else g(i.url,e)}};-1===e.type.indexOf("image/")||1===u.length?g(i.url,e):y()}else o.uploadError()}))},"undefined"!=typeof DirectUploadItem&&(DirectUploadItem.prototype.uploadToStorage=ILABUploadToGoogleStorage),ilabMediaUploadItem.prototype.uploadToStorage=ILABUploadToGoogleStorage},65:function(e,t,r){e.exports=r(113)}}); \ No newline at end of file diff --git a/public/js/ilab-media-direct-upload-other-s3.js b/public/js/ilab-media-direct-upload-other-s3.js index eb9bd0bb..c0330405 100755 --- a/public/js/ilab-media-direct-upload-other-s3.js +++ b/public/js/ilab-media-direct-upload-other-s3.js @@ -1 +1 @@ -!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/",r(r.s=632)}({113:function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function u(t,e,r,n){var o=e&&e.prototype instanceof h?e:h,i=Object.create(o.prototype),a=new x(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return S()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=w(a,r);if(u){if(u===c)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var h=l(t,e,r);if("normal"===h.type){if(n=r.done?"completed":"suspendedYield",h.arg===c)continue;return{value:h.arg,done:r.done}}"throw"===h.type&&(n="completed",r.method="throw",r.arg=h.arg)}}}(t,r,a),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var c={};function h(){}function s(){}function f(){}var d={};d[o]=function(){return this};var p=Object.getPrototypeOf,g=p&&p(p(L([])));g&&g!==e&&r.call(g,o)&&(d=g);var y=f.prototype=h.prototype=Object.create(d);function m(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function v(t,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,u){var c=l(t[o],t,i);if("throw"!==c.type){var h=c.arg,s=h.value;return s&&"object"==typeof s&&r.call(s,"__await")?e.resolve(s.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):e.resolve(s).then((function(t){h.value=t,a(h)}),(function(t){return n("throw",t,a,u)}))}u(c.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return c;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var n=l(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,c;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,c):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,c)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function b(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function L(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),l=r.call(i,"finallyLoc");if(u&&l){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),b(r),c}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;b(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:L(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),c}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},632:function(t,e,r){t.exports=r(633)},633:function(t,e,r){"use strict";r.r(e);var n=r(65),o=r.n(n);function i(t,e,r,n,o,i,a){try{var u=t[i](a),l=u.value}catch(t){return void r(t)}u.done?e(l):Promise.resolve(l).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function u(t){i(a,n,o,u,l,"next",t)}function l(t){i(a,n,o,u,l,"throw",t)}u(void 0)}))}}window.ILABUploadToOtherS3Storage=function(t,e,r,n){var i={action:"ilab_upload_prepare",filename:t.name,type:r};n.hasOwnProperty("uploadDirectory")&&(i.directory=n.uploadDirectory),console.time("Getting upload URL"),jQuery.post(ajaxurl,i,function(i){if("ready"===i.status){console.timeEnd("Getting upload URL"),n.set({state:"uploading"});var u=-1,l=Object.keys(i.sizes),c=[],h=i.key.split("."),s=h.length>2?h.slice(0,h.length-1).join("."):h[0],f=h.length>1?"."+h[h.length-1]:"";f=f.toLowerCase();var d=null,p=null,g=function(t,e){console.time("Upload to storage");var r=new XMLHttpRequest;r.open("PUT",t,!0),r.upload.onprogress=function(t){var e=100/l.length,r=e*u+t.loaded/t.total*e;n.set({progress:r})},r.onload=function(){console.timeEnd("Upload to storage"),m()},r.onerror=function(){window.hasOwnProperty("mediaCloudDirectUploadError")&&!1!==window.mediaCloudDirectUploadError||(window.mediaCloudDirectUploadError=!0,alert("There was an error uploading this item. The most likely cause is that you don't have CORS configured correctly on your bucket.")),console.timeEnd("Upload to storage"),n.uploadError()},r.send(e)},y=function(t,e){var o={action:"ilab_upload_prepare_next",key:t,type:r};n.hasOwnProperty("uploadDirectory")&&(o.directory=n.uploadDirectory),console.time("Getting upload URL"),jQuery.post(ajaxurl,o,(function(t){console.timeEnd("Getting upload URL"),t.hasOwnProperty("url")?g(t.url,e):n.uploadError()}))},m=function r(){if(++u>=l.length||-1===t.type.indexOf("image/")||1===l.length)n.uploadFinished(i.key,e,c);else{var h=l[u];if("full"!==h)if(mediaCloudDirectUploadSettings.generateThumbnails){var m=function(e){console.time("Resize JPEG image");var o=i.sizes[h],a=e.bitmap.width,u=e.bitmap.height;if(o.width>a&&o.height>u)r();else{if(o.crop)e.cover(o.width,o.height,Jimp.HORIZONTAL_ALIGN_CENTER|Jimp.VERTICAL_ALIGN_MIDDLE,Jimp.RESIZE_BEZIER);else{var l=n.sizeToFitSize(a,u,o.width,o.height);e.resize(l[0],l[1],Jimp.RESIZE_BEZIER)}var d=s+"-"+e.bitmap.width+"x"+e.bitmap.height+f;"image/jpeg"!==t.type&&"image/jpg"!==t.type||e.quality(mediaCloudDirectUploadSettings.imageQuality),console.timeEnd("Resize JPEG image"),console.time("Get JPEG buffer"),e.getBuffer(t.type,(function(r,o){if(console.timeEnd("Get JPEG buffer"),null!=r)n.uploadError();else{var i={size:h,key:d,mime:t.type,width:e.bitmap.width,height:e.bitmap.height};c.push(i);var a=new File([o],d,{type:t.type});y(d,a)}}))}},v=function(t){var e=i.sizes[h],o=t.width,a=t.height;if(e.width>o&&e.height>a)r();else if(e.crop){var u=n.sizeToFillSize(o,a,e.width,e.height),l=s+"-"+e.width+"x"+e.height+f,d=document.createElement("canvas");d.width=u[0],d.height=u[1];var p=d.getContext("2d",{alpha:!0});p.imageSmoothingEnabled=!0,p.imageSmoothingQuality="high",p.drawImage(t,0,0,u[0],u[1]);var g=document.createElement("canvas"),m=g.getContext("2d",{alpha:!0});g.width=e.width,g.height=e.height,m.drawImage(d,Math.floor(e.width/2-u[0]/2),Math.floor(e.height/2-u[1]/2)),g.toBlob((function(t){var r={size:h,key:l,mime:"image/png",width:e.width,height:e.height};c.push(r),y(l,t)}),"image/png")}else{var v=n.sizeToFitSize(o,a,e.width,e.height),w=s+"-"+v[0]+"x"+v[1]+f,E=document.createElement("canvas");E.width=v[0],E.height=v[1];var b=E.getContext("2d",{alpha:!0});b.imageSmoothingEnabled=!0,b.imageSmoothingQuality="high",b.drawImage(t,0,0,v[0],v[1]),E.toBlob((function(t){var r={size:h,key:w,mime:"image/png",width:e.width,height:e.height};c.push(r),y(w,t)}),"image/png")}};if("image/png"===t.type)if(null==p){var w=new FileReader;w.onload=function(){(p=new Image).onload=function(){v(p)},p.src=w.result},w.readAsDataURL(t)}else v(p);else if(null==d){var E=new FileReader;E.onload=a(o.a.mark((function t(){return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Jimp.read(E.result);case 2:d=t.sent,m(d.clone());case 4:case"end":return t.stop()}}),t)}))),E.readAsArrayBuffer(t)}else m(d.clone())}else r();else g(i.url,t)}};-1===t.type.indexOf("image/")||1===l.length?g(i.url,t):m()}else n.uploadError()}.bind(this))},"undefined"!=typeof DirectUploadItem&&(DirectUploadItem.prototype.uploadToStorage=ILABUploadToOtherS3Storage),ilabMediaUploadItem.prototype.uploadToStorage=ILABUploadToOtherS3Storage},65:function(t,e,r){t.exports=r(113)}}); \ No newline at end of file +!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/",r(r.s=632)}({113:function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function u(t,e,r,n){var o=e&&e.prototype instanceof h?e:h,i=Object.create(o.prototype),a=new x(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return S()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=w(a,r);if(u){if(u===l)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var h=c(t,e,r);if("normal"===h.type){if(n=r.done?"completed":"suspendedYield",h.arg===l)continue;return{value:h.arg,done:r.done}}"throw"===h.type&&(n="completed",r.method="throw",r.arg=h.arg)}}}(t,r,a),i}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var l={};function h(){}function s(){}function p(){}var f={};f[o]=function(){return this};var d=Object.getPrototypeOf,g=d&&d(d(L([])));g&&g!==e&&r.call(g,o)&&(f=g);var m=p.prototype=h.prototype=Object.create(f);function y(t){["next","throw","return"].forEach((function(e){t[e]=function(t){return this._invoke(e,t)}}))}function v(t,e){var n;this._invoke=function(o,i){function a(){return new e((function(n,a){!function n(o,i,a,u){var l=c(t[o],t,i);if("throw"!==l.type){var h=l.arg,s=h.value;return s&&"object"==typeof s&&r.call(s,"__await")?e.resolve(s.__await).then((function(t){n("next",t,a,u)}),(function(t){n("throw",t,a,u)})):e.resolve(s).then((function(t){h.value=t,a(h)}),(function(t){return n("throw",t,a,u)}))}u(l.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,l;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function b(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function x(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function L(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),b(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;b(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:L(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},632:function(t,e,r){t.exports=r(633)},633:function(t,e,r){"use strict";r.r(e);var n=r(65),o=r.n(n);function i(t,e,r,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,o)}function a(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var a=t.apply(e,r);function u(t){i(a,n,o,u,c,"next",t)}function c(t){i(a,n,o,u,c,"throw",t)}u(void 0)}))}}window.ILABUploadToOtherS3Storage=function(t,e,r,n){var i={action:"ilab_upload_prepare",filename:t.name,type:r};n.hasOwnProperty("uploadDirectory")&&(i.directory=n.uploadDirectory),console.time("Getting upload URL"),jQuery.post(ajaxurl,i,function(i){if("ready"===i.status){console.timeEnd("Getting upload URL"),n.set({state:"uploading"});var u=-1,c=Object.keys(i.sizes),l=[],h=i.key.split("."),s=h.length>2?h.slice(0,h.length-1).join("."):h[0],p=h.length>1?"."+h[h.length-1]:"";p=p.toLowerCase();var f=null,d=null,g=function(t,e){console.time("Upload to storage");var r=new XMLHttpRequest;r.open("PUT",t,!0),r.upload.onprogress=function(t){var e=100/c.length,r=e*u+t.loaded/t.total*e;n.set({progress:r})},r.onload=function(){console.timeEnd("Upload to storage"),y()},r.onerror=function(){window.hasOwnProperty("mediaCloudDirectUploadError")&&!1!==window.mediaCloudDirectUploadError||(window.mediaCloudDirectUploadError=!0,alert("There was an error uploading this item. The most likely cause is that you don't have CORS configured correctly on your bucket.")),console.timeEnd("Upload to storage"),n.uploadError()},r.send(e)},m=function(t,e){var o={action:"ilab_upload_prepare_next",key:t,type:r};n.hasOwnProperty("uploadDirectory")&&(o.directory=n.uploadDirectory),console.time("Getting upload URL"),jQuery.post(ajaxurl,o,(function(t){console.timeEnd("Getting upload URL"),t.hasOwnProperty("url")?g(t.url,e):n.uploadError()}))},y=function r(){if(++u>=c.length||-1===t.type.indexOf("image/")||1===c.length)n.uploadFinished(i.key,e,l);else{var h=c[u];if("full"!==h)if(mediaCloudDirectUploadSettings.generateThumbnails){var y=function(e){console.time("Resize JPEG image");var o=i.sizes[h],a=e.bitmap.width,u=e.bitmap.height;if(o.width>a&&o.height>u)r();else{if(o.crop)e.cover(o.width,o.height,Jimp.HORIZONTAL_ALIGN_CENTER|Jimp.VERTICAL_ALIGN_MIDDLE,Jimp.RESIZE_BEZIER);else{var c=n.sizeToFitSize(a,u,o.width,o.height);e.resize(c[0],c[1],Jimp.RESIZE_BEZIER)}var f=s+"-"+e.bitmap.width+"x"+e.bitmap.height+p;"image/jpeg"!==t.type&&"image/jpg"!==t.type||e.quality(mediaCloudDirectUploadSettings.imageQuality),console.timeEnd("Resize JPEG image"),console.time("Get JPEG buffer"),e.getBuffer(t.type,(function(r,o){if(console.timeEnd("Get JPEG buffer"),null!=r)n.uploadError();else{var i={size:h,key:f,mime:t.type,width:e.bitmap.width,height:e.bitmap.height};l.push(i);var a=new File([o],f,{type:t.type});m(f,a)}}))}},v=function(t){var e=i.sizes[h],o=t.width,a=t.height;if(e.width>o&&e.height>a)r();else if(e.crop){var u=n.sizeToFillSize(o,a,e.width,e.height),c=s+"-"+e.width+"x"+e.height+p,f=document.createElement("canvas");f.width=u[0],f.height=u[1];var d=f.getContext("2d",{alpha:!0});d.imageSmoothingEnabled=!0,d.imageSmoothingQuality="high",d.drawImage(t,0,0,u[0],u[1]);var g=document.createElement("canvas"),y=g.getContext("2d",{alpha:!0});g.width=e.width,g.height=e.height,y.drawImage(f,Math.floor(e.width/2-u[0]/2),Math.floor(e.height/2-u[1]/2)),g.toBlob((function(t){var r={size:h,key:c,mime:"image/png",width:e.width,height:e.height};l.push(r),m(c,t)}),"image/png")}else{var v=n.sizeToFitSize(o,a,e.width,e.height),w=s+"-"+v[0]+"x"+v[1]+p,E=document.createElement("canvas");E.width=v[0],E.height=v[1];var b=E.getContext("2d",{alpha:!0});b.imageSmoothingEnabled=!0,b.imageSmoothingQuality="high",b.drawImage(t,0,0,v[0],v[1]),E.toBlob((function(t){var r={size:h,key:w,mime:"image/png",width:e.width,height:e.height};l.push(r),m(w,t)}),"image/png")}};if("image/png"===t.type)if(null==d){var w=new FileReader;w.onload=function(){(d=new Image).onload=function(){v(d)},d.src=w.result},w.readAsDataURL(t)}else v(d);else if(null==f){var E=new FileReader;E.onload=a(o.a.mark((function t(){var e;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=Jimp.decoders["image/jpeg"],Jimp.decoders["image/jpeg"]=function(t){return e(t,{maxMemoryUsageInMB:2048})},t.prev=2,t.next=5,Jimp.read(E.result);case 5:f=t.sent,y(f.clone()),t.next=13;break;case 9:t.prev=9,t.t0=t.catch(2),alert("Insufficient memory to process image. Please resize before uploading again."),n.uploadError();case 13:case"end":return t.stop()}}),t,null,[[2,9]])}))),E.readAsArrayBuffer(t)}else y(f.clone())}else r();else g(i.url,t)}};-1===t.type.indexOf("image/")||1===c.length?g(i.url,t):y()}else n.uploadError()}.bind(this))},"undefined"!=typeof DirectUploadItem&&(DirectUploadItem.prototype.uploadToStorage=ILABUploadToOtherS3Storage),ilabMediaUploadItem.prototype.uploadToStorage=ILABUploadToOtherS3Storage},65:function(t,e,r){t.exports=r(113)}}); \ No newline at end of file diff --git a/public/js/ilab-media-direct-upload-s3.js b/public/js/ilab-media-direct-upload-s3.js index f4269b45..03a620de 100755 --- a/public/js/ilab-media-direct-upload-s3.js +++ b/public/js/ilab-media-direct-upload-s3.js @@ -1 +1 @@ -!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=628)}({113:function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function l(e,t,r,n){var o=t&&t.prototype instanceof h?t:h,i=Object.create(o.prototype),a=new b(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return S()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var l=w(a,r);if(l){if(l===u)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var h=c(e,t,r);if("normal"===h.type){if(n=r.done?"completed":"suspendedYield",h.arg===u)continue;return{value:h.arg,done:r.done}}"throw"===h.type&&(n="completed",r.method="throw",r.arg=h.arg)}}}(e,r,a),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function h(){}function s(){}function p(){}var d={};d[o]=function(){return this};var f=Object.getPrototypeOf,g=f&&f(f(L([])));g&&g!==t&&r.call(g,o)&&(d=g);var m=p.prototype=h.prototype=Object.create(d);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function v(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function n(o,i,a,l){var u=c(e[o],e,i);if("throw"!==u.type){var h=u.arg,s=h.value;return s&&"object"==typeof s&&r.call(s,"__await")?t.resolve(s.__await).then((function(e){n("next",e,a,l)}),(function(e){n("throw",e,a,l)})):t.resolve(s).then((function(e){h.value=e,a(h)}),(function(e){return n("throw",e,a,l)}))}l(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function b(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function L(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},628:function(e,t,r){e.exports=r(629)},629:function(e,t,r){"use strict";r.r(t);var n=r(65),o=r.n(n);function i(e,t,r,n,o,i,a){try{var l=e[i](a),c=l.value}catch(e){return void r(e)}l.done?t(c):Promise.resolve(c).then(n,o)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function l(e){i(a,n,o,l,c,"next",e)}function c(e){i(a,n,o,l,c,"throw",e)}l(void 0)}))}}window.ILABUploadToS3Storage=function(e,t,r,n){var i={action:"ilab_upload_prepare",filename:e.name,type:r};n.hasOwnProperty("uploadDirectory")&&(i.directory=n.uploadDirectory),console.log("Getting upload URL ..."),console.time("Getting upload URL"),jQuery.post(ajaxurl,i,(function(i){if("ready"==i.status){console.timeEnd("Getting upload URL"),n.set({state:"uploading"});var l=-1,c=Object.keys(i.sizes),u=[],h=i.key.split("."),s=h.length>2?h.slice(0,h.length-1).join("."):h[0],p=h.length>1?"."+h[h.length-1]:"";p=p.toLowerCase();var d=function(t,o){console.log("Upload "+t);var a=new FormData;_.each(Object.keys(i.formData),(function(e){"key"!==e&&a.append(e,i.formData[e])})),null!=i.cacheControl&&i.cacheControl.length>0&&a.append("Cache-Control",i.cacheControl),null!=i.expires&&a.append("Expires",i.expires),a.append("Content-Type",r),a.append("acl",i.acl),a.append("key",t),a.append("file",o),console.time("Upload "+t),jQuery.ajax({url:i.url,method:"POST",contentType:!1,processData:!1,data:a,xhr:function(){var t=jQuery.ajaxSettings.xhr();return t.upload.onprogress=function(t){if(-1===e.type.indexOf("image/")||1===c.length){var r=t.loaded/t.total*100;n.set({progress:r})}else{var o=100/c.length,i=o*l+t.loaded/t.total*o;n.set({progress:i})}}.bind(this),t},success:function(){console.timeEnd("Upload "+t),m()},error:function(e){console.timeEnd("Upload "+t),window.hasOwnProperty("mediaCloudDirectUploadError")&&!1!==window.mediaCloudDirectUploadError||(window.mediaCloudDirectUploadError=!0,alert("There was an error uploading this item. The most likely cause is that you don't have CORS configured correctly on your bucket.")),n.uploadError()}})},f=null,g=null,m=function r(){if(console.log("Upload next size ..."),++l>=c.length||-1===e.type.indexOf("image/")||1===c.length)return console.log("finish upload"),void n.uploadFinished(i.key,t,u);var h=c[l];if("full"!==h)if(mediaCloudDirectUploadSettings.generateThumbnails){var m=function(t){var o=i.sizes[h],a=t.bitmap.width,l=t.bitmap.height;if(o.width>a&&o.height>l)r();else{if(console.log("Resizing JPEG file ..."),console.time("Resize JPEG image"),o.crop)t.cover(o.width,o.height,Jimp.HORIZONTAL_ALIGN_CENTER|Jimp.VERTICAL_ALIGN_MIDDLE,Jimp.RESIZE_BEZIER);else{var c=n.sizeToFitSize(a,l,o.width,o.height);t.resize(c[0],c[1],Jimp.RESIZE_BEZIER)}var f=s+"-"+t.bitmap.width+"x"+t.bitmap.height+p;"image/jpeg"!==e.type&&"image/jpg"!==e.type||t.quality(mediaCloudDirectUploadSettings.imageQuality),console.timeEnd("Resize JPEG image"),console.time("Get JPEG buffer"),t.getBuffer(e.type,(function(r,o){if(console.timeEnd("Get JPEG buffer"),null!=r)n.uploadError();else{var i={size:h,key:f,mime:e.type,width:t.bitmap.width,height:t.bitmap.height};u.push(i);var a=new File([o],f,{type:e.type});d(f,a)}}))}},y=function(e){var t=i.sizes[h],o=e.width,a=e.height;if(t.width>o&&t.height>a)r();else if(t.crop){var l=n.sizeToFillSize(o,a,t.width,t.height),c=s+"-"+t.width+"x"+t.height+p,f=document.createElement("canvas");f.width=l[0],f.height=l[1];var g=f.getContext("2d",{alpha:!0});g.imageSmoothingEnabled=!0,g.imageSmoothingQuality="high",g.drawImage(e,0,0,l[0],l[1]);var m=document.createElement("canvas"),y=m.getContext("2d",{alpha:!0});m.width=t.width,m.height=t.height,y.drawImage(f,Math.floor(t.width/2-l[0]/2),Math.floor(t.height/2-l[1]/2)),m.toBlob((function(e){var r={size:h,key:c,mime:"image/png",width:t.width,height:t.height};u.push(r),d(c,e)}),"image/png")}else{var v=n.sizeToFitSize(o,a,t.width,t.height),w=s+"-"+v[0]+"x"+v[1]+p,E=document.createElement("canvas");E.width=v[0],E.height=v[1];var x=E.getContext("2d",{alpha:!0});x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="high",x.drawImage(e,0,0,v[0],v[1]),E.toBlob((function(e){var r={size:h,key:w,mime:"image/png",width:t.width,height:t.height};u.push(r),d(w,e)}),"image/png")}};if("image/png"===e.type)if(null==g){var v=new FileReader;v.onload=function(){(g=new Image).onload=function(){y(g)},g.src=v.result},v.readAsDataURL(e)}else y(g);else if(null==f){console.log("Reading JPEG file ...");var w=new FileReader;console.time("Read JPEG file"),w.onload=a(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Jimp.read(w.result);case 2:f=e.sent,console.timeEnd("Read JPEG file"),(f.bitmap.width>2560||f.bitmap.height>2560)&&(console.log("Resizing huge image ..."),console.time("Resizing huge image"),t=n.sizeToFitSize(f.bitmap.width,f.bitmap.height,2560,2560),f.resize(t[0],t[1],Jimp.RESIZE_BEZIER),console.timeEnd("Resizing huge image")),m(f.clone());case 6:case"end":return e.stop()}}),e)}))),w.readAsArrayBuffer(e)}else m(f.clone())}else r();else d(i.key,e)};-1===e.type.indexOf("image/")||1===c.length?d(i.key,e):m()}else n.uploadError()}))},"undefined"!=typeof DirectUploadItem&&(DirectUploadItem.prototype.uploadToStorage=ILABUploadToS3Storage),ilabMediaUploadItem.prototype.uploadToStorage=ILABUploadToS3Storage},65:function(e,t,r){e.exports=r(113)}}); \ No newline at end of file +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="/",r(r.s=628)}({113:function(e,t,r){var n=function(e){"use strict";var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function l(e,t,r,n){var o=t&&t.prototype instanceof s?t:s,i=Object.create(o.prototype),a=new b(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return S()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var l=w(a,r);if(l){if(l===u)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=c(e,t,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===u)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(e,r,a),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=l;var u={};function s(){}function h(){}function p(){}var d={};d[o]=function(){return this};var f=Object.getPrototypeOf,g=f&&f(f(L([])));g&&g!==t&&r.call(g,o)&&(d=g);var m=p.prototype=s.prototype=Object.create(d);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function v(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function n(o,i,a,l){var u=c(e[o],e,i);if("throw"!==u.type){var s=u.arg,h=s.value;return h&&"object"==typeof h&&r.call(h,"__await")?t.resolve(h.__await).then((function(e){n("next",e,a,l)}),(function(e){n("throw",e,a,l)})):t.resolve(h).then((function(e){s.value=e,a(s)}),(function(e){return n("throw",e,a,l)}))}l(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return u;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,u;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,u):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,u)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function b(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function L(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},628:function(e,t,r){e.exports=r(629)},629:function(e,t,r){"use strict";r.r(t);var n=r(65),o=r.n(n);function i(e,t,r,n,o,i,a){try{var l=e[i](a),c=l.value}catch(e){return void r(e)}l.done?t(c):Promise.resolve(c).then(n,o)}function a(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function l(e){i(a,n,o,l,c,"next",e)}function c(e){i(a,n,o,l,c,"throw",e)}l(void 0)}))}}window.ILABUploadToS3Storage=function(e,t,r,n){var i={action:"ilab_upload_prepare",filename:e.name,type:r};n.hasOwnProperty("uploadDirectory")&&(i.directory=n.uploadDirectory),console.log("Getting upload URL ..."),console.time("Getting upload URL"),jQuery.post(ajaxurl,i,(function(i){if("ready"==i.status){console.timeEnd("Getting upload URL"),n.set({state:"uploading"});var l=-1,c=Object.keys(i.sizes),u=[],s=i.key.split("."),h=s.length>2?s.slice(0,s.length-1).join("."):s[0],p=s.length>1?"."+s[s.length-1]:"";p=p.toLowerCase();var d=function(t,o){console.log("Upload "+t);var a=new FormData;_.each(Object.keys(i.formData),(function(e){"key"!==e&&a.append(e,i.formData[e])})),null!=i.cacheControl&&i.cacheControl.length>0&&a.append("Cache-Control",i.cacheControl),null!=i.expires&&a.append("Expires",i.expires),a.append("Content-Type",r),a.append("acl",i.acl),a.append("key",t),a.append("file",o),console.time("Upload "+t),jQuery.ajax({url:i.url,method:"POST",contentType:!1,processData:!1,data:a,xhr:function(){var t=jQuery.ajaxSettings.xhr();return t.upload.onprogress=function(t){if(-1===e.type.indexOf("image/")||1===c.length){var r=t.loaded/t.total*100;n.set({progress:r})}else{var o=100/c.length,i=o*l+t.loaded/t.total*o;n.set({progress:i})}}.bind(this),t},success:function(){console.timeEnd("Upload "+t),m()},error:function(e){console.timeEnd("Upload "+t),window.hasOwnProperty("mediaCloudDirectUploadError")&&!1!==window.mediaCloudDirectUploadError||(window.mediaCloudDirectUploadError=!0,alert("There was an error uploading this item. The most likely cause is that you don't have CORS configured correctly on your bucket.")),n.uploadError()}})},f=null,g=null,m=function r(){if(console.log("Upload next size ..."),++l>=c.length||-1===e.type.indexOf("image/")||1===c.length)return console.log("finish upload"),void n.uploadFinished(i.key,t,u);var s=c[l];if("full"!==s)if(mediaCloudDirectUploadSettings.generateThumbnails){var m=function(t){var o=i.sizes[s],a=t.bitmap.width,l=t.bitmap.height;if(o.width>a&&o.height>l)r();else{if(console.log("Resizing JPEG file ..."),console.time("Resize JPEG image"),o.crop)t.cover(o.width,o.height,Jimp.HORIZONTAL_ALIGN_CENTER|Jimp.VERTICAL_ALIGN_MIDDLE,Jimp.RESIZE_BEZIER);else{var c=n.sizeToFitSize(a,l,o.width,o.height);t.resize(c[0],c[1],Jimp.RESIZE_BEZIER)}var f=h+"-"+t.bitmap.width+"x"+t.bitmap.height+p;"image/jpeg"!==e.type&&"image/jpg"!==e.type||t.quality(mediaCloudDirectUploadSettings.imageQuality),console.timeEnd("Resize JPEG image"),console.time("Get JPEG buffer"),t.getBuffer(e.type,(function(r,o){if(console.timeEnd("Get JPEG buffer"),null!=r)n.uploadError();else{var i={size:s,key:f,mime:e.type,width:t.bitmap.width,height:t.bitmap.height};u.push(i);var a=new File([o],f,{type:e.type});d(f,a)}}))}},y=function(e){var t=i.sizes[s],o=e.width,a=e.height;if(t.width>o&&t.height>a)r();else if(t.crop){var l=n.sizeToFillSize(o,a,t.width,t.height),c=h+"-"+t.width+"x"+t.height+p,f=document.createElement("canvas");f.width=l[0],f.height=l[1];var g=f.getContext("2d",{alpha:!0});g.imageSmoothingEnabled=!0,g.imageSmoothingQuality="high",g.drawImage(e,0,0,l[0],l[1]);var m=document.createElement("canvas"),y=m.getContext("2d",{alpha:!0});m.width=t.width,m.height=t.height,y.drawImage(f,Math.floor(t.width/2-l[0]/2),Math.floor(t.height/2-l[1]/2)),m.toBlob((function(e){var r={size:s,key:c,mime:"image/png",width:t.width,height:t.height};u.push(r),d(c,e)}),"image/png")}else{var v=n.sizeToFitSize(o,a,t.width,t.height),w=h+"-"+v[0]+"x"+v[1]+p,E=document.createElement("canvas");E.width=v[0],E.height=v[1];var x=E.getContext("2d",{alpha:!0});x.imageSmoothingEnabled=!0,x.imageSmoothingQuality="high",x.drawImage(e,0,0,v[0],v[1]),E.toBlob((function(e){var r={size:s,key:w,mime:"image/png",width:t.width,height:t.height};u.push(r),d(w,e)}),"image/png")}};if("image/png"===e.type)if(null==g){var v=new FileReader;v.onload=function(){(g=new Image).onload=function(){y(g)},g.src=v.result},v.readAsDataURL(e)}else y(g);else if(null==f){console.log("Reading JPEG file ...");var w=new FileReader;console.time("Read JPEG file"),w.onload=a(o.a.mark((function e(){var t,r;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Jimp.decoders["image/jpeg"],Jimp.decoders["image/jpeg"]=function(e){return t(e,{maxMemoryUsageInMB:2048})},e.prev=2,e.next=5,Jimp.read(w.result);case 5:f=e.sent,console.timeEnd("Read JPEG file"),(f.bitmap.width>2560||f.bitmap.height>2560)&&(console.log("Resizing huge image ..."),console.time("Resizing huge image"),r=n.sizeToFitSize(f.bitmap.width,f.bitmap.height,2560,2560),f.resize(r[0],r[1],Jimp.RESIZE_BEZIER),console.timeEnd("Resizing huge image")),m(f.clone()),e.next=15;break;case 11:e.prev=11,e.t0=e.catch(2),alert("Insufficient memory to process image. Please resize before uploading again."),n.uploadError();case 15:case"end":return e.stop()}}),e,null,[[2,11]])}))),w.readAsArrayBuffer(e)}else m(f.clone())}else r();else d(i.key,e)};-1===e.type.indexOf("image/")||1===c.length?d(i.key,e):m()}else n.uploadError()}))},"undefined"!=typeof DirectUploadItem&&(DirectUploadItem.prototype.uploadToStorage=ILABUploadToS3Storage),ilabMediaUploadItem.prototype.uploadToStorage=ILABUploadToS3Storage},65:function(e,t,r){e.exports=r(113)}}); \ No newline at end of file diff --git a/readme.txt b/readme.txt index 03eac7d9..5e2b295d 100755 --- a/readme.txt +++ b/readme.txt @@ -5,7 +5,7 @@ Requires at least: 4.9 Tested up to: 5.6.1 License: GPLv3 or later License URI: http://www.gnu.org/licenses/gpl-3.0.html -Stable tag: 4.2.3 +Stable tag: 4.2.6 Requires PHP: 7.1 Automatically store media on Amazon S3, Google Cloud Storage, DigitalOcean Spaces + others. Serve CSS/JS assets through CDNs. Integrate with Imgix. @@ -105,8 +105,18 @@ Imgix is a content delivery network with a twist. In addition to distributing y == Changelog == -= 4.2.3 = += 4.2.6 = +* Fixes for direct uploads for huge image files +* Fix for hyperdb not storing null values +* Fix for support links +* Fixes for migrate task +* Updated to latest Freemius SDK + + += 4.2.5 = + +* Fixes for migration task * Fix redeclared function error when using as a composer dependency * Fix for bug introduced 4.2.2 * Fix for PHP 7.4 type errors