WP Offload S3 Lite - Version 1.0.5

Version Description

= 0.6 = This version requires PHP 5.3.3+ and the Amazon Web Services plugin

Download this release

Release Info

Developer deliciousbrains
Plugin Icon 128x128 WP Offload S3 Lite
Version 1.0.5
Comparing to
See all releases

Code changes from version 1.0.4 to 1.0.5

README.md CHANGED
@@ -2,8 +2,8 @@
2
  **Contributors:** bradt, deliciousbrains
3
  **Tags:** uploads, amazon, s3, amazon s3, mirror, admin, media, cdn, cloudfront
4
  **Requires at least:** 4.4
5
- **Tested up to:** 4.5.2
6
- **Stable tag:** 1.0.4
7
  **License:** GPLv3
8
 
9
  Copies files to Amazon S3 as they are uploaded to the Media Library. Optionally configure Amazon CloudFront for faster delivery.
@@ -65,14 +65,12 @@ You can see the minimum requirements [here](https://deliciousbrains.com/wp-offlo
65
  ### 0.6 ###
66
  This version requires PHP 5.3.3+ and the Amazon Web Services plugin
67
 
68
- ### 0.6.1 ###
69
- This version requires PHP 5.3.3+ and the Amazon Web Services plugin
70
-
71
- ### 0.6.2 ###
72
- This version requires PHP 5.3.3+ and the Amazon Web Services plugin
73
-
74
  ## Changelog ##
75
 
 
 
 
 
76
  ### WP Offload S3 Lite 1.0.4 - 2016-05-30 ###
77
  * New: Now using simpler Force HTTPS setting, removed redundant Always Use HTTP setting.
78
  * New: `as3cf_cloudfront_path_parts` filter allows changing served CloudFront path (useful when distribution pulls subdirectory).
2
  **Contributors:** bradt, deliciousbrains
3
  **Tags:** uploads, amazon, s3, amazon s3, mirror, admin, media, cdn, cloudfront
4
  **Requires at least:** 4.4
5
+ **Tested up to:** 4.6
6
+ **Stable tag:** 1.0.5
7
  **License:** GPLv3
8
 
9
  Copies files to Amazon S3 as they are uploaded to the Media Library. Optionally configure Amazon CloudFront for faster delivery.
65
  ### 0.6 ###
66
  This version requires PHP 5.3.3+ and the Amazon Web Services plugin
67
 
 
 
 
 
 
 
68
  ## Changelog ##
69
 
70
+ ### WP Offload S3 Lite 1.0.5 - 2016-09-01 ###
71
+ * New: Compatibility with WordPress 4.6
72
+ * Improvement: No longer delete plugin data on uninstall. Manual removal possible, as per this [doc](https://deliciousbrains.com/wp-offload-s3/doc/uninstall/)
73
+
74
  ### WP Offload S3 Lite 1.0.4 - 2016-05-30 ###
75
  * New: Now using simpler Force HTTPS setting, removed redundant Always Use HTTP setting.
76
  * New: `as3cf_cloudfront_path_parts` filter allows changing served CloudFront path (useful when distribution pulls subdirectory).
assets/css/styles.css CHANGED
@@ -1 +1 @@
1
- .aws-main.wrap{position:relative}.aws-main.wrap>h1{float:left}.aws-main.wrap .as3cf-notice,.aws-main.wrap .as3cf-updated,.aws-main.wrap .as3cf-error{-webkit-box-sizing:border-box;box-sizing:border-box}.aws-main.wrap .as3cf-error.fatal{clear:both;float:left}.aws-main.wrap h2.nav-tab-wrapper{float:none;margin-bottom:15px;width:650px;margin-top:10px;padding:9px 0 0 5px}.aws-main.wrap h2.nav-tab-wrapper a.nav-tab-active{color:#464646;cursor:default}.aws-main.wrap h2.nav-tab-wrapper a:focus{-webkit-box-shadow:none;box-shadow:none}.aws-main.wrap .more-info{white-space:nowrap}.aws-main.wrap .error pre{background:#eaeaea;background:rgba(0,0,0,0.07);display:block;padding:10px 15px}.aws-main.wrap .error pre code{padding:0;background:none}.aws-main.wrap[data-tab="support"] .as3cf-notice,.aws-main.wrap[data-tab="support"] .error,.aws-main.wrap[data-tab="support"] .updated,.aws-main.wrap[data-tab="support"] .updated.show{display:none}.aws-main.wrap[data-tab="support"] .fatal .error,.aws-main.wrap[data-tab="support"] .as3cf-notice.important,.aws-main.wrap[data-tab="support"] .dbrains-api-down{display:block}.aws-main.wrap .as3cf-notice,.aws-main.wrap .error,.aws-main.wrap .updated{max-width:650px;margin-top:15px;-webkit-box-sizing:border-box;box-sizing:border-box}.aws-main.wrap .as3cf-updated{display:none}.aws-main.wrap .as3cf-updated.as3cf-notice,.aws-main.wrap .as3cf-updated.show{display:block}.as3cf-tab .as3cf-main-settings{display:none}.as3cf-tab .as3cf-bucket-container{display:block}.as3cf-tab.as3cf-has-bucket .as3cf-main-settings{display:block}.as3cf-tab.as3cf-has-bucket .as3cf-bucket-container{display:none}.as3cf-tab{display:none;position:relative;width:650px}.as3cf-tab .as3cf-main-settings p{font-size:13px}.as3cf-tab .as3cf-main-settings p a{color:#444}.as3cf-tab .object-prefix-desc em{white-space:nowrap}.as3cf-tab .as3cf-url-preview-wrap{background:#fff;text-align:center;padding:20px 0 0;max-width:650px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.as3cf-tab .as3cf-url-preview-wrap .as3cf-url-preview{margin-top:10px;padding:0 20px 10px;overflow-x:scroll}.as3cf-tab .as3cf-url-preview-wrap span{color:#aaa;text-transform:uppercase;font-weight:bold}.as3cf-tab .as3cf-radio-group label{display:block;margin-bottom:10px}.as3cf-tab .as3cf-radio-group label.disabled,.as3cf-tab .as3cf-radio-group label.disabled p{color:#bbbbbb;cursor:default}.as3cf-tab .as3cf-radio-group p{padding-left:25px;color:#6b6b6b;margin:0;font-size:12px}.as3cf-tab .as3cf-radio-group p.as3cf-setting{margin-top:5px}.as3cf-tab .as3cf-switch{position:relative;display:inline-block;padding:2px;overflow:hidden;border-radius:2px;-webkit-border-radius:2px;background-color:#d4d3d3;cursor:pointer}.as3cf-tab .as3cf-switch.on{background-color:#ade7b5}.as3cf-tab .as3cf-switch span{visibility:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;float:left;display:inline-block;height:100%;font-size:12px;line-height:20px;border-radius:2px;-webkit-border-radius:2px;font-weight:bold;padding:4px 8px;background:#fff;color:#8d8d8d;z-index:1}.as3cf-tab .as3cf-switch span.on{color:#82d78b}.as3cf-tab .as3cf-switch span.checked{visibility:visible}.as3cf-tab .as3cf-switch.disabled{cursor:default;background:#e6e6e6}.as3cf-tab .as3cf-switch.disabled span{background:#f1f1f1;color:#d6d6d6}.as3cf-tab .as3cf-switch input[type="checkbox"]{position:absolute !important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.as3cf-tab .as3cf-setting.hide{display:none}.as3cf-tab h3{font-weight:normal;text-transform:uppercase;margin:15px 0}.as3cf-tab .form-table{margin:0}.as3cf-tab .form-table tr.as3cf-border-bottom td{border-bottom:1px solid #ddd;padding:20px 0px}.as3cf-tab .form-table tr.as3cf-setting-title td{padding-bottom:0}.as3cf-tab .form-table tr.as3cf-setting-title:first-child td{padding-top:20px}.as3cf-tab .form-table tr td{padding:15px 0}.as3cf-tab .form-table tr td:first-child{vertical-align:top;min-width:120px}.as3cf-tab .form-table tr td .as3cf-notice:last-child{margin-bottom:0}.as3cf-tab .form-table tr td>p:first-child{margin-top:0}.as3cf-tab .form-table tr:first-of-type td{padding-top:5px}.as3cf-tab .form-table tr.as3cf-bucket-setting .as3cf-defined-in-config{float:none}.as3cf-tab .form-table h3{padding:0;margin:0}.as3cf-tab .form-table h4{margin:0}.as3cf-tab .as3cf-active-bucket{font-weight:bold;margin-right:10px}.as3cf-tab .as3cf-view-bucket{color:#444;text-decoration:none;margin-right:10px}.as3cf-tab .as3cf-view-bucket:hover,.as3cf-tab .as3cf-view-bucket:active{color:#00a0d2}.as3cf-tab .as3cf-view-bucket:focus{-webkit-box-shadow:none;box-shadow:none}.as3cf-tab .as3cf-view-bucket .dashicons-external{margin-top:-2px}.as3cf-tab .tooltip{position:relative;z-index:2;cursor:pointer}.as3cf-tab .tooltip:before,.as3cf-tab .tooltip:after{visibility:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;pointer-events:none}.as3cf-tab .tooltip:before{position:absolute;bottom:150%;left:50%;margin-bottom:5px;margin-left:-250px;padding:10px;width:500px;-webkit-border-radius:3px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,0.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.3}.as3cf-tab .tooltip:after{position:absolute;bottom:150%;left:50%;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,0.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.as3cf-tab .tooltip:hover:before,.as3cf-tab .tooltip:hover:after{visibility:visible;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.as3cf-tab .as3cf-defined-in-config{background:#ccc;color:#fff;padding:2px 5px;margin:0 0 5px 5px;float:right}.as3cf-tab .as3cf-defined-setting{color:#bbb}.as3cf-tab .as3cf-defined-setting label{cursor:default}.as3cf-tab .as3cf-defined-setting p .more-info a{color:#bbb}.as3cf-tab .as3cf-defined-setting .as3cf-radio-group p{color:#bbb}.as3cf-tab .as3cf-defined-setting .as3cf-notice{display:none !important}#tab-media{display:block}#tab-media .as3cf-main-settings{display:none}#tab-media .as3cf-bucket-container{display:block}#tab-media.as3cf-has-bucket .as3cf-main-settings{display:block}#tab-media.as3cf-has-bucket .as3cf-bucket-container{display:none}.as3cf-bucket-container h3{line-height:1.3;text-transform:none}.as3cf-bucket-container a:focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.as3cf-bucket-container input[type=text]{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.as3cf-bucket-container select{-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.as3cf-bucket-container .form-table td{padding:5px 0}.as3cf-bucket-container .form-table td:first-child{width:100px;line-height:30px;vertical-align:top}.as3cf-bucket-container .bucket-actions{margin:15px 0;border-top:1px solid #ccc;padding-top:15px;overflow:hidden}.as3cf-bucket-container .bucket-actions button,.as3cf-bucket-container .bucket-actions .right{float:right;margin-right:0}.as3cf-bucket-container .bucket-actions span{display:inline-block;margin-right:20px;line-height:28px}.as3cf-bucket-container .bucket-actions .bucket-action-cancel{color:#a00;text-decoration:none}.as3cf-bucket-container .bucket-actions .bucket-action-cancel:hover{color:red}.as3cf-bucket-container .as3cf-bucket-list{padding:15px;max-height:200px;overflow-x:hidden;overflow-y:auto;background-color:#fff;font-size:14px}.as3cf-bucket-container .as3cf-bucket-list li:last-of-type{margin-bottom:0}.as3cf-bucket-container .as3cf-bucket-list a{color:#444;text-decoration:none}.as3cf-bucket-container .as3cf-bucket-list a:hover{color:#0074A2}.as3cf-bucket-container .as3cf-bucket-list a.selected{font-weight:bold;color:#0074A2}.as3cf-bucket-container .as3cf-bucket-list a .dashicons{margin-right:5px}.as3cf-bucket-container .as3cf-bucket-select,.as3cf-bucket-container .as3cf-bucket-create{display:none}.as3cf-bucket-container .bucket-actions.select{display:none}.as3cf-tab{display:none}#tab-media{display:block}#tab-support{min-height:900px}#tab-support .as3cf-sidebar{top:11px}#tab-support .support-section{border-bottom:1px solid #ccc;padding-bottom:20px;margin-bottom:20px}#tab-support .debug textarea{width:100%;min-height:200px;font-family:Consolas, Monaco, monospace;margin-bottom:5px}.as3cf-sidebar{position:absolute;top:9px;left:670px;width:292px}.as3cf-sidebar .block{padding:20px;border:1px solid #ccc}.as3cf-sidebar .subscribe{border-top:none}.as3cf-sidebar .subscribe h2{padding:0;margin:0;margin-bottom:0.5em;color:#666;font-size:20px;line-height:1.2em;float:none}.as3cf-sidebar .subscribe h3{font-size:16px;margin:0}.as3cf-sidebar .subscribe p{margin:0}.as3cf-sidebar .subscribe .intro{margin-bottom:1em;line-height:1.4}.as3cf-sidebar .subscribe li{line-height:1.4}.as3cf-sidebar .subscribe .links{margin-bottom:2em}.as3cf-sidebar .subscribe .links a{text-decoration:none}.as3cf-sidebar .subscribe .promise{color:#999;font-size:12px;line-height:1.4em}.as3cf-sidebar .subscribe .field{margin-bottom:0.5em}.as3cf-sidebar .subscribe .field p{margin-bottom:0.3em}.as3cf-sidebar .subscribe .field input[type=text],.as3cf-sidebar .subscribe .field input[type=email]{width:100%}.as3cf-sidebar .subscribe .field.submit-button{margin-bottom:1em}.as3cf-sidebar .credits{border-top:0}.as3cf-sidebar .credits h4{font-size:16px;margin-top:0;margin-bottom:10px}.as3cf-sidebar .credits ul{margin:0}.as3cf-sidebar .credits li{overflow:hidden}.as3cf-sidebar .credits li:last-child{margin-bottom:0}.as3cf-sidebar .credits img{float:left;margin-right:10px}.as3cf-sidebar .credits span{float:left;display:block;line-height:32px}.as3cf-sidebar .credits a{display:block;text-decoration:none;color:#444;font-size:16px;text-align:center}.as3cf-sidebar .credits a:hover{color:#888}@media (min--moz-device-pixel-ratio: 1.3), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx){.as3cf-sidebar .as3cf-banner{background-image:url(../img/snail-banner@2x.jpg);background-size:292px 156px}}@media screen and (max-width: 1052px){.as3cf-sidebar{position:relative;top:auto;right:auto;margin-top:50px}}.as3cf-banner{margin-top:35px;width:292px;height:156px;display:block;background-image:url(../img/snail-banner.jpg);position:relative}.as3cf-banner h1{font-size:28px;color:#fff;font-weight:200;margin:0;position:absolute;bottom:25px;left:20px;text-decoration:none}.as3cf-upgrade-details{background-color:#73833b;padding:20px;color:#fff;font-size:13px;margin:0;display:block;text-decoration:none}.as3cf-upgrade-details p{margin:0}.as3cf-upgrade-details a{color:#fff;font-weight:bold;text-decoration:none;font-size:16px}.as3cf-upgrade-details a:hover{color:#fff;opacity:0.9}.as3cf-upgrade-details ul{margin-top:0;margin-left:16px;list-style-type:disc}.aws-compatibility-notice.error{clear:both;margin:5px 20px 5px 0}.as3cf-bucket-error span.title{font-weight:bold}.as3cf-invalid-bucket-name,.as3cf-validation-error{display:block;margin-top:2px;font-size:12px;color:#a00}.as3cf-notice-toggle-content{max-height:100px;overflow-y:scroll}.as3cf-notice-toggle-content .as3cf-notice-toggle-list{margin-top:0;margin-left:0;padding-left:40px;color:#dc3232}
1
+ .aws-main.wrap{position:relative}.aws-main.wrap>h1{float:left}.aws-main.wrap .as3cf-notice,.aws-main.wrap .as3cf-updated,.aws-main.wrap .as3cf-error{-webkit-box-sizing:border-box;box-sizing:border-box}.aws-main.wrap .as3cf-error.fatal{clear:both}.aws-main.wrap h2.nav-tab-wrapper{float:none;margin-bottom:15px;width:650px;margin-top:10px;padding:9px 0 0 5px}.aws-main.wrap h2.nav-tab-wrapper a.nav-tab-active{color:#464646;cursor:default}.aws-main.wrap h2.nav-tab-wrapper a:focus{-webkit-box-shadow:none;box-shadow:none}.aws-main.wrap .more-info{white-space:nowrap}.aws-main.wrap .error pre{background:#eaeaea;background:rgba(0,0,0,0.07);display:block;padding:10px 15px}.aws-main.wrap .error pre code{padding:0;background:none}.aws-main.wrap[data-tab="support"] .as3cf-notice,.aws-main.wrap[data-tab="support"] .error,.aws-main.wrap[data-tab="support"] .updated,.aws-main.wrap[data-tab="support"] .updated.show{display:none}.aws-main.wrap[data-tab="support"] .fatal .error,.aws-main.wrap[data-tab="support"] .as3cf-notice.important,.aws-main.wrap[data-tab="support"] .dbrains-api-down{display:block}.aws-main.wrap .as3cf-notice,.aws-main.wrap .error,.aws-main.wrap .updated{max-width:650px;margin-top:15px;-webkit-box-sizing:border-box;box-sizing:border-box}.aws-main.wrap .as3cf-updated{display:none}.aws-main.wrap .as3cf-updated.as3cf-notice,.aws-main.wrap .as3cf-updated.show{display:block}.as3cf-tab .as3cf-main-settings{display:none}.as3cf-tab .as3cf-bucket-container{display:block}.as3cf-tab.as3cf-has-bucket .as3cf-main-settings{display:block}.as3cf-tab.as3cf-has-bucket .as3cf-bucket-container{display:none}.as3cf-tab{display:none;position:relative;width:650px}.as3cf-tab .as3cf-main-settings p{font-size:13px}.as3cf-tab .as3cf-main-settings p a{color:#444}.as3cf-tab .object-prefix-desc em{white-space:nowrap}.as3cf-tab .as3cf-url-preview-wrap{background:#fff;text-align:center;padding:20px 0 0;max-width:650px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.as3cf-tab .as3cf-url-preview-wrap .as3cf-url-preview{margin-top:10px;padding:0 20px 10px;overflow-x:scroll}.as3cf-tab .as3cf-url-preview-wrap span{color:#aaa;text-transform:uppercase;font-weight:bold}.as3cf-tab .as3cf-radio-group label{display:block;margin-bottom:10px}.as3cf-tab .as3cf-radio-group label.disabled,.as3cf-tab .as3cf-radio-group label.disabled p{color:#bbb;cursor:default}.as3cf-tab .as3cf-radio-group p{padding-left:25px;color:#6b6b6b;margin:0;font-size:12px}.as3cf-tab .as3cf-radio-group p.as3cf-setting{margin-top:5px}.as3cf-tab .as3cf-switch{position:relative;display:inline-block;padding:2px;overflow:hidden;border-radius:2px;-webkit-border-radius:2px;background-color:#d4d3d3;cursor:pointer}.as3cf-tab .as3cf-switch.on{background-color:#ade7b5}.as3cf-tab .as3cf-switch span{visibility:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;float:left;display:inline-block;height:100%;font-size:12px;line-height:20px;border-radius:2px;-webkit-border-radius:2px;font-weight:bold;padding:4px 8px;background:#fff;color:#8d8d8d;z-index:1}.as3cf-tab .as3cf-switch span.on{color:#82d78b}.as3cf-tab .as3cf-switch span.checked{visibility:visible}.as3cf-tab .as3cf-switch.disabled{cursor:default;background:#e6e6e6}.as3cf-tab .as3cf-switch.disabled span{background:#f1f1f1;color:#d6d6d6}.as3cf-tab .as3cf-switch input[type="checkbox"]{position:absolute !important;top:0;left:0;opacity:0;filter:alpha(opacity=0);z-index:-1}.as3cf-tab .as3cf-setting.hide{display:none}.as3cf-tab div.as3cf-setting{margin-top:4px}.as3cf-tab h3{font-weight:normal;text-transform:uppercase;margin:15px 0}.as3cf-tab .form-table{margin:0}.as3cf-tab .form-table tr.as3cf-border-bottom td{border-bottom:1px solid #ddd;padding:20px 0px}.as3cf-tab .form-table tr.as3cf-setting-title td{padding-bottom:0}.as3cf-tab .form-table tr.as3cf-setting-title:first-child td{padding-top:20px}.as3cf-tab .form-table tr td{padding:15px 0}.as3cf-tab .form-table tr td:first-child{vertical-align:top;min-width:120px}.as3cf-tab .form-table tr td .as3cf-notice:last-child{margin-bottom:0}.as3cf-tab .form-table tr td>p:first-child{margin-top:0}.as3cf-tab .form-table tr:first-of-type td{padding-top:5px}.as3cf-tab .form-table tr.as3cf-bucket-setting .as3cf-defined-in-config{float:none}.as3cf-tab .form-table h3{padding:0;margin:0}.as3cf-tab .form-table h4{margin:0}.as3cf-tab .as3cf-active-bucket{font-weight:bold;margin-right:10px}.as3cf-tab .as3cf-view-bucket{color:#444;text-decoration:none;margin-right:10px}.as3cf-tab .as3cf-view-bucket:hover,.as3cf-tab .as3cf-view-bucket:active{color:#00a0d2}.as3cf-tab .as3cf-view-bucket:focus{-webkit-box-shadow:none;box-shadow:none}.as3cf-tab .as3cf-view-bucket .dashicons-external{margin-top:-2px}.as3cf-tab .tooltip{position:relative;z-index:2;cursor:pointer}.as3cf-tab .tooltip:before,.as3cf-tab .tooltip:after{visibility:hidden;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=0);opacity:0;pointer-events:none}.as3cf-tab .tooltip:before{position:absolute;bottom:150%;left:50%;margin-bottom:5px;margin-left:-250px;padding:10px;width:500px;-webkit-border-radius:3px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,0.9);color:#fff;content:attr(data-tooltip);text-align:center;font-size:14px;line-height:1.3}.as3cf-tab .tooltip:after{position:absolute;bottom:150%;left:50%;margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,0.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.as3cf-tab .tooltip:hover:before,.as3cf-tab .tooltip:hover:after{visibility:visible;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);opacity:1}.as3cf-tab .as3cf-defined-in-config{background:#ccc;color:#fff;padding:2px 5px;margin:0 0 5px 5px;float:right}.as3cf-tab .as3cf-defined-setting{color:#bbb}.as3cf-tab .as3cf-defined-setting label{cursor:default}.as3cf-tab .as3cf-defined-setting p .more-info a{color:#bbb}.as3cf-tab .as3cf-defined-setting .as3cf-radio-group p{color:#bbb}.as3cf-tab .as3cf-defined-setting .as3cf-notice{display:none !important}#tab-media{display:block}#tab-media .as3cf-main-settings{display:none}#tab-media .as3cf-bucket-container{display:block}#tab-media.as3cf-has-bucket .as3cf-main-settings{display:block}#tab-media.as3cf-has-bucket .as3cf-bucket-container{display:none}.as3cf-bucket-container h3{line-height:1.3;text-transform:none}.as3cf-bucket-container a:focus{-webkit-box-shadow:none;box-shadow:none;outline:none}.as3cf-bucket-container input[type=text]{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%}.as3cf-bucket-container select{-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.as3cf-bucket-container .form-table td{padding:5px 0}.as3cf-bucket-container .form-table td:first-child{width:100px;line-height:30px;vertical-align:top}.as3cf-bucket-container .bucket-actions{margin:15px 0;border-top:1px solid #ccc;padding-top:15px;overflow:hidden}.as3cf-bucket-container .bucket-actions button,.as3cf-bucket-container .bucket-actions .right{float:right;margin-right:0}.as3cf-bucket-container .bucket-actions span{display:inline-block;margin-right:20px;line-height:28px}.as3cf-bucket-container .bucket-actions .bucket-action-cancel{color:#a00;text-decoration:none}.as3cf-bucket-container .bucket-actions .bucket-action-cancel:hover{color:red}.as3cf-bucket-container .as3cf-bucket-list{padding:15px;max-height:200px;overflow-x:hidden;overflow-y:auto;background-color:#fff;font-size:14px}.as3cf-bucket-container .as3cf-bucket-list li:last-of-type{margin-bottom:0}.as3cf-bucket-container .as3cf-bucket-list a{color:#444;text-decoration:none}.as3cf-bucket-container .as3cf-bucket-list a:hover{color:#0074a2}.as3cf-bucket-container .as3cf-bucket-list a.selected{font-weight:bold;color:#0074a2}.as3cf-bucket-container .as3cf-bucket-list a .dashicons{margin-right:5px}.as3cf-bucket-container .as3cf-bucket-select,.as3cf-bucket-container .as3cf-bucket-create{display:none}.as3cf-bucket-container .bucket-actions.select{display:none}.as3cf-tab{display:none}#tab-media{display:block}#tab-support{min-height:900px}#tab-support .as3cf-sidebar{top:11px}#tab-support .support-section{border-bottom:1px solid #ccc;padding-bottom:20px;margin-bottom:20px}#tab-support .debug textarea{width:100%;min-height:200px;font-family:Consolas, Monaco, monospace;margin-bottom:5px}.as3cf-sidebar{position:absolute;top:9px;left:670px;width:292px}.as3cf-sidebar .block{padding:20px;border:1px solid #ccc}.as3cf-sidebar .subscribe{border-top:none}.as3cf-sidebar .subscribe h2{padding:0;margin:0;margin-bottom:0.5em;color:#666;font-size:20px;line-height:1.2em;float:none}.as3cf-sidebar .subscribe h3{font-size:16px;margin:0}.as3cf-sidebar .subscribe p{margin:0}.as3cf-sidebar .subscribe .intro{margin-bottom:1em;line-height:1.4}.as3cf-sidebar .subscribe li{line-height:1.4}.as3cf-sidebar .subscribe .links{margin-bottom:2em}.as3cf-sidebar .subscribe .links a{text-decoration:none}.as3cf-sidebar .subscribe .promise{color:#999;font-size:12px;line-height:1.4em}.as3cf-sidebar .subscribe .field{margin-bottom:0.5em}.as3cf-sidebar .subscribe .field p{margin-bottom:0.3em}.as3cf-sidebar .subscribe .field input[type=text],.as3cf-sidebar .subscribe .field input[type=email]{width:100%}.as3cf-sidebar .subscribe .field.submit-button{margin-bottom:1em}.as3cf-sidebar .credits{border-top:0}.as3cf-sidebar .credits h4{font-size:16px;margin-top:0;margin-bottom:10px}.as3cf-sidebar .credits ul{margin:0}.as3cf-sidebar .credits li{overflow:hidden}.as3cf-sidebar .credits li:last-child{margin-bottom:0}.as3cf-sidebar .credits img{float:left;margin-right:10px}.as3cf-sidebar .credits span{float:left;display:block;line-height:32px}.as3cf-sidebar .credits a{display:block;text-decoration:none;color:#444;font-size:16px;text-align:center}.as3cf-sidebar .credits a:hover{color:#888}@media (min--moz-device-pixel-ratio: 1.3), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx){.as3cf-sidebar .as3cf-banner{background-image:url(../img/snail-banner@2x.jpg);background-size:292px 156px}}@media screen and (max-width: 1052px){.as3cf-sidebar{position:relative;top:auto;right:auto}}.as3cf-banner{margin-top:35px;width:292px;height:156px;display:block;background-image:url(../img/snail-banner.jpg);position:relative}.as3cf-banner h1{font-size:28px;color:#fff;font-weight:200;margin:0;position:absolute;bottom:25px;left:20px;text-decoration:none}.as3cf-upgrade-details{background-color:#73833b;padding:20px;color:#fff;font-size:13px;margin:0;display:block;text-decoration:none}.as3cf-upgrade-details p{margin:0}.as3cf-upgrade-details a{color:#fff;font-weight:bold;text-decoration:none;font-size:16px}.as3cf-upgrade-details a:hover{color:#fff;opacity:0.9}.as3cf-upgrade-details ul{margin-top:0;margin-left:16px;list-style-type:disc}.aws-compatibility-notice.error{clear:both;margin:5px 20px 5px 0}.as3cf-bucket-error span.title{font-weight:bold}.as3cf-invalid-bucket-name,.as3cf-validation-error{display:block;margin-top:2px;font-size:12px;color:#a00}.as3cf-notice-toggle-content{max-height:100px;overflow-y:scroll}.as3cf-notice-toggle-content .as3cf-notice-toggle-list{margin-top:0;margin-left:0;padding-left:40px;color:#dc3232}
assets/js/modal.min.js CHANGED
@@ -1 +1 @@
1
- var as3cfModal=function(a){function b(a){return a.replace(/[^a-z]/g,"")}var c={prefix:"as3cf",loading:!1},d={};return c.exists=function(c){var e=b(c);return void 0!==d[e]?!0:!!a(c).length},c.open=function(c,e,f){var g=b(c);a("body").append('<div id="as3cf-overlay"></div>');var h=a("#as3cf-overlay");h.append('<div id="as3cf-modal"><span class="close-as3cf-modal">×</span></div>');var i=a("#as3cf-modal");if(void 0===d[g]){var j=a(c);d[g]=j.clone(!0).css("display","block"),j.remove()}i.data("as3cf-modal-target",c).append(d[g]),void 0!==f&&i.addClass(f),"function"==typeof e&&e(c),a("body").addClass("as3cf-modal-open"),h.fadeIn(150),i.fadeIn(150),a("body").trigger("as3cf-modal-open",[c])},c.close=function(b){if(!c.loading){var d=a("#as3cf-modal").data("as3cf-modal-target");a("#as3cf-overlay").fadeOut(150,function(){"function"==typeof b&&b(d),a("body").removeClass("as3cf-modal-open"),a(this).remove()}),a("body").trigger("as3cf-modal-close",[d])}},c.setLoadingState=function(a){c.loading=a},a(document).ready(function(){a("body").on("click","[data-as3cf-modal]",function(b){b.preventDefault(),c.open(a(this).data("as3cf-modal")+"."+c.prefix)}),a("body").on("click","#as3cf-overlay, .close-as3cf-modal",function(a){return a.preventDefault(),a.target!==this?!1:void c.close()})}),c}(jQuery);
1
+ var as3cfModal=function(a){function b(a){return a.replace(/[^a-z]/g,"")}var c={prefix:"as3cf",loading:!1},d={};return c.exists=function(c){var e=b(c);return void 0!==d[e]||!!a(c).length},c.open=function(c,e,f){var g=b(c);a("body").append('<div id="as3cf-overlay"></div>');var h=a("#as3cf-overlay");h.append('<div id="as3cf-modal"><span class="close-as3cf-modal">×</span></div>');var i=a("#as3cf-modal");if(void 0===d[g]){var j=a(c);d[g]=j.clone(!0).css("display","block"),j.remove()}i.data("as3cf-modal-target",c).append(d[g]),void 0!==f&&i.addClass(f),"function"==typeof e&&e(c),a("body").addClass("as3cf-modal-open"),h.fadeIn(150),i.fadeIn(150),a("body").trigger("as3cf-modal-open",[c])},c.close=function(b){if(!c.loading){var d=a("#as3cf-modal").data("as3cf-modal-target");a("#as3cf-overlay").fadeOut(150,function(){"function"==typeof b&&b(d),a("body").removeClass("as3cf-modal-open"),a(this).remove()}),a("body").trigger("as3cf-modal-close",[d])}},c.setLoadingState=function(a){c.loading=a},a(document).ready(function(){a("body").on("click","[data-as3cf-modal]",function(b){b.preventDefault(),c.open(a(this).data("as3cf-modal")+"."+c.prefix)}),a("body").on("click","#as3cf-overlay, .close-as3cf-modal",function(a){return a.preventDefault(),a.target===this&&void c.close()})}),c}(jQuery);
assets/js/script.min.js CHANGED
@@ -1 +1 @@
1
- !function(a,b){function c(b){return a("#"+b+" .as3cf-main-settings form").find("input:not(.no-compare)").serialize()}function d(a){var b=k.find("#"+a),c=b.find("input[type=checkbox]");b.toggleClass("on").find("span").toggleClass("checked");var d=b.find("span.on").hasClass("checked");c.attr("checked",d).trigger("change")}function e(b){var c=b.next(".as3cf-validation-error"),d=a("#"+k.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\.\-]/;e.test(b.val())?(c.show(),d.attr("disabled",!0)):(c.hide(),d.attr("disabled",!1))}function f(){var c=a("#"+b.prefix+"-bucket").val(),d=k.find('input[name="object-prefix"]'),e=d.val();""!==e&&(e="&prefix="+encodeURIComponent(e));var f=as3cf.aws_bucket_link+c+e;a("#"+b.prefix+"-view-bucket").attr("href",f)}function g(){a(".as3cf-url-preview").html("Generating...");var b={_nonce:as3cf.nonces.get_url_preview};a.each(a("#tab-"+as3cf.tabs.defaultTab+" .as3cf-main-settings form").serializeArray(),function(c,d){var e=d.name,f=d.value;e=e.replace("[]",""),b[e]=void 0===b[e]?f:a.isArray(b[e])?b[e].concat(f):[b[e],f]}),b.action="as3cf-get-url-preview",a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:b,error:function(a,b,c){alert(as3cf.strings.get_url_preview_error+c)},success:function(b,c,d){"undefined"!=typeof b.success?a(".as3cf-url-preview").html(b.url):alert(as3cf.strings.get_url_preview_error+b.error)}})}function h(a){as3cf.buckets.bucketSelectLock=!1}function i(){a("#remove-local-file").is(":checked")&&a("#serve-from-s3").is(":not(:checked)")?a("#as3cf-lost-files-notice").show():a("#as3cf-lost-files-notice").hide()}function j(){a("#remove-local-file").is(":checked")?a("#as3cf-remove-local-notice").show():a("#as3cf-remove-local-notice").hide()}var k,l={},m=/[^a-z0-9.-]/,n=!1,o=a(".as3cf-tab");as3cf.tabs={defaultTab:"media",toggle:function(c,d){c=as3cf.tabs.sanitizeHash(c),o.hide(),k=a("#tab-"+c),k.show(),a(".nav-tab").removeClass("nav-tab-active"),a('a.nav-tab[data-tab="'+c+'"]').addClass("nav-tab-active"),a(".aws-main").attr("data-tab",c),k.attr("data-prefix")&&(b.prefix=k.attr("data-prefix")),d||a(".as3cf-updated").removeClass("show"),"support"===c&&as3cf.tabs.getDiagnosticInfo()},getDiagnosticInfo:function(){var b=a(".debug-log-textarea");b.html(as3cf.strings.get_diagnostic_info);var c={action:"as3cf-get-diagnostic-info",_nonce:as3cf.nonces.get_diagnostic_info};a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:c,error:function(a,c,d){b.html(d)},success:function(a,c,d){"undefined"!=typeof a.success?b.html(a.diagnostic_info):(b.html(as3cf.strings.get_diagnostic_info_error),b.append(a.error))}})},sanitizeHash:function(b){var c=a("#tab-"+b);return 0===c.length&&(b=as3cf.tabs.defaultTab),b}},as3cf.buckets={validLength:3,bucketSelectLock:!1,loadList:function(c){"undefined"==typeof c&&(c=!1);var d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-list"),e=a("#"+b.prefix+"-bucket").val();if(!1===c&&d.find("li").length>1)return a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+e+'"]').addClass("selected"),void this.scrollToSelected();d.html('<li class="loading">'+d.attr("data-working")+"</li>");var f={action:b.prefix+"-get-buckets",_nonce:window[b.prefix.replace(/-/g,"_")].nonces.get_buckets},g=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:f,error:function(a,b,c){d.html(""),g.showError(as3cf.strings.get_buckets_error,c,"as3cf-bucket-select")},success:function(b,c,f){d.html(""),"undefined"!=typeof b.success?(a(".as3cf-bucket-error").hide(),a(b.buckets).each(function(a,b){var c=b.Name===e?"selected":"";d.append('<li><a class="'+c+'" href="#" data-bucket="'+b.Name+'"><span class="bucket"><span class="dashicons dashicons-portfolio"></span> '+b.Name+'</span><span class="spinner"></span></span></a></li>')}),g.scrollToSelected()):g.showError(as3cf.strings.get_buckets_error,b.error,"as3cf-bucket-select")}})},scrollToSelected:function(){if(a(".as3cf-bucket-list a.selected").length){var b=a("ul.as3cf-bucket-list li").first().position().top+150;a(".as3cf-bucket-list").animate({scrollTop:a("ul.as3cf-bucket-list li a.selected").position().top-b})}},resetModal:function(){var c=a(".as3cf-bucket-container."+b.prefix);!1===k.hasClass("as3cf-has-bucket")||"manual"===a("#"+b.prefix+"-bucket-select").val()?(c.find(".as3cf-bucket-manual").show().siblings().hide(),c.find(".bucket-actions.manual").show().siblings(".bucket-actions").hide()):(c.find(".as3cf-bucket-select").show().siblings().hide(),c.find(".bucket-actions.select").show().siblings(".bucket-actions").hide(),this.loadList(n),n=!1),c.find(".as3cf-bucket-error").hide();var d=a("#"+b.prefix+"-bucket").val();c.find(".as3cf-bucket-manual .as3cf-bucket-name").val(d),this.bucketSelectLock=!1},saveManual:function(){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form"),d=c.find(".as3cf-bucket-name"),e=c.find("button[type=submit]"),f=d.val(),g=e.first().text();if(f===a("#"+b.prefix+"-active-bucket").text())return a(".as3cf-bucket-error").hide(),k.addClass("as3cf-has-bucket"),void b.close();a(".as3cf-bucket-error").hide(),e.text(e.attr("data-working")),e.prop("disabled",!0);var h={action:b.prefix+"-manual-save-bucket",bucket_name:f,_nonce:window[b.prefix.replace(/-/g,"_")].nonces.manual_bucket},i=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:h,error:function(a,b,c){e.text(g),i.showError(as3cf.strings.save_bucket_error,c,"as3cf-bucket-manual")},success:function(c,d,h){e.text(g),e.prop("disabled",!1),"undefined"!=typeof c.success?(i.set(f,c.region,c.can_write),a("#"+b.prefix+"-bucket-select").val("manual"),a(".as3cf-bucket-list a").removeClass("selected").filter('[data-bucket="'+f+'"]').addClass("selected"),n=!0):i.showError(as3cf.strings.save_bucket_error,c.error,"as3cf-bucket-manual")}})},saveSelected:function(c){var d=a(".as3cf-bucket-list");if(!this.bucketSelectLock){if(this.bucketSelectLock=!0,c.hasClass("selected"))return k.addClass("as3cf-has-bucket"),void b.close();var e=a(".as3cf-bucket-list a.selected").attr("data-bucket");a(".as3cf-bucket-list a").removeClass("selected"),c.addClass("selected"),d.addClass("saving"),c.find(".spinner").show().css("visibility","visible");var f=c.attr("data-bucket"),g={action:b.prefix+"-save-bucket",bucket_name:f,_nonce:window[b.prefix.replace(/-/g,"_")].nonces.save_bucket},h=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:g,error:function(b,c,f){d.removeClass("saving"),h.showError(as3cf.strings.save_bucket_error,f,"as3cf-bucket-select"),a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+e+'"]').addClass("selected")},success:function(g,i,j){c.find(".spinner").hide().css("visibility","hidden"),d.removeClass("saving"),"undefined"!=typeof g.success?(h.set(f,g.region,g.can_write),a("#"+b.prefix+"-bucket-select").val("")):(h.showError(as3cf.strings.save_bucket_error,g.error,"as3cf-bucket-select"),a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+e+'"]').addClass("selected"))}})}},disabledButtons:function(){if(0!==a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form").length){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form"),d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form");c.find(".as3cf-bucket-name").val().length<3?c.find("button[type=submit]").attr("disabled",!0):c.find("button[type=submit]").attr("disabled",!1),d.find(".as3cf-bucket-name").val().length<3?d.find("button[type=submit]").attr("disabled",!0):d.find("button[type=submit]").attr("disabled",!1)}},showError:function(b,c,d){var e=a(".as3cf-bucket-container").children(":visible"),f=e.find(".as3cf-bucket-error");d="undefined"==typeof d?null:d,d&&!e.hasClass(d)||(f.find("span.title").html(b+" &mdash;"),f.find("span.message").html(c),f.show(),this.bucketSelectLock=!1)},set:function(e,i,j){var m=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form"),n=a("#"+b.prefix+"-active-bucket");if("as3cf"===b.prefix&&0===n.text().trim().length){d("copy-to-s3-wrap"),d("serve-from-s3-wrap");var o=k.attr("id");l[o]=c(o)}a(".as3cf-error.fatal").hide(),n.text(e),m.find(".as3cf-bucket-name").val(e),a("#"+b.prefix+"-bucket").val(e),a("#"+b.prefix+"-region").val(i),a(".updated").not(".as3cf-notice").show(),k.addClass("as3cf-has-bucket"),k.find(".as3cf-can-write-error").toggle(!j),k.find(".as3cf-bucket-error").hide(),"as3cf"===b.prefix&&g(),f(),b.close(h)},create:function(){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form"),d=c.find(".as3cf-bucket-name"),e=c.find(".bucket-create-region"),f=c.find("button[type=submit]"),g=d.val(),h=f.text();a(".as3cf-bucket-error").hide(),f.text(f.attr("data-working")),f.prop("disabled",!0);var i={action:b.prefix+"-create-bucket",bucket_name:g,_nonce:window[b.prefix.replace(/-/g,"_")].nonces.create_bucket};e.val()&&(i.region=e.val());var j=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:i,error:function(a,b,c){f.text(h),j.showError(as3cf.strings.create_bucket_error,c,"as3cf-bucket-create")},success:function(b,c,e){f.text(h),f.prop("disabled",!1),"undefined"!=typeof b.success?(j.set(g,b.region,b.can_write),a(".as3cf-bucket-select-region").hide(),a(".as3cf-bucket-select-region").removeAttr("selected"),d.val(""),f.attr("disabled",!0),n=!0):j.showError(as3cf.strings.create_bucket_error,b.error,"as3cf-bucket-create")}})},isValidName:function(a){return a.length<3||a.length>63?!1:!0!==m.test(a)},updateNameNotice:function(b){var c=null;!0===m.test(b)?c=as3cf.strings.create_bucket_invalid_chars:b.length<3?c=as3cf.strings.create_bucket_name_short:b.length>63&&(c=as3cf.strings.create_bucket_name_long),c&&b.length>0?a(".as3cf-invalid-bucket-name").html(c):a(".as3cf-invalid-bucket-name").html("")}},a(document).ready(function(){var h=a(".wrap.aws-main .nav-tab-wrapper");if(a(".aws-compatibility-notice, div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(h),window.location.hash){var m=window.location.hash.substring(1);as3cf.tabs.toggle(m,!0)}else k=a("#tab-"+as3cf.tabs.defaultTab),a(".aws-main").attr("data-tab",as3cf.tabs.defaultTab);a(".aws-main").on("click",".nav-tab",function(b){if(b.preventDefault(),!a(this).hasClass("nav-tab-active")){var c=a(this).attr("data-tab");as3cf.tabs.toggle(c),"media"===c?(window.location.hash="","function"==typeof window.history.replaceState&&"#"===window.location.href.slice(-1)&&history.replaceState({},"",window.location.href.slice(0,-1))):window.location.hash=c}}),o.length&&o.each(function(a,b){l[b.id]=c(b.id)}),a(window).on("beforeunload.as3cf-settings",function(){if(!a.isEmptyObject(l)){var b=k.attr("id");return c(b)!==l[b]?as3cf.strings.save_alert:void 0}}),a(document).on("submit",".as3cf-main-settings form",function(b){a(window).off("beforeunload.as3cf-settings")}),a(".as3cf-switch").on("click",function(b){a(this).hasClass("disabled")||d(a(this).attr("id"))}),o.on("change",".sub-toggle",function(b){var c=a(this).attr("id");a(".as3cf-setting."+c).toggleClass("hide")}),a(".as3cf-domain").on("change",'input[type="radio"]',function(b){var c=a(this).closest('input:radio[name="domain"]:checked'),d=c.val(),e=a(this).parents(".as3cf-domain").find(".as3cf-setting.cloudfront"),f="cloudfront"===d;e.toggleClass("hide",!f)}),a(".url-preview").on("change","input",function(a){g()}),i(),a("#serve-from-s3,#remove-local-file").on("change",function(a){i()}),j(),a("#remove-local-file").on("change",function(a){j()}),a('.as3cf-setting input[type="text"]').keypress(function(a){return 13===a.which?(a.preventDefault(),!1):void 0}),a('input[name="cloudfront"]').on("keyup",function(b){e(a(this))}),a('input[name="domain"]').on("change",function(b){var c=a(this),d=a("#"+k.attr("id")+' form button[type="submit"]');"cloudfront"!==c.val()?d.attr("disabled",!1):e(c.next(".as3cf-setting").find('input[name="cloudfront"]'))}),a('input[name="object-prefix"]').on("change",function(a){f()}),a("#tab-media > .as3cf-bucket-error").detach().insertAfter(".as3cf-bucket-container h3"),a("body").on("click",".bucket-action-manual",function(c){c.preventDefault(),a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-manual").show().siblings().hide()}),a("body").on("click",".bucket-action-browse",function(c){c.preventDefault(),a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select").show().siblings().hide(),as3cf.buckets.loadList(n),n=!1}),a("body").on("click",".bucket-action-create",function(c){c.preventDefault(),a(".as3cf-bucket-name").val(""),a(".as3cf-invalid-bucket-name").html(""),a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-create").show().siblings().hide()}),a("body").on("click",".bucket-action-cancel",function(a){a.preventDefault(),as3cf.buckets.resetModal()}),a("body").on("click",".bucket-action-save",function(a){a.preventDefault(),as3cf.buckets.saveManual()}),a("body").on("click",'.as3cf-create-bucket-form button[type="submit"]',function(a){a.preventDefault(),as3cf.buckets.create()}),a("body").on("click",".bucket-action-refresh",function(a){a.preventDefault(),as3cf.buckets.loadList(!0)}),a("body").on("click",".as3cf-bucket-list a",function(b){b.preventDefault(),as3cf.buckets.saveSelected(a(this))}),a(".as3cf-bucket-container").on("click","a.js-link",function(b){return b.preventDefault(),window.open(a(this).attr("href")),!1}),a("body").on("as3cf-modal-open",function(c,d){if(".as3cf-bucket-container."+b.prefix===d){as3cf.buckets.resetModal();var e=a(".as3cf-bucket-manual h3").data("modal-title");a(".as3cf-bucket-manual h3").text(e),as3cf.buckets.disabledButtons()}}),as3cf.buckets.disabledButtons(),a("body").on("input keyup",".as3cf-create-bucket-form .as3cf-bucket-name",function(c){var d=a(this).val(),e=a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form");as3cf.buckets.isValidName(d)?e.find("button[type=submit]").removeAttr("disabled"):e.find("button[type=submit]").attr("disabled",!0),as3cf.buckets.updateNameNotice(d)}),a("body").on("input keyup",".as3cf-manual-save-bucket-form .as3cf-bucket-name",function(c){var d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form");d.find(".as3cf-bucket-name").val().length<as3cf.buckets.validLength?d.find("button[type=submit]").attr("disabled",!0):d.find("button[type=submit]").removeAttr("disabled")})})}(jQuery,as3cfModal);
1
+ !function(a,b){function c(b){return a("#"+b+" .as3cf-main-settings form").find("input:not(.no-compare)").serialize()}function d(a){var b=k.find("#"+a),c=b.find("input[type=checkbox]");b.toggleClass("on").find("span").toggleClass("checked");var d=b.find("span.on").hasClass("checked");c.attr("checked",d).trigger("change")}function e(b){var c=b.next(".as3cf-validation-error"),d=a("#"+k.attr("id")+' form button[type="submit"]'),e=/[^a-zA-Z0-9\.\-]/;e.test(b.val())?(c.show(),d.attr("disabled",!0)):(c.hide(),d.attr("disabled",!1))}function f(){var c=a("#"+b.prefix+"-bucket").val(),d=k.find('input[name="object-prefix"]'),e=d.val();""!==e&&(e="&prefix="+encodeURIComponent(e));var f=as3cf.aws_bucket_link+c+e;a("#"+b.prefix+"-view-bucket").attr("href",f)}function g(){a(".as3cf-url-preview").html("Generating...");var b={_nonce:as3cf.nonces.get_url_preview};a.each(a("#tab-"+as3cf.tabs.defaultTab+" .as3cf-main-settings form").serializeArray(),function(c,d){var e=d.name,f=d.value;e=e.replace("[]",""),b[e]=void 0===b[e]?f:a.isArray(b[e])?b[e].concat(f):[b[e],f]}),b.action="as3cf-get-url-preview",a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:b,error:function(a,b,c){alert(as3cf.strings.get_url_preview_error+c)},success:function(b,c,d){"undefined"!=typeof b.success?a(".as3cf-url-preview").html(b.url):alert(as3cf.strings.get_url_preview_error+b.error)}})}function h(a){as3cf.buckets.bucketSelectLock=!1}function i(){a("#remove-local-file").is(":checked")&&a("#serve-from-s3").is(":not(:checked)")?a("#as3cf-lost-files-notice").show():a("#as3cf-lost-files-notice").hide()}function j(){a("#remove-local-file").is(":checked")?a("#as3cf-remove-local-notice").show():a("#as3cf-remove-local-notice").hide()}var k,l={},m=/[^a-z0-9.-]/,n=!1,o=a(".as3cf-tab");as3cf.tabs={defaultTab:"media",toggle:function(c,d){c=as3cf.tabs.sanitizeHash(c),o.hide(),k=a("#tab-"+c),k.show(),a(".nav-tab").removeClass("nav-tab-active"),a('a.nav-tab[data-tab="'+c+'"]').addClass("nav-tab-active"),a(".aws-main").attr("data-tab",c),k.attr("data-prefix")&&(b.prefix=k.attr("data-prefix")),d||a(".as3cf-updated").removeClass("show"),"support"===c&&as3cf.tabs.getDiagnosticInfo()},getDiagnosticInfo:function(){var b=a(".debug-log-textarea");b.html(as3cf.strings.get_diagnostic_info);var c={action:"as3cf-get-diagnostic-info",_nonce:as3cf.nonces.get_diagnostic_info};a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:c,error:function(a,c,d){b.html(d)},success:function(a,c,d){"undefined"!=typeof a.success?b.html(a.diagnostic_info):(b.html(as3cf.strings.get_diagnostic_info_error),b.append(a.error))}})},sanitizeHash:function(b){var c=a("#tab-"+b);return 0===c.length&&(b=as3cf.tabs.defaultTab),b}},as3cf.buckets={validLength:3,bucketSelectLock:!1,loadList:function(c){"undefined"==typeof c&&(c=!1);var d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-list"),e=a("#"+b.prefix+"-bucket").val();if(!1===c&&d.find("li").length>1)return a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+e+'"]').addClass("selected"),void this.scrollToSelected();d.html('<li class="loading">'+d.attr("data-working")+"</li>");var f={action:b.prefix+"-get-buckets",_nonce:window[b.prefix.replace(/-/g,"_")].nonces.get_buckets},g=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:f,error:function(a,b,c){d.html(""),g.showError(as3cf.strings.get_buckets_error,c,"as3cf-bucket-select")},success:function(b,c,f){d.html(""),"undefined"!=typeof b.success?(a(".as3cf-bucket-error").hide(),a(b.buckets).each(function(a,b){var c=b.Name===e?"selected":"";d.append('<li><a class="'+c+'" href="#" data-bucket="'+b.Name+'"><span class="bucket"><span class="dashicons dashicons-portfolio"></span> '+b.Name+'</span><span class="spinner"></span></span></a></li>')}),g.scrollToSelected()):g.showError(as3cf.strings.get_buckets_error,b.error,"as3cf-bucket-select")}})},scrollToSelected:function(){if(a(".as3cf-bucket-list a.selected").length){var b=a("ul.as3cf-bucket-list li").first().position().top+150;a(".as3cf-bucket-list").animate({scrollTop:a("ul.as3cf-bucket-list li a.selected").position().top-b})}},resetModal:function(){var c=a(".as3cf-bucket-container."+b.prefix);!1===k.hasClass("as3cf-has-bucket")||"manual"===a("#"+b.prefix+"-bucket-select").val()?(c.find(".as3cf-bucket-manual").show().siblings().hide(),c.find(".bucket-actions.manual").show().siblings(".bucket-actions").hide()):(c.find(".as3cf-bucket-select").show().siblings().hide(),c.find(".bucket-actions.select").show().siblings(".bucket-actions").hide(),this.loadList(n),n=!1),c.find(".as3cf-bucket-error").hide();var d=a("#"+b.prefix+"-bucket").val();c.find(".as3cf-bucket-manual .as3cf-bucket-name").val(d),this.bucketSelectLock=!1},saveManual:function(){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form"),d=c.find(".as3cf-bucket-name"),e=c.find("button[type=submit]"),f=d.val(),g=e.first().text();if(f===a("#"+b.prefix+"-active-bucket").text())return a(".as3cf-bucket-error").hide(),k.addClass("as3cf-has-bucket"),void b.close();a(".as3cf-bucket-error").hide(),e.text(e.attr("data-working")),e.prop("disabled",!0);var h={action:b.prefix+"-manual-save-bucket",bucket_name:f,_nonce:window[b.prefix.replace(/-/g,"_")].nonces.manual_bucket},i=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:h,error:function(a,b,c){e.text(g),i.showError(as3cf.strings.save_bucket_error,c,"as3cf-bucket-manual")},success:function(c,d,h){e.text(g),e.prop("disabled",!1),"undefined"!=typeof c.success?(i.set(f,c.region,c.can_write),a("#"+b.prefix+"-bucket-select").val("manual"),a(".as3cf-bucket-list a").removeClass("selected").filter('[data-bucket="'+f+'"]').addClass("selected"),n=!0):i.showError(as3cf.strings.save_bucket_error,c.error,"as3cf-bucket-manual")}})},saveSelected:function(c){var d=a(".as3cf-bucket-list");if(!this.bucketSelectLock){if(this.bucketSelectLock=!0,c.hasClass("selected"))return k.addClass("as3cf-has-bucket"),void b.close();var e=a(".as3cf-bucket-list a.selected").attr("data-bucket");a(".as3cf-bucket-list a").removeClass("selected"),c.addClass("selected"),d.addClass("saving"),c.find(".spinner").show().css("visibility","visible");var f=c.attr("data-bucket"),g={action:b.prefix+"-save-bucket",bucket_name:f,_nonce:window[b.prefix.replace(/-/g,"_")].nonces.save_bucket},h=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:g,error:function(b,c,f){d.removeClass("saving"),h.showError(as3cf.strings.save_bucket_error,f,"as3cf-bucket-select"),a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+e+'"]').addClass("selected")},success:function(g,i,j){c.find(".spinner").hide().css("visibility","hidden"),d.removeClass("saving"),"undefined"!=typeof g.success?(h.set(f,g.region,g.can_write),a("#"+b.prefix+"-bucket-select").val("")):(h.showError(as3cf.strings.save_bucket_error,g.error,"as3cf-bucket-select"),a(".as3cf-bucket-list a").removeClass("selected"),a('.as3cf-bucket-list a[data-bucket="'+e+'"]').addClass("selected"))}})}},disabledButtons:function(){if(0!==a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form").length){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form"),d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form");c.find(".as3cf-bucket-name").val().length<3?c.find("button[type=submit]").attr("disabled",!0):c.find("button[type=submit]").attr("disabled",!1),d.find(".as3cf-bucket-name").val().length<3?d.find("button[type=submit]").attr("disabled",!0):d.find("button[type=submit]").attr("disabled",!1)}},showError:function(b,c,d){var e=a(".as3cf-bucket-container").children(":visible"),f=e.find(".as3cf-bucket-error");d="undefined"==typeof d?null:d,d&&!e.hasClass(d)||(f.find("span.title").html(b+" &mdash;"),f.find("span.message").html(c),f.show(),this.bucketSelectLock=!1)},set:function(e,i,j){var m=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form"),n=a("#"+b.prefix+"-active-bucket");if("as3cf"===b.prefix&&0===n.text().trim().length){d("copy-to-s3-wrap"),d("serve-from-s3-wrap");var o=k.attr("id");l[o]=c(o)}a(".as3cf-error.fatal").hide(),n.text(e),m.find(".as3cf-bucket-name").val(e),a("#"+b.prefix+"-bucket").val(e),a("#"+b.prefix+"-region").val(i),a(".updated").not(".as3cf-notice").show(),k.addClass("as3cf-has-bucket"),k.find(".as3cf-can-write-error").toggle(!j),k.find(".as3cf-bucket-error").hide(),"as3cf"===b.prefix&&g(),f(),b.close(h)},create:function(){var c=a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form"),d=c.find(".as3cf-bucket-name"),e=c.find(".bucket-create-region"),f=c.find("button[type=submit]"),g=d.val(),h=f.text();a(".as3cf-bucket-error").hide(),f.text(f.attr("data-working")),f.prop("disabled",!0);var i={action:b.prefix+"-create-bucket",bucket_name:g,_nonce:window[b.prefix.replace(/-/g,"_")].nonces.create_bucket};e.val()&&(i.region=e.val());var j=this;a.ajax({url:ajaxurl,type:"POST",dataType:"JSON",data:i,error:function(a,b,c){f.text(h),j.showError(as3cf.strings.create_bucket_error,c,"as3cf-bucket-create")},success:function(b,c,e){f.text(h),f.prop("disabled",!1),"undefined"!=typeof b.success?(j.set(g,b.region,b.can_write),a(".as3cf-bucket-select-region").hide(),a(".as3cf-bucket-select-region").removeAttr("selected"),d.val(""),f.attr("disabled",!0),n=!0):j.showError(as3cf.strings.create_bucket_error,b.error,"as3cf-bucket-create")}})},isValidName:function(a){return!(a.length<3||a.length>63)&&!0!==m.test(a)},updateNameNotice:function(b){var c=null;!0===m.test(b)?c=as3cf.strings.create_bucket_invalid_chars:b.length<3?c=as3cf.strings.create_bucket_name_short:b.length>63&&(c=as3cf.strings.create_bucket_name_long),c&&b.length>0?a(".as3cf-invalid-bucket-name").html(c):a(".as3cf-invalid-bucket-name").html("")}},a(document).ready(function(){var h=a(".wrap.aws-main .nav-tab-wrapper");if(a(".aws-compatibility-notice, div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(h),window.location.hash){var m=window.location.hash.substring(1);as3cf.tabs.toggle(m,!0)}else k=a("#tab-"+as3cf.tabs.defaultTab),a(".aws-main").attr("data-tab",as3cf.tabs.defaultTab);a(".aws-main").on("click",".nav-tab",function(b){if(b.preventDefault(),!a(this).hasClass("nav-tab-active")){var c=a(this).attr("data-tab");as3cf.tabs.toggle(c),"media"===c?(window.location.hash="","function"==typeof window.history.replaceState&&"#"===window.location.href.slice(-1)&&history.replaceState({},"",window.location.href.slice(0,-1))):window.location.hash=c}}),o.length&&o.each(function(a,b){l[b.id]=c(b.id)}),a(window).on("beforeunload.as3cf-settings",function(){if(!a.isEmptyObject(l)){var b=k.attr("id");return c(b)!==l[b]?as3cf.strings.save_alert:void 0}}),a(document).on("submit",".as3cf-main-settings form",function(b){a(window).off("beforeunload.as3cf-settings")}),a(".as3cf-switch").on("click",function(b){a(this).hasClass("disabled")||d(a(this).attr("id"))}),o.on("change",".sub-toggle",function(b){var c=a(this).attr("id");a(".as3cf-setting."+c).toggleClass("hide")}),a(".as3cf-domain").on("change",'input[type="radio"]',function(b){var c=a(this).closest('input:radio[name="domain"]:checked'),d=c.val(),e=a(this).parents(".as3cf-domain").find(".as3cf-setting.cloudfront"),f="cloudfront"===d;e.toggleClass("hide",!f)}),a(".url-preview").on("change","input",function(a){g()}),i(),a("#serve-from-s3,#remove-local-file").on("change",function(a){i()}),j(),a("#remove-local-file").on("change",function(a){j()}),a('.as3cf-setting input[type="text"]').keypress(function(a){if(13===a.which)return a.preventDefault(),!1}),a('input[name="cloudfront"]').on("keyup",function(b){e(a(this))}),a('input[name="domain"]').on("change",function(b){var c=a(this),d=a("#"+k.attr("id")+' form button[type="submit"]');"cloudfront"!==c.val()?d.attr("disabled",!1):e(c.next(".as3cf-setting").find('input[name="cloudfront"]'))}),a('input[name="object-prefix"]').on("change",function(a){f()}),a("#tab-media > .as3cf-bucket-error").detach().insertAfter(".as3cf-bucket-container h3"),a("body").on("click",".bucket-action-manual",function(c){c.preventDefault(),a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-manual").show().siblings().hide()}),a("body").on("click",".bucket-action-browse",function(c){c.preventDefault(),a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-select").show().siblings().hide(),as3cf.buckets.loadList(n),n=!1}),a("body").on("click",".bucket-action-create",function(c){c.preventDefault(),a(".as3cf-bucket-name").val(""),a(".as3cf-invalid-bucket-name").html(""),a(".as3cf-bucket-container."+b.prefix+" .as3cf-bucket-create").show().siblings().hide()}),a("body").on("click",".bucket-action-cancel",function(a){a.preventDefault(),as3cf.buckets.resetModal()}),a("body").on("click",".bucket-action-save",function(a){a.preventDefault(),as3cf.buckets.saveManual()}),a("body").on("click",'.as3cf-create-bucket-form button[type="submit"]',function(a){a.preventDefault(),as3cf.buckets.create()}),a("body").on("click",".bucket-action-refresh",function(a){a.preventDefault(),as3cf.buckets.loadList(!0)}),a("body").on("click",".as3cf-bucket-list a",function(b){b.preventDefault(),as3cf.buckets.saveSelected(a(this))}),a(".as3cf-bucket-container").on("click","a.js-link",function(b){return b.preventDefault(),window.open(a(this).attr("href")),!1}),a("body").on("as3cf-modal-open",function(c,d){if(".as3cf-bucket-container."+b.prefix===d){as3cf.buckets.resetModal();var e=a(".as3cf-bucket-manual h3").data("modal-title");a(".as3cf-bucket-manual h3").text(e),as3cf.buckets.disabledButtons()}}),as3cf.buckets.disabledButtons(),a("body").on("input keyup",".as3cf-create-bucket-form .as3cf-bucket-name",function(c){var d=a(this).val(),e=a(".as3cf-bucket-container."+b.prefix+" .as3cf-create-bucket-form");as3cf.buckets.isValidName(d)?e.find("button[type=submit]").removeAttr("disabled"):e.find("button[type=submit]").attr("disabled",!0),as3cf.buckets.updateNameNotice(d)}),a("body").on("input keyup",".as3cf-manual-save-bucket-form .as3cf-bucket-name",function(c){var d=a(".as3cf-bucket-container."+b.prefix+" .as3cf-manual-save-bucket-form");d.find(".as3cf-bucket-name").val().length<as3cf.buckets.validLength?d.find("button[type=submit]").attr("disabled",!0):d.find("button[type=submit]").removeAttr("disabled")})})}(jQuery,as3cfModal);
assets/sass/styles.scss CHANGED
@@ -1,4 +1,3 @@
1
-
2
  /**
3
  * AWS wrap
4
  */
@@ -17,7 +16,6 @@
17
 
18
  .as3cf-error.fatal {
19
  clear: both;
20
- float: left;
21
  }
22
 
23
  h2.nav-tab-wrapper {
@@ -42,25 +40,25 @@
42
  white-space: nowrap;
43
  }
44
 
45
- .error {
46
- pre {
47
- background: #eaeaea;
48
- background: rgba(0, 0, 0, 0.07);
49
- display: block;
50
- padding: 10px 15px;
51
 
52
- code {
53
- padding: 0;
54
- background: none;
55
- }
 
56
  }
57
- }
58
 
59
  &[data-tab="support"] {
60
  .as3cf-notice, .error, .updated, .updated.show {
61
  display: none;
62
  }
63
- .fatal .error, .as3cf-notice.important, .dbrains-api-down {
64
  display: block;
65
  }
66
  }
@@ -72,12 +70,12 @@
72
  box-sizing: border-box;
73
  }
74
 
75
- .as3cf-updated {
76
- display: none;
77
- &.as3cf-notice, &.show {
78
- display: block;
 
79
  }
80
- }
81
  }
