Easy Digital Downloads - Version 2.11.2

Version Description

Download this release

Release Info

Developer NoseGraze
Plugin Icon 128x128 Easy Digital Downloads
Version 2.11.2
Comparing to
See all releases

Code changes from version 2.11.1 to 2.11.2

assets/css/edd-admin.min.css CHANGED
@@ -1 +1 @@
1
- .edd-hidden{display:none}.edd-clearfix:after{content:".";display:block;height:0;text-indent:-9999px;visibility:hidden}.edd-notice .notice-dismiss,.edd-wrap a{text-decoration:none}a.edd-delete{color:#a00}a.edd-delete:hover{color:red}.download_page_edd-settings .form-table label{color:#666;font-size:14px;font-style:italic;margin:4px 0 0}.download_page_edd-settings .form-table input.small-text~label,.download_page_edd-settings .form-table input[type=checkbox]+label{display:inline}.download_page_edd-settings .form-table tr>th>h3,.download_page_edd-settings .form-table tr>th>strong{font-size:1.2em;font-weight:600;margin:0 auto}.edd-help-tip{cursor:help}.edd-ui-tooltip{position:absolute;background:#333!important;border-width:1px!important;border-radius:3px!important;box-shadow:1px 1px 2px 1px rgba(214,214,214,.5)!important;color:#dedede!important;max-width:300px!important;padding:7px!important;text-rendering:optimizeLegibility;text-shadow:none!important;z-index:9999!important}.download_page_edd-settings .edd-settings-payment-icon-wrapper{margin-right:10px;line-height:16px;height:16px;display:table}#edd-add-ons h2.nav-tab-wrapper{position:relative}.edd-tab-span{top:-6px;right:0;position:absolute}.edd-add-ons-footer{padding-top:10px}#edd-add-ons h2{margin:0 0 15px}.edd-add-ons-view-wrapper{height:50px}#edd-add-ons h2 .button-primary{position:absolute}#edd-add-ons .edd-extension{background:#fff;border:1px solid #ccc;float:left;padding:14px;position:relative;margin:0 15px 15px 0;width:320px;height:315px}#edd-add-ons .edd-extension h3{font-size:13px;margin:0 0 8px}#edd-add-ons .edd-extension .button-secondary{position:absolute;bottom:14px;left:14px}#edd-add-ons .edd-browse-all{clear:both;width:100%}#edd-add-ons .edd-extension .third-party{display:none}#edd-add-ons .edd-starter-package{background-color:#85c0e5;border-color:#62a9d7;color:#fff}#edd-add-ons .edd-starter-package h3{color:#fff}#edd-add-ons .edd-extension .wp-post-image{width:100%;height:auto;vertical-align:bottom}#edd-products{height:100px;min-width:200px}#edd-add-discount input[type=text],#edd-edit-discount input[type=text]{width:300px}#edd-add-discount input.edd-price-field,#edd-edit-discount input.edd-price-field{padding:3px 5px;width:75px}.download_page_edd-addons .wrap .wp-heading-inline,.edit-php.post-type-download .wrap .wp-heading-inline{display:none}.download_page_edd-addons .wrap>.page-title-action,.edit-php.post-type-download .wrap>.page-title-action{display:none}.download_page_edd-addons .wrap .nav-tab-wrapper .page-title-action,.edit-php.post-type-download .wrap .nav-tab-wrapper .page-title-action{top:7px;margin-left:5px}#edd-payment-filters{background:#f5f5f5;clear:both;background-image:-webkit-gradient(linear,left bottom,left top,from(#f5f5f5),to(#fafafa));background-image:-webkit-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-moz-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-o-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:linear-gradient(to top,#f5f5f5,#fafafa);border-color:#dfdfdf;border-width:1px;border-style:solid;border-radius:3px;font-size:13px;line-height:2.1em;overflow:auto;padding:12px;margin:8px 0}#edd-payments-filter ul.subsubsub{margin-bottom:8px}#edd-payment-filters p{color:#777}#edd-payment-date-filters input{vertical-align:middle}tr.status-refunded td{background:#cecece;border-top-color:#ccc}.wp-list-table.downloads th#ID{width:80px}.wp-list-table.downloads th#details{width:130px}.wp-list-table.downloads th#date{width:140px}.wp-list-table.downloads th#user{width:130px}.edd-mobile-link{line-height:32px;vertical-align:middle}.edd-mobile-link img{max-width:80%;height:auto;float:left}@media handheld,only screen and (max-width:640px){.wp-list-table.downloads th{width:auto!important}}.download_page_edd-payment-history .ui-dialog .ui-dialog-titlebar-close span{margin-left:-8px;margin-top:-8px}#edd-download-link-textarea{width:100%}.edd_files_name_label{width:225px;float:left}.edd_files_url_label{width:220px;float:left}#postbox-container-1 .edd_files_name_label{width:80px}#postbox-container-1 .edd_files_url_label{width:80px}.edd-add-repeatable-row{margin:10px 0}.edd-add-repeatable-row .submit{padding:0!important}.edd_repeatable_upload_wrapper:not(:first-child),.edd_variable_prices_wrapper:not(:first-child){margin-top:12px}.edd-repeatable-row-actions{color:#777;font-size:12px}.edd-repeatable-row-actions a{text-decoration:none;width:auto;cursor:pointer;vertical-align:middle}.edd-repeatable-row-actions .toggle-custom-price-option-section{color:#777}.edd-repeatable-row-actions .toggle-custom-price-option-section:hover{color:#444}.edd-bundle-products-header,.edd-repeatable-row-header{clear:both;background:#f1f1f1;border:1px solid #e5e5e5}.edd-repeatable-row-header{cursor:move}.edd-bundled-product-row:after,.edd-bundled-product-row:before,.edd-repeatable-row-header:after,.edd-repeatable-row-header:before{content:'';display:table}.edd-bundled-product-row:after,.edd-repeatable-row-header:after{clear:both}.edd-repeatable-row-title{float:left;font-weight:600}.edd-bundled-product-item-reorder .edd-product-file-reorder{color:#e5e5e5;font-family:dashicons;content:"\f545";font-size:18px;font-weight:300;margin-left:4px;vertical-align:top;transition:.2s color}.edd-bundled-product-item-reorder .edd-product-file-reorder:hover{color:#bbb}.edd-repeatable-row-actions,.edd-repeatable-row-title{padding:8px;box-sizing:border-box}.edd-repeatable-row-actions{float:right;text-align:right;padding:8px}.edd-bundled-product-row .edd-remove-row,.edd-repeatable-row-actions .edd-remove-row{font-size:12px;width:auto;cursor:pointer}.edd-bundled-product-row,.edd-repeatable-row-standard-fields{background:#f9f9f9;padding:8px;border-width:0 1px 1px;border-style:solid;border-color:#e5e5e5}.edd-repeatable-row-setting-label{display:block;margin-bottom:4px}.edd-repeatable-row-setting-label .edd-help-tip{display:inline-block;margin-left:4px}.edd-bundled-product-row .edd-bundled-product-actions,.edd-bundled-product-row .edd-bundled-product-item,.edd-bundled-product-row .edd-bundled-product-item-reorder,.edd-bundled-product-row .edd-bundled-product-price-assignment,.edd-file-assignment,.edd-file-name,.edd-file-url,.edd-option-name,.edd-option-price,.edd_repeatable_default{display:inline-block;vertical-align:top}.edd-option-name{width:38%;margin-right:5%}.edd-option-price{min-width:100px}.edd_repeatable_default{text-align:center;min-width:80px}.edd-file-name{width:18%;margin-right:3%}.edd-file-url{width:65%}.edd-repeatable-row-standard-fields.has-variable-pricing .edd-file-url{width:38%;margin-right:5%}.edd-file-assignment{width:27%}.edd-file-assignment .edd-repeatable-row-setting-label{margin-bottom:0}.edd-custom-price-option-sections-wrap{display:none;border-width:0 1px 1px;border-style:solid;border-color:#e5e5e5;box-sizing:border-box;width:100%}.edd-custom-price-option-section{display:block;padding:10px 8px;border-bottom:1px solid rgba(222,222,222,.3)}.edd-custom-price-option-section:last-child{border-bottom:none}label.edd_prices_shipping{display:none!important}.edd-custom-price-option-section-title{display:block;font-size:14px;font-weight:600;padding:0 0 10px}.edd-custom-price-option-section>:not(.edd-custom-price-option-section-title){display:inline-block;padding-right:20px;vertical-align:top;margin-bottom:4px}.edd-custom-price-option-section>:not(.edd-custom-price-option-section-title) label{display:block;margin-bottom:2px}.edd-bundle-products-header{font-weight:600;padding:8px}.edd-bundled-product-row .edd-bundled-product-item-reorder{min-width:30px;margin-right:8px}.edd-bundled-product-row .edd-bundled-product-item-reorder .edd-product-file-reorder{font-size:20px;font-weight:300;padding:16px 4px 0;cursor:move}.edd-bundled-product-row .edd-bundled-product-item{width:60%;margin-right:3%}.edd-bundled-product-row.has-variable-pricing .edd-bundled-product-item{width:47%}.edd-bundled-product-row .edd-bundled-product-price-assignment{width:23%;margin-right:3%}.edd-bundled-product-row .edd-bundled-product-actions{float:right}.edd_repeatable_upload_wrapper .edd_repeatable_upload_field_container{position:relative}.edd_upload_file{background:#fff;display:block;padding:2px 8px 2px;position:absolute;top:3px;right:7px}.edd_upload_field{padding-right:8em!important}textarea#edd-payment-note{width:100%;height:4em;margin:0}#edd-purchased-files .row .edd-purchased-files-list-wrapper .download{line-height:1.4}#edd-purchased-files .edd-purchased-files-list-wrapper .edd-purchased-option{color:#666}input[class*=edd-price-field]{padding:3px 5px;width:75px}#edd-order-download-quantity[type=number].small-text,#edd-order-download-tax[type=text].small-text,[class*=item_] [class*=edd-payment-details-download-][type=number].small-text{height:25px}#edd-order-download-quantity[type=number].small-text,.item_price .edd-payment-details-download-quantity[type=number].small-text{width:55px}#edd-order-download-tax[type=text].small-text,.item_tax .edd-payment-details-download-item-tax[type=number].small-text{width:75px}.edd_repeatable_product_wrapper .edd-select,.edd_repeatable_upload_wrapper .pricing select{min-width:100%}#edd_product_notes_field{display:block;margin:12px 0 0;height:4em;width:100%}.edd_remove_repeatable{border:none;cursor:pointer;display:inline-block;padding:0;overflow:hidden;margin:8px 0 0 0;text-indent:-9999px;width:10px;height:10px}.edd_remove_repeatable:active,.edd_remove_repeatable:focus,.edd_remove_repeatable:hover{background-position:-10px 0!important}#edd-edit-order-form .column{width:32%}.edd-edit-purchase-element[class*=columns-] ul li{padding-right:1%}#edd-edit-order-form .column:nth-child(2n+1),#edd-edit-order-form .columns-4 .column:nth-child(2n+1),#edd-edit-order-form .columns-5 .column:nth-child(3n+1){margin-right:0}#edd-edit-order-form input.large-text{width:90%}.edd-edit-purchase-element ul li.download{width:35%}.edd-edit-purchase-element ul li.item_price{width:15%}.edd-edit-purchase-element ul li.item_price.item_quantity{width:25%}.edd-edit-purchase-element ul li.item_tax{width:15%}.edd-edit-purchase-element ul li.price{width:20%}.edd-admin-box .label{font-weight:600}.edd-admin-box-inside{border-bottom:1px solid #eee;clear:both;padding:3px 12px;margin:0;word-break:break-word}.rtl .edd-admin-box-inside{padding:5px 10px 5px 0}.edd-admin-box-inside .strong{font-weight:600}.edd-payment-fees .fee-label{color:#666;font-weight:400}.edd-admin-box .right{float:right}.rtl .edd-admin-box .right{float:left;margin-left:10px}#edd-order-details .inside,#edd-order-update .inside{margin:0;padding:0}#edd-order-update input.edd_datepicker{width:180px}#edd-order-update input[type=number].edd-payment-time-hour,#edd-order-update input[type=number].edd-payment-time-min{width:50px}#edd-order-update .edd-tax-rate{color:#9c9c9c;font-style:italic}#edd-order-resend-receipt .inside{margin-top:11px}#edd-order-resend-receipt .edd-order-resend-receipt-addresses{margin-top:10px}.edd-admin-box-inside:last-child{border-bottom:0}#edd-edit-order-form .data-payment-key{word-break:break-all}.edd-order-update-box #major-publishing-actions .button-secondary{margin-right:10px}.edd-edit-purchase-element .edd-select-chosen{width:196px}#edd-customer-details .order-data-address input,#edd-customer-details .order-data-column p.data input,#edd-edit-order-form .column input,#edd-order-address-country-wrap select,.edd-edit-purchase-element ul{clear:both;display:block}#edd-customer-details .customer-info .column{width:49%}#edd-customer-details .actions{float:right}.edd-order-data input.small-text{margin:0}.edd-order-data input.med-text{margin:0;width:100px}#edd-order-update span.label{display:inline;width:50px}.edd-order-update-box .button-primary{margin-right:0}#edd-edit-order-form .column .description{padding-right:10px}#edd-edit-order-form .column,.edd-edit-purchase-element ul li{display:inline-block;line-height:1.4;position:relative;margin:0;vertical-align:middle}.edd-edit-purchase-element .row{padding:12px}.edd-edit-purchase-element .row:not(:last-child){border-bottom:1px solid #eee}.edd-edit-purchase-element .row:nth-child(odd):not(.header){background-color:#f9f9f9}.edd-edit-purchase-element .row.header{padding:6px 12px;font-weight:600;vertical-align:top}.edd-edit-purchase-element ul{font-size:0}.edd-edit-purchase-element ul li{font-size:13px}#edd-order-data .data span{color:#666;font-weight:600}.edd-edit-purchase-element .inside{padding:12px}.edd-edit-purchase-element .edd-purchased-download-title{font-size:14px;font-weight:500}.edd-edit-purchase-element .edd-purchased-download-title .deleted{color:#777}.edd-edit-purchase-element .edd-purchased-download-actions{color:#777;line-height:1.4}.edd-edit-purchase-element .edd-purchased-download-actions .edd-purchased-download-actions-label{font-weight:500}.edd-edit-purchase-element .edd-purchased-download-actions a{color:#777;font-size:12px}.edd-edit-purchase-element .edd-purchased-download-actions a:hover{color:#444}.edd-edit-purchase-element .edd-purchased-download-actions .edd-order-remove-download{color:#a00}.edd-edit-purchase-element .edd-purchased-download-actions .edd-order-remove-download:hover{color:red}#edd-order-recalc-total{float:right}#edd_products .edd-select,.edd_repeatable_product_wrapper .edd-select,.edd_repeatable_upload_wrapper .pricing select{min-width:100%;max-width:200px}.edd_repeatable_product_wrapper td{overflow:visible}.edd-payment-details-label-mobile{display:none}@media screen and (max-width:1284px){.edd-edit-purchase-element ul li.download{padding-bottom:15px;width:100%}.edd-edit-purchase-element .edd-purchased-download-title{font-size:16px}.edd-edit-purchase-element ul li.item_price{width:22%}.edd-edit-purchase-element ul li.item_price.item_quantity{width:35%}.edd-edit-purchase-element ul li.item_tax{width:25%}.edd-edit-purchase-element ul li.price{width:20%}.edd-edit-purchase-element .edd-purchased-download-actions{padding-top:10px}.edd-add-download-to-purchase-header,.edd-purchased-files-header{display:none}.edd-payment-details-label-mobile{display:block;font-weight:500;padding-bottom:6px}}@media screen and (max-width:1024px){.edd-edit-purchase-element ul li.item_price.item_quantity{width:40%}.edd-edit-purchase-element ul li.price{width:24%}.edd-edit-purchase-element .edd-purchased-download-actions{padding-top:15px}.edd-edit-purchase-element .edd-purchased-download-actions,.edd-edit-purchase-element .edd-purchased-download-actions a{font-size:14px}}@media screen and (max-width:782px){#edd-edit-order-form .column{width:49%}.edd-edit-purchase-element ul li.item_price,.edd-edit-purchase-element ul li.item_price.item_quantity{padding-bottom:10px}.edd-edit-purchase-element ul li.item_price.item_quantity{width:35%}.edd-edit-purchase-element ul li.item_tax,.edd-edit-purchase-element ul li.price{width:20%;padding-bottom:10px}.edd-payment-details-label-mobile{font-size:14px;font-weight:500}.edd-payment-details-download-amount,.edd-price-currency{font-size:16px}.order-data-column input[type=email]{padding:6px 10px}}@media screen and (max-width:600px){.edd-edit-purchase-element ul li.item_price,.edd-edit-purchase-element ul li.item_price.item_quantity,.edd-edit-purchase-element ul li.item_tax{width:100%;padding-bottom:20px}.edd-edit-purchase-element .edd-add-download-to-purchase ul li.item_tax,.edd-edit-purchase-element ul li.price{width:100%;padding-bottom:0}.edd-edit-purchase-element .edd-add-download-to-purchase-actions{padding-top:15px}#edd-edit-order-form .column{width:100%}}#edd_product_stats .label{display:inline-block}#edd_product_stats hr{border-style:solid;border-width:1px;border-color:#ccc #fff #fff #ccc}#edd_product_stats .product-earnings-stats:before,#edd_product_stats .product-sales-stats:before{color:#82878c;font:normal 20px/1 dashicons;display:inline-block;padding:0 2px 0 0;position:relative;top:0;left:-1px;speak:none;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#edd_product_stats .product-sales-stats:before{content:'\f174'}#edd_product_stats .product-earnings-stats:before{content:'\f239'}.edd_dashboard_widget table thead td{border-bottom:1px solid #ececec;color:#777}.edd_dashboard_widget .table_left{float:left;width:45%}.edd_dashboard_widget .table_right{float:right;width:45%}.edd_dashboard_widget .inside{font-size:12px}.edd_dashboard_widget td{padding:3px 0}.edd_dashboard_widget .b,.edd_dashboard_widget .t{line-height:1.5;vertical-align:middle}.edd_dashboard_widget .b{font-size:14px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding-right:6px;width:auto}.edd_dashboard_widget .t{font-size:12px;padding-right:12px;color:#777;width:100%}.edd_dashboard_widget .label_heading{border-top:1px solid #ececec;color:#8f8f8f;font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;display:block;padding-top:10px;margin:0 0 8px 12px}.edd_dashboard_widget .edd_dashboard_widget_subheading{border-top:1px solid #ececec;color:#8f8f8f;font-size:14px;padding-top:10px;margin:1em 0 0 0}.edd_dashboard_widget .edd_dashboard_widget_subheading+.table{margin:8px 0 0 0}.edd_dashboard_widget .edd_price_label{background:#00769c;border-radius:3px;color:#fff;font-size:10px;padding:2px 4px;margin-right:2px}.edd_dashboard_widget table{width:100%;margin-left:0;margin-bottom:1em}td.edd_order_label{width:80%}td.edd_order_price{text-align:right}@media handheld,only screen and (max-width:1000px){.edd_dashboard_widget .edd-recent-email{display:none}}#edd-dashboard-widgets-wrap .postbox h3{cursor:default}#edd-date-range-options,#edd-graphs-date-options{float:left}#edd-date-range-options span{float:left;line-height:24px;height:24px;margin-right:6px}.edd-import-export-form{position:relative}.edd-import-export-form .edd-progress{background:#ddd;position:absolute;bottom:15px;width:95%;height:15px}.edd-import-export-form .edd-progress div{background:#ccc;height:100%;width:0}.edd-import-export-form .notice-wrap{background-color:#f4f4f4;border-style:solid;border-width:1px 0;border-color:#eae9e9;padding:12px 12px 4px;overflow:auto;margin:20px -12px -23px;position:relative;width:100%}.edd-import-export-form .notice-wrap .spinner{margin:4px 10px 8px;float:right}.admin-color-fresh .edd-import-export-form .edd-progress div{background:#0073aa}.admin-color-light .edd-import-export-form .edd-progress div{background:#888}.admin-color-blue .edd-import-export-form .edd-progress div{background:#096484}.admin-color-coffee .edd-import-export-form .edd-progress div{background:#c7a589}.admin-color-ectoplasm .edd-import-export-form .edd-progress div{background:#a3b745}.admin-color-midnight .edd-import-export-form .edd-progress div{background:#e14d43}.admin-color-sunrise .edd-import-export-form .edd-progress div{background:#dd823b}#edd-graphs-filter label{vertical-align:inherit}#edd-graphs-filter .graph-option-section{float:left;line-height:2.5em;padding-right:5px}.edd-mix-totals{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:10px}.edd-mix-chart{display:inline-block;width:49%;vertical-align:top}.edd-graph-notes{color:#9c9c9c}.edd-graph-notes span{display:block}.edd-pie-graph .legend{display:none}.edd-pie-legend{overflow:auto;margin-top:10px}.edd-legend-item-wrapper{color:#333;display:inline-block;font-size:8pt;padding:2px 5px 0 5px;width:48%;height:20px}.edd-legend-color{border:1px solid #cfcfcf;display:inline-block;margin-right:5px;width:20px;height:15px}.edd-pie-legend-item{display:inline-block;vertical-align:top;width:80%}[id*=edd-recapture-].button,[id*=edd-sendwp-].button{font-size:16px;height:auto;padding:8px 14px;margin:6px 0 0}[id*=edd-recapture-].button .dashicons,[id*=edd-sendwp-].button .dashicons{line-height:29px;margin-right:8px}[id*=edd-recapture-].button .edd-loading,[id*=edd-recapture-].button .edd-loading:after,[id*=edd-sendwp-].button .edd-loading,[id*=edd-sendwp-].button .edd-loading:after{border-radius:50%;display:inline-block;width:14px;height:14px}[id*=edd-recapture-].button .edd-loading,[id*=edd-sendwp-].button .edd-loading{position:relative;top:3px;margin-left:4px;box-shadow:0 0 2px rgba(0,0,0,.2)}[id*=edd-recapture-].button .edd-loading,[id*=edd-sendwp-].button .edd-loading{-webkit-animation:edd-spinning 1.1s infinite linear;animation:edd-spinning 1.1s infinite linear;border-top:2px solid rgba(255,255,255,.5);border-right:2px solid rgba(255,255,255,.5);border-bottom:2px solid rgba(255,255,255,.5);border-left:2px solid #fff;font-size:14px;-ms-transform:translateZ(0);transform:translateZ(0)}#edd-recapture-disconnect.button .edd-loading.dark,#edd-sendwp-disconnect.button .edd-loading.dark{border-top-color:rgba(0,0,0,.2);border-right-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.2);border-left-color:#666;box-shadow:none}.recapture-notice{position:relative}@-webkit-keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#edd_tax_rates{margin:1em 0 0}#edd_tax_rates .edd_tax_country *,#edd_tax_rates .edd_tax_state *{max-width:100%}#edd_tax_rates .edd_tax_country,#edd_tax_rates .edd_tax_state{width:180px}#edd_tax_rates .edd_tax_rate{width:80px}#edd_tax_rates th{padding:15px 10px}.wrap-licenses .form-table,.wrap-licenses caption,.wrap-licenses tbody,.wrap-licenses td,.wrap-licenses tfoot,.wrap-licenses th,.wrap-licenses thead,.wrap-licenses tr{display:block}.wrap-licenses .form-table tr{float:left;margin:0 15px 15px 0;background:#fff;border:1px solid #ccc;width:30.5%;max-width:350px;padding:14px;min-height:220px;position:relative;box-sizing:border-box}.wrap-licenses .form-table th{background:#f9f9f9;padding:14px;border-bottom:1px solid #ccc;margin:-14px -14px 20px;width:100%}.wrap-licenses .form-table td{padding:0}.wrap-licenses td input.regular-text{margin:0 0 8px;width:100%}.wrap-licenses .edd-license-data[class*=edd-license-]{position:absolute;background:#fafafa;padding:14px;border-top:1px solid #eee;margin:20px -14px -14px;min-height:67px;width:100%;bottom:14px;box-sizing:border-box}.wrap-licenses .edd-license-data[class*=edd-license-] a{color:#444}.wrap-licenses .edd-license-data[class*=edd-license-] a:hover{text-decoration:none}.wrap-licenses .edd-license-data.license-expires-soon-notice{background-color:#00a0d2;color:#fff;border-color:#00a0d2}.wrap-licenses .edd-license-data.edd-license-expired{background-color:#e24e4e;color:#fff;border-color:#e24e4e}.wrap-licenses .edd-license-data.edd-license-error,.wrap-licenses .edd-license-data.edd-license-invalid,.wrap-licenses .edd-license-data.edd-license-item_name_mismatch,.wrap-licenses .edd-license-data.edd-license-missing,.wrap-licenses .edd-license-data.edd-license-site_inactive{background-color:#ffebcd;border-color:#ffebcd}.wrap-licenses .edd-license-data p{font-size:13px;margin-top:0}.wrap-licenses .edd-license-data.edd-license-expired a,.wrap-licenses .edd-license-data.license-expires-soon-notice a{color:#fff}.wrap-licenses .edd-license-data.edd-license-expired a:hover,.wrap-licenses .edd-license-data.license-expires-soon-notice a:hover{text-decoration:none}.wrap-licenses p.submit{clear:both}#system-info-textarea{background:0 0;font-family:Menlo,Monaco,monospace;display:block;overflow:auto;white-space:pre;width:800px;height:400px}#TB_window #edd-add-download:active,#TB_window #edd-add-download:focus,#TB_window #edd-add-download:hover{color:#fff}.edd-graph .y1Axis{color:#edc240!important}.edd-graph .y2Axis{color:#afd8f8!important}.download_page_edd-tools .apikeys .column-user{width:192px}.edd-select-chosen{width:100%;max-width:300px}.chosen-container-multi .chosen-choices{background-image:none;border-color:#dfdfdf;-webkit-border-radius:3px;border-radius:3px}.chosen-container-multi .chosen-choices input{border-color:#dfdfdf;height:27px!important;margin:2px}.chosen-container .chosen-drop{border-color:#aaa;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.1);box-shadow:1px 1px 2px rgba(0,0,0,.1)}.chosen-container .search-field{float:none!important}.chosen-container .search-field input{width:90%!important}.chosen-container-active .chosen-choices{border-color:#aaa;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.1);box-shadow:1px 1px 2px rgba(0,0,0,.1)}.download_page_edd-tools .tablenav .actions{overflow:visible}.edd_user_search_wrap{position:relative;overflow:visible}.edd_user_search_results{position:absolute;left:0;top:27px}.edd_user_search_results a.edd-ajax-user-cancel{position:absolute;right:6px;top:2px}.edd_user_search_results ul{background:#f0f0f0;border:1px solid #dfdfdf;overflow-y:scroll;padding:10px 10px 4px;margin:0;max-height:200px;width:300px}.wp-list-table .type-download .row-actions{color:#999}@media screen and (max-width:1100px){.edd-mix-chart{display:block;width:100%}.wrap-licenses .form-table tr{width:46%;max-width:none;min-height:230px}}@media screen and (max-width:782px){.post-type-download .nav-tab-wrapper a{font-size:70%;padding:2px 4px}.download_page_edd-tools .apikeys .column-user{width:80px}.license-expiration-date-notice,.license-lifetime-notice,.license-null{padding-left:0}[class^=license-] input[type=text]{margin-bottom:3px}}@media screen and (max-width:600px){.wrap-licenses .form-table tr{width:100%;min-height:230px}#edd-edit-order-form input.large-text{width:100%}}#edd-item-wrapper{background:#f5f5f5;border:1px solid #e5e5e5;webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);max-width:830px}#edd-item-wrapper:after{content:"";display:block;clear:both;visibility:hidden;font-size:0;height:0}#edd-item-tab-wrapper{float:left;width:18%;z-index:1}#edd-item-tab-wrapper-list{background:#fff;margin:0}#edd-item-tab-wrapper-list li{display:block;background-color:#eaeaea;color:#444;font-size:12px;border-bottom:1px solid #e5e5e5;margin-bottom:0;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}#edd-item-tab-wrapper-list li a{display:block;padding:8px 10px 8px 6px}#edd-item-tab-wrapper-list li.active{display:block;background-color:#fff;padding:8px 10px 8px 6px}#edd-item-tab-wrapper-list .inactive a,#edd-item-tab-wrapper-list .inactive a:visited{background-color:#f5f5f5;color:#444;text-decoration:none}#edd-item-tab-wrapper-list .inactive a:hover{background-color:#fff}#edd-item-tab-wrapper-list .dashicons{color:#444;font-size:16px;min-width:24px;height:auto}#edd-item-card-wrapper .left{float:left}#edd-item-card-wrapper .right{float:right}#edd-item-card-wrapper input{font-weight:400}#edd-item-card-wrapper{background-color:#fff;border:1px solid #e5e5e5;display:inline-block;margin-left:-1px;min-height:200px;width:700px;z-index:2}.edd-item-has-tabs #edd-item-card-wrapper{border-width:0 0 0 1px;width:82%}#edd-item-card-wrapper .customer-section{border-bottom:1px solid #eee;margin-bottom:10px;overflow:auto}#edd-item-card-wrapper .customer-section table{margin-bottom:20px}#edd-item-card-wrapper>div{padding:0 20px}#edd-item-card-wrapper>div:first-child{padding-top:20px}#edd-item-card-wrapper>div:last-child{border:none;padding-bottom:20px}#edd-item-card-wrapper .avatar-wrap{padding-right:10px;text-align:center}#edd-item-card-wrapper .customer-id{font-size:24px;font-weight:600}#edd-item-card-wrapper .customer-main-wrapper input{width:200px}#edd-item-card-wrapper .customer-address-wrapper{margin-right:25px;max-width:33%;width:202px}#edd-item-card-wrapper .customer-address-wrapper select{width:200px}#edd-item-card-wrapper .customer-info{margin-top:5px;margin-bottom:10px;min-height:185px}#edd-item-card-wrapper .info-wrapper{min-height:125px;overflow:visible}#edd-item-card-wrapper a.delete{color:red;margin-right:5px;text-decoration:none}.customer-info .customer-name{font-size:24px;font-weight:600}.customer-edit-link a,.disconnect-user a{font-size:12px;font-weight:400;text-decoration:none}#customer-edit-actions{line-height:28px;margin-bottom:20px;text-align:center}#customer-edit-actions .button-secondary{margin-right:10px}#edd-item-card-wrapper .row-title{width:30%}#edd-item-card-wrapper .info-item{display:block;line-height:16px;padding-bottom:5px}#edd-item-card-wrapper .edit-item{display:none}#edd-item-card-wrapper .edd_user_search_results{left:1px;top:16px}#edd-item-card-wrapper .edd_user_search_results ul{width:200px}#edd-item-stats-wrapper{margin:0 auto;min-height:30px;text-align:center}#edd-item-stats-wrapper li{font-size:14px;float:left;line-height:22px;width:50%}#edd-item-stats-wrapper a{text-decoration:none}#edd-item-stats-wrapper .dashicons{color:#888}#edd-item-tables-wrapper table{text-align:center;width:100%}#edd-item-tables-wrapper th{text-align:center}#edd-item-tables-wrapper .downloads tr>td:first-child,#edd-item-tables-wrapper .downloads tr>th:first-child,#edd-item-tables-wrapper .emails tr>td:first-child,#edd-item-tables-wrapper .emails tr>th:first-child{text-align:left}#edd-item-tables-wrapper .downloads tr>td:only-child{text-align:center}#edd-item-tables-wrapper .emails .add-customer-email-row td{background-color:#f9f9f9;border-top:1px solid #e5e5e5}#edd-item-tables-wrapper .emails .primary-email-icon{font-size:13px;vertical-align:middle;line-height:1.5em}#edd-item-tables-wrapper .emails input{vertical-align:middle;margin:6px 0}#edd-item-tables-wrapper .emails .spinner{float:none}#edd-item-notes-wrapper{min-height:50px}.edd-item-notes-header img,.edd-item-notes-header span{font-weight:600;line-height:30px;vertical-align:middle}.customer-note-input{margin-bottom:5px;width:100%}#edd-customer-notes div:nth-of-type(even){background-color:#fcfcfc}.customer-note-wrapper{border-bottom:1px solid #f9f9f9;min-height:38px;padding:7px 0 7px 7px}.customer-note-wrapper span{display:block}.note-content-wrap{padding-top:7px}.delete-customer{text-align:center}#edd-item-card-wrapper .notice-container{padding-left:20px;padding-right:20px;margin-left:-20px;margin-right:-20px}#edd-item-card-wrapper .add-customer-email-wrapper>#add-customer-email{vertical-align:middle}@media screen and (max-width:810px) and (min-width:656px){.customer-info .customer-name{font-size:16px}#edd-item-card-wrapper .widefat td,.widefat th{padding:4px 6px;max-width:100px!important;display:table-cell}}@media screen and (max-width:781px){#edd-item-card-wrapper,#edd-item-tab-wrapper{margin:0;width:100%}#edd-item-tab-wrapper-list{background:#fff;margin:0}#edd-item-tab-wrapper-list li{float:left;display:inline;font-size:14px;box-sizing:border-box;border-width:0 1px 1px 0;border-style:solid;border-color:#e5e5e5;width:33.33333%}#edd-item-tab-wrapper-list li:nth-child(3n+3){border-width:0 0 1px 0}#edd-item-tab-wrapper-list .dashicons{font-size:18px}.edd-item-has-tabs #edd-item-card-wrapper{border-top:1px solid #e5e5e5;border-left:0;margin-top:-1px;width:100%}}@media screen and (max-width:656px){#edd-item-card-wrapper .customer-info{min-height:220px}.edd-item-info.customer-info{position:relative}#edd-item-card-wrapper .customer-address-wrapper{float:none;position:absolute;top:84px;left:110px;max-width:200px}#edd-item-card-wrapper .customer-main-wrapper{float:none;position:absolute;left:110px}.customer-info .customer-name{font-size:16px}#edd-item-card-wrapper #edd-item-stats-wrapper{padding-left:0;padding-right:0}#edd-item-card-wrapper .customer-section{margin-bottom:0}#edd-item-card-wrapper .widefat td,#edd-item-card-wrapper .widefat th{padding:4px 6px;max-width:100px!important;display:table-cell;overflow:hidden}#edd-item-card-wrapper .customer-id{font-size:16px}}@media screen and (max-width:480px){#edd-item-tab-wrapper-list li{width:50%}#edd-item-tab-wrapper-list li:nth-child(3n+3){border-width:0 1px 1px 0}#edd-item-tab-wrapper-list li:nth-child(even){border-width:0 0 1px 0}.edd-repeatable-row-actions,.edd-repeatable-row-title{text-align:left;width:100%}.edd-repeatable-row-title{padding-bottom:0}.edd-bundled-product-item-reorder,.edd-bundled-product-row .edd-bundled-product-item,.edd-bundled-product-row .edd-bundled-product-price-assignment,.edd-file-assignment,.edd-file-name,.edd-file-url,.edd-option-name,.edd-option-price,.edd_repeatable_default{float:none;text-align:left;width:100%!important;margin:10px 0}.edd-bundled-product-row .edd-bundled-product-actions{float:none}.edd-bundled-product-row .edd-bundled-product-item-reorder .edd-product-file-reorder{padding:0}#edd-payment-filters span{display:block;margin:2px 0}#edd-payment-filters a,.download_page_edd-reports .button{text-align:center}#edd-payment-date-filters span{display:block}#edd-payment-date-filters span>input{float:right}#edd-add-discount select[multiple] option,#edd-edit-discount select[multiple] option{height:20px}#edd-add-discount input[type=text],#edd-edit-discount input[type=text],#edd-payment-filters a,#edd-payment-filters input:not([type=radio]),#edd-payment-filters select,#system-info-textarea,.download_page_edd-reports .inside .button,.download_page_edd-reports .inside input[type=submit],.download_page_edd-reports .inside input[type=text],.download_page_edd-reports .inside select,.download_page_edd-settings .inside input[type=button],.download_page_edd-tools .inside input[type=submit],.download_page_edd-tools .inside input[type=text],.download_page_edd-tools .inside select{width:100%}#edd-add-discount select[multiple],#edd-edit-discount select[multiple],.download_page_edd-tools select[multiple]{height:200px!important}.download_page_edd-settings input[type=checkbox]{margin:2px 0}.post-type-download input[type=checkbox]{margin-left:2px}}.recount-stats-controls form{display:inline}.edd-recount-stats-descriptions span{display:none;line-height:24px}#edd-debug-log p.submit{margin:20px 0 0;padding:0}#edd-debug-log .edd-inline-button{margin-left:5px}.edd-settings-sidebar{padding-top:27px}.edd-settings-sidebar-content{background-color:#fff;text-align:center;border:1px solid #ddd;box-sizing:border-box;max-width:300px}.edd-settings-sidebar-content p{font-size:14px;line-height:1.5;margin-top:0}.edd-sidebar-header-section{background-color:#35495c;line-height:1;padding:26px 20px 24px;border-bottom:3px dashed #fafafa}.edd-sidebar-description-section{background-color:#fafafa;padding:16px 20px;border-bottom:1px solid #ddd}.edd-sidebar-description-section .edd-sidebar-description{margin:0}.edd-sidebar-coupon-section{font-size:14px;padding:16px 20px}.edd-sidebar-coupon-section label{display:block;line-height:1.4;margin-bottom:6px}.edd-sidebar-coupon-section label strong{color:#253b51;font-weight:700}.edd-sidebar-coupon-section input{background:#f4f7fa;font-size:22px;font-weight:600;text-align:center;padding:10px;border:2px dashed #2794da;border-radius:4px;margin-bottom:16px;box-shadow:none;width:100%}.edd-sidebar-coupon-section input:focus{border:2px dashed #2794da;box-shadow:none}.edd-settings-sidebar-content .edd-coupon-note{color:#6c7883;font-size:13px;font-style:italic;margin:0}.edd-settings-sidebar-content .edd-coupon-note a{color:#253b51}.edd-settings-sidebar-content .edd-coupon-note a:hover{text-decoration:none}.edd-sidebar-footer-section{background-color:#fafafa;padding:16px 20px;border-top:1px solid #ddd}.edd-sidebar-footer-section .edd-cta-button{display:block;background-color:#2794da;color:#fff;text-decoration:none;font-size:20px;font-weight:700;text-transform:uppercase;padding:17px 10px;border:none;border-radius:4px;width:100%;box-sizing:border-box;box-shadow:none;transition:background-color .2s}.edd-sidebar-footer-section .edd-cta-button:hover{background-color:#2386c5}@media all and (min-width:1080px){.edd-has-sidebar .edd-settings-content{float:left;width:67%}.edd-has-sidebar .edd-settings-sidebar{float:right;width:31%}}@media all and (min-width:1240px){.edd-has-sidebar .edd-settings-content{width:74%}.edd-has-sidebar .edd-settings-sidebar{width:23%}}.taxes-tab .edd-has-sidebar .edd-settings-content,.taxes-tab .edd-has-sidebar .edd-settings-sidebar{float:none;width:100%}.bfcm-promo-img-container{background-color:#35495c;width:100%;height:160px}.bfcm-code{color:#2794da;font-weight:700}.sale-ends{position:absolute;bottom:9px;right:14px;display:inline-block;color:#6c7883;font-size:12px;text-align:right;font-style:italic;width:150px}.edd-admin-notice-top-of-page{font-size:15px;line-height:1.4;color:#fff;margin-left:-20px;padding:12px 32px 12px 20px;background:#2d6ca2;display:none}@media screen and (min-width:783px){.edd-admin-notice-top-of-page{padding:10px 46px 10px 22px}}@media screen and (min-width:961px){.edd-admin-notice-top-of-page{text-align:center}}.edd-admin-notice-top-of-page a{color:#fff}.edd-admin-notice-top-of-page a:hover{text-decoration:none}.edd-admin-notice-top-of-page .button-link{position:absolute;top:48px;right:-1px;font-size:20px;color:#fff;font-weight:700;text-decoration:none;margin-left:5px;padding:6px 10px}.edd-admin-notice-top-of-page .button-link:active,.edd-admin-notice-top-of-page .button-link:focus,.edd-admin-notice-top-of-page .button-link:hover{color:#fff;text-decoration:none}@media screen and (min-width:601px){.edd-admin-notice-top-of-page .button-link{top:1px}}@media screen and (min-width:783px){.edd-admin-notice-top-of-page .button-link{right:9px}}.edd-paypal-account-status ul{margin-left:25px}.edd-paypal-account-status>li{margin-bottom:1em}.edd-paypal-account-status ul:not(.edd-paypal-webhook-events){list-style:disc;list-style-position:inside}.edd-paypal-account-status ul:not(.edd-paypal-webhook-events) li{margin:.25em 0}.edd-paypal-account-status .dashicons-yes{color:#008a20}.edd-paypal-account-status .dashicons-no{color:#d63638}
1
+ .edd-hidden{display:none}.edd-clearfix:after{content:".";display:block;height:0;text-indent:-9999px;visibility:hidden}.edd-notice .notice-dismiss,.edd-wrap a{text-decoration:none}a.edd-delete{color:#a00}a.edd-delete:hover{color:red}.download_page_edd-settings .form-table label{color:#666;font-size:14px;font-style:italic;margin:4px 0 0}.download_page_edd-settings .form-table input.small-text~label,.download_page_edd-settings .form-table input[type=checkbox]+label{display:inline}.download_page_edd-settings .form-table tr>th>h3,.download_page_edd-settings .form-table tr>th>strong{font-size:1.2em;font-weight:600;margin:0 auto}.edd-help-tip{cursor:help}.edd-ui-tooltip{position:absolute;background:#333!important;border-width:1px!important;border-radius:3px!important;box-shadow:1px 1px 2px 1px rgba(214,214,214,.5)!important;color:#dedede!important;max-width:300px!important;padding:7px!important;text-rendering:optimizeLegibility;text-shadow:none!important;z-index:9999!important}.download_page_edd-settings .edd-settings-payment-icon-wrapper{margin-right:10px;line-height:16px;height:16px;display:table}#edd-add-ons h2.nav-tab-wrapper{position:relative}.edd-tab-span{top:-6px;right:0;position:absolute}.edd-add-ons-footer{padding-top:10px}#edd-add-ons h2{margin:0 0 15px}.edd-add-ons-view-wrapper{height:50px}#edd-add-ons h2 .button-primary{position:absolute}#edd-add-ons .edd-extension{background:#fff;border:1px solid #ccc;float:left;padding:14px;position:relative;margin:0 15px 15px 0;width:320px;height:315px}#edd-add-ons .edd-extension h3{font-size:13px;margin:0 0 8px}#edd-add-ons .edd-extension .button-secondary{position:absolute;bottom:14px;left:14px}#edd-add-ons .edd-browse-all{clear:both;width:100%}#edd-add-ons .edd-extension .third-party{display:none}#edd-add-ons .edd-starter-package{background-color:#85c0e5;border-color:#62a9d7;color:#fff}#edd-add-ons .edd-starter-package h3{color:#fff}#edd-add-ons .edd-extension .wp-post-image{width:100%;height:auto;vertical-align:bottom}#edd-products{height:100px;min-width:200px}#edd-add-discount input[type=text],#edd-edit-discount input[type=text]{width:300px}#edd-add-discount input.edd-price-field,#edd-edit-discount input.edd-price-field{padding:3px 5px;width:75px}.download_page_edd-addons .wrap .wp-heading-inline,.edit-php.post-type-download .wrap .wp-heading-inline{display:none}.download_page_edd-addons .wrap>.page-title-action,.edit-php.post-type-download .wrap>.page-title-action{display:none}.download_page_edd-addons .wrap .nav-tab-wrapper .page-title-action,.edit-php.post-type-download .wrap .nav-tab-wrapper .page-title-action{top:7px;margin-left:5px}#edd-payment-filters{background:#f5f5f5;clear:both;background-image:-webkit-gradient(linear,left bottom,left top,from(#f5f5f5),to(#fafafa));background-image:-webkit-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-moz-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:-o-linear-gradient(bottom,#f5f5f5,#fafafa);background-image:linear-gradient(to top,#f5f5f5,#fafafa);border-color:#dfdfdf;border-width:1px;border-style:solid;border-radius:3px;font-size:13px;line-height:2.1em;overflow:auto;padding:12px;margin:8px 0}#edd-payments-filter ul.subsubsub{margin-bottom:8px}#edd-payment-filters p{color:#777}#edd-payment-date-filters input{vertical-align:middle}tr.status-refunded td{background:#cecece;border-top-color:#ccc}.wp-list-table.downloads th#ID{width:80px}.wp-list-table.downloads th#details{width:130px}.wp-list-table.downloads th#date{width:140px}.wp-list-table.downloads th#user{width:130px}.edd-mobile-link{line-height:32px;vertical-align:middle}.edd-mobile-link img{max-width:80%;height:auto;float:left}@media handheld,only screen and (max-width:640px){.wp-list-table.downloads th{width:auto!important}}.download_page_edd-payment-history .ui-dialog .ui-dialog-titlebar-close span{margin-left:-8px;margin-top:-8px}#edd-download-link-textarea{width:100%}.edd_files_name_label{width:225px;float:left}.edd_files_url_label{width:220px;float:left}#postbox-container-1 .edd_files_name_label{width:80px}#postbox-container-1 .edd_files_url_label{width:80px}.edd-add-repeatable-row{margin:10px 0}.edd-add-repeatable-row .submit{padding:0!important}.edd_repeatable_upload_wrapper:not(:first-child),.edd_variable_prices_wrapper:not(:first-child){margin-top:12px}.edd-repeatable-row-actions{color:#777;font-size:12px}.edd-repeatable-row-actions a{text-decoration:none;width:auto;cursor:pointer;vertical-align:middle}.edd-repeatable-row-actions .toggle-custom-price-option-section{color:#777}.edd-repeatable-row-actions .toggle-custom-price-option-section:hover{color:#444}.edd-bundle-products-header,.edd-repeatable-row-header{clear:both;background:#f1f1f1;border:1px solid #e5e5e5}.edd-repeatable-row-header{cursor:move}.edd-bundled-product-row:after,.edd-bundled-product-row:before,.edd-repeatable-row-header:after,.edd-repeatable-row-header:before{content:'';display:table}.edd-bundled-product-row:after,.edd-repeatable-row-header:after{clear:both}.edd-repeatable-row-title{float:left;font-weight:600}.edd-bundled-product-item-reorder .edd-product-file-reorder{color:#e5e5e5;font-family:dashicons;content:"\f545";font-size:18px;font-weight:300;margin-left:4px;vertical-align:top;transition:.2s color}.edd-bundled-product-item-reorder .edd-product-file-reorder:hover{color:#bbb}.edd-repeatable-row-actions,.edd-repeatable-row-title{padding:8px;box-sizing:border-box}.edd-repeatable-row-actions{float:right;text-align:right;padding:8px}.edd-bundled-product-row .edd-remove-row,.edd-repeatable-row-actions .edd-remove-row{font-size:12px;width:auto;cursor:pointer}.edd-bundled-product-row,.edd-repeatable-row-standard-fields{background:#f9f9f9;padding:8px;border-width:0 1px 1px;border-style:solid;border-color:#e5e5e5}.edd-repeatable-row-setting-label{display:block;margin-bottom:4px}.edd-repeatable-row-setting-label .edd-help-tip{display:inline-block;margin-left:4px}.edd-bundled-product-row .edd-bundled-product-actions,.edd-bundled-product-row .edd-bundled-product-item,.edd-bundled-product-row .edd-bundled-product-item-reorder,.edd-bundled-product-row .edd-bundled-product-price-assignment,.edd-file-assignment,.edd-file-name,.edd-file-url,.edd-option-name,.edd-option-price,.edd_repeatable_default{display:inline-block;vertical-align:top}.edd-option-name{width:38%;margin-right:5%}.edd-option-price{min-width:100px}.edd_repeatable_default{text-align:center;min-width:80px}.edd-file-name{width:18%;margin-right:3%}.edd-file-url{width:65%}.edd-repeatable-row-standard-fields.has-variable-pricing .edd-file-url{width:38%;margin-right:5%}.edd-file-assignment{width:27%}.edd-file-assignment .edd-repeatable-row-setting-label{margin-bottom:0}.edd-custom-price-option-sections-wrap{display:none;border-width:0 1px 1px;border-style:solid;border-color:#e5e5e5;box-sizing:border-box;width:100%}.edd-custom-price-option-section{display:block;padding:10px 8px;border-bottom:1px solid rgba(222,222,222,.3)}.edd-custom-price-option-section:last-child{border-bottom:none}label.edd_prices_shipping{display:none!important}.edd-custom-price-option-section-title{display:block;font-size:14px;font-weight:600;padding:0 0 10px}.edd-custom-price-option-section>:not(.edd-custom-price-option-section-title){display:inline-block;padding-right:20px;vertical-align:top;margin-bottom:4px}.edd-custom-price-option-section>:not(.edd-custom-price-option-section-title) label{display:block;margin-bottom:2px}.edd-bundle-products-header{font-weight:600;padding:8px}.edd-bundled-product-row .edd-bundled-product-item-reorder{min-width:30px;margin-right:8px}.edd-bundled-product-row .edd-bundled-product-item-reorder .edd-product-file-reorder{font-size:20px;font-weight:300;padding:16px 4px 0;cursor:move}.edd-bundled-product-row .edd-bundled-product-item{width:60%;margin-right:3%}.edd-bundled-product-row.has-variable-pricing .edd-bundled-product-item{width:47%}.edd-bundled-product-row .edd-bundled-product-price-assignment{width:23%;margin-right:3%}.edd-bundled-product-row .edd-bundled-product-actions{float:right}.edd_repeatable_upload_wrapper .edd_repeatable_upload_field_container{position:relative}.edd_upload_file{background:#fff;display:block;padding:2px 8px 2px;position:absolute;top:3px;right:7px}.edd_upload_field{padding-right:8em!important}textarea#edd-payment-note{width:100%;height:4em;margin:0}#edd-purchased-files .row .edd-purchased-files-list-wrapper .download{line-height:1.4}#edd-purchased-files .edd-purchased-files-list-wrapper .edd-purchased-option{color:#666}input[class*=edd-price-field]{padding:3px 5px;width:75px}#edd-order-download-quantity[type=number].small-text,#edd-order-download-tax[type=text].small-text,[class*=item_] [class*=edd-payment-details-download-][type=number].small-text{height:25px}#edd-order-download-quantity[type=number].small-text,.item_price .edd-payment-details-download-quantity[type=number].small-text{width:55px}#edd-order-download-tax[type=text].small-text,.item_tax .edd-payment-details-download-item-tax[type=number].small-text{width:75px}.edd_repeatable_product_wrapper .edd-select,.edd_repeatable_upload_wrapper .pricing select{min-width:100%}#edd_product_notes_field{display:block;margin:12px 0 0;height:4em;width:100%}.edd_remove_repeatable{border:none;cursor:pointer;display:inline-block;padding:0;overflow:hidden;margin:8px 0 0 0;text-indent:-9999px;width:10px;height:10px}.edd_remove_repeatable:active,.edd_remove_repeatable:focus,.edd_remove_repeatable:hover{background-position:-10px 0!important}#edd-edit-order-form .column{width:32%}.edd-edit-purchase-element[class*=columns-] ul li{padding-right:1%}#edd-edit-order-form .column:nth-child(2n+1),#edd-edit-order-form .columns-4 .column:nth-child(2n+1),#edd-edit-order-form .columns-5 .column:nth-child(3n+1){margin-right:0}#edd-edit-order-form input.large-text{width:90%}.edd-edit-purchase-element ul li.download{width:35%}.edd-edit-purchase-element ul li.item_price{width:15%}.edd-edit-purchase-element ul li.item_price.item_quantity{width:25%}.edd-edit-purchase-element ul li.item_tax{width:15%}.edd-edit-purchase-element ul li.price{width:20%}.edd-admin-box .label{font-weight:600}.edd-admin-box-inside{border-bottom:1px solid #eee;clear:both;padding:3px 12px;margin:0;word-break:break-word}.rtl .edd-admin-box-inside{padding:5px 10px 5px 0}.edd-admin-box-inside .strong{font-weight:600}.edd-payment-fees .fee-label{color:#666;font-weight:400}.edd-admin-box .right{float:right}.rtl .edd-admin-box .right{float:left;margin-left:10px}#edd-order-details .inside,#edd-order-update .inside{margin:0;padding:0}#edd-order-update input.edd_datepicker{width:180px}#edd-order-update input[type=number].edd-payment-time-hour,#edd-order-update input[type=number].edd-payment-time-min{width:50px}#edd-order-update .edd-tax-rate{color:#9c9c9c;font-style:italic}#edd-order-resend-receipt .inside{margin-top:11px}#edd-order-resend-receipt .edd-order-resend-receipt-addresses{margin-top:10px}.edd-admin-box-inside:last-child{border-bottom:0}#edd-edit-order-form .data-payment-key{word-break:break-all}.edd-order-update-box #major-publishing-actions .button-secondary{margin-right:10px}.edd-edit-purchase-element .edd-select-chosen{width:196px}#edd-customer-details .order-data-address input,#edd-customer-details .order-data-column p.data input,#edd-edit-order-form .column input,#edd-order-address-country-wrap select,.edd-edit-purchase-element ul{clear:both;display:block}#edd-customer-details .customer-info .column{width:49%}#edd-customer-details .actions{float:right}.edd-order-data input.small-text{margin:0}.edd-order-data input.med-text{margin:0;width:100px}#edd-order-update span.label{display:inline;width:50px}.edd-order-update-box .button-primary{margin-right:0}#edd-edit-order-form .column .description{padding-right:10px}#edd-edit-order-form .column,.edd-edit-purchase-element ul li{display:inline-block;line-height:1.4;position:relative;margin:0;vertical-align:middle}.edd-edit-purchase-element .row{padding:12px}.edd-edit-purchase-element .row:not(:last-child){border-bottom:1px solid #eee}.edd-edit-purchase-element .row:nth-child(odd):not(.header){background-color:#f9f9f9}.edd-edit-purchase-element .row.header{padding:6px 12px;font-weight:600;vertical-align:top}.edd-edit-purchase-element ul{font-size:0}.edd-edit-purchase-element ul li{font-size:13px}#edd-order-data .data span{color:#666;font-weight:600}.edd-edit-purchase-element .inside{padding:12px}.edd-edit-purchase-element .edd-purchased-download-title{font-size:14px;font-weight:500}.edd-edit-purchase-element .edd-purchased-download-title .deleted{color:#777}.edd-edit-purchase-element .edd-purchased-download-actions{color:#777;line-height:1.4}.edd-edit-purchase-element .edd-purchased-download-actions .edd-purchased-download-actions-label{font-weight:500}.edd-edit-purchase-element .edd-purchased-download-actions a{color:#777;font-size:12px}.edd-edit-purchase-element .edd-purchased-download-actions a:hover{color:#444}.edd-edit-purchase-element .edd-purchased-download-actions .edd-order-remove-download{color:#a00}.edd-edit-purchase-element .edd-purchased-download-actions .edd-order-remove-download:hover{color:red}#edd-order-recalc-total{float:right}#edd_products .edd-select,.edd_repeatable_product_wrapper .edd-select,.edd_repeatable_upload_wrapper .pricing select{min-width:100%;max-width:200px}.edd_repeatable_product_wrapper td{overflow:visible}.edd-payment-details-label-mobile{display:none}@media screen and (max-width:1284px){.edd-edit-purchase-element ul li.download{padding-bottom:15px;width:100%}.edd-edit-purchase-element .edd-purchased-download-title{font-size:16px}.edd-edit-purchase-element ul li.item_price{width:22%}.edd-edit-purchase-element ul li.item_price.item_quantity{width:35%}.edd-edit-purchase-element ul li.item_tax{width:25%}.edd-edit-purchase-element ul li.price{width:20%}.edd-edit-purchase-element .edd-purchased-download-actions{padding-top:10px}.edd-add-download-to-purchase-header,.edd-purchased-files-header{display:none}.edd-payment-details-label-mobile{display:block;font-weight:500;padding-bottom:6px}}@media screen and (max-width:1024px){.edd-edit-purchase-element ul li.item_price.item_quantity{width:40%}.edd-edit-purchase-element ul li.price{width:24%}.edd-edit-purchase-element .edd-purchased-download-actions{padding-top:15px}.edd-edit-purchase-element .edd-purchased-download-actions,.edd-edit-purchase-element .edd-purchased-download-actions a{font-size:14px}}@media screen and (max-width:782px){#edd-edit-order-form .column{width:49%}.edd-edit-purchase-element ul li.item_price,.edd-edit-purchase-element ul li.item_price.item_quantity{padding-bottom:10px}.edd-edit-purchase-element ul li.item_price.item_quantity{width:35%}.edd-edit-purchase-element ul li.item_tax,.edd-edit-purchase-element ul li.price{width:20%;padding-bottom:10px}.edd-payment-details-label-mobile{font-size:14px;font-weight:500}.edd-payment-details-download-amount,.edd-price-currency{font-size:16px}.order-data-column input[type=email]{padding:6px 10px}}@media screen and (max-width:600px){.edd-edit-purchase-element ul li.item_price,.edd-edit-purchase-element ul li.item_price.item_quantity,.edd-edit-purchase-element ul li.item_tax{width:100%;padding-bottom:20px}.edd-edit-purchase-element .edd-add-download-to-purchase ul li.item_tax,.edd-edit-purchase-element ul li.price{width:100%;padding-bottom:0}.edd-edit-purchase-element .edd-add-download-to-purchase-actions{padding-top:15px}#edd-edit-order-form .column{width:100%}}#edd_product_stats .label{display:inline-block}#edd_product_stats hr{border-style:solid;border-width:1px;border-color:#ccc #fff #fff #ccc}#edd_product_stats .product-earnings-stats:before,#edd_product_stats .product-sales-stats:before{color:#82878c;font:normal 20px/1 dashicons;display:inline-block;padding:0 2px 0 0;position:relative;top:0;left:-1px;speak:none;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#edd_product_stats .product-sales-stats:before{content:'\f174'}#edd_product_stats .product-earnings-stats:before{content:'\f239'}.edd_dashboard_widget table thead td{border-bottom:1px solid #ececec;color:#777}.edd_dashboard_widget .table_left{float:left;width:45%}.edd_dashboard_widget .table_right{float:right;width:45%}.edd_dashboard_widget .inside{font-size:12px}.edd_dashboard_widget td{padding:3px 0}.edd_dashboard_widget .b,.edd_dashboard_widget .t{line-height:1.5;vertical-align:middle}.edd_dashboard_widget .b{font-size:14px;font-family:Georgia,"Times New Roman","Bitstream Charter",Times,serif;padding-right:6px;width:auto}.edd_dashboard_widget .t{font-size:12px;padding-right:12px;color:#777;width:100%}.edd_dashboard_widget .label_heading{border-top:1px solid #ececec;color:#8f8f8f;font-family:Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;display:block;padding-top:10px;margin:0 0 8px 12px}.edd_dashboard_widget .edd_dashboard_widget_subheading{border-top:1px solid #ececec;color:#8f8f8f;font-size:14px;padding-top:10px;margin:1em 0 0 0}.edd_dashboard_widget .edd_dashboard_widget_subheading+.table{margin:8px 0 0 0}.edd_dashboard_widget .edd_price_label{background:#00769c;border-radius:3px;color:#fff;font-size:10px;padding:2px 4px;margin-right:2px}.edd_dashboard_widget table{width:100%;margin-left:0;margin-bottom:1em}td.edd_order_label{width:80%}td.edd_order_price{text-align:right}@media handheld,only screen and (max-width:1000px){.edd_dashboard_widget .edd-recent-email{display:none}}#edd-dashboard-widgets-wrap .postbox h3{cursor:default}#edd-date-range-options,#edd-graphs-date-options{float:left}#edd-date-range-options span{float:left;line-height:24px;height:24px;margin-right:6px}.edd-import-export-form{position:relative}.edd-import-export-form .edd-progress{background:#ddd;position:absolute;bottom:15px;width:95%;height:15px}.edd-import-export-form .edd-progress div{background:#ccc;height:100%;width:0}.edd-import-export-form .notice-wrap{background-color:#f4f4f4;border-style:solid;border-width:1px 0;border-color:#eae9e9;padding:12px 12px 4px;overflow:auto;margin:20px -12px -23px;position:relative;width:100%}.edd-import-export-form .notice-wrap .spinner{margin:4px 10px 8px;float:right}.admin-color-fresh .edd-import-export-form .edd-progress div{background:#0073aa}.admin-color-light .edd-import-export-form .edd-progress div{background:#888}.admin-color-blue .edd-import-export-form .edd-progress div{background:#096484}.admin-color-coffee .edd-import-export-form .edd-progress div{background:#c7a589}.admin-color-ectoplasm .edd-import-export-form .edd-progress div{background:#a3b745}.admin-color-midnight .edd-import-export-form .edd-progress div{background:#e14d43}.admin-color-sunrise .edd-import-export-form .edd-progress div{background:#dd823b}#edd-graphs-filter label{vertical-align:inherit}#edd-graphs-filter .graph-option-section{float:left;line-height:2.5em;padding-right:5px}.edd-mix-totals{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);padding:10px}.edd-mix-chart{display:inline-block;width:49%;vertical-align:top}.edd-graph-notes{color:#9c9c9c}.edd-graph-notes span{display:block}.edd-pie-graph .legend{display:none}.edd-pie-legend{overflow:auto;margin-top:10px}.edd-legend-item-wrapper{color:#333;display:inline-block;font-size:8pt;padding:2px 5px 0 5px;width:48%;height:20px}.edd-legend-color{border:1px solid #cfcfcf;display:inline-block;margin-right:5px;width:20px;height:15px}.edd-pie-legend-item{display:inline-block;vertical-align:top;width:80%}[id*=edd-recapture-].button,[id*=edd-sendwp-].button{font-size:16px;height:auto;padding:8px 14px;margin:6px 0 0}[id*=edd-recapture-].button .dashicons,[id*=edd-sendwp-].button .dashicons{line-height:29px;margin-right:8px}[id*=edd-recapture-].button .edd-loading,[id*=edd-recapture-].button .edd-loading:after,[id*=edd-sendwp-].button .edd-loading,[id*=edd-sendwp-].button .edd-loading:after{border-radius:50%;display:inline-block;width:14px;height:14px}[id*=edd-recapture-].button .edd-loading,[id*=edd-sendwp-].button .edd-loading{position:relative;top:3px;margin-left:4px;box-shadow:0 0 2px rgba(0,0,0,.2)}[id*=edd-recapture-].button .edd-loading,[id*=edd-sendwp-].button .edd-loading{-webkit-animation:edd-spinning 1.1s infinite linear;animation:edd-spinning 1.1s infinite linear;border-top:2px solid rgba(255,255,255,.5);border-right:2px solid rgba(255,255,255,.5);border-bottom:2px solid rgba(255,255,255,.5);border-left:2px solid #fff;font-size:14px;-ms-transform:translateZ(0);transform:translateZ(0)}#edd-recapture-disconnect.button .edd-loading.dark,#edd-sendwp-disconnect.button .edd-loading.dark{border-top-color:rgba(0,0,0,.2);border-right-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.2);border-left-color:#666;box-shadow:none}.recapture-notice{position:relative}@-webkit-keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}#edd_tax_rates{margin:1em 0 0}#edd_tax_rates .edd_tax_country *,#edd_tax_rates .edd_tax_state *{max-width:100%}#edd_tax_rates .edd_tax_country,#edd_tax_rates .edd_tax_state{width:180px}#edd_tax_rates .edd_tax_rate{width:80px}#edd_tax_rates th{padding:15px 10px}.wrap-licenses .form-table,.wrap-licenses caption,.wrap-licenses tbody,.wrap-licenses td,.wrap-licenses tfoot,.wrap-licenses th,.wrap-licenses thead,.wrap-licenses tr{display:block}.wrap-licenses .form-table tr{float:left;margin:0 15px 15px 0;background:#fff;border:1px solid #ccc;width:30.5%;max-width:350px;padding:14px;min-height:220px;position:relative;box-sizing:border-box}.wrap-licenses .form-table th{background:#f9f9f9;padding:14px;border-bottom:1px solid #ccc;margin:-14px -14px 20px;width:100%}.wrap-licenses .form-table td{padding:0}.wrap-licenses td input.regular-text{margin:0 0 8px;width:100%}.wrap-licenses .edd-license-data[class*=edd-license-]{position:absolute;background:#fafafa;padding:14px;border-top:1px solid #eee;margin:20px -14px -14px;min-height:67px;width:100%;bottom:14px;box-sizing:border-box}.wrap-licenses .edd-license-data[class*=edd-license-] a{color:#444}.wrap-licenses .edd-license-data[class*=edd-license-] a:hover{text-decoration:none}.wrap-licenses .edd-license-data.license-expires-soon-notice{background-color:#00a0d2;color:#fff;border-color:#00a0d2}.wrap-licenses .edd-license-data.edd-license-expired{background-color:#e24e4e;color:#fff;border-color:#e24e4e}.wrap-licenses .edd-license-data.edd-license-error,.wrap-licenses .edd-license-data.edd-license-invalid,.wrap-licenses .edd-license-data.edd-license-item_name_mismatch,.wrap-licenses .edd-license-data.edd-license-missing,.wrap-licenses .edd-license-data.edd-license-site_inactive{background-color:#ffebcd;border-color:#ffebcd}.wrap-licenses .edd-license-data p{font-size:13px;margin-top:0}.wrap-licenses .edd-license-data.edd-license-expired a,.wrap-licenses .edd-license-data.license-expires-soon-notice a{color:#fff}.wrap-licenses .edd-license-data.edd-license-expired a:hover,.wrap-licenses .edd-license-data.license-expires-soon-notice a:hover{text-decoration:none}.wrap-licenses p.submit{clear:both}#system-info-textarea{background:0 0;font-family:Menlo,Monaco,monospace;display:block;overflow:auto;white-space:pre;width:800px;height:400px}#TB_window #edd-add-download:active,#TB_window #edd-add-download:focus,#TB_window #edd-add-download:hover{color:#fff}.edd-graph .y1Axis{color:#edc240!important}.edd-graph .y2Axis{color:#afd8f8!important}.download_page_edd-tools .apikeys .column-user{width:192px}.edd-select-chosen{width:100%;max-width:300px}.chosen-container-multi .chosen-choices{background-image:none;border-color:#dfdfdf;-webkit-border-radius:3px;border-radius:3px}.chosen-container-multi .chosen-choices input{border-color:#dfdfdf;height:27px!important;margin:2px}.chosen-container .chosen-drop{border-color:#aaa;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.1);box-shadow:1px 1px 2px rgba(0,0,0,.1)}.chosen-container .search-field{float:none!important}.chosen-container .search-field input{width:90%!important}.chosen-container-active .chosen-choices{border-color:#aaa;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;-webkit-box-shadow:1px 1px 2px rgba(0,0,0,.1);box-shadow:1px 1px 2px rgba(0,0,0,.1)}.download_page_edd-tools .tablenav .actions{overflow:visible}.edd_user_search_wrap{position:relative;overflow:visible}.edd_user_search_results{position:absolute;left:0;top:27px}.edd_user_search_results a.edd-ajax-user-cancel{position:absolute;right:6px;top:2px}.edd_user_search_results ul{background:#f0f0f0;border:1px solid #dfdfdf;overflow-y:scroll;padding:10px 10px 4px;margin:0;max-height:200px;width:300px}.wp-list-table .type-download .row-actions{color:#999}@media screen and (max-width:1100px){.edd-mix-chart{display:block;width:100%}.wrap-licenses .form-table tr{width:46%;max-width:none;min-height:230px}}@media screen and (max-width:782px){.post-type-download .nav-tab-wrapper a{font-size:70%;padding:2px 4px}.download_page_edd-tools .apikeys .column-user{width:80px}.license-expiration-date-notice,.license-lifetime-notice,.license-null{padding-left:0}[class^=license-] input[type=text]{margin-bottom:3px}}@media screen and (max-width:600px){.wrap-licenses .form-table tr{width:100%;min-height:230px}#edd-edit-order-form input.large-text{width:100%}}#edd-item-wrapper{background:#f5f5f5;border:1px solid #e5e5e5;webkit-box-shadow:0 1px 1px rgba(0,0,0,0.04);box-shadow:0 1px 1px rgba(0,0,0,.04);max-width:830px}#edd-item-wrapper:after{content:"";display:block;clear:both;visibility:hidden;font-size:0;height:0}#edd-item-tab-wrapper{float:left;width:18%;z-index:1}#edd-item-tab-wrapper-list{background:#fff;margin:0}#edd-item-tab-wrapper-list li{display:block;background-color:#eaeaea;color:#444;font-size:12px;border-bottom:1px solid #e5e5e5;margin-bottom:0;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-wrap:break-word}#edd-item-tab-wrapper-list li a{display:block;padding:8px 10px 8px 6px}#edd-item-tab-wrapper-list li.active{display:block;background-color:#fff;padding:8px 10px 8px 6px}#edd-item-tab-wrapper-list .inactive a,#edd-item-tab-wrapper-list .inactive a:visited{background-color:#f5f5f5;color:#444;text-decoration:none}#edd-item-tab-wrapper-list .inactive a:hover{background-color:#fff}#edd-item-tab-wrapper-list .dashicons{color:#444;font-size:16px;min-width:24px;height:auto}#edd-item-card-wrapper .left{float:left}#edd-item-card-wrapper .right{float:right}#edd-item-card-wrapper input{font-weight:400}#edd-item-card-wrapper{background-color:#fff;border:1px solid #e5e5e5;display:inline-block;margin-left:-1px;min-height:200px;width:700px;z-index:2}.edd-item-has-tabs #edd-item-card-wrapper{border-width:0 0 0 1px;width:82%}#edd-item-card-wrapper .customer-section{border-bottom:1px solid #eee;margin-bottom:10px;overflow:auto}#edd-item-card-wrapper .customer-section table{margin-bottom:20px}#edd-item-card-wrapper>div{padding:0 20px}#edd-item-card-wrapper>div:first-child{padding-top:20px}#edd-item-card-wrapper>div:last-child{border:none;padding-bottom:20px}#edd-item-card-wrapper .avatar-wrap{padding-right:10px;text-align:center}#edd-item-card-wrapper .customer-id{font-size:24px;font-weight:600}#edd-item-card-wrapper .customer-main-wrapper input{width:200px}#edd-item-card-wrapper .customer-address-wrapper{margin-right:25px;max-width:33%;width:202px}#edd-item-card-wrapper .customer-address-wrapper select{width:200px}#edd-item-card-wrapper .customer-info{margin-top:5px;margin-bottom:10px;min-height:185px}#edd-item-card-wrapper .info-wrapper{min-height:125px;overflow:visible}#edd-item-card-wrapper a.delete{color:red;margin-right:5px;text-decoration:none}.customer-info .customer-name{font-size:24px;font-weight:600}.customer-edit-link a,.disconnect-user a{font-size:12px;font-weight:400;text-decoration:none}#customer-edit-actions{line-height:28px;margin-bottom:20px;text-align:center}#customer-edit-actions .button-secondary{margin-right:10px}#edd-item-card-wrapper .row-title{width:30%}#edd-item-card-wrapper .info-item{display:block;line-height:16px;padding-bottom:5px}#edd-item-card-wrapper .edit-item{display:none}#edd-item-card-wrapper .edd_user_search_results{left:1px;top:16px}#edd-item-card-wrapper .edd_user_search_results ul{width:200px}#edd-item-stats-wrapper{margin:0 auto;min-height:30px;text-align:center}#edd-item-stats-wrapper li{font-size:14px;float:left;line-height:22px;width:50%}#edd-item-stats-wrapper a{text-decoration:none}#edd-item-stats-wrapper .dashicons{color:#888}#edd-item-tables-wrapper table{text-align:center;width:100%}#edd-item-tables-wrapper th{text-align:center}#edd-item-tables-wrapper .downloads tr>td:first-child,#edd-item-tables-wrapper .downloads tr>th:first-child,#edd-item-tables-wrapper .emails tr>td:first-child,#edd-item-tables-wrapper .emails tr>th:first-child{text-align:left}#edd-item-tables-wrapper .downloads tr>td:only-child{text-align:center}#edd-item-tables-wrapper .emails .add-customer-email-row td{background-color:#f9f9f9;border-top:1px solid #e5e5e5}#edd-item-tables-wrapper .emails .primary-email-icon{font-size:13px;vertical-align:middle;line-height:1.5em}#edd-item-tables-wrapper .emails input{vertical-align:middle;margin:6px 0}#edd-item-tables-wrapper .emails .spinner{float:none}#edd-item-notes-wrapper{min-height:50px}.edd-item-notes-header img,.edd-item-notes-header span{font-weight:600;line-height:30px;vertical-align:middle}.customer-note-input{margin-bottom:5px;width:100%}#edd-customer-notes div:nth-of-type(even){background-color:#fcfcfc}.customer-note-wrapper{border-bottom:1px solid #f9f9f9;min-height:38px;padding:7px 0 7px 7px}.customer-note-wrapper span{display:block}.note-content-wrap{padding-top:7px}.delete-customer{text-align:center}#edd-item-card-wrapper .notice-container{padding-left:20px;padding-right:20px;margin-left:-20px;margin-right:-20px}#edd-item-card-wrapper .add-customer-email-wrapper>#add-customer-email{vertical-align:middle}@media screen and (max-width:810px) and (min-width:656px){.customer-info .customer-name{font-size:16px}#edd-item-card-wrapper .widefat td,.widefat th{padding:4px 6px;max-width:100px!important;display:table-cell}}@media screen and (max-width:781px){#edd-item-card-wrapper,#edd-item-tab-wrapper{margin:0;width:100%}#edd-item-tab-wrapper-list{background:#fff;margin:0}#edd-item-tab-wrapper-list li{float:left;display:inline;font-size:14px;box-sizing:border-box;border-width:0 1px 1px 0;border-style:solid;border-color:#e5e5e5;width:33.33333%}#edd-item-tab-wrapper-list li:nth-child(3n+3){border-width:0 0 1px 0}#edd-item-tab-wrapper-list .dashicons{font-size:18px}.edd-item-has-tabs #edd-item-card-wrapper{border-top:1px solid #e5e5e5;border-left:0;margin-top:-1px;width:100%}}@media screen and (max-width:656px){#edd-item-card-wrapper .customer-info{min-height:220px}.edd-item-info.customer-info{position:relative}#edd-item-card-wrapper .customer-address-wrapper{float:none;position:absolute;top:84px;left:110px;max-width:200px}#edd-item-card-wrapper .customer-main-wrapper{float:none;position:absolute;left:110px}.customer-info .customer-name{font-size:16px}#edd-item-card-wrapper #edd-item-stats-wrapper{padding-left:0;padding-right:0}#edd-item-card-wrapper .customer-section{margin-bottom:0}#edd-item-card-wrapper .widefat td,#edd-item-card-wrapper .widefat th{padding:4px 6px;max-width:100px!important;display:table-cell;overflow:hidden}#edd-item-card-wrapper .customer-id{font-size:16px}}@media screen and (max-width:480px){#edd-item-tab-wrapper-list li{width:50%}#edd-item-tab-wrapper-list li:nth-child(3n+3){border-width:0 1px 1px 0}#edd-item-tab-wrapper-list li:nth-child(even){border-width:0 0 1px 0}.edd-repeatable-row-actions,.edd-repeatable-row-title{text-align:left;width:100%}.edd-repeatable-row-title{padding-bottom:0}.edd-bundled-product-item-reorder,.edd-bundled-product-row .edd-bundled-product-item,.edd-bundled-product-row .edd-bundled-product-price-assignment,.edd-file-assignment,.edd-file-name,.edd-file-url,.edd-option-name,.edd-option-price,.edd_repeatable_default{float:none;text-align:left;width:100%!important;margin:10px 0}.edd-bundled-product-row .edd-bundled-product-actions{float:none}.edd-bundled-product-row .edd-bundled-product-item-reorder .edd-product-file-reorder{padding:0}#edd-payment-filters span{display:block;margin:2px 0}#edd-payment-filters a,.download_page_edd-reports .button{text-align:center}#edd-payment-date-filters span{display:block}#edd-payment-date-filters span>input{float:right}#edd-add-discount select[multiple] option,#edd-edit-discount select[multiple] option{height:20px}#edd-add-discount input[type=text],#edd-edit-discount input[type=text],#edd-payment-filters a,#edd-payment-filters input:not([type=radio]),#edd-payment-filters select,#system-info-textarea,.download_page_edd-reports .inside .button,.download_page_edd-reports .inside input[type=submit],.download_page_edd-reports .inside input[type=text],.download_page_edd-reports .inside select,.download_page_edd-settings .inside input[type=button],.download_page_edd-tools .inside input[type=submit],.download_page_edd-tools .inside input[type=text],.download_page_edd-tools .inside select{width:100%}#edd-add-discount select[multiple],#edd-edit-discount select[multiple],.download_page_edd-tools select[multiple]{height:200px!important}.download_page_edd-settings input[type=checkbox]{margin:2px 0}.post-type-download input[type=checkbox]{margin-left:2px}}.recount-stats-controls form{display:inline}.edd-recount-stats-descriptions span{display:none;line-height:24px}#edd-debug-log p.submit{margin:20px 0 0;padding:0}#edd-debug-log .edd-inline-button{margin-left:5px}.edd-settings-sidebar{padding-top:27px}.edd-settings-sidebar-content{background-color:#fff;text-align:center;border:1px solid #ddd;box-sizing:border-box;max-width:300px}.edd-settings-sidebar-content p{font-size:14px;line-height:1.5;margin-top:0}.edd-sidebar-header-section{background-color:#35495c;line-height:1;padding:26px 20px 24px;border-bottom:3px dashed #fafafa}.edd-sidebar-description-section{background-color:#fafafa;padding:16px 20px;border-bottom:1px solid #ddd}.edd-sidebar-description-section .edd-sidebar-description{margin:0}.edd-sidebar-coupon-section{font-size:14px;padding:16px 20px}.edd-sidebar-coupon-section label{display:block;line-height:1.4;margin-bottom:6px}.edd-sidebar-coupon-section label strong{color:#253b51;font-weight:700}.edd-sidebar-coupon-section input{background:#f4f7fa;font-size:22px;font-weight:600;text-align:center;padding:10px;border:2px dashed #2794da;border-radius:4px;margin-bottom:16px;box-shadow:none;width:100%}.edd-sidebar-coupon-section input:focus{border:2px dashed #2794da;box-shadow:none}.edd-settings-sidebar-content .edd-coupon-note{color:#6c7883;font-size:13px;font-style:italic;margin:0}.edd-settings-sidebar-content .edd-coupon-note a{color:#253b51}.edd-settings-sidebar-content .edd-coupon-note a:hover{text-decoration:none}.edd-sidebar-footer-section{background-color:#fafafa;padding:16px 20px;border-top:1px solid #ddd}.edd-sidebar-footer-section .edd-cta-button{display:block;background-color:#2794da;color:#fff;text-decoration:none;font-size:20px;font-weight:700;text-transform:uppercase;padding:17px 10px;border:none;border-radius:4px;width:100%;box-sizing:border-box;box-shadow:none;transition:background-color .2s}.edd-sidebar-footer-section .edd-cta-button:hover{background-color:#2386c5}@media all and (min-width:1080px){.edd-has-sidebar .edd-settings-content{float:left;width:67%}.edd-has-sidebar .edd-settings-sidebar{float:right;width:31%}}@media all and (min-width:1240px){.edd-has-sidebar .edd-settings-content{width:74%}.edd-has-sidebar .edd-settings-sidebar{width:23%}}.taxes-tab .edd-has-sidebar .edd-settings-content,.taxes-tab .edd-has-sidebar .edd-settings-sidebar{float:none;width:100%}.bfcm-promo-img-container{background-color:#35495c;width:100%;height:160px}.bfcm-code{color:#2794da;font-weight:700}.sale-ends{position:absolute;bottom:9px;right:14px;display:inline-block;color:#6c7883;font-size:12px;text-align:right;font-style:italic;width:150px}.edd-admin-notice-top-of-page{font-size:15px;line-height:1.4;color:#fff;margin-left:-20px;padding:12px 32px 12px 20px;background:#2d6ca2;display:none}@media screen and (min-width:783px){.edd-admin-notice-top-of-page{padding:10px 46px 10px 22px}}@media screen and (min-width:961px){.edd-admin-notice-top-of-page{text-align:center}}.edd-admin-notice-top-of-page a{color:#fff}.edd-admin-notice-top-of-page a:hover{text-decoration:none}.edd-admin-notice-top-of-page .button-link{position:absolute;top:48px;right:-1px;font-size:20px;color:#fff;font-weight:700;text-decoration:none;margin-left:5px;padding:6px 10px}.edd-admin-notice-top-of-page .button-link:active,.edd-admin-notice-top-of-page .button-link:focus,.edd-admin-notice-top-of-page .button-link:hover{color:#fff;text-decoration:none}@media screen and (min-width:601px){.edd-admin-notice-top-of-page .button-link{top:1px}}@media screen and (min-width:783px){.edd-admin-notice-top-of-page .button-link{right:9px}}.edd-paypal-account-status ul{margin-left:25px}.edd-paypal-account-status>li{margin-bottom:1em}.edd-paypal-account-status ul:not(.edd-paypal-webhook-events){list-style:disc;list-style-position:inside}.edd-paypal-account-status ul:not(.edd-paypal-webhook-events) li{margin:.25em 0}.edd-paypal-account-status .dashicons-yes{color:#008a20}.edd-paypal-account-status .dashicons-no{color:#d63638}
assets/js/admin-paypal-connect.min.js CHANGED
@@ -1 +1 @@
1
- function eddPayPalOnboardingCallback(authCode,shareId){var connectButton=document.getElementById("edd-paypal-commerce-connect"),errorContainer=document.getElementById("edd-paypal-commerce-errors");jQuery.post(ajaxurl,{action:"edd_paypal_commerce_get_access_token",auth_code:authCode,share_id:shareId,_ajax_nonce:connectButton.getAttribute("data-nonce")},function(response){if(connectButton.classList.remove("updating-message"),!response.success)return connectButton.disabled=!1,errorContainer.innerHTML="<p>"+response.data+"</p>",void errorContainer.classList.add("notice notice-error");connectButton.classList.add("updated-message"),window.location.reload()})}jQuery(document).ready(function($){function eddPayPalGetAccountStatus(){var accountInfoEl=document.getElementById("edd-paypal-commerce-connect-wrap");accountInfoEl&&$.post(ajaxurl,{action:"edd_paypal_commerce_get_account_info",_ajax_nonce:accountInfoEl.getAttribute("data-nonce")},function(response){var newHtml="<p>"+eddPayPalConnectVars.defaultError+"</p>";response.success?(newHtml=response.data.account_status,response.data.actions&&response.data.actions.length&&(newHtml+='<p class="edd-paypal-connect-actions">'+response.data.actions.join(" ")+"</p>")):response.data&&response.data.message&&(newHtml=response.data.message),accountInfoEl.innerHTML=newHtml,accountInfoEl.classList.remove("notice-success","notice-warning","notice-error");var newClass=response.success&&response.data.status?"notice-"+response.data.status:"notice-error";accountInfoEl.classList.add(newClass)})}$("#edd-paypal-commerce-connect").on("click",function(e){e.preventDefault();var errorContainer=$("#edd-paypal-commerce-errors");errorContainer.empty().removeClass("notice notice-error");var button=document.getElementById("edd-paypal-commerce-connect");button.classList.add("updating-message"),button.disabled=!0,$.post(ajaxurl,{action:"edd_paypal_commerce_connect",_ajax_nonce:$(this).data("nonce")},function(response){if(!response.success)return console.log("Connection failure",response.data),button.classList.remove("updating-message"),button.disabled=!1,void errorContainer.html("<p>"+response.data+"</p>").addClass("notice notice-error");var paypalLinkEl=document.getElementById("edd-paypal-commerce-link");paypalLinkEl.href=response.data.signupLink+"&displayMode=minibrowser",paypalLinkEl.click()})}),eddPayPalGetAccountStatus(),$(document).on("click",".edd-paypal-connect-action",function(e){e.preventDefault();var button=$(this);button.prop("disabled",!0),button.addClass("updating-message");var errorWrap=$("#edd-paypal-commerce-connect-wrap").find(".edd-paypal-actions-error-wrap");errorWrap.length&&errorWrap.remove(),$.post(ajaxurl,{action:button.data("action"),_ajax_nonce:button.data("nonce")},function(response){button.prop("disabled",!1),button.removeClass("updating-message"),response.success?(button.addClass("updated-message"),eddPayPalGetAccountStatus()):button.parent().after('<p class="edd-paypal-actions-error-wrap">'+response.data+"</p>")})})});
1
+ function eddPayPalOnboardingCallback(authCode,shareId){var connectButton=document.getElementById("edd-paypal-commerce-connect"),errorContainer=document.getElementById("edd-paypal-commerce-errors");jQuery.post(ajaxurl,{action:"edd_paypal_commerce_get_access_token",auth_code:authCode,share_id:shareId,_ajax_nonce:connectButton.getAttribute("data-nonce")},function(response){return connectButton.classList.remove("updating-message"),response.success?(connectButton.classList.add("updated-message"),void window.location.reload()):(connectButton.disabled=!1,errorContainer.innerHTML="<p>"+response.data+"</p>",void errorContainer.classList.add("notice notice-error"))})}jQuery(document).ready(function($){function eddPayPalGetAccountStatus(){var accountInfoEl=document.getElementById("edd-paypal-commerce-connect-wrap");accountInfoEl&&$.post(ajaxurl,{action:"edd_paypal_commerce_get_account_info",_ajax_nonce:accountInfoEl.getAttribute("data-nonce")},function(newClass){var newHtml="<p>"+eddPayPalConnectVars.defaultError+"</p>";newClass.success?(newHtml=newClass.data.account_status,newClass.data.actions&&newClass.data.actions.length&&(newHtml+='<p class="edd-paypal-connect-actions">'+newClass.data.actions.join(" ")+"</p>")):newClass.data&&newClass.data.message&&(newHtml=newClass.data.message),accountInfoEl.innerHTML=newHtml,accountInfoEl.classList.remove("notice-success","notice-warning","notice-error");newClass=newClass.success&&newClass.data.status?"notice-"+newClass.data.status:"notice-error";accountInfoEl.classList.add(newClass)})}$("#edd-paypal-commerce-connect").on("click",function(e){e.preventDefault();var errorContainer=$("#edd-paypal-commerce-errors");errorContainer.empty().removeClass("notice notice-error");var button=document.getElementById("edd-paypal-commerce-connect");button.classList.add("updating-message"),button.disabled=!0,$.post(ajaxurl,{action:"edd_paypal_commerce_connect",_ajax_nonce:$(this).data("nonce")},function(response){if(!response.success)return console.log("Connection failure",response.data),button.classList.remove("updating-message"),button.disabled=!1,void errorContainer.html("<p>"+response.data+"</p>").addClass("notice notice-error");var paypalLinkEl=document.getElementById("edd-paypal-commerce-link");paypalLinkEl.href=response.data.signupLink+"&displayMode=minibrowser",paypalLinkEl.click()})}),eddPayPalGetAccountStatus(),$(document).on("click",".edd-paypal-connect-action",function(errorWrap){errorWrap.preventDefault();var button=$(this);button.prop("disabled",!0),button.addClass("updating-message");errorWrap=$("#edd-paypal-commerce-connect-wrap").find(".edd-paypal-actions-error-wrap");errorWrap.length&&errorWrap.remove(),$.post(ajaxurl,{action:button.data("action"),_ajax_nonce:button.data("nonce")},function(response){button.prop("disabled",!1),button.removeClass("updating-message"),response.success?(button.addClass("updated-message"),eddPayPalGetAccountStatus()):button.parent().after('<p class="edd-paypal-actions-error-wrap">'+response.data+"</p>")})})});
assets/js/admin-scripts.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function($){edd_attach_tooltips($(".edd-help-tip"));var EDD_Download_Configuration={init:function(){this.add(),this.move(),this.remove(),this.type(),this.prices(),this.files(),this.updatePrices()},clone_repeatable:function(row){var key=highest=1;return row.parent().find(".edd_repeatable_row").each(function(){var current=$(this).data("key");parseInt(current)>highest&&(highest=current)}),key=highest+=1,clone=row.clone(),clone.removeClass("edd_add_blank"),clone.attr("data-key",key),clone.find("input, select, textarea").val("").each(function(){var name=$(this).attr("name"),id=$(this).attr("id");name&&(name=name.replace(/\[(\d+)\]/,"["+parseInt(key)+"]"),$(this).attr("name",name)),$(this).attr("data-key",key),void 0!==id&&(id=id.replace(/(\d+)/,parseInt(key)),$(this).attr("id",id))}),clone.find("select").each(function(){$(this).val(row.find('select[name="'+$(this).attr("name")+'"]').val())}),clone.find('input[type="checkbox"]').each(function(){$(this).is(":checked")&&$(this).prop("checked",!1),$(this).val(1)}),clone.find("span.edd_price_id").each(function(){$(this).text(parseInt(key))}),clone.find("span.edd_file_id").each(function(){$(this).text(parseInt(key))}),clone.find(".edd_repeatable_default_input").each(function(){$(this).val(parseInt(key)).removeAttr("checked")}),clone.find(".edd_repeatable_condition_field").each(function(){$(this).find("option:eq(0)").prop("selected","selected")}),clone.find(".search-choice").remove(),clone.find(".chosen-container").remove(),edd_attach_tooltips(clone.find(".edd-help-tip")),clone},add:function(){$(document.body).on("click",".submit .edd_add_repeatable",function(e){e.preventDefault();var row=$(this).parent().parent().prev(".edd_repeatable_row"),clone=EDD_Download_Configuration.clone_repeatable(row);clone.insertAfter(row).find("input, textarea, select").filter(":visible").eq(0).focus(),clone.find(".edd-select-chosen").chosen({inherit_select_classes:!0,placeholder_text_single:edd_vars.one_option,placeholder_text_multiple:edd_vars.one_or_more_option}),clone.find(".edd-select-chosen").css("width","100%"),clone.find(".edd-select-chosen .chosen-search input").attr("placeholder",edd_vars.search_placeholder)})},move:function(){$(".edd_repeatable_table .edd-repeatables-wrap").sortable({handle:".edd-draghandle-anchor",items:".edd_repeatable_row",opacity:.6,cursor:"move",axis:"y",update:function(){var count=0;$(this).find(".edd_repeatable_row").each(function(){$(this).find("input.edd_repeatable_index").each(function(){$(this).val(count)}),count++})}})},remove:function(){$(document.body).on("click",".edd-remove-row, .edd_remove_repeatable",function(e){e.preventDefault();var firstFocusable,row=$(this).parents(".edd_repeatable_row"),count=row.parent().find(".edd_repeatable_row").length,type=$(this).data("type"),repeatable="div.edd_repeatable_"+type+"s";if(firstFocusable=($(this).is(".ui-sortable .edd_repeatable_row:first-child .edd-remove-row, .ui-sortable .edd_repeatable_row:first-child .edd_remove_repeatable")?row.next(".edd_repeatable_row"):row.prev(".edd_repeatable_row")).find("select, input, textarea, button").filter(":visible").eq(0),"price"===type){var price_row_id=row.data("key");$('.edd_repeatable_condition_field option[value="'+price_row_id+'"]').remove()}if(1<count)$("input, select",row).val(""),row.fadeOut("fast").remove(),firstFocusable.focus();else switch(type){case"price":alert(edd_vars.one_price_min);break;case"file":$("input, select",row).val("");break;default:alert(edd_vars.one_field_min)}$(repeatable).each(function(rowIndex){$(this).find("input, select").each(function(){var name=$(this).attr("name");name=name.replace(/\[(\d+)\]/,"["+rowIndex+"]"),$(this).attr("name",name).attr("id",name)})})})},type:function(){$(document.body).on("change","#_edd_product_type",function(e){var edd_products=$("#edd_products"),edd_download_files=$("#edd_download_files"),edd_download_limit_wrap=$("#edd_download_limit_wrap");"bundle"===$(this).val()?(edd_products.show(),edd_download_files.hide(),edd_download_limit_wrap.hide()):(edd_products.hide(),edd_download_files.show(),edd_download_limit_wrap.show())})},prices:function(){$(document.body).on("change","#edd_variable_pricing",function(e){var checked=$(this).is(":checked"),single=$("#edd_regular_price_field"),variable=$("#edd_variable_price_fields, .edd_repeatable_table .pricing"),bundleRow=$(".edd-bundled-product-row, .edd-repeatable-row-standard-fields");checked?(single.hide(),variable.show(),bundleRow.addClass("has-variable-pricing")):(single.show(),variable.hide(),bundleRow.removeClass("has-variable-pricing"))})},files:function(){var file_frame;window.formfield="",$(document.body).on("click",".edd_upload_file_button",function(e){e.preventDefault();var button=$(this);window.formfield=$(this).closest(".edd_repeatable_upload_wrapper"),file_frame||((file_frame=wp.media.frames.file_frame=wp.media({frame:"post",state:"insert",title:button.data("uploader-title"),button:{text:button.data("uploader-button-text")},multiple:"0"!=$(this).data("multiple")})).on("menu:render:default",function(view){view.unset("library-separator"),view.unset("gallery"),view.unset("featured-image"),view.unset("embed"),view.set({})}),file_frame.on("insert",function(){file_frame.state().get("selection").each(function(attachment,index){var selectedSize="image"===(attachment=attachment.toJSON()).type&&$(".attachment-display-settings .size option:selected").val(),selectedURL=attachment.url,selectedName=0<attachment.title.length?attachment.title:attachment.filename;if(selectedSize&&void 0!==attachment.sizes[selectedSize]&&(selectedURL=attachment.sizes[selectedSize].url),"image"===attachment.type&&(selectedName=selectedSize&&void 0!==attachment.sizes[selectedSize]?selectedName+"-"+attachment.sizes[selectedSize].width+"x"+attachment.sizes[selectedSize].height:selectedName+"-"+attachment.width+"x"+attachment.height),0===index)window.formfield.find(".edd_repeatable_attachment_id_field").val(attachment.id),window.formfield.find(".edd_repeatable_thumbnail_size_field").val(selectedSize),window.formfield.find(".edd_repeatable_upload_field").val(selectedURL),window.formfield.find(".edd_repeatable_name_field").val(selectedName);else{var row=window.formfield,clone=EDD_Download_Configuration.clone_repeatable(row);clone.find(".edd_repeatable_attachment_id_field").val(attachment.id),clone.find(".edd_repeatable_thumbnail_size_field").val(selectedSize),clone.find(".edd_repeatable_upload_field").val(selectedURL),clone.find(".edd_repeatable_name_field").val(selectedName),clone.insertAfter(row)}})})),file_frame.open()}),window.formfield=""},updatePrices:function(){$("#edd_price_fields").on("keyup",".edd_variable_prices_name",function(){var key=$(this).parents(".edd_repeatable_row").data("key"),name=$(this).val(),field_option=$(".edd_repeatable_condition_field option[value="+key+"]");0<field_option.length?field_option.text(name):$(".edd_repeatable_condition_field").append($("<option></option>").attr("value",key).text(name))})}};$(document.body).on("click",".toggle-custom-price-option-section",function(e){e.preventDefault();var show=$(this).html()==edd_vars.show_advanced_settings;show?$(this).html(edd_vars.hide_advanced_settings):$(this).html(edd_vars.show_advanced_settings);var header=$(this).parents(".edd-repeatable-row-header");header.siblings(".edd-custom-price-option-sections-wrap").slideToggle(),$(":input:not(input[type=button],input[type=submit],button):visible:first",show?header.siblings(".edd-custom-price-option-sections-wrap"):header.siblings(".edd-repeatable-row-standard-fields")).focus()}),EDD_Download_Configuration.init();var typingTimer,edd_datepicker=$(".edd_datepicker");if(0<edd_datepicker.length){edd_datepicker.datepicker({dateFormat:"mm/dd/yy"})}({init:function(){this.edit_address(),this.remove_download(),this.add_download(),this.change_customer(),this.new_customer(),this.edit_price(),this.recalculate_total(),this.variable_prices_check(),this.add_note(),this.remove_note(),this.resend_receipt(),this.copy_download_link()},edit_address:function(){$('select[name="edd-payment-address[0][country]"]').change(function(){var $this=$(this),data={action:"edd_get_shop_states",country:$this.val(),nonce:$this.data("nonce"),field_name:"edd-payment-address[0][state]"};return $.post(ajaxurl,data,function(response){var state_wrapper=$("#edd-order-address-state-wrap select, #edd-order-address-state-wrap input");$("#edd-order-address-state-wrap .chosen-container").remove(),"nostates"==response?state_wrapper.replaceWith('<input type="text" name="edd-payment-address[0][state]" value="" class="edd-edit-toggles medium-text"/>'):state_wrapper.replaceWith(response)}),!1})},remove_download:function(){$("#edd-purchased-files").on("click",".edd-order-remove-download",function(){if(1===$(document.body).find("#edd-purchased-files > .row:not(.header)").length)return alert(edd_vars.one_download_min),!1;if(confirm(edd_vars.delete_payment_download)){var key=$(this).data("key"),download_id=($(".edd-payment-id").val(),$('input[name="edd-payment-details-downloads['+key+'][id]"]').val()),price_id=$('input[name="edd-payment-details-downloads['+key+'][price_id]"]').val(),quantity=$('input[name="edd-payment-details-downloads['+key+'][quantity]"]').val(),amount=$('input[name="edd-payment-details-downloads['+key+'][amount]"]').val();if($('input[name="edd-payment-details-downloads['+key+'][tax]"]').length)var fees=$('input[name="edd-payment-details-downloads['+key+'][tax]"]').val();if($('input[name="edd-payment-details-downloads['+key+'][fees]"]').length)fees=$.parseJSON($('input[name="edd-payment-details-downloads['+key+'][fees]"]').val());var currently_removed=$('input[name="edd-payment-removed"]').val();(currently_removed=$.parseJSON(currently_removed)).length<1&&(currently_removed={});var removed_item=[{id:download_id,price_id:price_id,quantity:quantity,amount:amount,cart_index:key}];currently_removed[key]=removed_item,$('input[name="edd-payment-removed"]').val(JSON.stringify(currently_removed)),$(this).parent().parent().remove(),fees&&fees.length&&$.each(fees,function(key,value){$('*li[data-fee-id="'+value+'"]').remove()}),$("#edd-payment-downloads-changed").val(1),$(".edd-order-payment-recalc-totals").show()}return!1})},change_customer:function(){$("#edd-customer-details").on("click",".edd-payment-change-customer, .edd-payment-change-customer-cancel",function(e){e.preventDefault();var change_customer=$(this).hasClass("edd-payment-change-customer"),cancel=$(this).hasClass("edd-payment-change-customer-cancel");change_customer?($(".customer-info").hide(),$(".change-customer").show(),$(".edd-payment-change-customer-input").css("width","auto")):cancel&&($(".customer-info").show(),$(".change-customer").hide())})},new_customer:function(){$("#edd-customer-details").on("click",".edd-payment-new-customer, .edd-payment-new-customer-cancel",function(e){e.preventDefault();var new_customer=$(this).hasClass("edd-payment-new-customer"),cancel=$(this).hasClass("edd-payment-new-customer-cancel");new_customer?($(".customer-info").hide(),$(".new-customer").show()):cancel&&($(".customer-info").show(),$(".new-customer").hide());new_customer=$("#edd-new-customer");$(".new-customer").is(":visible")?new_customer.val(1):new_customer.val(0)})},add_download:function(){$(".edd-edit-purchase-element").on("click","#edd-order-add-download",function(e){e.preventDefault();var order_download_select=$("#edd_order_download_select"),order_download_quantity=$("#edd-order-download-quantity"),order_download_price=$("#edd-order-download-price"),order_download_tax=$("#edd-order-download-tax"),selected_price_option=$(".edd_price_options_select option:selected"),download_id=order_download_select.val(),download_title=order_download_select.find(":selected").text(),quantity=order_download_quantity.val(),item_price=order_download_price.val(),item_tax=order_download_tax.val(),price_id=selected_price_option.val(),price_name=selected_price_option.text();if(download_id<1)return!1;if(item_price||(item_price=0),item_price=parseFloat(item_price),isNaN(item_price))return alert(edd_vars.numeric_item_price),!1;if(item_tax=parseFloat(item_tax),isNaN(item_tax))return alert(edd_vars.numeric_item_tax),!1;if(isNaN(parseInt(quantity)))return alert(edd_vars.numeric_quantity),!1;price_name&&(download_title=download_title+" - "+price_name);var count=$("#edd-purchased-files div.row:not(.edd-purchased-files-header)").length;0==count&&alert(edd_vars.no_downloads_error);var clone=$("#edd-purchased-files div.row:not(.edd-purchased-files-header):last").clone();clone.find(".download span").html('<a href="post.php?post='+download_id+'&action=edit"></a>'),clone.find(".download span a").text(download_title),clone.find(".edd-payment-details-download-item-price").val(item_price.toFixed(edd_vars.currency_decimals)),clone.find(".edd-payment-details-download-item-tax").val(item_tax.toFixed(edd_vars.currency_decimals)),clone.find("input.edd-payment-details-download-id").val(download_id),clone.find("input.edd-payment-details-download-price-id").val(price_id);var item_total=item_price*quantity+item_tax;item_total=item_total.toFixed(edd_vars.currency_decimals),clone.find("span.edd-payment-details-download-amount").text(item_total),clone.find("input.edd-payment-details-download-amount").val(item_total),clone.find("input.edd-payment-details-download-quantity").val(quantity),clone.find("input.edd-payment-details-download-has-log").val(0),clone.find(".edd-copy-download-link-wrapper").remove(),clone.find("input").each(function(){var name=$(this).attr("name");name=name.replace(/\[(\d+)\]/,"["+parseInt(count)+"]"),$(this).attr("name",name).attr("id",name)}),clone.find("a.edd-order-remove-download").attr("data-key",parseInt(count)),$("#edd-payment-downloads-changed").val(1),$("#edd-purchased-files div.row .edd-purchased-download-title .deleted").length&&$("#edd-purchased-files div.row:last").remove(),$(clone).insertAfter("#edd-purchased-files div.row:last"),$(".edd-order-payment-recalc-totals").show(),$(".edd-add-download-field").val("")})},edit_price:function(){$(document.body).on("change keyup",".edd-payment-item-input",function(){var row=$(this).parents("ul.edd-purchased-files-list-wrapper");$(".edd-order-payment-recalc-totals").show();var quantity=row.find("input.edd-payment-details-download-quantity").val().replace(edd_vars.thousands_separator,""),item_price=row.find("input.edd-payment-details-download-item-price").val().replace(edd_vars.thousands_separator,""),item_tax=row.find("input.edd-payment-details-download-item-tax").val().replace(edd_vars.thousands_separator,"");if(item_price=parseFloat(item_price),isNaN(item_price))return alert(edd_vars.numeric_item_price),!1;item_tax=parseFloat(item_tax),isNaN(item_tax)&&(item_tax=0),isNaN(parseInt(quantity))&&(quantity=1);var item_total=item_price*quantity+item_tax;item_total=item_total.toFixed(edd_vars.currency_decimals),row.find("input.edd-payment-details-download-amount").val(item_total),row.find("span.edd-payment-details-download-amount").text(item_total)})},recalculate_total:function(){$("#edd-order-recalc-total").on("click",function(e){e.preventDefault();var total=0,tax=0,totals=$("#edd-purchased-files .row input.edd-payment-details-download-amount"),taxes=$("#edd-purchased-files .row input.edd-payment-details-download-item-tax");totals.length&&totals.each(function(){total+=parseFloat($(this).val())}),taxes.length&&taxes.each(function(){tax+=parseFloat($(this).val())}),$(".edd-payment-fees").length&&$(".edd-payment-fees span.fee-amount").each(function(){total+=parseFloat($(this).data("fee"))}),$("input[name=edd-payment-total]").val(total.toFixed(edd_vars.currency_decimals)),$("input[name=edd-payment-tax]").val(tax.toFixed(edd_vars.currency_decimals))})},variable_prices_check:function(){$(".edd-edit-purchase-element").on("change","select#edd_order_download_select",function(){var $this=$(this),download_id=$this.val();if(0<parseInt(download_id)){var postData={action:"edd_check_for_download_price_variations",download_id:download_id};$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){$(".edd_price_options_select").remove(),$(response).insertAfter($this.next())}}).fail(function(data){window.console&&window.console.log&&console.log(data)})}})},add_note:function(){$("#edd-add-payment-note").on("click",function(e){e.preventDefault();var postData={action:"edd_insert_payment_note",payment_id:$(this).data("payment-id"),note:$("#edd-payment-note").val()};if(postData.note)$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){$("#edd-payment-notes-inner").append(response),$(".edd-no-payment-notes").hide(),$("#edd-payment-note").val("")}}).fail(function(data){window.console&&window.console.log&&console.log(data)});else{var border_color=$("#edd-payment-note").css("border-color");$("#edd-payment-note").css("border-color","red"),setTimeout(function(){$("#edd-payment-note").css("border-color",border_color)},500)}})},remove_note:function(){$(document.body).on("click",".edd-delete-payment-note",function(e){if(e.preventDefault(),confirm(edd_vars.delete_payment_note)){var postData={action:"edd_delete_payment_note",payment_id:$(this).data("payment-id"),note_id:$(this).data("note-id")};return $.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){return $("#edd-payment-note-"+postData.note_id).remove(),$(".edd-payment-note").length||$(".edd-no-payment-notes").show(),!1}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!0}})},resend_receipt:function(){var emails_wrap=$(".edd-order-resend-receipt-addresses");$(document.body).on("click","#edd-select-receipt-email",function(e){e.preventDefault(),emails_wrap.slideDown()}),$(document.body).on("change",".edd-order-resend-receipt-email",function(){var href=$("#edd-select-receipt-email").prop("href")+"&email="+$(this).val();confirm(edd_vars.resend_receipt)&&(window.location=href)}),$(document.body).on("click","#edd-resend-receipt",function(e){return confirm(edd_vars.resend_receipt)})},copy_download_link:function(){$(document.body).on("click",".edd-copy-download-link",function(e){e.preventDefault();var $this=$(this),postData={action:"edd_get_file_download_link",payment_id:$('input[name="edd_payment_id"]').val(),download_id:$this.data("download-id"),price_id:$this.data("price-id")};$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(link){return $("#edd-download-link").dialog({width:400}).html('<textarea rows="10" cols="40" id="edd-download-link-textarea">'+link+"</textarea>"),$("#edd-download-link-textarea").focus().select(),!1}}).fail(function(data){window.console&&window.console.log&&console.log(data)})})}}).init(),{init:function(){this.type_select(),this.product_requirements()},type_select:function(){$("#edd-edit-discount #edd-type, #edd-add-discount #edd-type").change(function(){var val=$(this).val();$(".edd-amount-description").hide(),$(".edd-amount-description."+val+"-discount").show()})},product_requirements:function(){$("#products").change(function(){var product_conditions=$("#edd-discount-product-conditions");$(this).val()?product_conditions.show():product_conditions.hide()})}}.init(),{init:function(){this.date_options(),this.customers_export()},date_options:function(){$("#edd-graphs-date-options").change(function(){var $this=$(this),date_range_options=$("#edd-date-range-options");"other"===$this.val()?date_range_options.show():date_range_options.hide()})},customers_export:function(){$("#edd_customer_export_download").change(function(){var $this=$(this),download_id=$("option:selected",$this).val(),customer_export_option=$("#edd_customer_export_option");if("0"===$this.val()?customer_export_option.show():customer_export_option.hide(),0!=parseInt(download_id)){var data={action:"edd_check_for_download_price_variations",download_id:download_id,all_prices:!0},price_options_select=$(".edd_price_options_select");$.post(ajaxurl,data,function(response){price_options_select.remove(),$("#edd_customer_export_download_chosen").after(response)})}else price_options_select.remove()})}}.init(),{init:function(){this.general(),this.taxes(),this.emails(),this.misc()},general:function(){var edd_color_picker=$(".edd-color-picker");if(edd_color_picker.length&&edd_color_picker.wpColorPicker(),"undefined"==typeof wp||"1"!==edd_vars.new_media_ui){var edd_settings_upload_button=$(".edd_settings_upload_button");0<edd_settings_upload_button.length&&(window.formfield="",$(document.body).on("click",edd_settings_upload_button,function(e){e.preventDefault(),window.formfield=$(this).parent().prev(),window.tbframe_interval=setInterval(function(){jQuery("#TB_iframeContent").contents().find(".savesend .button").val(edd_vars.use_this_file).end().find("#insert-gallery, .wp-post-thumbnail").hide()},2e3),tb_show(edd_vars.add_new_download,"media-upload.php?TB_iframe=true")}),window.edd_send_to_editor=window.send_to_editor,window.send_to_editor=function(html){window.formfield?(imgurl=$("a","<div>"+html+"</div>").attr("href"),window.formfield.val(imgurl),window.clearInterval(window.tbframe_interval),tb_remove()):window.edd_send_to_editor(html),window.send_to_editor=window.edd_send_to_editor,window.formfield="",window.imagefield=!1})}else{var file_frame;window.formfield="",$(document.body).on("click",".edd_settings_upload_button",function(e){e.preventDefault();var button=$(this);window.formfield=$(this).parent().prev(),file_frame||((file_frame=wp.media.frames.file_frame=wp.media({frame:"post",state:"insert",title:button.data("uploader_title"),button:{text:button.data("uploader_button_text")},multiple:!1})).on("menu:render:default",function(view){view.unset("library-separator"),view.unset("gallery"),view.unset("featured-image"),view.unset("embed"),view.set({})}),file_frame.on("insert",function(){file_frame.state().get("selection").each(function(attachment,index){attachment=attachment.toJSON(),window.formfield.val(attachment.url)})})),file_frame.open()}),window.formfield=""}},taxes:function(){var no_states=$("select.edd-no-states");no_states.length&&no_states.closest("tr").addClass("hidden"),$('select[name="edd_settings[base_country]"]').change(function(){var $this=$(this),$tr=$this.closest("tr"),data={action:"edd_get_shop_states",country:$this.val(),nonce:$this.data("nonce"),field_name:"edd_settings[base_state]"};return $.post(ajaxurl,data,function(response){"nostates"==response?$tr.next().addClass("hidden"):($tr.next().removeClass("hidden"),$tr.next().find("select").replaceWith(response))}),!1}),$(document.body).on("change","#edd_tax_rates select.edd-tax-country",function(){var $this=$(this),data={action:"edd_get_shop_states",country:$this.val(),nonce:$this.data("nonce"),field_name:$this.attr("name").replace("country","state")};return $.post(ajaxurl,data,function(response){if("nostates"==response){var text_field='<input type="text" name="'+data.field_name+'" value=""/>';$this.parent().next().find("select").replaceWith(text_field)}else $this.parent().next().find("input,select").show(),$this.parent().next().find("input,select").replaceWith(response)}),!1}),$("#edd_add_tax_rate").on("click",function(){var row=$("#edd_tax_rates tr:last"),clone=row.clone(),count=row.parent().find("tr").length;return clone.find("td input").not(":input[type=checkbox]").val(""),clone.find('td [type="checkbox"]').attr("checked",!1),clone.find("input, select").each(function(){var name=$(this).attr("name");name=name.replace(/\[(\d+)\]/,"["+parseInt(count)+"]"),$(this).attr("name",name).attr("id",name)}),clone.find("label").each(function(){var name=$(this).attr("for");name=name.replace(/\[(\d+)\]/,"["+parseInt(count)+"]"),$(this).attr("for",name)}),clone.insertAfter(row),!1}),$(document.body).on("click","#edd_tax_rates .edd_remove_tax_rate",function(){confirm(edd_vars.delete_tax_rate)&&(2===$("#edd_tax_rates tr:visible").length?($("#edd_tax_rates select").val(""),$('#edd_tax_rates input[type="text"]').val(""),$('#edd_tax_rates input[type="number"]').val(""),$('#edd_tax_rates input[type="checkbox"]').attr("checked",!1)):$(this).closest("tr").remove(),$("#edd_tax_rates tr").each(function(rowIndex){$(this).children().find("input, select").each(function(){var name=$(this).attr("name");name=name.replace(/\[(\d+)\]/,"["+(rowIndex-1)+"]"),$(this).attr("name",name).attr("id",name)})}));return!1})},emails:function(){$("#edd-sendwp-connect").on("click",function(e){e.preventDefault(),$(this).html(edd_vars.wait+' <span class="edd-loading"></span>'),document.body.style.cursor="wait",easy_digital_downloads_sendwp_remote_install()}),$("#edd-sendwp-disconnect").on("click",function(e){e.preventDefault(),$(this).html(edd_vars.wait+' <span class="edd-loading dark"></span>'),document.body.style.cursor="wait",easy_digital_downloads_sendwp_disconnect()}),$("#edd-recapture-connect").on("click",function(e){e.preventDefault(),$(this).html(edd_vars.wait+' <span class="edd-loading"></span>'),document.body.style.cursor="wait",easy_digital_downloads_recapture_remote_install()})},misc:function(){var downloadMethod=$('select[name="edd_settings[download_method]"]'),symlink=downloadMethod.parent().parent().next();"direct"==downloadMethod.val()&&(symlink.hide(),symlink.find("input").prop("checked",!1)),downloadMethod.on("change",function(){"direct"==$(this).val()?(symlink.hide(),symlink.find("input").prop("checked",!1)):symlink.show()})}}.init(),$(".download_page_edd-payment-history .row-actions .delete a, a.edd-delete-payment").on("click",function(){return!!confirm(edd_vars.delete_payment)}),$("body").on("click","#the-list .editinline",function(){var post_id=$(this).closest("tr").attr("id");post_id=post_id.replace("post-","");var regprice=$("#post-"+post_id).find(".column-price .downloadprice-"+post_id).val();regprice!=$("#post-"+post_id+".column-price .downloadprice-"+post_id).val()?$(".regprice","#edd-download-data").val(regprice).attr("disabled",!1):$(".regprice","#edd-download-data").val(edd_vars.quick_edit_warning).attr("disabled","disabled")}),$(document.body).on("click","#bulk_edit",function(){var $bulk_row=$("#bulk-edit"),$post_ids=new Array;$bulk_row.find("#bulk-titles").children().each(function(){$post_ids.push($(this).attr("id").replace(/^(ttle)/i,""))});var $price=$('#edd-download-data input[name="_edd_regprice"]').val(),data={action:"edd_save_bulk_edit",edd_bulk_nonce:$post_ids,post_ids:$post_ids,price:$price};$.post(ajaxurl,data)}),$(".edd-select-chosen").chosen({inherit_select_classes:!0,placeholder_text_single:edd_vars.one_option,placeholder_text_multiple:edd_vars.one_or_more_option}),$(".edd-select-chosen .chosen-search input").each(function(){var selectElem=$(this).parent().parent().parent().prev("select.edd-select-chosen"),placeholder=(selectElem.data("search-type"),selectElem.data("search-placeholder"));$(this).attr("placeholder",placeholder)}),$(".chosen-choices").on("click",function(){var placeholder=$(this).parent().prev().data("search-placeholder");void 0===placeholder&&(placeholder=edd_vars.type_to_search),$(this).children("li").children("input").attr("placeholder",placeholder)});$(document.body).on("keyup",".edd-select.chosen-container .chosen-search input, .edd-select.chosen-container .search-field input",function(e){var val=$(this).val(),container=$(this).closest(".edd-select-chosen"),select=(container.attr("id").replace("_chosen",""),container.prev()),no_bundles=container.hasClass("no-bundles"),variations=container.hasClass("variations"),lastKey=e.which,search_type="edd_download_search";if(container.prev().data("search-type")){if("no_ajax"==select.data("search-type"))return;search_type="edd_"+select.data("search-type")+"_search"}val.length<=3&&"edd_download_search"==search_type||16==lastKey||13==lastKey||91==lastKey||17==lastKey||37==lastKey||38==lastKey||39==lastKey||40==lastKey||(clearTimeout(typingTimer),typingTimer=setTimeout(function(){$.ajax({type:"GET",url:ajaxurl,data:{action:search_type,s:val,no_bundles:no_bundles,variations:variations},dataType:"json",beforeSend:function(){select.closest("ul.chosen-results").empty()},success:function(data){$("option:not(:selected)",select).remove(),$.each(data,function(key,item){$('option[value="'+item.id+'"]',select).length||select.prepend('<option value="'+item.id+'">'+item.name+"</option>")}),$(".edd-select-chosen").trigger("chosen:updated"),select.next().find("input").val(val)}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){})},342))}),$("#post").on("click",".edd-thickbox",function(){$(".edd-select-chosen","#choose-download").css("width","100%")}),{init:function(){this.revoke_api_key(),this.regenerate_api_key(),this.create_api_key(),this.recount_stats()},revoke_api_key:function(){$(document.body).on("click",".edd-revoke-api-key",function(e){return confirm(edd_vars.revoke_api_key)})},regenerate_api_key:function(){$(document.body).on("click",".edd-regenerate-api-key",function(e){return confirm(edd_vars.regenerate_api_key)})},create_api_key:function(){$(document.body).on("submit","#api-key-generate-form",function(e){var input=$('input[type="text"][name="user_id"]');input.css("border-color","#ddd");var user_id=input.val();if(user_id.length<1||0==user_id)return input.css("border-color","#ff0000"),!1})},recount_stats:function(){$(document.body).on("change","#recount-stats-type",function(){var export_form=$("#edd-tools-recount-form"),selected_type=$("option:selected",this).data("type"),submit_button=$("#recount-stats-submit"),products=$("#tools-product-dropdown");if(export_form.find(".notice-wrap").remove(),submit_button.removeClass("button-disabled").attr("disabled",!1),products.hide(),$(".edd-recount-stats-descriptions span").hide(),"recount-download"===selected_type)products.show(),products.find(".edd-select-chosen").css("width","auto");else if("reset-stats"===selected_type){export_form.append('<div class="notice-wrap"></div>'),export_form.find(".notice-wrap").html('<div class="notice notice-warning"><p><input type="checkbox" id="confirm-reset" name="confirm_reset_store" value="1" /> <label for="confirm-reset">'+edd_vars.reset_stats_warn+"</label></p></div>"),$("#recount-stats-submit").addClass("button-disabled").attr("disabled","disabled")}else products.hide(),products.val(0);$("#"+selected_type).show()}),$(document.body).on("change","#confirm-reset",function(){$(this).is(":checked")?$("#recount-stats-submit").removeClass("button-disabled").removeAttr("disabled"):$("#recount-stats-submit").addClass("button-disabled").attr("disabled","disabled")}),$("#edd-tools-recount-form").submit(function(e){var selection=$("#recount-stats-type").val(),export_form=$(this),selected_type=$("option:selected",this).data("type");if("reset-stats"===selected_type){if($("#confirm-reset").is(":checked"))return!0;has_errors=!0}export_form.find(".notice-wrap").remove(),export_form.append('<div class="notice-wrap"></div>');var notice_wrap=export_form.find(".notice-wrap"),has_errors=!1;(null!==selection&&0!==selection||(notice_wrap.html('<div class="updated error"><p>'+edd_vars.batch_export_no_class+"</p></div>"),has_errors=!0),"recount-download"===selected_type)&&(0==$('select[name="download_id"]').val()&&(notice_wrap.html('<div class="updated error"><p>'+edd_vars.batch_export_no_reqs+"</p></div>"),has_errors=!0));if(has_errors)return export_form.find(".button-disabled").removeClass("button-disabled"),!1})}}.init(),{init:function(){this.submit(),this.dismiss_message()},submit:function(){var self=this;$(document.body).on("submit",".edd-export-form",function(e){e.preventDefault();var submitButton=$(this).find('input[type="submit"]');if(!submitButton.hasClass("button-disabled")){var data=$(this).serialize();submitButton.addClass("button-disabled"),$(this).find(".notice-wrap").remove(),$(this).append('<div class="notice-wrap"><span class="spinner is-active"></span><div class="edd-progress"><div></div></div></div>'),self.process_step(1,data,self)}})},process_step:function(step,data,self){$.ajax({type:"POST",url:ajaxurl,data:{form:data,action:"edd_do_ajax_export",step:step},dataType:"json",success:function(response){if("done"==response.step||response.error||response.success){var export_form=$(".edd-export-form").find(".edd-progress").parent().parent(),notice_wrap=export_form.find(".notice-wrap");if(export_form.find(".button-disabled").removeClass("button-disabled"),response.error){var error_message=response.message;notice_wrap.html('<div class="updated error"><p>'+error_message+"</p></div>")}else if(response.success){var success_message=response.message;notice_wrap.html('<div id="edd-batch-success" class="updated notice is-dismissible"><p>'+success_message+'<span class="notice-dismiss"></span></p></div>')}else notice_wrap.remove(),window.location=response.url}else $(".edd-progress div").animate({width:response.percentage+"%"},50,function(){}),self.process_step(parseInt(response.step),data,self)}}).fail(function(response){window.console&&window.console.log&&console.log(response)})},dismiss_message:function(){$(document.body).on("click","#edd-batch-success .notice-dismiss",function(){$("#edd-batch-success").parent().slideUp("fast")})}}.init();var EDD_Import={init:function(){this.submit()},submit:function(){$(".edd-import-form").ajaxForm({beforeSubmit:this.before_submit,success:this.success,complete:this.complete,dataType:"json",error:this.error})},before_submit:function(arr,$form,options){if($form.find(".notice-wrap").remove(),$form.append('<div class="notice-wrap"><span class="spinner is-active"></span><div class="edd-progress"><div></div></div></div>'),!(window.File&&window.FileReader&&window.FileList&&window.Blob)){var import_form=$(".edd-import-form").find(".edd-progress").parent().parent(),notice_wrap=import_form.find(".notice-wrap");return import_form.find(".button-disabled").removeClass("button-disabled"),notice_wrap.html('<div class="update error"><p>'+edd_vars.unsupported_browser+"</p></div>"),!1}},success:function(responseText,statusText,xhr,$form){},complete:function(xhr){var response=jQuery.parseJSON(xhr.responseText);if(response.success){var $form=$(".edd-import-form .notice-wrap").parent();$form.find(".edd-import-file-wrap,.notice-wrap").remove(),$form.find(".edd-import-options").slideDown();var select=$form.find("select.edd-import-csv-column"),options=(select.parents("tr").first(),""),columns=response.data.columns.sort(function(a,b){return a<b?-1:b<a?1:0});$.each(columns,function(key,value){options+='<option value="'+value+'">'+value+"</option>"}),select.append(options),select.on("change",function(){var $key=$(this).val();$key&&0!=response.data.first_row[$key]?$(this).parent().next().html(response.data.first_row[$key]):$(this).parent().next().html("")}),$.each(select,function(){$(this).val($(this).attr("data-field")).change()}),$(document.body).on("click",".edd-import-proceed",function(e){e.preventDefault(),$form.append('<div class="notice-wrap"><span class="spinner is-active"></span><div class="edd-progress"><div></div></div></div>'),response.data.mapping=$form.serialize(),EDD_Import.process_step(1,response.data,self)})}else EDD_Import.error(xhr)},error:function(xhr){var response=jQuery.parseJSON(xhr.responseText),import_form=$(".edd-import-form").find(".edd-progress").parent().parent(),notice_wrap=import_form.find(".notice-wrap");import_form.find(".button-disabled").removeClass("button-disabled"),response.data.error?notice_wrap.html('<div class="update error"><p>'+response.data.error+"</p></div>"):notice_wrap.remove()},process_step:function(step,import_data,self){$.ajax({type:"POST",url:ajaxurl,data:{form:import_data.form,nonce:import_data.nonce,class:import_data.class,upload:import_data.upload,mapping:import_data.mapping,action:"edd_do_ajax_import",step:step},dataType:"json",success:function(response){if("done"==response.data.step||response.data.error){var import_form=$(".edd-import-form").find(".edd-progress").parent().parent(),notice_wrap=import_form.find(".notice-wrap");import_form.find(".button-disabled").removeClass("button-disabled"),response.data.error?notice_wrap.html('<div class="update error"><p>'+response.data.error+"</p></div>"):(import_form.find(".edd-import-options").hide(),$("html, body").animate({scrollTop:import_form.parent().offset().top},500),notice_wrap.html('<div class="updated"><p>'+response.data.message+"</p></div>"))}else $(".edd-progress div").animate({width:response.data.percentage+"%"},50,function(){}),EDD_Import.process_step(parseInt(response.data.step),import_data,self)}}).fail(function(response){window.console&&window.console.log&&console.log(response)})}};EDD_Import.init();var EDD_Customer={vars:{customer_card_wrap_editable:$(".edd-customer-card-wrapper .editable"),customer_card_wrap_edit_item:$(".edd-customer-card-wrapper .edit-item"),user_id:$('input[name="customerinfo[user_id]"]'),state_input:$(':input[name="customerinfo[state]"]'),note:$("#customer-note")},init:function(){this.edit_customer(),this.add_email(),this.user_search(),this.remove_user(),this.cancel_edit(),this.change_country(),this.add_note(),this.delete_checked()},edit_customer:function(){$(document.body).on("click","#edit-customer",function(e){e.preventDefault(),EDD_Customer.vars.customer_card_wrap_editable.hide(),EDD_Customer.vars.customer_card_wrap_edit_item.fadeIn().css("display","block")})},add_email:function(){$(document.body).on("click","#add-customer-email",function(e){e.preventDefault();var button=$(this),wrapper=button.parent();wrapper.parent().find(".notice-container").remove(),wrapper.find(".spinner").css("visibility","visible"),button.attr("disabled",!0);var postData={edd_action:"customer-add-email",customer_id:wrapper.find('input[name="customer-id"]').val(),email:wrapper.find('input[name="additional-email"]').val(),primary:wrapper.find('input[name="make-additional-primary"]').is(":checked"),_wpnonce:wrapper.find('input[name="add_email_nonce"]').val()};$.post(ajaxurl,postData,function(response){!0===response.success?window.location.href=response.redirect:(button.attr("disabled",!1),wrapper.after('<div class="notice-container"><div class="notice notice-error inline"><p>'+response.message+"</p></div></div>"),wrapper.find(".spinner").css("visibility","hidden"))},"json")})},user_search:function(){$(document.body).on("click.eddSelectUser",".edd_user_search_results a",function(e){e.preventDefault();var user_id=$(this).data("userid");EDD_Customer.vars.user_id.val(user_id)})},remove_user:function(){$(document.body).on("click","#disconnect-customer",function(e){if(e.preventDefault(),confirm(edd_vars.disconnect_customer)){var postData={edd_action:"disconnect-userid",customer_id:$('input[name="customerinfo[id]"]').val(),_wpnonce:$("#edit-customer-info #_wpnonce").val()};$.post(ajaxurl,postData,function(response){window.location.href=window.location.href},"json")}})},cancel_edit:function(){$(document.body).on("click","#edd-edit-customer-cancel",function(e){e.preventDefault(),EDD_Customer.vars.customer_card_wrap_edit_item.hide(),EDD_Customer.vars.customer_card_wrap_editable.show(),$(".edd_user_search_results").html("")})},change_country:function(){$('select[name="customerinfo[country]"]').change(function(){var $this=$(this),data={action:"edd_get_shop_states",country:$this.val(),nonce:$this.data("nonce"),field_name:"customerinfo[state]"};return $.post(ajaxurl,data,function(response){"nostates"==response?EDD_Customer.vars.state_input.replaceWith('<input type="text" name="'+data.field_name+'" value="" class="edd-edit-toggles medium-text"/>'):EDD_Customer.vars.state_input.replaceWith(response)}),!1})},add_note:function(){$(document.body).on("click","#add-customer-note",function(e){e.preventDefault();var postData={edd_action:"add-customer-note",customer_id:$("#customer-id").val(),customer_note:EDD_Customer.vars.note.val(),add_customer_note_nonce:$("#add_customer_note_nonce").val()};if(postData.customer_note)$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){$("#edd-customer-notes").prepend(response),$(".edd-no-customer-notes").hide(),EDD_Customer.vars.note.val("")}}).fail(function(data){window.console&&window.console.log&&console.log(data)});else{var border_color=EDD_Customer.vars.note.css("border-color");EDD_Customer.vars.note.css("border-color","red"),setTimeout(function(){EDD_Customer.vars.note.css("border-color",border_color)},500)}})},delete_checked:function(){$("#edd-customer-delete-confirm").change(function(){var records_input=$("#edd-customer-delete-records"),submit_button=$("#edd-delete-customer");$(this).prop("checked")?(records_input.attr("disabled",!1),submit_button.attr("disabled",!1)):(records_input.attr("disabled",!0),records_input.prop("checked",!1),submit_button.attr("disabled",!0))})}};EDD_Customer.init();var EDD_Promo_Notices={init:function(){EDD_Promo_Notices.displayNotices(),EDD_Promo_Notices.dismissNotices()},displayNotices:function(){var topOfPageNotice=$(".edd-admin-notice-top-of-page");if(topOfPageNotice){var topOfPageNoticeEl=topOfPageNotice.detach();$("#wpbody-content").prepend(topOfPageNoticeEl),topOfPageNotice.delay(1e3).slideDown()}},dismissNotices:function(){$(".edd-promo-notice").each(function(){var notice=$(this);notice.on("click",".edd-promo-notice-dismiss",function(e){e.preventDefault(),$.ajax({type:"POST",data:{action:"edd_dismiss_promo_notice",notice_id:notice.data("id"),nonce:notice.data("nonce"),lifespan:notice.data("lifespan")},url:ajaxurl,success:function(response){notice.slideUp()}})})})}};EDD_Promo_Notices.init(),$(".edd-ajax-user-search").keyup(function(){var user_search=$(this).val(),exclude="";$(this).data("exclude")&&(exclude=$(this).data("exclude")),$(".edd-ajax").show();var data={action:"edd_search_users",user_name:user_search,exclude:exclude};document.body.style.cursor="wait",$.ajax({type:"POST",data:data,dataType:"json",url:ajaxurl,success:function(search_response){$(".edd-ajax").hide(),$(".edd_user_search_results").removeClass("hidden"),$(".edd_user_search_results span").html(""),$(search_response.results).appendTo(".edd_user_search_results span"),document.body.style.cursor="default"}})}),$(document.body).on("click.eddSelectUser",".edd_user_search_results span a",function(e){e.preventDefault();var login=$(this).data("login");$(".edd-ajax-user-search").val(login),$(".edd_user_search_results").addClass("hidden"),$(".edd_user_search_results span").html("")}),$(document.body).on("click.eddCancelUserSearch",".edd_user_search_results a.edd-ajax-user-cancel",function(e){e.preventDefault(),$(".edd-ajax-user-search").val(""),$(".edd_user_search_results").addClass("hidden"),$(".edd_user_search_results span").html("")}),$("#edd_dashboard_sales").length&&$.ajax({type:"GET",data:{action:"edd_load_dashboard_widget"},url:ajaxurl,success:function(response){$("#edd_dashboard_sales .inside").html(response)}}),$(document.body).on("keydown",".customer-note-input",function(e){13==e.keyCode&&(e.metaKey||e.ctrlKey)&&$("#add-customer-note").click()})});var eddFormatCurrency=function(value){var numeric=parseFloat(value),storeCurrency=edd_vars.currency,decimalPlaces=edd_vars.currency_decimals;return numeric.toLocaleString(storeCurrency,{style:"currency",currency:storeCurrency,minimumFractionDigits:decimalPlaces,maximumFractionDigits:decimalPlaces})},eddFormatNumber=function(value){var numeric=parseFloat(value),storeCurrency=edd_vars.currency;edd_vars.currency_decimals;return numeric.toLocaleString(storeCurrency,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0})},eddLabelFormatter=function(label,series){return'<div style="font-size:12px; text-align:center; padding:2px">'+label+"</div>"},eddLegendFormatterSales=function(label,series){var slug=label.toLowerCase().replace(/\s/g,"-"),color='<div class="edd-legend-color" style="background-color: '+series.color+'"></div>',value='<div class="edd-pie-legend-item">'+label+": "+Math.round(series.percent)+"% ("+eddFormatNumber(series.data[0][1])+")</div>",item='<div id="'+series.edd_vars.id+slug+'" class="edd-legend-item-wrapper">'+color+value+"</div>";return jQuery("#edd-pie-legend-"+series.edd_vars.id).append(item),item},eddLegendFormatterEarnings=function(label,series){var slug=label.toLowerCase().replace(/\s/g,"-"),color='<div class="edd-legend-color" style="background-color: '+series.color+'"></div>',value='<div class="edd-pie-legend-item">'+label+": "+Math.round(series.percent)+"% ("+eddFormatCurrency(series.data[0][1])+")</div>",item='<div id="'+series.edd_vars.id+slug+'" class="edd-legend-item-wrapper">'+color+value+"</div>";return jQuery("#edd-pie-legend-"+series.edd_vars.id).append(item),item};function edd_attach_tooltips(selector){selector.tooltip({content:function(){return jQuery(this).prop("title")},tooltipClass:"edd-ui-tooltip",position:{my:"center top",at:"center bottom+10",collision:"flipfit"},hide:{duration:200},show:{duration:200}})}function easy_digital_downloads_sendwp_remote_install(){jQuery.post(ajaxurl,{action:"edd_sendwp_remote_install"},function(response){response.success||!confirm(response.data.error)?easy_digital_downloads_sendwp_register_client(response.data.register_url,response.data.client_name,response.data.client_secret,response.data.client_redirect,response.data.partner_id):location.reload()})}function easy_digital_downloads_sendwp_disconnect(){jQuery.post(ajaxurl,{action:"edd_sendwp_disconnect"},function(response){location.reload()})}function easy_digital_downloads_sendwp_register_client(register_url,client_name,client_secret,client_redirect,partner_id){var form=document.createElement("form");function easy_digital_downloads_sendwp_append_form_input(name,value){var input=document.createElement("input");input.setAttribute("type","hidden"),input.setAttribute("name",name),input.setAttribute("value",value),form.appendChild(input)}form.setAttribute("method","POST"),form.setAttribute("action",register_url),easy_digital_downloads_sendwp_append_form_input("client_name",client_name),easy_digital_downloads_sendwp_append_form_input("client_secret",client_secret),easy_digital_downloads_sendwp_append_form_input("client_redirect",client_redirect),easy_digital_downloads_sendwp_append_form_input("partner_id",partner_id),document.body.appendChild(form),form.submit()}function easy_digital_downloads_recapture_remote_install(){jQuery.post(ajaxurl,{action:"edd_recapture_remote_install"},function(response){0==response.success&&confirm(response.data.error)?location.reload():window.location.href="https://recapture.io/register"})}
1
+ jQuery(document).ready(function($){edd_attach_tooltips($(".edd-help-tip"));var EDD_Download_Configuration={init:function(){this.add(),this.move(),this.remove(),this.type(),this.prices(),this.files(),this.updatePrices()},clone_repeatable:function(row){var key;highest=1;return row.parent().find(".edd_repeatable_row").each(function(){var current=$(this).data("key");parseInt(current)>highest&&(highest=current)}),key=highest+=1,clone=row.clone(),clone.removeClass("edd_add_blank"),clone.attr("data-key",key),clone.find("input, select, textarea").val("").each(function(){var name=$(this).attr("name"),id=$(this).attr("id");name&&(name=name.replace(/\[(\d+)\]/,"["+parseInt(key)+"]"),$(this).attr("name",name)),$(this).attr("data-key",key),void 0!==id&&(id=id.replace(/(\d+)/,parseInt(key)),$(this).attr("id",id))}),clone.find("select").each(function(){$(this).val(row.find('select[name="'+$(this).attr("name")+'"]').val())}),clone.find('input[type="checkbox"]').each(function(){$(this).is(":checked")&&$(this).prop("checked",!1),$(this).val(1)}),clone.find("span.edd_price_id").each(function(){$(this).text(parseInt(key))}),clone.find("span.edd_file_id").each(function(){$(this).text(parseInt(key))}),clone.find(".edd_repeatable_default_input").each(function(){$(this).val(parseInt(key)).removeAttr("checked")}),clone.find(".edd_repeatable_condition_field").each(function(){$(this).find("option:eq(0)").prop("selected","selected")}),clone.find(".search-choice").remove(),clone.find(".chosen-container").remove(),edd_attach_tooltips(clone.find(".edd-help-tip")),clone},add:function(){$(document.body).on("click",".submit .edd_add_repeatable",function(clone){clone.preventDefault();var row=$(this).parent().parent().prev(".edd_repeatable_row"),clone=EDD_Download_Configuration.clone_repeatable(row);clone.insertAfter(row).find("input, textarea, select").filter(":visible").eq(0).focus(),clone.find(".edd-select-chosen").chosen({inherit_select_classes:!0,placeholder_text_single:edd_vars.one_option,placeholder_text_multiple:edd_vars.one_or_more_option}),clone.find(".edd-select-chosen").css("width","100%"),clone.find(".edd-select-chosen .chosen-search input").attr("placeholder",edd_vars.search_placeholder)})},move:function(){$(".edd_repeatable_table .edd-repeatables-wrap").sortable({handle:".edd-draghandle-anchor",items:".edd_repeatable_row",opacity:.6,cursor:"move",axis:"y",update:function(){var count=0;$(this).find(".edd_repeatable_row").each(function(){$(this).find("input.edd_repeatable_index").each(function(){$(this).val(count)}),count++})}})},remove:function(){$(document.body).on("click",".edd-remove-row, .edd_remove_repeatable",function(firstFocusable){firstFocusable.preventDefault();var row=$(this).parents(".edd_repeatable_row"),count=row.parent().find(".edd_repeatable_row").length,type=$(this).data("type"),repeatable="div.edd_repeatable_"+type+"s",price_row_id=$(this).is(".ui-sortable .edd_repeatable_row:first-child .edd-remove-row, .ui-sortable .edd_repeatable_row:first-child .edd_remove_repeatable")?row.next(".edd_repeatable_row"):row.prev(".edd_repeatable_row"),firstFocusable=price_row_id.find("select, input, textarea, button").filter(":visible").eq(0);if("price"===type&&(price_row_id=row.data("key"),$('.edd_repeatable_condition_field option[value="'+price_row_id+'"]').remove()),1<count)$("input, select",row).val(""),row.fadeOut("fast").remove(),firstFocusable.focus();else switch(type){case"price":alert(edd_vars.one_price_min);break;case"file":$("input, select",row).val("");break;default:alert(edd_vars.one_field_min)}$(repeatable).each(function(rowIndex){$(this).find("input, select").each(function(){var name=(name=$(this).attr("name")).replace(/\[(\d+)\]/,"["+rowIndex+"]");$(this).attr("name",name).attr("id",name)})})})},type:function(){$(document.body).on("change","#_edd_product_type",function(e){var edd_products=$("#edd_products"),edd_download_files=$("#edd_download_files"),edd_download_limit_wrap=$("#edd_download_limit_wrap");"bundle"===$(this).val()?(edd_products.show(),edd_download_files.hide(),edd_download_limit_wrap.hide()):(edd_products.hide(),edd_download_files.show(),edd_download_limit_wrap.show())})},prices:function(){$(document.body).on("change","#edd_variable_pricing",function(e){var checked=$(this).is(":checked"),single=$("#edd_regular_price_field"),variable=$("#edd_variable_price_fields, .edd_repeatable_table .pricing"),bundleRow=$(".edd-bundled-product-row, .edd-repeatable-row-standard-fields");checked?(single.hide(),variable.show(),bundleRow.addClass("has-variable-pricing")):(single.show(),variable.hide(),bundleRow.removeClass("has-variable-pricing"))})},files:function(){var file_frame;window.formfield="",$(document.body).on("click",".edd_upload_file_button",function(button){button.preventDefault();button=$(this);window.formfield=$(this).closest(".edd_repeatable_upload_wrapper"),file_frame||((file_frame=wp.media.frames.file_frame=wp.media({frame:"post",state:"insert",title:button.data("uploader-title"),button:{text:button.data("uploader-button-text")},multiple:"0"!=$(this).data("multiple")})).on("menu:render:default",function(view){view.unset("library-separator"),view.unset("gallery"),view.unset("featured-image"),view.unset("embed"),view.set({})}),file_frame.on("insert",function(){file_frame.state().get("selection").each(function(attachment,clone){var row,selectedSize="image"===(attachment=attachment.toJSON()).type&&$(".attachment-display-settings .size option:selected").val(),selectedURL=attachment.url,selectedName=0<attachment.title.length?attachment.title:attachment.filename;selectedSize&&void 0!==attachment.sizes[selectedSize]&&(selectedURL=attachment.sizes[selectedSize].url),"image"===attachment.type&&(selectedName=selectedSize&&void 0!==attachment.sizes[selectedSize]?selectedName+"-"+attachment.sizes[selectedSize].width+"x"+attachment.sizes[selectedSize].height:selectedName+"-"+attachment.width+"x"+attachment.height),0===clone?(window.formfield.find(".edd_repeatable_attachment_id_field").val(attachment.id),window.formfield.find(".edd_repeatable_thumbnail_size_field").val(selectedSize),window.formfield.find(".edd_repeatable_upload_field").val(selectedURL),window.formfield.find(".edd_repeatable_name_field").val(selectedName)):(row=window.formfield,(clone=EDD_Download_Configuration.clone_repeatable(row)).find(".edd_repeatable_attachment_id_field").val(attachment.id),clone.find(".edd_repeatable_thumbnail_size_field").val(selectedSize),clone.find(".edd_repeatable_upload_field").val(selectedURL),clone.find(".edd_repeatable_name_field").val(selectedName),clone.insertAfter(row))})})),file_frame.open()}),window.formfield=""},updatePrices:function(){$("#edd_price_fields").on("keyup",".edd_variable_prices_name",function(){var key=$(this).parents(".edd_repeatable_row").data("key"),name=$(this).val(),field_option=$(".edd_repeatable_condition_field option[value="+key+"]");0<field_option.length?field_option.text(name):$(".edd_repeatable_condition_field").append($("<option></option>").attr("value",key).text(name))})}};$(document.body).on("click",".toggle-custom-price-option-section",function(header){header.preventDefault();var show=$(this).html()==edd_vars.show_advanced_settings;show?$(this).html(edd_vars.hide_advanced_settings):$(this).html(edd_vars.show_advanced_settings);header=$(this).parents(".edd-repeatable-row-header");header.siblings(".edd-custom-price-option-sections-wrap").slideToggle(),$(":input:not(input[type=button],input[type=submit],button):visible:first",show?header.siblings(".edd-custom-price-option-sections-wrap"):header.siblings(".edd-repeatable-row-standard-fields")).focus()}),EDD_Download_Configuration.init();var typingTimer,edd_datepicker=$(".edd_datepicker");0<edd_datepicker.length&&edd_datepicker.datepicker({dateFormat:"mm/dd/yy"}),{init:function(){this.edit_address(),this.remove_download(),this.add_download(),this.change_customer(),this.new_customer(),this.edit_price(),this.recalculate_total(),this.variable_prices_check(),this.add_note(),this.remove_note(),this.resend_receipt(),this.copy_download_link()},edit_address:function(){$('select[name="edd-payment-address[0][country]"]').change(function(){var data=$(this),data={action:"edd_get_shop_states",country:data.val(),nonce:data.data("nonce"),field_name:"edd-payment-address[0][state]"};return $.post(ajaxurl,data,function(response){var state_wrapper=$("#edd-order-address-state-wrap select, #edd-order-address-state-wrap input");$("#edd-order-address-state-wrap .chosen-container").remove(),"nostates"==response?state_wrapper.replaceWith('<input type="text" name="edd-payment-address[0][state]" value="" class="edd-edit-toggles medium-text"/>'):state_wrapper.replaceWith(response)}),!1})},remove_download:function(){$("#edd-purchased-files").on("click",".edd-order-remove-download",function(){var key,download_id,price_id,quantity,amount,fees,currently_removed;return 1===$(document.body).find("#edd-purchased-files > .row:not(.header)").length?alert(edd_vars.one_download_min):confirm(edd_vars.delete_payment_download)&&(key=$(this).data("key"),$(".edd-payment-id").val(),download_id=$('input[name="edd-payment-details-downloads['+key+'][id]"]').val(),price_id=$('input[name="edd-payment-details-downloads['+key+'][price_id]"]').val(),quantity=$('input[name="edd-payment-details-downloads['+key+'][quantity]"]').val(),amount=$('input[name="edd-payment-details-downloads['+key+'][amount]"]').val(),$('input[name="edd-payment-details-downloads['+key+'][tax]"]').length&&(fees=$('input[name="edd-payment-details-downloads['+key+'][tax]"]').val()),$('input[name="edd-payment-details-downloads['+key+'][fees]"]').length&&(fees=$.parseJSON($('input[name="edd-payment-details-downloads['+key+'][fees]"]').val())),currently_removed=$('input[name="edd-payment-removed"]').val(),(currently_removed=(currently_removed=$.parseJSON(currently_removed)).length<1?{}:currently_removed)[key]=[{id:download_id,price_id:price_id,quantity:quantity,amount:amount,cart_index:key}],$('input[name="edd-payment-removed"]').val(JSON.stringify(currently_removed)),$(this).parent().parent().remove(),fees&&fees.length&&$.each(fees,function(key,value){$('*li[data-fee-id="'+value+'"]').remove()}),$("#edd-payment-downloads-changed").val(1),$(".edd-order-payment-recalc-totals").show()),!1})},change_customer:function(){$("#edd-customer-details").on("click",".edd-payment-change-customer, .edd-payment-change-customer-cancel",function(cancel){cancel.preventDefault();var change_customer=$(this).hasClass("edd-payment-change-customer"),cancel=$(this).hasClass("edd-payment-change-customer-cancel");change_customer?($(".customer-info").hide(),$(".change-customer").show(),$(".edd-payment-change-customer-input").css("width","auto")):cancel&&($(".customer-info").show(),$(".change-customer").hide())})},new_customer:function(){$("#edd-customer-details").on("click",".edd-payment-new-customer, .edd-payment-new-customer-cancel",function(cancel){cancel.preventDefault();var new_customer=$(this).hasClass("edd-payment-new-customer"),cancel=$(this).hasClass("edd-payment-new-customer-cancel");new_customer?($(".customer-info").hide(),$(".new-customer").show()):cancel&&($(".customer-info").show(),$(".new-customer").hide());new_customer=$("#edd-new-customer");$(".new-customer").is(":visible")?new_customer.val(1):new_customer.val(0)})},add_download:function(){$(".edd-edit-purchase-element").on("click","#edd-order-add-download",function(download_title){download_title.preventDefault();var quantity=$("#edd_order_download_select"),item_price=$("#edd-order-download-quantity"),item_total=$("#edd-order-download-price"),price_id=$("#edd-order-download-tax"),clone=$(".edd_price_options_select option:selected"),download_id=quantity.val(),download_title=quantity.find(":selected").text(),quantity=item_price.val(),item_price=item_total.val(),item_total=price_id.val(),price_id=clone.val(),clone=clone.text();if(download_id<1)return!1;if(item_price=item_price||0,item_price=parseFloat(item_price),isNaN(item_price))return alert(edd_vars.numeric_item_price),!1;if(item_total=parseFloat(item_total),isNaN(item_total))return alert(edd_vars.numeric_item_tax),!1;if(isNaN(parseInt(quantity)))return alert(edd_vars.numeric_quantity),!1;clone&&(download_title=download_title+" - "+clone);var count=$("#edd-purchased-files div.row:not(.edd-purchased-files-header)").length;0==count&&alert(edd_vars.no_downloads_error);clone=$("#edd-purchased-files div.row:not(.edd-purchased-files-header):last").clone();clone.find(".download span").html('<a href="post.php?post='+download_id+'&action=edit"></a>'),clone.find(".download span a").text(download_title),clone.find(".edd-payment-details-download-item-price").val(item_price.toFixed(edd_vars.currency_decimals)),clone.find(".edd-payment-details-download-item-tax").val(item_total.toFixed(edd_vars.currency_decimals)),clone.find("input.edd-payment-details-download-id").val(download_id),clone.find("input.edd-payment-details-download-price-id").val(price_id);item_total=(item_total=item_price*quantity+item_total).toFixed(edd_vars.currency_decimals);clone.find("span.edd-payment-details-download-amount").text(item_total),clone.find("input.edd-payment-details-download-amount").val(item_total),clone.find("input.edd-payment-details-download-quantity").val(quantity),clone.find("input.edd-payment-details-download-has-log").val(0),clone.find(".edd-copy-download-link-wrapper").remove(),clone.find("input").each(function(){var name=(name=$(this).attr("name")).replace(/\[(\d+)\]/,"["+parseInt(count)+"]");$(this).attr("name",name).attr("id",name)}),clone.find("a.edd-order-remove-download").attr("data-key",parseInt(count)),$("#edd-payment-downloads-changed").val(1),$("#edd-purchased-files div.row .edd-purchased-download-title .deleted").length&&$("#edd-purchased-files div.row:last").remove(),$(clone).insertAfter("#edd-purchased-files div.row:last"),$(".edd-order-payment-recalc-totals").show(),$(".edd-add-download-field").val("")})},edit_price:function(){$(document.body).on("change keyup",".edd-payment-item-input",function(){var row=$(this).parents("ul.edd-purchased-files-list-wrapper");$(".edd-order-payment-recalc-totals").show();var quantity=row.find("input.edd-payment-details-download-quantity").val().replace(edd_vars.thousands_separator,""),item_price=row.find("input.edd-payment-details-download-item-price").val().replace(edd_vars.thousands_separator,""),item_total=row.find("input.edd-payment-details-download-item-tax").val().replace(edd_vars.thousands_separator,""),item_price=parseFloat(item_price);if(isNaN(item_price))return alert(edd_vars.numeric_item_price),!1;item_total=parseFloat(item_total),isNaN(item_total)&&(item_total=0);item_total=(item_total=item_price*(quantity=isNaN(parseInt(quantity))?1:quantity)+item_total).toFixed(edd_vars.currency_decimals);row.find("input.edd-payment-details-download-amount").val(item_total),row.find("span.edd-payment-details-download-amount").text(item_total)})},recalculate_total:function(){$("#edd-order-recalc-total").on("click",function(taxes){taxes.preventDefault();var total=0,tax=0,totals=$("#edd-purchased-files .row input.edd-payment-details-download-amount"),taxes=$("#edd-purchased-files .row input.edd-payment-details-download-item-tax");totals.length&&totals.each(function(){total+=parseFloat($(this).val())}),taxes.length&&taxes.each(function(){tax+=parseFloat($(this).val())}),$(".edd-payment-fees").length&&$(".edd-payment-fees span.fee-amount").each(function(){total+=parseFloat($(this).data("fee"))}),$("input[name=edd-payment-total]").val(total.toFixed(edd_vars.currency_decimals)),$("input[name=edd-payment-tax]").val(tax.toFixed(edd_vars.currency_decimals))})},variable_prices_check:function(){$(".edd-edit-purchase-element").on("change","select#edd_order_download_select",function(){var $this=$(this),download_id=$this.val();0<parseInt(download_id)&&$.ajax({type:"POST",data:{action:"edd_check_for_download_price_variations",download_id:download_id},url:ajaxurl,success:function(response){$(".edd_price_options_select").remove(),$(response).insertAfter($this.next())}}).fail(function(data){window.console&&window.console.log&&console.log(data)})})},add_note:function(){$("#edd-add-payment-note").on("click",function(postData){postData.preventDefault();var border_color,postData={action:"edd_insert_payment_note",payment_id:$(this).data("payment-id"),note:$("#edd-payment-note").val()};postData.note?$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){$("#edd-payment-notes-inner").append(response),$(".edd-no-payment-notes").hide(),$("#edd-payment-note").val("")}}).fail(function(data){window.console&&window.console.log&&console.log(data)}):(border_color=$("#edd-payment-note").css("border-color"),$("#edd-payment-note").css("border-color","red"),setTimeout(function(){$("#edd-payment-note").css("border-color",border_color)},500))})},remove_note:function(){$(document.body).on("click",".edd-delete-payment-note",function(e){if(e.preventDefault(),confirm(edd_vars.delete_payment_note)){var postData={action:"edd_delete_payment_note",payment_id:$(this).data("payment-id"),note_id:$(this).data("note-id")};return $.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){return $("#edd-payment-note-"+postData.note_id).remove(),$(".edd-payment-note").length||$(".edd-no-payment-notes").show(),!1}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!0}})},resend_receipt:function(){var emails_wrap=$(".edd-order-resend-receipt-addresses");$(document.body).on("click","#edd-select-receipt-email",function(e){e.preventDefault(),emails_wrap.slideDown()}),$(document.body).on("change",".edd-order-resend-receipt-email",function(){var href=$("#edd-select-receipt-email").prop("href")+"&email="+$(this).val();confirm(edd_vars.resend_receipt)&&(window.location=href)}),$(document.body).on("click","#edd-resend-receipt",function(e){return confirm(edd_vars.resend_receipt)})},copy_download_link:function(){$(document.body).on("click",".edd-copy-download-link",function(postData){postData.preventDefault();postData=$(this),postData={action:"edd_get_file_download_link",payment_id:$('input[name="edd_payment_id"]').val(),download_id:postData.data("download-id"),price_id:postData.data("price-id")};$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(link){return $("#edd-download-link").dialog({width:400}).html('<textarea rows="10" cols="40" id="edd-download-link-textarea">'+link+"</textarea>"),$("#edd-download-link-textarea").focus().select(),!1}}).fail(function(data){window.console&&window.console.log&&console.log(data)})})}}.init(),{init:function(){this.type_select(),this.product_requirements()},type_select:function(){$("#edd-edit-discount #edd-type, #edd-add-discount #edd-type").change(function(){var val=$(this).val();$(".edd-amount-description").hide(),$(".edd-amount-description."+val+"-discount").show()})},product_requirements:function(){$("#products").change(function(){var product_conditions=$("#edd-discount-product-conditions");$(this).val()?product_conditions.show():product_conditions.hide()})}}.init(),{init:function(){this.date_options(),this.customers_export()},date_options:function(){$("#edd-graphs-date-options").change(function(){var $this=$(this),date_range_options=$("#edd-date-range-options");"other"===$this.val()?date_range_options.show():date_range_options.hide()})},customers_export:function(){$("#edd_customer_export_download").change(function(){var price_options_select,$this=$(this),data=$("option:selected",$this).val(),customer_export_option=$("#edd_customer_export_option");"0"===$this.val()?customer_export_option.show():customer_export_option.hide(),0!=parseInt(data)?(data={action:"edd_check_for_download_price_variations",download_id:data,all_prices:!0},price_options_select=$(".edd_price_options_select"),$.post(ajaxurl,data,function(response){price_options_select.remove(),$("#edd_customer_export_download_chosen").after(response)})):price_options_select.remove()})}}.init(),{init:function(){this.general(),this.taxes(),this.emails(),this.misc()},general:function(){var file_frame,edd_settings_upload_button=$(".edd-color-picker");edd_settings_upload_button.length&&edd_settings_upload_button.wpColorPicker(),"undefined"==typeof wp||"1"!==edd_vars.new_media_ui?0<(edd_settings_upload_button=$(".edd_settings_upload_button")).length&&(window.formfield="",$(document.body).on("click",edd_settings_upload_button,function(e){e.preventDefault(),window.formfield=$(this).parent().prev(),window.tbframe_interval=setInterval(function(){jQuery("#TB_iframeContent").contents().find(".savesend .button").val(edd_vars.use_this_file).end().find("#insert-gallery, .wp-post-thumbnail").hide()},2e3),tb_show(edd_vars.add_new_download,"media-upload.php?TB_iframe=true")}),window.edd_send_to_editor=window.send_to_editor,window.send_to_editor=function(html){window.formfield?(imgurl=$("a","<div>"+html+"</div>").attr("href"),window.formfield.val(imgurl),window.clearInterval(window.tbframe_interval),tb_remove()):window.edd_send_to_editor(html),window.send_to_editor=window.edd_send_to_editor,window.formfield="",window.imagefield=!1}):(window.formfield="",$(document.body).on("click",".edd_settings_upload_button",function(button){button.preventDefault();button=$(this);window.formfield=$(this).parent().prev(),file_frame||((file_frame=wp.media.frames.file_frame=wp.media({frame:"post",state:"insert",title:button.data("uploader_title"),button:{text:button.data("uploader_button_text")},multiple:!1})).on("menu:render:default",function(view){view.unset("library-separator"),view.unset("gallery"),view.unset("featured-image"),view.unset("embed"),view.set({})}),file_frame.on("insert",function(){file_frame.state().get("selection").each(function(attachment,index){attachment=attachment.toJSON(),window.formfield.val(attachment.url)})})),file_frame.open()}),window.formfield="")},taxes:function(){var no_states=$("select.edd-no-states");no_states.length&&no_states.closest("tr").addClass("hidden"),$('select[name="edd_settings[base_country]"]').change(function(){var data=$(this),$tr=data.closest("tr"),data={action:"edd_get_shop_states",country:data.val(),nonce:data.data("nonce"),field_name:"edd_settings[base_state]"};return $.post(ajaxurl,data,function(response){"nostates"==response?$tr.next().addClass("hidden"):($tr.next().removeClass("hidden"),$tr.next().find("select").replaceWith(response))}),!1}),$(document.body).on("change","#edd_tax_rates select.edd-tax-country",function(){var $this=$(this),data={action:"edd_get_shop_states",country:$this.val(),nonce:$this.data("nonce"),field_name:$this.attr("name").replace("country","state")};return $.post(ajaxurl,data,function(response){var text_field;"nostates"==response?(text_field='<input type="text" name="'+data.field_name+'" value=""/>',$this.parent().next().find("select").replaceWith(text_field)):($this.parent().next().find("input,select").show(),$this.parent().next().find("input,select").replaceWith(response))}),!1}),$("#edd_add_tax_rate").on("click",function(){var row=$("#edd_tax_rates tr:last"),clone=row.clone(),count=row.parent().find("tr").length;return clone.find("td input").not(":input[type=checkbox]").val(""),clone.find('td [type="checkbox"]').attr("checked",!1),clone.find("input, select").each(function(){var name=(name=$(this).attr("name")).replace(/\[(\d+)\]/,"["+parseInt(count)+"]");$(this).attr("name",name).attr("id",name)}),clone.find("label").each(function(){var name=(name=$(this).attr("for")).replace(/\[(\d+)\]/,"["+parseInt(count)+"]");$(this).attr("for",name)}),clone.insertAfter(row),!1}),$(document.body).on("click","#edd_tax_rates .edd_remove_tax_rate",function(){return confirm(edd_vars.delete_tax_rate)&&(2===$("#edd_tax_rates tr:visible").length?($("#edd_tax_rates select").val(""),$('#edd_tax_rates input[type="text"]').val(""),$('#edd_tax_rates input[type="number"]').val(""),$('#edd_tax_rates input[type="checkbox"]').attr("checked",!1)):$(this).closest("tr").remove(),$("#edd_tax_rates tr").each(function(rowIndex){$(this).children().find("input, select").each(function(){var name=(name=$(this).attr("name")).replace(/\[(\d+)\]/,"["+(rowIndex-1)+"]");$(this).attr("name",name).attr("id",name)})})),!1})},emails:function(){$("#edd-sendwp-connect").on("click",function(e){e.preventDefault(),$(this).html(edd_vars.wait+' <span class="edd-loading"></span>'),document.body.style.cursor="wait",easy_digital_downloads_sendwp_remote_install()}),$("#edd-sendwp-disconnect").on("click",function(e){e.preventDefault(),$(this).html(edd_vars.wait+' <span class="edd-loading dark"></span>'),document.body.style.cursor="wait",easy_digital_downloads_sendwp_disconnect()}),$("#edd-recapture-connect").on("click",function(e){e.preventDefault(),$(this).html(edd_vars.wait+' <span class="edd-loading"></span>'),document.body.style.cursor="wait",easy_digital_downloads_recapture_remote_install()})},misc:function(){var downloadMethod=$('select[name="edd_settings[download_method]"]'),symlink=downloadMethod.parent().parent().next();"direct"==downloadMethod.val()&&(symlink.hide(),symlink.find("input").prop("checked",!1)),downloadMethod.on("change",function(){"direct"==$(this).val()?(symlink.hide(),symlink.find("input").prop("checked",!1)):symlink.show()})}}.init(),$(".download_page_edd-payment-history .row-actions .delete a, a.edd-delete-payment").on("click",function(){return!!confirm(edd_vars.delete_payment)}),$("body").on("click","#the-list .editinline",function(){var post_id=(post_id=$(this).closest("tr").attr("id")).replace("post-",""),regprice=$("#post-"+post_id).find(".column-price .downloadprice-"+post_id).val();regprice!=$("#post-"+post_id+".column-price .downloadprice-"+post_id).val()?$(".regprice","#edd-download-data").val(regprice).attr("disabled",!1):$(".regprice","#edd-download-data").val(edd_vars.quick_edit_warning).attr("disabled","disabled")}),$(document.body).on("click","#bulk_edit",function(){var $price=$("#bulk-edit"),$post_ids=new Array;$price.find("#bulk-titles").children().each(function(){$post_ids.push($(this).attr("id").replace(/^(ttle)/i,""))});$price=$('#edd-download-data input[name="_edd_regprice"]').val();$.post(ajaxurl,{action:"edd_save_bulk_edit",edd_bulk_nonce:$post_ids,post_ids:$post_ids,price:$price})}),$(".edd-select-chosen").chosen({inherit_select_classes:!0,placeholder_text_single:edd_vars.one_option,placeholder_text_multiple:edd_vars.one_or_more_option}),$(".edd-select-chosen .chosen-search input").each(function(){var placeholder=$(this).parent().parent().parent().prev("select.edd-select-chosen"),placeholder=(placeholder.data("search-type"),placeholder.data("search-placeholder"));$(this).attr("placeholder",placeholder)}),$(".chosen-choices").on("click",function(){var placeholder=$(this).parent().prev().data("search-placeholder");void 0===placeholder&&(placeholder=edd_vars.type_to_search),$(this).children("li").children("input").attr("placeholder",placeholder)});$(document.body).on("keyup",".edd-select.chosen-container .chosen-search input, .edd-select.chosen-container .search-field input",function(lastKey){var val=$(this).val(),container=$(this).closest(".edd-select-chosen"),select=(container.attr("id").replace("_chosen",""),container.prev()),no_bundles=container.hasClass("no-bundles"),variations=container.hasClass("variations"),lastKey=lastKey.which,search_type="edd_download_search";if(container.prev().data("search-type")){if("no_ajax"==select.data("search-type"))return;search_type="edd_"+select.data("search-type")+"_search"}val.length<=3&&"edd_download_search"==search_type||16==lastKey||13==lastKey||91==lastKey||17==lastKey||37==lastKey||38==lastKey||39==lastKey||40==lastKey||(clearTimeout(typingTimer),typingTimer=setTimeout(function(){$.ajax({type:"GET",url:ajaxurl,data:{action:search_type,s:val,no_bundles:no_bundles,variations:variations},dataType:"json",beforeSend:function(){select.closest("ul.chosen-results").empty()},success:function(data){$("option:not(:selected)",select).remove(),$.each(data,function(key,item){$('option[value="'+item.id+'"]',select).length||select.prepend('<option value="'+item.id+'">'+item.name+"</option>")}),$(".edd-select-chosen").trigger("chosen:updated"),select.next().find("input").val(val)}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){})},342))}),$("#post").on("click",".edd-thickbox",function(){$(".edd-select-chosen","#choose-download").css("width","100%")}),{init:function(){this.revoke_api_key(),this.regenerate_api_key(),this.create_api_key(),this.recount_stats()},revoke_api_key:function(){$(document.body).on("click",".edd-revoke-api-key",function(e){return confirm(edd_vars.revoke_api_key)})},regenerate_api_key:function(){$(document.body).on("click",".edd-regenerate-api-key",function(e){return confirm(edd_vars.regenerate_api_key)})},create_api_key:function(){$(document.body).on("submit","#api-key-generate-form",function(e){var input=$('input[type="text"][name="user_id"]');input.css("border-color","#ddd");var user_id=input.val();if(user_id.length<1||0==user_id)return input.css("border-color","#ff0000"),!1})},recount_stats:function(){$(document.body).on("change","#recount-stats-type",function(){var export_form=$("#edd-tools-recount-form"),selected_type=$("option:selected",this).data("type"),submit_button=$("#recount-stats-submit"),products=$("#tools-product-dropdown");export_form.find(".notice-wrap").remove(),submit_button.removeClass("button-disabled").attr("disabled",!1),products.hide(),$(".edd-recount-stats-descriptions span").hide(),"recount-download"===selected_type?(products.show(),products.find(".edd-select-chosen").css("width","auto")):"reset-stats"===selected_type?(export_form.append('<div class="notice-wrap"></div>'),export_form.find(".notice-wrap").html('<div class="notice notice-warning"><p><input type="checkbox" id="confirm-reset" name="confirm_reset_store" value="1" /> <label for="confirm-reset">'+edd_vars.reset_stats_warn+"</label></p></div>"),$("#recount-stats-submit").addClass("button-disabled").attr("disabled","disabled")):(products.hide(),products.val(0)),$("#"+selected_type).show()}),$(document.body).on("change","#confirm-reset",function(){$(this).is(":checked")?$("#recount-stats-submit").removeClass("button-disabled").removeAttr("disabled"):$("#recount-stats-submit").addClass("button-disabled").attr("disabled","disabled")}),$("#edd-tools-recount-form").submit(function(e){var selection=$("#recount-stats-type").val(),export_form=$(this),selected_type=$("option:selected",this).data("type");if("reset-stats"===selected_type){if($("#confirm-reset").is(":checked"))return!0;has_errors=!0}export_form.find(".notice-wrap").remove(),export_form.append('<div class="notice-wrap"></div>');var notice_wrap=export_form.find(".notice-wrap"),has_errors=!1;if(null!==selection&&0!==selection||(notice_wrap.html('<div class="updated error"><p>'+edd_vars.batch_export_no_class+"</p></div>"),has_errors=!0),"recount-download"===selected_type&&0==$('select[name="download_id"]').val()&&(notice_wrap.html('<div class="updated error"><p>'+edd_vars.batch_export_no_reqs+"</p></div>"),has_errors=!0),has_errors)return export_form.find(".button-disabled").removeClass("button-disabled"),!1})}}.init(),{init:function(){this.submit(),this.dismiss_message()},submit:function(){var self=this;$(document.body).on("submit",".edd-export-form",function(data){data.preventDefault();var submitButton=$(this).find('input[type="submit"]');submitButton.hasClass("button-disabled")||(data=$(this).serialize(),submitButton.addClass("button-disabled"),$(this).find(".notice-wrap").remove(),$(this).append('<div class="notice-wrap"><span class="spinner is-active"></span><div class="edd-progress"><div></div></div></div>'),self.process_step(1,data,self))})},process_step:function(step,data,self){$.ajax({type:"POST",url:ajaxurl,data:{form:data,action:"edd_do_ajax_export",step:step},dataType:"json",success:function(response){var export_form,notice_wrap,success_message;"done"==response.step||response.error||response.success?(notice_wrap=(export_form=$(".edd-export-form").find(".edd-progress").parent().parent()).find(".notice-wrap"),export_form.find(".button-disabled").removeClass("button-disabled"),response.error?(success_message=response.message,notice_wrap.html('<div class="updated error"><p>'+success_message+"</p></div>")):response.success?(success_message=response.message,notice_wrap.html('<div id="edd-batch-success" class="updated notice is-dismissible"><p>'+success_message+'<span class="notice-dismiss"></span></p></div>')):(notice_wrap.remove(),window.location=response.url)):($(".edd-progress div").animate({width:response.percentage+"%"},50,function(){}),self.process_step(parseInt(response.step),data,self))}}).fail(function(response){window.console&&window.console.log&&console.log(response)})},dismiss_message:function(){$(document.body).on("click","#edd-batch-success .notice-dismiss",function(){$("#edd-batch-success").parent().slideUp("fast")})}}.init();var EDD_Import={init:function(){this.submit()},submit:function(){$(".edd-import-form").ajaxForm({beforeSubmit:this.before_submit,success:this.success,complete:this.complete,dataType:"json",error:this.error})},before_submit:function(arr,notice_wrap,options){if(notice_wrap.find(".notice-wrap").remove(),notice_wrap.append('<div class="notice-wrap"><span class="spinner is-active"></span><div class="edd-progress"><div></div></div></div>'),!(window.File&&window.FileReader&&window.FileList&&window.Blob)){var import_form=$(".edd-import-form").find(".edd-progress").parent().parent(),notice_wrap=import_form.find(".notice-wrap");return import_form.find(".button-disabled").removeClass("button-disabled"),notice_wrap.html('<div class="update error"><p>'+edd_vars.unsupported_browser+"</p></div>"),!1}},success:function(responseText,statusText,xhr,$form){},complete:function(xhr){var $form,select,options,columns,response=jQuery.parseJSON(xhr.responseText);response.success?(($form=$(".edd-import-form .notice-wrap").parent()).find(".edd-import-file-wrap,.notice-wrap").remove(),$form.find(".edd-import-options").slideDown(),(select=$form.find("select.edd-import-csv-column")).parents("tr").first(),options="",columns=response.data.columns.sort(function(a,b){return a<b?-1:b<a?1:0}),$.each(columns,function(key,value){options+='<option value="'+value+'">'+value+"</option>"}),select.append(options),select.on("change",function(){var $key=$(this).val();$key&&0!=response.data.first_row[$key]?$(this).parent().next().html(response.data.first_row[$key]):$(this).parent().next().html("")}),$.each(select,function(){$(this).val($(this).attr("data-field")).change()}),$(document.body).on("click",".edd-import-proceed",function(e){e.preventDefault(),$form.append('<div class="notice-wrap"><span class="spinner is-active"></span><div class="edd-progress"><div></div></div></div>'),response.data.mapping=$form.serialize(),EDD_Import.process_step(1,response.data,self)})):EDD_Import.error(xhr)},error:function(notice_wrap){var response=jQuery.parseJSON(notice_wrap.responseText),import_form=$(".edd-import-form").find(".edd-progress").parent().parent(),notice_wrap=import_form.find(".notice-wrap");import_form.find(".button-disabled").removeClass("button-disabled"),response.data.error?notice_wrap.html('<div class="update error"><p>'+response.data.error+"</p></div>"):notice_wrap.remove()},process_step:function(step,import_data,self){$.ajax({type:"POST",url:ajaxurl,data:{form:import_data.form,nonce:import_data.nonce,class:import_data.class,upload:import_data.upload,mapping:import_data.mapping,action:"edd_do_ajax_import",step:step},dataType:"json",success:function(response){var import_form,notice_wrap;"done"==response.data.step||response.data.error?(notice_wrap=(import_form=$(".edd-import-form").find(".edd-progress").parent().parent()).find(".notice-wrap"),import_form.find(".button-disabled").removeClass("button-disabled"),response.data.error?notice_wrap.html('<div class="update error"><p>'+response.data.error+"</p></div>"):(import_form.find(".edd-import-options").hide(),$("html, body").animate({scrollTop:import_form.parent().offset().top},500),notice_wrap.html('<div class="updated"><p>'+response.data.message+"</p></div>"))):($(".edd-progress div").animate({width:response.data.percentage+"%"},50,function(){}),EDD_Import.process_step(parseInt(response.data.step),import_data,self))}}).fail(function(response){window.console&&window.console.log&&console.log(response)})}};EDD_Import.init();var EDD_Customer={vars:{customer_card_wrap_editable:$(".edd-customer-card-wrapper .editable"),customer_card_wrap_edit_item:$(".edd-customer-card-wrapper .edit-item"),user_id:$('input[name="customerinfo[user_id]"]'),state_input:$(':input[name="customerinfo[state]"]'),note:$("#customer-note")},init:function(){this.edit_customer(),this.add_email(),this.user_search(),this.remove_user(),this.cancel_edit(),this.change_country(),this.add_note(),this.delete_checked()},edit_customer:function(){$(document.body).on("click","#edit-customer",function(e){e.preventDefault(),EDD_Customer.vars.customer_card_wrap_editable.hide(),EDD_Customer.vars.customer_card_wrap_edit_item.fadeIn().css("display","block")})},add_email:function(){$(document.body).on("click","#add-customer-email",function(nonce){nonce.preventDefault();var button=$(this),wrapper=button.parent();wrapper.parent().find(".notice-container").remove(),wrapper.find(".spinner").css("visibility","visible"),button.attr("disabled",!0);var customer_id=wrapper.find('input[name="customer-id"]').val(),email=wrapper.find('input[name="additional-email"]').val(),primary=wrapper.find('input[name="make-additional-primary"]').is(":checked"),nonce=wrapper.find('input[name="add_email_nonce"]').val();$.post(ajaxurl,{edd_action:"customer-add-email",customer_id:customer_id,email:email,primary:primary,_wpnonce:nonce},function(response){!0===response.success?window.location.href=response.redirect:(button.attr("disabled",!1),wrapper.after('<div class="notice-container"><div class="notice notice-error inline"><p>'+response.message+"</p></div></div>"),wrapper.find(".spinner").css("visibility","hidden"))},"json")})},user_search:function(){$(document.body).on("click.eddSelectUser",".edd_user_search_results a",function(user_id){user_id.preventDefault();user_id=$(this).data("userid");EDD_Customer.vars.user_id.val(user_id)})},remove_user:function(){$(document.body).on("click","#disconnect-customer",function(postData){postData.preventDefault(),confirm(edd_vars.disconnect_customer)&&(postData={edd_action:"disconnect-userid",customer_id:$('input[name="customerinfo[id]"]').val(),_wpnonce:$("#edit-customer-info #_wpnonce").val()},$.post(ajaxurl,postData,function(response){window.location.href=window.location.href},"json"))})},cancel_edit:function(){$(document.body).on("click","#edd-edit-customer-cancel",function(e){e.preventDefault(),EDD_Customer.vars.customer_card_wrap_edit_item.hide(),EDD_Customer.vars.customer_card_wrap_editable.show(),$(".edd_user_search_results").html("")})},change_country:function(){$('select[name="customerinfo[country]"]').change(function(){var $this=$(this),data={action:"edd_get_shop_states",country:$this.val(),nonce:$this.data("nonce"),field_name:"customerinfo[state]"};return $.post(ajaxurl,data,function(response){"nostates"==response?EDD_Customer.vars.state_input.replaceWith('<input type="text" name="'+data.field_name+'" value="" class="edd-edit-toggles medium-text"/>'):EDD_Customer.vars.state_input.replaceWith(response)}),!1})},add_note:function(){$(document.body).on("click","#add-customer-note",function(postData){postData.preventDefault();var border_color,postData={edd_action:"add-customer-note",customer_id:$("#customer-id").val(),customer_note:EDD_Customer.vars.note.val(),add_customer_note_nonce:$("#add_customer_note_nonce").val()};postData.customer_note?$.ajax({type:"POST",data:postData,url:ajaxurl,success:function(response){$("#edd-customer-notes").prepend(response),$(".edd-no-customer-notes").hide(),EDD_Customer.vars.note.val("")}}).fail(function(data){window.console&&window.console.log&&console.log(data)}):(border_color=EDD_Customer.vars.note.css("border-color"),EDD_Customer.vars.note.css("border-color","red"),setTimeout(function(){EDD_Customer.vars.note.css("border-color",border_color)},500))})},delete_checked:function(){$("#edd-customer-delete-confirm").change(function(){var records_input=$("#edd-customer-delete-records"),submit_button=$("#edd-delete-customer");$(this).prop("checked")?(records_input.attr("disabled",!1),submit_button.attr("disabled",!1)):(records_input.attr("disabled",!0),records_input.prop("checked",!1),submit_button.attr("disabled",!0))})}};EDD_Customer.init();var EDD_Promo_Notices={init:function(){EDD_Promo_Notices.displayNotices(),EDD_Promo_Notices.dismissNotices()},displayNotices:function(){var topOfPageNoticeEl,topOfPageNotice=$(".edd-admin-notice-top-of-page");topOfPageNotice&&(topOfPageNoticeEl=topOfPageNotice.detach(),$("#wpbody-content").prepend(topOfPageNoticeEl),topOfPageNotice.delay(1e3).slideDown())},dismissNotices:function(){$(".edd-promo-notice").each(function(){var notice=$(this);notice.on("click",".edd-promo-notice-dismiss",function(e){e.preventDefault(),$.ajax({type:"POST",data:{action:"edd_dismiss_promo_notice",notice_id:notice.data("id"),nonce:notice.data("nonce"),lifespan:notice.data("lifespan")},url:ajaxurl,success:function(response){notice.slideUp()}})})})}};EDD_Promo_Notices.init(),$(".edd-ajax-user-search").keyup(function(){var user_search=$(this).val(),data="";$(this).data("exclude")&&(data=$(this).data("exclude")),$(".edd-ajax").show();data={action:"edd_search_users",user_name:user_search,exclude:data};document.body.style.cursor="wait",$.ajax({type:"POST",data:data,dataType:"json",url:ajaxurl,success:function(search_response){$(".edd-ajax").hide(),$(".edd_user_search_results").removeClass("hidden"),$(".edd_user_search_results span").html(""),$(search_response.results).appendTo(".edd_user_search_results span"),document.body.style.cursor="default"}})}),$(document.body).on("click.eddSelectUser",".edd_user_search_results span a",function(login){login.preventDefault();login=$(this).data("login");$(".edd-ajax-user-search").val(login),$(".edd_user_search_results").addClass("hidden"),$(".edd_user_search_results span").html("")}),$(document.body).on("click.eddCancelUserSearch",".edd_user_search_results a.edd-ajax-user-cancel",function(e){e.preventDefault(),$(".edd-ajax-user-search").val(""),$(".edd_user_search_results").addClass("hidden"),$(".edd_user_search_results span").html("")}),$("#edd_dashboard_sales").length&&$.ajax({type:"GET",data:{action:"edd_load_dashboard_widget"},url:ajaxurl,success:function(response){$("#edd_dashboard_sales .inside").html(response)}}),$(document.body).on("keydown",".customer-note-input",function(e){13==e.keyCode&&(e.metaKey||e.ctrlKey)&&$("#add-customer-note").click()})});var eddFormatCurrency=function(decimalPlaces){var numeric=parseFloat(decimalPlaces),storeCurrency=edd_vars.currency,decimalPlaces=edd_vars.currency_decimals;return numeric.toLocaleString(storeCurrency,{style:"currency",currency:storeCurrency,minimumFractionDigits:decimalPlaces,maximumFractionDigits:decimalPlaces})},eddFormatNumber=function(storeCurrency){var numeric=parseFloat(storeCurrency),storeCurrency=edd_vars.currency;edd_vars.currency_decimals;return numeric.toLocaleString(storeCurrency,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0})},eddLabelFormatter=function(label,series){return'<div style="font-size:12px; text-align:center; padding:2px">'+label+"</div>"},eddLegendFormatterSales=function(item,series){var slug=item.toLowerCase().replace(/\s/g,"-"),color='<div class="edd-legend-color" style="background-color: '+series.color+'"></div>',item='<div class="edd-pie-legend-item">'+item+": "+Math.round(series.percent)+"% ("+eddFormatNumber(series.data[0][1])+")</div>",item='<div id="'+series.edd_vars.id+slug+'" class="edd-legend-item-wrapper">'+color+item+"</div>";return jQuery("#edd-pie-legend-"+series.edd_vars.id).append(item),item},eddLegendFormatterEarnings=function(item,series){var slug=item.toLowerCase().replace(/\s/g,"-"),color='<div class="edd-legend-color" style="background-color: '+series.color+'"></div>',item='<div class="edd-pie-legend-item">'+item+": "+Math.round(series.percent)+"% ("+eddFormatCurrency(series.data[0][1])+")</div>",item='<div id="'+series.edd_vars.id+slug+'" class="edd-legend-item-wrapper">'+color+item+"</div>";return jQuery("#edd-pie-legend-"+series.edd_vars.id).append(item),item};function edd_attach_tooltips(selector){selector.tooltip({content:function(){return jQuery(this).prop("title")},tooltipClass:"edd-ui-tooltip",position:{my:"center top",at:"center bottom+10",collision:"flipfit"},hide:{duration:200},show:{duration:200}})}function easy_digital_downloads_sendwp_remote_install(){jQuery.post(ajaxurl,{action:"edd_sendwp_remote_install"},function(response){response.success||!confirm(response.data.error)?easy_digital_downloads_sendwp_register_client(response.data.register_url,response.data.client_name,response.data.client_secret,response.data.client_redirect,response.data.partner_id):location.reload()})}function easy_digital_downloads_sendwp_disconnect(){jQuery.post(ajaxurl,{action:"edd_sendwp_disconnect"},function(response){location.reload()})}function easy_digital_downloads_sendwp_register_client(register_url,client_name,client_secret,client_redirect,partner_id){var form=document.createElement("form");function easy_digital_downloads_sendwp_append_form_input(name,value){var input=document.createElement("input");input.setAttribute("type","hidden"),input.setAttribute("name",name),input.setAttribute("value",value),form.appendChild(input)}form.setAttribute("method","POST"),form.setAttribute("action",register_url),easy_digital_downloads_sendwp_append_form_input("client_name",client_name),easy_digital_downloads_sendwp_append_form_input("client_secret",client_secret),easy_digital_downloads_sendwp_append_form_input("client_redirect",client_redirect),easy_digital_downloads_sendwp_append_form_input("partner_id",partner_id),document.body.appendChild(form),form.submit()}function easy_digital_downloads_recapture_remote_install(){jQuery.post(ajaxurl,{action:"edd_recapture_remote_install"},function(response){0==response.success&&confirm(response.data.error)?location.reload():window.location.href="https://recapture.io/register"})}
assets/js/edd-ajax.js CHANGED
@@ -399,10 +399,8 @@ jQuery(document).ready(function ($) {
399
 
400
  e.preventDefault();
401
 
402
- var submitButton = document.getElementById( $( this ).attr( 'id' ) );
403
-
404
  var complete_purchase_val = $(this).val();
405
- submitButton.setAttribute( 'data-original-value', complete_purchase_val );
406
 
407
  $(this).val(edd_global_vars.purchase_loading);
408
 
399
 
400
  e.preventDefault();
401
 
 
 
402
  var complete_purchase_val = $(this).val();
403
+ $(this).attr('data-original-value', complete_purchase_val);
404
 
405
  $(this).val(edd_global_vars.purchase_loading);
406
 
assets/js/edd-ajax.min.js CHANGED
@@ -1 +1 @@
1
- var edd_scripts;function edd_load_gateway(payment_mode){jQuery(".edd-cart-ajax").show(),jQuery("#edd_purchase_form_wrap").html('<span class="edd-loading-ajax edd-loading"></span>');var nonce=jQuery("#edd-gateway-"+payment_mode).data(payment_mode+"-nonce"),url=edd_scripts.ajaxurl;0<url.indexOf("?")?url+="&":url+="?",url=url+"payment-mode="+payment_mode,jQuery.post(url,{action:"edd_load_gateway",edd_payment_mode:payment_mode,nonce:nonce},function(response){jQuery("#edd_purchase_form_wrap").html(response),jQuery(".edd-no-js").hide(),jQuery("body").trigger("edd_gateway_loaded",[payment_mode])})}jQuery(document).ready(function($){if($(".edd-no-js").hide(),$("a.edd-add-to-cart").addClass("edd-has-js"),$(document.body).on("click.eddRemoveFromCart",".edd-remove-from-cart",function(event){var $this=$(this),item=$this.data("cart-item"),action=$this.data("action"),id=$this.data("download-id"),nonce=$this.data("nonce"),data={action:action,cart_item:item,nonce:nonce};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){if(response.removed){if(parseInt(edd_scripts.position_in_cart,10)===parseInt(item,10)||edd_scripts.has_purchase_links)return window.location=window.location,!1;$(".edd-cart").each(function(){$(this).find("[data-cart-item='"+item+"']").parent().remove()}),$(".edd-cart").each(function(){var cart_item_counter=0;$(this).find("[data-cart-item]").each(function(){$(this).attr("data-cart-item",cart_item_counter),cart_item_counter+=1})}),$("[id^=edd_purchase_"+id+"]").length&&($("[id^=edd_purchase_"+id+"] .edd_go_to_checkout").hide(),$("[id^=edd_purchase_"+id+"] a.edd-add-to-cart").show().removeAttr("data-edd-loading"),"1"==edd_scripts.quantities_enabled&&$("[id^=edd_purchase_"+id+"] .edd_download_quantity_wrapper").show()),$("span.edd-cart-quantity").text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity]),edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal span").html(response.subtotal),$(".cart_item.edd_cart_tax span").html(response.tax)),$(".cart_item.edd_total span").html(response.total),0==response.cart_quantity&&($(".cart_item.edd_subtotal,.edd-cart-number-of-items,.cart_item.edd_checkout,.cart_item.edd_cart_tax,.cart_item.edd_total").hide(),$(".edd-cart").each(function(){var cart_wrapper=$(this).parent();cart_wrapper.length&&(cart_wrapper.addClass("cart-empty"),cart_wrapper.removeClass("cart-not-empty")),$(this).append('<li class="cart_item empty">'+edd_scripts.empty_cart_message+"</li>")})),$(document.body).trigger("edd_cart_item_removed",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$(document.body).on("click.eddAddToCart",".edd-add-to-cart",function(e){e.preventDefault();var $this=$(this),form=$this.closest("form");$this.prop("disabled",!0);$this.find(".edd-loading");var container=$this.closest("div");$this.attr("data-edd-loading","");form=$this.parents("form").last();var download=$this.data("download-id"),variable_price=$this.data("variable-price"),price_mode=$this.data("price-mode"),nonce=$this.data("nonce"),item_price_ids=[],free_items=!0;if("yes"==variable_price)if(0<form.find(".edd_price_option_"+download+'[type="hidden"]').length)item_price_ids[0]=$(".edd_price_option_"+download,form).val(),form.find(".edd-submit").data("price")&&0<form.find(".edd-submit").data("price")&&(free_items=!1);else{if(!form.find(".edd_price_option_"+download+":checked",form).length)return $this.removeAttr("data-edd-loading"),alert(edd_scripts.select_option),e.stopPropagation(),$this.prop("disabled",!1),!1;form.find(".edd_price_option_"+download+":checked",form).each(function(index){if(item_price_ids[index]=$(this).val(),!0===free_items){var item_price=$(this).data("price");item_price&&0<item_price&&(free_items=!1)}})}else item_price_ids[0]=download,$this.data("price")&&0<$this.data("price")&&(free_items=!1);if(free_items&&form.find(".edd_action_input").val("add_to_cart"),"straight_to_gateway"==form.find(".edd_action_input").val())return form.submit(),!0;var data={action:$this.data("action"),download_id:download,price_ids:item_price_ids,post_data:$(form).serialize(),nonce:nonce,timestamp:$this.data("timestamp"),token:$this.data("token")};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){var store_redirect="1"==edd_scripts.redirect_to_checkout,item_redirect="1"==form.find("#edd_redirect_to_checkout").val();if(store_redirect&&item_redirect||!store_redirect&&item_redirect)window.location=edd_scripts.checkout_page;else{"1"===edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal").show(),$(".cart_item.edd_cart_tax").show()),$(".cart_item.edd_total").show(),$(".cart_item.edd_checkout").show(),$(".cart_item.empty").length&&$(".cart_item.empty").hide(),$(".widget_edd_cart_widget .edd-cart").each(function(cart){var target=$(this).find(".edd-cart-meta:first");$(response.cart_item).insertBefore(target);var cart_wrapper=$(this).parent();cart_wrapper.length&&(cart_wrapper.addClass("cart-not-empty"),cart_wrapper.removeClass("cart-empty"))}),"1"===edd_scripts.taxes_enabled&&($(".edd-cart-meta.edd_subtotal span").html(response.subtotal),$(".edd-cart-meta.edd_cart_tax span").html(response.tax)),$(".edd-cart-meta.edd_total span").html(response.total);$(".edd-cart-item-title",response.cart_item).length;if($("span.edd-cart-quantity").each(function(){$(this).text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity])}),"none"==$(".edd-cart-number-of-items").css("display")&&$(".edd-cart-number-of-items").show("slow"),"no"!=variable_price&&"multi"==price_mode||($("a.edd-add-to-cart",container).toggle(),$(".edd_go_to_checkout",container).css("display","inline-block")),"multi"==price_mode&&$this.removeAttr("data-edd-loading"),$(".edd_download_purchase_form").length&&("no"==variable_price||!form.find(".edd_price_option_"+download).is("input:hidden"))){var parent_form=$('.edd_download_purchase_form *[data-download-id="'+download+'"]').parents("form");$("a.edd-add-to-cart",parent_form).hide(),"multi"!=price_mode&&parent_form.find(".edd_download_quantity_wrapper").slideUp(),$(".edd_go_to_checkout",parent_form).show().removeAttr("data-edd-loading")}"incart"!=response&&($(".edd-cart-added-alert",container).fadeIn(),setTimeout(function(){$(".edd-cart-added-alert",container).fadeOut()},3e3)),$this.prop("disabled",!1),$(document.body).trigger("edd_cart_item_added",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$("#edd_checkout_form_wrap").on("click",".edd_checkout_register_login",function(){var $this=$(this),data={action:$this.data("action"),nonce:$this.data("nonce")};return $(".edd-cart-ajax").show(),$.post(edd_scripts.ajaxurl,data,function(checkout_response){$("#edd_checkout_login_register").html(edd_scripts.loading),$("#edd_checkout_login_register").html(checkout_response),$(".edd-cart-ajax").hide()}),!1}),$(document).on("click","#edd_purchase_form #edd_login_fields input[type=submit]",function(e){e.preventDefault();var complete_purchase_val=$(this).val();$(this).val(edd_global_vars.purchase_loading),$(this).after('<span class="edd-loading-ajax edd-loading"></span>');var data={action:"edd_process_checkout_login",edd_ajax:1,edd_user_login:$("#edd_login_fields #edd_user_login").val(),edd_user_pass:$("#edd_login_fields #edd_user_pass").val(),edd_login_nonce:$("#edd_login_nonce").val()};$.post(edd_global_vars.ajaxurl,data,function(data){"success"==$.trim(data)?($(".edd_errors").remove(),window.location=edd_scripts.checkout_page):($("#edd_login_fields input[type=submit]").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$("#edd-user-login-submit").before(data))})}),$(document).on("change","select#edd-gateway, input.edd-gateway",function(e){var payment_mode=$("#edd-gateway option:selected, input.edd-gateway:checked").val();return"0"==payment_mode||edd_load_gateway(payment_mode),!1}),"1"==edd_scripts.is_checkout){var chosen_gateway=!1,ajax_needed=!1;$("select#edd-gateway, input.edd-gateway").length&&(chosen_gateway=$("meta[name='edd-chosen-gateway']").attr("content"),ajax_needed=!0),chosen_gateway||(chosen_gateway=edd_scripts.default_gateway),ajax_needed?setTimeout(function(){edd_load_gateway(chosen_gateway)},200):$("body").trigger("edd_gateway_loaded",[chosen_gateway])}$(document).on("click","#edd_purchase_form #edd_purchase_submit [type=submit]",function(e){var eddPurchaseform=document.getElementById("edd_purchase_form");if("function"!=typeof eddPurchaseform.checkValidity||!1!==eddPurchaseform.checkValidity()){e.preventDefault();var submitButton=document.getElementById($(this).attr("id")),complete_purchase_val=$(this).val();submitButton.setAttribute("data-original-value",complete_purchase_val),$(this).val(edd_global_vars.purchase_loading),$(this).prop("disabled",!0),$(this).after('<span class="edd-loading-ajax edd-loading"></span>'),$.post(edd_global_vars.ajaxurl,$("#edd_purchase_form").serialize()+"&action=edd_process_checkout&edd_ajax=true",function(data){"success"==$.trim(data)?($(".edd_errors").remove(),$(".edd-error").hide(),$(eddPurchaseform).submit()):($("#edd-purchase-button").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$(".edd-error").hide(),$(edd_global_vars.checkout_error_anchor).before(data),$("#edd-purchase-button").prop("disabled",!1),$(document.body).trigger("edd_checkout_error",[data]))})}}),$(document.body).on("change","#edd_cc_address input.card_state, #edd_cc_address select, #edd_address_country",function(){var $form,$this=$(this),is_checkout="undefined"!=typeof edd_global_vars,field_name="card_state";"edd_address_country"==$(this).attr("id")&&(field_name="edd_address_state");var state_inputs=document.getElementById(field_name);if("card_state"!=$this.attr("id")&&null!=state_inputs){var nonce=$(this).data("nonce"),postData={action:"edd_get_shop_states",country:$this.val(),field_name:field_name,nonce:nonce};$.ajax({type:"POST",data:postData,url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$form=is_checkout?$("#edd_purchase_form"):$this.closest("form");var state_inputs='input[name="card_state"], select[name="card_state"], input[name="edd_address_state"], select[name="edd_address_state"]';if("nostates"==$.trim(response)){var text_field='<input type="text" id='+field_name+' name="card_state" class="card-state edd-input required" value=""/>';$form.find(state_inputs).replaceWith(text_field)}else $form.find(state_inputs).replaceWith(response);is_checkout&&$(document.body).trigger("edd_cart_billing_address_updated",[response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}).done(function(data){is_checkout&&recalculate_taxes()})}else is_checkout&&recalculate_taxes();return!1}),$(document.body).on("change","#edd_cc_address input[name=card_zip]",function(){"undefined"!=typeof edd_global_vars&&recalculate_taxes()})});
1
+ var edd_scripts;function edd_load_gateway(payment_mode){jQuery(".edd-cart-ajax").show(),jQuery("#edd_purchase_form_wrap").html('<span class="edd-loading-ajax edd-loading"></span>');var nonce=jQuery("#edd-gateway-"+payment_mode).data(payment_mode+"-nonce"),url=edd_scripts.ajaxurl;0<url.indexOf("?")?url+="&":url+="?",url=url+"payment-mode="+payment_mode,jQuery.post(url,{action:"edd_load_gateway",edd_payment_mode:payment_mode,nonce:nonce},function(response){jQuery("#edd_purchase_form_wrap").html(response),jQuery(".edd-no-js").hide(),jQuery("body").trigger("edd_gateway_loaded",[payment_mode])})}jQuery(document).ready(function($){var chosen_gateway,ajax_needed;$(".edd-no-js").hide(),$("a.edd-add-to-cart").addClass("edd-has-js"),$(document.body).on("click.eddRemoveFromCart",".edd-remove-from-cart",function(event){var nonce=$(this),item=nonce.data("cart-item"),action=nonce.data("action"),id=nonce.data("download-id"),nonce=nonce.data("nonce");return $.ajax({type:"POST",data:{action:action,cart_item:item,nonce:nonce},dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){if(response.removed){if(parseInt(edd_scripts.position_in_cart,10)===parseInt(item,10)||edd_scripts.has_purchase_links)return window.location=window.location,!1;$(".edd-cart").each(function(){$(this).find("[data-cart-item='"+item+"']").parent().remove()}),$(".edd-cart").each(function(){var cart_item_counter=0;$(this).find("[data-cart-item]").each(function(){$(this).attr("data-cart-item",cart_item_counter),cart_item_counter+=1})}),$("[id^=edd_purchase_"+id+"]").length&&($("[id^=edd_purchase_"+id+"] .edd_go_to_checkout").hide(),$("[id^=edd_purchase_"+id+"] a.edd-add-to-cart").show().removeAttr("data-edd-loading"),"1"==edd_scripts.quantities_enabled&&$("[id^=edd_purchase_"+id+"] .edd_download_quantity_wrapper").show()),$("span.edd-cart-quantity").text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity]),edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal span").html(response.subtotal),$(".cart_item.edd_cart_tax span").html(response.tax)),$(".cart_item.edd_total span").html(response.total),0==response.cart_quantity&&($(".cart_item.edd_subtotal,.edd-cart-number-of-items,.cart_item.edd_checkout,.cart_item.edd_cart_tax,.cart_item.edd_total").hide(),$(".edd-cart").each(function(){var cart_wrapper=$(this).parent();cart_wrapper.length&&(cart_wrapper.addClass("cart-empty"),cart_wrapper.removeClass("cart-not-empty")),$(this).append('<li class="cart_item empty">'+edd_scripts.empty_cart_message+"</li>")})),$(document.body).trigger("edd_cart_item_removed",[response])}}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$(document.body).on("click.eddAddToCart",".edd-add-to-cart",function(e){e.preventDefault();var $this=$(this),form=$this.closest("form");$this.prop("disabled",!0);$this.find(".edd-loading");var container=$this.closest("div");$this.attr("data-edd-loading","");var form=$this.parents("form").last(),download=$this.data("download-id"),variable_price=$this.data("variable-price"),price_mode=$this.data("price-mode"),data=$this.data("nonce"),item_price_ids=[],free_items=!0;if("yes"==variable_price)if(0<form.find(".edd_price_option_"+download+'[type="hidden"]').length)item_price_ids[0]=$(".edd_price_option_"+download,form).val(),form.find(".edd-submit").data("price")&&0<form.find(".edd-submit").data("price")&&(free_items=!1);else{if(!form.find(".edd_price_option_"+download+":checked",form).length)return $this.removeAttr("data-edd-loading"),alert(edd_scripts.select_option),e.stopPropagation(),$this.prop("disabled",!1),!1;form.find(".edd_price_option_"+download+":checked",form).each(function(item_price){item_price_ids[item_price]=$(this).val(),!0!==free_items||(item_price=$(this).data("price"))&&0<item_price&&(free_items=!1)})}else item_price_ids[0]=download,$this.data("price")&&0<$this.data("price")&&(free_items=!1);if(free_items&&form.find(".edd_action_input").val("add_to_cart"),"straight_to_gateway"==form.find(".edd_action_input").val())return form.submit(),!0;data={action:$this.data("action"),download_id:download,price_ids:item_price_ids,post_data:$(form).serialize(),nonce:data,timestamp:$this.data("timestamp"),token:$this.data("token")};return $.ajax({type:"POST",data:data,dataType:"json",url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){var store_redirect="1"==edd_scripts.redirect_to_checkout,parent_form="1"==form.find("#edd_redirect_to_checkout").val();store_redirect&&parent_form||!store_redirect&&parent_form?window.location=edd_scripts.checkout_page:("1"===edd_scripts.taxes_enabled&&($(".cart_item.edd_subtotal").show(),$(".cart_item.edd_cart_tax").show()),$(".cart_item.edd_total").show(),$(".cart_item.edd_checkout").show(),$(".cart_item.empty").length&&$(".cart_item.empty").hide(),$(".widget_edd_cart_widget .edd-cart").each(function(cart){var cart_wrapper=$(this).find(".edd-cart-meta:first");$(response.cart_item).insertBefore(cart_wrapper);cart_wrapper=$(this).parent();cart_wrapper.length&&(cart_wrapper.addClass("cart-not-empty"),cart_wrapper.removeClass("cart-empty"))}),"1"===edd_scripts.taxes_enabled&&($(".edd-cart-meta.edd_subtotal span").html(response.subtotal),$(".edd-cart-meta.edd_cart_tax span").html(response.tax)),$(".edd-cart-meta.edd_total span").html(response.total),$(".edd-cart-item-title",response.cart_item).length,$("span.edd-cart-quantity").each(function(){$(this).text(response.cart_quantity),$(document.body).trigger("edd_quantity_updated",[response.cart_quantity])}),"none"==$(".edd-cart-number-of-items").css("display")&&$(".edd-cart-number-of-items").show("slow"),"no"!=variable_price&&"multi"==price_mode||($("a.edd-add-to-cart",container).toggle(),$(".edd_go_to_checkout",container).css("display","inline-block")),"multi"==price_mode&&$this.removeAttr("data-edd-loading"),!$(".edd_download_purchase_form").length||"no"!=variable_price&&form.find(".edd_price_option_"+download).is("input:hidden")||(parent_form=$('.edd_download_purchase_form *[data-download-id="'+download+'"]').parents("form"),$("a.edd-add-to-cart",parent_form).hide(),"multi"!=price_mode&&parent_form.find(".edd_download_quantity_wrapper").slideUp(),$(".edd_go_to_checkout",parent_form).show().removeAttr("data-edd-loading")),"incart"!=response&&($(".edd-cart-added-alert",container).fadeIn(),setTimeout(function(){$(".edd-cart-added-alert",container).fadeOut()},3e3)),$this.prop("disabled",!1),$(document.body).trigger("edd_cart_item_added",[response]))}}).fail(function(response){window.console&&window.console.log&&console.log(response)}).done(function(response){}),!1}),$("#edd_checkout_form_wrap").on("click",".edd_checkout_register_login",function(){var data=$(this),data={action:data.data("action"),nonce:data.data("nonce")};return $(".edd-cart-ajax").show(),$.post(edd_scripts.ajaxurl,data,function(checkout_response){$("#edd_checkout_login_register").html(edd_scripts.loading),$("#edd_checkout_login_register").html(checkout_response),$(".edd-cart-ajax").hide()}),!1}),$(document).on("click","#edd_purchase_form #edd_login_fields input[type=submit]",function(data){data.preventDefault();var complete_purchase_val=$(this).val();$(this).val(edd_global_vars.purchase_loading),$(this).after('<span class="edd-loading-ajax edd-loading"></span>');data={action:"edd_process_checkout_login",edd_ajax:1,edd_user_login:$("#edd_login_fields #edd_user_login").val(),edd_user_pass:$("#edd_login_fields #edd_user_pass").val(),edd_login_nonce:$("#edd_login_nonce").val()};$.post(edd_global_vars.ajaxurl,data,function(data){"success"==$.trim(data)?($(".edd_errors").remove(),window.location=edd_scripts.checkout_page):($("#edd_login_fields input[type=submit]").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$("#edd-user-login-submit").before(data))})}),$(document).on("change","select#edd-gateway, input.edd-gateway",function(e){var payment_mode=$("#edd-gateway option:selected, input.edd-gateway:checked").val();return"0"==payment_mode||edd_load_gateway(payment_mode),!1}),"1"==edd_scripts.is_checkout&&(ajax_needed=chosen_gateway=!1,$("select#edd-gateway, input.edd-gateway").length&&(chosen_gateway=$("meta[name='edd-chosen-gateway']").attr("content"),ajax_needed=!0),chosen_gateway=chosen_gateway||edd_scripts.default_gateway,ajax_needed?setTimeout(function(){edd_load_gateway(chosen_gateway)},200):$("body").trigger("edd_gateway_loaded",[chosen_gateway])),$(document).on("click","#edd_purchase_form #edd_purchase_submit [type=submit]",function(e){var complete_purchase_val,eddPurchaseform=document.getElementById("edd_purchase_form");"function"==typeof eddPurchaseform.checkValidity&&!1===eddPurchaseform.checkValidity()||(e.preventDefault(),complete_purchase_val=$(this).val(),$(this).attr("data-original-value",complete_purchase_val),$(this).val(edd_global_vars.purchase_loading),$(this).prop("disabled",!0),$(this).after('<span class="edd-loading-ajax edd-loading"></span>'),$.post(edd_global_vars.ajaxurl,$("#edd_purchase_form").serialize()+"&action=edd_process_checkout&edd_ajax=true",function(data){"success"==$.trim(data)?($(".edd_errors").remove(),$(".edd-error").hide(),$(eddPurchaseform).submit()):($("#edd-purchase-button").val(complete_purchase_val),$(".edd-loading-ajax").remove(),$(".edd_errors").remove(),$(".edd-error").hide(),$(edd_global_vars.checkout_error_anchor).before(data),$("#edd-purchase-button").prop("disabled",!1),$(document.body).trigger("edd_checkout_error",[data]))}))}),$(document.body).on("change","#edd_cc_address input.card_state, #edd_cc_address select, #edd_address_country",function(){var $form,$this=$(this),is_checkout="undefined"!=typeof edd_global_vars,field_name="card_state";"edd_address_country"==$(this).attr("id")&&(field_name="edd_address_state");var postData=document.getElementById(field_name);"card_state"!=$this.attr("id")&&null!=postData?(postData=$(this).data("nonce"),postData={action:"edd_get_shop_states",country:$this.val(),field_name:field_name,nonce:postData},$.ajax({type:"POST",data:postData,url:edd_scripts.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$form=is_checkout?$("#edd_purchase_form"):$this.closest("form");var text_field,state_inputs='input[name="card_state"], select[name="card_state"], input[name="edd_address_state"], select[name="edd_address_state"]';"nostates"==$.trim(response)?(text_field='<input type="text" id='+field_name+' name="card_state" class="card-state edd-input required" value=""/>',$form.find(state_inputs).replaceWith(text_field)):$form.find(state_inputs).replaceWith(response),is_checkout&&$(document.body).trigger("edd_cart_billing_address_updated",[response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}).done(function(data){is_checkout&&recalculate_taxes()})):is_checkout&&recalculate_taxes();return!1}),$(document.body).on("change","#edd_cc_address input[name=card_zip]",function(){"undefined"!=typeof edd_global_vars&&recalculate_taxes()})});
assets/js/edd-checkout-global.min.js CHANGED
@@ -1 +1 @@
1
- window.EDD_Checkout=function($){"use strict";var $body,$form,$edd_cart_amount,$checkout_form_wrap;function apply_discount(event){event.preventDefault();var discount_code=$("#edd-discount").val(),edd_discount_loader=$("#edd-discount-loader"),required_inputs=$("#edd_cc_address .edd-input, #edd_cc_address .edd-select").filter("[required]");if(""==discount_code||discount_code==edd_global_vars.enter_discount)return!1;var postData={action:"edd_apply_discount",code:discount_code,form:$("#edd_purchase_form").serialize()};return $("#edd-discount-error-wrap").html("").hide(),edd_discount_loader.show(),$.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){discount_response?"valid"==discount_response.msg?($(".edd_cart_discount").html(discount_response.html),$(".edd_cart_discount_row").show(),$(".edd_cart_amount").each(function(){$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$("#edd-discount",$checkout_form_wrap).val(""),recalculate_taxes(),"0.00"==discount_response.total_plain?($("#edd_cc_fields,#edd_cc_address,#edd_payment_mode_select").slideUp(),required_inputs.prop("required",!1),$('input[name="edd-gateway"]').val("manual")):(required_inputs.prop("required",!0),$("#edd_cc_fields,#edd_cc_address").slideDown()),$body.trigger("edd_discount_applied",[discount_response])):($("#edd-discount-error-wrap").html('<span class="edd_error">'+discount_response.msg+"</span>"),$("#edd-discount-error-wrap").show(),$body.trigger("edd_discount_invalid",[discount_response])):(window.console&&window.console.log&&console.log(discount_response),$body.trigger("edd_discount_failed",[discount_response])),edd_discount_loader.hide()}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function remove_discount(event){var postData={action:"edd_remove_discount",code:$(this).data("code")};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){var zero="0"+edd_global_vars.decimal_separator+"00";$(".edd_cart_amount").each(function(){edd_global_vars.currency_sign+zero!=$(this).text()&&zero+edd_global_vars.currency_sign!=$(this).text()||window.location.reload(),$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$(".edd_cart_discount").html(discount_response.html),discount_response.discounts||$(".edd_cart_discount_row").hide(),recalculate_taxes(),$("#edd_cc_fields,#edd_cc_address").slideDown(),$body.trigger("edd_discount_removed",[discount_response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function update_item_quantities(event){var $this=$(this),quantity=$this.val(),key=$this.data("key"),download_id=$this.closest(".edd_cart_item").data("download-id"),options=$this.parent().find('input[name="edd-cart-download-'+key+'-options"]').val(),edd_cc_address=$("#edd_cc_address"),postData={action:"edd_update_quantity",quantity:quantity,download_id:download_id,options:options,billing_country:edd_cc_address.find("#billing_country").val(),card_state:edd_cc_address.find("#card_state").val()};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$(".edd_cart_subtotal_amount").each(function(){$(this).text(response.subtotal)}),$(".edd_cart_tax_amount").each(function(){$(this).text(response.taxes)}),$(".edd_cart_amount").each(function(){var total=response.total,subtotal=response.subtotal;$(this).text(total);var float_total=parseFloat(total.replace(/[^0-9\.-]+/g,"")),float_subtotal=parseFloat(subtotal.replace(/[^0-9\.-]+/g,""));$(this).data("total",float_total),$(this).data("subtotal",float_subtotal),$body.trigger("edd_quantity_updated",[response])})}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}return{init:function(){$body=$(document.body),$form=$("#edd_purchase_form"),$edd_cart_amount=$(".edd_cart_amount"),$edd_cart_amount.text(),$checkout_form_wrap=$("#edd_checkout_form_wrap"),$body.on("edd_gateway_loaded",function(e){var form,card_number,card_cvc,card_expiry;card_number=(form=$form).find(".card-number"),card_cvc=form.find(".card-cvc"),card_expiry=form.find(".card-expiry"),card_number.length&&"function"==typeof card_number.payment&&(card_number.payment("formatCardNumber"),card_cvc.payment("formatCardCVC"),card_expiry.payment("formatCardExpiry"))}),$body.on("keyup change",".edd-do-validate .card-number",function(){var field,card_field;field=$(this),(card_field=field).validateCreditCard(function(result){var $card_type=$(".card-type");null==result.card_type?($card_type.removeClass().addClass("off card-type"),card_field.removeClass("valid"),card_field.addClass("error")):($card_type.removeClass("off"),$card_type.addClass(result.card_type.name),result.length_valid&&result.luhn_valid?(card_field.addClass("valid"),card_field.removeClass("error")):(card_field.removeClass("valid"),card_field.addClass("error")))})}),$body.on("blur change",".card-name",function(){var name_field=$(this);name_field.validateCreditCard(function(result){null!=result.card_type?(name_field.removeClass("valid").addClass("error"),$("#edd-purchase-button").attr("disabled","disabled")):(name_field.removeClass("error").addClass("valid"),$("#edd-purchase-button").removeAttr("disabled"))})}),$body.on("submit","#edd_payment_mode",function(){if(0==$("#edd-gateway option:selected").val())return alert(edd_global_vars.no_gateway),!1}),$body.on("click","#edd_payment_mode_select input",function(){$("#edd_payment_mode_select label.edd-gateway-option-selected").removeClass("edd-gateway-option-selected"),$("#edd_payment_mode_select input:checked").parent().addClass("edd-gateway-option-selected")}),$checkout_form_wrap.on("click",".edd-apply-discount",apply_discount),$checkout_form_wrap.on("keypress","#edd-discount",function(event){if("13"==event.keyCode)return!1}),$checkout_form_wrap.on("keyup","#edd-discount",function(event){"13"==event.keyCode&&$checkout_form_wrap.find(".edd-apply-discount").trigger("click")}),$body.on("click",".edd_discount_remove",remove_discount),$body.on("click",".edd_discount_link",function(e){e.preventDefault(),$(".edd_discount_link").parent().hide(),$("#edd-discount-code-wrap").show().find("#edd-discount").focus()}),$body.find("#edd-discount-code-wrap").hide(),$body.find("#edd_show_discount").show(),$body.on("change",".edd-item-quantity",update_item_quantities),$body.on("click",".edd-amazon-logout #Logout",function(e){e.preventDefault(),amazon.Login.logout(),window.location=edd_amazon.checkoutUri})},recalculate_taxes:recalculate_taxes}}(window.jQuery),window.jQuery(document).ready(EDD_Checkout.init);var ajax_tax_count=0;function recalculate_taxes(state){if("1"==edd_global_vars.taxes_enabled){var $edd_cc_address=jQuery("#edd_cc_address");state||(state=$edd_cc_address.find("#card_state").val());var postData={action:"edd_recalculate_taxes",billing_country:$edd_cc_address.find("#billing_country").val(),state:state,card_zip:$edd_cc_address.find("input[name=card_zip]").val(),nonce:jQuery("#edd-checkout-address-fields-nonce").val()};jQuery("#edd_purchase_submit [type=submit]").after('<span class="edd-loading-ajax edd-recalculate-taxes-loading edd-loading"></span>');var current_ajax_count=++ajax_tax_count;jQuery.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(tax_response){if(current_ajax_count===ajax_tax_count){tax_response.html&&jQuery("#edd_checkout_cart_form").replaceWith(tax_response.html),jQuery(".edd_cart_amount").html(tax_response.total);var tax_data=new Object;tax_data.postdata=postData,tax_data.response=tax_response,jQuery("body").trigger("edd_taxes_recalculated",[tax_data])}jQuery(".edd-recalculate-taxes-loading").remove()}}).fail(function(data){window.console&&window.console.log&&(console.log(data),current_ajax_count===ajax_tax_count&&jQuery("body").trigger("edd_taxes_recalculated",[tax_data]))})}}
1
+ window.EDD_Checkout=function($){"use strict";var $body,$form,$edd_cart_amount,$checkout_form_wrap;function apply_discount(postData){postData.preventDefault();var postData=$("#edd-discount").val(),edd_discount_loader=$("#edd-discount-loader"),required_inputs=$("#edd_cc_address .edd-input, #edd_cc_address .edd-select").filter("[required]");if(""==postData||postData==edd_global_vars.enter_discount)return!1;postData={action:"edd_apply_discount",code:postData,form:$("#edd_purchase_form").serialize()};return $("#edd-discount-error-wrap").html("").hide(),edd_discount_loader.show(),$.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){discount_response?"valid"==discount_response.msg?($(".edd_cart_discount").html(discount_response.html),$(".edd_cart_discount_row").show(),$(".edd_cart_amount").each(function(){$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$("#edd-discount",$checkout_form_wrap).val(""),recalculate_taxes(),"0.00"==discount_response.total_plain?($("#edd_cc_fields,#edd_cc_address,#edd_payment_mode_select").slideUp(),required_inputs.prop("required",!1),$('input[name="edd-gateway"]').val("manual")):(required_inputs.prop("required",!0),$("#edd_cc_fields,#edd_cc_address").slideDown()),$body.trigger("edd_discount_applied",[discount_response])):($("#edd-discount-error-wrap").html('<span class="edd_error">'+discount_response.msg+"</span>"),$("#edd-discount-error-wrap").show(),$body.trigger("edd_discount_invalid",[discount_response])):(window.console&&window.console.log&&console.log(discount_response),$body.trigger("edd_discount_failed",[discount_response])),edd_discount_loader.hide()}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function remove_discount(event){var postData={action:"edd_remove_discount",code:$(this).data("code")};return $.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(discount_response){var zero="0"+edd_global_vars.decimal_separator+"00";$(".edd_cart_amount").each(function(){edd_global_vars.currency_sign+zero!=$(this).text()&&zero+edd_global_vars.currency_sign!=$(this).text()||window.location.reload(),$(this).text(discount_response.total),$(this).data("total",discount_response.total_plain)}),$(".edd_cart_discount").html(discount_response.html),discount_response.discounts||$(".edd_cart_discount_row").hide(),recalculate_taxes(),$("#edd_cc_fields,#edd_cc_address").slideDown(),$body.trigger("edd_discount_removed",[discount_response])}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}function update_item_quantities(event){var card_state=$(this),quantity=card_state.val(),billing_country=card_state.data("key"),download_id=card_state.closest(".edd_cart_item").data("download-id"),options=card_state.parent().find('input[name="edd-cart-download-'+billing_country+'-options"]').val(),card_state=$("#edd_cc_address"),billing_country=card_state.find("#billing_country").val(),card_state=card_state.find("#card_state").val();return $.ajax({type:"POST",data:{action:"edd_update_quantity",quantity:quantity,download_id:download_id,options:options,billing_country:billing_country,card_state:card_state},dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(response){$(".edd_cart_subtotal_amount").each(function(){$(this).text(response.subtotal)}),$(".edd_cart_tax_amount").each(function(){$(this).text(response.taxes)}),$(".edd_cart_amount").each(function(){var float_total=response.total,float_subtotal=response.subtotal;$(this).text(float_total);float_total=parseFloat(float_total.replace(/[^0-9\.-]+/g,"")),float_subtotal=parseFloat(float_subtotal.replace(/[^0-9\.-]+/g,""));$(this).data("total",float_total),$(this).data("subtotal",float_subtotal),$body.trigger("edd_quantity_updated",[response])})}}).fail(function(data){window.console&&window.console.log&&console.log(data)}),!1}return{init:function(){$body=$(document.body),$form=$("#edd_purchase_form"),$edd_cart_amount=$(".edd_cart_amount"),$edd_cart_amount.text(),$checkout_form_wrap=$("#edd_checkout_form_wrap"),$body.on("edd_gateway_loaded",function(e){var card_expiry,card_number,card_cvc;card_number=(card_expiry=$form).find(".card-number"),card_cvc=card_expiry.find(".card-cvc"),card_expiry=card_expiry.find(".card-expiry"),card_number.length&&"function"==typeof card_number.payment&&(card_number.payment("formatCardNumber"),card_cvc.payment("formatCardCVC"),card_expiry.payment("formatCardExpiry"))}),$body.on("keyup change",".edd-do-validate .card-number",function(){var field,card_field;field=$(this),(card_field=field).validateCreditCard(function(result){var $card_type=$(".card-type");null==result.card_type?($card_type.removeClass().addClass("off card-type"),card_field.removeClass("valid"),card_field.addClass("error")):($card_type.removeClass("off"),$card_type.addClass(result.card_type.name),result.length_valid&&result.luhn_valid?(card_field.addClass("valid"),card_field.removeClass("error")):(card_field.removeClass("valid"),card_field.addClass("error")))})}),$body.on("blur change",".card-name",function(){var name_field=$(this);name_field.validateCreditCard(function(result){null!=result.card_type?(name_field.removeClass("valid").addClass("error"),$("#edd-purchase-button").attr("disabled","disabled")):(name_field.removeClass("error").addClass("valid"),$("#edd-purchase-button").removeAttr("disabled"))})}),$body.on("submit","#edd_payment_mode",function(){if(0==$("#edd-gateway option:selected").val())return alert(edd_global_vars.no_gateway),!1}),$body.on("click","#edd_payment_mode_select input",function(){$("#edd_payment_mode_select label.edd-gateway-option-selected").removeClass("edd-gateway-option-selected"),$("#edd_payment_mode_select input:checked").parent().addClass("edd-gateway-option-selected")}),$checkout_form_wrap.on("click",".edd-apply-discount",apply_discount),$checkout_form_wrap.on("keypress","#edd-discount",function(event){if("13"==event.keyCode)return!1}),$checkout_form_wrap.on("keyup","#edd-discount",function(event){"13"==event.keyCode&&$checkout_form_wrap.find(".edd-apply-discount").trigger("click")}),$body.on("click",".edd_discount_remove",remove_discount),$body.on("click",".edd_discount_link",function(e){e.preventDefault(),$(".edd_discount_link").parent().hide(),$("#edd-discount-code-wrap").show().find("#edd-discount").focus()}),$body.find("#edd-discount-code-wrap").hide(),$body.find("#edd_show_discount").show(),$body.on("change",".edd-item-quantity",update_item_quantities),$body.on("click",".edd-amazon-logout #Logout",function(e){e.preventDefault(),amazon.Login.logout(),window.location=edd_amazon.checkoutUri})},recalculate_taxes:recalculate_taxes}}(window.jQuery),window.jQuery(document).ready(EDD_Checkout.init);var ajax_tax_count=0;function recalculate_taxes(state){var $edd_cc_address,postData,current_ajax_count;"1"==edd_global_vars.taxes_enabled&&($edd_cc_address=jQuery("#edd_cc_address"),state=state||$edd_cc_address.find("#card_state").val(),postData={action:"edd_recalculate_taxes",billing_country:$edd_cc_address.find("#billing_country").val(),state:state,card_zip:$edd_cc_address.find("input[name=card_zip]").val(),nonce:jQuery("#edd-checkout-address-fields-nonce").val()},jQuery("#edd_purchase_submit [type=submit]").after('<span class="edd-loading-ajax edd-recalculate-taxes-loading edd-loading"></span>'),current_ajax_count=++ajax_tax_count,jQuery.ajax({type:"POST",data:postData,dataType:"json",url:edd_global_vars.ajaxurl,xhrFields:{withCredentials:!0},success:function(tax_response){var tax_data;current_ajax_count===ajax_tax_count&&(tax_response.html&&jQuery("#edd_checkout_cart_form").replaceWith(tax_response.html),jQuery(".edd_cart_amount").html(tax_response.total),(tax_data=new Object).postdata=postData,tax_data.response=tax_response,jQuery("body").trigger("edd_taxes_recalculated",[tax_data])),jQuery(".edd-recalculate-taxes-loading").remove()}}).fail(function(data){window.console&&window.console.log&&(console.log(data),current_ajax_count===ajax_tax_count&&jQuery("body").trigger("edd_taxes_recalculated",[tax_data]))}))}
assets/js/paypal-checkout.js CHANGED
@@ -207,7 +207,7 @@ var EDD_PayPal = {
207
  }
208
 
209
  return new Promise( function( resolve, reject ) {
210
- reject( new Error( errorHtml ) );
211
  } );
212
  }
213
  } );
@@ -237,12 +237,12 @@ jQuery( document ).ready( function( $ ) {
237
  var element = buyButtons[ i ];
238
  // Skip if "Free Downloads" is enabled for this download.
239
  if ( element.classList.contains( 'edd-free-download' ) ) {
240
- return;
241
  }
242
 
243
  var wrapper = element.closest( '.edd_purchase_submit_wrapper' );
244
  if ( ! wrapper ) {
245
- return;
246
  }
247
 
248
  // Clear contents of the wrapper.
207
  }
208
 
209
  return new Promise( function( resolve, reject ) {
210
+ reject( errorHtml );
211
  } );
212
  }
213
  } );
237
  var element = buyButtons[ i ];
238
  // Skip if "Free Downloads" is enabled for this download.
239
  if ( element.classList.contains( 'edd-free-download' ) ) {
240
+ continue;
241
  }
242
 
243
  var wrapper = element.closest( '.edd_purchase_submit_wrapper' );
244
  if ( ! wrapper ) {
245
+ continue;
246
  }
247
 
248
  // Clear contents of the wrapper.
assets/js/paypal-checkout.min.js CHANGED
@@ -1 +1 @@
1
- var EDD_PayPal={isMounted:!1,init:function(){document.getElementById("edd-paypal-container")&&this.initButtons("#edd-paypal-container","checkout"),jQuery(document.body).on("edd_discount_applied",this.maybeRefreshPage),jQuery(document.body).on("edd_discount_removed",this.maybeRefreshPage)},isPayPal:function(){var chosenGateway=!1;return jQuery("select#edd-gateway, input.edd-gateway").length&&(chosenGateway=jQuery("meta[name='edd-chosen-gateway']").attr("content")),!chosenGateway&&edd_scripts.default_gateway&&(chosenGateway=edd_scripts.default_gateway),"paypal_commerce"===chosenGateway},maybeRefreshPage:function(e,data){0===data.total_plain&&EDD_PayPal.isPayPal()?window.location.reload():!EDD_PayPal.isMounted&&EDD_PayPal.isPayPal()&&0<data.total_plain&&window.location.reload()},setErrorHtml:function(container,context,errorHtml){if("checkout"===context&&"undefined"!=typeof edd_global_vars&&edd_global_vars.checkout_error_anchor)(errorWrapper=document.getElementById("edd-paypal-errors-wrap"))&&(errorWrapper.innerHTML=errorHtml);else if("buy_now"===context){var errorWrapper,form=container.closest(".edd_download_purchase_form");(errorWrapper=!!form&&form.querySelector(".edd-paypal-checkout-buy-now-error-wrapper"))&&(errorWrapper.innerHTML=errorHtml)}jQuery(document.body).trigger("edd_checkout_error",[errorHtml])},initButtons:function(container,context){EDD_PayPal.isMounted=!0,paypal.Buttons(EDD_PayPal.getButtonArgs(container,context)).render(container),document.dispatchEvent(new CustomEvent("edd_paypal_buttons_mounted"))},getButtonArgs:function(container,context){var form="checkout"===context?document.getElementById("edd_purchase_form"):container.closest(".edd_download_purchase_form"),errorWrapper="checkout"===context?form.querySelector("#edd-paypal-errors-wrap"):form.querySelector(".edd-paypal-checkout-buy-now-error-wrapper"),spinner="checkout"===context?document.getElementById("edd-paypal-spinner"):form.querySelector(".edd-paypal-spinner"),nonceEl=form.querySelector('input[name="edd_process_paypal_nonce"]'),tokenEl=form.querySelector('input[name="edd-process-paypal-token"]'),createFunc="subscription"===eddPayPalVars.intent?"createSubscription":"createOrder",buttonArgs={onApprove:function(data,actions){var formData=new FormData;return formData.append("action",eddPayPalVars.approvalAction),formData.append("edd_process_paypal_nonce",nonceEl.value),formData.append("token",tokenEl.getAttribute("data-token")),formData.append("timestamp",tokenEl.getAttribute("data-timestamp")),data.orderID&&formData.append("paypal_order_id",data.orderID),data.subscriptionID&&formData.append("paypal_subscription_id",data.subscriptionID),fetch(edd_scripts.ajaxurl,{method:"POST",body:formData}).then(function(response){return response.json()}).then(function(responseData){if(responseData.success&&responseData.data.redirect_url)window.location=responseData.data.redirect_url;else{spinner.style.display="none";var errorHtml=responseData.data.message?responseData.data.message:eddPayPalVars.defaultError;if(EDD_PayPal.setErrorHtml(container,context,errorHtml),responseData.data.retry)return actions.restart()}})},onError:function(error){spinner.style.display="none",error.name="",EDD_PayPal.setErrorHtml(container,context,error)},onCancel:function(data){spinner.style.display="none"}};return eddPayPalVars.style&&(buttonArgs.style=eddPayPalVars.style),buttonArgs[createFunc]=function(data,actions){return spinner.style.display="block",errorWrapper&&(errorWrapper.innerHTML=""),fetch(edd_scripts.ajaxurl,{method:"POST",body:new FormData(form)}).then(function(response){return response.json()}).then(function(orderData){if(orderData.data&&orderData.data.paypal_order_id)return orderData.data.nonce&&(nonceEl.value=orderData.data.nonce),orderData.data.token&&(jQuery(tokenEl).attr("data-token",orderData.data.token),jQuery(tokenEl).attr("data-timestamp",orderData.data.timestamp)),orderData.data.paypal_order_id;var errorHtml=eddPayPalVars.defaultError;return orderData.data&&"string"==typeof orderData.data?errorHtml=orderData.data:"string"==typeof orderData&&(errorHtml=orderData),new Promise(function(resolve,reject){reject(new Error(errorHtml))})})},buttonArgs}};jQuery(document.body).on("edd_gateway_loaded",function(e,gateway){"paypal_commerce"===gateway&&EDD_PayPal.init()}),jQuery(document).ready(function($){for(var buyButtons=document.querySelectorAll(".edd-paypal-checkout-buy-now"),i=0;i<buyButtons.length;i++){var element=buyButtons[i];if(element.classList.contains("edd-free-download"))return;var wrapper=element.closest(".edd_purchase_submit_wrapper");if(!wrapper)return;wrapper.innerHTML="";var errorNode=document.createElement("div");errorNode.classList.add("edd-paypal-checkout-buy-now-error-wrapper"),wrapper.before(errorNode);var spinnerWrap=document.createElement("span");spinnerWrap.classList.add("edd-paypal-spinner","edd-loading-ajax","edd-loading"),spinnerWrap.style.display="none",wrapper.after(spinnerWrap),EDD_PayPal.initButtons(wrapper,"buy_now")}});
1
+ var EDD_PayPal={isMounted:!1,init:function(){document.getElementById("edd-paypal-container")&&this.initButtons("#edd-paypal-container","checkout"),jQuery(document.body).on("edd_discount_applied",this.maybeRefreshPage),jQuery(document.body).on("edd_discount_removed",this.maybeRefreshPage)},isPayPal:function(){var chosenGateway=!1;return"paypal_commerce"===(chosenGateway=!(chosenGateway=jQuery("select#edd-gateway, input.edd-gateway").length?jQuery("meta[name='edd-chosen-gateway']").attr("content"):chosenGateway)&&edd_scripts.default_gateway?edd_scripts.default_gateway:chosenGateway)},maybeRefreshPage:function(e,data){(0===data.total_plain&&EDD_PayPal.isPayPal()||!EDD_PayPal.isMounted&&EDD_PayPal.isPayPal()&&0<data.total_plain)&&window.location.reload()},setErrorHtml:function(form,context,errorHtml){var errorWrapper;"checkout"===context&&"undefined"!=typeof edd_global_vars&&edd_global_vars.checkout_error_anchor?(errorWrapper=document.getElementById("edd-paypal-errors-wrap"))&&(errorWrapper.innerHTML=errorHtml):"buy_now"!==context||(errorWrapper=!!(form=form.closest(".edd_download_purchase_form"))&&form.querySelector(".edd-paypal-checkout-buy-now-error-wrapper"))&&(errorWrapper.innerHTML=errorHtml),jQuery(document.body).trigger("edd_checkout_error",[errorHtml])},initButtons:function(container,context){EDD_PayPal.isMounted=!0,paypal.Buttons(EDD_PayPal.getButtonArgs(container,context)).render(container),document.dispatchEvent(new CustomEvent("edd_paypal_buttons_mounted"))},getButtonArgs:function(container,context){var form="checkout"===context?document.getElementById("edd_purchase_form"):container.closest(".edd_download_purchase_form"),errorWrapper="checkout"===context?form.querySelector("#edd-paypal-errors-wrap"):form.querySelector(".edd-paypal-checkout-buy-now-error-wrapper"),spinner="checkout"===context?document.getElementById("edd-paypal-spinner"):form.querySelector(".edd-paypal-spinner"),nonceEl=form.querySelector('input[name="edd_process_paypal_nonce"]'),tokenEl=form.querySelector('input[name="edd-process-paypal-token"]'),createFunc="subscription"===eddPayPalVars.intent?"createSubscription":"createOrder",buttonArgs={onApprove:function(data,actions){var formData=new FormData;return formData.append("action",eddPayPalVars.approvalAction),formData.append("edd_process_paypal_nonce",nonceEl.value),formData.append("token",tokenEl.getAttribute("data-token")),formData.append("timestamp",tokenEl.getAttribute("data-timestamp")),data.orderID&&formData.append("paypal_order_id",data.orderID),data.subscriptionID&&formData.append("paypal_subscription_id",data.subscriptionID),fetch(edd_scripts.ajaxurl,{method:"POST",body:formData}).then(function(response){return response.json()}).then(function(responseData){if(responseData.success&&responseData.data.redirect_url)window.location=responseData.data.redirect_url;else{spinner.style.display="none";var errorHtml=responseData.data.message||eddPayPalVars.defaultError;if(EDD_PayPal.setErrorHtml(container,context,errorHtml),responseData.data.retry)return actions.restart()}})},onError:function(error){spinner.style.display="none",error.name="",EDD_PayPal.setErrorHtml(container,context,error)},onCancel:function(data){spinner.style.display="none"}};return eddPayPalVars.style&&(buttonArgs.style=eddPayPalVars.style),buttonArgs[createFunc]=function(data,actions){return spinner.style.display="block",errorWrapper&&(errorWrapper.innerHTML=""),fetch(edd_scripts.ajaxurl,{method:"POST",body:new FormData(form)}).then(function(response){return response.json()}).then(function(orderData){if(orderData.data&&orderData.data.paypal_order_id)return orderData.data.nonce&&(nonceEl.value=orderData.data.nonce),orderData.data.token&&(jQuery(tokenEl).attr("data-token",orderData.data.token),jQuery(tokenEl).attr("data-timestamp",orderData.data.timestamp)),orderData.data.paypal_order_id;var errorHtml=eddPayPalVars.defaultError;return orderData.data&&"string"==typeof orderData.data?errorHtml=orderData.data:"string"==typeof orderData&&(errorHtml=orderData),new Promise(function(resolve,reject){reject(errorHtml)})})},buttonArgs}};jQuery(document.body).on("edd_gateway_loaded",function(e,gateway){"paypal_commerce"===gateway&&EDD_PayPal.init()}),jQuery(document).ready(function($){for(var buyButtons=document.querySelectorAll(".edd-paypal-checkout-buy-now"),i=0;i<buyButtons.length;i++){var wrapper,spinnerWrap=buyButtons[i];spinnerWrap.classList.contains("edd-free-download")||(wrapper=spinnerWrap.closest(".edd_purchase_submit_wrapper"))&&(wrapper.innerHTML="",(spinnerWrap=document.createElement("div")).classList.add("edd-paypal-checkout-buy-now-error-wrapper"),wrapper.before(spinnerWrap),(spinnerWrap=document.createElement("span")).classList.add("edd-paypal-spinner","edd-loading-ajax","edd-loading"),spinnerWrap.style.display="none",wrapper.after(spinnerWrap),EDD_PayPal.initButtons(wrapper,"buy_now"))}});
easy-digital-downloads.php CHANGED
@@ -3,9 +3,9 @@
3
  * Plugin Name: Easy Digital Downloads
4
  * Plugin URI: https://easydigitaldownloads.com
5
  * Description: The easiest way to sell digital products with WordPress.
6
- * Author: Sandhills Development, LLC
7
- * Author URI: https://sandhillsdev.com
8
- * Version: 2.11.1
9
  * Text Domain: easy-digital-downloads
10
  * Domain Path: languages
11
  *
@@ -25,7 +25,7 @@
25
  * @package EDD
26
  * @category Core
27
  * @author Pippin Williamson
28
- * @version 2.11.1
29
  */
30
 
31
  // Exit if accessed directly.
@@ -206,7 +206,7 @@ final class Easy_Digital_Downloads {
206
 
207
  // Plugin version.
208
  if ( ! defined( 'EDD_VERSION' ) ) {
209
- define( 'EDD_VERSION', '2.11.1' );
210
  }
211
 
212
  // Plugin Folder Path.
3
  * Plugin Name: Easy Digital Downloads
4
  * Plugin URI: https://easydigitaldownloads.com
5
  * Description: The easiest way to sell digital products with WordPress.
6
+ * Author: Easy Digital Downloads
7
+ * Author URI: https://easydigitaldownloads.com
8
+ * Version: 2.11.2
9
  * Text Domain: easy-digital-downloads
10
  * Domain Path: languages
11
  *
25
  * @package EDD
26
  * @category Core
27
  * @author Pippin Williamson
28
+ * @version 2.11.2
29
  */
30
 
31
  // Exit if accessed directly.
206
 
207
  // Plugin version.
208
  if ( ! defined( 'EDD_VERSION' ) ) {
209
+ define( 'EDD_VERSION', '2.11.2' );
210
  }
211
 
212
  // Plugin Folder Path.
includes/admin/settings/register-settings.php CHANGED
@@ -2172,9 +2172,10 @@ function edd_shop_states_callback($args) {
2172
  function edd_sendwp_callback($args) {
2173
 
2174
  // Connection status partial label based on the state of the SendWP email sending setting (Tools -> SendWP)
2175
- $connected = sprintf(
2176
- __( '<a href="https://sendwp.com/account/" target="_blank" rel="noopener noreferrer">Access your SendWP account</a>.', 'easy-digital-downloads' )
2177
- );
 
2178
  $disconnected = sprintf(
2179
  __( '<em><strong>Note:</strong> Email sending is currently disabled. <a href="' . admin_url( '/tools.php?page=sendwp' ) . '">Click here</a> to enable it.</em>', 'easy-digital-downloads' )
2180
  );
2172
  function edd_sendwp_callback($args) {
2173
 
2174
  // Connection status partial label based on the state of the SendWP email sending setting (Tools -> SendWP)
2175
+ $connected = '<a href="https://app.sendwp.com/dashboard" target="_blank" rel="noopener noreferrer">';
2176
+ $connected .= __( 'Access your SendWP account', 'easy-digital-downloads' );
2177
+ $connected .= '</a>.';
2178
+
2179
  $disconnected = sprintf(
2180
  __( '<em><strong>Note:</strong> Email sending is currently disabled. <a href="' . admin_url( '/tools.php?page=sendwp' ) . '">Click here</a> to enable it.</em>', 'easy-digital-downloads' )
2181
  );
includes/class-edd-cli.php CHANGED
@@ -538,7 +538,7 @@ class EDD_CLI extends WP_CLI_Command {
538
  if( count( $assoc_args ) > 0 ) {
539
  $number = ( array_key_exists( 'number', $assoc_args ) ) ? absint( $assoc_args['number'] ) : $number;
540
  $id = ( array_key_exists( 'id', $assoc_args ) ) ? absint( $assoc_args['id'] ) : $id;
541
- $price_id = ( array_key_exists( 'price_id', $assoc_args ) ) ? absint( $assoc_args['id'] ) : $price_id;
542
  $tax = ( array_key_exists( 'tax', $assoc_args ) ) ? floatval( $assoc_args['tax'] ) : $tax;
543
  $email = ( array_key_exists( 'email', $assoc_args ) ) ? sanitize_email( $assoc_args['email'] ) : $email;
544
  $fname = ( array_key_exists( 'fname', $assoc_args ) ) ? sanitize_text_field( $assoc_args['fname'] ) : $fname;
538
  if( count( $assoc_args ) > 0 ) {
539
  $number = ( array_key_exists( 'number', $assoc_args ) ) ? absint( $assoc_args['number'] ) : $number;
540
  $id = ( array_key_exists( 'id', $assoc_args ) ) ? absint( $assoc_args['id'] ) : $id;
541
+ $price_id = ( array_key_exists( 'price_id', $assoc_args ) ) ? absint( $assoc_args['price_id'] ) : $price_id;
542
  $tax = ( array_key_exists( 'tax', $assoc_args ) ) ? floatval( $assoc_args['tax'] ) : $tax;
543
  $email = ( array_key_exists( 'email', $assoc_args ) ) ? sanitize_email( $assoc_args['email'] ) : $email;
544
  $fname = ( array_key_exists( 'fname', $assoc_args ) ) ? sanitize_text_field( $assoc_args['fname'] ) : $fname;
includes/download-functions.php CHANGED
@@ -1249,35 +1249,36 @@ function edd_validate_url_token( $url = '' ) {
1249
 
1250
  wp_parse_str( $parts['query'], $query_args );
1251
 
1252
- // These are the only URL parameters that are allowed to affect the token validation
1253
- $allowed = apply_filters( 'edd_url_token_allowed_params', array(
1254
- 'eddfile',
1255
- 'file',
1256
- 'ttl',
1257
- 'token'
1258
- ) );
1259
-
1260
- // Parameters that will be removed from the URL before testing the token
1261
- $remove = array();
1262
-
1263
- foreach( $query_args as $key => $value ) {
1264
- if( false === in_array( $key, $allowed ) ) {
1265
- $remove[] = $key;
1266
- }
1267
- }
1268
-
1269
- if( ! empty( $remove ) ) {
1270
 
1271
- $url = remove_query_arg( $remove, $url );
1272
 
1273
  }
1274
 
1275
- if ( isset( $query_args['ttl'] ) && current_time( 'timestamp' ) > $query_args['ttl'] ) {
 
 
 
 
 
 
 
 
 
1276
 
1277
- wp_die( apply_filters( 'edd_download_link_expired_text', __( 'Sorry but your download link has expired.', 'easy-digital-downloads' ) ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) );
 
1278
 
 
 
 
 
1279
  }
1280
 
 
 
 
1281
  if ( isset( $query_args['token'] ) && hash_equals( $query_args['token'], edd_get_download_token( $url ) ) ) {
1282
 
1283
  $ret = true;
1249
 
1250
  wp_parse_str( $parts['query'], $query_args );
1251
 
1252
+ // If the TTL is in the past, die out before we go any further.
1253
+ if ( isset( $query_args['ttl'] ) && current_time( 'timestamp' ) > $query_args['ttl'] ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1254
 
1255
+ wp_die( apply_filters( 'edd_download_link_expired_text', __( 'Sorry but your download link has expired.', 'easy-digital-downloads' ) ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) );
1256
 
1257
  }
1258
 
1259
+ // These are the only URL parameters that are allowed to affect the token validation.
1260
+ $allowed = apply_filters(
1261
+ 'edd_url_token_allowed_params',
1262
+ array(
1263
+ 'eddfile',
1264
+ 'ttl',
1265
+ 'file',
1266
+ 'token',
1267
+ )
1268
+ );
1269
 
1270
+ // Collect the allowed tags in proper order, remove all tags, and re-add only the allowed ones.
1271
+ $allowed_args = array();
1272
 
1273
+ foreach ( $allowed as $key ) {
1274
+ if ( true === array_key_exists( $key, $query_args ) ) {
1275
+ $allowed_args[ $key ] = $query_args[ $key ];
1276
+ }
1277
  }
1278
 
1279
+ // strtok allows a quick clearing of existing query string parameters, so we can re-add the allowed ones.
1280
+ $url = add_query_arg( $allowed_args, strtok( $url, '?' ) );
1281
+
1282
  if ( isset( $query_args['token'] ) && hash_equals( $query_args['token'], edd_get_download_token( $url ) ) ) {
1283
 
1284
  $ret = true;
includes/gateways/paypal/checkout-actions.php CHANGED
@@ -154,33 +154,9 @@ function create_order( $purchase_data ) {
154
  );
155
  }
156
 
157
- $order_amount = array(
158
- 'currency_code' => edd_get_currency(),
159
- 'value' => (string) $purchase_data['price']
160
- );
161
- if ( (float) $purchase_data['tax'] > 0 ) {
162
- $order_amount['breakdown'] = array(
163
- 'item_total' => array(
164
- 'currency_code' => edd_get_currency(),
165
- 'value' => (string) ( $purchase_data['price'] - $purchase_data['tax'] )
166
- ),
167
- 'tax_total' => array(
168
- 'currency_code' => edd_get_currency(),
169
- 'value' => (string) $purchase_data['tax']
170
- )
171
- );
172
- }
173
-
174
  $order_data = array(
175
  'intent' => 'CAPTURE',
176
- 'purchase_units' => array(
177
- array(
178
- // @todo We could put the breakdown here (tax, discount, etc.)
179
- 'reference_id' => $payment_args['purchase_key'],
180
- 'amount' => $order_amount,
181
- 'custom_id' => $payment_id
182
- )
183
- ),
184
  'application_context' => array(
185
  //'locale' => get_locale(), // PayPal doesn't like this. Might be able to replace `_` with `-`
186
  'shipping_preference' => 'NO_SHIPPING',
@@ -219,6 +195,29 @@ function create_order( $purchase_data ) {
219
  $api = new API();
220
  $response = $api->make_request( 'v2/checkout/orders', $order_data );
221
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  if ( ! isset( $response->id ) ) {
223
  throw new Gateway_Exception(
224
  __( 'An error occurred while communicating with PayPal. Please try again.', 'easy-digital-downloads' ),
154
  );
155
  }
156
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
157
  $order_data = array(
158
  'intent' => 'CAPTURE',
159
+ 'purchase_units' => get_order_purchase_units( $payment_id, $purchase_data, $payment_args ),
 
 
 
 
 
 
 
160
  'application_context' => array(
161
  //'locale' => get_locale(), // PayPal doesn't like this. Might be able to replace `_` with `-`
162
  'shipping_preference' => 'NO_SHIPPING',
195
  $api = new API();
196
  $response = $api->make_request( 'v2/checkout/orders', $order_data );
197
 
198
+ if ( ! isset( $response->id ) && _is_item_total_mismatch( $response ) ) {
199
+
200
+ edd_record_gateway_error(
201
+ __( 'PayPal Gateway Warning', 'easy-digital-downloads' ),
202
+ sprintf(
203
+ /* Translators: %s - Original order data sent to PayPal. */
204
+ __( 'PayPal could not complete the transaction with the itemized breakdown. Original order data sent: %s', 'easy-digital-downloads' ),
205
+ json_encode( $order_data )
206
+ ),
207
+ $payment_id
208
+ );
209
+
210
+ // Try again without the item breakdown. That way if we have an error in our totals the whole API request won't fail.
211
+ $order_data['purchase_units'] = array(
212
+ get_order_purchase_units_without_breakdown( $payment_id, $purchase_data, $payment_args )
213
+ );
214
+
215
+ // Re-apply the filter.
216
+ $order_data = apply_filters( 'edd_paypal_order_arguments', $order_data, $purchase_data, $payment_id );
217
+
218
+ $response = $api->make_request( 'v2/checkout/orders', $order_data );
219
+ }
220
+
221
  if ( ! isset( $response->id ) ) {
222
  throw new Gateway_Exception(
223
  __( 'An error occurred while communicating with PayPal. Please try again.', 'easy-digital-downloads' ),
includes/gateways/paypal/functions.php CHANGED
@@ -138,3 +138,192 @@ function get_button_styles() {
138
  */
139
  return apply_filters( 'edd_paypal_smart_button_style', $styles );
140
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  */
139
  return apply_filters( 'edd_paypal_smart_button_style', $styles );
140
  }
141
+
142
+ /**
143
+ * Gets the PayPal purchase units without the individual item breakdown.
144
+ *
145
+ * @since 2.11.2
146
+ *
147
+ * @param int $payment_id The payment/order ID.
148
+ * @param array $purchase_data The array of purchase data.
149
+ * @param array $payment_args The array created to insert the payment into the database.
150
+ *
151
+ * @return array
152
+ */
153
+ function get_order_purchase_units_without_breakdown( $payment_id, $purchase_data, $payment_args ) {
154
+ $order_amount = array(
155
+ 'currency_code' => edd_get_currency(),
156
+ 'value' => (string) edd_sanitize_amount( $purchase_data['price'] ),
157
+ );
158
+ if ( (float) $purchase_data['tax'] > 0 ) {
159
+ $order_amount['breakdown'] = array(
160
+ 'item_total' => array(
161
+ 'currency_code' => edd_get_currency(),
162
+ 'value' => (string) edd_sanitize_amount( $purchase_data['price'] - $purchase_data['tax'] )
163
+ ),
164
+ 'tax_total' => array(
165
+ 'currency_code' => edd_get_currency(),
166
+ 'value' => (string) edd_sanitize_amount( $purchase_data['tax'] ),
167
+ )
168
+ );
169
+ }
170
+
171
+ return array(
172
+ 'reference_id' => $payment_args['purchase_key'],
173
+ 'amount' => $order_amount,
174
+ 'custom_id' => $payment_id
175
+ );
176
+ }
177
+
178
+ /**
179
+ * Gets the PayPal purchase units. The order breakdown includes the order items, tax, and discount.
180
+ *
181
+ * @since 2.11.2
182
+ * @param int $payment_id The payment/order ID.
183
+ * @param array $purchase_data The array of purchase data.
184
+ * @param array $payment_args The array created to insert the payment into the database.
185
+ * @return array
186
+ */
187
+ function get_order_purchase_units( $payment_id, $purchase_data, $payment_args ) {
188
+
189
+ $currency = edd_get_currency();
190
+ $order_subtotal = $purchase_data['subtotal'];
191
+ $items = get_order_items( $purchase_data );
192
+ // Adjust the order subtotal if any items are discounted.
193
+ foreach ( $items as &$item ) {
194
+ // A discount can be negative, so cast it to an absolute value for comparison.
195
+ if ( (float) abs( $item['discount'] ) > 0 ) {
196
+ $order_subtotal -= $item['discount'];
197
+ }
198
+
199
+ // The discount amount is not passed to PayPal as part of the $item.
200
+ unset( $item['discount'] );
201
+ }
202
+
203
+ $discount = 0;
204
+ // Fees which are not item specific need to be added to the PayPal data as order items.
205
+ if ( ! empty( $purchase_data['fees'] ) ) {
206
+ foreach ( $purchase_data['fees'] as $fee ) {
207
+ if ( ! empty( $fee['download_id'] ) ) {
208
+ continue;
209
+ }
210
+ // Positive fees.
211
+ if ( floatval( $fee['amount'] ) > 0 ) {
212
+ $items[] = array(
213
+ 'name' => stripslashes_deep( html_entity_decode( wp_strip_all_tags( $fee['label'] ), ENT_COMPAT, 'UTF-8' ) ),
214
+ 'unit_amount' => array(
215
+ 'currency_code' => $currency,
216
+ 'value' => (string) edd_sanitize_amount( $fee['amount'] ),
217
+ ),
218
+ 'quantity' => 1,
219
+ );
220
+ $order_subtotal += abs( $fee['amount'] );
221
+ } else {
222
+ // This is a negative fee (discount) not assigned to a specific Download
223
+ $discount += abs( $fee['amount'] );
224
+ }
225
+ }
226
+ }
227
+
228
+ $order_amount = array(
229
+ 'currency_code' => $currency,
230
+ 'value' => (string) edd_sanitize_amount( $purchase_data['price'] ),
231
+ 'breakdown' => array(
232
+ 'item_total' => array(
233
+ 'currency_code' => $currency,
234
+ 'value' => (string) edd_sanitize_amount( $order_subtotal ),
235
+ ),
236
+ ),
237
+ );
238
+
239
+ $tax = (float) $purchase_data['tax'] > 0 ? $purchase_data['tax'] : 0;
240
+ if ( $tax > 0 ) {
241
+ $order_amount['breakdown']['tax_total'] = array(
242
+ 'currency_code' => $currency,
243
+ 'value' => (string) edd_sanitize_amount( $tax ),
244
+ );
245
+ }
246
+
247
+ // This is only added by negative global fees.
248
+ if ( $discount > 0 ) {
249
+ $order_amount['breakdown']['discount'] = array(
250
+ 'currency_code' => $currency,
251
+ 'value' => (string) edd_sanitize_amount( $discount ),
252
+ );
253
+ }
254
+
255
+ return array(
256
+ wp_parse_args( array(
257
+ 'amount' => $order_amount,
258
+ 'items' => $items
259
+ ), get_order_purchase_units_without_breakdown( $payment_id, $purchase_data, $payment_args ) )
260
+ );
261
+ }
262
+
263
+ /**
264
+ * Gets an array of order items, formatted for PayPal, from the $purchase_data.
265
+ *
266
+ * @since 2.11.2
267
+ * @param array $purchase_data
268
+ * @return array
269
+ */
270
+ function get_order_items( $purchase_data ) {
271
+ // Create an array of items for the order.
272
+ $items = array();
273
+ if ( ! is_array( $purchase_data['cart_details'] ) || empty( $purchase_data['cart_details'] ) ) {
274
+ return $items;
275
+ }
276
+ $i = 0;
277
+ foreach ( $purchase_data['cart_details'] as $item ) {
278
+ $item_amount = ( $item['subtotal'] / $item['quantity'] ) - ( $item['discount'] / $item['quantity'] );
279
+
280
+ if ( $item_amount <= 0 ) {
281
+ $item_amount = 0;
282
+ }
283
+ $items[ $i ] = array(
284
+ 'name' => stripslashes_deep( html_entity_decode( edd_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) ),
285
+ 'quantity' => $item['quantity'],
286
+ 'unit_amount' => array(
287
+ 'currency_code' => edd_get_currency(),
288
+ 'value' => (string) edd_sanitize_amount( $item_amount ),
289
+ ),
290
+ 'discount' => $item['discount'], // This is unset later and never sent to PayPal.
291
+ );
292
+ if ( edd_use_skus() ) {
293
+ $sku = edd_get_download_sku( $item['id'] );
294
+ if ( ! empty( $sku ) && '-' !== $sku ) {
295
+ $items[ $i ]['sku'] = $sku;
296
+ }
297
+ }
298
+ $i++;
299
+ }
300
+
301
+ return $items;
302
+ }
303
+
304
+ /**
305
+ * Attempts to detect if there's an item total mismatch. This means the individual item breakdowns don't
306
+ * add up to our proposed totals.
307
+ *
308
+ * @link https://github.com/easydigitaldownloads/easy-digital-downloads/pull/8835#issuecomment-921759101
309
+ * @internal Not intended for public use.
310
+ *
311
+ * @since 2.11.2
312
+ *
313
+ * @param object $response
314
+ *
315
+ * @return bool
316
+ */
317
+ function _is_item_total_mismatch( $response ) {
318
+ if ( ! isset( $response->details ) || ! is_array( $response->details ) ) {
319
+ return false;
320
+ }
321
+
322
+ foreach( $response->details as $detail ) {
323
+ if ( ! empty( $detail->issue ) && 'ITEM_TOTAL_MISMATCH' === strtoupper( $detail->issue ) ) {
324
+ return true;
325
+ }
326
+ }
327
+
328
+ return false;
329
+ }
includes/gateways/stripe/edd-stripe.php CHANGED
@@ -1,9 +1,9 @@
1
  <?php
2
  /**
3
  * Plugin Name: Easy Digital Downloads - Stripe Pro Payment Gateway
4
- * Plugin URL: https://easydigitaldownloads.com/downloads/stripe-gateway/
5
  * Description: Adds a payment gateway for Stripe.com
6
- * Version: 2.8.8
7
  * Author: Sandhills Development, LLC
8
  * Author URI: https://sandhillsdev.com
9
  * Text Domain: edds
@@ -42,7 +42,7 @@ function edd_stripe_core_bootstrap() {
42
  }
43
 
44
  if ( ! defined( 'EDD_STRIPE_VERSION' ) ) {
45
- define( 'EDD_STRIPE_VERSION', '2.8.8' );
46
  }
47
 
48
  if ( ! defined( 'EDD_STRIPE_API_VERSION' ) ) {
1
  <?php
2
  /**
3
  * Plugin Name: Easy Digital Downloads - Stripe Pro Payment Gateway
4
+ * Plugin URI: https://easydigitaldownloads.com/downloads/stripe-gateway/
5
  * Description: Adds a payment gateway for Stripe.com
6
+ * Version: 2.8.9
7
  * Author: Sandhills Development, LLC
8
  * Author URI: https://sandhillsdev.com
9
  * Text Domain: edds
42
  }
43
 
44
  if ( ! defined( 'EDD_STRIPE_VERSION' ) ) {
45
+ define( 'EDD_STRIPE_VERSION', '2.8.9' );
46
  }
47
 
48
  if ( ! defined( 'EDD_STRIPE_API_VERSION' ) ) {
includes/gateways/stripe/includes/admin/admin-filters.php CHANGED
@@ -33,8 +33,13 @@ add_filter( 'edd_get_payment_transaction_id-stripe', 'edds_get_payment_transacti
33
  function edd_stripe_link_transaction_id( $transaction_id, $payment_id ) {
34
 
35
  $test = edd_get_payment_meta( $payment_id, '_edd_payment_mode' ) === 'test' ? 'test/' : '';
36
- $url = '<a href="https://dashboard.stripe.com/' . $test . 'payments/' . $transaction_id . '" target="_blank">' . $transaction_id . '</a>';
37
 
 
 
 
 
 
38
  return apply_filters( 'edd_stripe_link_payment_details_transaction_id', $url );
39
 
40
  }
@@ -47,51 +52,54 @@ add_filter( 'edd_payment_details_transaction_id-stripe', 'edd_stripe_link_transa
47
  * @return string
48
  */
49
  function edds_payments_column_data( $value, $payment_id, $column_name ) {
50
- if ( $column_name == 'status' ) {
51
- $payment = edd_get_payment( $payment_id );
 
52
 
53
- if ( empty( $payment ) ) {
54
- return $value;
55
- }
 
56
 
57
- $status = $payment->status;
58
- $customer_id = $payment->get_meta( '_edds_stripe_customer_id', true );
 
 
 
59
 
60
- if ( empty( $customer_id ) ) {
61
- return $value;
62
- }
63
 
64
- $nonce = wp_create_nonce( 'edds-process-preapproval' );
65
 
66
- $preapproval_args = array(
67
- 'payment_id' => $payment_id,
68
- 'nonce' => $nonce,
69
- 'edd-action' => 'charge_stripe_preapproval'
70
- );
71
 
72
- $cancel_args = array(
73
- 'preapproval_key' => $customer_id,
74
- 'payment_id' => $payment_id,
75
- 'nonce' => $nonce,
76
- 'edd-action' => 'cancel_stripe_preapproval'
77
- );
78
 
79
- $actions = array();
80
 
81
- $value .= '<p class="row-actions">';
82
 
83
- if ( in_array( $status, array( 'preapproval', 'preapproval_pending' ), true ) ) {
84
- $actions[] = '<a href="' . esc_url( add_query_arg( $preapproval_args, admin_url( 'edit.php?post_type=download&page=edd-payment-history' ) ) ) . '">' . __( 'Process', 'easy-digital-downloads' ) . '</a>';
85
 
86
- if ( 'cancelled' !== $status ) {
87
- $actions[] = '<span class="delete"><a href="' . esc_url( add_query_arg( $cancel_args, admin_url( 'edit.php?post_type=download&page=edd-payment-history' ) ) ) . '">' . __( 'Cancel', 'easy-digital-downloads' ) . '</a></span>';
88
- }
89
- }
90
 
91
- $value .= implode( ' | ', $actions );
 
 
92
 
93
- $value .= '</p>';
94
- }
95
  return $value;
96
  }
97
  add_filter( 'edd_payments_table_column', 'edds_payments_column_data', 20, 3 );
33
  function edd_stripe_link_transaction_id( $transaction_id, $payment_id ) {
34
 
35
  $test = edd_get_payment_meta( $payment_id, '_edd_payment_mode' ) === 'test' ? 'test/' : '';
36
+ $status = edd_get_payment_status( $payment_id );
37
 
38
+ if ( 'preapproval' === $status ) {
39
+ $url = '<a href="https://dashboard.stripe.com/' . $test . 'setup_intents/' . $transaction_id . '" target="_blank">' . $transaction_id . '</a>';
40
+ } else {
41
+ $url = '<a href="https://dashboard.stripe.com/' . $test . 'payments/' . $transaction_id . '" target="_blank">' . $transaction_id . '</a>';
42
+ }
43
  return apply_filters( 'edd_stripe_link_payment_details_transaction_id', $url );
44
 
45
  }
52
  * @return string
53
  */
54
  function edds_payments_column_data( $value, $payment_id, $column_name ) {
55
+ if ( 'status' !== $column_name ) {
56
+ return $value;
57
+ }
58
 
59
+ $status = edd_get_payment_status( $payment_id );
60
+ if ( ! in_array( $status, array( 'preapproval', 'preapproval_pending' ), true ) ) {
61
+ return $value;
62
+ }
63
 
64
+ if ( function_exists( 'edd_get_order_meta' ) ) {
65
+ $customer_id = edd_get_order_meta( $payment_id, '_edds_stripe_customer_id', true );
66
+ } else {
67
+ $customer_id = edd_get_payment_meta( $payment_id, '_edds_stripe_customer_id', true );
68
+ }
69
 
70
+ if ( empty( $customer_id ) ) {
71
+ return $value;
72
+ }
73
 
74
+ $nonce = wp_create_nonce( 'edds-process-preapproval' );
75
 
76
+ $preapproval_args = array(
77
+ 'payment_id' => $payment_id,
78
+ 'nonce' => $nonce,
79
+ 'edd-action' => 'charge_stripe_preapproval'
80
+ );
81
 
82
+ $cancel_args = array(
83
+ 'preapproval_key' => $customer_id,
84
+ 'payment_id' => $payment_id,
85
+ 'nonce' => $nonce,
86
+ 'edd-action' => 'cancel_stripe_preapproval'
87
+ );
88
 
89
+ $actions = array();
90
 
91
+ $value .= '<p class="row-actions">';
92
 
93
+ $actions[] = '<a href="' . esc_url( add_query_arg( $preapproval_args, admin_url( 'edit.php?post_type=download&page=edd-payment-history' ) ) ) . '">' . __( 'Process', 'easy-digital-downloads' ) . '</a>';
 
94
 
95
+ if ( 'cancelled' !== $status ) {
96
+ $actions[] = '<span class="delete"><a href="' . esc_url( add_query_arg( $cancel_args, admin_url( 'edit.php?post_type=download&page=edd-payment-history' ) ) ) . '">' . __( 'Cancel', 'easy-digital-downloads' ) . '</a></span>';
97
+ }
 
98
 
99
+ $value .= implode( ' | ', $actions );
100
+
101
+ $value .= '</p>';
102
 
 
 
103
  return $value;
104
  }
105
  add_filter( 'edd_payments_table_column', 'edds_payments_column_data', 20, 3 );
includes/gateways/stripe/includes/admin/settings.php CHANGED
@@ -397,58 +397,3 @@ function edds_payment_gateways_notice( $html, $args ) {
397
  return $html;
398
  }
399
  add_filter( 'edd_after_setting_output', 'edds_payment_gateways_notice', 10, 2 );
400
-
401
- /**
402
- * Listens for Stripe Connect completion requests and saves the Stripe API keys.
403
- *
404
- * @since 2.6.14
405
- */
406
- function edds_process_gateway_connect_completion() {
407
-
408
- if( ! isset( $_GET['edd_gateway_connect_completion'] ) || 'stripe_connect' !== $_GET['edd_gateway_connect_completion'] || ! isset( $_GET['state'] ) ) {
409
- return;
410
- }
411
-
412
- if( ! current_user_can( 'manage_shop_settings' ) ) {
413
- return;
414
- }
415
-
416
- if( headers_sent() ) {
417
- return;
418
- }
419
-
420
- $edd_credentials_url = add_query_arg( array(
421
- 'live_mode' => (int) ! edd_is_test_mode(),
422
- 'state' => sanitize_text_field( $_GET['state'] ),
423
- 'customer_site_url' => admin_url( 'edit.php?post_type=download' ),
424
- ), 'https://easydigitaldownloads.com/?edd_gateway_connect_credentials=stripe_connect' );
425
-
426
- $response = wp_remote_get( esc_url_raw( $edd_credentials_url ) );
427
-
428
- if( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) {
429
- $message = '<p>' . sprintf(
430
- /* translators: %1$s Opening anchor tag, do not translate. %2$s Closing anchor tag, do not translate. */
431
- __( 'There was an error getting your Stripe credentials. Please %1$stry again%2$s. If you continue to have this problem, please contact support.', 'easy-digital-downloads' ),
432
- '<a href="' . esc_url( admin_url( 'edit.php?post_type=download&page=edd-settings&tab=gateways&section=edd-stripe' ) ) . '" target="_blank" rel="noopener noreferrer">',
433
- '</a>'
434
- ) . '</p>';
435
- wp_die( $message );
436
- }
437
-
438
- $data = json_decode( $response['body'], true );
439
- $data = $data['data'];
440
-
441
- if( edd_is_test_mode() ) {
442
- edd_update_option( 'test_publishable_key', sanitize_text_field( $data['publishable_key'] ) );
443
- edd_update_option( 'test_secret_key', sanitize_text_field( $data['secret_key'] ) );
444
- } else {
445
- edd_update_option( 'live_publishable_key', sanitize_text_field( $data['publishable_key'] ) );
446
- edd_update_option( 'live_secret_key', sanitize_text_field( $data['secret_key'] ) );
447
- }
448
-
449
- edd_update_option( 'stripe_connect_account_id', sanitize_text_field( $data['stripe_user_id'] ) );
450
- wp_redirect( esc_url_raw( admin_url( 'edit.php?post_type=download&page=edd-settings&tab=gateways&section=edd-stripe' ) ) );
451
- exit;
452
-
453
- }
454
- add_action( 'admin_init', 'edds_process_gateway_connect_completion' );
397
  return $html;
398
  }
399
  add_filter( 'edd_after_setting_output', 'edds_payment_gateways_notice', 10, 2 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
includes/gateways/stripe/includes/admin/settings/stripe-connect.php CHANGED
@@ -84,6 +84,61 @@ function edds_stripe_connect_url() {
84
  return $stripe_connect_url;
85
  }
86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  /**
88
  * Returns a URL to disconnect the current Stripe Connect account ID and keys.
89
  *
@@ -154,6 +209,7 @@ function edds_stripe_connect_process_disconnect() {
154
 
155
  $options = array(
156
  'stripe_connect_account_id',
 
157
  'test_publishable_key',
158
  'test_secret_key',
159
  'live_publishable_key',
@@ -175,6 +231,51 @@ function edds_stripe_connect_process_disconnect() {
175
  }
176
  add_action( 'admin_init', 'edds_stripe_connect_process_disconnect' );
177
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
178
  /**
179
  * Renders custom HTML for the "Stripe Connect" setting field in the Stripe Payment Gateway
180
  * settings subtab.
84
  return $stripe_connect_url;
85
  }
86
 
87
+ /**
88
+ * Listens for Stripe Connect completion requests and saves the Stripe API keys.
89
+ *
90
+ * @since 2.6.14
91
+ */
92
+ function edds_process_gateway_connect_completion() {
93
+
94
+ if( ! isset( $_GET['edd_gateway_connect_completion'] ) || 'stripe_connect' !== $_GET['edd_gateway_connect_completion'] || ! isset( $_GET['state'] ) ) {
95
+ return;
96
+ }
97
+
98
+ if( ! current_user_can( 'manage_shop_settings' ) ) {
99
+ return;
100
+ }
101
+
102
+ if( headers_sent() ) {
103
+ return;
104
+ }
105
+
106
+ $edd_credentials_url = add_query_arg( array(
107
+ 'live_mode' => (int) ! edd_is_test_mode(),
108
+ 'state' => sanitize_text_field( $_GET['state'] ),
109
+ 'customer_site_url' => admin_url( 'edit.php?post_type=download' ),
110
+ ), 'https://easydigitaldownloads.com/?edd_gateway_connect_credentials=stripe_connect' );
111
+
112
+ $response = wp_remote_get( esc_url_raw( $edd_credentials_url ) );
113
+
114
+ if( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) {
115
+ $message = '<p>' . sprintf(
116
+ /* translators: %1$s Opening anchor tag, do not translate. %2$s Closing anchor tag, do not translate. */
117
+ __( 'There was an error getting your Stripe credentials. Please %1$stry again%2$s. If you continue to have this problem, please contact support.', 'easy-digital-downloads' ),
118
+ '<a href="' . esc_url( admin_url( 'edit.php?post_type=download&page=edd-settings&tab=gateways&section=edd-stripe' ) ) . '" target="_blank" rel="noopener noreferrer">',
119
+ '</a>'
120
+ ) . '</p>';
121
+ wp_die( $message );
122
+ }
123
+
124
+ $data = json_decode( $response['body'], true );
125
+ $data = $data['data'];
126
+
127
+ if( edd_is_test_mode() ) {
128
+ edd_update_option( 'test_publishable_key', sanitize_text_field( $data['publishable_key'] ) );
129
+ edd_update_option( 'test_secret_key', sanitize_text_field( $data['secret_key'] ) );
130
+ } else {
131
+ edd_update_option( 'live_publishable_key', sanitize_text_field( $data['publishable_key'] ) );
132
+ edd_update_option( 'live_secret_key', sanitize_text_field( $data['secret_key'] ) );
133
+ }
134
+
135
+ edd_update_option( 'stripe_connect_account_id', sanitize_text_field( $data['stripe_user_id'] ) );
136
+ wp_redirect( esc_url_raw( admin_url( 'edit.php?post_type=download&page=edd-settings&tab=gateways&section=edd-stripe' ) ) );
137
+ exit;
138
+
139
+ }
140
+ add_action( 'admin_init', 'edds_process_gateway_connect_completion' );
141
+
142
  /**
143
  * Returns a URL to disconnect the current Stripe Connect account ID and keys.
144
  *
209
 
210
  $options = array(
211
  'stripe_connect_account_id',
212
+ 'stripe_connect_account_country',
213
  'test_publishable_key',
214
  'test_secret_key',
215
  'live_publishable_key',
231
  }
232
  add_action( 'admin_init', 'edds_stripe_connect_process_disconnect' );
233
 
234
+ /**
235
+ * Updates the `stripe_connect_account_country` setting if using Stripe Connect
236
+ * and no country information is available.
237
+ *
238
+ * @since 2.8.7
239
+ */
240
+ function edds_stripe_connect_maybe_refresh_account_country() {
241
+ // Current user cannot modify options, bail.
242
+ if ( false === current_user_can( 'manage_options' ) ) {
243
+ return;
244
+ }
245
+
246
+ // Stripe Connect has not been used, bail.
247
+ $account_id = edd_get_option( 'stripe_connect_account_id', '' );
248
+
249
+ if ( empty( $account_id ) ) {
250
+ return;
251
+ }
252
+
253
+ // Account country is already set, bail.
254
+ $account_country = edd_get_option( 'stripe_connect_account_country', '' );
255
+
256
+ if ( ! empty( $account_country ) ) {
257
+ return;
258
+ }
259
+
260
+ try {
261
+ $account = edds_api_request( 'Account', 'retrieve', $account_id );
262
+
263
+ if ( isset( $account->country ) ) {
264
+ $account_country = sanitize_text_field(
265
+ strtolower( $account->country )
266
+ );
267
+
268
+ edd_update_option(
269
+ 'stripe_connect_account_country',
270
+ $account_country
271
+ );
272
+ }
273
+ } catch ( \Exception $e ) {
274
+ // Do nothing.
275
+ }
276
+ }
277
+ add_action( 'admin_init', 'edds_stripe_connect_maybe_refresh_account_country' );
278
+
279
  /**
280
  * Renders custom HTML for the "Stripe Connect" setting field in the Stripe Payment Gateway
281
  * settings subtab.
includes/gateways/stripe/includes/functions.php CHANGED
@@ -551,6 +551,40 @@ function edds_documentation_route( $type ) {
551
 
552
  }
553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554
  /**
555
  * Refunds a charge made via Stripe.
556
  *
@@ -675,3 +709,13 @@ function edd_refund_stripe_purchase( $order_id_or_object, $refund_object = null
675
  */
676
  do_action( 'edds_payment_refunded', $order_id );
677
  }
 
 
 
 
 
 
 
 
 
 
551
 
552
  }
553
 
554
+ /**
555
+ * Determines if the current Stripe account's country supports application fees.
556
+ *
557
+ * @since 2.8.7
558
+ *
559
+ * @return bool True if the Stripe account country (or core "Base Country" setting)
560
+ * can use the `application_fee_amount` parameter in API requests.
561
+ * True if no country information can be found which will still be
562
+ * validated by Stripe when a request is made.
563
+ */
564
+ function edds_stripe_connect_account_country_supports_application_fees() {
565
+ $edd_country = edd_get_option( 'base_country', '' );
566
+
567
+ $account_country = edd_get_option(
568
+ 'stripe_connect_account_country',
569
+ $edd_country
570
+ );
571
+
572
+ // If we have no country to compare against try to add an application fee.
573
+ // If the Stripe account is actually one of the blocked countries an API
574
+ // error will be reflected in the Checkout.
575
+ if ( empty( $account_country ) ) {
576
+ return true;
577
+ }
578
+
579
+ $account_country = strtolower( $account_country );
580
+
581
+ $blocked_countries = array(
582
+ 'br',
583
+ );
584
+
585
+ return ! in_array( $account_country, $blocked_countries, true );
586
+ }
587
+
588
  /**
589
  * Refunds a charge made via Stripe.
590
  *
709
  */
710
  do_action( 'edds_payment_refunded', $order_id );
711
  }
712
+
713
+ /**
714
+ * Checks if Stripe preapproval is enabled. Pro must be active.
715
+ *
716
+ * @since 2.8.9
717
+ * @return bool
718
+ */
719
+ function edds_is_preapprove_enabled() {
720
+ return edds_is_pro() && edd_get_option( 'stripe_preapprove_only' );
721
+ }
includes/gateways/stripe/includes/gateway-actions.php CHANGED
@@ -46,7 +46,12 @@ add_action( 'init', 'edds_register_post_statuses', 110 );
46
  function edd_stripe_register_email_tags() {
47
  $statement_descriptor = edds_get_statement_descriptor();
48
  if ( ! empty( $statement_descriptor ) ) {
49
- edd_add_email_tag( 'stripe_statement_descriptor', __( 'Outputs a line stating what charges will appear as on customer\'s credit card statements.', 'easy-digital-downloads' ), 'edd_stripe_statement_descriptor_template_tag' );
 
 
 
 
 
50
  }
51
  }
52
  add_action( 'edd_add_email_tags', 'edd_stripe_register_email_tags' );
46
  function edd_stripe_register_email_tags() {
47
  $statement_descriptor = edds_get_statement_descriptor();
48
  if ( ! empty( $statement_descriptor ) ) {
49
+ edd_add_email_tag(
50
+ 'stripe_statement_descriptor',
51
+ __( 'Outputs a line stating what charges will appear as on customer\'s credit card statements.', 'easy-digital-downloads' ),
52
+ 'edd_stripe_statement_descriptor_template_tag',
53
+ __( 'Statement Descriptor', 'easy-digital-downloads' )
54
+ );
55
  }
56
  }
57
  add_action( 'edd_add_email_tags', 'edd_stripe_register_email_tags' );
includes/gateways/stripe/includes/payment-actions.php CHANGED
@@ -220,7 +220,7 @@ function edds_process_purchase_form( $purchase_data ) {
220
  }
221
 
222
  // Create a SetupIntent for a non-payment carts.
223
- if ( edd_get_option( 'stripe_preapprove_only' ) || 0 === $amount ) {
224
  $intent_args = array_merge(
225
  array(
226
  'usage' => 'off_session',
@@ -266,6 +266,8 @@ function edds_process_purchase_form( $purchase_data ) {
266
 
267
  if ( empty( $statement_descriptor ) ) {
268
  $statement_descriptor = null;
 
 
269
  }
270
 
271
  $intent_args = array_merge(
@@ -283,7 +285,10 @@ function edds_process_purchase_form( $purchase_data ) {
283
 
284
  $stripe_connect_account_id = edd_get_option( 'stripe_connect_account_id' );
285
 
286
- if ( ! empty( $stripe_connect_account_id ) ) {
 
 
 
287
  $intent_args['application_fee_amount'] = round( $amount * 0.02 );
288
  }
289
 
@@ -1016,7 +1021,7 @@ function edds_complete_payment() {
1016
  }
1017
 
1018
  // Mark payment as Preapproved.
1019
- if ( edd_get_option( 'stripe_preapprove_only' ) ) {
1020
  $payment->status = 'preapproval';
1021
 
1022
  // Complete payment and transition the Transaction ID to the actual Charge ID.
@@ -1137,7 +1142,7 @@ function edds_complete_payment_authorization() {
1137
  $payment->add_note( 'Stripe Charge ID: ' . $charge_id );
1138
  $payment->transaction_id = $charge_id;
1139
  $payment->status = 'publish';
1140
-
1141
 
1142
  if ( $payment->save() ) {
1143
 
@@ -1229,8 +1234,8 @@ function edds_get_payment_description( $cart_details ) {
1229
  if( is_array( $cart_details ) && ! empty( $cart_details ) ) {
1230
  foreach( $cart_details as $item ) {
1231
  $purchase_summary .= $item['name'];
1232
- $price_id = isset( $item['item_number']['options']['price_id'] )
1233
- ? absint( $item['item_number']['options']['price_id'] )
1234
  : false;
1235
 
1236
  if ( false !== $price_id ) {
@@ -1456,7 +1461,7 @@ function edd_stripe_maybe_refund_charge( $order_id, $refund_id, $all_refunded )
1456
  'Stripe - Exiting refund for order #%d - refund total is empty.',
1457
  $order_id
1458
  ) );
1459
-
1460
  return;
1461
  }
1462
 
220
  }
221
 
222
  // Create a SetupIntent for a non-payment carts.
223
+ if ( edds_is_preapprove_enabled() || 0 === $amount ) {
224
  $intent_args = array_merge(
225
  array(
226
  'usage' => 'off_session',
266
 
267
  if ( empty( $statement_descriptor ) ) {
268
  $statement_descriptor = null;
269
+ } elseif ( is_numeric( $statement_descriptor ) ) {
270
+ $statement_descriptor = edd_get_label_singular() . ' ' . $statement_descriptor;
271
  }
272
 
273
  $intent_args = array_merge(
285
 
286
  $stripe_connect_account_id = edd_get_option( 'stripe_connect_account_id' );
287
 
288
+ if (
289
+ ! empty( $stripe_connect_account_id ) &&
290
+ true === edds_stripe_connect_account_country_supports_application_fees()
291
+ ) {
292
  $intent_args['application_fee_amount'] = round( $amount * 0.02 );
293
  }
294
 
1021
  }
1022
 
1023
  // Mark payment as Preapproved.
1024
+ if ( edds_is_preapprove_enabled() ) {
1025
  $payment->status = 'preapproval';
1026
 
1027
  // Complete payment and transition the Transaction ID to the actual Charge ID.
1142
  $payment->add_note( 'Stripe Charge ID: ' . $charge_id );
1143
  $payment->transaction_id = $charge_id;
1144
  $payment->status = 'publish';
1145
+
1146
 
1147
  if ( $payment->save() ) {
1148
 
1234
  if( is_array( $cart_details ) && ! empty( $cart_details ) ) {
1235
  foreach( $cart_details as $item ) {
1236
  $purchase_summary .= $item['name'];
1237
+ $price_id = isset( $item['item_number']['options']['price_id'] )
1238
+ ? absint( $item['item_number']['options']['price_id'] )
1239
  : false;
1240
 
1241
  if ( false !== $price_id ) {
1461
  'Stripe - Exiting refund for order #%d - refund total is empty.',
1462
  $order_id
1463
  ) );
1464
+
1465
  return;
1466
  }
1467
 
includes/gateways/stripe/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit94680946e20b5dc0fd3aec2e7fc79212::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitce2073d68aa3da842e5b37a3b60e999a::getLoader();
includes/gateways/stripe/vendor/composer/ClassLoader.php CHANGED
@@ -338,7 +338,7 @@ class ClassLoader
338
  * Loads the given class or interface.
339
  *
340
  * @param string $class The name of the class
341
- * @return bool|null True if loaded, null otherwise
342
  */
343
  public function loadClass($class)
344
  {
@@ -347,6 +347,8 @@ class ClassLoader
347
 
348
  return true;
349
  }
 
 
350
  }
351
 
352
  /**
338
  * Loads the given class or interface.
339
  *
340
  * @param string $class The name of the class
341
+ * @return true|null True if loaded, null otherwise
342
  */
343
  public function loadClass($class)
344
  {
347
 
348
  return true;
349
  }
350
+
351
+ return null;
352
  }
353
 
354
  /**
includes/gateways/stripe/vendor/composer/InstalledVersions.php CHANGED
@@ -1,315 +1,337 @@
1
  <?php
2
 
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
 
13
  namespace Composer;
14
 
15
  use Composer\Autoload\ClassLoader;
16
  use Composer\Semver\VersionParser;
17
 
18
-
19
-
20
-
21
-
22
-
 
 
23
  class InstalledVersions
24
  {
25
- private static $installed = array (
26
- 'root' =>
27
- array (
28
- 'pretty_version' => 'dev-master',
29
- 'version' => 'dev-master',
30
- 'aliases' =>
31
- array (
32
- ),
33
- 'reference' => 'a2ea05befdc50285965a7c73099485d1dc67d86a',
34
- 'name' => 'easy-digital-downloads/edd-stripe',
35
- ),
36
- 'versions' =>
37
- array (
38
- 'composer/installers' =>
39
- array (
40
- 'pretty_version' => 'v1.11.0',
41
- 'version' => '1.11.0.0',
42
- 'aliases' =>
43
- array (
44
- ),
45
- 'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
46
- ),
47
- 'easy-digital-downloads/edd-stripe' =>
48
- array (
49
- 'pretty_version' => 'dev-master',
50
- 'version' => 'dev-master',
51
- 'aliases' =>
52
- array (
53
- ),
54
- 'reference' => 'a2ea05befdc50285965a7c73099485d1dc67d86a',
55
- ),
56
- 'roundcube/plugin-installer' =>
57
- array (
58
- 'replaced' =>
59
- array (
60
- 0 => '*',
61
- ),
62
- ),
63
- 'shama/baton' =>
64
- array (
65
- 'replaced' =>
66
- array (
67
- 0 => '*',
68
- ),
69
- ),
70
- 'stripe/stripe-php' =>
71
- array (
72
- 'pretty_version' => 'v7.47.0',
73
- 'version' => '7.47.0.0',
74
- 'aliases' =>
75
- array (
76
- ),
77
- 'reference' => 'b51656cb398d081fcee53a76f6edb8fd5c1a5306',
78
- ),
79
- ),
80
- );
81
- private static $canGetVendors;
82
- private static $installedByVendor = array();
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
- public static function getInstalledPackages()
91
- {
92
- $packages = array();
93
- foreach (self::getInstalled() as $installed) {
94
- $packages[] = array_keys($installed['versions']);
95
- }
96
-
97
-
98
- if (1 === \count($packages)) {
99
- return $packages[0];
100
- }
101
-
102
- return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
103
- }
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
- public static function isInstalled($packageName)
114
- {
115
- foreach (self::getInstalled() as $installed) {
116
- if (isset($installed['versions'][$packageName])) {
117
- return true;
118
- }
119
- }
120
-
121
- return false;
122
- }
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
- public static function satisfies(VersionParser $parser, $packageName, $constraint)
138
- {
139
- $constraint = $parser->parseConstraints($constraint);
140
- $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
141
-
142
- return $provided->matches($constraint);
143
- }
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
- public static function getVersionRanges($packageName)
155
- {
156
- foreach (self::getInstalled() as $installed) {
157
- if (!isset($installed['versions'][$packageName])) {
158
- continue;
159
- }
160
-
161
- $ranges = array();
162
- if (isset($installed['versions'][$packageName]['pretty_version'])) {
163
- $ranges[] = $installed['versions'][$packageName]['pretty_version'];
164
- }
165
- if (array_key_exists('aliases', $installed['versions'][$packageName])) {
166
- $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
167
- }
168
- if (array_key_exists('replaced', $installed['versions'][$packageName])) {
169
- $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
170
- }
171
- if (array_key_exists('provided', $installed['versions'][$packageName])) {
172
- $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
173
- }
174
-
175
- return implode(' || ', $ranges);
176
- }
177
-
178
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
179
- }
180
-
181
-
182
-
183
-
184
-
185
- public static function getVersion($packageName)
186
- {
187
- foreach (self::getInstalled() as $installed) {
188
- if (!isset($installed['versions'][$packageName])) {
189
- continue;
190
- }
191
-
192
- if (!isset($installed['versions'][$packageName]['version'])) {
193
- return null;
194
- }
195
-
196
- return $installed['versions'][$packageName]['version'];
197
- }
198
-
199
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
200
- }
201
-
202
-
203
-
204
-
205
-
206
- public static function getPrettyVersion($packageName)
207
- {
208
- foreach (self::getInstalled() as $installed) {
209
- if (!isset($installed['versions'][$packageName])) {
210
- continue;
211
- }
212
-
213
- if (!isset($installed['versions'][$packageName]['pretty_version'])) {
214
- return null;
215
- }
216
-
217
- return $installed['versions'][$packageName]['pretty_version'];
218
- }
219
-
220
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
221
- }
222
-
223
-
224
-
225
-
226
-
227
- public static function getReference($packageName)
228
- {
229
- foreach (self::getInstalled() as $installed) {
230
- if (!isset($installed['versions'][$packageName])) {
231
- continue;
232
- }
233
-
234
- if (!isset($installed['versions'][$packageName]['reference'])) {
235
- return null;
236
- }
237
-
238
- return $installed['versions'][$packageName]['reference'];
239
- }
240
-
241
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
242
- }
243
-
244
-
245
-
246
-
247
-
248
- public static function getRootPackage()
249
- {
250
- $installed = self::getInstalled();
251
-
252
- return $installed[0]['root'];
253
- }
254
-
255
-
256
-
257
-
258
-
259
-
260
-
261
- public static function getRawData()
262
- {
263
- return self::$installed;
264
- }
265
-
266
-
267
-
268
-
269
-
270
-
271
-
272
-
273
-
274
-
275
-
276
-
277
-
278
-
279
-
280
-
281
-
282
-
283
-
284
- public static function reload($data)
285
- {
286
- self::$installed = $data;
287
- self::$installedByVendor = array();
288
- }
289
-
290
-
291
-
292
-
293
- private static function getInstalled()
294
- {
295
- if (null === self::$canGetVendors) {
296
- self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
297
- }
298
-
299
- $installed = array();
300
-
301
- if (self::$canGetVendors) {
302
- foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
303
- if (isset(self::$installedByVendor[$vendorDir])) {
304
- $installed[] = self::$installedByVendor[$vendorDir];
305
- } elseif (is_file($vendorDir.'/composer/installed.php')) {
306
- $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
307
- }
308
- }
309
- }
310
-
311
- $installed[] = self::$installed;
312
-
313
- return $installed;
314
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
315
  }
1
  <?php
2
 
3
+ /*
4
+ * This file is part of Composer.
5
+ *
6
+ * (c) Nils Adermann <naderman@naderman.de>
7
+ * Jordi Boggiano <j.boggiano@seld.be>
8
+ *
9
+ * For the full copyright and license information, please view the LICENSE
10
+ * file that was distributed with this source code.
11
+ */
12
 
13
  namespace Composer;
14
 
15
  use Composer\Autoload\ClassLoader;
16
  use Composer\Semver\VersionParser;
17
 
18
+ /**
19
+ * This class is copied in every Composer installed project and available to all
20
+ *
21
+ * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
22
+ *
23
+ * To require it's presence, you can require `composer-runtime-api ^2.0`
24
+ */
25
  class InstalledVersions
26
  {
27
+ private static $installed;
28
+ private static $canGetVendors;
29
+ private static $installedByVendor = array();
30
+
31
+ /**
32
+ * Returns a list of all package names which are present, either by being installed, replaced or provided
33
+ *
34
+ * @return string[]
35
+ * @psalm-return list<string>
36
+ */
37
+ public static function getInstalledPackages()
38
+ {
39
+ $packages = array();
40
+ foreach (self::getInstalled() as $installed) {
41
+ $packages[] = array_keys($installed['versions']);
42
+ }
43
+
44
+ if (1 === \count($packages)) {
45
+ return $packages[0];
46
+ }
47
+
48
+ return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
49
+ }
50
+
51
+ /**
52
+ * Returns a list of all package names with a specific type e.g. 'library'
53
+ *
54
+ * @param string $type
55
+ * @return string[]
56
+ * @psalm-return list<string>
57
+ */
58
+ public static function getInstalledPackagesByType($type)
59
+ {
60
+ $packagesByType = array();
61
+
62
+ foreach (self::getInstalled() as $installed) {
63
+ foreach ($installed['versions'] as $name => $package) {
64
+ if (isset($package['type']) && $package['type'] === $type) {
65
+ $packagesByType[] = $name;
66
+ }
67
+ }
68
+ }
69
+
70
+ return $packagesByType;
71
+ }
72
+
73
+ /**
74
+ * Checks whether the given package is installed
75
+ *
76
+ * This also returns true if the package name is provided or replaced by another package
77
+ *
78
+ * @param string $packageName
79
+ * @param bool $includeDevRequirements
80
+ * @return bool
81
+ */
82
+ public static function isInstalled($packageName, $includeDevRequirements = true)
83
+ {
84
+ foreach (self::getInstalled() as $installed) {
85
+ if (isset($installed['versions'][$packageName])) {
86
+ return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
87
+ }
88
+ }
89
+
90
+ return false;
91
+ }
92
+
93
+ /**
94
+ * Checks whether the given package satisfies a version constraint
95
+ *
96
+ * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
97
+ *
98
+ * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
99
+ *
100
+ * @param VersionParser $parser Install composer/semver to have access to this class and functionality
101
+ * @param string $packageName
102
+ * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
103
+ * @return bool
104
+ */
105
+ public static function satisfies(VersionParser $parser, $packageName, $constraint)
106
+ {
107
+ $constraint = $parser->parseConstraints($constraint);
108
+ $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
109
+
110
+ return $provided->matches($constraint);
111
+ }
112
+
113
+ /**
114
+ * Returns a version constraint representing all the range(s) which are installed for a given package
115
+ *
116
+ * It is easier to use this via isInstalled() with the $constraint argument if you need to check
117
+ * whether a given version of a package is installed, and not just whether it exists
118
+ *
119
+ * @param string $packageName
120
+ * @return string Version constraint usable with composer/semver
121
+ */
122
+ public static function getVersionRanges($packageName)
123
+ {
124
+ foreach (self::getInstalled() as $installed) {
125
+ if (!isset($installed['versions'][$packageName])) {
126
+ continue;
127
+ }
128
+
129
+ $ranges = array();
130
+ if (isset($installed['versions'][$packageName]['pretty_version'])) {
131
+ $ranges[] = $installed['versions'][$packageName]['pretty_version'];
132
+ }
133
+ if (array_key_exists('aliases', $installed['versions'][$packageName])) {
134
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
135
+ }
136
+ if (array_key_exists('replaced', $installed['versions'][$packageName])) {
137
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
138
+ }
139
+ if (array_key_exists('provided', $installed['versions'][$packageName])) {
140
+ $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
141
+ }
142
+
143
+ return implode(' || ', $ranges);
144
+ }
145
+
146
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
147
+ }
148
+
149
+ /**
150
+ * @param string $packageName
151
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
152
+ */
153
+ public static function getVersion($packageName)
154
+ {
155
+ foreach (self::getInstalled() as $installed) {
156
+ if (!isset($installed['versions'][$packageName])) {
157
+ continue;
158
+ }
159
+
160
+ if (!isset($installed['versions'][$packageName]['version'])) {
161
+ return null;
162
+ }
163
+
164
+ return $installed['versions'][$packageName]['version'];
165
+ }
166
+
167
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
168
+ }
169
+
170
+ /**
171
+ * @param string $packageName
172
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
173
+ */
174
+ public static function getPrettyVersion($packageName)
175
+ {
176
+ foreach (self::getInstalled() as $installed) {
177
+ if (!isset($installed['versions'][$packageName])) {
178
+ continue;
179
+ }
180
+
181
+ if (!isset($installed['versions'][$packageName]['pretty_version'])) {
182
+ return null;
183
+ }
184
+
185
+ return $installed['versions'][$packageName]['pretty_version'];
186
+ }
187
+
188
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
189
+ }
190
+
191
+ /**
192
+ * @param string $packageName
193
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
194
+ */
195
+ public static function getReference($packageName)
196
+ {
197
+ foreach (self::getInstalled() as $installed) {
198
+ if (!isset($installed['versions'][$packageName])) {
199
+ continue;
200
+ }
201
+
202
+ if (!isset($installed['versions'][$packageName]['reference'])) {
203
+ return null;
204
+ }
205
+
206
+ return $installed['versions'][$packageName]['reference'];
207
+ }
208
+
209
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
210
+ }
211
+
212
+ /**
213
+ * @param string $packageName
214
+ * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
215
+ */
216
+ public static function getInstallPath($packageName)
217
+ {
218
+ foreach (self::getInstalled() as $installed) {
219
+ if (!isset($installed['versions'][$packageName])) {
220
+ continue;
221
+ }
222
+
223
+ return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
224
+ }
225
+
226
+ throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
227
+ }
228
+
229
+ /**
230
+ * @return array
231
+ * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}
232
+ */
233
+ public static function getRootPackage()
234
+ {
235
+ $installed = self::getInstalled();
236
+
237
+ return $installed[0]['root'];
238
+ }
239
+
240
+ /**
241
+ * Returns the raw installed.php data for custom implementations
242
+ *
243
+ * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
244
+ * @return array[]
245
+ * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}
246
+ */
247
+ public static function getRawData()
248
+ {
249
+ @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
250
+
251
+ if (null === self::$installed) {
252
+ // only require the installed.php file if this file is loaded from its dumped location,
253
+ // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
254
+ if (substr(__DIR__, -8, 1) !== 'C') {
255
+ self::$installed = include __DIR__ . '/installed.php';
256
+ } else {
257
+ self::$installed = array();
258
+ }
259
+ }
260
+
261
+ return self::$installed;
262
+ }
263
+
264
+ /**
265
+ * Returns the raw data of all installed.php which are currently loaded for custom implementations
266
+ *
267
+ * @return array[]
268
+ * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
269
+ */
270
+ public static function getAllRawData()
271
+ {
272
+ return self::getInstalled();
273
+ }
274
+
275
+ /**
276
+ * Lets you reload the static array from another file
277
+ *
278
+ * This is only useful for complex integrations in which a project needs to use
279
+ * this class but then also needs to execute another project's autoloader in process,
280
+ * and wants to ensure both projects have access to their version of installed.php.
281
+ *
282
+ * A typical case would be PHPUnit, where it would need to make sure it reads all
283
+ * the data it needs from this class, then call reload() with
284
+ * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
285
+ * the project in which it runs can then also use this class safely, without
286
+ * interference between PHPUnit's dependencies and the project's dependencies.
287
+ *
288
+ * @param array[] $data A vendor/composer/installed.php data set
289
+ * @return void
290
+ *
291
+ * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>} $data
292
+ */
293
+ public static function reload($data)
294
+ {
295
+ self::$installed = $data;
296
+ self::$installedByVendor = array();
297
+ }
298
+
299
+ /**
300
+ * @return array[]
301
+ * @psalm-return list<array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string}, versions: array<string, array{dev_requirement: bool, pretty_version?: string, version?: string, aliases?: string[], reference?: string, replaced?: string[], provided?: string[], install_path?: string}>}>
302
+ */
303
+ private static function getInstalled()
304
+ {
305
+ if (null === self::$canGetVendors) {
306
+ self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
307
+ }
308
+
309
+ $installed = array();
310
+
311
+ if (self::$canGetVendors) {
312
+ foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
313
+ if (isset(self::$installedByVendor[$vendorDir])) {
314
+ $installed[] = self::$installedByVendor[$vendorDir];
315
+ } elseif (is_file($vendorDir.'/composer/installed.php')) {
316
+ $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
317
+ if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
318
+ self::$installed = $installed[count($installed) - 1];
319
+ }
320
+ }
321
+ }
322
+ }
323
+
324
+ if (null === self::$installed) {
325
+ // only require the installed.php file if this file is loaded from its dumped location,
326
+ // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
327
+ if (substr(__DIR__, -8, 1) !== 'C') {
328
+ self::$installed = require __DIR__ . '/installed.php';
329
+ } else {
330
+ self::$installed = array();
331
+ }
332
+ }
333
+ $installed[] = self::$installed;
334
+
335
+ return $installed;
336
+ }
337
  }
includes/gateways/stripe/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit94680946e20b5dc0fd3aec2e7fc79212
6
  {
7
  private static $loader;
8
 
@@ -24,15 +24,15 @@ class ComposerAutoloaderInit94680946e20b5dc0fd3aec2e7fc79212
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
- spl_autoload_register(array('ComposerAutoloaderInit94680946e20b5dc0fd3aec2e7fc79212', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
- spl_autoload_unregister(array('ComposerAutoloaderInit94680946e20b5dc0fd3aec2e7fc79212', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
- call_user_func(\Composer\Autoload\ComposerStaticInit94680946e20b5dc0fd3aec2e7fc79212::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitce2073d68aa3da842e5b37a3b60e999a
6
  {
7
  private static $loader;
8
 
24
 
25
  require __DIR__ . '/platform_check.php';
26
 
27
+ spl_autoload_register(array('ComposerAutoloaderInitce2073d68aa3da842e5b37a3b60e999a', 'loadClassLoader'), true, true);
28
  self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
29
+ spl_autoload_unregister(array('ComposerAutoloaderInitce2073d68aa3da842e5b37a3b60e999a', 'loadClassLoader'));
30
 
31
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
32
  if ($useStaticLoader) {
33
  require __DIR__ . '/autoload_static.php';
34
 
35
+ call_user_func(\Composer\Autoload\ComposerStaticInitce2073d68aa3da842e5b37a3b60e999a::getInitializer($loader));
36
  } else {
37
  $map = require __DIR__ . '/autoload_namespaces.php';
38
  foreach ($map as $namespace => $path) {
includes/gateways/stripe/vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit94680946e20b5dc0fd3aec2e7fc79212
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
@@ -35,9 +35,9 @@ class ComposerStaticInit94680946e20b5dc0fd3aec2e7fc79212
35
  public static function getInitializer(ClassLoader $loader)
36
  {
37
  return \Closure::bind(function () use ($loader) {
38
- $loader->prefixLengthsPsr4 = ComposerStaticInit94680946e20b5dc0fd3aec2e7fc79212::$prefixLengthsPsr4;
39
- $loader->prefixDirsPsr4 = ComposerStaticInit94680946e20b5dc0fd3aec2e7fc79212::$prefixDirsPsr4;
40
- $loader->classMap = ComposerStaticInit94680946e20b5dc0fd3aec2e7fc79212::$classMap;
41
 
42
  }, null, ClassLoader::class);
43
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitce2073d68aa3da842e5b37a3b60e999a
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'S' =>
35
  public static function getInitializer(ClassLoader $loader)
36
  {
37
  return \Closure::bind(function () use ($loader) {
38
+ $loader->prefixLengthsPsr4 = ComposerStaticInitce2073d68aa3da842e5b37a3b60e999a::$prefixLengthsPsr4;
39
+ $loader->prefixDirsPsr4 = ComposerStaticInitce2073d68aa3da842e5b37a3b60e999a::$prefixDirsPsr4;
40
+ $loader->classMap = ComposerStaticInitce2073d68aa3da842e5b37a3b60e999a::$classMap;
41
 
42
  }, null, ClassLoader::class);
43
  }
includes/gateways/stripe/vendor/composer/installed.php CHANGED
@@ -1,56 +1,53 @@
1
- <?php return array (
2
- 'root' =>
3
- array (
4
- 'pretty_version' => 'dev-master',
5
- 'version' => 'dev-master',
6
- 'aliases' =>
7
- array (
 
 
 
8
  ),
9
- 'reference' => 'a2ea05befdc50285965a7c73099485d1dc67d86a',
10
- 'name' => 'easy-digital-downloads/edd-stripe',
11
- ),
12
- 'versions' =>
13
- array (
14
- 'composer/installers' =>
15
- array (
16
- 'pretty_version' => 'v1.11.0',
17
- 'version' => '1.11.0.0',
18
- 'aliases' =>
19
- array (
20
- ),
21
- 'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
  ),
23
- 'easy-digital-downloads/edd-stripe' =>
24
- array (
25
- 'pretty_version' => 'dev-master',
26
- 'version' => 'dev-master',
27
- 'aliases' =>
28
- array (
29
- ),
30
- 'reference' => 'a2ea05befdc50285965a7c73099485d1dc67d86a',
31
- ),
32
- 'roundcube/plugin-installer' =>
33
- array (
34
- 'replaced' =>
35
- array (
36
- 0 => '*',
37
- ),
38
- ),
39
- 'shama/baton' =>
40
- array (
41
- 'replaced' =>
42
- array (
43
- 0 => '*',
44
- ),
45
- ),
46
- 'stripe/stripe-php' =>
47
- array (
48
- 'pretty_version' => 'v7.47.0',
49
- 'version' => '7.47.0.0',
50
- 'aliases' =>
51
- array (
52
- ),
53
- 'reference' => 'b51656cb398d081fcee53a76f6edb8fd5c1a5306',
54
- ),
55
- ),
56
  );
1
+ <?php return array(
2
+ 'root' => array(
3
+ 'pretty_version' => 'dev-master',
4
+ 'version' => 'dev-master',
5
+ 'type' => 'wordpress-plugin',
6
+ 'install_path' => __DIR__ . '/../../',
7
+ 'aliases' => array(),
8
+ 'reference' => '9e4551f2be6b579c115ce4ebd6a8897b89f7f16a',
9
+ 'name' => 'easy-digital-downloads/edd-stripe',
10
+ 'dev' => false,
11
  ),
12
+ 'versions' => array(
13
+ 'composer/installers' => array(
14
+ 'pretty_version' => 'v1.11.0',
15
+ 'version' => '1.11.0.0',
16
+ 'type' => 'composer-plugin',
17
+ 'install_path' => __DIR__ . '/./installers',
18
+ 'aliases' => array(),
19
+ 'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
20
+ 'dev_requirement' => false,
21
+ ),
22
+ 'easy-digital-downloads/edd-stripe' => array(
23
+ 'pretty_version' => 'dev-master',
24
+ 'version' => 'dev-master',
25
+ 'type' => 'wordpress-plugin',
26
+ 'install_path' => __DIR__ . '/../../',
27
+ 'aliases' => array(),
28
+ 'reference' => '9e4551f2be6b579c115ce4ebd6a8897b89f7f16a',
29
+ 'dev_requirement' => false,
30
+ ),
31
+ 'roundcube/plugin-installer' => array(
32
+ 'dev_requirement' => false,
33
+ 'replaced' => array(
34
+ 0 => '*',
35
+ ),
36
+ ),
37
+ 'shama/baton' => array(
38
+ 'dev_requirement' => false,
39
+ 'replaced' => array(
40
+ 0 => '*',
41
+ ),
42
+ ),
43
+ 'stripe/stripe-php' => array(
44
+ 'pretty_version' => 'v7.47.0',
45
+ 'version' => '7.47.0.0',
46
+ 'type' => 'library',
47
+ 'install_path' => __DIR__ . '/../stripe/stripe-php',
48
+ 'aliases' => array(),
49
+ 'reference' => 'b51656cb398d081fcee53a76f6edb8fd5c1a5306',
50
+ 'dev_requirement' => false,
51
+ ),
52
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
  );
languages/easy-digital-downloads.pot CHANGED
@@ -1,10 +1,10 @@
1
- # Copyright (C) 2021 Sandhills Development, LLC
2
  # This file is distributed under the same license as the Easy Digital Downloads package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Easy Digital Downloads 2.11.1\n"
6
  "Report-Msgid-Bugs-To: https://easydigitaldownloads.com/\n"
7
- "POT-Creation-Date: 2021-08-30 23:22:18+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -102,7 +102,7 @@ msgstr ""
102
  #: includes/cart/class-edd-cart.php:1433 includes/cart/class-edd-cart.php:1447
103
  #: includes/class-edd-license-handler.php:385
104
  #: includes/deprecated-functions.php:517 includes/deprecated-functions.php:532
105
- #: includes/deprecated-functions.php:542 includes/download-functions.php:1277
106
  #: includes/emails/actions.php:53 includes/emails/template.php:243
107
  #: includes/error-tracking.php:60 includes/gateways/functions.php:243
108
  #: includes/gateways/manual.php:33
@@ -111,7 +111,7 @@ msgstr ""
111
  #: includes/gateways/paypal/admin/connect.php:592
112
  #: includes/gateways/paypal-standard.php:172
113
  #: includes/gateways/stripe/includes/admin/upgrade-functions.php:57
114
- #: includes/gateways/stripe/includes/payment-actions.php:1403
115
  #: includes/process-download.php:303 includes/process-download.php:894
116
  #: includes/query-filters.php:48 includes/user-functions.php:895
117
  #: includes/user-functions.php:920 includes/user-functions.php:973
@@ -719,7 +719,7 @@ msgid "City"
719
  msgstr ""
720
 
721
  #: includes/admin/customers/customers.php:269
722
- #: includes/admin/settings/register-settings.php:2297
723
  #: includes/admin/tools.php:695 includes/checkout/template.php:435
724
  #: templates/shortcode-profile-editor.php:171
725
  msgid "State / Province"
@@ -766,7 +766,7 @@ msgstr ""
766
  #: includes/admin/payments/view-order-details.php:684
767
  #: includes/admin/payments/view-order-details.php:704
768
  #: includes/admin/thickbox.php:136 includes/class-edd-html-elements.php:796
769
- #: includes/gateways/stripe/includes/admin/admin-filters.php:87
770
  #: includes/gateways/stripe/includes/template-functions.php:597
771
  #: includes/gateways/stripe/includes/template-functions.php:637
772
  msgid "Cancel"
@@ -827,7 +827,7 @@ msgstr ""
827
  #: includes/admin/downloads/metabox.php:714
828
  #: includes/admin/downloads/metabox.php:839
829
  #: includes/admin/payments/view-order-details.php:523
830
- #: includes/admin/settings/register-settings.php:2300 includes/scripts.php:227
831
  #: templates/checkout_cart.php:57 templates/checkout_cart.php:75
832
  #: templates/shortcode-profile-editor.php:123
833
  msgid "Remove"
@@ -2775,7 +2775,7 @@ msgstr ""
2775
 
2776
  #: includes/admin/reporting/class-export-payments.php:68
2777
  #: includes/admin/reporting/export/class-batch-export-payments.php:49
2778
- #: includes/admin/settings/register-settings.php:2296
2779
  #: includes/admin/tools.php:713
2780
  #: includes/gateways/stripe/includes/template-functions.php:510
2781
  #: includes/gateways/stripe/includes/template-functions.php:519
@@ -4544,172 +4544,170 @@ msgid "Upload File"
4544
  msgstr ""
4545
 
4546
  #: includes/admin/settings/register-settings.php:2176
4547
- msgid ""
4548
- "<a href=\"https://sendwp.com/account/\" target=\"_blank\" rel=\"noopener "
4549
- "noreferrer\">Access your SendWP account</a>."
4550
  msgstr ""
4551
 
4552
- #: includes/admin/settings/register-settings.php:2196
4553
  msgid "SendWP plugin activated."
4554
  msgstr ""
4555
 
4556
- #: includes/admin/settings/register-settings.php:2199
4557
  msgid "Disconnect SendWP"
4558
  msgstr ""
4559
 
4560
- #: includes/admin/settings/register-settings.php:2206
4561
  msgid ""
4562
  "We recommend SendWP to ensure quick and reliable delivery of all emails "
4563
  "sent from your store, such as purchase receipts, subscription renewal "
4564
  "reminders, password resets, and more."
4565
  msgstr ""
4566
 
4567
- #: includes/admin/settings/register-settings.php:2206
4568
  msgid "%sLearn more%s"
4569
  msgstr ""
4570
 
4571
- #: includes/admin/settings/register-settings.php:2209
4572
  msgid "Connect with SendWP"
4573
  msgstr ""
4574
 
4575
- #: includes/admin/settings/register-settings.php:2245
4576
  msgid "Recapture plugin activated."
4577
  msgstr ""
4578
 
4579
- #: includes/admin/settings/register-settings.php:2246
4580
  msgid "%sAccess your Recapture account%s."
4581
  msgstr ""
4582
 
4583
- #: includes/admin/settings/register-settings.php:2251
4584
  msgid "Disconnect Recapture"
4585
  msgstr ""
4586
 
4587
- #: includes/admin/settings/register-settings.php:2255
4588
  msgid "%sComplete your connection to Recapture%s"
4589
  msgstr ""
4590
 
4591
- #: includes/admin/settings/register-settings.php:2263
4592
  msgid ""
4593
  "We recommend Recapture for recovering lost revenue by automatically sending "
4594
  "effective, targeted emails to customers who abandon their shopping cart."
4595
  msgstr ""
4596
 
4597
- #: includes/admin/settings/register-settings.php:2263
4598
  msgid "%sLearn more%s (Free trial available)"
4599
  msgstr ""
4600
 
4601
- #: includes/admin/settings/register-settings.php:2267
4602
  msgid "Connect with Recapture"
4603
  msgstr ""
4604
 
4605
- #: includes/admin/settings/register-settings.php:2298
4606
  msgid "Country Wide"
4607
  msgstr ""
4608
 
4609
- #: includes/admin/settings/register-settings.php:2299
4610
  msgid "Rate"
4611
  msgstr ""
4612
 
4613
- #: includes/admin/settings/register-settings.php:2299
4614
  msgid ""
4615
  "<strong>Regional tax rates: </strong>When a customer enters an address on "
4616
  "checkout that matches the specified region for this tax rate, the cart tax "
4617
  "will adjust automatically. Enter a percentage, such as 6.5 for 6.5%."
4618
  msgstr ""
4619
 
4620
- #: includes/admin/settings/register-settings.php:2316
4621
- #: includes/admin/settings/register-settings.php:2364
4622
  msgid "Choose a country"
4623
  msgstr ""
4624
 
4625
- #: includes/admin/settings/register-settings.php:2334
4626
  msgid "Choose a state"
4627
  msgstr ""
4628
 
4629
- #: includes/admin/settings/register-settings.php:2346
4630
- #: includes/admin/settings/register-settings.php:2377
4631
  msgid "Apply to whole country"
4632
  msgstr ""
4633
 
4634
- #: includes/admin/settings/register-settings.php:2349
4635
- #: includes/admin/settings/register-settings.php:2380
4636
  msgid "Remove Rate"
4637
  msgstr ""
4638
 
4639
- #: includes/admin/settings/register-settings.php:2385
4640
  msgid "Add Tax Rate"
4641
  msgstr ""
4642
 
4643
- #: includes/admin/settings/register-settings.php:2438
4644
  msgid ""
4645
  "Your license key expired on %s. Please <a href=\"%s\" "
4646
  "target=\"_blank\">renew your license key</a>."
4647
  msgstr ""
4648
 
4649
- #: includes/admin/settings/register-settings.php:2451
4650
  msgid ""
4651
  "Your license key has been disabled. Please <a href=\"%s\" "
4652
  "target=\"_blank\">contact support</a> for more information."
4653
  msgstr ""
4654
 
4655
- #: includes/admin/settings/register-settings.php:2463
4656
  msgid ""
4657
  "Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
4658
  "page</a> and verify it."
4659
  msgstr ""
4660
 
4661
- #: includes/admin/settings/register-settings.php:2476
4662
  msgid ""
4663
  "Your %s is not active for this URL. Please <a href=\"%s\" "
4664
  "target=\"_blank\">visit your account page</a> to manage your license key "
4665
  "URLs."
4666
  msgstr ""
4667
 
4668
- #: includes/admin/settings/register-settings.php:2488
4669
  msgid "This appears to be an invalid license key for %s."
4670
  msgstr ""
4671
 
4672
- #: includes/admin/settings/register-settings.php:2497
4673
  msgid ""
4674
  "Your license key has reached its activation limit. <a href=\"%s\">View "
4675
  "possible upgrades</a> now."
4676
  msgstr ""
4677
 
4678
- #: includes/admin/settings/register-settings.php:2506
4679
  msgid ""
4680
  "The key you entered belongs to a bundle, please use the product specific "
4681
  "license key."
4682
  msgstr ""
4683
 
4684
- #: includes/admin/settings/register-settings.php:2514
4685
  msgid "unknown_error"
4686
  msgstr ""
4687
 
4688
- #: includes/admin/settings/register-settings.php:2515
4689
  msgid ""
4690
  "There was an error with this license key: %s. Please <a href=\"%s\">contact "
4691
  "our support team</a>."
4692
  msgstr ""
4693
 
4694
- #: includes/admin/settings/register-settings.php:2535
4695
  msgid "License key never expires."
4696
  msgstr ""
4697
 
4698
- #: includes/admin/settings/register-settings.php:2542
4699
  msgid ""
4700
  "Your license key expires soon! It expires on %s. <a href=\"%s\" "
4701
  "target=\"_blank\">Renew your license key</a>."
4702
  msgstr ""
4703
 
4704
- #: includes/admin/settings/register-settings.php:2552
4705
  msgid "Your license key expires on %s."
4706
  msgstr ""
4707
 
4708
- #: includes/admin/settings/register-settings.php:2570
4709
  msgid "To receive updates, please enter your valid %s license key."
4710
  msgstr ""
4711
 
4712
- #: includes/admin/settings/register-settings.php:2583
4713
  msgid "Deactivate License"
4714
  msgstr ""
4715
 
@@ -6627,7 +6625,7 @@ msgstr ""
6627
  msgid "Sorry but you have hit your download limit for this file."
6628
  msgstr ""
6629
 
6630
- #: includes/deprecated-functions.php:532 includes/download-functions.php:1277
6631
  msgid "Sorry but your download link has expired."
6632
  msgstr ""
6633
 
@@ -7019,7 +7017,7 @@ msgid "Sign up for PayPal"
7019
  msgstr ""
7020
 
7021
  #: includes/gateways/paypal/admin/connect.php:80
7022
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:249
7023
  msgid "Retrieving account information..."
7024
  msgstr ""
7025
 
@@ -7220,39 +7218,50 @@ msgid "Account not ready to accept payments."
7220
  msgstr ""
7221
 
7222
  #: includes/gateways/paypal/checkout-actions.php:148
7223
- #: includes/gateways/paypal/checkout-actions.php:309
7224
  #: includes/gateways/paypal/scripts.php:118
7225
  msgid "An unexpected error occurred. Please try again."
7226
  msgstr ""
7227
 
7228
- #: includes/gateways/paypal/checkout-actions.php:224
7229
- #: includes/gateways/paypal/checkout-actions.php:254
7230
- #: includes/gateways/paypal/checkout-actions.php:408
 
 
 
 
 
 
 
 
 
 
 
7231
  msgid "An error occurred while communicating with PayPal. Please try again."
7232
  msgstr ""
7233
 
7234
- #: includes/gateways/paypal/checkout-actions.php:252
7235
- #: includes/gateways/paypal/checkout-actions.php:406
7236
  msgid "An authentication error occurred. Please try again."
7237
  msgstr ""
7238
 
7239
- #: includes/gateways/paypal/checkout-actions.php:286
7240
- #: includes/gateways/paypal/checkout-actions.php:294
7241
- #: includes/gateways/paypal/checkout-actions.php:301
7242
  msgid "A validation error occurred. Please try again."
7243
  msgstr ""
7244
 
7245
- #: includes/gateways/paypal/checkout-actions.php:322
7246
  msgid "Failed to process payment. Please try again."
7247
  msgstr ""
7248
 
7249
- #: includes/gateways/paypal/checkout-actions.php:331
7250
  msgid ""
7251
  "Unable to complete your order with your chosen payment method. Please "
7252
  "choose a new funding source."
7253
  msgstr ""
7254
 
7255
- #: includes/gateways/paypal/checkout-actions.php:396
7256
  #: includes/gateways/paypal-standard.php:671
7257
  #: tests/helpers/class-helper-payment.php:131
7258
  #: tests/helpers/class-helper-payment.php:234
@@ -7693,7 +7702,7 @@ msgstr ""
7693
  msgid "Refund Charge in Stripe"
7694
  msgstr ""
7695
 
7696
- #: includes/gateways/stripe/includes/admin/admin-filters.php:84
7697
  msgid "Process"
7698
  msgstr ""
7699
 
@@ -7789,7 +7798,7 @@ msgid ""
7789
  msgstr ""
7790
 
7791
  #: includes/gateways/stripe/includes/admin/notices.php:39
7792
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:539
7793
  #: includes/gateways/stripe/includes/payment-methods/payment-request/apple-pay.php:22
7794
  msgid "Unable to locate registry"
7795
  msgstr ""
@@ -7798,33 +7807,41 @@ msgstr ""
7798
  msgid "Stripe-specific reports have been removed."
7799
  msgstr ""
7800
 
7801
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:202
7802
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:483
7803
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:545
 
 
 
 
 
 
 
 
7804
  msgid "Connect with Stripe"
7805
  msgstr ""
7806
 
7807
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:212
7808
  msgid ""
7809
  "Connect with Stripe for pay as you go pricing: 2% per-transaction fee + "
7810
  "Stripe fees."
7811
  msgstr ""
7812
 
7813
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:223
7814
  #. translators: %1$s Opening anchor tag, do not translate. %2$s Closing anchor
7815
  #. tag, do not translate.
7816
  msgid "Have questions about connecting with Stripe? See the %1$sdocumentation%2$s."
7817
  msgstr ""
7818
 
7819
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:262
7820
  msgid "Manage API keys manually"
7821
  msgstr ""
7822
 
7823
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:272
7824
  msgid "Hide API keys"
7825
  msgstr ""
7826
 
7827
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:278
7828
  msgid ""
7829
  "Although you can add your API keys manually, we recommend using Stripe "
7830
  "Connect: an easier and more secure way of connecting your Stripe account to "
@@ -7834,11 +7851,11 @@ msgid ""
7834
  "just a few clicks."
7835
  msgstr ""
7836
 
7837
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:296
7838
  msgid "Unable to retrieve account information."
7839
  msgstr ""
7840
 
7841
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:321
7842
  #. translators: %1$s Stripe payment mode. %2$s Opening anchor tag for
7843
  #. reconnecting to Stripe, do not translate. %3$s Opening anchor tag for
7844
  #. disconnecting Stripe, do not translate. %4$s Closing anchor tag, do not
@@ -7848,56 +7865,56 @@ msgid ""
7848
  "mode%4$s, or %3$sdisconnect this account%4$s."
7849
  msgstr ""
7850
 
7851
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:353
7852
  #. translators: %1$s Opening bold tag, do not translate. %2$s Closing bold tag,
7853
  #. do not translate.
7854
  msgid "Webhooks cannot be configured for recurring purchases with this account."
7855
  msgstr ""
7856
 
7857
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:371
7858
  #. translators: %1$s Opening anchor tag for disconnecting Stripe, do not
7859
  #. translate. %2$s Closing anchor tag, do not translate.
7860
  msgid "%1$sDisconnect this account%2$s."
7861
  msgstr ""
7862
 
7863
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:437
7864
  msgid "Pay as you go pricing: 2% per-transaction fee + Stripe fees."
7865
  msgstr ""
7866
 
7867
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:449
7868
  msgid "Administrator (Owner)"
7869
  msgstr ""
7870
 
7871
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:460
7872
  msgid ""
7873
  "The API keys provided do not match the Stripe Connect account associated "
7874
  "with this installation. If you have manually modified these values after "
7875
  "connecting your account, please reconnect below or update your API keys."
7876
  msgstr ""
7877
 
7878
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:486
7879
  msgid ""
7880
  "It is highly recommended to Connect with Stripe for easier setup and "
7881
  "improved security."
7882
  msgstr ""
7883
 
7884
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:499
7885
  #. translators: %1$s Stripe payment mode.
7886
  msgid "Your manually managed %1$s mode API keys are valid."
7887
  msgstr ""
7888
 
7889
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:515
7890
  #. translators: %1$s Stripe payment mode.
7891
  msgid "Your manually managed %1$s mode API keys are invalid."
7892
  msgstr ""
7893
 
7894
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:555
7895
  msgid ""
7896
  "Start accepting payments with Stripe by connecting your account. Stripe "
7897
  "Connect helps ensure easier setup and improved security."
7898
  msgstr ""
7899
 
7900
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:576
7901
  #. translators: %s Test mode status. Enabled or disabled.
7902
  msgid "\"Test Mode\" has been %s. Please verify your Stripe connection status."
7903
  msgstr ""
@@ -7995,6 +8012,7 @@ msgid "No address fields"
7995
  msgstr ""
7996
 
7997
  #: includes/gateways/stripe/includes/admin/settings.php:121
 
7998
  msgid "Statement Descriptor"
7999
  msgstr ""
8000
 
@@ -8100,14 +8118,6 @@ msgid ""
8100
  "recommendations%2$s."
8101
  msgstr ""
8102
 
8103
- #: includes/gateways/stripe/includes/admin/settings.php:431
8104
- #. translators: %1$s Opening anchor tag, do not translate. %2$s Closing anchor
8105
- #. tag, do not translate.
8106
- msgid ""
8107
- "There was an error getting your Stripe credentials. Please %1$stry "
8108
- "again%2$s. If you continue to have this problem, please contact support."
8109
- msgstr ""
8110
-
8111
  #: includes/gateways/stripe/includes/admin/upgrade-functions.php:32
8112
  #. translators: %s Upgrade link.
8113
  msgid ""
@@ -8241,11 +8251,11 @@ msgid ""
8241
  "be completed. Please click the link below to take finalize your purchase"
8242
  msgstr ""
8243
 
8244
- #: includes/gateways/stripe/includes/functions.php:577
8245
  msgid "Invalid order ID."
8246
  msgstr ""
8247
 
8248
- #: includes/gateways/stripe/includes/functions.php:645
8249
  #. translators: %1$s the amount refunded; %2$s Stripe Refund ID
8250
  msgid "%1$s refunded in Stripe. Refund ID %2$s"
8251
  msgstr ""
@@ -8260,7 +8270,7 @@ msgid_plural "Active <span class=\"count\">(%s)</span>"
8260
  msgstr[0] ""
8261
  msgstr[1] ""
8262
 
8263
- #: includes/gateways/stripe/includes/gateway-actions.php:49
8264
  msgid ""
8265
  "Outputs a line stating what charges will appear as on customer's credit "
8266
  "card statements."
@@ -8375,56 +8385,56 @@ msgid ""
8375
  "for more information: https://easydigitaldownloads.com/development/"
8376
  msgstr ""
8377
 
8378
- #: includes/gateways/stripe/includes/payment-actions.php:341
8379
- #: includes/gateways/stripe/includes/payment-actions.php:361
8380
- #: includes/gateways/stripe/includes/payment-actions.php:379
8381
- #: includes/gateways/stripe/includes/payment-actions.php:455
8382
- #: includes/gateways/stripe/includes/payment-actions.php:537
8383
- #: includes/gateways/stripe/includes/payment-actions.php:625
8384
- #: includes/gateways/stripe/includes/payment-actions.php:712
8385
- #: includes/gateways/stripe/includes/payment-actions.php:923
8386
- #: includes/gateways/stripe/includes/payment-actions.php:1066
8387
  msgid "Stripe Error"
8388
  msgstr ""
8389
 
8390
- #: includes/gateways/stripe/includes/payment-actions.php:343
8391
- #: includes/gateways/stripe/includes/payment-actions.php:363
8392
  msgid "There was an error while processing a Stripe payment. Payment data: %s"
8393
  msgstr ""
8394
 
8395
- #: includes/gateways/stripe/includes/payment-actions.php:421
8396
- #: includes/gateways/stripe/includes/payment-actions.php:431
8397
- #: includes/gateways/stripe/includes/payment-actions.php:490
8398
- #: includes/gateways/stripe/includes/payment-actions.php:500
8399
- #: includes/gateways/stripe/includes/payment-actions.php:571
8400
- #: includes/gateways/stripe/includes/payment-actions.php:588
8401
- #: includes/gateways/stripe/includes/payment-actions.php:659
8402
- #: includes/gateways/stripe/includes/payment-actions.php:669
8403
- #: includes/gateways/stripe/includes/payment-actions.php:747
8404
- #: includes/gateways/stripe/includes/payment-actions.php:764
8405
- #: includes/gateways/stripe/includes/payment-actions.php:776
8406
- #: includes/gateways/stripe/includes/payment-actions.php:788
8407
- #: includes/gateways/stripe/includes/payment-actions.php:805
8408
- #: includes/gateways/stripe/includes/payment-actions.php:836
8409
- #: includes/gateways/stripe/includes/payment-actions.php:957
8410
- #: includes/gateways/stripe/includes/payment-actions.php:974
8411
- #: includes/gateways/stripe/includes/payment-actions.php:984
8412
- #: includes/gateways/stripe/includes/payment-actions.php:1003
8413
- #: includes/gateways/stripe/includes/payment-actions.php:1051
8414
- #: includes/gateways/stripe/includes/payment-actions.php:1097
8415
- #: includes/gateways/stripe/includes/payment-actions.php:1113
8416
- #: includes/gateways/stripe/includes/payment-actions.php:1126
8417
- #: includes/gateways/stripe/includes/payment-actions.php:1160
8418
  msgid ""
8419
  "An error occurred, but your payment may have gone through. Please contact "
8420
  "the site administrator."
8421
  msgstr ""
8422
 
8423
- #: includes/gateways/stripe/includes/payment-actions.php:908
8424
  msgid "Unable to create payment."
8425
  msgstr ""
8426
 
8427
- #: includes/gateways/stripe/includes/payment-actions.php:1445
8428
  msgid "Charge not refunded in Stripe, as checkbox was not selected."
8429
  msgstr ""
8430
 
@@ -10272,22 +10282,22 @@ msgctxt "no dropdown items"
10272
  msgid "None"
10273
  msgstr ""
10274
 
10275
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:314
10276
  msgctxt "Stripe Connect mode"
10277
  msgid "test"
10278
  msgstr ""
10279
 
10280
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:315
10281
  msgctxt "Stripe Connect mode"
10282
  msgid "live"
10283
  msgstr ""
10284
 
10285
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:566
10286
  msgctxt "gateway test mode status"
10287
  msgid "enabled"
10288
  msgstr ""
10289
 
10290
- #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:567
10291
  msgctxt "gateway test mode status"
10292
  msgid "disabled"
10293
  msgstr ""
1
+ # Copyright (C) 2021 Easy Digital Downloads
2
  # This file is distributed under the same license as the Easy Digital Downloads package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Easy Digital Downloads 2.11.2\n"
6
  "Report-Msgid-Bugs-To: https://easydigitaldownloads.com/\n"
7
+ "POT-Creation-Date: 2021-09-29 12:51:03+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
102
  #: includes/cart/class-edd-cart.php:1433 includes/cart/class-edd-cart.php:1447
103
  #: includes/class-edd-license-handler.php:385
104
  #: includes/deprecated-functions.php:517 includes/deprecated-functions.php:532
105
+ #: includes/deprecated-functions.php:542 includes/download-functions.php:1255
106
  #: includes/emails/actions.php:53 includes/emails/template.php:243
107
  #: includes/error-tracking.php:60 includes/gateways/functions.php:243
108
  #: includes/gateways/manual.php:33
111
  #: includes/gateways/paypal/admin/connect.php:592
112
  #: includes/gateways/paypal-standard.php:172
113
  #: includes/gateways/stripe/includes/admin/upgrade-functions.php:57
114
+ #: includes/gateways/stripe/includes/payment-actions.php:1408
115
  #: includes/process-download.php:303 includes/process-download.php:894
116
  #: includes/query-filters.php:48 includes/user-functions.php:895
117
  #: includes/user-functions.php:920 includes/user-functions.php:973
719
  msgstr ""
720
 
721
  #: includes/admin/customers/customers.php:269
722
+ #: includes/admin/settings/register-settings.php:2298
723
  #: includes/admin/tools.php:695 includes/checkout/template.php:435
724
  #: templates/shortcode-profile-editor.php:171
725
  msgid "State / Province"
766
  #: includes/admin/payments/view-order-details.php:684
767
  #: includes/admin/payments/view-order-details.php:704
768
  #: includes/admin/thickbox.php:136 includes/class-edd-html-elements.php:796
769
+ #: includes/gateways/stripe/includes/admin/admin-filters.php:96
770
  #: includes/gateways/stripe/includes/template-functions.php:597
771
  #: includes/gateways/stripe/includes/template-functions.php:637
772
  msgid "Cancel"
827
  #: includes/admin/downloads/metabox.php:714
828
  #: includes/admin/downloads/metabox.php:839
829
  #: includes/admin/payments/view-order-details.php:523
830
+ #: includes/admin/settings/register-settings.php:2301 includes/scripts.php:227
831
  #: templates/checkout_cart.php:57 templates/checkout_cart.php:75
832
  #: templates/shortcode-profile-editor.php:123
833
  msgid "Remove"
2775
 
2776
  #: includes/admin/reporting/class-export-payments.php:68
2777
  #: includes/admin/reporting/export/class-batch-export-payments.php:49
2778
+ #: includes/admin/settings/register-settings.php:2297
2779
  #: includes/admin/tools.php:713
2780
  #: includes/gateways/stripe/includes/template-functions.php:510
2781
  #: includes/gateways/stripe/includes/template-functions.php:519
4544
  msgstr ""
4545
 
4546
  #: includes/admin/settings/register-settings.php:2176
4547
+ msgid "Access your SendWP account"
 
 
4548
  msgstr ""
4549
 
4550
+ #: includes/admin/settings/register-settings.php:2197
4551
  msgid "SendWP plugin activated."
4552
  msgstr ""
4553
 
4554
+ #: includes/admin/settings/register-settings.php:2200
4555
  msgid "Disconnect SendWP"
4556
  msgstr ""
4557
 
4558
+ #: includes/admin/settings/register-settings.php:2207
4559
  msgid ""
4560
  "We recommend SendWP to ensure quick and reliable delivery of all emails "
4561
  "sent from your store, such as purchase receipts, subscription renewal "
4562
  "reminders, password resets, and more."
4563
  msgstr ""
4564
 
4565
+ #: includes/admin/settings/register-settings.php:2207
4566
  msgid "%sLearn more%s"
4567
  msgstr ""
4568
 
4569
+ #: includes/admin/settings/register-settings.php:2210
4570
  msgid "Connect with SendWP"
4571
  msgstr ""
4572
 
4573
+ #: includes/admin/settings/register-settings.php:2246
4574
  msgid "Recapture plugin activated."
4575
  msgstr ""
4576
 
4577
+ #: includes/admin/settings/register-settings.php:2247
4578
  msgid "%sAccess your Recapture account%s."
4579
  msgstr ""
4580
 
4581
+ #: includes/admin/settings/register-settings.php:2252
4582
  msgid "Disconnect Recapture"
4583
  msgstr ""
4584
 
4585
+ #: includes/admin/settings/register-settings.php:2256
4586
  msgid "%sComplete your connection to Recapture%s"
4587
  msgstr ""
4588
 
4589
+ #: includes/admin/settings/register-settings.php:2264
4590
  msgid ""
4591
  "We recommend Recapture for recovering lost revenue by automatically sending "
4592
  "effective, targeted emails to customers who abandon their shopping cart."
4593
  msgstr ""
4594
 
4595
+ #: includes/admin/settings/register-settings.php:2264
4596
  msgid "%sLearn more%s (Free trial available)"
4597
  msgstr ""
4598
 
4599
+ #: includes/admin/settings/register-settings.php:2268
4600
  msgid "Connect with Recapture"
4601
  msgstr ""
4602
 
4603
+ #: includes/admin/settings/register-settings.php:2299
4604
  msgid "Country Wide"
4605
  msgstr ""
4606
 
4607
+ #: includes/admin/settings/register-settings.php:2300
4608
  msgid "Rate"
4609
  msgstr ""
4610
 
4611
+ #: includes/admin/settings/register-settings.php:2300
4612
  msgid ""
4613
  "<strong>Regional tax rates: </strong>When a customer enters an address on "
4614
  "checkout that matches the specified region for this tax rate, the cart tax "
4615
  "will adjust automatically. Enter a percentage, such as 6.5 for 6.5%."
4616
  msgstr ""
4617
 
4618
+ #: includes/admin/settings/register-settings.php:2317
4619
+ #: includes/admin/settings/register-settings.php:2365
4620
  msgid "Choose a country"
4621
  msgstr ""
4622
 
4623
+ #: includes/admin/settings/register-settings.php:2335
4624
  msgid "Choose a state"
4625
  msgstr ""
4626
 
4627
+ #: includes/admin/settings/register-settings.php:2347
4628
+ #: includes/admin/settings/register-settings.php:2378
4629
  msgid "Apply to whole country"
4630
  msgstr ""
4631
 
4632
+ #: includes/admin/settings/register-settings.php:2350
4633
+ #: includes/admin/settings/register-settings.php:2381
4634
  msgid "Remove Rate"
4635
  msgstr ""
4636
 
4637
+ #: includes/admin/settings/register-settings.php:2386
4638
  msgid "Add Tax Rate"
4639
  msgstr ""
4640
 
4641
+ #: includes/admin/settings/register-settings.php:2439
4642
  msgid ""
4643
  "Your license key expired on %s. Please <a href=\"%s\" "
4644
  "target=\"_blank\">renew your license key</a>."
4645
  msgstr ""
4646
 
4647
+ #: includes/admin/settings/register-settings.php:2452
4648
  msgid ""
4649
  "Your license key has been disabled. Please <a href=\"%s\" "
4650
  "target=\"_blank\">contact support</a> for more information."
4651
  msgstr ""
4652
 
4653
+ #: includes/admin/settings/register-settings.php:2464
4654
  msgid ""
4655
  "Invalid license. Please <a href=\"%s\" target=\"_blank\">visit your account "
4656
  "page</a> and verify it."
4657
  msgstr ""
4658
 
4659
+ #: includes/admin/settings/register-settings.php:2477
4660
  msgid ""
4661
  "Your %s is not active for this URL. Please <a href=\"%s\" "
4662
  "target=\"_blank\">visit your account page</a> to manage your license key "
4663
  "URLs."
4664
  msgstr ""
4665
 
4666
+ #: includes/admin/settings/register-settings.php:2489
4667
  msgid "This appears to be an invalid license key for %s."
4668
  msgstr ""
4669
 
4670
+ #: includes/admin/settings/register-settings.php:2498
4671
  msgid ""
4672
  "Your license key has reached its activation limit. <a href=\"%s\">View "
4673
  "possible upgrades</a> now."
4674
  msgstr ""
4675
 
4676
+ #: includes/admin/settings/register-settings.php:2507
4677
  msgid ""
4678
  "The key you entered belongs to a bundle, please use the product specific "
4679
  "license key."
4680
  msgstr ""
4681
 
4682
+ #: includes/admin/settings/register-settings.php:2515
4683
  msgid "unknown_error"
4684
  msgstr ""
4685
 
4686
+ #: includes/admin/settings/register-settings.php:2516
4687
  msgid ""
4688
  "There was an error with this license key: %s. Please <a href=\"%s\">contact "
4689
  "our support team</a>."
4690
  msgstr ""
4691
 
4692
+ #: includes/admin/settings/register-settings.php:2536
4693
  msgid "License key never expires."
4694
  msgstr ""
4695
 
4696
+ #: includes/admin/settings/register-settings.php:2543
4697
  msgid ""
4698
  "Your license key expires soon! It expires on %s. <a href=\"%s\" "
4699
  "target=\"_blank\">Renew your license key</a>."
4700
  msgstr ""
4701
 
4702
+ #: includes/admin/settings/register-settings.php:2553
4703
  msgid "Your license key expires on %s."
4704
  msgstr ""
4705
 
4706
+ #: includes/admin/settings/register-settings.php:2571
4707
  msgid "To receive updates, please enter your valid %s license key."
4708
  msgstr ""
4709
 
4710
+ #: includes/admin/settings/register-settings.php:2584
4711
  msgid "Deactivate License"
4712
  msgstr ""
4713
 
6625
  msgid "Sorry but you have hit your download limit for this file."
6626
  msgstr ""
6627
 
6628
+ #: includes/deprecated-functions.php:532 includes/download-functions.php:1255
6629
  msgid "Sorry but your download link has expired."
6630
  msgstr ""
6631
 
7017
  msgstr ""
7018
 
7019
  #: includes/gateways/paypal/admin/connect.php:80
7020
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:350
7021
  msgid "Retrieving account information..."
7022
  msgstr ""
7023
 
7218
  msgstr ""
7219
 
7220
  #: includes/gateways/paypal/checkout-actions.php:148
7221
+ #: includes/gateways/paypal/checkout-actions.php:308
7222
  #: includes/gateways/paypal/scripts.php:118
7223
  msgid "An unexpected error occurred. Please try again."
7224
  msgstr ""
7225
 
7226
+ #: includes/gateways/paypal/checkout-actions.php:201
7227
+ msgid "PayPal Gateway Warning"
7228
+ msgstr ""
7229
+
7230
+ #: includes/gateways/paypal/checkout-actions.php:204
7231
+ #. Translators: %s - Original order data sent to PayPal.
7232
+ msgid ""
7233
+ "PayPal could not complete the transaction with the itemized breakdown. "
7234
+ "Original order data sent: %s"
7235
+ msgstr ""
7236
+
7237
+ #: includes/gateways/paypal/checkout-actions.php:223
7238
+ #: includes/gateways/paypal/checkout-actions.php:253
7239
+ #: includes/gateways/paypal/checkout-actions.php:407
7240
  msgid "An error occurred while communicating with PayPal. Please try again."
7241
  msgstr ""
7242
 
7243
+ #: includes/gateways/paypal/checkout-actions.php:251
7244
+ #: includes/gateways/paypal/checkout-actions.php:405
7245
  msgid "An authentication error occurred. Please try again."
7246
  msgstr ""
7247
 
7248
+ #: includes/gateways/paypal/checkout-actions.php:285
7249
+ #: includes/gateways/paypal/checkout-actions.php:293
7250
+ #: includes/gateways/paypal/checkout-actions.php:300
7251
  msgid "A validation error occurred. Please try again."
7252
  msgstr ""
7253
 
7254
+ #: includes/gateways/paypal/checkout-actions.php:321
7255
  msgid "Failed to process payment. Please try again."
7256
  msgstr ""
7257
 
7258
+ #: includes/gateways/paypal/checkout-actions.php:330
7259
  msgid ""
7260
  "Unable to complete your order with your chosen payment method. Please "
7261
  "choose a new funding source."
7262
  msgstr ""
7263
 
7264
+ #: includes/gateways/paypal/checkout-actions.php:395
7265
  #: includes/gateways/paypal-standard.php:671
7266
  #: tests/helpers/class-helper-payment.php:131
7267
  #: tests/helpers/class-helper-payment.php:234
7702
  msgid "Refund Charge in Stripe"
7703
  msgstr ""
7704
 
7705
+ #: includes/gateways/stripe/includes/admin/admin-filters.php:93
7706
  msgid "Process"
7707
  msgstr ""
7708
 
7798
  msgstr ""
7799
 
7800
  #: includes/gateways/stripe/includes/admin/notices.php:39
7801
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:640
7802
  #: includes/gateways/stripe/includes/payment-methods/payment-request/apple-pay.php:22
7803
  msgid "Unable to locate registry"
7804
  msgstr ""
7807
  msgid "Stripe-specific reports have been removed."
7808
  msgstr ""
7809
 
7810
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:117
7811
+ #. translators: %1$s Opening anchor tag, do not translate. %2$s Closing anchor
7812
+ #. tag, do not translate.
7813
+ msgid ""
7814
+ "There was an error getting your Stripe credentials. Please %1$stry "
7815
+ "again%2$s. If you continue to have this problem, please contact support."
7816
+ msgstr ""
7817
+
7818
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:303
7819
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:584
7820
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:646
7821
  msgid "Connect with Stripe"
7822
  msgstr ""
7823
 
7824
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:313
7825
  msgid ""
7826
  "Connect with Stripe for pay as you go pricing: 2% per-transaction fee + "
7827
  "Stripe fees."
7828
  msgstr ""
7829
 
7830
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:324
7831
  #. translators: %1$s Opening anchor tag, do not translate. %2$s Closing anchor
7832
  #. tag, do not translate.
7833
  msgid "Have questions about connecting with Stripe? See the %1$sdocumentation%2$s."
7834
  msgstr ""
7835
 
7836
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:363
7837
  msgid "Manage API keys manually"
7838
  msgstr ""
7839
 
7840
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:373
7841
  msgid "Hide API keys"
7842
  msgstr ""
7843
 
7844
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:379
7845
  msgid ""
7846
  "Although you can add your API keys manually, we recommend using Stripe "
7847
  "Connect: an easier and more secure way of connecting your Stripe account to "
7851
  "just a few clicks."
7852
  msgstr ""
7853
 
7854
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:397
7855
  msgid "Unable to retrieve account information."
7856
  msgstr ""
7857
 
7858
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:422
7859
  #. translators: %1$s Stripe payment mode. %2$s Opening anchor tag for
7860
  #. reconnecting to Stripe, do not translate. %3$s Opening anchor tag for
7861
  #. disconnecting Stripe, do not translate. %4$s Closing anchor tag, do not
7865
  "mode%4$s, or %3$sdisconnect this account%4$s."
7866
  msgstr ""
7867
 
7868
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:454
7869
  #. translators: %1$s Opening bold tag, do not translate. %2$s Closing bold tag,
7870
  #. do not translate.
7871
  msgid "Webhooks cannot be configured for recurring purchases with this account."
7872
  msgstr ""
7873
 
7874
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:472
7875
  #. translators: %1$s Opening anchor tag for disconnecting Stripe, do not
7876
  #. translate. %2$s Closing anchor tag, do not translate.
7877
  msgid "%1$sDisconnect this account%2$s."
7878
  msgstr ""
7879
 
7880
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:538
7881
  msgid "Pay as you go pricing: 2% per-transaction fee + Stripe fees."
7882
  msgstr ""
7883
 
7884
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:550
7885
  msgid "Administrator (Owner)"
7886
  msgstr ""
7887
 
7888
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:561
7889
  msgid ""
7890
  "The API keys provided do not match the Stripe Connect account associated "
7891
  "with this installation. If you have manually modified these values after "
7892
  "connecting your account, please reconnect below or update your API keys."
7893
  msgstr ""
7894
 
7895
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:587
7896
  msgid ""
7897
  "It is highly recommended to Connect with Stripe for easier setup and "
7898
  "improved security."
7899
  msgstr ""
7900
 
7901
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:600
7902
  #. translators: %1$s Stripe payment mode.
7903
  msgid "Your manually managed %1$s mode API keys are valid."
7904
  msgstr ""
7905
 
7906
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:616
7907
  #. translators: %1$s Stripe payment mode.
7908
  msgid "Your manually managed %1$s mode API keys are invalid."
7909
  msgstr ""
7910
 
7911
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:656
7912
  msgid ""
7913
  "Start accepting payments with Stripe by connecting your account. Stripe "
7914
  "Connect helps ensure easier setup and improved security."
7915
  msgstr ""
7916
 
7917
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:677
7918
  #. translators: %s Test mode status. Enabled or disabled.
7919
  msgid "\"Test Mode\" has been %s. Please verify your Stripe connection status."
7920
  msgstr ""
8012
  msgstr ""
8013
 
8014
  #: includes/gateways/stripe/includes/admin/settings.php:121
8015
+ #: includes/gateways/stripe/includes/gateway-actions.php:53
8016
  msgid "Statement Descriptor"
8017
  msgstr ""
8018
 
8118
  "recommendations%2$s."
8119
  msgstr ""
8120
 
 
 
 
 
 
 
 
 
8121
  #: includes/gateways/stripe/includes/admin/upgrade-functions.php:32
8122
  #. translators: %s Upgrade link.
8123
  msgid ""
8251
  "be completed. Please click the link below to take finalize your purchase"
8252
  msgstr ""
8253
 
8254
+ #: includes/gateways/stripe/includes/functions.php:611
8255
  msgid "Invalid order ID."
8256
  msgstr ""
8257
 
8258
+ #: includes/gateways/stripe/includes/functions.php:679
8259
  #. translators: %1$s the amount refunded; %2$s Stripe Refund ID
8260
  msgid "%1$s refunded in Stripe. Refund ID %2$s"
8261
  msgstr ""
8270
  msgstr[0] ""
8271
  msgstr[1] ""
8272
 
8273
+ #: includes/gateways/stripe/includes/gateway-actions.php:51
8274
  msgid ""
8275
  "Outputs a line stating what charges will appear as on customer's credit "
8276
  "card statements."
8385
  "for more information: https://easydigitaldownloads.com/development/"
8386
  msgstr ""
8387
 
8388
+ #: includes/gateways/stripe/includes/payment-actions.php:346
8389
+ #: includes/gateways/stripe/includes/payment-actions.php:366
8390
+ #: includes/gateways/stripe/includes/payment-actions.php:384
8391
+ #: includes/gateways/stripe/includes/payment-actions.php:460
8392
+ #: includes/gateways/stripe/includes/payment-actions.php:542
8393
+ #: includes/gateways/stripe/includes/payment-actions.php:630
8394
+ #: includes/gateways/stripe/includes/payment-actions.php:717
8395
+ #: includes/gateways/stripe/includes/payment-actions.php:928
8396
+ #: includes/gateways/stripe/includes/payment-actions.php:1071
8397
  msgid "Stripe Error"
8398
  msgstr ""
8399
 
8400
+ #: includes/gateways/stripe/includes/payment-actions.php:348
8401
+ #: includes/gateways/stripe/includes/payment-actions.php:368
8402
  msgid "There was an error while processing a Stripe payment. Payment data: %s"
8403
  msgstr ""
8404
 
8405
+ #: includes/gateways/stripe/includes/payment-actions.php:426
8406
+ #: includes/gateways/stripe/includes/payment-actions.php:436
8407
+ #: includes/gateways/stripe/includes/payment-actions.php:495
8408
+ #: includes/gateways/stripe/includes/payment-actions.php:505
8409
+ #: includes/gateways/stripe/includes/payment-actions.php:576
8410
+ #: includes/gateways/stripe/includes/payment-actions.php:593
8411
+ #: includes/gateways/stripe/includes/payment-actions.php:664
8412
+ #: includes/gateways/stripe/includes/payment-actions.php:674
8413
+ #: includes/gateways/stripe/includes/payment-actions.php:752
8414
+ #: includes/gateways/stripe/includes/payment-actions.php:769
8415
+ #: includes/gateways/stripe/includes/payment-actions.php:781
8416
+ #: includes/gateways/stripe/includes/payment-actions.php:793
8417
+ #: includes/gateways/stripe/includes/payment-actions.php:810
8418
+ #: includes/gateways/stripe/includes/payment-actions.php:841
8419
+ #: includes/gateways/stripe/includes/payment-actions.php:962
8420
+ #: includes/gateways/stripe/includes/payment-actions.php:979
8421
+ #: includes/gateways/stripe/includes/payment-actions.php:989
8422
+ #: includes/gateways/stripe/includes/payment-actions.php:1008
8423
+ #: includes/gateways/stripe/includes/payment-actions.php:1056
8424
+ #: includes/gateways/stripe/includes/payment-actions.php:1102
8425
+ #: includes/gateways/stripe/includes/payment-actions.php:1118
8426
+ #: includes/gateways/stripe/includes/payment-actions.php:1131
8427
+ #: includes/gateways/stripe/includes/payment-actions.php:1165
8428
  msgid ""
8429
  "An error occurred, but your payment may have gone through. Please contact "
8430
  "the site administrator."
8431
  msgstr ""
8432
 
8433
+ #: includes/gateways/stripe/includes/payment-actions.php:913
8434
  msgid "Unable to create payment."
8435
  msgstr ""
8436
 
8437
+ #: includes/gateways/stripe/includes/payment-actions.php:1450
8438
  msgid "Charge not refunded in Stripe, as checkbox was not selected."
8439
  msgstr ""
8440
 
10282
  msgid "None"
10283
  msgstr ""
10284
 
10285
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:415
10286
  msgctxt "Stripe Connect mode"
10287
  msgid "test"
10288
  msgstr ""
10289
 
10290
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:416
10291
  msgctxt "Stripe Connect mode"
10292
  msgid "live"
10293
  msgstr ""
10294
 
10295
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:667
10296
  msgctxt "gateway test mode status"
10297
  msgid "enabled"
10298
  msgstr ""
10299
 
10300
+ #: includes/gateways/stripe/includes/admin/settings/stripe-connect.php:668
10301
  msgctxt "gateway test mode status"
10302
  msgid "disabled"
10303
  msgstr ""
readme.txt CHANGED
@@ -3,11 +3,11 @@ Author URI: https://easydigitaldownloads.com
3
  Plugin URI: https://easydigitaldownloads.com
4
  Contributors: easydigitaldownloads, mordauk, sunnyratilal, chriscct7, section214, sumobi, sdavis2702, cklosows, mindctrl, sksmatt, SpencerFinnell, johnstonphilip, brashrebel, drewapicture, johnjamesjacoby, nosegraze, littlerchicken, lisacee
5
  Donate link: https://easydigitaldownloads.com/donate/
6
- Tags: ecommerce, downloads, e-commerce, checkout, digital store
7
  Requires at least: 4.4
8
- Tested up to: 5.8
9
  Requires PHP: 5.3
10
- Stable Tag: 2.11.1
11
  License: GNU Version 2 or Any Later Version
12
 
13
  Sell your digital products the simple way. Easily build an online store complete with a cart system, checkout forms, reports, coupons, and more!
@@ -246,6 +246,20 @@ Yes, through the use of our commercial addon called [Recurring Payments](https:/
246
  13. Pay with PayPal modal
247
 
248
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  = 2.11.1, August 30, 2021 =
250
  * Improved: Better compatibility with caching when using PayPal Commerce.
251
  * Improved: Made it more clear when PayPal Commerce is successfully connected, but not set as an active gaetway.
3
  Plugin URI: https://easydigitaldownloads.com
4
  Contributors: easydigitaldownloads, mordauk, sunnyratilal, chriscct7, section214, sumobi, sdavis2702, cklosows, mindctrl, sksmatt, SpencerFinnell, johnstonphilip, brashrebel, drewapicture, johnjamesjacoby, nosegraze, littlerchicken, lisacee
5
  Donate link: https://easydigitaldownloads.com/donate/
6
+ Tags: ecommerce, sell, checkout, digital store, stripe
7
  Requires at least: 4.4
8
+ Tested up to: 5.8.1
9
  Requires PHP: 5.3
10
+ Stable Tag: 2.11.2
11
  License: GNU Version 2 or Any Later Version
12
 
13
  Sell your digital products the simple way. Easily build an online store complete with a cart system, checkout forms, reports, coupons, and more!
246
  13. Pay with PayPal modal
247
 
248
  == Changelog ==
249
+ = 2.11.2, September 29, 2021 =
250
+ * Improvement: PayPal - Product names now appear in PayPal.
251
+ * Improvement: File download token validation has been reworked to be more compatible with caching.
252
+ * Fix: PayPal - Ensure all numbers are rounded when sending price data to PayPal. This prevents errors due to rounding issues.
253
+ * Fix: PayPal - Excessive error text when triggering a validation error on a mobile device.
254
+ * Fix: PayPal - Multiple "Buy Now" buttons not working on the same page.
255
+ * Fix: JavaScript error if the checkout button has been customized to not have an `id` attribute.
256
+ * Fix: WP-CLI - `price_id` parameter not working with `wp edd payments create` command.
257
+ * Fix: Stripe - Transaction link not working if the payment is pre-approved.
258
+ * Fix: Stripe - Connect not working with certain countries.
259
+ * Fix: Stripe - Numeric product name causes error.
260
+ * Fix: Stripe - Payments able to be marked for preapproval when they shouldn't be.
261
+ * Refactor: SendWP - Update link to account area.
262
+
263
  = 2.11.1, August 30, 2021 =
264
  * Improved: Better compatibility with caching when using PayPal Commerce.
265
  * Improved: Made it more clear when PayPal Commerce is successfully connected, but not set as an active gaetway.
templates/edd.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.edd-icon{display:inline-block;fill:currentColor;position:relative;top:-.0625em;vertical-align:middle;width:1em;height:1em}.edd-icon-lock{top:-.125rem}.edd-icon-spin{display:inline-block;-moz-animation:edd-icon-spin 2s infinite linear;-o-animation:edd-icon-spin 2s infinite linear;-webkit-animation:edd-icon-spin 2s infinite linear;animation:edd-icon-spin 2s infinite linear}@-moz-keyframes edd-icon-spin{0%{-moz-transform:rotate(0)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes edd-icon-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes edd-icon-spin{0%{-o-transform:rotate(0)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes edd-icon-spin{0%{-ms-transform:rotate(0)}100%{-ms-transform:rotate(359deg)}}@keyframes edd-icon-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.edd_clearfix:after{display:block;visibility:hidden;float:none;clear:both;text-indent:-9999px;content:"."}#edd_checkout_cart{text-align:left;width:100%;border:none;margin:0 0 21px;table-layout:auto}#edd_checkout_cart td,#edd_checkout_cart th{text-align:left;border:1px solid #eee;color:#666;padding:.5em 1.387em}#edd_checkout_cart .edd_cart_header_row th{background:#fafafa;padding:1.387em}#edd_checkout_cart .edd_cart_discount_row th,#edd_checkout_cart .edd_cart_tax_row th{background:0 0}#edd_checkout_cart th{font-weight:700}#edd_checkout_cart td{line-height:25px;vertical-align:middle;background:#fff}#edd_checkout_cart td.edd_cart_actions,#edd_checkout_cart td:last-child,#edd_checkout_cart th.edd_cart_actions,#edd_checkout_cart th.edd_cart_total,#edd_checkout_cart th:last-child{text-align:right}#edd_checkout_cart td img{float:left;margin:0 8px 0 0;background:0 0;padding:0;border:none}#edd_checkout_cart input.edd-item-quantity{width:3em;padding:2px}#edd_checkout_cart .edd_discount{display:inline-block;margin-left:5px}.edd_discount_remove{display:inline-block;width:10px;height:11px;background:url(images/xit.gif ) 0 0 no-repeat;position:relative;top:3px}.edd_discount_remove:hover{background-position:-10px 0}#edd_checkout_cart br{display:none}#edd_checkout_cart a.edd-cart-saving-button{font-weight:400;text-decoration:none}#edd_checkout_form_wrap legend{display:block;font-size:120%;line-height:1;font-weight:700;width:100%;margin:0 0 21px;padding:0}#edd_checkout_form_wrap label{font-weight:700;display:block;position:relative;line-height:100%;font-size:95%;margin:0 0 5px}#edd_checkout_form_wrap span.edd-description{color:#666;font-size:80%;display:block;margin:0 0 5px}#edd_checkout_form_wrap input.edd-input,#edd_checkout_form_wrap textarea.edd-input{display:inline-block;width:70%}#edd_checkout_form_wrap select.edd-select{display:block;width:60%}#edd_checkout_form_wrap select.edd-select.edd-select-small{display:inline;width:auto}#edd_checkout_form_wrap input.edd-input.error,#edd_checkout_form_wrap textarea.edd-input.error{border-color:#c4554e}#edd_checkout_form_wrap>p{margin:0 0 21px}#edd_checkout_form_wrap span.edd-required-indicator{color:#b94a48;display:inline}#edd_checkout_form_wrap input[type=email],#edd_checkout_form_wrap input[type=password],#edd_checkout_form_wrap input[type=tel],#edd_checkout_form_wrap input[type=text],#edd_checkout_form_wrap textarea{padding:4px 6px}#edd_checkout_form_wrap input[type=radio]{border:none;margin-right:5px}#edd_checkout_form_wrap input[type=checkbox]{display:inline-block;margin:0 5px 0 0}#edd_checkout_form_wrap input[type=checkbox]+label,#edd_checkout_form_wrap input[type=checkbox]+label:after{display:inline}#edd_checkout_form_wrap .edd-payment-icons{height:32px;display:block;margin:0 0 8px}#edd_checkout_form_wrap .edd-payment-icons img.payment-icon{max-height:32px;width:auto;margin:0 3px 0 0;float:left;background:0 0;padding:0;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}#edd_checkout_form_wrap #edd-payment-mode-wrap label{display:inline-block;margin:0 20px 0 0}#edd_checkout_form_wrap #edd-payment-mode-wrap .edd-payment-mode-label{font-weight:700;display:inline-block;position:relative;margin-bottom:5px}#edd_checkout_form_wrap fieldset{border:1px solid #eee;padding:1.387em;margin:0 0 21px}#edd_checkout_form_wrap #edd_discount_code,#edd_checkout_form_wrap #edd_purchase_submit,#edd_checkout_form_wrap #edd_register_account_fields{padding:0;border:none}#edd_checkout_form_wrap fieldset fieldset{margin:0;border:none;padding:0}#edd_checkout_form_wrap #edd-login-account-wrap,#edd_checkout_form_wrap #edd-new-account-wrap,#edd_checkout_form_wrap #edd_final_total_wrap,#edd_checkout_form_wrap #edd_show_discount,#edd_checkout_form_wrap .edd-cart-adjustment{background:#fafafa;color:#666;padding:.5em 1.387em}#edd_checkout_form_wrap #edd-discount-code-wrap,#edd_checkout_form_wrap #edd_final_total_wrap,#edd_checkout_form_wrap #edd_show_discount{border:1px solid #eee}#edd_checkout_form_wrap .edd-cart-adjustment{padding:1.387em}#edd_checkout_form_wrap .edd-cart-adjustment input.edd-input,#edd_checkout_form_wrap .edd-cart-adjustment input.edd-submit{display:inline-block}#edd_checkout_form_wrap .edd-cart-adjustment input.edd-submit{padding:3px 12px;margin-bottom:2px}#edd_checkout_form_wrap #edd-discount-error-wrap{width:100%;display:inline-block;margin:1em 0 0}#edd_checkout_form_wrap #edd-login-account-wrap,#edd_checkout_form_wrap #edd-new-account-wrap{margin:-1.387em -1.387em 21px;border-left:none;border-right:none;border-top:none}#edd_checkout_form_wrap #edd_payment_mode_select{margin-bottom:21px}#edd_checkout_form_wrap fieldset#edd_register_fields #edd_checkout_user_info{margin-bottom:21px}#edd_checkout_form_wrap fieldset#edd_register_account_fields legend{padding-top:11px}#edd_checkout_form_wrap fieldset#edd_register_account_fields p.edd_login_password,#edd_checkout_form_wrap fieldset#edd_register_account_fields p.edd_register_password{margin:0}#edd_checkout_form_wrap fieldset#edd_cc_fields{border:1px solid #f0f0f0;background:#f9f9f9;position:relative}#edd_checkout_form_wrap fieldset#edd_cc_fields legend{border:none;padding:0}#edd_checkout_form_wrap fieldset p:last-child{margin-bottom:0}#edd_checkout_form_wrap fieldset#edd_cc_fields #edd-card-number-wrap{margin-top:5px}#edd_checkout_form_wrap #edd_purchase_final_total{margin:21px 0}#edd_checkout_form_wrap #edd_purchase_final_total p{margin:0}#edd_secure_site_wrapper{padding:4px 4px 4px 0;font-weight:700}#edd_checkout_form_wrap input.edd-input.card-number.valid{background-image:url(images/tick.png);background-repeat:no-repeat;background-position:98% 50%}#edd_checkout_form_wrap span.exp-divider{display:inline}#edd_checkout_form_wrap span.card-type{position:absolute;top:-2px;right:0;width:43px;height:32px;background-size:43px 32px!important}#edd_checkout_form_wrap span.card-type.off{display:none}#edd_checkout_form_wrap span.card-type.visa{background:url(images/icons/visa.png ) no-repeat}#edd_checkout_form_wrap span.card-type.mastercard{background:url(images/icons/mastercard.png ) no-repeat}#edd_checkout_form_wrap span.card-type.discover{background:url(images/icons/discover.png ) no-repeat}#edd_checkout_form_wrap span.card-type.amex{background:url(images/icons/americanexpress.png ) no-repeat}#edd_checkout_form_wrap .edd-cart-ajax{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.edd-amazon-profile-wrapper{font-size:12px}.edd-amazon-profile-name{font-weight:600}.edd-amazon-logout{font-size:10px;line-height:12px}.edd-amazon-logout a{cursor:pointer}#edd-amazon-address-box,#edd-amazon-wallet-box{height:228px;width:350px}#edd-amazon-address-box{margin-bottom:15px}@media only screen and (min-width:768px){#edd-amazon-address-box,#edd-amazon-wallet-box{width:100%;height:228px}}.edd_purchase_submit_wrapper{position:relative}.edd_purchase_submit_wrapper a.edd-add-to-cart{text-decoration:none;display:none;position:relative;overflow:hidden}.edd_purchase_submit_wrapper a.edd-add-to-cart.edd-has-js{display:inline-block}.edd_purchase_submit_wrapper .edd-cart-ajax{display:none;position:relative;left:-35px}.edd-submit.button.edd-ajax-loading{padding-right:30px}.edd-add-to-cart .edd-add-to-cart-label{opacity:1}.edd-loading,.edd-loading:after{border-radius:50%;display:block;width:1.5em;height:1.5em}.edd-loading{-webkit-animation:edd-spinning 1.1s infinite linear;animation:edd-spinning 1.1s infinite linear;border-top:.2em solid rgba(255,255,255,.2);border-right:.2em solid rgba(255,255,255,.2);border-bottom:.2em solid rgba(255,255,255,.2);border-left:.2em solid #fff;font-size:.75em;position:absolute;left:calc(50% - .75em);top:calc(50% - .75em);opacity:0;-ms-transform:translateZ(0);transform:translateZ(0)}.edd-discount-loader.edd-loading,.edd-loading-ajax.edd-loading,a.edd-add-to-cart.white .edd-loading{border-top-color:rgba(0,0,0,.2);border-right-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.2);border-left-color:#000}.edd-loading-ajax.edd-loading{display:inline-block;position:relative;top:0;left:.25em;vertical-align:middle}#edd_checkout_form_wrap .edd-cart-adjustment .edd-apply-discount.edd-submit{display:inline-block}.edd-discount-loader.edd-loading{display:inline-block;position:relative;left:auto;vertical-align:middle;width:1.25em;height:1.25em}.edd-loading-ajax.edd-loading{opacity:1}@-webkit-keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.edd-loading,a.edd-add-to-cart .edd-add-to-cart-label{-webkit-transition:.1s opacity!important;-moz-transition:.1s opacity!important;-ms-transition:.1s opacity!important;-o-transition:.1s opacity!important;transition:.1s opacity!important}.edd-add-to-cart[data-edd-loading] .edd-add-to-cart-label{opacity:0}.edd-add-to-cart[data-edd-loading] .edd-loading,.edd-discount-loader.edd-loading{opacity:1}.edd-cart-added-alert{color:#567622;display:block;position:absolute}.edd_form input.edd-input.required,.edd_form select.edd-select.required{color:#000}body.edd_receipt_page{background-color:#fff;color:#141412;margin:0;font-family:Helvetica,sans-serif;font-size:12px}body.edd_receipt_page:before{position:relative}body.edd_receipt_page #edd_receipt_wrapper{width:660px;margin:0 auto;padding:50px 0}body.edd_receipt_page table{display:table;width:100%;border-bottom:1px solid #ededed;border-collapse:collapse;border-spacing:0;font-size:14px;line-height:2;margin:0 0 20px}body.edd_receipt_page td,body.edd_receipt_page th{display:table-cell;text-align:left;border-top:1px solid #ededed;padding:6px 10px;font-weight:400}body.edd_receipt_page th{font-weight:700;text-transform:uppercase}body.edd_receipt_page h3{font-size:22px;margin:40px 0 5px;clear:both;display:block;font-weight:700}body.edd_receipt_page li{list-style:none}table#edd_purchase_receipt,table#edd_purchase_receipt_products{width:100%}table#edd_purchase_receipt td,table#edd_purchase_receipt th,table#edd_purchase_receipt_products td,table#edd_purchase_receipt_products th{text-align:left}table#edd_purchase_receipt .edd_receipt_payment_status.cancelled,table#edd_purchase_receipt .edd_receipt_payment_status.failed,table#edd_purchase_receipt .edd_receipt_payment_status.pending,table#edd_purchase_receipt .edd_receipt_payment_status.revoked{color:#f73f2e}table#edd_purchase_receipt_products li{list-style:none;margin:0 0 8px 10px}table#edd_purchase_receipt ul,table#edd_purchase_receipt_products ul.edd_purchase_receipt_files{margin:0;padding:0}table#edd_purchase_receipt li.edd_download_file{list-style:none;margin:0 0 8px 0}table#edd_purchase_receipt_products .edd_purchase_receipt_product_notes{font-style:italic}table#edd_purchase_receipt_products .edd_purchase_receipt_product_name{font-weight:700}table#edd_purchase_receipt_products .edd_bundled_product_name{font-style:italic;font-weight:700}#edd_user_history{text-align:left;width:100%;border-top:1px solid #f0f0f0;border-bottom:none}#edd_user_history td,#edd_user_history th{text-align:left;padding:3px 5px;border-bottom:1px solid #f0f0f0;border-top:none}#edd_user_history th{font-weight:700;background:#f5f5f5}#edd_user_history td{line-height:25px;vertical-align:middle}#edd_user_history .edd_purchase_status.cancelled,#edd_user_history .edd_purchase_status.failed,#edd_user_history .edd_purchase_status.pending,#edd_user_history .edd_purchase_status.revoked{color:#f73f2e}#edd_login_form legend,#edd_register_form legend{font-size:120%;margin-bottom:1em}#edd_login_form fieldset,#edd_register_form fieldset{border:none}#edd_login_form .edd-input,#edd_register_form .edd-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#edd_login_form label,#edd_register_form label{cursor:pointer}#edd_profile_editor_form p{margin-bottom:8px}#edd_profile_editor_form label{display:inline-block}#edd_profile_editor_form .edd-profile-emails{list-style-type:none;display:inline-table;margin-left:0;margin-bottom:0}#edd_profile_editor_form .edd-profile-email{width:auto}#edd_profile_editor_form .edd-profile-email .actions{display:none}#edd_profile_editor_form .edd-profile-email:hover>span{display:inline-block}.edd_added_to_cart_alert{padding:5px;font-size:14px;border:1px solid #046a9e;background:#9ecce2;color:#333;margin:8px 0}.edd_added_to_cart_alert a.edd_alert_checkout_link{color:#000!important}input.edd_submit_plain{background:0 0!important;border:none!important;padding:0!important;display:inline;cursor:pointer}.single-download .edd_download_purchase_form{margin-bottom:1.387em}.edd_download_purchase_form .edd_download_quantity_wrapper{margin:0 0 .5em}.edd_download_purchase_form .edd_download_quantity_wrapper .edd-item-quantity{width:75px}.edd_download_purchase_form .edd_price_options{margin:0 0 15px}.edd_download_purchase_form .edd_price_options ul{margin:0;padding:0;list-style:none}.edd_download_purchase_form .edd_price_options li{display:block;padding:0;margin:0}.edd_download_purchase_form .edd_price_options span{display:inline;padding:0;margin:0}.edd_download_purchase_form .edd_price_options .edd_download_quantity_wrapper{padding-left:18px}.edd_download_purchase_form .edd_price_options .edd_download_quantity_wrapper *{font-size:80%}.edd_download_purchase_form .edd_price_options input.edd-item-quantity{display:inline;width:50px;max-width:90%}#edd-purchase-button,.edd-submit,[type=submit].edd-submit{display:inline-block;padding:6px 12px;margin:0;font-size:14px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.edd-submit.button:focus,[type=submit].edd-submit:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.edd-submit.button:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.edd-submit.plain{padding:0;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.edd-submit.button,.edd-submit.button.gray,.edd-submit.button:visited{color:#333;background:#f0f0f0;border-color:#ccc}.edd-submit.button.gray:active,.edd-submit.button.gray:focus,.edd-submit.button.gray:hover,.edd-submit.button:active,.edd-submit.button:focus,.edd-submit.button:hover{color:#333;background:#ebebeb;border-color:#adadad}.edd-submit.button.gray:active{background-image:none}.edd-submit.button.white{color:#333;background:#fff;border-color:#ccc}.edd-submit.button.white:active,.edd-submit.button.white:focus,.edd-submit.button.white:hover{color:#333;background:#ebebeb;border-color:#adadad}.edd-submit.button.white:active{background-image:none}.edd-submit.button.blue{color:#fff;background:#428bca;border-color:#357ebd}.edd-submit.button.blue.active,.edd-submit.button.blue:focus,.edd-submit.button.blue:hover{color:#fff;background:#3276b1;border-color:#285e8e}.edd-submit.button.blue.active{background-image:none}.edd-submit.button.red{color:#fff;background:#d9534f;border-color:#d43f3a}.edd-submit.button.red:active,.edd-submit.button.red:focus,.edd-submit.button.red:hover{color:#fff;background:#d2322d;border-color:#ac2925}.edd-submit.button.red:active{background-image:none}.edd-submit.button.green{color:#fff;background:#5cb85c;border-color:#4cae4c}.edd-submit.button.green:active,.edd-submit.button.green:focus,.edd-submit.button.green:hover{color:#fff;background:#47a447;border-color:#398439}.edd-submit.button.green:active{background-image:none}.edd-submit.button.yellow{color:#fff;background:#f0ad4e;border-color:#eea236}.edd-submit.button.yellow:active,.edd-submit.button.yellow:focus,.edd-submit.button.yellow:hover{color:#fff;background:#ed9c28;border-color:#d58512}.edd-submit.button.yellow:active{background-image:none}.edd-submit.button.orange{color:#fff;background:#ed9c28;border-color:#e3921e}.edd-submit.button.orange:active,.edd-submit.button.orange:focus,.edd-submit.button.orange:hover{color:#fff;background:#e59016;border-color:#d58512}.edd-submit.button.orange:active{background-image:none}.edd-submit.button.dark-gray{color:#fff;background:#363636;border-color:#222}.edd-submit.button.dark-gray:active,.edd-submit.button.dark-gray:focus,.edd-submit.button.dark-gray:hover{color:#fff;background:#333;border-color:#adadad}.edd-submit.button.dark-gray:active{background-image:none}.edd_downloads_list:after{content:"";display:table;clear:both}.edd_download{float:left}.edd_download_columns_1 .edd_download{width:100%}.edd_download_columns_2 .edd_download{width:50%}.edd_download_columns_0 .edd_download,.edd_download_columns_3 .edd_download{width:33%}.edd_download_columns_4 .edd_download{width:25%}.edd_download_columns_5 .edd_download{width:20%}.edd_download_columns_6 .edd_download{width:16.6%}.edd_download_inner{padding:0 8px 8px;margin:0 0 10px}.edd_download_columns_2 .edd_download:nth-child(2n+1),.edd_download_columns_3 .edd_download:nth-child(3n+1),.edd_download_columns_4 .edd_download:nth-child(4n+1),.edd_download_columns_5 .edd_download:nth-child(5n+1),.edd_download_columns_6 .edd_download:nth-child(6n+1){clear:left}.edd_download_image{max-width:100%}.edd_download .edd_price{margin-bottom:10px}.edd-hide-on-empty.cart-empty{display:none}edd-hide-on-empty.cart-not.empty{display:block}.edd-cart-ajax{margin:0 8px 0 4px;position:relative;top:2px;background:0 0;border:none;padding:0}.edd-cart-number-of-items{font-style:italic;color:grey}.edd-cart-meta.edd_subtotal{font-weight:700;font-style:italic}.edd-cart-meta.edd_cart_tax{font-size:1em;font-style:italic}.edd-cart-meta.edd_cart_tax::before{font-style:normal}.edd-cart-meta.edd_total{font-weight:700}.edd-cart-meta{padding:2px 5px}.edd-cart-meta.edd_subtotal,.edd-cart-meta.edd_total{background-color:#f9f9f9}.edd_errors:not(.edd-alert){-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;border:1px solid #e6db55;margin:0 0 21px;background:#ffffe0;color:#333}.edd_error{padding:10px}p.edd_error{margin:0!important}.edd_success:not(.edd-alert){-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;border:1px solid #b3ce89;margin:20px 0;background:#d5eab3;color:#567622;padding:6px 8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.edd-alert{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;margin-bottom:20px;padding:10px;border:1px solid transparent;vertical-align:middle}.edd-alert p{padding:0}.edd-alert p:not(:last-child){margin-bottom:5px}.edd-alert p:last-child{margin-bottom:0}.edd-alert-error{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.edd-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.edd-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.edd-alert-warn{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}
1
+ @charset "UTF-8";.edd-icon{display:inline-block;fill:currentColor;position:relative;top:-.0625em;vertical-align:middle;width:1em;height:1em}.edd-icon-lock{top:-.125rem}.edd-icon-spin{display:inline-block;-moz-animation:edd-icon-spin 2s infinite linear;-o-animation:edd-icon-spin 2s infinite linear;-webkit-animation:edd-icon-spin 2s infinite linear;animation:edd-icon-spin 2s infinite linear}@-moz-keyframes edd-icon-spin{0%{-moz-transform:rotate(0)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes edd-icon-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes edd-icon-spin{0%{-o-transform:rotate(0)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes edd-icon-spin{0%{-ms-transform:rotate(0)}100%{-ms-transform:rotate(359deg)}}@keyframes edd-icon-spin{0%{transform:rotate(0)}100%{transform:rotate(359deg)}}.edd_clearfix:after{display:block;visibility:hidden;float:none;clear:both;text-indent:-9999px;content:"."}#edd_checkout_cart{text-align:left;width:100%;border:none;margin:0 0 21px;table-layout:auto}#edd_checkout_cart td,#edd_checkout_cart th{text-align:left;border:1px solid #eee;color:#666;padding:.5em 1.387em}#edd_checkout_cart .edd_cart_header_row th{background:#fafafa;padding:1.387em}#edd_checkout_cart .edd_cart_discount_row th,#edd_checkout_cart .edd_cart_tax_row th{background:0 0}#edd_checkout_cart th{font-weight:700}#edd_checkout_cart td{line-height:25px;vertical-align:middle;background:#fff}#edd_checkout_cart td.edd_cart_actions,#edd_checkout_cart td:last-child,#edd_checkout_cart th.edd_cart_actions,#edd_checkout_cart th.edd_cart_total,#edd_checkout_cart th:last-child{text-align:right}#edd_checkout_cart td img{float:left;margin:0 8px 0 0;background:0 0;padding:0;border:none}#edd_checkout_cart input.edd-item-quantity{width:3em;padding:2px}#edd_checkout_cart .edd_discount{display:inline-block;margin-left:5px}.edd_discount_remove{display:inline-block;width:10px;height:11px;background:url(images/xit.gif) 0 0 no-repeat;position:relative;top:3px}.edd_discount_remove:hover{background-position:-10px 0}#edd_checkout_cart br{display:none}#edd_checkout_cart a.edd-cart-saving-button{font-weight:400;text-decoration:none}#edd_checkout_form_wrap legend{display:block;font-size:120%;line-height:1;font-weight:700;width:100%;margin:0 0 21px;padding:0}#edd_checkout_form_wrap label{font-weight:700;display:block;position:relative;line-height:100%;font-size:95%;margin:0 0 5px}#edd_checkout_form_wrap span.edd-description{color:#666;font-size:80%;display:block;margin:0 0 5px}#edd_checkout_form_wrap input.edd-input,#edd_checkout_form_wrap textarea.edd-input{display:inline-block;width:70%}#edd_checkout_form_wrap select.edd-select{display:block;width:60%}#edd_checkout_form_wrap select.edd-select.edd-select-small{display:inline;width:auto}#edd_checkout_form_wrap input.edd-input.error,#edd_checkout_form_wrap textarea.edd-input.error{border-color:#c4554e}#edd_checkout_form_wrap>p{margin:0 0 21px}#edd_checkout_form_wrap span.edd-required-indicator{color:#b94a48;display:inline}#edd_checkout_form_wrap input[type=email],#edd_checkout_form_wrap input[type=password],#edd_checkout_form_wrap input[type=tel],#edd_checkout_form_wrap input[type=text],#edd_checkout_form_wrap textarea{padding:4px 6px}#edd_checkout_form_wrap input[type=radio]{border:none;margin-right:5px}#edd_checkout_form_wrap input[type=checkbox]{display:inline-block;margin:0 5px 0 0}#edd_checkout_form_wrap input[type=checkbox]+label,#edd_checkout_form_wrap input[type=checkbox]+label:after{display:inline}#edd_checkout_form_wrap .edd-payment-icons{height:32px;display:block;margin:0 0 8px}#edd_checkout_form_wrap .edd-payment-icons img.payment-icon{max-height:32px;width:auto;margin:0 3px 0 0;float:left;background:0 0;padding:0;border:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}#edd_checkout_form_wrap #edd-payment-mode-wrap label{display:inline-block;margin:0 20px 0 0}#edd_checkout_form_wrap #edd-payment-mode-wrap .edd-payment-mode-label{font-weight:700;display:inline-block;position:relative;margin-bottom:5px}#edd_checkout_form_wrap fieldset{border:1px solid #eee;padding:1.387em;margin:0 0 21px}#edd_checkout_form_wrap #edd_discount_code,#edd_checkout_form_wrap #edd_purchase_submit,#edd_checkout_form_wrap #edd_register_account_fields{padding:0;border:none}#edd_checkout_form_wrap fieldset fieldset{margin:0;border:none;padding:0}#edd_checkout_form_wrap #edd-login-account-wrap,#edd_checkout_form_wrap #edd-new-account-wrap,#edd_checkout_form_wrap #edd_final_total_wrap,#edd_checkout_form_wrap #edd_show_discount,#edd_checkout_form_wrap .edd-cart-adjustment{background:#fafafa;color:#666;padding:.5em 1.387em}#edd_checkout_form_wrap #edd-discount-code-wrap,#edd_checkout_form_wrap #edd_final_total_wrap,#edd_checkout_form_wrap #edd_show_discount{border:1px solid #eee}#edd_checkout_form_wrap .edd-cart-adjustment{padding:1.387em}#edd_checkout_form_wrap .edd-cart-adjustment input.edd-input,#edd_checkout_form_wrap .edd-cart-adjustment input.edd-submit{display:inline-block}#edd_checkout_form_wrap .edd-cart-adjustment input.edd-submit{padding:3px 12px;margin-bottom:2px}#edd_checkout_form_wrap #edd-discount-error-wrap{width:100%;display:inline-block;margin:1em 0 0}#edd_checkout_form_wrap #edd-login-account-wrap,#edd_checkout_form_wrap #edd-new-account-wrap{margin:-1.387em -1.387em 21px;border-left:none;border-right:none;border-top:none}#edd_checkout_form_wrap #edd_payment_mode_select{margin-bottom:21px}#edd_checkout_form_wrap fieldset#edd_register_fields #edd_checkout_user_info{margin-bottom:21px}#edd_checkout_form_wrap fieldset#edd_register_account_fields legend{padding-top:11px}#edd_checkout_form_wrap fieldset#edd_register_account_fields p.edd_login_password,#edd_checkout_form_wrap fieldset#edd_register_account_fields p.edd_register_password{margin:0}#edd_checkout_form_wrap fieldset#edd_cc_fields{border:1px solid #f0f0f0;background:#f9f9f9;position:relative}#edd_checkout_form_wrap fieldset#edd_cc_fields legend{border:none;padding:0}#edd_checkout_form_wrap fieldset p:last-child{margin-bottom:0}#edd_checkout_form_wrap fieldset#edd_cc_fields #edd-card-number-wrap{margin-top:5px}#edd_checkout_form_wrap #edd_purchase_final_total{margin:21px 0}#edd_checkout_form_wrap #edd_purchase_final_total p{margin:0}#edd_secure_site_wrapper{padding:4px 4px 4px 0;font-weight:700}#edd_checkout_form_wrap input.edd-input.card-number.valid{background-image:url(images/tick.png);background-repeat:no-repeat;background-position:98% 50%}#edd_checkout_form_wrap span.exp-divider{display:inline}#edd_checkout_form_wrap span.card-type{position:absolute;top:-2px;right:0;width:43px;height:32px;background-size:43px 32px!important}#edd_checkout_form_wrap span.card-type.off{display:none}#edd_checkout_form_wrap span.card-type.visa{background:url(images/icons/visa.png) no-repeat}#edd_checkout_form_wrap span.card-type.mastercard{background:url(images/icons/mastercard.png) no-repeat}#edd_checkout_form_wrap span.card-type.discover{background:url(images/icons/discover.png) no-repeat}#edd_checkout_form_wrap span.card-type.amex{background:url(images/icons/americanexpress.png) no-repeat}#edd_checkout_form_wrap .edd-cart-ajax{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.edd-amazon-profile-wrapper{font-size:12px}.edd-amazon-profile-name{font-weight:600}.edd-amazon-logout{font-size:10px;line-height:12px}.edd-amazon-logout a{cursor:pointer}#edd-amazon-address-box,#edd-amazon-wallet-box{height:228px;width:350px}#edd-amazon-address-box{margin-bottom:15px}@media only screen and (min-width:768px){#edd-amazon-address-box,#edd-amazon-wallet-box{width:100%;height:228px}}.edd_purchase_submit_wrapper{position:relative}.edd_purchase_submit_wrapper a.edd-add-to-cart{text-decoration:none;display:none;position:relative;overflow:hidden}.edd_purchase_submit_wrapper a.edd-add-to-cart.edd-has-js{display:inline-block}.edd_purchase_submit_wrapper .edd-cart-ajax{display:none;position:relative;left:-35px}.edd-submit.button.edd-ajax-loading{padding-right:30px}.edd-add-to-cart .edd-add-to-cart-label{opacity:1}.edd-loading,.edd-loading:after{border-radius:50%;display:block;width:1.5em;height:1.5em}.edd-loading{-webkit-animation:edd-spinning 1.1s infinite linear;animation:edd-spinning 1.1s infinite linear;border-top:.2em solid rgba(255,255,255,.2);border-right:.2em solid rgba(255,255,255,.2);border-bottom:.2em solid rgba(255,255,255,.2);border-left:.2em solid #fff;font-size:.75em;position:absolute;left:calc(50% - .75em);top:calc(50% - .75em);opacity:0;-ms-transform:translateZ(0);transform:translateZ(0)}.edd-discount-loader.edd-loading,.edd-loading-ajax.edd-loading,a.edd-add-to-cart.white .edd-loading{border-top-color:rgba(0,0,0,.2);border-right-color:rgba(0,0,0,.2);border-bottom-color:rgba(0,0,0,.2);border-left-color:#000}.edd-loading-ajax.edd-loading{display:inline-block;position:relative;top:0;left:.25em;vertical-align:middle}#edd_checkout_form_wrap .edd-cart-adjustment .edd-apply-discount.edd-submit{display:inline-block}.edd-discount-loader.edd-loading{display:inline-block;position:relative;left:auto;vertical-align:middle;width:1.25em;height:1.25em}.edd-loading-ajax.edd-loading{opacity:1}@-webkit-keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes edd-spinning{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.edd-loading,a.edd-add-to-cart .edd-add-to-cart-label{-webkit-transition:.1s opacity!important;-moz-transition:.1s opacity!important;-ms-transition:.1s opacity!important;-o-transition:.1s opacity!important;transition:.1s opacity!important}.edd-add-to-cart[data-edd-loading] .edd-add-to-cart-label{opacity:0}.edd-add-to-cart[data-edd-loading] .edd-loading,.edd-discount-loader.edd-loading{opacity:1}.edd-cart-added-alert{color:#567622;display:block;position:absolute}.edd_form input.edd-input.required,.edd_form select.edd-select.required{color:#000}body.edd_receipt_page{background-color:#fff;color:#141412;margin:0;font-family:Helvetica,sans-serif;font-size:12px}body.edd_receipt_page:before{position:relative}body.edd_receipt_page #edd_receipt_wrapper{width:660px;margin:0 auto;padding:50px 0}body.edd_receipt_page table{display:table;width:100%;border-bottom:1px solid #ededed;border-collapse:collapse;border-spacing:0;font-size:14px;line-height:2;margin:0 0 20px}body.edd_receipt_page td,body.edd_receipt_page th{display:table-cell;text-align:left;border-top:1px solid #ededed;padding:6px 10px;font-weight:400}body.edd_receipt_page th{font-weight:700;text-transform:uppercase}body.edd_receipt_page h3{font-size:22px;margin:40px 0 5px;clear:both;display:block;font-weight:700}body.edd_receipt_page li{list-style:none}table#edd_purchase_receipt,table#edd_purchase_receipt_products{width:100%}table#edd_purchase_receipt td,table#edd_purchase_receipt th,table#edd_purchase_receipt_products td,table#edd_purchase_receipt_products th{text-align:left}table#edd_purchase_receipt .edd_receipt_payment_status.cancelled,table#edd_purchase_receipt .edd_receipt_payment_status.failed,table#edd_purchase_receipt .edd_receipt_payment_status.pending,table#edd_purchase_receipt .edd_receipt_payment_status.revoked{color:#f73f2e}table#edd_purchase_receipt_products li{list-style:none;margin:0 0 8px 10px}table#edd_purchase_receipt ul,table#edd_purchase_receipt_products ul.edd_purchase_receipt_files{margin:0;padding:0}table#edd_purchase_receipt li.edd_download_file{list-style:none;margin:0 0 8px 0}table#edd_purchase_receipt_products .edd_purchase_receipt_product_notes{font-style:italic}table#edd_purchase_receipt_products .edd_purchase_receipt_product_name{font-weight:700}table#edd_purchase_receipt_products .edd_bundled_product_name{font-style:italic;font-weight:700}#edd_user_history{text-align:left;width:100%;border-top:1px solid #f0f0f0;border-bottom:none}#edd_user_history td,#edd_user_history th{text-align:left;padding:3px 5px;border-bottom:1px solid #f0f0f0;border-top:none}#edd_user_history th{font-weight:700;background:#f5f5f5}#edd_user_history td{line-height:25px;vertical-align:middle}#edd_user_history .edd_purchase_status.cancelled,#edd_user_history .edd_purchase_status.failed,#edd_user_history .edd_purchase_status.pending,#edd_user_history .edd_purchase_status.revoked{color:#f73f2e}#edd_login_form legend,#edd_register_form legend{font-size:120%;margin-bottom:1em}#edd_login_form fieldset,#edd_register_form fieldset{border:none}#edd_login_form .edd-input,#edd_register_form .edd-input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#edd_login_form label,#edd_register_form label{cursor:pointer}#edd_profile_editor_form p{margin-bottom:8px}#edd_profile_editor_form label{display:inline-block}#edd_profile_editor_form .edd-profile-emails{list-style-type:none;display:inline-table;margin-left:0;margin-bottom:0}#edd_profile_editor_form .edd-profile-email{width:auto}#edd_profile_editor_form .edd-profile-email .actions{display:none}#edd_profile_editor_form .edd-profile-email:hover>span{display:inline-block}.edd_added_to_cart_alert{padding:5px;font-size:14px;border:1px solid #046a9e;background:#9ecce2;color:#333;margin:8px 0}.edd_added_to_cart_alert a.edd_alert_checkout_link{color:#000!important}input.edd_submit_plain{background:0 0!important;border:none!important;padding:0!important;display:inline;cursor:pointer}.single-download .edd_download_purchase_form{margin-bottom:1.387em}.edd_download_purchase_form .edd_download_quantity_wrapper{margin:0 0 .5em}.edd_download_purchase_form .edd_download_quantity_wrapper .edd-item-quantity{width:75px}.edd_download_purchase_form .edd_price_options{margin:0 0 15px}.edd_download_purchase_form .edd_price_options ul{margin:0;padding:0;list-style:none}.edd_download_purchase_form .edd_price_options li{display:block;padding:0;margin:0}.edd_download_purchase_form .edd_price_options span{display:inline;padding:0;margin:0}.edd_download_purchase_form .edd_price_options .edd_download_quantity_wrapper{padding-left:18px}.edd_download_purchase_form .edd_price_options .edd_download_quantity_wrapper *{font-size:80%}.edd_download_purchase_form .edd_price_options input.edd-item-quantity{display:inline;width:50px;max-width:90%}#edd-purchase-button,.edd-submit,[type=submit].edd-submit{display:inline-block;padding:6px 12px;margin:0;font-size:14px;font-weight:400;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.edd-submit.button:focus,[type=submit].edd-submit:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.edd-submit.button:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.edd-submit.plain{padding:0;border:none;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.edd-submit.button,.edd-submit.button.gray,.edd-submit.button:visited{color:#333;background:#f0f0f0;border-color:#ccc}.edd-submit.button.gray:active,.edd-submit.button.gray:focus,.edd-submit.button.gray:hover,.edd-submit.button:active,.edd-submit.button:focus,.edd-submit.button:hover{color:#333;background:#ebebeb;border-color:#adadad}.edd-submit.button.gray:active{background-image:none}.edd-submit.button.white{color:#333;background:#fff;border-color:#ccc}.edd-submit.button.white:active,.edd-submit.button.white:focus,.edd-submit.button.white:hover{color:#333;background:#ebebeb;border-color:#adadad}.edd-submit.button.white:active{background-image:none}.edd-submit.button.blue{color:#fff;background:#428bca;border-color:#357ebd}.edd-submit.button.blue.active,.edd-submit.button.blue:focus,.edd-submit.button.blue:hover{color:#fff;background:#3276b1;border-color:#285e8e}.edd-submit.button.blue.active{background-image:none}.edd-submit.button.red{color:#fff;background:#d9534f;border-color:#d43f3a}.edd-submit.button.red:active,.edd-submit.button.red:focus,.edd-submit.button.red:hover{color:#fff;background:#d2322d;border-color:#ac2925}.edd-submit.button.red:active{background-image:none}.edd-submit.button.green{color:#fff;background:#5cb85c;border-color:#4cae4c}.edd-submit.button.green:active,.edd-submit.button.green:focus,.edd-submit.button.green:hover{color:#fff;background:#47a447;border-color:#398439}.edd-submit.button.green:active{background-image:none}.edd-submit.button.yellow{color:#fff;background:#f0ad4e;border-color:#eea236}.edd-submit.button.yellow:active,.edd-submit.button.yellow:focus,.edd-submit.button.yellow:hover{color:#fff;background:#ed9c28;border-color:#d58512}.edd-submit.button.yellow:active{background-image:none}.edd-submit.button.orange{color:#fff;background:#ed9c28;border-color:#e3921e}.edd-submit.button.orange:active,.edd-submit.button.orange:focus,.edd-submit.button.orange:hover{color:#fff;background:#e59016;border-color:#d58512}.edd-submit.button.orange:active{background-image:none}.edd-submit.button.dark-gray{color:#fff;background:#363636;border-color:#222}.edd-submit.button.dark-gray:active,.edd-submit.button.dark-gray:focus,.edd-submit.button.dark-gray:hover{color:#fff;background:#333;border-color:#adadad}.edd-submit.button.dark-gray:active{background-image:none}.edd_downloads_list:after{content:"";display:table;clear:both}.edd_download{float:left}.edd_download_columns_1 .edd_download{width:100%}.edd_download_columns_2 .edd_download{width:50%}.edd_download_columns_0 .edd_download,.edd_download_columns_3 .edd_download{width:33%}.edd_download_columns_4 .edd_download{width:25%}.edd_download_columns_5 .edd_download{width:20%}.edd_download_columns_6 .edd_download{width:16.6%}.edd_download_inner{padding:0 8px 8px;margin:0 0 10px}.edd_download_columns_2 .edd_download:nth-child(2n+1),.edd_download_columns_3 .edd_download:nth-child(3n+1),.edd_download_columns_4 .edd_download:nth-child(4n+1),.edd_download_columns_5 .edd_download:nth-child(5n+1),.edd_download_columns_6 .edd_download:nth-child(6n+1){clear:left}.edd_download_image{max-width:100%}.edd_download .edd_price{margin-bottom:10px}.edd-hide-on-empty.cart-empty{display:none}edd-hide-on-empty.cart-not.empty{display:block}.edd-cart-ajax{margin:0 8px 0 4px;position:relative;top:2px;background:0 0;border:none;padding:0}.edd-cart-number-of-items{font-style:italic;color:grey}.edd-cart-meta.edd_subtotal{font-weight:700;font-style:italic}.edd-cart-meta.edd_cart_tax{font-size:1em;font-style:italic}.edd-cart-meta.edd_cart_tax::before{font-style:normal}.edd-cart-meta.edd_total{font-weight:700}.edd-cart-meta{padding:2px 5px}.edd-cart-meta.edd_subtotal,.edd-cart-meta.edd_total{background-color:#f9f9f9}.edd_errors:not(.edd-alert){-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;border:1px solid #e6db55;margin:0 0 21px;background:#ffffe0;color:#333}.edd_error{padding:10px}p.edd_error{margin:0!important}.edd_success:not(.edd-alert){-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;border:1px solid #b3ce89;margin:20px 0;background:#d5eab3;color:#567622;padding:6px 8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.edd-alert{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;margin-bottom:20px;padding:10px;border:1px solid transparent;vertical-align:middle}.edd-alert p{padding:0}.edd-alert p:not(:last-child){margin-bottom:5px}.edd-alert p:last-child{margin-bottom:0}.edd-alert-error{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.edd-alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.edd-alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.edd-alert-warn{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}