Plugin Directory

Changeset 1139192


Ignore:
Timestamp:
04/20/2015 03:00:34 PM (11 years ago)
Author:
ithemes
Message:

Tagging 1.12.0

Location:
ithemes-exchange
Files:
66 edited
1 copied

Legend:

Unmodified
Added
Removed
  • ithemes-exchange/tags/1.12.0/api/misc.php

    r1119606 r1139192  
    205205    $url = false;
    206206    foreach( $registered as $key => $param ) {
    207         if ( ! in_array( $param, $exempt ) )
     207        if ( ! in_array( $param, $exempt ) ) {
    208208            $url = remove_query_arg( $param, $url );
     209        }
     210    }
     211
     212    if ( ! empty( $url ) ) {
     213        $url = esc_url( $url );
    209214    }
    210215
  • ithemes-exchange/tags/1.12.0/api/theme/cart-item.php

    r1018864 r1139192  
    105105                $url = add_query_arg( $var_key, $var_value, $url );
    106106                $url = add_query_arg( $nonce_var, wp_create_nonce( 'it-exchange-cart-action-' . $session_id ), $url );
    107                 $output = $options['before'] . '<a href="' . $url . '" ' . $data . 'class="' . $class . '" >' . esc_attr( $options['label'] ) . '</a>' . $options['after'];
     107                $output = $options['before'] . '<a href="' . esc_url( $url ) . '" ' . $data . 'class="' . $class . '" >' . esc_attr( $options['label'] ) . '</a>' . $options['after'];
    108108            break;
    109109        }
  • ithemes-exchange/tags/1.12.0/api/theme/cart.php

    r931840 r1139192  
    209209
    210210                $output  = $options['before'];
    211                 $output .= '<a href="' . $url . '" class="' . $class . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
     211                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
    212212                $output .= $options['after'];
    213213                break;
     
    215215            default :
    216216                $output  = $options['before'];
    217                 $output .= '<input type="submit" class="' . $class . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
     217                $output .= '<input type="submit" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
    218218                $output .= $options['after'];
    219219                break;
     
    254254
    255255                $output  = $options['before'];
    256                 $output .= '<a href="' . $url . '" class="' . $class . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
     256                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
    257257                $output .= $options['after'];
    258258                break;
     
    260260            default :
    261261                $output  = $options['before'];
    262                 $output .= '<input type="submit" class="' . $class . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
     262                $output .= '<input type="submit" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
    263263                $output .= $options['after'];
    264264                break;
     
    296296                $url = add_query_arg( $nonce_var, wp_create_nonce( 'it-exchange-cart-action-' . it_exchange_get_session_id() ), $url );
    297297                $output  = $options['before'];
    298                 $output .= '<a href="' . $url . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
     298                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
    299299                $output .= $options['after'];
    300300                break;
     
    355355                $url = add_query_arg( $nonce_var, wp_create_nonce( 'it-exchange-cart-action-' . it_exchange_get_session_id() ), $url );
    356356                $output  = $options['before'];
    357                 $output .= '<a href="' . $url . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
     357                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
    358358                $output .= $options['after'];
    359359                break;
  • ithemes-exchange/tags/1.12.0/api/theme/checkout.php

    r737858 r1139192  
    110110
    111111        if ( 'link' == $options['format'] )
    112             return $options['before'] . '<a class="' . esc_attr( $class ) . '" href="' . $url . '">' . $options['label'] . '</a>' . $options['after'];
     112            return $options['before'] . '<a class="' . esc_attr( $class ) . '" href="' . esc_url( $url ) . '">' . $options['label'] . '</a>' . $options['after'];
    113113
    114114        return $url;
  • ithemes-exchange/tags/1.12.0/core-addons/admin/basic-reporting/init.php

    r952198 r1139192  
    1414*/
    1515function it_exchange_basic_reporting_register_dashboard_widget() {
     16    $cap = it_exchange_get_admin_menu_capability( 'it_exchange_basic_reporting' );
     17    // Back compat for the filter
    1618    $cap = apply_filters( 'it_exchange_basic_reporting_capability_level', 'manage_options' );
    1719    if ( ! current_user_can( $cap ) )
  • ithemes-exchange/tags/1.12.0/core-addons/admin/guest-checkout/lib/filters.php

    r1008592 r1139192  
    448448        return $url;
    449449
    450     $url = add_query_arg( array( 'it-exchange-guest-logout' => 1 ), $redirect );
     450    $url = add_query_arg( array( 'it-exchange-guest-logout' => 1 ), esc_url( $redirect ) );
    451451    return $url;
    452452}
     
    463463    if ( ( it_exchange_is_page( 'logout' ) && it_exchange_doing_guest_checkout() ) || ! empty( $_REQUEST['it-exchange-guest-logout'] ) ) {
    464464        it_exchange_kill_guest_checkout_session();
    465         wp_redirect( remove_query_arg( 'it-exchange-guest-logout' ) );
     465        wp_redirect( esc_url_raw( remove_query_arg( 'it-exchange-guest-logout' ) ) );
    466466    }
    467467}
  • ithemes-exchange/tags/1.12.0/core-addons/coupons/basic-coupons/admin.php

    r1008592 r1139192  
    175175        $slug = 'it-exchange-add-basic-coupon';
    176176        $func = 'it_exchange_basic_coupons_print_add_edit_coupon_screen';
    177         add_submenu_page( 'it-exchange', __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), 'manage_options', $slug, $func );
     177        add_submenu_page( 'it-exchange', __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'it-exchange-add-basic-coupon' ), $slug, $func );
    178178    } else if ( ! empty( $_GET['page'] ) && 'it-exchange-edit-basic-coupon' == $_GET['page'] ) {
    179179        $slug = 'it-exchange-edit-basic-coupon';
    180180        $func = 'it_exchange_basic_coupons_print_add_edit_coupon_screen';
    181         add_submenu_page( 'it-exchange', __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), 'manage_options', $slug, $func );
     181        add_submenu_page( 'it-exchange', __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'it-exchange-edit-basic-coupon' ), $slug, $func );
    182182    }
    183183    $url = add_query_arg( array( 'post_type' => 'it_exchange_coupon' ), 'edit.php' );
    184     add_submenu_page( 'it-exchange', __( 'Coupons', 'it-l10n-ithemes-exchange' ), __( 'Coupons', 'it-l10n-ithemes-exchange' ), 'manage_options', $url );
     184    add_submenu_page( 'it-exchange', __( 'Coupons', 'it-l10n-ithemes-exchange' ), __( 'Coupons', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'it-exchange-all-basic-coupons' ), $url );
    185185}
    186186add_action( 'admin_menu', 'it_exchange_basic_coupons_add_menu_item' );
  • ithemes-exchange/tags/1.12.0/core-addons/coupons/basic-coupons/init.php

    r1018864 r1139192  
    374374        $url = it_exchange_clean_query_args( array( it_exchange_get_field_name( 'sw_cart_focus' ) ) );
    375375        $url = add_query_arg( $var . '[]', $options['code'] );
    376         return '<a data-coupon-code="' . esc_attr( $options['code'] ) . '" class="' . esc_attr( $options['class'] ) . '" href="' . $url . '">' . esc_attr( $options['label'] ) . '</a>';
     376        return '<a data-coupon-code="' . esc_attr( $options['code'] ) . '" class="' . esc_attr( $options['class'] ) . '" href="' . esc_url( $url ) . '">' . esc_attr( $options['label'] ) . '</a>';
    377377    }
    378378}
     
    577577
    578578    it_exchange_add_message( 'notice', __( 'Coupon removed', 'it-l10n-ithemes-exchange' ) );
    579     wp_redirect( $url );
     579    wp_redirect( esc_url_raw( $url ) );
    580580    die();
    581581}
     
    628628    $url = add_query_arg( array( 'page' => 'it-exchange-edit-basic-coupon', 'post' => $id ), $url );
    629629
    630     $link = '<a href="' . $url . '">' . __( 'View Coupon', 'it-l10n-ithemes-exchange' ) . '</a>';
     630    $link = '<a href="' . esc_url( $url ) . '">' . __( 'View Coupon', 'it-l10n-ithemes-exchange' ) . '</a>';
    631631
    632632    $string = '';
  • ithemes-exchange/tags/1.12.0/core-addons/product-features/categories/init.php

    r1008592 r1139192  
    8282    function it_exchange_categories_addon_add_menu_item() {
    8383        $url = "edit-tags.php?taxonomy=it_exchange_category&amp;post_type=it_exchange_prod";
    84         add_submenu_page( 'it-exchange', __( 'Product Categories', 'it-l10n-ithemes-exchange' ), __( 'Product Categories', 'it-l10n-ithemes-exchange' ), 'manage_options', $url );
     84        add_submenu_page( 'it-exchange', __( 'Product Categories', 'it-l10n-ithemes-exchange' ), __( 'Product Categories', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'product-categories' ), $url );
    8585    }
    8686    add_action( 'admin_menu', 'it_exchange_categories_addon_add_menu_item' );
  • ithemes-exchange/tags/1.12.0/core-addons/product-features/tags/init.php

    r1008592 r1139192  
    6262    function it_exchange_tags_add_menu_item() {
    6363        $url = "edit-tags.php?taxonomy=it_exchange_tag&amp;post_type=it_exchange_prod";
    64         add_submenu_page( 'it-exchange', __( 'Product Tags', 'it-l10n-ithemes-exchange' ), __( 'Product Tags', 'it-l10n-ithemes-exchange' ), 'manage_options', $url );
     64        add_submenu_page( 'it-exchange', __( 'Product Tags', 'it-l10n-ithemes-exchange' ), __( 'Product Tags', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'product-tags' ), $url );
    6565    }
    6666    add_action( 'admin_menu', 'it_exchange_tags_add_menu_item' );
  • ithemes-exchange/tags/1.12.0/core-addons/shipping/simple-shipping/lib/settings.php

    r820178 r1139192  
    1919        <h2><?php _e( 'Shipping', 'it-l10n-ithemes-exchange' ); ?></h2>
    2020        <?php
    21         $url = add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), esc_url( admin_url( 'admin.php' ) ) );
    22         ?><p><?php printf( __( 'Settings are located in the %sShipping tab%s on the Exchange Settings page.', 'it-l10n-ithemes-exchange' ), '<a href="' . $url . '">', '</a>' ); ?></p>
     21        $url = add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), admin_url( 'admin.php' ) );
     22        ?><p><?php printf( __( 'Settings are located in the %sShipping tab%s on the Exchange Settings page.', 'it-l10n-ithemes-exchange' ), '<a href="' . esc_attr( $url ) . '">', '</a>' ); ?></p>
    2323    </div>
    2424    <?php
  • ithemes-exchange/tags/1.12.0/core-addons/transaction-methods/offline-payments/init.php

    r1111189 r1139192  
    583583                    case false: //active
    584584                    case '':
    585                         $output = '<a href="' . add_query_arg( 'offline-payments-recurring-payment', 'cancel' ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
     585                        $output = '<a href="' . esc_url( add_query_arg( 'offline-payments-recurring-payment', 'cancel' ) ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
    586586                        break;
    587587   
  • ithemes-exchange/tags/1.12.0/core-addons/transaction-methods/paypal-standard-secure/init.php

    r1136211 r1139192  
    782782        $L_BUTTONVARS[] = 'custom=' . $temp_id;
    783783       
    784         $shipping_address = it_exchange_get_cart_shipping_address();
    785         // If we have the shipping info, we may as well include it in the fields sent to Authorize.Net
    786         if ( !empty( $shipping_address ) ) {
     784        $purchase_requirements = it_exchange_get_purchase_requirements();
     785        // If we have the shipping info, we may as well include it in the fields sent to PayPal
     786        if ( !empty( $purchase_requirements['shipping-address'] ) ) {
     787            $shipping_address = it_exchange_get_cart_shipping_address();
    787788            $L_BUTTONVARS[] = 'address_override=1';
    788789            $L_BUTTONVARS[] = 'no_shipping=2';
  • ithemes-exchange/tags/1.12.0/core-addons/transaction-methods/paypal-standard/init.php

    r1136211 r1139192  
    570570        );
    571571       
    572         $shipping_address = it_exchange_get_cart_shipping_address();
    573         // If we have the shipping info, we may as well include it in the fields sent to Authorize.Net
    574         if ( !empty( $shipping_address ) ) {
     572        $purchase_requirements = it_exchange_get_purchase_requirements();
     573        // If we have the shipping info, we may as well include it in the fields sent to PayPal
     574        if ( !empty( $purchase_requirements['shipping-address'] ) ) {
     575            $shipping_address = it_exchange_get_cart_shipping_address();
    575576            $query['address_override'] = '1';
    576577            $query['no_shipping'] = '2';
  • ithemes-exchange/tags/1.12.0/core-addons/transaction-methods/zero-sum-checkout/init.php

    r1032065 r1139192  
    194194                    case false: //active
    195195                    case '':
    196                         $output = '<a href="' . add_query_arg( 'zero-sum-recurring-payment', 'cancel' ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
     196                        $output = '<a href="' . esc_url( add_query_arg( 'zero-sum-recurring-payment', 'cancel' ) ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
    197197                        break;
    198198   
  • ithemes-exchange/tags/1.12.0/history.txt

    r1136211 r1139192  
     11.12.0 - Glenn Ansley, Lew Ayotte, Elise, Alley
     2    Multiple updates involving add_query_arg and remove_query_arg to esc_url()
     3    Introduce it_exchange_get_admin_menu_capability( $context, $capability )
     4    Adding filter to shipping address and method requirement, for that rare case when the shipping requirement should be enabled, but isn't
    151.11.18 - Lew Ayotte, Glenn Ansley, Elise Alley
    26    Pass shipping to PayPal when available
  • ithemes-exchange/tags/1.12.0/init.php

    r1136211 r1139192  
    22/*
    33 * Plugin Name: iThemes Exchange
    4  * Version: 1.11.18
     4 * Version: 1.12.0
    55 * Text Domain: it-l10n-ithemes-exchange
    66 * Description: Easily sell your digital goods with iThemes Exchange, simple ecommerce for WordPress
     
    2525class IT_Exchange {
    2626
    27     var $_version         = '1.11.18';
     27    var $_version         = '1.12.0';
    2828    var $_wp_minimum      = '3.5';
    2929    var $_slug            = 'ithemes-exchange';
  • ithemes-exchange/tags/1.12.0/lang/ithemes-exchange.pot

    r1136211 r1139192  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: iThemes Exchange 1.11.18\n"
     5"Project-Id-Version: iThemes Exchange 1.12.0\n"
    66"Report-Msgid-Bugs-To: http://ithemes.com/forum/\n"
    7 "POT-Creation-Date: 2015-04-16 13:54:44+00:00\n"
     7"POT-Creation-Date: 2015-04-20 14:28:48+00:00\n"
    88"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
    99"MIME-Version: 1.0\n"
     
    16221622msgstr ""
    16231623
    1624 #: api/data-sets/data-formats.php:40 lib/shipping/class.shipping.php:371
     1624#: api/data-sets/data-formats.php:40 lib/shipping/class.shipping.php:370
    16251625msgid "Standard"
    16261626msgstr ""
    16271627
    1628 #: api/data-sets/data-formats.php:41 lib/shipping/class.shipping.php:372
     1628#: api/data-sets/data-formats.php:41 lib/shipping/class.shipping.php:371
    16291629msgid "Metric"
    16301630msgstr ""
     
    25022502msgstr ""
    25032503
    2504 #: api/misc.php:350
     2504#: api/misc.php:355
    25052505msgid "Please complete all purchase requirements before checkout out."
    25062506msgstr ""
     
    25262526
    25272527#: api/theme/billing.php:192 api/theme/shipping.php:191
    2528 #: lib/shipping/class.shipping.php:303
     2528#: lib/shipping/class.shipping.php:302
    25292529msgid "Address 2"
    25302530msgstr ""
    25312531
    25322532#: api/theme/billing.php:217 api/theme/shipping.php:216
    2533 #: lib/shipping/class.shipping.php:313
     2533#: lib/shipping/class.shipping.php:312
    25342534msgid "City"
    25352535msgstr ""
     
    25482548
    25492549#: api/theme/billing.php:395 api/theme/shipping.php:339
    2550 #: lib/shipping/class.shipping.php:633
     2550#: lib/shipping/class.shipping.php:632
    25512551msgid "State"
    25522552msgstr ""
     
    26752675msgstr ""
    26762676
    2677 #: api/theme/login.php:221 lib/functions/functions.php:503
     2677#: api/theme/login.php:221 lib/functions/functions.php:521
    26782678msgid "Log In"
    26792679msgstr ""
     
    28172817#: api/transactions.php:755 api/transactions.php:823 api/transactions.php:846
    28182818#: core-addons/transaction-methods/offline-payments/init.php:286
    2819 #: core-addons/transaction-methods/paypal-standard/init.php:949
    2820 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1189
     2819#: core-addons/transaction-methods/paypal-standard/init.php:950
     2820#: core-addons/transaction-methods/paypal-standard-secure/init.php:1190
    28212821msgid "Unknown"
    28222822msgstr ""
     
    28712871msgstr ""
    28722872
    2873 #. #-#-#-#-#  ithemes-exchange.pot (iThemes Exchange 1.11.18)  #-#-#-#-#
     2873#. #-#-#-#-#  ithemes-exchange.pot (iThemes Exchange 1.12.0)  #-#-#-#-#
    28742874#. Plugin Name of the plugin/theme
    2875 #: core-addons/admin/basic-reporting/init.php:19
     2875#: core-addons/admin/basic-reporting/init.php:21
    28762876#: lib/admin/views/admin-user-profile.php:22 lib/pages/class.nav-menus.php:33
    28772877msgid "iThemes Exchange"
     
    30153015#: core-addons/taxes/taxes-simple/init.php:56
    30163016#: core-addons/transaction-methods/offline-payments/view-add-on-settings.php:21
    3017 #: core-addons/transaction-methods/paypal-standard/init.php:1155
    3018 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1397
     3017#: core-addons/transaction-methods/paypal-standard/init.php:1156
     3018#: core-addons/transaction-methods/paypal-standard-secure/init.php:1398
    30193019#: lib/admin/class-settings-form.php:41
    30203020#: lib/admin/views/admin-email-settings.php:164
     
    32073207#: core-addons/coupons/basic-coupons/admin.php:438
    32083208#: lib/email-notifications/class.email-notifications.php:453
    3209 #: lib/functions/functions.php:394
     3209#: lib/functions/functions.php:412
    32103210#: lib/products/class.products-post-type.php:113
    32113211msgid "Product"
     
    36613661#: core-addons/taxes/taxes-simple/init.php:95
    36623662#: core-addons/transaction-methods/offline-payments/init.php:430
    3663 #: core-addons/transaction-methods/paypal-standard/init.php:1218
    3664 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1522
     3663#: core-addons/transaction-methods/paypal-standard/init.php:1219
     3664#: core-addons/transaction-methods/paypal-standard-secure/init.php:1523
    36653665#: lib/admin/class.admin.php:1045 lib/admin/class.admin.php:1242
    36663666#: lib/admin/class.admin.php:1332
     
    36703670#: core-addons/product-types/digital-downloads/init.php:186
    36713671#: core-addons/transaction-methods/offline-payments/init.php:436
    3672 #: core-addons/transaction-methods/paypal-standard/init.php:1224
    3673 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1528
     3672#: core-addons/transaction-methods/paypal-standard/init.php:1225
     3673#: core-addons/transaction-methods/paypal-standard-secure/init.php:1529
    36743674msgid "Settings saved."
    36753675msgstr ""
     
    36773677#: core-addons/product-types/digital-downloads/init.php:191
    36783678#: core-addons/transaction-methods/offline-payments/init.php:441
    3679 #: core-addons/transaction-methods/paypal-standard/init.php:1229
    3680 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1533
     3679#: core-addons/transaction-methods/paypal-standard/init.php:1230
     3680#: core-addons/transaction-methods/paypal-standard-secure/init.php:1534
    36813681msgid "Settings not saved."
    36823682msgstr ""
     
    38173817
    38183818#: core-addons/transaction-methods/offline-payments/init.php:274
    3819 #: core-addons/transaction-methods/paypal-standard/init.php:930
    3820 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1168
     3819#: core-addons/transaction-methods/paypal-standard/init.php:931
     3820#: core-addons/transaction-methods/paypal-standard-secure/init.php:1169
    38213821msgid "Paid"
    38223822msgstr ""
     
    38273827
    38283828#: core-addons/transaction-methods/offline-payments/init.php:280
    3829 #: core-addons/transaction-methods/paypal-standard/init.php:945
    3830 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1183
     3829#: core-addons/transaction-methods/paypal-standard/init.php:946
     3830#: core-addons/transaction-methods/paypal-standard-secure/init.php:1184
    38313831msgid "Pending"
    38323832msgstr ""
    38333833
    38343834#: core-addons/transaction-methods/offline-payments/init.php:283
    3835 #: core-addons/transaction-methods/paypal-standard/init.php:947
    3836 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1185
     3835#: core-addons/transaction-methods/paypal-standard/init.php:948
     3836#: core-addons/transaction-methods/paypal-standard-secure/init.php:1186
    38373837msgid "Voided"
    38383838msgstr ""
     
    38453845
    38463846#: core-addons/transaction-methods/offline-payments/init.php:391
    3847 #: core-addons/transaction-methods/paypal-standard/init.php:1180
    3848 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1422
     3847#: core-addons/transaction-methods/paypal-standard/init.php:1181
     3848#: core-addons/transaction-methods/paypal-standard-secure/init.php:1423
    38493849msgid "Video:"
    38503850msgstr ""
     
    38833883
    38843884#: core-addons/transaction-methods/offline-payments/init.php:469
    3885 #: core-addons/transaction-methods/paypal-standard/init.php:1264
    3886 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1576
     3885#: core-addons/transaction-methods/paypal-standard/init.php:1265
     3886#: core-addons/transaction-methods/paypal-standard-secure/init.php:1577
    38873887#: lib/admin/class.admin.php:1054 lib/admin/class.admin.php:1253
    38883888#: lib/admin/class.admin.php:1349
     
    39133913
    39143914#: core-addons/transaction-methods/offline-payments/init.php:585
    3915 #: core-addons/transaction-methods/paypal-standard/init.php:1029
    3916 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1271
     3915#: core-addons/transaction-methods/paypal-standard/init.php:1030
     3916#: core-addons/transaction-methods/paypal-standard-secure/init.php:1272
    39173917#: core-addons/transaction-methods/zero-sum-checkout/init.php:196
    39183918msgid "Cancel Recurring Payment"
     
    39203920
    39213921#: core-addons/transaction-methods/offline-payments/init.php:590
    3922 #: core-addons/transaction-methods/paypal-standard/init.php:1016
    3923 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1258
     3922#: core-addons/transaction-methods/paypal-standard/init.php:1017
     3923#: core-addons/transaction-methods/paypal-standard-secure/init.php:1259
    39243924#: core-addons/transaction-methods/zero-sum-checkout/init.php:201
    39253925msgid "Recurring payment has been deactivated"
     
    39543954msgstr ""
    39553955
    3956 #: core-addons/transaction-methods/paypal-standard/init.php:596
     3956#: core-addons/transaction-methods/paypal-standard/init.php:597
    39573957msgid "ERROR: Invalid PayPal Setup"
    39583958msgstr ""
    39593959
    3960 #: core-addons/transaction-methods/paypal-standard/init.php:734
    3961 #: core-addons/transaction-methods/paypal-standard-secure/init.php:971
     3960#: core-addons/transaction-methods/paypal-standard/init.php:735
     3961#: core-addons/transaction-methods/paypal-standard-secure/init.php:972
    39623962msgid "Invalid IPN sent from PayPal: %s"
    39633963msgstr ""
    39643964
    3965 #: core-addons/transaction-methods/paypal-standard/init.php:933
    3966 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1171
     3965#: core-addons/transaction-methods/paypal-standard/init.php:934
     3966#: core-addons/transaction-methods/paypal-standard-secure/init.php:1172
    39673967msgid "Refund"
    39683968msgstr ""
    39693969
    3970 #: core-addons/transaction-methods/paypal-standard/init.php:935
    3971 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1173
     3970#: core-addons/transaction-methods/paypal-standard/init.php:936
     3971#: core-addons/transaction-methods/paypal-standard-secure/init.php:1174
    39723972msgid "Reversed"
    39733973msgstr ""
    39743974
    3975 #: core-addons/transaction-methods/paypal-standard/init.php:937
    3976 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1175
     3975#: core-addons/transaction-methods/paypal-standard/init.php:938
     3976#: core-addons/transaction-methods/paypal-standard-secure/init.php:1176
    39773977msgid "Buyer Complaint"
    39783978msgstr ""
    39793979
    3980 #: core-addons/transaction-methods/paypal-standard/init.php:939
    3981 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1177
     3980#: core-addons/transaction-methods/paypal-standard/init.php:940
     3981#: core-addons/transaction-methods/paypal-standard-secure/init.php:1178
    39823982msgid "Denied"
    39833983msgstr ""
    39843984
    3985 #: core-addons/transaction-methods/paypal-standard/init.php:941
    3986 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1179
     3985#: core-addons/transaction-methods/paypal-standard/init.php:942
     3986#: core-addons/transaction-methods/paypal-standard-secure/init.php:1180
    39873987msgid "Expired"
    39883988msgstr ""
    39893989
    3990 #: core-addons/transaction-methods/paypal-standard/init.php:943
    3991 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1181
     3990#: core-addons/transaction-methods/paypal-standard/init.php:944
     3991#: core-addons/transaction-methods/paypal-standard-secure/init.php:1182
    39923992msgid "Failed"
    39933993msgstr ""
    39943994
    3995 #: core-addons/transaction-methods/paypal-standard/init.php:1020
    3996 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1262
     3995#: core-addons/transaction-methods/paypal-standard/init.php:1021
     3996#: core-addons/transaction-methods/paypal-standard-secure/init.php:1263
    39973997msgid "Recurring payment has been cancelled"
    39983998msgstr ""
    39993999
    4000 #: core-addons/transaction-methods/paypal-standard/init.php:1024
    4001 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1266
     4000#: core-addons/transaction-methods/paypal-standard/init.php:1025
     4001#: core-addons/transaction-methods/paypal-standard-secure/init.php:1267
    40024002msgid "Recurring payment has been suspended"
    40034003msgstr ""
    40044004
    4005 #: core-addons/transaction-methods/paypal-standard/init.php:1029
    4006 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1271
     4005#: core-addons/transaction-methods/paypal-standard/init.php:1030
     4006#: core-addons/transaction-methods/paypal-standard-secure/init.php:1272
    40074007msgid "Profile ID"
    40084008msgstr ""
    40094009
    4010 #: core-addons/transaction-methods/paypal-standard/init.php:1145
     4010#: core-addons/transaction-methods/paypal-standard/init.php:1146
    40114011msgid "PayPal Standard Settings - Basic"
    40124012msgstr ""
    40134013
    4014 #: core-addons/transaction-methods/paypal-standard/init.php:1169
     4014#: core-addons/transaction-methods/paypal-standard/init.php:1170
    40154015msgid "PayPal Standard - Basic (Fastest Setup)"
    40164016msgstr ""
    40174017
    4018 #: core-addons/transaction-methods/paypal-standard/init.php:1179
     4018#: core-addons/transaction-methods/paypal-standard/init.php:1180
    40194019msgid ""
    40204020"This is the simple and fast version to get PayPal setup for your store. You "
     
    40254025msgstr ""
    40264026
    4027 #: core-addons/transaction-methods/paypal-standard/init.php:1180
     4027#: core-addons/transaction-methods/paypal-standard/init.php:1181
    40284028msgid "Setting Up PayPal Standard Basic"
    40294029msgstr ""
    40304030
    4031 #: core-addons/transaction-methods/paypal-standard/init.php:1182
    4032 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1424
     4031#: core-addons/transaction-methods/paypal-standard/init.php:1183
     4032#: core-addons/transaction-methods/paypal-standard-secure/init.php:1425
    40334033msgid "Don't have a PayPal account yet?"
    40344034msgstr ""
    40354035
    4036 #: core-addons/transaction-methods/paypal-standard/init.php:1182
    4037 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1424
     4036#: core-addons/transaction-methods/paypal-standard/init.php:1183
     4037#: core-addons/transaction-methods/paypal-standard-secure/init.php:1425
    40384038msgid "Go set one up here"
    40394039msgstr ""
    40404040
    4041 #: core-addons/transaction-methods/paypal-standard/init.php:1183
     4041#: core-addons/transaction-methods/paypal-standard/init.php:1184
    40424042msgid "What is your PayPal email address?"
    40434043msgstr ""
    40444044
    4045 #: core-addons/transaction-methods/paypal-standard/init.php:1185
    4046 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1427
     4045#: core-addons/transaction-methods/paypal-standard/init.php:1186
     4046#: core-addons/transaction-methods/paypal-standard-secure/init.php:1428
    40474047msgid "PayPal Email Address"
    40484048msgstr ""
    40494049
    4050 #: core-addons/transaction-methods/paypal-standard/init.php:1185
    4051 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1427
    4052 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1491
     4050#: core-addons/transaction-methods/paypal-standard/init.php:1186
     4051#: core-addons/transaction-methods/paypal-standard-secure/init.php:1428
     4052#: core-addons/transaction-methods/paypal-standard-secure/init.php:1492
    40534053msgid "We need this to tie payments to your account."
    40544054msgstr ""
    40554055
    4056 #: core-addons/transaction-methods/paypal-standard/init.php:1194
    4057 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1471
     4056#: core-addons/transaction-methods/paypal-standard/init.php:1195
     4057#: core-addons/transaction-methods/paypal-standard-secure/init.php:1472
    40584058msgid "Purchase Button Label"
    40594059msgstr ""
    40604060
    4061 #: core-addons/transaction-methods/paypal-standard/init.php:1194
     4061#: core-addons/transaction-methods/paypal-standard/init.php:1195
    40624062msgid ""
    40634063"This is the text inside the button your customers will press to purchase "
     
    40654065msgstr ""
    40664066
    4067 #: core-addons/transaction-methods/paypal-standard/init.php:1283
    4068 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1595
     4067#: core-addons/transaction-methods/paypal-standard/init.php:1284
     4068#: core-addons/transaction-methods/paypal-standard-secure/init.php:1596
    40694069msgid "Please include your PayPal Email Address"
    40704070msgstr ""
     
    40884088msgstr ""
    40894089
    4090 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1187
     4090#: core-addons/transaction-methods/paypal-standard-secure/init.php:1188
    40914091msgid "Cancelled"
    40924092msgstr ""
    40934093
    4094 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1387
     4094#: core-addons/transaction-methods/paypal-standard-secure/init.php:1388
    40954095msgid "PayPal Standard Settings - Secure"
    40964096msgstr ""
    40974097
    4098 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1411
     4098#: core-addons/transaction-methods/paypal-standard-secure/init.php:1412
    40994099msgid "PayPal Standard - Secure (Highly Recommended)"
    41004100msgstr ""
    41014101
    4102 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1421
     4102#: core-addons/transaction-methods/paypal-standard-secure/init.php:1422
    41034103msgid ""
    41044104"Although this PayPal version for iThemes Exchange takes more effort and "
     
    41084108msgstr ""
    41094109
    4110 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1422
     4110#: core-addons/transaction-methods/paypal-standard-secure/init.php:1423
    41114111msgid "Setting Up PayPal Standard Secure"
    41124112msgstr ""
    41134113
    4114 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1425
     4114#: core-addons/transaction-methods/paypal-standard-secure/init.php:1426
    41154115msgid "Step 1. Fill out your PayPal email address"
    41164116msgstr ""
    41174117
    4118 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1435
     4118#: core-addons/transaction-methods/paypal-standard-secure/init.php:1436
    41194119msgid "Step 2. Fill out your PayPal API credentials"
    41204120msgstr ""
    41214121
    4122 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1437
     4122#: core-addons/transaction-methods/paypal-standard-secure/init.php:1438
    41234123msgid "PayPal API Username"
    41244124msgstr ""
    41254125
    4126 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1437
    4127 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1446
    4128 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1455
     4126#: core-addons/transaction-methods/paypal-standard-secure/init.php:1438
     4127#: core-addons/transaction-methods/paypal-standard-secure/init.php:1447
     4128#: core-addons/transaction-methods/paypal-standard-secure/init.php:1456
    41294129msgid ""
    41304130"At PayPal, see: Profile &rarr; My Selling Tools &rarr; API Access &rarr; "
     
    41324132msgstr ""
    41334133
    4134 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1446
     4134#: core-addons/transaction-methods/paypal-standard-secure/init.php:1447
    41354135msgid "PayPal API Password"
    41364136msgstr ""
    41374137
    4138 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1455
     4138#: core-addons/transaction-methods/paypal-standard-secure/init.php:1456
    41394139msgid "PayPal API Signature"
    41404140msgstr ""
    41414141
    4142 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1463
     4142#: core-addons/transaction-methods/paypal-standard-secure/init.php:1464
    41434143msgid "Step 3. Setup PayPal Auto Return"
    41444144msgstr ""
    41454145
    4146 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1464
     4146#: core-addons/transaction-methods/paypal-standard-secure/init.php:1465
    41474147msgid ""
    41484148"PayPal Auto Return must be configured in Account Profile -› Website Payment "
     
    41504150msgstr ""
    41514151
    4152 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1465
     4152#: core-addons/transaction-methods/paypal-standard-secure/init.php:1466
    41534153msgid ""
    41544154"Please log into your account, set Auto Return to ON and add this URL to your "
     
    41574157msgstr ""
    41584158
    4159 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1467
     4159#: core-addons/transaction-methods/paypal-standard-secure/init.php:1468
    41604160msgid "Step 4. Setup PayPal Payment Data Transfer (PDT)"
    41614161msgstr ""
    41624162
    4163 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1468
     4163#: core-addons/transaction-methods/paypal-standard-secure/init.php:1469
    41644164msgid ""
    41654165"PayPal PDT must be turned <strong>ON</strong> in Account Profile -› Website "
     
    41674167msgstr ""
    41684168
    4169 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1469
     4169#: core-addons/transaction-methods/paypal-standard-secure/init.php:1470
    41704170msgid "Optional: Edit Paypal Button Label"
    41714171msgstr ""
    41724172
    4173 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1471
     4173#: core-addons/transaction-methods/paypal-standard-secure/init.php:1472
    41744174msgid ""
    41754175"This is the text inside the button your customers will press to purchase "
     
    41774177msgstr ""
    41784178
    4179 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1479
     4179#: core-addons/transaction-methods/paypal-standard-secure/init.php:1480
    41804180msgid "Optional: Enable Paypal Testing Mode"
    41814181msgstr ""
    41824182
    4183 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1482
     4183#: core-addons/transaction-methods/paypal-standard-secure/init.php:1483
    41844184msgid "Enable PayPal Sandbox Mode?"
    41854185msgstr ""
    41864186
    4187 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1482
     4187#: core-addons/transaction-methods/paypal-standard-secure/init.php:1483
    41884188msgid ""
    41894189"Use this mode for testing your store. This mode will need to be disabled "
     
    41914191msgstr ""
    41924192
    4193 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1491
     4193#: core-addons/transaction-methods/paypal-standard-secure/init.php:1492
    41944194msgid "PayPal Sandbox Email Address"
    41954195msgstr ""
    41964196
    4197 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1495
     4197#: core-addons/transaction-methods/paypal-standard-secure/init.php:1496
    41984198msgid "PayPal Sandbox API Username"
    41994199msgstr ""
    42004200
    4201 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1495
    4202 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1499
    4203 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1503
     4201#: core-addons/transaction-methods/paypal-standard-secure/init.php:1496
     4202#: core-addons/transaction-methods/paypal-standard-secure/init.php:1500
     4203#: core-addons/transaction-methods/paypal-standard-secure/init.php:1504
    42044204msgid "View tutorial: "
    42054205msgstr ""
    42064206
    4207 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1499
     4207#: core-addons/transaction-methods/paypal-standard-secure/init.php:1500
    42084208msgid "PayPal Sandbox API Password"
    42094209msgstr ""
    42104210
    4211 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1503
     4211#: core-addons/transaction-methods/paypal-standard-secure/init.php:1504
    42124212msgid "PayPal Sandbox API Signature"
    42134213msgstr ""
    42144214
    4215 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1597
     4215#: core-addons/transaction-methods/paypal-standard-secure/init.php:1598
    42164216msgid "Please include your PayPal API Username"
    42174217msgstr ""
    42184218
    4219 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1599
     4219#: core-addons/transaction-methods/paypal-standard-secure/init.php:1600
    42204220msgid "Please include your PayPal API password"
    42214221msgstr ""
    42224222
    4223 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1601
     4223#: core-addons/transaction-methods/paypal-standard-secure/init.php:1602
    42244224msgid "Please include your PayPal API signature"
    42254225msgstr ""
    42264226
    4227 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1605
     4227#: core-addons/transaction-methods/paypal-standard-secure/init.php:1606
    42284228msgid "Please include your PayPal Sandbox Email Address"
    42294229msgstr ""
    42304230
    4231 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1607
     4231#: core-addons/transaction-methods/paypal-standard-secure/init.php:1608
    42324232msgid "Please include your PayPal Sandbox API Username"
    42334233msgstr ""
    42344234
    4235 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1609
     4235#: core-addons/transaction-methods/paypal-standard-secure/init.php:1610
    42364236msgid "Please include your PayPal Sandbox API password"
    42374237msgstr ""
    42384238
    4239 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1611
     4239#: core-addons/transaction-methods/paypal-standard-secure/init.php:1612
    42404240msgid "Please include your PayPal Sandbox API signature"
    42414241msgstr ""
     
    50965096msgstr ""
    50975097
    5098 #: lib/admin/views/admin-settings.php:187 lib/functions/functions.php:437
     5098#: lib/admin/views/admin-settings.php:187 lib/functions/functions.php:455
    50995099msgid "Customer Registration"
    51005100msgstr ""
     
    51195119msgstr ""
    51205120
    5121 #: lib/admin/views/admin-settings.php:201 lib/functions/functions.php:434
     5121#: lib/admin/views/admin-settings.php:201 lib/functions/functions.php:452
    51225122msgid "Registration"
    51235123msgstr ""
     
    51265126#: lib/deprecated/templates/content-registration.php:49
    51275127#: lib/deprecated/templates/super-widget-registration.php:44
    5128 #: lib/functions/functions.php:881
     5128#: lib/functions/functions.php:899
    51295129#: lib/templates/content-checkout/elements/purchase-requirements/logged-in/elements/not-logged-in/links/login.php:21
    51305130#: lib/templates/content-checkout/elements/purchase-requirements/logged-in/elements/registration/login.php:20
     
    52425242#: lib/admin/views/admin-user-products.php:11
    52435243#: lib/deprecated/templates/content-downloads.php:34
    5244 #: lib/functions/functions.php:421 lib/functions/functions.php:424
     5244#: lib/functions/functions.php:439 lib/functions/functions.php:442
    52455245#: lib/templates/content-downloads/elements/confirmation-url.php:20
    52465246msgid "Transaction"
     
    52535253msgstr ""
    52545254
    5255 #: lib/admin/views/admin-user-products.php:72 lib/functions/functions.php:476
     5255#: lib/admin/views/admin-user-products.php:72 lib/functions/functions.php:494
    52565256#: lib/product-features/class.downloads.php:168
    52575257#: lib/templates/content-confirmation/elements/product.php:37
     
    54965496msgstr ""
    54975497
    5498 #: lib/cart/class.cart.php:137
     5498#: lib/cart/class.cart.php:136
    54995499msgid "Product not added to cart"
    55005500msgstr ""
    55015501
    5502 #: lib/cart/class.cart.php:171 lib/cart/class.cart.php:553
     5502#: lib/cart/class.cart.php:170 lib/cart/class.cart.php:552
    55035503msgid "Product added to cart"
    55045504msgstr ""
    55055505
    5506 #: lib/cart/class.cart.php:332
     5506#: lib/cart/class.cart.php:331
    55075507msgid "Error adding Shipping Address. Please try again."
    55085508msgstr ""
    55095509
    5510 #: lib/cart/class.cart.php:347 lib/cart/class.cart.php:405
    5511 #: lib/shipping/class.shipping.php:498 lib/shipping/class.shipping.php:551
     5510#: lib/cart/class.cart.php:346 lib/cart/class.cart.php:404
     5511#: lib/shipping/class.shipping.php:497 lib/shipping/class.shipping.php:550
    55125512msgid "Please fill out all required fields"
    55135513msgstr ""
    55145514
    5515 #: lib/cart/class.cart.php:373
     5515#: lib/cart/class.cart.php:372
    55165516msgid "Shipping Address Saved"
    55175517msgstr ""
    55185518
    5519 #: lib/cart/class.cart.php:390
     5519#: lib/cart/class.cart.php:389
    55205520msgid "Error adding Billing Address. Please try again."
    55215521msgstr ""
    55225522
    5523 #: lib/cart/class.cart.php:436
     5523#: lib/cart/class.cart.php:435
    55245524msgid "Billing Address Saved"
    55255525msgstr ""
    55265526
    5527 #: lib/cart/class.cart.php:535
     5527#: lib/cart/class.cart.php:534
    55285528msgid "Unknown error. Please try again."
    55295529msgstr ""
    55305530
     5531#: lib/cart/class.cart.php:544
     5532msgid "Please select a payment method"
     5533msgstr ""
     5534
    55315535#: lib/cart/class.cart.php:545
    5532 msgid "Please select a payment method"
     5536msgid "There was an error processing your transaction. Please try again."
    55335537msgstr ""
    55345538
    55355539#: lib/cart/class.cart.php:546
    5536 msgid "There was an error processing your transaction. Please try again."
     5540msgid "Product not removed from cart. Please try again."
    55375541msgstr ""
    55385542
    55395543#: lib/cart/class.cart.php:547
    5540 msgid "Product not removed from cart. Please try again."
     5544msgid "There was an error emptying your cart. Please try again."
    55415545msgstr ""
    55425546
    55435547#: lib/cart/class.cart.php:548
    5544 msgid "There was an error emptying your cart. Please try again."
     5548msgid "There was an error updating your cart. Please try again."
    55455549msgstr ""
    55465550
    55475551#: lib/cart/class.cart.php:549
    5548 msgid "There was an error updating your cart. Please try again."
     5552msgid "Cart Updated."
    55495553msgstr ""
    55505554
    55515555#: lib/cart/class.cart.php:550
    5552 msgid "Cart Updated."
     5556msgid "Cart Emptied"
    55535557msgstr ""
    55545558
    55555559#: lib/cart/class.cart.php:551
    5556 msgid "Cart Emptied"
    5557 msgstr ""
    5558 
    5559 #: lib/cart/class.cart.php:552
    55605560msgid "Product removed from cart."
    55615561msgstr ""
     
    58455845msgstr ""
    58465846
    5847 #: lib/functions/functions.php:237
     5847#: lib/functions/functions.php:255
    58485848msgid ""
    58495849"Invalid webhook request for this site. The webhook request should be: %s"
    58505850msgstr ""
    58515851
    5852 #: lib/functions/functions.php:237
     5852#: lib/functions/functions.php:255
    58535853msgid "iThemes Exchange Webhook Process Error"
    58545854msgstr ""
    58555855
    5856 #: lib/functions/functions.php:245
     5856#: lib/functions/functions.php:263
    58575857msgid "iThemes Exchange webhook process Complete"
    58585858msgstr ""
    58595859
    5860 #: lib/functions/functions.php:245
     5860#: lib/functions/functions.php:263
    58615861msgid "iThemes Exchange Webhook Process Complete"
    58625862msgstr ""
    58635863
    5864 #: lib/functions/functions.php:273
     5864#: lib/functions/functions.php:291
    58655865msgid "Dangerous Settings"
    58665866msgstr ""
    58675867
    5868 #: lib/functions/functions.php:277
     5868#: lib/functions/functions.php:295
    58695869msgid "Reset Exchange"
    58705870msgstr ""
    58715871
    5872 #: lib/functions/functions.php:280
     5872#: lib/functions/functions.php:298
    58735873msgid "Reset ALL data"
    58745874msgstr ""
    58755875
    5876 #: lib/functions/functions.php:281
     5876#: lib/functions/functions.php:299
    58775877msgid "Checking this box will reset ALL settings and DELETE ALL DATA."
    58785878msgstr ""
    58795879
    5880 #: lib/functions/functions.php:377
     5880#: lib/functions/functions.php:395
    58815881msgid "Exchange has been reset. All data has been deleted."
    58825882msgstr ""
    58835883
    5884 #: lib/functions/functions.php:397
     5884#: lib/functions/functions.php:415
    58855885msgid "Product Base"
    58865886msgstr ""
    58875887
    5888 #: lib/functions/functions.php:407
     5888#: lib/functions/functions.php:425
    58895889msgid "Store"
    58905890msgstr ""
    58915891
    5892 #: lib/functions/functions.php:410
     5892#: lib/functions/functions.php:428
    58935893msgid "Store Page"
    58945894msgstr ""
    58955895
    5896 #: lib/functions/functions.php:411
     5896#: lib/functions/functions.php:429
    58975897msgid "Where all your products are shown in one place"
    58985898msgstr ""
    58995899
    5900 #: lib/functions/functions.php:438
     5900#: lib/functions/functions.php:456
    59015901msgid ""
    59025902"Where customers register to login, download, etc.  You can turn off "
     
    59055905msgstr ""
    59065906
    5907 #: lib/functions/functions.php:448
     5907#: lib/functions/functions.php:466
    59085908msgid "Account"
    59095909msgstr ""
    59105910
    5911 #: lib/functions/functions.php:451
     5911#: lib/functions/functions.php:469
    59125912msgid "Account Page"
    59135913msgstr ""
    59145914
    5915 #: lib/functions/functions.php:452
     5915#: lib/functions/functions.php:470
    59165916msgid ""
    59175917"Customers get an account when they buy something, so they can login and "
     
    59205920msgstr ""
    59215921
    5922 #: lib/functions/functions.php:462
     5922#: lib/functions/functions.php:480
    59235923msgid "Profile"
    59245924msgstr ""
    59255925
    5926 #: lib/functions/functions.php:465
     5926#: lib/functions/functions.php:483
    59275927msgid "Profile Page"
    59285928msgstr ""
    59295929
    5930 #: lib/functions/functions.php:466
     5930#: lib/functions/functions.php:484
    59315931msgid "Private details about your customers that they can change."
    59325932msgstr ""
    59335933
    5934 #: lib/functions/functions.php:479
     5934#: lib/functions/functions.php:497
    59355935msgid "Customer Downloads"
    59365936msgstr ""
    59375937
    5938 #: lib/functions/functions.php:480
     5938#: lib/functions/functions.php:498
    59395939msgid "Page where the customer can find all of their available downloads."
    59405940msgstr ""
    59415941
    5942 #: lib/functions/functions.php:490 lib/functions/functions.php:493
     5942#: lib/functions/functions.php:508 lib/functions/functions.php:511
    59435943#: lib/products/class.products-post-type.php:588
    59445944#: lib/templates/content-confirmation/elements/purchases-label.php:20
     
    59465946msgstr ""
    59475947
    5948 #: lib/functions/functions.php:506
     5948#: lib/functions/functions.php:524
    59495949msgid "Customer Log In"
    59505950msgstr ""
    59515951
    5952 #: lib/functions/functions.php:516
     5952#: lib/functions/functions.php:534
    59535953msgid "Log Out"
    59545954msgstr ""
    59555955
    5956 #: lib/functions/functions.php:519
     5956#: lib/functions/functions.php:537
    59575957msgid "Customer Log Out"
    59585958msgstr ""
    59595959
    5960 #: lib/functions/functions.php:529
     5960#: lib/functions/functions.php:547
    59615961msgid "Thank you"
    59625962msgstr ""
    59635963
    5964 #: lib/functions/functions.php:532
     5964#: lib/functions/functions.php:550
    59655965msgid "Purchase Confirmation"
    59665966msgstr ""
    59675967
    5968 #: lib/functions/functions.php:882
     5968#: lib/functions/functions.php:900
    59695969msgid "register"
    59705970msgstr ""
    59715971
    5972 #: lib/functions/functions.php:883
     5972#: lib/functions/functions.php:901
    59735973msgid "edit your cart"
    59745974msgstr ""
    59755975
    5976 #: lib/functions/functions.php:905
     5976#: lib/functions/functions.php:923
    59775977msgid "We need a billing address before you can checkout"
    59785978msgstr ""
    59795979
    5980 #: lib/functions/functions.php:1208
     5980#: lib/functions/functions.php:1226
    59815981msgid "Please provide a username and password"
    59825982msgstr ""
    59835983
    5984 #: lib/functions/functions.php:1270
     5984#: lib/functions/functions.php:1288
    59855985msgid "You do not have permission to view this file."
    59865986msgstr ""
    59875987
    5988 #: lib/functions/functions.php:1270
     5988#: lib/functions/functions.php:1288
    59895989msgid "Error"
    59905990msgstr ""
    59915991
    5992 #: lib/functions/functions.php:1455
     5992#: lib/functions/functions.php:1473
    59935993msgid "%s Product"
    59945994msgid_plural "%s Products"
     
    67646764msgstr ""
    67656765
    6766 #: lib/shipping/class.shipping.php:267
     6766#: lib/shipping/class.shipping.php:266
    67676767msgid "General Shipping Settings"
    67686768msgstr ""
    67696769
    6770 #: lib/shipping/class.shipping.php:287
     6770#: lib/shipping/class.shipping.php:286
    67716771msgid "Products Ship From"
    67726772msgstr ""
    67736773
    6774 #: lib/shipping/class.shipping.php:289
     6774#: lib/shipping/class.shipping.php:288
    67756775msgid "The default from address used when shipping your products."
    67766776msgstr ""
    67776777
    6778 #: lib/shipping/class.shipping.php:293
     6778#: lib/shipping/class.shipping.php:292
    67796779msgid "Address 1"
    67806780msgstr ""
    67816781
    6782 #: lib/shipping/class.shipping.php:337
     6782#: lib/shipping/class.shipping.php:336
    67836783msgid "Zip"
    67846784msgstr ""
    67856785
    6786 #: lib/shipping/class.shipping.php:342
     6786#: lib/shipping/class.shipping.php:341
    67876787msgid "Can individual products override the default Ships From Address?"
    67886788msgstr ""
    67896789
    6790 #: lib/shipping/class.shipping.php:344
     6790#: lib/shipping/class.shipping.php:343
    67916791msgid ""
    67926792"Selecting \"yes\" will place these fields on the Add/Edit product screen."
    67936793msgstr ""
    67946794
    6795 #: lib/shipping/class.shipping.php:354
     6795#: lib/shipping/class.shipping.php:353
    67966796msgid "Can individual products override the global Shipping Methods setting?"
    67976797msgstr ""
    67986798
    6799 #: lib/shipping/class.shipping.php:356
     6799#: lib/shipping/class.shipping.php:355
    68006800msgid ""
    68016801"Selecting \"yes\" will allow you to set available Shipping Methods for a "
     
    68036803msgstr ""
    68046804
    6805 #: lib/shipping/class.shipping.php:366
     6805#: lib/shipping/class.shipping.php:365
    68066806msgid "Measurements Format"
    68076807msgstr ""
    68086808
    6809 #: lib/shipping/class.shipping.php:368
     6809#: lib/shipping/class.shipping.php:367
    68106810msgid ""
    68116811"Use standard for pounds and inches. Use metric for kilograms and centimeters."
    68126812msgstr ""
    68136813
    6814 #: lib/shipping/class.shipping.php:554
     6814#: lib/shipping/class.shipping.php:553
    68156815msgid "Shipping Address Updated"
    68166816msgstr ""
    68176817
    6818 #: lib/shipping/class.shipping.php:635
     6818#: lib/shipping/class.shipping.php:634
    68196819msgid "Please use the 2-3 character %sISO 3166-2 Country Subdivision Code%s"
    68206820msgstr ""
    68216821
    6822 #: lib/shipping/class.shipping.php:667
     6822#: lib/shipping/class.shipping.php:666
    68236823msgid "Shipping method updated"
    68246824msgstr ""
  • ithemes-exchange/tags/1.12.0/lib/admin/class.admin.php

    r1126551 r1139192  
    145145     * @return string
    146146    */
    147     function get_admin_menu_capability() {
    148         return apply_filters( 'it_exchange_admin_menu_capability', 'manage_options' );
     147    function get_admin_menu_capability( $context='' ) {
     148        return it_exchange_get_admin_menu_capability( $context );
    149149    }
    150150
     
    199199        if ( ! empty( $GLOBALS['hook_suffix'] ) && 'exchange_page_it-exchange-addons' == $GLOBALS['hook_suffix'] ) { //only show on add-on-settings pages
    200200            $url = add_query_arg( 'page', 'it-exchange-addons', admin_url( 'admin.php' ) );
    201             echo '<div class="it-exchange-return-to-addons"><p><a href="' . $url . '">&larr; ' . __( 'Back to Add-ons', 'it-l10n-ithemes-exchange' ) . '</a></p></div>';
     201            echo '<div class="it-exchange-return-to-addons"><p><a href="' . esc_url( $url ) . '">&larr; ' . __( 'Back to Add-ons', 'it-l10n-ithemes-exchange' ) . '</a></p></div>';
    202202        }
    203203    }
     
    289289    function print_products_user_edit_tab_link( $current_tab ) {
    290290        $active = ( 'products' === $current_tab || false === $current_tab ) ? 'nav-tab-active' : '';
    291         ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo add_query_arg( 'tab', 'products' ); ?>#it-exchange-member-options"><?php _e( 'Products', 'it-l10n-ithemes-exchange' ); ?></a><?php
     291        ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo esc_url( add_query_arg( 'tab', 'products' ) ); ?>#it-exchange-member-options"><?php _e( 'Products', 'it-l10n-ithemes-exchange' ); ?></a><?php
    292292    }
    293293
     
    300300    function print_transactions_user_edit_tab_link( $current_tab ) {
    301301        $active = 'transactions' == $current_tab ? 'nav-tab-active' : '';
    302         ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo add_query_arg( 'tab', 'transactions' ); ?>#it-exchange-member-options"><?php _e( 'Transactions', 'it-l10n-ithemes-exchange' ); ?></a><?php
     302        ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo esc_url( add_query_arg( 'tab', 'transactions' ) ); ?>#it-exchange-member-options"><?php _e( 'Transactions', 'it-l10n-ithemes-exchange' ); ?></a><?php
    303303    }
    304304
     
    311311    function print_info_user_edit_tab_link( $current_tab ) {
    312312        $active = ( 'info' === $current_tab ) ? 'nav-tab-active' : '';
    313         ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo add_query_arg( 'tab', 'info' ); ?>#it-exchange-member-options"><?php _e( 'Info', 'it-l10n-ithemes-exchange' ); ?></a><?php
     313        ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo esc_url( add_query_arg( 'tab', 'info' ) ); ?>#it-exchange-member-options"><?php _e( 'Info', 'it-l10n-ithemes-exchange' ); ?></a><?php
    314314    }
    315315
     
    352352    function add_exchange_admin_menu() {
    353353        // Add main iThemes Exchange menu item
    354         add_menu_page( 'iThemes Exchange', 'Exchange', $this->get_admin_menu_capability(), 'it-exchange', array( $this, 'print_exchange_setup_page' ) );
     354        add_menu_page( 'iThemes Exchange', 'Exchange', $this->get_admin_menu_capability( 'it-exchange' ), 'it-exchange', array( $this, 'print_exchange_setup_page' ) );
    355355
    356356        // Add setup wizard page without menu item unless we're viewing it.
    357357        if ( 'it-exchange-setup' == $this->_current_page )
    358             add_submenu_page( 'it-exchange', 'iThemes Exchange Setup Wizard', 'Setup Wizard', $this->get_admin_menu_capability(), 'it-exchange-setup', array( $this, 'print_exchange_setup_page' ) );
     358            add_submenu_page( 'it-exchange', 'iThemes Exchange Setup Wizard', 'Setup Wizard', $this->get_admin_menu_capability( 'it-exchange-setup' ), 'it-exchange-setup', array( $this, 'print_exchange_setup_page' ) );
    359359
    360360        // Add the product submenu pages depending on active product add-ons
     
    362362
    363363        // Add Transactions menu item
    364         add_submenu_page( 'it-exchange', 'iThemes Exchange ' . __( 'Payments', 'it-l10n-ithemes-exchange' ), __( 'Payments', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability(), 'edit.php?post_type=it_exchange_tran' );
     364        add_submenu_page( 'it-exchange', 'iThemes Exchange ' . __( 'Payments', 'it-l10n-ithemes-exchange' ), __( 'Payments', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability( 'all-transactions' ), 'edit.php?post_type=it_exchange_tran' );
    365365
    366366        // Remove default iThemes Exchange sub-menu item created with parent menu item
     
    381381        if ( 'it-exchange-settings' == $this->_current_page && ! empty( $this->_current_tab ) )
    382382            $settings_callback = apply_filters( 'it_exchange_general_settings_tab_callback_' . $this->_current_tab, $settings_callback );
    383         add_submenu_page( 'it-exchange', 'iThemes Exchange Settings', 'Settings', $this->get_admin_menu_capability(), 'it-exchange-settings', $settings_callback );
     383        add_submenu_page( 'it-exchange', 'iThemes Exchange Settings', 'Settings', $this->get_admin_menu_capability( 'it-exchange-settings' ), 'it-exchange-settings', $settings_callback );
    384384
    385385        // Add Add-ons menu item
     
    392392                $add_ons_callback = $addon['options']['settings-callback'];
    393393        }
    394         add_submenu_page( 'it-exchange', 'iThemes Exchange Add-ons', 'Add-ons', $this->get_admin_menu_capability(), 'it-exchange-addons', $add_ons_callback );
     394        add_submenu_page( 'it-exchange', 'iThemes Exchange Add-ons', 'Add-ons', $this->get_admin_menu_capability( 'it-exchange-addons' ), 'it-exchange-addons', $add_ons_callback );
    395395
    396396        // Help menu
    397         add_submenu_page( 'it-exchange', __( 'Help', 'it-l10n-ithemes-exchange' ), __( 'Help', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability(), 'it-exchange-help', array( $this, 'print_help_page' ) );
     397        add_submenu_page( 'it-exchange', __( 'Help', 'it-l10n-ithemes-exchange' ), __( 'Help', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability( 'it-exchange-help' ), 'it-exchange-help', array( $this, 'print_help_page' ) );
    398398    }
    399399
     
    408408        if ( $enabled_product_types = it_exchange_get_enabled_addons( array( 'category' => array( 'product-type' ) ) ) ) {
    409409            $add_on_count = count( $enabled_product_types );
    410             add_submenu_page( 'it-exchange', 'All Products', 'All Products', $this->get_admin_menu_capability(), 'edit.php?post_type=it_exchange_prod' );
     410            add_submenu_page( 'it-exchange', 'All Products', 'All Products', $this->get_admin_menu_capability( 'all-products' ), 'edit.php?post_type=it_exchange_prod' );
    411411            if ( 1 == $add_on_count ) {
    412412                // If we only have one product-type enabled, add standard post_type pages
     
    415415                // Allow add-ons to adjust their menu titles
    416416                $menu_title = apply_filters( 'it_exchange_admin_add_one_product_type_product_page_title', __( 'Add Product', 'it-l10n-ithemes-exchange' ), $product );
    417                 add_submenu_page( 'it-exchange', __( 'Add Product', 'it-l10n-ithemes-exchange' ), $menu_title, $this->get_admin_menu_capability(), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . $product['slug'] );
     417                add_submenu_page( 'it-exchange', __( 'Add Product', 'it-l10n-ithemes-exchange' ), $menu_title, $this->get_admin_menu_capability( 'add-product' ), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . $product['slug'] );
    418418            } else if ( $add_on_count > 1 ) {
    419419                // If we have more than one product type, add them each separately
    420420                foreach( $enabled_product_types as $type => $params ) {
    421421                    $name = empty( $params['options']['labels']['singular_name'] ) ? 'Product' : esc_attr( $params['options']['labels']['singular_name'] );
    422                     add_submenu_page( 'it-exchange', 'Add ' . $name, 'Add ' . $name, $this->get_admin_menu_capability(), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . esc_attr( $params['slug'] ) );
     422                    add_submenu_page( 'it-exchange', 'Add ' . $name, 'Add ' . $name, $this->get_admin_menu_capability( 'add-product' ), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . esc_attr( $params['slug'] ) );
    423423                }
    424424            }
     
    971971            $product_type_add_ons = reset( $product_type_add_ons );
    972972            if ( ! empty( $product_type_add_ons['slug'] ) ) {
    973                 wp_safe_redirect( add_query_arg( 'it-exchange-product-type', $product_type_add_ons['slug'] ) );
     973                wp_safe_redirect( esc_url_raw( add_query_arg( 'it-exchange-product-type', $product_type_add_ons['slug'] ) ) );
    974974                die();
    975975            }
     
    16191619            return;
    16201620
    1621         ?><div class="it-exchange-view-store-on-update-link hidden"><a href="<?php esc_attr_e( $store_link ) ; ?>" title="View store" ><?php _e( 'View store', 'it-l10n-ithemes-exchange' ); ?></a><?php
     1621        ?><div class="it-exchange-view-store-on-update-link hidden"><a href="<?php esc_url( $store_link ) ; ?>" title="View store" ><?php _e( 'View store', 'it-l10n-ithemes-exchange' ); ?></a><?php
    16221622    }
    16231623
     
    16631663        if ( ! $enabled_product_types = it_exchange_get_enabled_addons( array( 'category' => 'product-type' ) ) ) {
    16641664            $redirect = add_query_arg( 'page', 'it-exchange-settings', get_admin_url() . 'admin.php' );;
    1665             wp_redirect( $redirect );
     1665            wp_redirect( esc_url_raw( $redirect ) );
    16661666            die();
    16671667        }
     
    16801680
    16811681        if ( $redirect ) {
    1682             wp_redirect( $redirect );
     1682            wp_redirect( esc_url_raw( $redirect ) );
    16831683            die();
    16841684        }
  • ithemes-exchange/tags/1.12.0/lib/admin/views/admin-add-ons.php

    r1119606 r1139192  
    121121                <h2><?php echo $vars['text']; ?></h2>
    122122                <p>
    123                     <a href="<?php echo $vars['target']; ?>" class="it-exchange-button"><?php echo $vars['link'] ?></a>
     123                    <a href="<?php echo esc_url( $vars['target'] ); ?>" class="it-exchange-button"><?php echo $vars['link'] ?></a>
    124124                </p>
    125125            </div>
  • ithemes-exchange/tags/1.12.0/lib/admin/views/admin-default-templates-updated-notice.php

    r739322 r1139192  
    88?>
    99<div id="it-exchange-updated-templates-nag" class="it-exchange-nag">
    10     <?php printf( __( 'iThemes Exchange default template parts have been updated. View %sour codex%s for more information.' ), '<a href="' . $codex_url. '">', '</a>' ) ?>
    11     <a class="dismiss btn" href="<?php esc_attr_e( $dismiss_url ); ?>">&times;</a>
     10    <?php printf( __( 'iThemes Exchange default template parts have been updated. View %sour codex%s for more information.' ), '<a href="' . esc_url( $codex_url ). '">', '</a>' ) ?>
     11    <a class="dismiss btn" href="<?php echo esc_url( $dismiss_url ); ?>">&times;</a>
    1212</div>
    1313<script type="text/javascript">
  • ithemes-exchange/tags/1.12.0/lib/admin/views/admin-ithemes-sync-integration-notice.php

    r952198 r1139192  
    88?>
    99<div id="it-exchange-ithemes-sync-integration-nag" class="it-exchange-nag">
    10     <?php printf( __( 'New! Track Your Sales Remotely with iThemes Sync. %sCheck it Out Now%s.' ), '<a target="_blank" href="' . $more_info_url . '">', '</a>' ) ?>
    11     <a class="dismiss btn" href="<?php esc_attr_e( $dismiss_url ); ?>">&times;</a>
     10    <?php printf( __( 'New! Track Your Sales Remotely with iThemes Sync. %sCheck it Out Now%s.' ), '<a target="_blank" href="' . esc_url( $more_info_url ) . '">', '</a>' ) ?>
     11    <a class="dismiss btn" href="<?php echo esc_url( $dismiss_url ); ?>">&times;</a>
    1212</div>
    1313<script type="text/javascript">
  • ithemes-exchange/tags/1.12.0/lib/admin/views/admin-user-transactions.php

    r877845 r1139192  
    3939    $transaction_url    = add_query_arg( array( 'action' => 'edit', 'post' => esc_attr( $transaction->ID ) ), get_admin_url() . '/post.php' );
    4040    $transaction_number = it_exchange_get_transaction_order_number( $transaction->ID );
    41     $transaction_link   = '<a href="' . $transaction_url . '">' . $transaction_number . '</a>';
     41    $transaction_link   = '<a href="' . esc_url( $transaction_url ) . '">' . $transaction_number . '</a>';
    4242
    4343    // Actions array
     
    7272                    <div class="item-column block-column block-column-<?php echo $column; ?>">
    7373                        <?php foreach ( $detail as $action => $label ) : ?>
    74                             <a class="button" href="<?php esc_attr_e( $action ); ?>"><?php esc_attr_e( $label ); ?></a>
     74                            <a class="button" href="<?php echo esc_url( $action ); ?>"><?php esc_attr_e( $label ); ?></a>
    7575                            <!--
    7676                            <input type="button" class="button" name="it_exchange_<?php echo $action; ?>" value="<?php echo $label; ?>" />
  • ithemes-exchange/tags/1.12.0/lib/admin/views/admin-wizard-notice.php

    r739322 r1139192  
    1111    $wizard_link    = add_query_arg( array( 'page' => 'it-exchange-setup' ), admin_url( 'admin.php' ) );
    1212    $wizard_dismiss = add_query_arg( array( 'it_exchange_settings-dismiss-wizard-nag' => true ) );
    13     echo __( 'iThemes Exchange is now installed.', 'it-l10n-ithemes-exchange' ) . ' <a class="btn" href="' . $wizard_link . '">' . __( 'Go to Quick Setup', 'it-l10n-ithemes-exchange' ) . '</a>';
     13    echo __( 'iThemes Exchange is now installed.', 'it-l10n-ithemes-exchange' ) . ' <a class="btn" href="' . esc_url( $wizard_link ) . '">' . __( 'Go to Quick Setup', 'it-l10n-ithemes-exchange' ) . '</a>';
    1414    ?>
    15     <a class="dismiss btn" href="<?php esc_attr_e( $wizard_dismiss ); ?>">&times;</a>
     15    <a class="dismiss btn" href="<?php esc_url( $wizard_dismiss ); ?>">&times;</a>
    1616</div>
    1717<script type="text/javascript">
  • ithemes-exchange/tags/1.12.0/lib/cart/class.cart.php

    r1071318 r1139192  
    101101    */
    102102    function handle_buy_now_request() {
    103 
    104103        $buy_now_var = it_exchange_get_field_name( 'buy_now' );
    105104        $product_id = empty( $_REQUEST[$buy_now_var] ) ? 0 : $_REQUEST[$buy_now_var];
     
    129128            } else {
    130129                $url = add_query_arg( 'ite-sw-state', $sw_state, $url );
    131                 it_exchange_redirect( $url, 'buy-now-success-in-sw' );
     130                it_exchange_redirect( esc_url_raw( $url ), 'buy-now-success-in-sw' );
    132131                die();
    133132            }
     
    136135        $error = empty( $error ) ? 'product-not-added-to-cart' : $error;
    137136        it_exchange_add_message( 'error', __( 'Product not added to cart', 'it-l10n-ithemes-exchange' ) );
    138         it_exchange_redirect( $url, 'buy-now-failed' );
     137        it_exchange_redirect( esc_url_raw( $cart ), 'buy-now-failed' );
    139138        die();
    140139    }
     
    176175            } else {
    177176                $url = add_query_arg( 'ite-sw-state', $sw_state, $url );
    178                 it_exchange_redirect( $url, 'add-to-cart-success-in-sw' );
     177                it_exchange_redirect( esc_url_raw( $url ), 'add-to-cart-success-in-sw' );
    179178                die();
    180179            }
     
    184183        $error = empty( $error ) ? 'product-not-added-to-cart' : $error;
    185184        $url  = add_query_arg( array( $error_var => $error ), $cart );
    186         it_exchange_redirect( $url, 'add-to-cart-failed' );
     185        it_exchange_redirect( esc_url_raw( $url ), 'add-to-cart-failed' );
    187186        die();
    188187    }
     
    223222
    224223        $redirect_options = array( 'query_arg' => array( $message_var => 'cart-emptied' ) );
    225         it_exchange_redirect( $url, 'cart-empty-success', $redirect_options );
     224        it_exchange_redirect( esc_url_raw( $url ), 'cart-empty-success', $redirect_options );
    226225        die();
    227226    }
     
    253252
    254253            $redirect_options = array( 'query_arg' => array( $var => 'product-not-removed' ) );
    255             it_exchange_redirect( $url, 'cart-remove-product-failed', $redirect_options );
     254            it_exchange_redirect( esc_url_raw( $url ), 'cart-remove-product-failed', $redirect_options );
    256255            die();
    257256        }
     
    265264
    266265        $redirect_options = array( 'query_arg' => array( $var => 'product-removed' ) );
    267         it_exchange_redirect( $url, 'cart-remove-product-success', $redirect_options );
     266        it_exchange_redirect( esc_url_raw( $url ), 'cart-remove-product-success', $redirect_options );
    268267        die();
    269268    }
     
    293292
    294293            $redirect_options = array( 'query_arg' => array( $var => 'cart-not-updated' ) );
    295             it_exchange_redirect( $url, 'cart-update-failed', $redirect_options );
     294            it_exchange_redirect( esc_url( $url ), 'cart-update-failed', $redirect_options );
    296295            die();
    297296        }
     
    314313
    315314            $redirect_options = array( 'query_arg' => array( $message_var => 'cart-updated' ) );
    316             it_exchange_redirect( $url, 'cart-update-success', $redirect_options );
     315            it_exchange_redirect( esc_url( $url ), 'cart-update-success', $redirect_options );
    317316            die();
    318317        }
  • ithemes-exchange/tags/1.12.0/lib/email-notifications/class.email-notifications.php

    r952198 r1139192  
    8686            it_exchange_add_message( 'error', __( 'Invalid transaction. Confirmation email not sent.', 'it-l10n-ithemes-exchange' ) );
    8787            $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    88             it_exchange_redirect( $url, 'admin-confirmation-email-resend-failed' );
     88            it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-failed' );
    8989            die();
    9090        }
     
    9595            it_exchange_add_message( 'error', __( 'Confirmation Email not sent. Please try again.', 'it-l10n-ithemes-exchange' ) );
    9696            $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    97             it_exchange_redirect( $url, 'admin-confirmation-email-resend-failed' );
     97            it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-failed' );
    9898            die();
    9999        }
     
    103103            it_exchange_add_message( 'error', __( 'You do not have permission to resend confirmation emails.', 'it-l10n-ithemes-exchange' ) );
    104104            $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    105             it_exchange_redirect( $url, 'admin-confirmation-email-resend-failed' );
     105            it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-failed' );
    106106            die();
    107107        }
     
    111111        it_exchange_add_message( 'notice', __( 'Confirmation email resent', 'it-l10n-ithemes-exchange' ) );
    112112        $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    113         it_exchange_redirect( $url, 'admin-confirmation-email-resend-success' );
     113        it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-success' );
    114114        die();
    115115    }
     
    342342                            <?php if ( $count > 1 && apply_filters( 'it_exchange_print_downlods_page_link_in_email', true, $this->transaction_id ) ) : ?>
    343343                                <?php $downloads_url = it_exchange_get_page_url( 'downloads' ); ?>
    344                                 <p><?php printf( __( 'You have purchased %d unique download link(s) for each file available with this product.%s%sEach link has its own download limits and you can view the details on your %sdownloads%s page.', 'it-l10n-ithemes-exchange' ), $count, '<br />', '<br />', '<a href="' . $downloads_url . '">', '</a>' ); ?></p>
     344                                <p><?php printf( __( 'You have purchased %d unique download link(s) for each file available with this product.%s%sEach link has its own download limits and you can view the details on your %sdownloads%s page.', 'it-l10n-ithemes-exchange' ), $count, '<br />', '<br />', '<a href="' . esc_url( $downloads_url ) . '">', '</a>' ); ?></p>
    345345                            <?php endif; ?>
    346346                            <?php foreach( $product_downloads as $download_id => $download_data ) : ?>
     
    356356                                        ?>
    357357                                        <li>
    358                                             <a href="<?php echo site_url() . '?it-exchange-download=' . $hash; ?>"><?php _e( 'Download link', 'it-l10n-ithemes-exchange' ); ?></a> <span style="font-family: Monaco, monospace;font-size:12px;color:#AAA;">(<?php esc_attr_e( $hash ); ?>)</span>
     358                                            <a href="<?php echo esc_url( add_query_arg( 'it-exchange-download', $hash, site_url() ) ); ?>"><?php _e( 'Download link', 'it-l10n-ithemes-exchange' ); ?></a> <span style="font-family: Monaco, monospace;font-size:12px;color:#AAA;">(<?php esc_attr_e( $hash ); ?>)</span>
    359359                                        </li>
    360360                                    <?php endforeach; ?>
  • ithemes-exchange/tags/1.12.0/lib/functions/functions.php

    r1126551 r1139192  
    5656
    5757    return $options;
     58}
     59
     60/**
     61 * Used to set admin menu capabilities
     62 *
     63 * @since 1.12.0
     64 *
     65 * @param string $context the context of where it's being used
     66 * @param string $capability the incoming capability
     67 * @return string
     68*/
     69function it_exchange_get_admin_menu_capability( $context='', $capability='manage_options' ) {
     70
     71    // Allow addons to filter
     72    $capability =  apply_filters( 'it_exchange_admin_menu_capability', $capability, $context );
     73
     74    // Clean and return
     75    return empty( $capability ) || ! is_string( $capability ) ? false : $capability;
    5876}
    5977
     
    14941512    if ( ! empty( $show_nag ) ) {
    14951513        $more_info_url   = 'http://ithemes.com/2014/06/24/track-sales-sync-new-ithemes-exchange-integration/';
    1496         $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-sync-integration-nag' => 1 ) );
     1514        $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-sync-integration-nag' => 1 ) ); // escaped before printed
    14971515        include( dirname( dirname( __FILE__) ) . '/admin/views/admin-ithemes-sync-integration-notice.php' );
    14981516    }
  • ithemes-exchange/tags/1.12.0/lib/functions/template-functions.php

    r1004481 r1139192  
    223223    if ( empty( $nag_dismissed ) || ( version_compare( $nag_dismissed, $GLOBALS['it_exchange']['version'] ) < 0 ) ) {
    224224        $codex_url   = 'http://ithemes.com/codex/page/Exchange_Template_Updates';
    225         $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-tempate-nag' => 1 ) );
     225        $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-tempate-nag' => 1 ) ); // escaped in included file
    226226        include( dirname( dirname( __FILE__) ) . '/admin/views/admin-default-templates-updated-notice.php' );
    227227    }
  • ithemes-exchange/tags/1.12.0/lib/load.php

    r820178 r1139192  
    99// IT Classes
    1010require( 'classes/load.php' );
     11
     12// Other Functions
     13require( $this->_plugin_path . 'lib/functions/functions.php' );
    1114
    1215// IT Fonts
     
    3336// Template Functions
    3437require( $this->_plugin_path . 'lib/functions/template-functions.php' );
    35 
    36 // Other Functions
    37 require( $this->_plugin_path . 'lib/functions/functions.php' );
    3838
    3939// Integrations
  • ithemes-exchange/tags/1.12.0/lib/pages/class.nav-menus.php

    r802482 r1139192  
    7878            <ul id="taxonomy-it-exchange-pages-tabs" class="taxonomy-tabs add-menu-item-tabs">
    7979                <li class="tabs">
    80                     <a class="nav-tab-link" data-type="tabs-panel-it-exchange-pages-all" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg( 'it-exchange-pages' . '-tab', 'all', remove_query_arg( $removed_args ) ) ); ?>#tabs-panel-it-exchange-pages-all">
     80                    <a class="nav-tab-link" data-type="tabs-panel-it-exchange-pages-all" href="<?php if ( $nav_menu_selected_id ) echo esc_url( add_query_arg( 'it-exchange-pages' . '-tab', 'all', remove_query_arg( $removed_args ) ) ); ?>#tabs-panel-it-exchange-pages-all">
    8181                        <?php _e( 'View All' ); ?>
    8282                    </a>
  • ithemes-exchange/tags/1.12.0/lib/products/class.products-post-type.php

    r1111189 r1139192  
    242242                        <?php
    243243                            if ( 'publish' == $post->post_status ) {
    244                                 $preview_link = esc_url( apply_filters( 'it_exchange_view_product_button_link', get_permalink( $post->ID ), $post ) );
     244                                $preview_link = apply_filters( 'it_exchange_view_product_button_link', get_permalink( $post->ID ), $post );
    245245                                $preview_button = apply_filters( 'it_exchange_view_product_button_label', __( 'View Product', 'it-l10n-ithemes-exchange' ), $post );
    246246                                $preview_id = 'post-view';
    247247                            } else {
    248248                                $preview_link = set_url_scheme( get_permalink( $post->ID ) );
    249                                 $preview_link = esc_url( apply_filters( 'it_exchange_preview_product_button_link', apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ), $post ) );
     249                                $preview_link = apply_filters( 'it_exchange_preview_product_button_link', apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ), $post );
    250250                                $preview_button = apply_filters( 'it_exchange_preview_product_button_label', __( 'Preview Product', 'it-l10n-ithemes-exchange' ), $post );
    251251                                $preview_id = 'post-preview';
    252252                            }
    253253                        ?>
    254                         <a class="preview button button-large" href="<?php echo $preview_link; ?>" target="wp-preview" id="<?php echo $preview_id; ?>"><?php echo $preview_button; ?></a>
     254                        <a class="preview button button-large" href="<?php echo esc_url( $preview_link ); ?>" target="wp-preview" id="<?php echo $preview_id; ?>"><?php echo $preview_button; ?></a>
    255255                        <input type="hidden" name="wp-preview" id="wp-preview" value="" />
    256256                    </div>
     
    566566
    567567            if ( ! empty( $post_new_file) && ! empty( $product_type ) )
    568                 $post_new_file = add_query_arg( array( 'it-exchange-product-type' => $product_type ), $post_new_file );
     568                $post_new_file = esc_url( add_query_arg( array( 'it-exchange-product-type' => $product_type ), $post_new_file ) );
    569569
    570570        }
  • ithemes-exchange/tags/1.12.0/lib/shipping/class.shipping.php

    r1133725 r1139192  
    191191                'prefix'       => $prefix,
    192192                'form-options' => array(
    193                     'action'            => $action,
     193                    'action'            => esc_url( $action ),
    194194                    'country-states-js' => $country_states_js,
    195195                ),
     
    222222        ?>
    223223        <div class="it-exchange-secondary-tabs it-exchange-shipping-provider-tabs">
    224             <a class="shipping-provider-link <?php echo ( empty( $current ) ) ? 'it-exchange-current' : ''; ?>" href="<?php esc_attr_e( add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), admin_url( 'admin.php' ) ) ); ?>">
     224            <a class="shipping-provider-link <?php echo ( empty( $current ) ) ? 'it-exchange-current' : ''; ?>" href="<?php echo esc_url( add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), admin_url( 'admin.php' ) ) ); ?>">
    225225                <?php _e( 'General', 'it-l10n-ithemes-exchange' ); ?>
    226226            </a>
     
    230230                if ( empty( $provider->has_settings_page ) )
    231231                    continue;
    232                 $url = add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping', 'provider' => $provider->get_slug() ), admin_url( 'admin.php' ) );
    233                 ?><a class="shipping-provider-link<?php echo ( $current == $provider->get_slug() ) ? ' it-exchange-current' : ''; ?>" href="<?php echo $url; ?>"><?php esc_html_e( $provider->get_label() ); ?></a><?php
     232                ?><a class="shipping-provider-link<?php echo ( $current == $provider->get_slug() ) ? ' it-exchange-current' : ''; ?>" href="<?php echo esc_url( add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping', 'provider' => $provider->get_slug() ), admin_url( 'admin.php' ) ) ); ?>"><?php esc_html_e( $provider->get_label() ); ?></a><?php
    234233            }
    235234            ?>
  • ithemes-exchange/tags/1.12.0/readme.txt

    r1136211 r1139192  
    44Requires at least: 3.7
    55Tested up to: 4.2
    6 Stable tag: 1.11.18
     6Stable tag: 1.12.0
    77License: GPLv2 or later
    88
     
    8888
    8989== Changelog ==
     90
     91= 1.12.0 =
     92* Multiple updates involving add_query_arg and remove_query_arg to esc_url()
     93* Introduce it_exchange_get_admin_menu_capability( $context, $capability )
     94* Adding filter to shipping address and method requirement, for that rare case when the shipping requirement should be enabled, but isn't
    9095
    9196= 1.11.18 =
  • ithemes-exchange/trunk/api/misc.php

    r1119606 r1139192  
    205205    $url = false;
    206206    foreach( $registered as $key => $param ) {
    207         if ( ! in_array( $param, $exempt ) )
     207        if ( ! in_array( $param, $exempt ) ) {
    208208            $url = remove_query_arg( $param, $url );
     209        }
     210    }
     211
     212    if ( ! empty( $url ) ) {
     213        $url = esc_url( $url );
    209214    }
    210215
  • ithemes-exchange/trunk/api/theme/cart-item.php

    r1018864 r1139192  
    105105                $url = add_query_arg( $var_key, $var_value, $url );
    106106                $url = add_query_arg( $nonce_var, wp_create_nonce( 'it-exchange-cart-action-' . $session_id ), $url );
    107                 $output = $options['before'] . '<a href="' . $url . '" ' . $data . 'class="' . $class . '" >' . esc_attr( $options['label'] ) . '</a>' . $options['after'];
     107                $output = $options['before'] . '<a href="' . esc_url( $url ) . '" ' . $data . 'class="' . $class . '" >' . esc_attr( $options['label'] ) . '</a>' . $options['after'];
    108108            break;
    109109        }
  • ithemes-exchange/trunk/api/theme/cart.php

    r931840 r1139192  
    209209
    210210                $output  = $options['before'];
    211                 $output .= '<a href="' . $url . '" class="' . $class . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
     211                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
    212212                $output .= $options['after'];
    213213                break;
     
    215215            default :
    216216                $output  = $options['before'];
    217                 $output .= '<input type="submit" class="' . $class . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
     217                $output .= '<input type="submit" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
    218218                $output .= $options['after'];
    219219                break;
     
    254254
    255255                $output  = $options['before'];
    256                 $output .= '<a href="' . $url . '" class="' . $class . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
     256                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '">' . esc_attr( $options['label'] ) . '</a>';
    257257                $output .= $options['after'];
    258258                break;
     
    260260            default :
    261261                $output  = $options['before'];
    262                 $output .= '<input type="submit" class="' . $class . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
     262                $output .= '<input type="submit" class="' . esc_attr( $class ) . '" name="' . esc_attr( $var ) . '" value="' . esc_attr( $options['label'] ) . '" />';
    263263                $output .= $options['after'];
    264264                break;
     
    296296                $url = add_query_arg( $nonce_var, wp_create_nonce( 'it-exchange-cart-action-' . it_exchange_get_session_id() ), $url );
    297297                $output  = $options['before'];
    298                 $output .= '<a href="' . $url . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
     298                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
    299299                $output .= $options['after'];
    300300                break;
     
    355355                $url = add_query_arg( $nonce_var, wp_create_nonce( 'it-exchange-cart-action-' . it_exchange_get_session_id() ), $url );
    356356                $output  = $options['before'];
    357                 $output .= '<a href="' . $url . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
     357                $output .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $options['class'] ) . '" title="' . esc_attr( $options['title'] ) . '">' . esc_attr( $options['label'] ) . '</a>';
    358358                $output .= $options['after'];
    359359                break;
  • ithemes-exchange/trunk/api/theme/checkout.php

    r737858 r1139192  
    110110
    111111        if ( 'link' == $options['format'] )
    112             return $options['before'] . '<a class="' . esc_attr( $class ) . '" href="' . $url . '">' . $options['label'] . '</a>' . $options['after'];
     112            return $options['before'] . '<a class="' . esc_attr( $class ) . '" href="' . esc_url( $url ) . '">' . $options['label'] . '</a>' . $options['after'];
    113113
    114114        return $url;
  • ithemes-exchange/trunk/core-addons/admin/basic-reporting/init.php

    r952198 r1139192  
    1414*/
    1515function it_exchange_basic_reporting_register_dashboard_widget() {
     16    $cap = it_exchange_get_admin_menu_capability( 'it_exchange_basic_reporting' );
     17    // Back compat for the filter
    1618    $cap = apply_filters( 'it_exchange_basic_reporting_capability_level', 'manage_options' );
    1719    if ( ! current_user_can( $cap ) )
  • ithemes-exchange/trunk/core-addons/admin/guest-checkout/lib/filters.php

    r1008592 r1139192  
    448448        return $url;
    449449
    450     $url = add_query_arg( array( 'it-exchange-guest-logout' => 1 ), $redirect );
     450    $url = add_query_arg( array( 'it-exchange-guest-logout' => 1 ), esc_url( $redirect ) );
    451451    return $url;
    452452}
     
    463463    if ( ( it_exchange_is_page( 'logout' ) && it_exchange_doing_guest_checkout() ) || ! empty( $_REQUEST['it-exchange-guest-logout'] ) ) {
    464464        it_exchange_kill_guest_checkout_session();
    465         wp_redirect( remove_query_arg( 'it-exchange-guest-logout' ) );
     465        wp_redirect( esc_url_raw( remove_query_arg( 'it-exchange-guest-logout' ) ) );
    466466    }
    467467}
  • ithemes-exchange/trunk/core-addons/coupons/basic-coupons/admin.php

    r1008592 r1139192  
    175175        $slug = 'it-exchange-add-basic-coupon';
    176176        $func = 'it_exchange_basic_coupons_print_add_edit_coupon_screen';
    177         add_submenu_page( 'it-exchange', __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), 'manage_options', $slug, $func );
     177        add_submenu_page( 'it-exchange', __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), __( 'Add Coupon', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'it-exchange-add-basic-coupon' ), $slug, $func );
    178178    } else if ( ! empty( $_GET['page'] ) && 'it-exchange-edit-basic-coupon' == $_GET['page'] ) {
    179179        $slug = 'it-exchange-edit-basic-coupon';
    180180        $func = 'it_exchange_basic_coupons_print_add_edit_coupon_screen';
    181         add_submenu_page( 'it-exchange', __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), 'manage_options', $slug, $func );
     181        add_submenu_page( 'it-exchange', __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), __( 'Edit Coupon', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'it-exchange-edit-basic-coupon' ), $slug, $func );
    182182    }
    183183    $url = add_query_arg( array( 'post_type' => 'it_exchange_coupon' ), 'edit.php' );
    184     add_submenu_page( 'it-exchange', __( 'Coupons', 'it-l10n-ithemes-exchange' ), __( 'Coupons', 'it-l10n-ithemes-exchange' ), 'manage_options', $url );
     184    add_submenu_page( 'it-exchange', __( 'Coupons', 'it-l10n-ithemes-exchange' ), __( 'Coupons', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'it-exchange-all-basic-coupons' ), $url );
    185185}
    186186add_action( 'admin_menu', 'it_exchange_basic_coupons_add_menu_item' );
  • ithemes-exchange/trunk/core-addons/coupons/basic-coupons/init.php

    r1018864 r1139192  
    374374        $url = it_exchange_clean_query_args( array( it_exchange_get_field_name( 'sw_cart_focus' ) ) );
    375375        $url = add_query_arg( $var . '[]', $options['code'] );
    376         return '<a data-coupon-code="' . esc_attr( $options['code'] ) . '" class="' . esc_attr( $options['class'] ) . '" href="' . $url . '">' . esc_attr( $options['label'] ) . '</a>';
     376        return '<a data-coupon-code="' . esc_attr( $options['code'] ) . '" class="' . esc_attr( $options['class'] ) . '" href="' . esc_url( $url ) . '">' . esc_attr( $options['label'] ) . '</a>';
    377377    }
    378378}
     
    577577
    578578    it_exchange_add_message( 'notice', __( 'Coupon removed', 'it-l10n-ithemes-exchange' ) );
    579     wp_redirect( $url );
     579    wp_redirect( esc_url_raw( $url ) );
    580580    die();
    581581}
     
    628628    $url = add_query_arg( array( 'page' => 'it-exchange-edit-basic-coupon', 'post' => $id ), $url );
    629629
    630     $link = '<a href="' . $url . '">' . __( 'View Coupon', 'it-l10n-ithemes-exchange' ) . '</a>';
     630    $link = '<a href="' . esc_url( $url ) . '">' . __( 'View Coupon', 'it-l10n-ithemes-exchange' ) . '</a>';
    631631
    632632    $string = '';
  • ithemes-exchange/trunk/core-addons/product-features/categories/init.php

    r1008592 r1139192  
    8282    function it_exchange_categories_addon_add_menu_item() {
    8383        $url = "edit-tags.php?taxonomy=it_exchange_category&amp;post_type=it_exchange_prod";
    84         add_submenu_page( 'it-exchange', __( 'Product Categories', 'it-l10n-ithemes-exchange' ), __( 'Product Categories', 'it-l10n-ithemes-exchange' ), 'manage_options', $url );
     84        add_submenu_page( 'it-exchange', __( 'Product Categories', 'it-l10n-ithemes-exchange' ), __( 'Product Categories', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'product-categories' ), $url );
    8585    }
    8686    add_action( 'admin_menu', 'it_exchange_categories_addon_add_menu_item' );
  • ithemes-exchange/trunk/core-addons/product-features/tags/init.php

    r1008592 r1139192  
    6262    function it_exchange_tags_add_menu_item() {
    6363        $url = "edit-tags.php?taxonomy=it_exchange_tag&amp;post_type=it_exchange_prod";
    64         add_submenu_page( 'it-exchange', __( 'Product Tags', 'it-l10n-ithemes-exchange' ), __( 'Product Tags', 'it-l10n-ithemes-exchange' ), 'manage_options', $url );
     64        add_submenu_page( 'it-exchange', __( 'Product Tags', 'it-l10n-ithemes-exchange' ), __( 'Product Tags', 'it-l10n-ithemes-exchange' ), it_exchange_get_admin_menu_capability( 'product-tags' ), $url );
    6565    }
    6666    add_action( 'admin_menu', 'it_exchange_tags_add_menu_item' );
  • ithemes-exchange/trunk/core-addons/shipping/simple-shipping/lib/settings.php

    r820178 r1139192  
    1919        <h2><?php _e( 'Shipping', 'it-l10n-ithemes-exchange' ); ?></h2>
    2020        <?php
    21         $url = add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), esc_url( admin_url( 'admin.php' ) ) );
    22         ?><p><?php printf( __( 'Settings are located in the %sShipping tab%s on the Exchange Settings page.', 'it-l10n-ithemes-exchange' ), '<a href="' . $url . '">', '</a>' ); ?></p>
     21        $url = add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), admin_url( 'admin.php' ) );
     22        ?><p><?php printf( __( 'Settings are located in the %sShipping tab%s on the Exchange Settings page.', 'it-l10n-ithemes-exchange' ), '<a href="' . esc_attr( $url ) . '">', '</a>' ); ?></p>
    2323    </div>
    2424    <?php
  • ithemes-exchange/trunk/core-addons/transaction-methods/offline-payments/init.php

    r1111189 r1139192  
    583583                    case false: //active
    584584                    case '':
    585                         $output = '<a href="' . add_query_arg( 'offline-payments-recurring-payment', 'cancel' ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
     585                        $output = '<a href="' . esc_url( add_query_arg( 'offline-payments-recurring-payment', 'cancel' ) ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
    586586                        break;
    587587   
  • ithemes-exchange/trunk/core-addons/transaction-methods/paypal-standard-secure/init.php

    r1136211 r1139192  
    782782        $L_BUTTONVARS[] = 'custom=' . $temp_id;
    783783       
    784         $shipping_address = it_exchange_get_cart_shipping_address();
    785         // If we have the shipping info, we may as well include it in the fields sent to Authorize.Net
    786         if ( !empty( $shipping_address ) ) {
     784        $purchase_requirements = it_exchange_get_purchase_requirements();
     785        // If we have the shipping info, we may as well include it in the fields sent to PayPal
     786        if ( !empty( $purchase_requirements['shipping-address'] ) ) {
     787            $shipping_address = it_exchange_get_cart_shipping_address();
    787788            $L_BUTTONVARS[] = 'address_override=1';
    788789            $L_BUTTONVARS[] = 'no_shipping=2';
  • ithemes-exchange/trunk/core-addons/transaction-methods/paypal-standard/init.php

    r1136211 r1139192  
    570570        );
    571571       
    572         $shipping_address = it_exchange_get_cart_shipping_address();
    573         // If we have the shipping info, we may as well include it in the fields sent to Authorize.Net
    574         if ( !empty( $shipping_address ) ) {
     572        $purchase_requirements = it_exchange_get_purchase_requirements();
     573        // If we have the shipping info, we may as well include it in the fields sent to PayPal
     574        if ( !empty( $purchase_requirements['shipping-address'] ) ) {
     575            $shipping_address = it_exchange_get_cart_shipping_address();
    575576            $query['address_override'] = '1';
    576577            $query['no_shipping'] = '2';
  • ithemes-exchange/trunk/core-addons/transaction-methods/zero-sum-checkout/init.php

    r1032065 r1139192  
    194194                    case false: //active
    195195                    case '':
    196                         $output = '<a href="' . add_query_arg( 'zero-sum-recurring-payment', 'cancel' ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
     196                        $output = '<a href="' . esc_url( add_query_arg( 'zero-sum-recurring-payment', 'cancel' ) ) . '">' . __( 'Cancel Recurring Payment', 'it-l10n-ithemes-exchange' ) . '</a>';
    197197                        break;
    198198   
  • ithemes-exchange/trunk/history.txt

    r1136211 r1139192  
     11.12.0 - Glenn Ansley, Lew Ayotte, Elise, Alley
     2    Multiple updates involving add_query_arg and remove_query_arg to esc_url()
     3    Introduce it_exchange_get_admin_menu_capability( $context, $capability )
     4    Adding filter to shipping address and method requirement, for that rare case when the shipping requirement should be enabled, but isn't
    151.11.18 - Lew Ayotte, Glenn Ansley, Elise Alley
    26    Pass shipping to PayPal when available
  • ithemes-exchange/trunk/init.php

    r1136211 r1139192  
    22/*
    33 * Plugin Name: iThemes Exchange
    4  * Version: 1.11.18
     4 * Version: 1.12.0
    55 * Text Domain: it-l10n-ithemes-exchange
    66 * Description: Easily sell your digital goods with iThemes Exchange, simple ecommerce for WordPress
     
    2525class IT_Exchange {
    2626
    27     var $_version         = '1.11.18';
     27    var $_version         = '1.12.0';
    2828    var $_wp_minimum      = '3.5';
    2929    var $_slug            = 'ithemes-exchange';
  • ithemes-exchange/trunk/lang/ithemes-exchange.pot

    r1136211 r1139192  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: iThemes Exchange 1.11.18\n"
     5"Project-Id-Version: iThemes Exchange 1.12.0\n"
    66"Report-Msgid-Bugs-To: http://ithemes.com/forum/\n"
    7 "POT-Creation-Date: 2015-04-16 13:54:44+00:00\n"
     7"POT-Creation-Date: 2015-04-20 14:28:48+00:00\n"
    88"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
    99"MIME-Version: 1.0\n"
     
    16221622msgstr ""
    16231623
    1624 #: api/data-sets/data-formats.php:40 lib/shipping/class.shipping.php:371
     1624#: api/data-sets/data-formats.php:40 lib/shipping/class.shipping.php:370
    16251625msgid "Standard"
    16261626msgstr ""
    16271627
    1628 #: api/data-sets/data-formats.php:41 lib/shipping/class.shipping.php:372
     1628#: api/data-sets/data-formats.php:41 lib/shipping/class.shipping.php:371
    16291629msgid "Metric"
    16301630msgstr ""
     
    25022502msgstr ""
    25032503
    2504 #: api/misc.php:350
     2504#: api/misc.php:355
    25052505msgid "Please complete all purchase requirements before checkout out."
    25062506msgstr ""
     
    25262526
    25272527#: api/theme/billing.php:192 api/theme/shipping.php:191
    2528 #: lib/shipping/class.shipping.php:303
     2528#: lib/shipping/class.shipping.php:302
    25292529msgid "Address 2"
    25302530msgstr ""
    25312531
    25322532#: api/theme/billing.php:217 api/theme/shipping.php:216
    2533 #: lib/shipping/class.shipping.php:313
     2533#: lib/shipping/class.shipping.php:312
    25342534msgid "City"
    25352535msgstr ""
     
    25482548
    25492549#: api/theme/billing.php:395 api/theme/shipping.php:339
    2550 #: lib/shipping/class.shipping.php:633
     2550#: lib/shipping/class.shipping.php:632
    25512551msgid "State"
    25522552msgstr ""
     
    26752675msgstr ""
    26762676
    2677 #: api/theme/login.php:221 lib/functions/functions.php:503
     2677#: api/theme/login.php:221 lib/functions/functions.php:521
    26782678msgid "Log In"
    26792679msgstr ""
     
    28172817#: api/transactions.php:755 api/transactions.php:823 api/transactions.php:846
    28182818#: core-addons/transaction-methods/offline-payments/init.php:286
    2819 #: core-addons/transaction-methods/paypal-standard/init.php:949
    2820 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1189
     2819#: core-addons/transaction-methods/paypal-standard/init.php:950
     2820#: core-addons/transaction-methods/paypal-standard-secure/init.php:1190
    28212821msgid "Unknown"
    28222822msgstr ""
     
    28712871msgstr ""
    28722872
    2873 #. #-#-#-#-#  ithemes-exchange.pot (iThemes Exchange 1.11.18)  #-#-#-#-#
     2873#. #-#-#-#-#  ithemes-exchange.pot (iThemes Exchange 1.12.0)  #-#-#-#-#
    28742874#. Plugin Name of the plugin/theme
    2875 #: core-addons/admin/basic-reporting/init.php:19
     2875#: core-addons/admin/basic-reporting/init.php:21
    28762876#: lib/admin/views/admin-user-profile.php:22 lib/pages/class.nav-menus.php:33
    28772877msgid "iThemes Exchange"
     
    30153015#: core-addons/taxes/taxes-simple/init.php:56
    30163016#: core-addons/transaction-methods/offline-payments/view-add-on-settings.php:21
    3017 #: core-addons/transaction-methods/paypal-standard/init.php:1155
    3018 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1397
     3017#: core-addons/transaction-methods/paypal-standard/init.php:1156
     3018#: core-addons/transaction-methods/paypal-standard-secure/init.php:1398
    30193019#: lib/admin/class-settings-form.php:41
    30203020#: lib/admin/views/admin-email-settings.php:164
     
    32073207#: core-addons/coupons/basic-coupons/admin.php:438
    32083208#: lib/email-notifications/class.email-notifications.php:453
    3209 #: lib/functions/functions.php:394
     3209#: lib/functions/functions.php:412
    32103210#: lib/products/class.products-post-type.php:113
    32113211msgid "Product"
     
    36613661#: core-addons/taxes/taxes-simple/init.php:95
    36623662#: core-addons/transaction-methods/offline-payments/init.php:430
    3663 #: core-addons/transaction-methods/paypal-standard/init.php:1218
    3664 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1522
     3663#: core-addons/transaction-methods/paypal-standard/init.php:1219
     3664#: core-addons/transaction-methods/paypal-standard-secure/init.php:1523
    36653665#: lib/admin/class.admin.php:1045 lib/admin/class.admin.php:1242
    36663666#: lib/admin/class.admin.php:1332
     
    36703670#: core-addons/product-types/digital-downloads/init.php:186
    36713671#: core-addons/transaction-methods/offline-payments/init.php:436
    3672 #: core-addons/transaction-methods/paypal-standard/init.php:1224
    3673 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1528
     3672#: core-addons/transaction-methods/paypal-standard/init.php:1225
     3673#: core-addons/transaction-methods/paypal-standard-secure/init.php:1529
    36743674msgid "Settings saved."
    36753675msgstr ""
     
    36773677#: core-addons/product-types/digital-downloads/init.php:191
    36783678#: core-addons/transaction-methods/offline-payments/init.php:441
    3679 #: core-addons/transaction-methods/paypal-standard/init.php:1229
    3680 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1533
     3679#: core-addons/transaction-methods/paypal-standard/init.php:1230
     3680#: core-addons/transaction-methods/paypal-standard-secure/init.php:1534
    36813681msgid "Settings not saved."
    36823682msgstr ""
     
    38173817
    38183818#: core-addons/transaction-methods/offline-payments/init.php:274
    3819 #: core-addons/transaction-methods/paypal-standard/init.php:930
    3820 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1168
     3819#: core-addons/transaction-methods/paypal-standard/init.php:931
     3820#: core-addons/transaction-methods/paypal-standard-secure/init.php:1169
    38213821msgid "Paid"
    38223822msgstr ""
     
    38273827
    38283828#: core-addons/transaction-methods/offline-payments/init.php:280
    3829 #: core-addons/transaction-methods/paypal-standard/init.php:945
    3830 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1183
     3829#: core-addons/transaction-methods/paypal-standard/init.php:946
     3830#: core-addons/transaction-methods/paypal-standard-secure/init.php:1184
    38313831msgid "Pending"
    38323832msgstr ""
    38333833
    38343834#: core-addons/transaction-methods/offline-payments/init.php:283
    3835 #: core-addons/transaction-methods/paypal-standard/init.php:947
    3836 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1185
     3835#: core-addons/transaction-methods/paypal-standard/init.php:948
     3836#: core-addons/transaction-methods/paypal-standard-secure/init.php:1186
    38373837msgid "Voided"
    38383838msgstr ""
     
    38453845
    38463846#: core-addons/transaction-methods/offline-payments/init.php:391
    3847 #: core-addons/transaction-methods/paypal-standard/init.php:1180
    3848 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1422
     3847#: core-addons/transaction-methods/paypal-standard/init.php:1181
     3848#: core-addons/transaction-methods/paypal-standard-secure/init.php:1423
    38493849msgid "Video:"
    38503850msgstr ""
     
    38833883
    38843884#: core-addons/transaction-methods/offline-payments/init.php:469
    3885 #: core-addons/transaction-methods/paypal-standard/init.php:1264
    3886 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1576
     3885#: core-addons/transaction-methods/paypal-standard/init.php:1265
     3886#: core-addons/transaction-methods/paypal-standard-secure/init.php:1577
    38873887#: lib/admin/class.admin.php:1054 lib/admin/class.admin.php:1253
    38883888#: lib/admin/class.admin.php:1349
     
    39133913
    39143914#: core-addons/transaction-methods/offline-payments/init.php:585
    3915 #: core-addons/transaction-methods/paypal-standard/init.php:1029
    3916 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1271
     3915#: core-addons/transaction-methods/paypal-standard/init.php:1030
     3916#: core-addons/transaction-methods/paypal-standard-secure/init.php:1272
    39173917#: core-addons/transaction-methods/zero-sum-checkout/init.php:196
    39183918msgid "Cancel Recurring Payment"
     
    39203920
    39213921#: core-addons/transaction-methods/offline-payments/init.php:590
    3922 #: core-addons/transaction-methods/paypal-standard/init.php:1016
    3923 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1258
     3922#: core-addons/transaction-methods/paypal-standard/init.php:1017
     3923#: core-addons/transaction-methods/paypal-standard-secure/init.php:1259
    39243924#: core-addons/transaction-methods/zero-sum-checkout/init.php:201
    39253925msgid "Recurring payment has been deactivated"
     
    39543954msgstr ""
    39553955
    3956 #: core-addons/transaction-methods/paypal-standard/init.php:596
     3956#: core-addons/transaction-methods/paypal-standard/init.php:597
    39573957msgid "ERROR: Invalid PayPal Setup"
    39583958msgstr ""
    39593959
    3960 #: core-addons/transaction-methods/paypal-standard/init.php:734
    3961 #: core-addons/transaction-methods/paypal-standard-secure/init.php:971
     3960#: core-addons/transaction-methods/paypal-standard/init.php:735
     3961#: core-addons/transaction-methods/paypal-standard-secure/init.php:972
    39623962msgid "Invalid IPN sent from PayPal: %s"
    39633963msgstr ""
    39643964
    3965 #: core-addons/transaction-methods/paypal-standard/init.php:933
    3966 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1171
     3965#: core-addons/transaction-methods/paypal-standard/init.php:934
     3966#: core-addons/transaction-methods/paypal-standard-secure/init.php:1172
    39673967msgid "Refund"
    39683968msgstr ""
    39693969
    3970 #: core-addons/transaction-methods/paypal-standard/init.php:935
    3971 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1173
     3970#: core-addons/transaction-methods/paypal-standard/init.php:936
     3971#: core-addons/transaction-methods/paypal-standard-secure/init.php:1174
    39723972msgid "Reversed"
    39733973msgstr ""
    39743974
    3975 #: core-addons/transaction-methods/paypal-standard/init.php:937
    3976 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1175
     3975#: core-addons/transaction-methods/paypal-standard/init.php:938
     3976#: core-addons/transaction-methods/paypal-standard-secure/init.php:1176
    39773977msgid "Buyer Complaint"
    39783978msgstr ""
    39793979
    3980 #: core-addons/transaction-methods/paypal-standard/init.php:939
    3981 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1177
     3980#: core-addons/transaction-methods/paypal-standard/init.php:940
     3981#: core-addons/transaction-methods/paypal-standard-secure/init.php:1178
    39823982msgid "Denied"
    39833983msgstr ""
    39843984
    3985 #: core-addons/transaction-methods/paypal-standard/init.php:941
    3986 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1179
     3985#: core-addons/transaction-methods/paypal-standard/init.php:942
     3986#: core-addons/transaction-methods/paypal-standard-secure/init.php:1180
    39873987msgid "Expired"
    39883988msgstr ""
    39893989
    3990 #: core-addons/transaction-methods/paypal-standard/init.php:943
    3991 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1181
     3990#: core-addons/transaction-methods/paypal-standard/init.php:944
     3991#: core-addons/transaction-methods/paypal-standard-secure/init.php:1182
    39923992msgid "Failed"
    39933993msgstr ""
    39943994
    3995 #: core-addons/transaction-methods/paypal-standard/init.php:1020
    3996 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1262
     3995#: core-addons/transaction-methods/paypal-standard/init.php:1021
     3996#: core-addons/transaction-methods/paypal-standard-secure/init.php:1263
    39973997msgid "Recurring payment has been cancelled"
    39983998msgstr ""
    39993999
    4000 #: core-addons/transaction-methods/paypal-standard/init.php:1024
    4001 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1266
     4000#: core-addons/transaction-methods/paypal-standard/init.php:1025
     4001#: core-addons/transaction-methods/paypal-standard-secure/init.php:1267
    40024002msgid "Recurring payment has been suspended"
    40034003msgstr ""
    40044004
    4005 #: core-addons/transaction-methods/paypal-standard/init.php:1029
    4006 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1271
     4005#: core-addons/transaction-methods/paypal-standard/init.php:1030
     4006#: core-addons/transaction-methods/paypal-standard-secure/init.php:1272
    40074007msgid "Profile ID"
    40084008msgstr ""
    40094009
    4010 #: core-addons/transaction-methods/paypal-standard/init.php:1145
     4010#: core-addons/transaction-methods/paypal-standard/init.php:1146
    40114011msgid "PayPal Standard Settings - Basic"
    40124012msgstr ""
    40134013
    4014 #: core-addons/transaction-methods/paypal-standard/init.php:1169
     4014#: core-addons/transaction-methods/paypal-standard/init.php:1170
    40154015msgid "PayPal Standard - Basic (Fastest Setup)"
    40164016msgstr ""
    40174017
    4018 #: core-addons/transaction-methods/paypal-standard/init.php:1179
     4018#: core-addons/transaction-methods/paypal-standard/init.php:1180
    40194019msgid ""
    40204020"This is the simple and fast version to get PayPal setup for your store. You "
     
    40254025msgstr ""
    40264026
    4027 #: core-addons/transaction-methods/paypal-standard/init.php:1180
     4027#: core-addons/transaction-methods/paypal-standard/init.php:1181
    40284028msgid "Setting Up PayPal Standard Basic"
    40294029msgstr ""
    40304030
    4031 #: core-addons/transaction-methods/paypal-standard/init.php:1182
    4032 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1424
     4031#: core-addons/transaction-methods/paypal-standard/init.php:1183
     4032#: core-addons/transaction-methods/paypal-standard-secure/init.php:1425
    40334033msgid "Don't have a PayPal account yet?"
    40344034msgstr ""
    40354035
    4036 #: core-addons/transaction-methods/paypal-standard/init.php:1182
    4037 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1424
     4036#: core-addons/transaction-methods/paypal-standard/init.php:1183
     4037#: core-addons/transaction-methods/paypal-standard-secure/init.php:1425
    40384038msgid "Go set one up here"
    40394039msgstr ""
    40404040
    4041 #: core-addons/transaction-methods/paypal-standard/init.php:1183
     4041#: core-addons/transaction-methods/paypal-standard/init.php:1184
    40424042msgid "What is your PayPal email address?"
    40434043msgstr ""
    40444044
    4045 #: core-addons/transaction-methods/paypal-standard/init.php:1185
    4046 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1427
     4045#: core-addons/transaction-methods/paypal-standard/init.php:1186
     4046#: core-addons/transaction-methods/paypal-standard-secure/init.php:1428
    40474047msgid "PayPal Email Address"
    40484048msgstr ""
    40494049
    4050 #: core-addons/transaction-methods/paypal-standard/init.php:1185
    4051 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1427
    4052 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1491
     4050#: core-addons/transaction-methods/paypal-standard/init.php:1186
     4051#: core-addons/transaction-methods/paypal-standard-secure/init.php:1428
     4052#: core-addons/transaction-methods/paypal-standard-secure/init.php:1492
    40534053msgid "We need this to tie payments to your account."
    40544054msgstr ""
    40554055
    4056 #: core-addons/transaction-methods/paypal-standard/init.php:1194
    4057 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1471
     4056#: core-addons/transaction-methods/paypal-standard/init.php:1195
     4057#: core-addons/transaction-methods/paypal-standard-secure/init.php:1472
    40584058msgid "Purchase Button Label"
    40594059msgstr ""
    40604060
    4061 #: core-addons/transaction-methods/paypal-standard/init.php:1194
     4061#: core-addons/transaction-methods/paypal-standard/init.php:1195
    40624062msgid ""
    40634063"This is the text inside the button your customers will press to purchase "
     
    40654065msgstr ""
    40664066
    4067 #: core-addons/transaction-methods/paypal-standard/init.php:1283
    4068 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1595
     4067#: core-addons/transaction-methods/paypal-standard/init.php:1284
     4068#: core-addons/transaction-methods/paypal-standard-secure/init.php:1596
    40694069msgid "Please include your PayPal Email Address"
    40704070msgstr ""
     
    40884088msgstr ""
    40894089
    4090 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1187
     4090#: core-addons/transaction-methods/paypal-standard-secure/init.php:1188
    40914091msgid "Cancelled"
    40924092msgstr ""
    40934093
    4094 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1387
     4094#: core-addons/transaction-methods/paypal-standard-secure/init.php:1388
    40954095msgid "PayPal Standard Settings - Secure"
    40964096msgstr ""
    40974097
    4098 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1411
     4098#: core-addons/transaction-methods/paypal-standard-secure/init.php:1412
    40994099msgid "PayPal Standard - Secure (Highly Recommended)"
    41004100msgstr ""
    41014101
    4102 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1421
     4102#: core-addons/transaction-methods/paypal-standard-secure/init.php:1422
    41034103msgid ""
    41044104"Although this PayPal version for iThemes Exchange takes more effort and "
     
    41084108msgstr ""
    41094109
    4110 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1422
     4110#: core-addons/transaction-methods/paypal-standard-secure/init.php:1423
    41114111msgid "Setting Up PayPal Standard Secure"
    41124112msgstr ""
    41134113
    4114 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1425
     4114#: core-addons/transaction-methods/paypal-standard-secure/init.php:1426
    41154115msgid "Step 1. Fill out your PayPal email address"
    41164116msgstr ""
    41174117
    4118 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1435
     4118#: core-addons/transaction-methods/paypal-standard-secure/init.php:1436
    41194119msgid "Step 2. Fill out your PayPal API credentials"
    41204120msgstr ""
    41214121
    4122 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1437
     4122#: core-addons/transaction-methods/paypal-standard-secure/init.php:1438
    41234123msgid "PayPal API Username"
    41244124msgstr ""
    41254125
    4126 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1437
    4127 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1446
    4128 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1455
     4126#: core-addons/transaction-methods/paypal-standard-secure/init.php:1438
     4127#: core-addons/transaction-methods/paypal-standard-secure/init.php:1447
     4128#: core-addons/transaction-methods/paypal-standard-secure/init.php:1456
    41294129msgid ""
    41304130"At PayPal, see: Profile &rarr; My Selling Tools &rarr; API Access &rarr; "
     
    41324132msgstr ""
    41334133
    4134 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1446
     4134#: core-addons/transaction-methods/paypal-standard-secure/init.php:1447
    41354135msgid "PayPal API Password"
    41364136msgstr ""
    41374137
    4138 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1455
     4138#: core-addons/transaction-methods/paypal-standard-secure/init.php:1456
    41394139msgid "PayPal API Signature"
    41404140msgstr ""
    41414141
    4142 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1463
     4142#: core-addons/transaction-methods/paypal-standard-secure/init.php:1464
    41434143msgid "Step 3. Setup PayPal Auto Return"
    41444144msgstr ""
    41454145
    4146 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1464
     4146#: core-addons/transaction-methods/paypal-standard-secure/init.php:1465
    41474147msgid ""
    41484148"PayPal Auto Return must be configured in Account Profile -› Website Payment "
     
    41504150msgstr ""
    41514151
    4152 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1465
     4152#: core-addons/transaction-methods/paypal-standard-secure/init.php:1466
    41534153msgid ""
    41544154"Please log into your account, set Auto Return to ON and add this URL to your "
     
    41574157msgstr ""
    41584158
    4159 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1467
     4159#: core-addons/transaction-methods/paypal-standard-secure/init.php:1468
    41604160msgid "Step 4. Setup PayPal Payment Data Transfer (PDT)"
    41614161msgstr ""
    41624162
    4163 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1468
     4163#: core-addons/transaction-methods/paypal-standard-secure/init.php:1469
    41644164msgid ""
    41654165"PayPal PDT must be turned <strong>ON</strong> in Account Profile -› Website "
     
    41674167msgstr ""
    41684168
    4169 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1469
     4169#: core-addons/transaction-methods/paypal-standard-secure/init.php:1470
    41704170msgid "Optional: Edit Paypal Button Label"
    41714171msgstr ""
    41724172
    4173 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1471
     4173#: core-addons/transaction-methods/paypal-standard-secure/init.php:1472
    41744174msgid ""
    41754175"This is the text inside the button your customers will press to purchase "
     
    41774177msgstr ""
    41784178
    4179 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1479
     4179#: core-addons/transaction-methods/paypal-standard-secure/init.php:1480
    41804180msgid "Optional: Enable Paypal Testing Mode"
    41814181msgstr ""
    41824182
    4183 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1482
     4183#: core-addons/transaction-methods/paypal-standard-secure/init.php:1483
    41844184msgid "Enable PayPal Sandbox Mode?"
    41854185msgstr ""
    41864186
    4187 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1482
     4187#: core-addons/transaction-methods/paypal-standard-secure/init.php:1483
    41884188msgid ""
    41894189"Use this mode for testing your store. This mode will need to be disabled "
     
    41914191msgstr ""
    41924192
    4193 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1491
     4193#: core-addons/transaction-methods/paypal-standard-secure/init.php:1492
    41944194msgid "PayPal Sandbox Email Address"
    41954195msgstr ""
    41964196
    4197 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1495
     4197#: core-addons/transaction-methods/paypal-standard-secure/init.php:1496
    41984198msgid "PayPal Sandbox API Username"
    41994199msgstr ""
    42004200
    4201 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1495
    4202 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1499
    4203 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1503
     4201#: core-addons/transaction-methods/paypal-standard-secure/init.php:1496
     4202#: core-addons/transaction-methods/paypal-standard-secure/init.php:1500
     4203#: core-addons/transaction-methods/paypal-standard-secure/init.php:1504
    42044204msgid "View tutorial: "
    42054205msgstr ""
    42064206
    4207 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1499
     4207#: core-addons/transaction-methods/paypal-standard-secure/init.php:1500
    42084208msgid "PayPal Sandbox API Password"
    42094209msgstr ""
    42104210
    4211 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1503
     4211#: core-addons/transaction-methods/paypal-standard-secure/init.php:1504
    42124212msgid "PayPal Sandbox API Signature"
    42134213msgstr ""
    42144214
    4215 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1597
     4215#: core-addons/transaction-methods/paypal-standard-secure/init.php:1598
    42164216msgid "Please include your PayPal API Username"
    42174217msgstr ""
    42184218
    4219 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1599
     4219#: core-addons/transaction-methods/paypal-standard-secure/init.php:1600
    42204220msgid "Please include your PayPal API password"
    42214221msgstr ""
    42224222
    4223 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1601
     4223#: core-addons/transaction-methods/paypal-standard-secure/init.php:1602
    42244224msgid "Please include your PayPal API signature"
    42254225msgstr ""
    42264226
    4227 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1605
     4227#: core-addons/transaction-methods/paypal-standard-secure/init.php:1606
    42284228msgid "Please include your PayPal Sandbox Email Address"
    42294229msgstr ""
    42304230
    4231 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1607
     4231#: core-addons/transaction-methods/paypal-standard-secure/init.php:1608
    42324232msgid "Please include your PayPal Sandbox API Username"
    42334233msgstr ""
    42344234
    4235 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1609
     4235#: core-addons/transaction-methods/paypal-standard-secure/init.php:1610
    42364236msgid "Please include your PayPal Sandbox API password"
    42374237msgstr ""
    42384238
    4239 #: core-addons/transaction-methods/paypal-standard-secure/init.php:1611
     4239#: core-addons/transaction-methods/paypal-standard-secure/init.php:1612
    42404240msgid "Please include your PayPal Sandbox API signature"
    42414241msgstr ""
     
    50965096msgstr ""
    50975097
    5098 #: lib/admin/views/admin-settings.php:187 lib/functions/functions.php:437
     5098#: lib/admin/views/admin-settings.php:187 lib/functions/functions.php:455
    50995099msgid "Customer Registration"
    51005100msgstr ""
     
    51195119msgstr ""
    51205120
    5121 #: lib/admin/views/admin-settings.php:201 lib/functions/functions.php:434
     5121#: lib/admin/views/admin-settings.php:201 lib/functions/functions.php:452
    51225122msgid "Registration"
    51235123msgstr ""
     
    51265126#: lib/deprecated/templates/content-registration.php:49
    51275127#: lib/deprecated/templates/super-widget-registration.php:44
    5128 #: lib/functions/functions.php:881
     5128#: lib/functions/functions.php:899
    51295129#: lib/templates/content-checkout/elements/purchase-requirements/logged-in/elements/not-logged-in/links/login.php:21
    51305130#: lib/templates/content-checkout/elements/purchase-requirements/logged-in/elements/registration/login.php:20
     
    52425242#: lib/admin/views/admin-user-products.php:11
    52435243#: lib/deprecated/templates/content-downloads.php:34
    5244 #: lib/functions/functions.php:421 lib/functions/functions.php:424
     5244#: lib/functions/functions.php:439 lib/functions/functions.php:442
    52455245#: lib/templates/content-downloads/elements/confirmation-url.php:20
    52465246msgid "Transaction"
     
    52535253msgstr ""
    52545254
    5255 #: lib/admin/views/admin-user-products.php:72 lib/functions/functions.php:476
     5255#: lib/admin/views/admin-user-products.php:72 lib/functions/functions.php:494
    52565256#: lib/product-features/class.downloads.php:168
    52575257#: lib/templates/content-confirmation/elements/product.php:37
     
    54965496msgstr ""
    54975497
    5498 #: lib/cart/class.cart.php:137
     5498#: lib/cart/class.cart.php:136
    54995499msgid "Product not added to cart"
    55005500msgstr ""
    55015501
    5502 #: lib/cart/class.cart.php:171 lib/cart/class.cart.php:553
     5502#: lib/cart/class.cart.php:170 lib/cart/class.cart.php:552
    55035503msgid "Product added to cart"
    55045504msgstr ""
    55055505
    5506 #: lib/cart/class.cart.php:332
     5506#: lib/cart/class.cart.php:331
    55075507msgid "Error adding Shipping Address. Please try again."
    55085508msgstr ""
    55095509
    5510 #: lib/cart/class.cart.php:347 lib/cart/class.cart.php:405
    5511 #: lib/shipping/class.shipping.php:498 lib/shipping/class.shipping.php:551
     5510#: lib/cart/class.cart.php:346 lib/cart/class.cart.php:404
     5511#: lib/shipping/class.shipping.php:497 lib/shipping/class.shipping.php:550
    55125512msgid "Please fill out all required fields"
    55135513msgstr ""
    55145514
    5515 #: lib/cart/class.cart.php:373
     5515#: lib/cart/class.cart.php:372
    55165516msgid "Shipping Address Saved"
    55175517msgstr ""
    55185518
    5519 #: lib/cart/class.cart.php:390
     5519#: lib/cart/class.cart.php:389
    55205520msgid "Error adding Billing Address. Please try again."
    55215521msgstr ""
    55225522
    5523 #: lib/cart/class.cart.php:436
     5523#: lib/cart/class.cart.php:435
    55245524msgid "Billing Address Saved"
    55255525msgstr ""
    55265526
    5527 #: lib/cart/class.cart.php:535
     5527#: lib/cart/class.cart.php:534
    55285528msgid "Unknown error. Please try again."
    55295529msgstr ""
    55305530
     5531#: lib/cart/class.cart.php:544
     5532msgid "Please select a payment method"
     5533msgstr ""
     5534
    55315535#: lib/cart/class.cart.php:545
    5532 msgid "Please select a payment method"
     5536msgid "There was an error processing your transaction. Please try again."
    55335537msgstr ""
    55345538
    55355539#: lib/cart/class.cart.php:546
    5536 msgid "There was an error processing your transaction. Please try again."
     5540msgid "Product not removed from cart. Please try again."
    55375541msgstr ""
    55385542
    55395543#: lib/cart/class.cart.php:547
    5540 msgid "Product not removed from cart. Please try again."
     5544msgid "There was an error emptying your cart. Please try again."
    55415545msgstr ""
    55425546
    55435547#: lib/cart/class.cart.php:548
    5544 msgid "There was an error emptying your cart. Please try again."
     5548msgid "There was an error updating your cart. Please try again."
    55455549msgstr ""
    55465550
    55475551#: lib/cart/class.cart.php:549
    5548 msgid "There was an error updating your cart. Please try again."
     5552msgid "Cart Updated."
    55495553msgstr ""
    55505554
    55515555#: lib/cart/class.cart.php:550
    5552 msgid "Cart Updated."
     5556msgid "Cart Emptied"
    55535557msgstr ""
    55545558
    55555559#: lib/cart/class.cart.php:551
    5556 msgid "Cart Emptied"
    5557 msgstr ""
    5558 
    5559 #: lib/cart/class.cart.php:552
    55605560msgid "Product removed from cart."
    55615561msgstr ""
     
    58455845msgstr ""
    58465846
    5847 #: lib/functions/functions.php:237
     5847#: lib/functions/functions.php:255
    58485848msgid ""
    58495849"Invalid webhook request for this site. The webhook request should be: %s"
    58505850msgstr ""
    58515851
    5852 #: lib/functions/functions.php:237
     5852#: lib/functions/functions.php:255
    58535853msgid "iThemes Exchange Webhook Process Error"
    58545854msgstr ""
    58555855
    5856 #: lib/functions/functions.php:245
     5856#: lib/functions/functions.php:263
    58575857msgid "iThemes Exchange webhook process Complete"
    58585858msgstr ""
    58595859
    5860 #: lib/functions/functions.php:245
     5860#: lib/functions/functions.php:263
    58615861msgid "iThemes Exchange Webhook Process Complete"
    58625862msgstr ""
    58635863
    5864 #: lib/functions/functions.php:273
     5864#: lib/functions/functions.php:291
    58655865msgid "Dangerous Settings"
    58665866msgstr ""
    58675867
    5868 #: lib/functions/functions.php:277
     5868#: lib/functions/functions.php:295
    58695869msgid "Reset Exchange"
    58705870msgstr ""
    58715871
    5872 #: lib/functions/functions.php:280
     5872#: lib/functions/functions.php:298
    58735873msgid "Reset ALL data"
    58745874msgstr ""
    58755875
    5876 #: lib/functions/functions.php:281
     5876#: lib/functions/functions.php:299
    58775877msgid "Checking this box will reset ALL settings and DELETE ALL DATA."
    58785878msgstr ""
    58795879
    5880 #: lib/functions/functions.php:377
     5880#: lib/functions/functions.php:395
    58815881msgid "Exchange has been reset. All data has been deleted."
    58825882msgstr ""
    58835883
    5884 #: lib/functions/functions.php:397
     5884#: lib/functions/functions.php:415
    58855885msgid "Product Base"
    58865886msgstr ""
    58875887
    5888 #: lib/functions/functions.php:407
     5888#: lib/functions/functions.php:425
    58895889msgid "Store"
    58905890msgstr ""
    58915891
    5892 #: lib/functions/functions.php:410
     5892#: lib/functions/functions.php:428
    58935893msgid "Store Page"
    58945894msgstr ""
    58955895
    5896 #: lib/functions/functions.php:411
     5896#: lib/functions/functions.php:429
    58975897msgid "Where all your products are shown in one place"
    58985898msgstr ""
    58995899
    5900 #: lib/functions/functions.php:438
     5900#: lib/functions/functions.php:456
    59015901msgid ""
    59025902"Where customers register to login, download, etc.  You can turn off "
     
    59055905msgstr ""
    59065906
    5907 #: lib/functions/functions.php:448
     5907#: lib/functions/functions.php:466
    59085908msgid "Account"
    59095909msgstr ""
    59105910
    5911 #: lib/functions/functions.php:451
     5911#: lib/functions/functions.php:469
    59125912msgid "Account Page"
    59135913msgstr ""
    59145914
    5915 #: lib/functions/functions.php:452
     5915#: lib/functions/functions.php:470
    59165916msgid ""
    59175917"Customers get an account when they buy something, so they can login and "
     
    59205920msgstr ""
    59215921
    5922 #: lib/functions/functions.php:462
     5922#: lib/functions/functions.php:480
    59235923msgid "Profile"
    59245924msgstr ""
    59255925
    5926 #: lib/functions/functions.php:465
     5926#: lib/functions/functions.php:483
    59275927msgid "Profile Page"
    59285928msgstr ""
    59295929
    5930 #: lib/functions/functions.php:466
     5930#: lib/functions/functions.php:484
    59315931msgid "Private details about your customers that they can change."
    59325932msgstr ""
    59335933
    5934 #: lib/functions/functions.php:479
     5934#: lib/functions/functions.php:497
    59355935msgid "Customer Downloads"
    59365936msgstr ""
    59375937
    5938 #: lib/functions/functions.php:480
     5938#: lib/functions/functions.php:498
    59395939msgid "Page where the customer can find all of their available downloads."
    59405940msgstr ""
    59415941
    5942 #: lib/functions/functions.php:490 lib/functions/functions.php:493
     5942#: lib/functions/functions.php:508 lib/functions/functions.php:511
    59435943#: lib/products/class.products-post-type.php:588
    59445944#: lib/templates/content-confirmation/elements/purchases-label.php:20
     
    59465946msgstr ""
    59475947
    5948 #: lib/functions/functions.php:506
     5948#: lib/functions/functions.php:524
    59495949msgid "Customer Log In"
    59505950msgstr ""
    59515951
    5952 #: lib/functions/functions.php:516
     5952#: lib/functions/functions.php:534
    59535953msgid "Log Out"
    59545954msgstr ""
    59555955
    5956 #: lib/functions/functions.php:519
     5956#: lib/functions/functions.php:537
    59575957msgid "Customer Log Out"
    59585958msgstr ""
    59595959
    5960 #: lib/functions/functions.php:529
     5960#: lib/functions/functions.php:547
    59615961msgid "Thank you"
    59625962msgstr ""
    59635963
    5964 #: lib/functions/functions.php:532
     5964#: lib/functions/functions.php:550
    59655965msgid "Purchase Confirmation"
    59665966msgstr ""
    59675967
    5968 #: lib/functions/functions.php:882
     5968#: lib/functions/functions.php:900
    59695969msgid "register"
    59705970msgstr ""
    59715971
    5972 #: lib/functions/functions.php:883
     5972#: lib/functions/functions.php:901
    59735973msgid "edit your cart"
    59745974msgstr ""
    59755975
    5976 #: lib/functions/functions.php:905
     5976#: lib/functions/functions.php:923
    59775977msgid "We need a billing address before you can checkout"
    59785978msgstr ""
    59795979
    5980 #: lib/functions/functions.php:1208
     5980#: lib/functions/functions.php:1226
    59815981msgid "Please provide a username and password"
    59825982msgstr ""
    59835983
    5984 #: lib/functions/functions.php:1270
     5984#: lib/functions/functions.php:1288
    59855985msgid "You do not have permission to view this file."
    59865986msgstr ""
    59875987
    5988 #: lib/functions/functions.php:1270
     5988#: lib/functions/functions.php:1288
    59895989msgid "Error"
    59905990msgstr ""
    59915991
    5992 #: lib/functions/functions.php:1455
     5992#: lib/functions/functions.php:1473
    59935993msgid "%s Product"
    59945994msgid_plural "%s Products"
     
    67646764msgstr ""
    67656765
    6766 #: lib/shipping/class.shipping.php:267
     6766#: lib/shipping/class.shipping.php:266
    67676767msgid "General Shipping Settings"
    67686768msgstr ""
    67696769
    6770 #: lib/shipping/class.shipping.php:287
     6770#: lib/shipping/class.shipping.php:286
    67716771msgid "Products Ship From"
    67726772msgstr ""
    67736773
    6774 #: lib/shipping/class.shipping.php:289
     6774#: lib/shipping/class.shipping.php:288
    67756775msgid "The default from address used when shipping your products."
    67766776msgstr ""
    67776777
    6778 #: lib/shipping/class.shipping.php:293
     6778#: lib/shipping/class.shipping.php:292
    67796779msgid "Address 1"
    67806780msgstr ""
    67816781
    6782 #: lib/shipping/class.shipping.php:337
     6782#: lib/shipping/class.shipping.php:336
    67836783msgid "Zip"
    67846784msgstr ""
    67856785
    6786 #: lib/shipping/class.shipping.php:342
     6786#: lib/shipping/class.shipping.php:341
    67876787msgid "Can individual products override the default Ships From Address?"
    67886788msgstr ""
    67896789
    6790 #: lib/shipping/class.shipping.php:344
     6790#: lib/shipping/class.shipping.php:343
    67916791msgid ""
    67926792"Selecting \"yes\" will place these fields on the Add/Edit product screen."
    67936793msgstr ""
    67946794
    6795 #: lib/shipping/class.shipping.php:354
     6795#: lib/shipping/class.shipping.php:353
    67966796msgid "Can individual products override the global Shipping Methods setting?"
    67976797msgstr ""
    67986798
    6799 #: lib/shipping/class.shipping.php:356
     6799#: lib/shipping/class.shipping.php:355
    68006800msgid ""
    68016801"Selecting \"yes\" will allow you to set available Shipping Methods for a "
     
    68036803msgstr ""
    68046804
    6805 #: lib/shipping/class.shipping.php:366
     6805#: lib/shipping/class.shipping.php:365
    68066806msgid "Measurements Format"
    68076807msgstr ""
    68086808
    6809 #: lib/shipping/class.shipping.php:368
     6809#: lib/shipping/class.shipping.php:367
    68106810msgid ""
    68116811"Use standard for pounds and inches. Use metric for kilograms and centimeters."
    68126812msgstr ""
    68136813
    6814 #: lib/shipping/class.shipping.php:554
     6814#: lib/shipping/class.shipping.php:553
    68156815msgid "Shipping Address Updated"
    68166816msgstr ""
    68176817
    6818 #: lib/shipping/class.shipping.php:635
     6818#: lib/shipping/class.shipping.php:634
    68196819msgid "Please use the 2-3 character %sISO 3166-2 Country Subdivision Code%s"
    68206820msgstr ""
    68216821
    6822 #: lib/shipping/class.shipping.php:667
     6822#: lib/shipping/class.shipping.php:666
    68236823msgid "Shipping method updated"
    68246824msgstr ""
  • ithemes-exchange/trunk/lib/admin/class.admin.php

    r1126551 r1139192  
    145145     * @return string
    146146    */
    147     function get_admin_menu_capability() {
    148         return apply_filters( 'it_exchange_admin_menu_capability', 'manage_options' );
     147    function get_admin_menu_capability( $context='' ) {
     148        return it_exchange_get_admin_menu_capability( $context );
    149149    }
    150150
     
    199199        if ( ! empty( $GLOBALS['hook_suffix'] ) && 'exchange_page_it-exchange-addons' == $GLOBALS['hook_suffix'] ) { //only show on add-on-settings pages
    200200            $url = add_query_arg( 'page', 'it-exchange-addons', admin_url( 'admin.php' ) );
    201             echo '<div class="it-exchange-return-to-addons"><p><a href="' . $url . '">&larr; ' . __( 'Back to Add-ons', 'it-l10n-ithemes-exchange' ) . '</a></p></div>';
     201            echo '<div class="it-exchange-return-to-addons"><p><a href="' . esc_url( $url ) . '">&larr; ' . __( 'Back to Add-ons', 'it-l10n-ithemes-exchange' ) . '</a></p></div>';
    202202        }
    203203    }
     
    289289    function print_products_user_edit_tab_link( $current_tab ) {
    290290        $active = ( 'products' === $current_tab || false === $current_tab ) ? 'nav-tab-active' : '';
    291         ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo add_query_arg( 'tab', 'products' ); ?>#it-exchange-member-options"><?php _e( 'Products', 'it-l10n-ithemes-exchange' ); ?></a><?php
     291        ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo esc_url( add_query_arg( 'tab', 'products' ) ); ?>#it-exchange-member-options"><?php _e( 'Products', 'it-l10n-ithemes-exchange' ); ?></a><?php
    292292    }
    293293
     
    300300    function print_transactions_user_edit_tab_link( $current_tab ) {
    301301        $active = 'transactions' == $current_tab ? 'nav-tab-active' : '';
    302         ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo add_query_arg( 'tab', 'transactions' ); ?>#it-exchange-member-options"><?php _e( 'Transactions', 'it-l10n-ithemes-exchange' ); ?></a><?php
     302        ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo esc_url( add_query_arg( 'tab', 'transactions' ) ); ?>#it-exchange-member-options"><?php _e( 'Transactions', 'it-l10n-ithemes-exchange' ); ?></a><?php
    303303    }
    304304
     
    311311    function print_info_user_edit_tab_link( $current_tab ) {
    312312        $active = ( 'info' === $current_tab ) ? 'nav-tab-active' : '';
    313         ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo add_query_arg( 'tab', 'info' ); ?>#it-exchange-member-options"><?php _e( 'Info', 'it-l10n-ithemes-exchange' ); ?></a><?php
     313        ?><a class="nav-tab <?php echo $active; ?>" href="<?php echo esc_url( add_query_arg( 'tab', 'info' ) ); ?>#it-exchange-member-options"><?php _e( 'Info', 'it-l10n-ithemes-exchange' ); ?></a><?php
    314314    }
    315315
     
    352352    function add_exchange_admin_menu() {
    353353        // Add main iThemes Exchange menu item
    354         add_menu_page( 'iThemes Exchange', 'Exchange', $this->get_admin_menu_capability(), 'it-exchange', array( $this, 'print_exchange_setup_page' ) );
     354        add_menu_page( 'iThemes Exchange', 'Exchange', $this->get_admin_menu_capability( 'it-exchange' ), 'it-exchange', array( $this, 'print_exchange_setup_page' ) );
    355355
    356356        // Add setup wizard page without menu item unless we're viewing it.
    357357        if ( 'it-exchange-setup' == $this->_current_page )
    358             add_submenu_page( 'it-exchange', 'iThemes Exchange Setup Wizard', 'Setup Wizard', $this->get_admin_menu_capability(), 'it-exchange-setup', array( $this, 'print_exchange_setup_page' ) );
     358            add_submenu_page( 'it-exchange', 'iThemes Exchange Setup Wizard', 'Setup Wizard', $this->get_admin_menu_capability( 'it-exchange-setup' ), 'it-exchange-setup', array( $this, 'print_exchange_setup_page' ) );
    359359
    360360        // Add the product submenu pages depending on active product add-ons
     
    362362
    363363        // Add Transactions menu item
    364         add_submenu_page( 'it-exchange', 'iThemes Exchange ' . __( 'Payments', 'it-l10n-ithemes-exchange' ), __( 'Payments', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability(), 'edit.php?post_type=it_exchange_tran' );
     364        add_submenu_page( 'it-exchange', 'iThemes Exchange ' . __( 'Payments', 'it-l10n-ithemes-exchange' ), __( 'Payments', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability( 'all-transactions' ), 'edit.php?post_type=it_exchange_tran' );
    365365
    366366        // Remove default iThemes Exchange sub-menu item created with parent menu item
     
    381381        if ( 'it-exchange-settings' == $this->_current_page && ! empty( $this->_current_tab ) )
    382382            $settings_callback = apply_filters( 'it_exchange_general_settings_tab_callback_' . $this->_current_tab, $settings_callback );
    383         add_submenu_page( 'it-exchange', 'iThemes Exchange Settings', 'Settings', $this->get_admin_menu_capability(), 'it-exchange-settings', $settings_callback );
     383        add_submenu_page( 'it-exchange', 'iThemes Exchange Settings', 'Settings', $this->get_admin_menu_capability( 'it-exchange-settings' ), 'it-exchange-settings', $settings_callback );
    384384
    385385        // Add Add-ons menu item
     
    392392                $add_ons_callback = $addon['options']['settings-callback'];
    393393        }
    394         add_submenu_page( 'it-exchange', 'iThemes Exchange Add-ons', 'Add-ons', $this->get_admin_menu_capability(), 'it-exchange-addons', $add_ons_callback );
     394        add_submenu_page( 'it-exchange', 'iThemes Exchange Add-ons', 'Add-ons', $this->get_admin_menu_capability( 'it-exchange-addons' ), 'it-exchange-addons', $add_ons_callback );
    395395
    396396        // Help menu
    397         add_submenu_page( 'it-exchange', __( 'Help', 'it-l10n-ithemes-exchange' ), __( 'Help', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability(), 'it-exchange-help', array( $this, 'print_help_page' ) );
     397        add_submenu_page( 'it-exchange', __( 'Help', 'it-l10n-ithemes-exchange' ), __( 'Help', 'it-l10n-ithemes-exchange' ), $this->get_admin_menu_capability( 'it-exchange-help' ), 'it-exchange-help', array( $this, 'print_help_page' ) );
    398398    }
    399399
     
    408408        if ( $enabled_product_types = it_exchange_get_enabled_addons( array( 'category' => array( 'product-type' ) ) ) ) {
    409409            $add_on_count = count( $enabled_product_types );
    410             add_submenu_page( 'it-exchange', 'All Products', 'All Products', $this->get_admin_menu_capability(), 'edit.php?post_type=it_exchange_prod' );
     410            add_submenu_page( 'it-exchange', 'All Products', 'All Products', $this->get_admin_menu_capability( 'all-products' ), 'edit.php?post_type=it_exchange_prod' );
    411411            if ( 1 == $add_on_count ) {
    412412                // If we only have one product-type enabled, add standard post_type pages
     
    415415                // Allow add-ons to adjust their menu titles
    416416                $menu_title = apply_filters( 'it_exchange_admin_add_one_product_type_product_page_title', __( 'Add Product', 'it-l10n-ithemes-exchange' ), $product );
    417                 add_submenu_page( 'it-exchange', __( 'Add Product', 'it-l10n-ithemes-exchange' ), $menu_title, $this->get_admin_menu_capability(), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . $product['slug'] );
     417                add_submenu_page( 'it-exchange', __( 'Add Product', 'it-l10n-ithemes-exchange' ), $menu_title, $this->get_admin_menu_capability( 'add-product' ), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . $product['slug'] );
    418418            } else if ( $add_on_count > 1 ) {
    419419                // If we have more than one product type, add them each separately
    420420                foreach( $enabled_product_types as $type => $params ) {
    421421                    $name = empty( $params['options']['labels']['singular_name'] ) ? 'Product' : esc_attr( $params['options']['labels']['singular_name'] );
    422                     add_submenu_page( 'it-exchange', 'Add ' . $name, 'Add ' . $name, $this->get_admin_menu_capability(), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . esc_attr( $params['slug'] ) );
     422                    add_submenu_page( 'it-exchange', 'Add ' . $name, 'Add ' . $name, $this->get_admin_menu_capability( 'add-product' ), 'post-new.php?post_type=it_exchange_prod&it-exchange-product-type=' . esc_attr( $params['slug'] ) );
    423423                }
    424424            }
     
    971971            $product_type_add_ons = reset( $product_type_add_ons );
    972972            if ( ! empty( $product_type_add_ons['slug'] ) ) {
    973                 wp_safe_redirect( add_query_arg( 'it-exchange-product-type', $product_type_add_ons['slug'] ) );
     973                wp_safe_redirect( esc_url_raw( add_query_arg( 'it-exchange-product-type', $product_type_add_ons['slug'] ) ) );
    974974                die();
    975975            }
     
    16191619            return;
    16201620
    1621         ?><div class="it-exchange-view-store-on-update-link hidden"><a href="<?php esc_attr_e( $store_link ) ; ?>" title="View store" ><?php _e( 'View store', 'it-l10n-ithemes-exchange' ); ?></a><?php
     1621        ?><div class="it-exchange-view-store-on-update-link hidden"><a href="<?php esc_url( $store_link ) ; ?>" title="View store" ><?php _e( 'View store', 'it-l10n-ithemes-exchange' ); ?></a><?php
    16221622    }
    16231623
     
    16631663        if ( ! $enabled_product_types = it_exchange_get_enabled_addons( array( 'category' => 'product-type' ) ) ) {
    16641664            $redirect = add_query_arg( 'page', 'it-exchange-settings', get_admin_url() . 'admin.php' );;
    1665             wp_redirect( $redirect );
     1665            wp_redirect( esc_url_raw( $redirect ) );
    16661666            die();
    16671667        }
     
    16801680
    16811681        if ( $redirect ) {
    1682             wp_redirect( $redirect );
     1682            wp_redirect( esc_url_raw( $redirect ) );
    16831683            die();
    16841684        }
  • ithemes-exchange/trunk/lib/admin/views/admin-add-ons.php

    r1119606 r1139192  
    121121                <h2><?php echo $vars['text']; ?></h2>
    122122                <p>
    123                     <a href="<?php echo $vars['target']; ?>" class="it-exchange-button"><?php echo $vars['link'] ?></a>
     123                    <a href="<?php echo esc_url( $vars['target'] ); ?>" class="it-exchange-button"><?php echo $vars['link'] ?></a>
    124124                </p>
    125125            </div>
  • ithemes-exchange/trunk/lib/admin/views/admin-default-templates-updated-notice.php

    r739322 r1139192  
    88?>
    99<div id="it-exchange-updated-templates-nag" class="it-exchange-nag">
    10     <?php printf( __( 'iThemes Exchange default template parts have been updated. View %sour codex%s for more information.' ), '<a href="' . $codex_url. '">', '</a>' ) ?>
    11     <a class="dismiss btn" href="<?php esc_attr_e( $dismiss_url ); ?>">&times;</a>
     10    <?php printf( __( 'iThemes Exchange default template parts have been updated. View %sour codex%s for more information.' ), '<a href="' . esc_url( $codex_url ). '">', '</a>' ) ?>
     11    <a class="dismiss btn" href="<?php echo esc_url( $dismiss_url ); ?>">&times;</a>
    1212</div>
    1313<script type="text/javascript">
  • ithemes-exchange/trunk/lib/admin/views/admin-ithemes-sync-integration-notice.php

    r952198 r1139192  
    88?>
    99<div id="it-exchange-ithemes-sync-integration-nag" class="it-exchange-nag">
    10     <?php printf( __( 'New! Track Your Sales Remotely with iThemes Sync. %sCheck it Out Now%s.' ), '<a target="_blank" href="' . $more_info_url . '">', '</a>' ) ?>
    11     <a class="dismiss btn" href="<?php esc_attr_e( $dismiss_url ); ?>">&times;</a>
     10    <?php printf( __( 'New! Track Your Sales Remotely with iThemes Sync. %sCheck it Out Now%s.' ), '<a target="_blank" href="' . esc_url( $more_info_url ) . '">', '</a>' ) ?>
     11    <a class="dismiss btn" href="<?php echo esc_url( $dismiss_url ); ?>">&times;</a>
    1212</div>
    1313<script type="text/javascript">
  • ithemes-exchange/trunk/lib/admin/views/admin-user-transactions.php

    r877845 r1139192  
    3939    $transaction_url    = add_query_arg( array( 'action' => 'edit', 'post' => esc_attr( $transaction->ID ) ), get_admin_url() . '/post.php' );
    4040    $transaction_number = it_exchange_get_transaction_order_number( $transaction->ID );
    41     $transaction_link   = '<a href="' . $transaction_url . '">' . $transaction_number . '</a>';
     41    $transaction_link   = '<a href="' . esc_url( $transaction_url ) . '">' . $transaction_number . '</a>';
    4242
    4343    // Actions array
     
    7272                    <div class="item-column block-column block-column-<?php echo $column; ?>">
    7373                        <?php foreach ( $detail as $action => $label ) : ?>
    74                             <a class="button" href="<?php esc_attr_e( $action ); ?>"><?php esc_attr_e( $label ); ?></a>
     74                            <a class="button" href="<?php echo esc_url( $action ); ?>"><?php esc_attr_e( $label ); ?></a>
    7575                            <!--
    7676                            <input type="button" class="button" name="it_exchange_<?php echo $action; ?>" value="<?php echo $label; ?>" />
  • ithemes-exchange/trunk/lib/admin/views/admin-wizard-notice.php

    r739322 r1139192  
    1111    $wizard_link    = add_query_arg( array( 'page' => 'it-exchange-setup' ), admin_url( 'admin.php' ) );
    1212    $wizard_dismiss = add_query_arg( array( 'it_exchange_settings-dismiss-wizard-nag' => true ) );
    13     echo __( 'iThemes Exchange is now installed.', 'it-l10n-ithemes-exchange' ) . ' <a class="btn" href="' . $wizard_link . '">' . __( 'Go to Quick Setup', 'it-l10n-ithemes-exchange' ) . '</a>';
     13    echo __( 'iThemes Exchange is now installed.', 'it-l10n-ithemes-exchange' ) . ' <a class="btn" href="' . esc_url( $wizard_link ) . '">' . __( 'Go to Quick Setup', 'it-l10n-ithemes-exchange' ) . '</a>';
    1414    ?>
    15     <a class="dismiss btn" href="<?php esc_attr_e( $wizard_dismiss ); ?>">&times;</a>
     15    <a class="dismiss btn" href="<?php esc_url( $wizard_dismiss ); ?>">&times;</a>
    1616</div>
    1717<script type="text/javascript">
  • ithemes-exchange/trunk/lib/cart/class.cart.php

    r1071318 r1139192  
    101101    */
    102102    function handle_buy_now_request() {
    103 
    104103        $buy_now_var = it_exchange_get_field_name( 'buy_now' );
    105104        $product_id = empty( $_REQUEST[$buy_now_var] ) ? 0 : $_REQUEST[$buy_now_var];
     
    129128            } else {
    130129                $url = add_query_arg( 'ite-sw-state', $sw_state, $url );
    131                 it_exchange_redirect( $url, 'buy-now-success-in-sw' );
     130                it_exchange_redirect( esc_url_raw( $url ), 'buy-now-success-in-sw' );
    132131                die();
    133132            }
     
    136135        $error = empty( $error ) ? 'product-not-added-to-cart' : $error;
    137136        it_exchange_add_message( 'error', __( 'Product not added to cart', 'it-l10n-ithemes-exchange' ) );
    138         it_exchange_redirect( $url, 'buy-now-failed' );
     137        it_exchange_redirect( esc_url_raw( $cart ), 'buy-now-failed' );
    139138        die();
    140139    }
     
    176175            } else {
    177176                $url = add_query_arg( 'ite-sw-state', $sw_state, $url );
    178                 it_exchange_redirect( $url, 'add-to-cart-success-in-sw' );
     177                it_exchange_redirect( esc_url_raw( $url ), 'add-to-cart-success-in-sw' );
    179178                die();
    180179            }
     
    184183        $error = empty( $error ) ? 'product-not-added-to-cart' : $error;
    185184        $url  = add_query_arg( array( $error_var => $error ), $cart );
    186         it_exchange_redirect( $url, 'add-to-cart-failed' );
     185        it_exchange_redirect( esc_url_raw( $url ), 'add-to-cart-failed' );
    187186        die();
    188187    }
     
    223222
    224223        $redirect_options = array( 'query_arg' => array( $message_var => 'cart-emptied' ) );
    225         it_exchange_redirect( $url, 'cart-empty-success', $redirect_options );
     224        it_exchange_redirect( esc_url_raw( $url ), 'cart-empty-success', $redirect_options );
    226225        die();
    227226    }
     
    253252
    254253            $redirect_options = array( 'query_arg' => array( $var => 'product-not-removed' ) );
    255             it_exchange_redirect( $url, 'cart-remove-product-failed', $redirect_options );
     254            it_exchange_redirect( esc_url_raw( $url ), 'cart-remove-product-failed', $redirect_options );
    256255            die();
    257256        }
     
    265264
    266265        $redirect_options = array( 'query_arg' => array( $var => 'product-removed' ) );
    267         it_exchange_redirect( $url, 'cart-remove-product-success', $redirect_options );
     266        it_exchange_redirect( esc_url_raw( $url ), 'cart-remove-product-success', $redirect_options );
    268267        die();
    269268    }
     
    293292
    294293            $redirect_options = array( 'query_arg' => array( $var => 'cart-not-updated' ) );
    295             it_exchange_redirect( $url, 'cart-update-failed', $redirect_options );
     294            it_exchange_redirect( esc_url( $url ), 'cart-update-failed', $redirect_options );
    296295            die();
    297296        }
     
    314313
    315314            $redirect_options = array( 'query_arg' => array( $message_var => 'cart-updated' ) );
    316             it_exchange_redirect( $url, 'cart-update-success', $redirect_options );
     315            it_exchange_redirect( esc_url( $url ), 'cart-update-success', $redirect_options );
    317316            die();
    318317        }
  • ithemes-exchange/trunk/lib/email-notifications/class.email-notifications.php

    r952198 r1139192  
    8686            it_exchange_add_message( 'error', __( 'Invalid transaction. Confirmation email not sent.', 'it-l10n-ithemes-exchange' ) );
    8787            $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    88             it_exchange_redirect( $url, 'admin-confirmation-email-resend-failed' );
     88            it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-failed' );
    8989            die();
    9090        }
     
    9595            it_exchange_add_message( 'error', __( 'Confirmation Email not sent. Please try again.', 'it-l10n-ithemes-exchange' ) );
    9696            $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    97             it_exchange_redirect( $url, 'admin-confirmation-email-resend-failed' );
     97            it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-failed' );
    9898            die();
    9999        }
     
    103103            it_exchange_add_message( 'error', __( 'You do not have permission to resend confirmation emails.', 'it-l10n-ithemes-exchange' ) );
    104104            $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    105             it_exchange_redirect( $url, 'admin-confirmation-email-resend-failed' );
     105            it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-failed' );
    106106            die();
    107107        }
     
    111111        it_exchange_add_message( 'notice', __( 'Confirmation email resent', 'it-l10n-ithemes-exchange' ) );
    112112        $url = remove_query_arg( array( 'it-exchange-customer-transaction-action', '_wpnonce' ) );
    113         it_exchange_redirect( $url, 'admin-confirmation-email-resend-success' );
     113        it_exchange_redirect( esc_url( $url ), 'admin-confirmation-email-resend-success' );
    114114        die();
    115115    }
     
    342342                            <?php if ( $count > 1 && apply_filters( 'it_exchange_print_downlods_page_link_in_email', true, $this->transaction_id ) ) : ?>
    343343                                <?php $downloads_url = it_exchange_get_page_url( 'downloads' ); ?>
    344                                 <p><?php printf( __( 'You have purchased %d unique download link(s) for each file available with this product.%s%sEach link has its own download limits and you can view the details on your %sdownloads%s page.', 'it-l10n-ithemes-exchange' ), $count, '<br />', '<br />', '<a href="' . $downloads_url . '">', '</a>' ); ?></p>
     344                                <p><?php printf( __( 'You have purchased %d unique download link(s) for each file available with this product.%s%sEach link has its own download limits and you can view the details on your %sdownloads%s page.', 'it-l10n-ithemes-exchange' ), $count, '<br />', '<br />', '<a href="' . esc_url( $downloads_url ) . '">', '</a>' ); ?></p>
    345345                            <?php endif; ?>
    346346                            <?php foreach( $product_downloads as $download_id => $download_data ) : ?>
     
    356356                                        ?>
    357357                                        <li>
    358                                             <a href="<?php echo site_url() . '?it-exchange-download=' . $hash; ?>"><?php _e( 'Download link', 'it-l10n-ithemes-exchange' ); ?></a> <span style="font-family: Monaco, monospace;font-size:12px;color:#AAA;">(<?php esc_attr_e( $hash ); ?>)</span>
     358                                            <a href="<?php echo esc_url( add_query_arg( 'it-exchange-download', $hash, site_url() ) ); ?>"><?php _e( 'Download link', 'it-l10n-ithemes-exchange' ); ?></a> <span style="font-family: Monaco, monospace;font-size:12px;color:#AAA;">(<?php esc_attr_e( $hash ); ?>)</span>
    359359                                        </li>
    360360                                    <?php endforeach; ?>
  • ithemes-exchange/trunk/lib/functions/functions.php

    r1126551 r1139192  
    5656
    5757    return $options;
     58}
     59
     60/**
     61 * Used to set admin menu capabilities
     62 *
     63 * @since 1.12.0
     64 *
     65 * @param string $context the context of where it's being used
     66 * @param string $capability the incoming capability
     67 * @return string
     68*/
     69function it_exchange_get_admin_menu_capability( $context='', $capability='manage_options' ) {
     70
     71    // Allow addons to filter
     72    $capability =  apply_filters( 'it_exchange_admin_menu_capability', $capability, $context );
     73
     74    // Clean and return
     75    return empty( $capability ) || ! is_string( $capability ) ? false : $capability;
    5876}
    5977
     
    14941512    if ( ! empty( $show_nag ) ) {
    14951513        $more_info_url   = 'http://ithemes.com/2014/06/24/track-sales-sync-new-ithemes-exchange-integration/';
    1496         $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-sync-integration-nag' => 1 ) );
     1514        $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-sync-integration-nag' => 1 ) ); // escaped before printed
    14971515        include( dirname( dirname( __FILE__) ) . '/admin/views/admin-ithemes-sync-integration-notice.php' );
    14981516    }
  • ithemes-exchange/trunk/lib/functions/template-functions.php

    r1004481 r1139192  
    223223    if ( empty( $nag_dismissed ) || ( version_compare( $nag_dismissed, $GLOBALS['it_exchange']['version'] ) < 0 ) ) {
    224224        $codex_url   = 'http://ithemes.com/codex/page/Exchange_Template_Updates';
    225         $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-tempate-nag' => 1 ) );
     225        $dismiss_url = add_query_arg( array( 'it-exchange-dismiss-tempate-nag' => 1 ) ); // escaped in included file
    226226        include( dirname( dirname( __FILE__) ) . '/admin/views/admin-default-templates-updated-notice.php' );
    227227    }
  • ithemes-exchange/trunk/lib/load.php

    r820178 r1139192  
    99// IT Classes
    1010require( 'classes/load.php' );
     11
     12// Other Functions
     13require( $this->_plugin_path . 'lib/functions/functions.php' );
    1114
    1215// IT Fonts
     
    3336// Template Functions
    3437require( $this->_plugin_path . 'lib/functions/template-functions.php' );
    35 
    36 // Other Functions
    37 require( $this->_plugin_path . 'lib/functions/functions.php' );
    3838
    3939// Integrations
  • ithemes-exchange/trunk/lib/pages/class.nav-menus.php

    r802482 r1139192  
    7878            <ul id="taxonomy-it-exchange-pages-tabs" class="taxonomy-tabs add-menu-item-tabs">
    7979                <li class="tabs">
    80                     <a class="nav-tab-link" data-type="tabs-panel-it-exchange-pages-all" href="<?php if ( $nav_menu_selected_id ) echo esc_url(add_query_arg( 'it-exchange-pages' . '-tab', 'all', remove_query_arg( $removed_args ) ) ); ?>#tabs-panel-it-exchange-pages-all">
     80                    <a class="nav-tab-link" data-type="tabs-panel-it-exchange-pages-all" href="<?php if ( $nav_menu_selected_id ) echo esc_url( add_query_arg( 'it-exchange-pages' . '-tab', 'all', remove_query_arg( $removed_args ) ) ); ?>#tabs-panel-it-exchange-pages-all">
    8181                        <?php _e( 'View All' ); ?>
    8282                    </a>
  • ithemes-exchange/trunk/lib/products/class.products-post-type.php

    r1111189 r1139192  
    242242                        <?php
    243243                            if ( 'publish' == $post->post_status ) {
    244                                 $preview_link = esc_url( apply_filters( 'it_exchange_view_product_button_link', get_permalink( $post->ID ), $post ) );
     244                                $preview_link = apply_filters( 'it_exchange_view_product_button_link', get_permalink( $post->ID ), $post );
    245245                                $preview_button = apply_filters( 'it_exchange_view_product_button_label', __( 'View Product', 'it-l10n-ithemes-exchange' ), $post );
    246246                                $preview_id = 'post-view';
    247247                            } else {
    248248                                $preview_link = set_url_scheme( get_permalink( $post->ID ) );
    249                                 $preview_link = esc_url( apply_filters( 'it_exchange_preview_product_button_link', apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ), $post ) );
     249                                $preview_link = apply_filters( 'it_exchange_preview_product_button_link', apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ) ), $post );
    250250                                $preview_button = apply_filters( 'it_exchange_preview_product_button_label', __( 'Preview Product', 'it-l10n-ithemes-exchange' ), $post );
    251251                                $preview_id = 'post-preview';
    252252                            }
    253253                        ?>
    254                         <a class="preview button button-large" href="<?php echo $preview_link; ?>" target="wp-preview" id="<?php echo $preview_id; ?>"><?php echo $preview_button; ?></a>
     254                        <a class="preview button button-large" href="<?php echo esc_url( $preview_link ); ?>" target="wp-preview" id="<?php echo $preview_id; ?>"><?php echo $preview_button; ?></a>
    255255                        <input type="hidden" name="wp-preview" id="wp-preview" value="" />
    256256                    </div>
     
    566566
    567567            if ( ! empty( $post_new_file) && ! empty( $product_type ) )
    568                 $post_new_file = add_query_arg( array( 'it-exchange-product-type' => $product_type ), $post_new_file );
     568                $post_new_file = esc_url( add_query_arg( array( 'it-exchange-product-type' => $product_type ), $post_new_file ) );
    569569
    570570        }
  • ithemes-exchange/trunk/lib/shipping/class.shipping.php

    r1133725 r1139192  
    191191                'prefix'       => $prefix,
    192192                'form-options' => array(
    193                     'action'            => $action,
     193                    'action'            => esc_url( $action ),
    194194                    'country-states-js' => $country_states_js,
    195195                ),
     
    222222        ?>
    223223        <div class="it-exchange-secondary-tabs it-exchange-shipping-provider-tabs">
    224             <a class="shipping-provider-link <?php echo ( empty( $current ) ) ? 'it-exchange-current' : ''; ?>" href="<?php esc_attr_e( add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), admin_url( 'admin.php' ) ) ); ?>">
     224            <a class="shipping-provider-link <?php echo ( empty( $current ) ) ? 'it-exchange-current' : ''; ?>" href="<?php echo esc_url( add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping' ), admin_url( 'admin.php' ) ) ); ?>">
    225225                <?php _e( 'General', 'it-l10n-ithemes-exchange' ); ?>
    226226            </a>
     
    230230                if ( empty( $provider->has_settings_page ) )
    231231                    continue;
    232                 $url = add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping', 'provider' => $provider->get_slug() ), admin_url( 'admin.php' ) );
    233                 ?><a class="shipping-provider-link<?php echo ( $current == $provider->get_slug() ) ? ' it-exchange-current' : ''; ?>" href="<?php echo $url; ?>"><?php esc_html_e( $provider->get_label() ); ?></a><?php
     232                ?><a class="shipping-provider-link<?php echo ( $current == $provider->get_slug() ) ? ' it-exchange-current' : ''; ?>" href="<?php echo esc_url( add_query_arg( array( 'page' => 'it-exchange-settings', 'tab' => 'shipping', 'provider' => $provider->get_slug() ), admin_url( 'admin.php' ) ) ); ?>"><?php esc_html_e( $provider->get_label() ); ?></a><?php
    234233            }
    235234            ?>
  • ithemes-exchange/trunk/readme.txt

    r1136211 r1139192  
    44Requires at least: 3.7
    55Tested up to: 4.2
    6 Stable tag: 1.11.18
     6Stable tag: 1.12.0
    77License: GPLv2 or later
    88
     
    8888
    8989== Changelog ==
     90
     91= 1.12.0 =
     92* Multiple updates involving add_query_arg and remove_query_arg to esc_url()
     93* Introduce it_exchange_get_admin_menu_capability( $context, $capability )
     94* Adding filter to shipping address and method requirement, for that rare case when the shipping requirement should be enabled, but isn't
    9095
    9196= 1.11.18 =
Note: See TracChangeset for help on using the changeset viewer.