82
 
83
  /**
@@ -108,23 +106,23 @@
108
  */
109
  .as3cf-tab {
110
  display: none;
111
- position: relative;
112
- width: 650px;
113
 
114
  .as3cf-main-settings {
115
- p {
116
- font-size: 13px;
117
- a {
118
- color: #444;
119
- }
 
120
  }
121
- }
122
 
123
- .object-prefix-desc {
124
- em {
125
- white-space: nowrap;
126
- }
127
- }
128
 
129
  .as3cf-url-preview-wrap {
130
  background: #fff;
@@ -148,26 +146,26 @@
148
  }
149
  }
150
 
151
- .as3cf-radio-group {
152
- label {
153
- display: block;
154
- margin-bottom: 10px;
155
- &.disabled, &.disabled p {
156
- color: #bbbbbb;
157
- cursor: default;
158
- }
159
- }
160
 
161
- p {
162
- padding-left: 25px;
163
- color: #6b6b6b;
164
- margin: 0;
165
- font-size: 12px;
166
- &.as3cf-setting {
167
- margin-top: 5px;
168
- }
 
169
  }
170
- }
171
 
172
  .as3cf-switch {
173
  position: relative;
@@ -230,17 +228,21 @@
230
  }
231
  }
232
 
233
- .as3cf-setting {
234
- &.hide{
235
- display: none;
 
 
 
 
 
236
  }
237
- }
238
 
239
- h3 {
240
- font-weight: normal;
241
- text-transform: uppercase;
242
- margin: 15px 0;
243
- }
244
 
245
  .form-table {
246
  margin: 0;
@@ -282,7 +284,7 @@
282
  tr.as3cf-bucket-setting .as3cf-defined-in-config {
283
  float: none;
284
  }
285
-
286
  h3 {
287
  padding: 0;
288
  margin: 0;
@@ -311,95 +313,95 @@
311
  }
312
  }
313
 
314
- .tooltip {
315
- position: relative;
316
- z-index: 2;
317
- cursor: pointer;
318
- }
319
-
320
- /* Hide the tooltip content by default */
321
- .tooltip:before,
322
- .tooltip:after {
323
- visibility: hidden;
324
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
325
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
326
- opacity: 0;
327
- pointer-events: none;
328
- }
329
-
330
- /* Position tooltip above the element */
331
- .tooltip:before {
332
- position: absolute;
333
- bottom: 150%;
334
- left: 50%;
335
- margin-bottom: 5px;
336
- margin-left: -250px;
337
- padding: 10px;
338
- width: 500px;
339
- -webkit-border-radius: 3px;
340
- -moz-border-radius: 3px;
341
- border-radius: 3px;
342
- background-color: #000;
343
- background-color: hsla(0, 0%, 20%, 0.9);
344
- color: #fff;
345
- content: attr(data-tooltip);
346
- text-align: center;
347
- font-size: 14px;
348
- line-height: 1.3;
349
- }
350
-
351
- /* Triangle hack to make tooltip look like a speech bubble */
352
- .tooltip:after {
353
- position: absolute;
354
- bottom: 150%;
355
- left: 50%;
356
- margin-left: -5px;
357
- width: 0;
358
- border-top: 5px solid #000;
359
- border-top: 5px solid hsla(0, 0%, 20%, 0.9);
360
- border-right: 5px solid transparent;
361
- border-left: 5px solid transparent;
362
- content: " ";
363
- font-size: 0;
364
- line-height: 0;
365
- }
366
-
367
- /* Show tooltip content on hover */
368
- .tooltip:hover:before,
369
- .tooltip:hover:after {
370
- visibility: visible;
371
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
372
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
373
- opacity: 1;
374
- }
375
-
376
- .as3cf-defined-in-config {
377
- background: #ccc;
378
- color: #fff;
379
- padding: 2px 5px;
380
- margin: 0 0 5px 5px;
381
- float: right;
382
- }
383
 
384
- .as3cf-defined-setting {
385
- color: #bbb;
 
 
 
 
 
 
 
386
 
387
- label {
388
- cursor: default;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
  }
390
 
391
- p .more-info a {
392
- color: #bbb;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
393
  }
394
 
395
- .as3cf-radio-group p {
396
  color: #bbb;
397
- }
398
 
399
- .as3cf-notice {
400
- display: none !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  }
402
- }
403
  }
404
 
405
  /**
@@ -509,12 +511,12 @@
509
  text-decoration: none;
510
 
511
  &:hover {
512
- color: #0074A2;
513
  }
514
 
515
  &.selected {
516
  font-weight: bold;
517
- color: #0074A2;
518
  }
519
 
520
  .dashicons {
@@ -567,141 +569,140 @@
567
  * Sidebar
568
  */
569
  .as3cf-sidebar {
570
- position: absolute;
571
  top: 9px;
572
  left: 670px;
573
- width: 292px;
574
 
575
- .block {
576
- padding: 20px;
577
- border: 1px solid #ccc;
578
- }
579
 
580
- .subscribe {
581
- border-top: none;
582
 
583
- h2 {
584
- padding: 0;
585
- margin: 0;
586
- margin-bottom: 0.5em;
587
- color: #666;
588
- font-size: 20px;
589
- line-height: 1.2em;
590
- float: none;
591
- }
592
 
593
- h3 {
594
- font-size: 16px;
595
- margin: 0;
596
- }
597
 
598
- p {
599
- margin: 0;
600
- }
601
 
602
- .intro {
603
- margin-bottom: 1em;
604
- line-height: 1.4;
605
- }
606
 
607
- li {
608
- line-height: 1.4;
609
- }
610
 
611
- .links {
612
- margin-bottom: 2em;
613
 
614
- a {
615
- text-decoration: none;
616
- }
617
- }
618
 
619
- .promise {
620
- color: #999;
621
- font-size: 12px;
622
- line-height: 1.4em;
623
- }
624
 
625
- .field {
626
- margin-bottom: 0.5em;
627
 
628
- p {
629
- margin-bottom: 0.3em;
630
- }
631
 
632
- input[type=text], input[type=email] {
633
- width: 100%;
634
- }
635
 
636
- &.submit-button {
637
- margin-bottom: 1em;
638
- }
 
639
  }
640
- }
641
 
642
- .credits {
643
- border-top: 0;
644
 
645
- h4 {
646
- font-size: 16px;
647
- margin-top: 0;
648
- margin-bottom: 10px;
649
- }
650
 
651
- ul {
652
- margin: 0;
653
- }
654
 
655
- li {
656
- overflow: hidden;
657
- }
658
 
659
- li:last-child {
660
- margin-bottom: 0;
661
- }
662
 
663
- img {
664
- float: left;
665
- margin-right: 10px;
666
- }
667
 
668
- span {
669
- float: left;
670
- display: block;
671
- line-height: 32px;
672
- }
673
 
674
- a {
675
- display: block;
676
- text-decoration: none;
677
- color: #444;
678
- font-size: 16px;
679
- text-align: center;
680
 
681
- &:hover {
682
- color: #888;
683
- }
 
684
  }
685
- }
686
 
687
- @media (min--moz-device-pixel-ratio: 1.3),
688
- (-o-min-device-pixel-ratio: 2.6/2),
689
- (-webkit-min-device-pixel-ratio: 1.3),
690
- (min-device-pixel-ratio: 1.3),
691
- (min-resolution: 1.3dppx) {
692
 
693
- .as3cf-banner {
694
- background-image: url(../img/snail-banner@2x.jpg);
695
- background-size: 292px 156px;
 
696
  }
697
- }
698
 
699
- @media screen and (max-width: 1052px) {
700
- position: relative;
701
- top: auto;
702
- right: auto;
703
- margin-top: 50px;
704
- }
705
  }
706
 
707
  /**
@@ -788,4 +789,4 @@
788
  padding-left: 40px;
789
  color: #dc3232;
790
  }
791
- }
 
1
  /**
2
  * AWS wrap
3
  */
16
 
17
  .as3cf-error.fatal {
18
  clear: both;
 
19
  }
20
 
21
  h2.nav-tab-wrapper {
40
  white-space: nowrap;
41
  }
42
 
43
+ .error {
44
+ pre {
45
+ background: #eaeaea;
46
+ background: rgba(0, 0, 0, 0.07);
47
+ display: block;
48
+ padding: 10px 15px;
49
 
50
+ code {
51
+ padding: 0;
52
+ background: none;
53
+ }
54
+ }
55
  }
 
56
 
57
  &[data-tab="support"] {
58
  .as3cf-notice, .error, .updated, .updated.show {
59
  display: none;
60
  }
61
+ .fatal .error, .as3cf-notice.important, .dbrains-api-down {
62
  display: block;
63
  }
64
  }
70
  box-sizing: border-box;
71
  }
72
 
73
+ .as3cf-updated {
74
+ display: none;
75
+ &.as3cf-notice, &.show {
76
+ display: block;
77
+ }
78
  }
 
79
  }
80
 
81
  /**
106
  */
107
  .as3cf-tab {
108
  display: none;
109
+ position: relative;
110
+ width: 650px;
111
 
112
  .as3cf-main-settings {
113
+ p {
114
+ font-size: 13px;
115
+ a {
116
+ color: #444;
117
+ }
118
+ }
119
  }
 
120
 
121
+ .object-prefix-desc {
122
+ em {
123
+ white-space: nowrap;
124
+ }
125
+ }
126
 
127
  .as3cf-url-preview-wrap {
128
  background: #fff;
146
  }
147
  }
148
 
149
+ .as3cf-radio-group {
150
+ label {
151
+ display: block;
152
+ margin-bottom: 10px;
153
+ &.disabled, &.disabled p {
154
+ color: #bbb;
155
+ cursor: default;
156
+ }
157
+ }
158
 
159
+ p {
160
+ padding-left: 25px;
161
+ color: #6b6b6b;
162
+ margin: 0;
163
+ font-size: 12px;
164
+ &.as3cf-setting {
165
+ margin-top: 5px;
166
+ }
167
+ }
168
  }
 
169
 
170
  .as3cf-switch {
171
  position: relative;
228
  }
229
  }
230
 
231
+ .as3cf-setting {
232
+ &.hide {
233
+ display: none;
234
+ }
235
+ }
236
+
237
+ div.as3cf-setting {
238
+ margin-top: 4px;
239
  }
 
240
 
241
+ h3 {
242
+ font-weight: normal;
243
+ text-transform: uppercase;
244
+ margin: 15px 0;
245
+ }
246
 
247
  .form-table {
248
  margin: 0;
284
  tr.as3cf-bucket-setting .as3cf-defined-in-config {
285
  float: none;
286
  }
287
+
288
  h3 {
289
  padding: 0;
290
  margin: 0;
313
  }
314
  }
315
 
316
+ .tooltip {
317
+ position: relative;
318
+ z-index: 2;
319
+ cursor: pointer;
320
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
321
 
322
+ /* Hide the tooltip content by default */
323
+ .tooltip:before,
324
+ .tooltip:after {
325
+ visibility: hidden;
326
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
327
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
328
+ opacity: 0;
329
+ pointer-events: none;
330
+ }
331
 
332
+ /* Position tooltip above the element */
333
+ .tooltip:before {
334
+ position: absolute;
335
+ bottom: 150%;
336
+ left: 50%;
337
+ margin-bottom: 5px;
338
+ margin-left: -250px;
339
+ padding: 10px;
340
+ width: 500px;
341
+ -webkit-border-radius: 3px;
342
+ -moz-border-radius: 3px;
343
+ border-radius: 3px;
344
+ background-color: #000;
345
+ background-color: hsla(0, 0%, 20%, 0.9);
346
+ color: #fff;
347
+ content: attr(data-tooltip);
348
+ text-align: center;
349
+ font-size: 14px;
350
+ line-height: 1.3;
351
  }
352
 
353
+ /* Triangle hack to make tooltip look like a speech bubble */
354
+ .tooltip:after {
355
+ position: absolute;
356
+ bottom: 150%;
357
+ left: 50%;
358
+ margin-left: -5px;
359
+ width: 0;
360
+ border-top: 5px solid #000;
361
+ border-top: 5px solid hsla(0, 0%, 20%, 0.9);
362
+ border-right: 5px solid transparent;
363
+ border-left: 5px solid transparent;
364
+ content: " ";
365
+ font-size: 0;
366
+ line-height: 0;
367
+ }
368
+
369
+ /* Show tooltip content on hover */
370
+ .tooltip:hover:before,
371
+ .tooltip:hover:after {
372
+ visibility: visible;
373
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
374
+ filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
375
+ opacity: 1;
376
+ }
377
+
378
+ .as3cf-defined-in-config {
379
+ background: #ccc;
380
+ color: #fff;
381
+ padding: 2px 5px;
382
+ margin: 0 0 5px 5px;
383
+ float: right;
384
  }
385
 
386
+ .as3cf-defined-setting {
387
  color: #bbb;
 
388
 
389
+ label {
390
+ cursor: default;
391
+ }
392
+
393
+ p .more-info a {
394
+ color: #bbb;
395
+ }
396
+
397
+ .as3cf-radio-group p {
398
+ color: #bbb;
399
+ }
400
+
401
+ .as3cf-notice {
402
+ display: none !important;
403
+ }
404
  }
 
405
  }
406
 
407
  /**
511
  text-decoration: none;
512
 
513
  &:hover {
514
+ color: #0074a2;
515
  }
516
 
517
  &.selected {
518
  font-weight: bold;
519
+ color: #0074a2;
520
  }
521
 
522
  .dashicons {
569
  * Sidebar
570
  */
571
  .as3cf-sidebar {
572
+ position: absolute;
573
  top: 9px;
574
  left: 670px;
575
+ width: 292px;
576
 
577
+ .block {
578
+ padding: 20px;
579
+ border: 1px solid #ccc;
580
+ }
581
 
582
+ .subscribe {
583
+ border-top: none;
584
 
585
+ h2 {
586
+ padding: 0;
587
+ margin: 0;
588
+ margin-bottom: 0.5em;
589
+ color: #666;
590
+ font-size: 20px;
591
+ line-height: 1.2em;
592
+ float: none;
593
+ }
594
 
595
+ h3 {
596
+ font-size: 16px;
597
+ margin: 0;
598
+ }
599
 
600
+ p {
601
+ margin: 0;
602
+ }
603
 
604
+ .intro {
605
+ margin-bottom: 1em;
606
+ line-height: 1.4;
607
+ }
608
 
609
+ li {
610
+ line-height: 1.4;
611
+ }
612
 
613
+ .links {
614
+ margin-bottom: 2em;
615
 
616
+ a {
617
+ text-decoration: none;
618
+ }
619
+ }
620
 
621
+ .promise {
622
+ color: #999;
623
+ font-size: 12px;
624
+ line-height: 1.4em;
625
+ }
626
 
627
+ .field {
628
+ margin-bottom: 0.5em;
629
 
630
+ p {
631
+ margin-bottom: 0.3em;
632
+ }
633
 
634
+ input[type=text], input[type=email] {
635
+ width: 100%;
636
+ }
637
 
638
+ &.submit-button {
639
+ margin-bottom: 1em;
640
+ }
641
+ }
642
  }
 
643
 
644
+ .credits {
645
+ border-top: 0;
646
 
647
+ h4 {
648
+ font-size: 16px;
649
+ margin-top: 0;
650
+ margin-bottom: 10px;
651
+ }
652
 
653
+ ul {
654
+ margin: 0;
655
+ }
656
 
657
+ li {
658
+ overflow: hidden;
659
+ }
660
 
661
+ li:last-child {
662
+ margin-bottom: 0;
663
+ }
664
 
665
+ img {
666
+ float: left;
667
+ margin-right: 10px;
668
+ }
669
 
670
+ span {
671
+ float: left;
672
+ display: block;
673
+ line-height: 32px;
674
+ }
675
 
676
+ a {
677
+ display: block;
678
+ text-decoration: none;
679
+ color: #444;
680
+ font-size: 16px;
681
+ text-align: center;
682
 
683
+ &:hover {
684
+ color: #888;
685
+ }
686
+ }
687
  }
 
688
 
689
+ @media (min--moz-device-pixel-ratio: 1.3),
690
+ (-o-min-device-pixel-ratio: 2.6/2),
691
+ (-webkit-min-device-pixel-ratio: 1.3),
692
+ (min-device-pixel-ratio: 1.3),
693
+ (min-resolution: 1.3dppx) {
694
 
695
+ .as3cf-banner {
696
+ background-image: url(../img/snail-banner@2x.jpg);
697
+ background-size: 292px 156px;
698
+ }
699
  }
 
700
 
701
+ @media screen and (max-width: 1052px) {
702
+ position: relative;
703
+ top: auto;
704
+ right: auto;
705
+ }
 
706
  }
707
 
708
  /**
789
  padding-left: 40px;
790
  color: #dc3232;
791
  }
792
+ }
classes/amazon-s3-and-cloudfront.php CHANGED
@@ -2457,6 +2457,15 @@ class Amazon_S3_And_CloudFront extends AWS_Plugin_Base {
2457
  );
2458
  }
2459
 
 
 
 
 
 
 
 
 
 
2460
  /**
2461
  * Handle the saving of the settings page
2462
  */
@@ -2475,7 +2484,8 @@ class Amazon_S3_And_CloudFront extends AWS_Plugin_Base {
2475
 
2476
  do_action( 'as3cf_pre_save_settings' );
2477
 
2478
- $post_vars = $this->get_settings_whitelist();
 
2479
 
2480
  foreach ( $post_vars as $var ) {
2481
  $this->remove_setting( $var );
@@ -2484,7 +2494,11 @@ class Amazon_S3_And_CloudFront extends AWS_Plugin_Base {
2484
  continue;
2485
  }
2486
 
2487
- $value = sanitize_text_field( $_POST[ $var ] ); // input var okay
 
 
 
 
2488
 
2489
  $this->set_setting( $var, $value );
2490
  }
@@ -2678,19 +2692,30 @@ class Amazon_S3_And_CloudFront extends AWS_Plugin_Base {
2678
  /**
2679
  * Get all the blog IDs for the multisite network used for table prefixes
2680
  *
2681
- * @return array
2682
  */
2683
- function get_blog_ids() {
 
 
 
 
2684
  $args = array(
2685
  'limit' => false,
2686
  'spam' => 0,
2687
  'deleted' => 0,
2688
  'archived' => 0,
2689
  );
2690
- $blogs = wp_get_sites( $args );
 
 
 
 
 
2691
 
2692
  $blog_ids = array();
 
2693
  foreach ( $blogs as $blog ) {
 
2694
  $blog_ids[] = $blog['blog_id'];
2695
  }
2696
 
2457
  );
2458
  }
2459
 
2460
+ /**
2461
+ * List of settings that should skip full sanitize.
2462
+ *
2463
+ * @return array
2464
+ */
2465
+ function get_skip_sanitize_settings() {
2466
+ return array();
2467
+ }
2468
+
2469
  /**
2470
  * Handle the saving of the settings page
2471
  */
2484
 
2485
  do_action( 'as3cf_pre_save_settings' );
2486
 
2487
+ $post_vars = $this->get_settings_whitelist();
2488
+ $skip_sanitize = $this->get_skip_sanitize_settings();
2489
 
2490
  foreach ( $post_vars as $var ) {
2491
  $this->remove_setting( $var );
2494
  continue;
2495
  }
2496
 
2497
+ if ( in_array( $var, $skip_sanitize ) ) {
2498
+ $value = wp_strip_all_tags( $_POST[ $var ] ); // input var okay
2499
+ } else {
2500
+ $value = sanitize_text_field( $_POST[ $var ] ); // input var okay
2501
+ }
2502
 
2503
  $this->set_setting( $var, $value );
2504
  }
2692
  /**
2693
  * Get all the blog IDs for the multisite network used for table prefixes
2694
  *
2695
+ * @return false|array
2696
  */
2697
+ public function get_blog_ids() {
2698
+ if ( ! is_multisite() ) {
2699
+ return false;
2700
+ }
2701
+
2702
  $args = array(
2703
  'limit' => false,
2704
  'spam' => 0,
2705
  'deleted' => 0,
2706
  'archived' => 0,
2707
  );
2708
+
2709
+ if ( version_compare( $GLOBALS['wp_version'], '4.6', '>=' ) ) {
2710
+ $blogs = get_sites( $args );
2711
+ } else {
2712
+ $blogs = wp_get_sites( $args );
2713
+ }
2714
 
2715
  $blog_ids = array();
2716
+
2717
  foreach ( $blogs as $blog ) {
2718
+ $blog = (array) $blog;
2719
  $blog_ids[] = $blog['blog_id'];
2720
  }
2721
 
classes/wp-aws-uninstall.php DELETED
@@ -1,263 +0,0 @@
1
- <?php
2
- /**
3
- * WP AWS Uninstall
4
- *
5
- * @package wp-aws
6
- * @copyright Copyright (c) 2015, Delicious Brains
7
- * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
8
- * @since 0.1
9
- */
10
-
11
- // Exit if accessed directly
12
- if ( ! defined( 'ABSPATH' ) ) {
13
- exit;
14
- }
15
-
16
- // Check if already defined
17
- if ( ! class_exists( 'WP_AWS_Uninstall' ) ) {
18
-
19
- /**
20
- * WP_AWS_Uninstall Class
21
- *
22
- * This class handles shared functions for uninstalling AWS plugins
23
- *
24
- * @since 0.1
25
- */
26
- class WP_AWS_Uninstall {
27
-
28
- /**
29
- * @var array|string Options to be deleted
30
- */
31
- protected $options;
32
-
33
- /**
34
- * @var array|string Post meta to be deleted
35
- */
36
- protected $postmeta;
37
-
38
- /**
39
- * @var array|string Cron hooks to be unscheduled
40
- */
41
- protected $crons;
42
-
43
- /**
44
- * @var array|string Transients to be deleted, this can be site wide and subsite, e.g.
45
- *
46
- * array(
47
- * 'site' => array(...),
48
- * 'subsite' => array(...),
49
- * )
50
- *
51
- * By default, an array of transients will be treated as site wide.
52
- *
53
- */
54
- protected $transients;
55
-
56
- /**
57
- * @var array|string User meta to be deleted
58
- */
59
- protected $usermeta;
60
-
61
- /**
62
- * @var array Blog(s) in site
63
- */
64
- protected $blog_ids;
65
-
66
- /**
67
- * WP_AWS_Uninstall constructor.
68
- *
69
- * @param array|string $options
70
- * @param array|string $postmeta
71
- * @param array|string $crons
72
- * @param array|string $transients
73
- * @param array|string $usermeta
74
- */
75
- public function __construct(
76
- $options = array(),
77
- $postmeta = array(),
78
- $crons = array(),
79
- $transients = array(),
80
- $usermeta = array()
81
- ) {
82
- $this->options = $this->maybe_convert_to_array( $options );
83
- $this->postmeta = $this->maybe_convert_to_array( $postmeta );
84
- $this->crons = $this->maybe_convert_to_array( $crons );
85
- $this->transients = $this->maybe_convert_to_array( $transients );
86
- $this->usermeta = $this->maybe_convert_to_array( $usermeta );
87
-
88
- $this->set_blog_ids();
89
-
90
- $this->delete_options();
91
- $this->delete_postmeta();
92
- $this->clear_crons();
93
- $this->delete_transients();
94
- $this->delete_usermeta();
95
- }
96
-
97
- /**
98
- * Set the blog id(s) for a site
99
- */
100
- private function set_blog_ids() {
101
- $blog_ids = array( 1 );
102
- if ( function_exists( 'is_multisite' ) && is_multisite() ) {
103
- $args = array(
104
- 'limit' => false,
105
- 'spam' => 0,
106
- 'deleted' => 0,
107
- 'archived' => 0,
108
- );
109
- $blogs = wp_get_sites( $args );
110
- $blog_ids = wp_list_pluck( $blogs, 'blog_id' );
111
- }
112
-
113
- $this->blog_ids = $blog_ids;
114
- }
115
-
116
- /**
117
- * Is the current blog ID that specified in wp-config.php
118
- *
119
- * @param int $blog_id
120
- *
121
- * @return bool
122
- */
123
- private function is_current_blog( $blog_id ) {
124
- $default = defined( 'BLOG_ID_CURRENT_SITE' ) ? BLOG_ID_CURRENT_SITE : 1;
125
-
126
- if ( $default === $blog_id ) {
127
- return true;
128
- }
129
-
130
- return false;
131
- }
132
-
133
- /**
134
- * Helper to ensure a value is an array
135
- *
136
- * @param array|string $data
137
- *
138
- * @return array
139
- */
140
- private function maybe_convert_to_array( $data ) {
141
- if ( ! is_array( $data ) ) {
142
- // Convert a string to an array
143
- $data = array( $data );
144
- }
145
-
146
- return $data;
147
- }
148
-
149
- /**
150
- * Delete site wide options
151
- */
152
- public function delete_options() {
153
- foreach ( $this->options as $option ) {
154
- delete_site_option( $option );
155
- }
156
- }
157
-
158
- /**
159
- * Delete post meta data for all blogs
160
- */
161
- public function delete_postmeta() {
162
- global $wpdb;
163
-
164
- foreach ( $this->blog_ids as $blog_id ) {
165
- $prefix = $wpdb->get_blog_prefix( $blog_id );
166
-
167
- foreach ( $this->postmeta as $postmeta ) {
168
- $sql = $wpdb->prepare( "DELETE FROM {$prefix}postmeta WHERE meta_key = %s", $postmeta );
169
- $wpdb->query( $sql );
170
- }
171
- }
172
- }
173
-
174
- /**
175
- * Clear any scheduled cron jobs
176
- */
177
- public function clear_crons() {
178
- foreach ( $this->crons as $cron ) {
179
- $timestamp = wp_next_scheduled( $cron );
180
- if ( $timestamp ) {
181
- wp_unschedule_event( $timestamp, $cron );
182
- }
183
- }
184
- }
185
-
186
- /**
187
- * Delete transients
188
- */
189
- public function delete_transients() {
190
- if ( ! isset( $this->transients['site'] ) && ! isset( $this->transients['subsite'] ) ) {
191
- // Single array of site wide transients
192
- foreach ( $this->transients as $transient ) {
193
- delete_site_transient( $transient );
194
- }
195
-
196
- return;
197
- }
198
-
199
- // Deal with site wide transients
200
- if ( isset( $this->transients['site'] ) ) {
201
- $site_transients = $this->maybe_convert_to_array( $this->transients['site'] );
202
-
203
- foreach ( $site_transients as $transient ) {
204
- delete_site_transient( $transient );
205
- }
206
- }
207
-
208
- // Deal with subsite specific transients
209
- if ( isset( $this->transients['subsite'] ) ) {
210
- $subsite_transients = $this->maybe_convert_to_array( $this->transients['subsite'] );
211
-
212
- foreach ( $this->blog_ids as $blog_id ) {
213
- if ( is_multisite() && $blog_id !== get_current_blog_id() ) {
214
- switch_to_blog( $blog_id );
215
- }
216
-
217
- foreach ( $subsite_transients as $transient ) {
218
- delete_transient( $transient );
219
- }
220
-
221
- if ( is_multisite() ) {
222
- restore_current_blog();
223
- }
224
- }
225
- }
226
- }
227
-
228
- /**
229
- * Delete user meta.
230
- */
231
- public function delete_usermeta() {
232
- global $wpdb;
233
-
234
- if ( empty( $this->usermeta ) ) {
235
- return;
236
- }
237
-
238
- // Loop through our user meta keys to create our WHERE clauses.
239
- $where_array = array();
240
- foreach ( $this->usermeta as $usermeta ) {
241
- $where_array[] = $wpdb->prepare( "meta_key = '%s'", $usermeta );
242
- }
243
-
244
- // Merge all WHERE clauses into an OR comparison.
245
- $where_sql = implode( ' OR ', $where_array );
246
-
247
- // Get any user ids that have keys to be deleted.
248
- $user_ids = $wpdb->get_col( "SELECT DISTINCT user_id FROM {$wpdb->usermeta} WHERE {$where_sql}" );
249
-
250
- // Bail if no user has keys to be deleted.
251
- if ( empty( $user_ids ) ) {
252
- return;
253
- }
254
-
255
- // Loop through the list of users and delete our user meta.
256
- foreach ( $user_ids as $user_id ) {
257
- foreach ( $this->usermeta as $usermeta ) {
258
- delete_user_meta( $user_id, $usermeta );
259
- }
260
- }
261
- }
262
- }
263
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
languages/amazon-s3-and-cloudfront-en.pot CHANGED
@@ -8,7 +8,7 @@ msgid ""
8
  msgstr ""
9
  "Project-Id-Version: amazon-s3-and-cloudfront\n"
10
  "Report-Msgid-Bugs-To: nom@deliciousbrains.com\n"
11
- "POT-Creation-Date: 2016-05-30 12:56+0100\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,135 +17,135 @@ msgstr ""
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
  "Content-Transfer-Encoding: 8bit\n"
19
 
20
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:101
21
  msgid "Offload S3 Lite"
22
  msgstr ""
23
 
24
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:102
25
  msgid "S3 and CloudFront"
26
  msgstr ""
27
 
28
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:196
29
- #: builds/amazon-s3-and-cloudfront/view/bucket-setting.php:18
30
  msgid "defined in wp-config.php"
31
  msgstr ""
32
 
33
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:803
34
  msgid "Upload aborted by filter 'as3cf_pre_upload_attachment'"
35
  msgstr ""
36
 
37
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:814
38
  #, php-format
39
  msgid "File %s does not exist"
40
  msgstr ""
41
 
42
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:825
43
  #, php-format
44
  msgid "Mime type %s is not allowed"
45
  msgstr ""
46
 
47
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:911
48
  #, php-format
49
  msgid "Error uploading %s to S3: %s"
50
  msgstr ""
51
 
52
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:1900
53
  msgid "Cheatin&#8217; eh?"
54
  msgstr ""
55
 
56
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:1904
57
  msgid "You do not have sufficient permissions to access this page."
58
  msgstr ""
59
 
60
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:1910
61
  msgid "No bucket name provided."
62
  msgstr ""
63
 
64
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2195
65
  msgid "Error Getting Bucket Region"
66
  msgstr ""
67
 
68
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2196
69
  #, php-format
70
  msgid "There was an error attempting to get the region of the bucket %s: %s"
71
  msgstr ""
72
 
73
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2316
74
  msgid ""
75
  "This is a test file to check if the user has write permission to S3. Delete "
76
  "me if found."
77
  msgstr ""
78
 
79
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2348
80
  #, php-format
81
  msgid ""
82
  "There was an error attempting to check the permissions of the bucket %s: %s"
83
  msgstr ""
84
 
85
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2405
86
  msgid "Error creating bucket"
87
  msgstr ""
88
 
89
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2406
90
  msgid "Bucket name too short."
91
  msgstr ""
92
 
93
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2407
94
  msgid "Bucket name too long."
95
  msgstr ""
96
 
97
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2408
98
  msgid ""
99
  "Invalid character. Bucket names can contain lowercase letters, numbers, "
100
  "periods and hyphens."
101
  msgstr ""
102
 
103
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2409
104
  msgid "Error saving bucket"
105
  msgstr ""
106
 
107
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2410
108
  msgid "Error fetching buckets"
109
  msgstr ""
110
 
111
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2411
112
  msgid "Error getting URL preview: "
113
  msgstr ""
114
 
115
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2412
116
  msgid "The changes you made will be lost if you navigate away from this page"
117
  msgstr ""
118
 
119
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2413
120
  msgid "Getting diagnostic info..."
121
  msgstr ""
122
 
123
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2414
124
  msgid "Error getting diagnostic info: "
125
  msgstr ""
126
 
127
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2473
128
  msgid "Cheatin' eh?"
129
  msgstr ""
130
 
131
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2576
132
  msgctxt "Show the media library tab"
133
  msgid "Media Library"
134
  msgstr ""
135
 
136
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2577
137
  msgctxt "Show the support tab"
138
  msgid "Support"
139
  msgstr ""
140
 
141
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2781
142
  #, php-format
143
  msgid ""
144
  "<strong>WP Offload S3</strong> &mdash; The file %s has been given %s "
145
  "permissions on Amazon S3."
146
  msgstr ""
147
 
148
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:2800
149
  msgid ""
150
  "<strong>WP Offload S3 Requirement Missing</strong> &mdash; Looks like you "
151
  "don't have an image manipulation library installed on this server and "
@@ -153,11 +153,11 @@ msgid ""
153
  "Please setup GD or ImageMagick."
154
  msgstr ""
155
 
156
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3460
157
  msgid "Quick Start Guide"
158
  msgstr ""
159
 
160
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3462
161
  #, php-format
162
  msgid ""
163
  "Looks like we don't have write access to this bucket. It's likely that the "
@@ -166,7 +166,7 @@ msgid ""
166
  "correctly."
167
  msgstr ""
168
 
169
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3464
170
  #, php-format
171
  msgid ""
172
  "Looks like we don't have access to the buckets. It's likely that the user "
@@ -174,41 +174,41 @@ msgid ""
174
  "Please see our %s for instructions on setting up permissions correctly."
175
  msgstr ""
176
 
177
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3615
178
  msgid "WP Offload S3 Activation"
179
  msgstr ""
180
 
181
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3616
182
  msgid ""
183
  "WP Offload S3 Lite and WP Offload S3 cannot both be active. We've "
184
  "automatically deactivated WP Offload S3 Lite."
185
  msgstr ""
186
 
187
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3618
188
  msgid "WP Offload S3 Lite Activation"
189
  msgstr ""
190
 
191
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3619
192
  msgid ""
193
  "WP Offload S3 Lite and WP Offload S3 cannot both be active. We've "
194
  "automatically deactivated WP Offload S3."
195
  msgstr ""
196
 
197
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3693
198
  msgid "More info"
199
  msgstr ""
200
 
201
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3785
202
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3808
203
  msgid "this doc"
204
  msgstr ""
205
 
206
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3787
207
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3810
208
  msgid "WP Offload S3 Feature Removed"
209
  msgstr ""
210
 
211
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3788
212
  #, php-format
213
  msgid ""
214
  "The \"Copy HiDPI (@2x) Images\" feature has been removed as of version 1.1 "
@@ -217,7 +217,7 @@ msgid ""
217
  "images to S3."
218
  msgstr ""
219
 
220
- #: builds/amazon-s3-and-cloudfront/classes/amazon-s3-and-cloudfront.php:3811
221
  #, php-format
222
  msgid ""
223
  "You had the \"Always non-SSL\" option selected in your settings, but we've "
@@ -228,23 +228,23 @@ msgid ""
228
  "to the old behavior."
229
  msgstr ""
230
 
231
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-notices.php:441
232
  msgid "Error dismissing notice."
233
  msgstr ""
234
 
235
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-notices.php:456
236
  msgid "Invalid notice ID."
237
  msgstr ""
238
 
239
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:202
240
  msgid "WP Offload S3 Compatibility Addons"
241
  msgstr ""
242
 
243
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:204
244
  msgid "compatibility addons"
245
  msgstr ""
246
 
247
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:205
248
  #, php-format
249
  msgid ""
250
  "To get WP Offload S3 to work with certain 3rd party plugins, you might need "
@@ -253,7 +253,7 @@ msgid ""
253
  "about each addon to determine if you need it or not."
254
  msgstr ""
255
 
256
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:211
257
  #, php-format
258
  msgid ""
259
  "You will need to purchase a license to get access to these addons. If you're "
@@ -261,23 +261,23 @@ msgid ""
261
  "to %s."
262
  msgstr ""
263
 
264
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:212
265
  msgid "View Licenses"
266
  msgstr ""
267
 
268
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:667
269
  #, php-format
270
  msgid "The local directory %s does not exist and could not be created."
271
  msgstr ""
272
 
273
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:668
274
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-plugin-compatibility.php:682
275
- #: builds/amazon-s3-and-cloudfront/classes/upgrades/as3cf-meta-wp-error.php:72
276
  #, php-format
277
  msgid "There was an error attempting to download the file %s from S3: %s"
278
  msgstr ""
279
 
280
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:283
281
  #, php-format
282
  msgid ""
283
  "<strong>Running %s Update</strong> &mdash; We&#8217;re going through all the "
@@ -287,22 +287,22 @@ msgid ""
287
  "performance."
288
  msgstr ""
289
 
290
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:284
291
  msgid "Pause Update"
292
  msgstr ""
293
 
294
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:288
295
  #, php-format
296
  msgid ""
297
  "<strong>%s Update Paused</strong> &mdash; Updating Media Library %s has been "
298
  "paused."
299
  msgstr ""
300
 
301
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:289
302
  msgid "Restart Update"
303
  msgstr ""
304
 
305
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:292
306
  #, php-format
307
  msgid ""
308
  "<strong>Error Updating %s</strong> &mdash; We ran into some errors "
@@ -310,428 +310,428 @@ msgid ""
310
  "uploaded to S3. Please check your error log for details. (#%d)"
311
  msgstr ""
312
 
313
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:293
314
  msgid "Try Run It Again"
315
  msgstr ""
316
 
317
- #: builds/amazon-s3-and-cloudfront/classes/as3cf-upgrade.php:408
318
  #, php-format
319
  msgid "Every %d Minutes"
320
  msgstr ""
321
 
322
- #: builds/amazon-s3-and-cloudfront/classes/upgrades/as3cf-file-sizes.php:37
323
  msgid ""
324
  "and updating the metadata with the sizes of files that have been removed "
325
  "from the server. This will allow us to serve the correct size for media "
326
  "items and the total space used in Multisite subsites."
327
  msgstr ""
328
 
329
- #: builds/amazon-s3-and-cloudfront/classes/upgrades/as3cf-meta-wp-error.php:38
330
  msgid ""
331
  "and rebuilding the metadata for attachments that may have been corrupted."
332
  msgstr ""
333
 
334
- #: builds/amazon-s3-and-cloudfront/classes/upgrades/as3cf-region-meta.php:36
335
  msgid ""
336
  "and updating the metadata with the bucket region it is served from. This "
337
  "will allow us to serve your files from the proper S3 region subdomain <span "
338
  "style=\"white-space:nowrap;\">(e.g. s3-us-west-2.amazonaws.com)</span>."
339
  msgstr ""
340
 
341
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:323
342
  msgid "deactivate"
343
  msgstr ""
344
 
345
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:324
346
  #, php-format
347
  msgid "You can %s the %s plugin to get rid of this notice."
348
  msgstr ""
349
 
350
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:327
351
  #, php-format
352
  msgid "%s has been disabled as it requires the %s plugin."
353
  msgstr ""
354
 
355
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:331
356
  msgid "which is currently disabled."
357
  msgstr ""
358
 
359
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:333
360
  msgid "It appears to be installed already."
361
  msgstr ""
362
 
363
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:335
364
  msgctxt "Activate plugin"
365
  msgid "Activate it now."
366
  msgstr ""
367
 
368
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:342
369
  #, php-format
370
  msgid "<a href=\"%s\">Install</a> and activate it."
371
  msgstr ""
372
 
373
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:353
374
  #, php-format
375
  msgid ""
376
  "%s has been disabled as it requires version %s or later of the %s plugin."
377
  msgstr ""
378
 
379
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:356
380
  #, php-format
381
  msgid "You currently have version %s installed."
382
  msgstr ""
383
 
384
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:363
385
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:401
386
  #, php-format
387
  msgid "A valid license for %s is required to update."
388
  msgstr ""
389
 
390
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:371
391
  msgid "Update to the latest version"
392
  msgstr ""
393
 
394
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:383
395
  #, php-format
396
  msgid ""
397
  "%1$s has been disabled because it is not a supported addon of the %2$s "
398
  "plugin."
399
  msgstr ""
400
 
401
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:392
402
  #, php-format
403
  msgid ""
404
  "%1$s has been disabled because it will not work with the version of the %2$s "
405
  "plugin installed. %1$s %3$s or later is required."
406
  msgstr ""
407
 
408
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:395
409
  #, php-format
410
  msgid "Update %s to the latest version"
411
  msgstr ""
412
 
413
- #: builds/amazon-s3-and-cloudfront/classes/wp-aws-compatibility-check.php:464
414
  #, php-format
415
  msgid "The %s plugin has been deactivated."
416
  msgstr ""
417
 
418
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:3
419
  msgid "Change bucket"
420
  msgstr ""
421
 
422
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:3
423
  msgid "What bucket would you like to use?"
424
  msgstr ""
425
 
426
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:5
427
  msgid "Existing bucket name"
428
  msgstr ""
429
 
430
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:7
431
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:12
432
  msgid "Saving..."
433
  msgstr ""
434
 
435
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:7
436
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:12
437
  msgid "Save Bucket"
438
  msgstr ""
439
 
440
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:8
441
  msgid "Browse existing buckets"
442
  msgstr ""
443
 
444
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:9
445
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:26
446
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:31
447
  msgid "Create new bucket"
448
  msgstr ""
449
 
450
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:13
451
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:21
452
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:67
453
  msgid "Cancel"
454
  msgstr ""
455
 
456
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:18
457
  msgid "Select bucket"
458
  msgstr ""
459
 
460
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:19
461
  msgid "Loading..."
462
  msgstr ""
463
 
464
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:22
465
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:27
466
  msgid "Refresh"
467
  msgstr ""
468
 
469
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:25
470
  msgid "Enter bucket name"
471
  msgstr ""
472
 
473
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:37
474
  msgid "Bucket Name:"
475
  msgstr ""
476
 
477
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:40
478
  msgid "Bucket Name"
479
  msgstr ""
480
 
481
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:46
482
  msgid "Region:"
483
  msgstr ""
484
 
485
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:60
486
  #, php-format
487
  msgid "%s (defined in wp-config.php)"
488
  msgstr ""
489
 
490
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:66
491
  msgid "Creating..."
492
  msgstr ""
493
 
494
- #: builds/amazon-s3-and-cloudfront/view/bucket-select.php:66
495
  msgid "Create New Bucket"
496
  msgstr ""
497
 
498
- #: builds/amazon-s3-and-cloudfront/view/bucket-setting.php:7
499
  msgid "Bucket"
500
  msgstr ""
501
 
502
- #: builds/amazon-s3-and-cloudfront/view/bucket-setting.php:12
503
  msgid "View in S3 console"
504
  msgstr ""
505
 
506
- #: builds/amazon-s3-and-cloudfront/view/bucket-setting.php:16
507
  msgid "Change"
508
  msgstr ""
509
 
510
- #: builds/amazon-s3-and-cloudfront/view/cloudfront-setting.php:4
511
- #: builds/amazon-s3-and-cloudfront/view/deprecated-domain-setting.php:49
512
  msgid "Invalid character. Letters, numbers, periods and hyphens are allowed."
513
  msgstr ""
514
 
515
- #: builds/amazon-s3-and-cloudfront/view/debug-info.php:2
516
  msgid "Diagnostic Info"
517
  msgstr ""
518
 
519
- #: builds/amazon-s3-and-cloudfront/view/debug-info.php:13
520
  msgctxt "Download to your computer"
521
  msgid "Download"
522
  msgstr ""
523
 
524
- #: builds/amazon-s3-and-cloudfront/view/deprecated-domain-setting.php:5
525
  msgid "Domain:"
526
  msgstr ""
527
 
528
- #: builds/amazon-s3-and-cloudfront/view/deprecated-domain-setting.php:30
529
  msgid "Bucket name as subdomain"
530
  msgstr ""
531
 
532
- #: builds/amazon-s3-and-cloudfront/view/deprecated-domain-setting.php:35
533
  msgid "Bucket name in path"
534
  msgstr ""
535
 
536
- #: builds/amazon-s3-and-cloudfront/view/deprecated-domain-setting.php:40
537
  msgid "Bucket name as domain"
538
  msgstr ""
539
 
540
- #: builds/amazon-s3-and-cloudfront/view/deprecated-domain-setting.php:45
541
  msgid "CloudFront or custom domain"
542
  msgstr ""
543
 
544
- #: builds/amazon-s3-and-cloudfront/view/domain-setting.php:19
545
  msgid "CloudFront or Custom Domain"
546
  msgstr ""
547
 
548
- #: builds/amazon-s3-and-cloudfront/view/domain-setting.php:21
549
  msgid ""
550
  "Replace the default S3 domain and path with your CloudFront domain or any "
551
  "domain."
552
  msgstr ""
553
 
554
- #: builds/amazon-s3-and-cloudfront/view/error-access.php:4
555
  msgid "Access Denied to Bucket"
556
  msgstr ""
557
 
558
- #: builds/amazon-s3-and-cloudfront/view/notice.php:18
559
  msgid "Hide"
560
  msgstr ""
561
 
562
- #: builds/amazon-s3-and-cloudfront/view/notice.php:18
563
  msgid "Show"
564
  msgstr ""
565
 
566
- #: builds/amazon-s3-and-cloudfront/view/settings.php:10
567
  msgid "Settings saved."
568
  msgstr ""
569
 
570
- #: builds/amazon-s3-and-cloudfront/view/settings.php:48
571
  msgid "Enable/Disable the Plugin"
572
  msgstr ""
573
 
574
- #: builds/amazon-s3-and-cloudfront/view/settings.php:56
575
  msgid "Copy Files to S3"
576
  msgstr ""
577
 
578
- #: builds/amazon-s3-and-cloudfront/view/settings.php:58
579
  msgid ""
580
  "When a file is uploaded to the Media Library, copy it to S3. Existing files "
581
  "are <em>not</em> copied to S3."
582
  msgstr ""
583
 
584
- #: builds/amazon-s3-and-cloudfront/view/settings.php:71
585
  msgid "Rewrite File URLs"
586
  msgstr ""
587
 
588
- #: builds/amazon-s3-and-cloudfront/view/settings.php:73
589
  msgid ""
590
  "For Media Library files that have been copied to S3, rewrite the URLs so "
591
  "that they are served from S3/CloudFront instead of your server."
592
  msgstr ""
593
 
594
- #: builds/amazon-s3-and-cloudfront/view/settings.php:80
595
  msgid "Configure File URLs"
596
  msgstr ""
597
 
598
- #: builds/amazon-s3-and-cloudfront/view/settings.php:101
599
  msgid "Path"
600
  msgstr ""
601
 
602
- #: builds/amazon-s3-and-cloudfront/view/settings.php:103
603
  msgid "By default the path is the same as your local WordPress files."
604
  msgstr ""
605
 
606
- #: builds/amazon-s3-and-cloudfront/view/settings.php:127
607
  msgid "Year/Month"
608
  msgstr ""
609
 
610
- #: builds/amazon-s3-and-cloudfront/view/settings.php:129
611
  msgid "Add the Year/Month in the URL."
612
  msgstr ""
613
 
614
- #: builds/amazon-s3-and-cloudfront/view/settings.php:142
615
  msgid "Force HTTPS"
616
  msgstr ""
617
 
618
- #: builds/amazon-s3-and-cloudfront/view/settings.php:144
619
  msgid ""
620
  "By default we use HTTPS when the request is HTTPS and regular HTTP when the "
621
  "request is HTTP, but you may want to force the use of HTTPS always, "
622
  "regardless of the request."
623
  msgstr ""
624
 
625
- #: builds/amazon-s3-and-cloudfront/view/settings.php:151
626
  msgid "Advanced Options"
627
  msgstr ""
628
 
629
- #: builds/amazon-s3-and-cloudfront/view/settings.php:160
630
  msgid "Remove Files From Server"
631
  msgstr ""
632
 
633
- #: builds/amazon-s3-and-cloudfront/view/settings.php:161
634
  msgid "Once a file has been copied to S3, remove it from the local server."
635
  msgstr ""
636
 
637
- #: builds/amazon-s3-and-cloudfront/view/settings.php:165
638
  msgid ""
639
  "<strong>Broken URLs</strong> &mdash; There will be broken URLs for files "
640
  "that don't exist locally. You can fix this by enabling <strong>Rewrite File "
641
  "URLs</strong> to use the S3 URLs."
642
  msgstr ""
643
 
644
- #: builds/amazon-s3-and-cloudfront/view/settings.php:176
645
  #, php-format
646
  msgid ""
647
  "<strong>Warning</strong> &mdash; Some plugins depend on the file being "
648
  "present on the local server and may not work when the file is removed. %s"
649
  msgstr ""
650
 
651
- #: builds/amazon-s3-and-cloudfront/view/settings.php:194
652
  msgid "Object Versioning"
653
  msgstr ""
654
 
655
- #: builds/amazon-s3-and-cloudfront/view/settings.php:196
656
  msgid ""
657
  "Append a timestamp to the S3 file path. Recommended when using CloudFront so "
658
  "you don't have to worry about cache invalidation."
659
  msgstr ""
660
 
661
- #: builds/amazon-s3-and-cloudfront/view/settings.php:203
662
  msgid "Save Changes"
663
  msgstr ""
664
 
665
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:10
666
  msgid "Upload existing Media Library to S3"
667
  msgstr ""
668
 
669
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:11
670
  msgid "Find & replace file URLs in content"
671
  msgstr ""
672
 
673
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:12
674
  msgid "Manage S3 files in WordPress"
675
  msgstr ""
676
 
677
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:13
678
  msgid "Assets addon - Serve your CSS & JS from S3/CloudFront"
679
  msgstr ""
680
 
681
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:14
682
  msgid "WooCommerce addon"
683
  msgstr ""
684
 
685
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:15
686
  msgid "Easy Digital Downloads addon"
687
  msgstr ""
688
 
689
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:16
690
  msgid "PriorityExpert™ email support"
691
  msgstr ""
692
 
693
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:19
694
  msgid "Visit deliciousbrains.com &rarr;"
695
  msgstr ""
696
 
697
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:26
698
  msgid "Get 20% Off!"
699
  msgstr ""
700
 
701
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:29
702
  #, php-format
703
  msgid ""
704
  "Submit your name and email and we’ll send you a coupon for 20% off your "
705
  "upgrade."
706
  msgstr ""
707
 
708
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:33
709
  msgid "Your Email"
710
  msgstr ""
711
 
712
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:37
713
  msgid "First Name"
714
  msgstr ""
715
 
716
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:41
717
  msgid "Last Name"
718
  msgstr ""
719
 
720
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:48
721
  msgid "Send me the coupon"
722
  msgstr ""
723
 
724
- #: builds/amazon-s3-and-cloudfront/view/sidebar.php:52
725
  msgid ""
726
  "We promise we will not use your email for anything else and you can "
727
  "unsubscribe with 1-click anytime."
728
  msgstr ""
729
 
730
- #: builds/amazon-s3-and-cloudfront/view/wordpress-org-support.php:2
731
  msgid "As this is a free plugin, we do not provide support."
732
  msgstr ""
733
 
734
- #: builds/amazon-s3-and-cloudfront/view/wordpress-org-support.php:4
735
  #, php-format
736
  msgid ""
737
  "You may ask the WordPress community for help by posting to the <a href=\"%s"
@@ -739,14 +739,14 @@ msgid ""
739
  "to a few weeks and will likely be from a non-developer."
740
  msgstr ""
741
 
742
- #: builds/amazon-s3-and-cloudfront/view/wordpress-org-support.php:6
743
  #, php-format
744
  msgid ""
745
  "If you want a <strong>timely response via email from a developer</strong> "
746
  "who works on this plugin, <a href=\"%s\">upgrade</a> and send us an email."
747
  msgstr ""
748
 
749
- #: builds/amazon-s3-and-cloudfront/view/wordpress-org-support.php:8
750
  #, php-format
751
  msgid ""
752
  "If you've found a bug, please <a href=\"%s\">submit an issue on GitHub</a>."
8
  msgstr ""
9
  "Project-Id-Version: amazon-s3-and-cloudfront\n"
10
  "Report-Msgid-Bugs-To: nom@deliciousbrains.com\n"
11
+ "POT-Creation-Date: 2016-09-01 10:33-0400\n"
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
17
  "Content-Type: text/plain; charset=UTF-8\n"
18
  "Content-Transfer-Encoding: 8bit\n"
19
 
20
+ #: classes/amazon-s3-and-cloudfront.php:101
21
  msgid "Offload S3 Lite"
22
  msgstr ""
23
 
24
+ #: classes/amazon-s3-and-cloudfront.php:102
25
  msgid "S3 and CloudFront"
26
  msgstr ""
27
 
28
+ #: classes/amazon-s3-and-cloudfront.php:196
29
+ #: view/bucket-setting.php:18
30
  msgid "defined in wp-config.php"
31
  msgstr ""
32
 
33
+ #: classes/amazon-s3-and-cloudfront.php:803
34
  msgid "Upload aborted by filter 'as3cf_pre_upload_attachment'"
35
  msgstr ""
36
 
37
+ #: classes/amazon-s3-and-cloudfront.php:814
38
  #, php-format
39
  msgid "File %s does not exist"
40
  msgstr ""
41
 
42
+ #: classes/amazon-s3-and-cloudfront.php:825
43
  #, php-format
44
  msgid "Mime type %s is not allowed"
45
  msgstr ""
46
 
47
+ #: classes/amazon-s3-and-cloudfront.php:911
48
  #, php-format
49
  msgid "Error uploading %s to S3: %s"
50
  msgstr ""
51
 
52
+ #: classes/amazon-s3-and-cloudfront.php:1900
53
  msgid "Cheatin&#8217; eh?"
54
  msgstr ""
55
 
56
+ #: classes/amazon-s3-and-cloudfront.php:1904
57
  msgid "You do not have sufficient permissions to access this page."
58
  msgstr ""
59
 
60
+ #: classes/amazon-s3-and-cloudfront.php:1910
61
  msgid "No bucket name provided."
62
  msgstr ""
63
 
64
+ #: classes/amazon-s3-and-cloudfront.php:2195
65
  msgid "Error Getting Bucket Region"
66
  msgstr ""
67
 
68
+ #: classes/amazon-s3-and-cloudfront.php:2196
69
  #, php-format
70
  msgid "There was an error attempting to get the region of the bucket %s: %s"
71
  msgstr ""
72
 
73
+ #: classes/amazon-s3-and-cloudfront.php:2316
74
  msgid ""
75
  "This is a test file to check if the user has write permission to S3. Delete "
76
  "me if found."
77
  msgstr ""
78
 
79
+ #: classes/amazon-s3-and-cloudfront.php:2348
80
  #, php-format
81
  msgid ""
82
  "There was an error attempting to check the permissions of the bucket %s: %s"
83
  msgstr ""
84
 
85
+ #: classes/amazon-s3-and-cloudfront.php:2405
86
  msgid "Error creating bucket"
87
  msgstr ""
88
 
89
+ #: classes/amazon-s3-and-cloudfront.php:2406
90
  msgid "Bucket name too short."
91
  msgstr ""
92
 
93
+ #: classes/amazon-s3-and-cloudfront.php:2407
94
  msgid "Bucket name too long."
95
  msgstr ""
96
 
97
+ #: classes/amazon-s3-and-cloudfront.php:2408
98
  msgid ""
99
  "Invalid character. Bucket names can contain lowercase letters, numbers, "
100
  "periods and hyphens."
101
  msgstr ""
102
 
103
+ #: classes/amazon-s3-and-cloudfront.php:2409
104
  msgid "Error saving bucket"
105
  msgstr ""
106
 
107
+ #: classes/amazon-s3-and-cloudfront.php:2410
108
  msgid "Error fetching buckets"
109
  msgstr ""
110
 
111
+ #: classes/amazon-s3-and-cloudfront.php:2411
112
  msgid "Error getting URL preview: "
113
  msgstr ""
114
 
115
+ #: classes/amazon-s3-and-cloudfront.php:2412
116
  msgid "The changes you made will be lost if you navigate away from this page"
117
  msgstr ""
118
 
119
+ #: classes/amazon-s3-and-cloudfront.php:2413
120
  msgid "Getting diagnostic info..."
121
  msgstr ""
122
 
123
+ #: classes/amazon-s3-and-cloudfront.php:2414
124
  msgid "Error getting diagnostic info: "
125
  msgstr ""
126
 
127
+ #: classes/amazon-s3-and-cloudfront.php:2482
128
  msgid "Cheatin' eh?"
129
  msgstr ""
130
 
131
+ #: classes/amazon-s3-and-cloudfront.php:2590
132
  msgctxt "Show the media library tab"
133
  msgid "Media Library"
134
  msgstr ""
135
 
136
+ #: classes/amazon-s3-and-cloudfront.php:2591
137
  msgctxt "Show the support tab"
138
  msgid "Support"
139
  msgstr ""
140
 
141
+ #: classes/amazon-s3-and-cloudfront.php:2806
142
  #, php-format
143
  msgid ""
144
  "<strong>WP Offload S3</strong> &mdash; The file %s has been given %s "
145
  "permissions on Amazon S3."
146
  msgstr ""
147
 
148
+ #: classes/amazon-s3-and-cloudfront.php:2825
149
  msgid ""
150
  "<strong>WP Offload S3 Requirement Missing</strong> &mdash; Looks like you "
151
  "don't have an image manipulation library installed on this server and "
153
  "Please setup GD or ImageMagick."
154
  msgstr ""
155
 
156
+ #: classes/amazon-s3-and-cloudfront.php:3485
157
  msgid "Quick Start Guide"
158
  msgstr ""
159
 
160
+ #: classes/amazon-s3-and-cloudfront.php:3487
161
  #, php-format
162
  msgid ""
163
  "Looks like we don't have write access to this bucket. It's likely that the "
166
  "correctly."
167
  msgstr ""
168
 
169
+ #: classes/amazon-s3-and-cloudfront.php:3489
170
  #, php-format
171
  msgid ""
172
  "Looks like we don't have access to the buckets. It's likely that the user "
174
  "Please see our %s for instructions on setting up permissions correctly."
175
  msgstr ""
176
 
177
+ #: classes/amazon-s3-and-cloudfront.php:3640
178
  msgid "WP Offload S3 Activation"
179
  msgstr ""
180
 
181
+ #: classes/amazon-s3-and-cloudfront.php:3641
182
  msgid ""
183
  "WP Offload S3 Lite and WP Offload S3 cannot both be active. We've "
184
  "automatically deactivated WP Offload S3 Lite."
185
  msgstr ""
186
 
187
+ #: classes/amazon-s3-and-cloudfront.php:3643
188
  msgid "WP Offload S3 Lite Activation"
189
  msgstr ""
190
 
191
+ #: classes/amazon-s3-and-cloudfront.php:3644
192
  msgid ""
193
  "WP Offload S3 Lite and WP Offload S3 cannot both be active. We've "
194
  "automatically deactivated WP Offload S3."
195
  msgstr ""
196
 
197
+ #: classes/amazon-s3-and-cloudfront.php:3718
198
  msgid "More info"
199
  msgstr ""
200
 
201
+ #: classes/amazon-s3-and-cloudfront.php:3810
202
+ #: classes/amazon-s3-and-cloudfront.php:3833
203
  msgid "this doc"
204
  msgstr ""
205
 
206
+ #: classes/amazon-s3-and-cloudfront.php:3812
207
+ #: classes/amazon-s3-and-cloudfront.php:3835
208
  msgid "WP Offload S3 Feature Removed"
209
  msgstr ""
210
 
211
+ #: classes/amazon-s3-and-cloudfront.php:3813
212
  #, php-format
213
  msgid ""
214
  "The \"Copy HiDPI (@2x) Images\" feature has been removed as of version 1.1 "
217
  "images to S3."
218
  msgstr ""
219
 
220
+ #: classes/amazon-s3-and-cloudfront.php:3836
221
  #, php-format
222
  msgid ""
223
  "You had the \"Always non-SSL\" option selected in your settings, but we've "
228
  "to the old behavior."
229
  msgstr ""
230
 
231
+ #: classes/as3cf-notices.php:441
232
  msgid "Error dismissing notice."
233
  msgstr ""
234
 
235
+ #: classes/as3cf-notices.php:456
236
  msgid "Invalid notice ID."
237
  msgstr ""
238
 
239
+ #: classes/as3cf-plugin-compatibility.php:202
240
  msgid "WP Offload S3 Compatibility Addons"
241
  msgstr ""
242
 
243
+ #: classes/as3cf-plugin-compatibility.php:204
244
  msgid "compatibility addons"
245
  msgstr ""
246
 
247
+ #: classes/as3cf-plugin-compatibility.php:205
248
  #, php-format
249
  msgid ""
250
  "To get WP Offload S3 to work with certain 3rd party plugins, you might need "
253
  "about each addon to determine if you need it or not."
254
  msgstr ""
255
 
256
+ #: classes/as3cf-plugin-compatibility.php:211
257
  #, php-format
258
  msgid ""
259
  "You will need to purchase a license to get access to these addons. If you're "
261
  "to %s."
262
  msgstr ""
263
 
264
+ #: classes/as3cf-plugin-compatibility.php:212
265
  msgid "View Licenses"
266
  msgstr ""
267
 
268
+ #: classes/as3cf-plugin-compatibility.php:667
269
  #, php-format
270
  msgid "The local directory %s does not exist and could not be created."
271
  msgstr ""
272
 
273
+ #: classes/as3cf-plugin-compatibility.php:668
274
+ #: classes/as3cf-plugin-compatibility.php:682
275
+ #: classes/upgrades/as3cf-meta-wp-error.php:72
276
  #, php-format
277
  msgid "There was an error attempting to download the file %s from S3: %s"
278
  msgstr ""
279
 
280
+ #: classes/as3cf-upgrade.php:283
281
  #, php-format
282
  msgid ""
283
  "<strong>Running %s Update</strong> &mdash; We&#8217;re going through all the "
287
  "performance."
288
  msgstr ""
289
 
290
+ #: classes/as3cf-upgrade.php:284
291
  msgid "Pause Update"
292
  msgstr ""
293
 
294
+ #: classes/as3cf-upgrade.php:288
295
  #, php-format
296
  msgid ""
297
  "<strong>%s Update Paused</strong> &mdash; Updating Media Library %s has been "
298
  "paused."
299
  msgstr ""
300
 
301
+ #: classes/as3cf-upgrade.php:289
302
  msgid "Restart Update"
303
  msgstr ""
304
 
305
+ #: classes/as3cf-upgrade.php:292
306
  #, php-format
307
  msgid ""
308
  "<strong>Error Updating %s</strong> &mdash; We ran into some errors "
310
  "uploaded to S3. Please check your error log for details. (#%d)"
311
  msgstr ""
312
 
313
+ #: classes/as3cf-upgrade.php:293
314
  msgid "Try Run It Again"
315
  msgstr ""
316
 
317
+ #: classes/as3cf-upgrade.php:408
318
  #, php-format
319
  msgid "Every %d Minutes"
320
  msgstr ""
321
 
322
+ #: classes/upgrades/as3cf-file-sizes.php:37
323
  msgid ""
324
  "and updating the metadata with the sizes of files that have been removed "
325
  "from the server. This will allow us to serve the correct size for media "
326
  "items and the total space used in Multisite subsites."
327
  msgstr ""
328
 
329
+ #: classes/upgrades/as3cf-meta-wp-error.php:38
330
  msgid ""
331
  "and rebuilding the metadata for attachments that may have been corrupted."
332
  msgstr ""
333
 
334
+ #: classes/upgrades/as3cf-region-meta.php:36
335
  msgid ""
336
  "and updating the metadata with the bucket region it is served from. This "
337
  "will allow us to serve your files from the proper S3 region subdomain <span "
338
  "style=\"white-space:nowrap;\">(e.g. s3-us-west-2.amazonaws.com)</span>."
339
  msgstr ""
340
 
341
+ #: classes/wp-aws-compatibility-check.php:323
342
  msgid "deactivate"
343
  msgstr ""
344
 
345
+ #: classes/wp-aws-compatibility-check.php:324
346
  #, php-format
347
  msgid "You can %s the %s plugin to get rid of this notice."
348
  msgstr ""
349
 
350
+ #: classes/wp-aws-compatibility-check.php:327
351
  #, php-format
352
  msgid "%s has been disabled as it requires the %s plugin."
353
  msgstr ""
354
 
355
+ #: classes/wp-aws-compatibility-check.php:331
356
  msgid "which is currently disabled."
357
  msgstr ""
358
 
359
+ #: classes/wp-aws-compatibility-check.php:333
360
  msgid "It appears to be installed already."
361
  msgstr ""
362
 
363
+ #: classes/wp-aws-compatibility-check.php:335
364
  msgctxt "Activate plugin"
365
  msgid "Activate it now."
366
  msgstr ""
367
 
368
+ #: classes/wp-aws-compatibility-check.php:342
369
  #, php-format
370
  msgid "<a href=\"%s\">Install</a> and activate it."
371
  msgstr ""
372
 
373
+ #: classes/wp-aws-compatibility-check.php:353
374
  #, php-format
375
  msgid ""
376
  "%s has been disabled as it requires version %s or later of the %s plugin."
377
  msgstr ""
378
 
379
+ #: classes/wp-aws-compatibility-check.php:356
380
  #, php-format
381
  msgid "You currently have version %s installed."
382
  msgstr ""
383
 
384
+ #: classes/wp-aws-compatibility-check.php:363
385
+ #: classes/wp-aws-compatibility-check.php:401
386
  #, php-format
387
  msgid "A valid license for %s is required to update."
388
  msgstr ""
389
 
390
+ #: classes/wp-aws-compatibility-check.php:371
391
  msgid "Update to the latest version"
392
  msgstr ""
393
 
394
+ #: classes/wp-aws-compatibility-check.php:383
395
  #, php-format
396
  msgid ""
397
  "%1$s has been disabled because it is not a supported addon of the %2$s "
398
  "plugin."
399
  msgstr ""
400
 
401
+ #: classes/wp-aws-compatibility-check.php:392
402
  #, php-format
403
  msgid ""
404
  "%1$s has been disabled because it will not work with the version of the %2$s "
405
  "plugin installed. %1$s %3$s or later is required."
406
  msgstr ""
407
 
408
+ #: classes/wp-aws-compatibility-check.php:395
409
  #, php-format
410
  msgid "Update %s to the latest version"
411
  msgstr ""
412
 
413
+ #: classes/wp-aws-compatibility-check.php:464
414
  #, php-format
415
  msgid "The %s plugin has been deactivated."
416
  msgstr ""
417
 
418
+ #: view/bucket-select.php:3
419
  msgid "Change bucket"
420
  msgstr ""
421
 
422
+ #: view/bucket-select.php:3
423
  msgid "What bucket would you like to use?"
424
  msgstr ""
425
 
426
+ #: view/bucket-select.php:5
427
  msgid "Existing bucket name"
428
  msgstr ""
429
 
430
+ #: view/bucket-select.php:7
431
+ #: view/bucket-select.php:12
432
  msgid "Saving..."
433
  msgstr ""
434
 
435
+ #: view/bucket-select.php:7
436
+ #: view/bucket-select.php:12
437
  msgid "Save Bucket"
438
  msgstr ""
439
 
440
+ #: view/bucket-select.php:8
441
  msgid "Browse existing buckets"
442
  msg