PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 4.6.1
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v4.6.1
4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / packages / blocks-next / build / blocks / currency-switcher / view.php
surecart / packages / blocks-next / build / blocks / currency-switcher Last commit date
block.json 6 months ago index.asset.php 6 months ago index.js 6 months ago style-index-rtl.css 1 year ago style-index.css 1 year ago view.asset.php 1 year ago view.js 1 year ago view.php 4 months ago
view.php
131 lines
1 <?php
2 /**
3 * Currency switcher block view.
4 *
5 * @package SureCart
6 */
7
8 use SureCart\Models\DisplayCurrency;
9 use SureCart\Support\Currency;
10
11 // Get all display currencies.
12 $currencies = DisplayCurrency::get();
13
14 if ( is_wp_error( $currencies ) || empty( $currencies ) ) {
15 return;
16 }
17
18 // Sort by currency name.
19 usort(
20 $currencies,
21 function ( $a, $b ) {
22 return strcmp( $a->name, $b->name );
23 }
24 );
25
26 // Get current currency from URL or default.
27 $current_currency = Currency::getCurrentCurrency();
28 ?>
29
30 <div
31 <?php echo wp_kses_data( get_block_wrapper_attributes( [ 'class' => 'sc-dropdown' ] ) ); ?>
32 <?php
33 echo wp_kses_data(
34 wp_interactivity_data_wp_context(
35 [
36 'isMenuOpen' => false,
37 'index' => 0,
38 ]
39 )
40 );
41 ?>
42 data-wp-interactive='{ "namespace": "surecart/dropdown" }'
43 data-wp-on-window--click="surecart/dropdown::callbacks.maybeCloseMenu"
44 data-wp-on-window--focusin="surecart/dropdown::callbacks.maybeCloseMenu"
45 data-wp-on-window--keydown="surecart/dropdown::callbacks.maybeCloseMenu"
46 data-wp-bind--aria-activedescendant="context.activeMenuItemId"
47 data-wp-on--keyup="surecart/dropdown::actions.menuKeyUp"
48 data-wp-on--keydown="surecart/dropdown::actions.menuKeyDown"
49 data-wp-init="surecart/currency-switcher::callbacks.initialize"
50 tabindex="-1"
51 data-wp-bind--aria-labelledby="context.activeMenuItemId"
52 >
53 <div
54 class="wp-block-surecart-currency-switcher__trigger"
55 data-wp-on--click="surecart/dropdown::actions.toggleMenu"
56 role="button"
57 tabindex="0"
58 aria-label="<?php esc_attr_e( 'Select Currency', 'surecart' ); ?>"
59 >
60 <img
61 src="<?php echo esc_url( plugins_url( 'images/flags/' . strtolower( $current_currency ) . '.svg', SURECART_PLUGIN_FILE ) ); ?>"
62 alt="<?php echo esc_attr( strtoupper( $current_currency ) ); ?> flag"
63 class="wp-block-surecart-currency-switcher__flag"
64 width="20"
65 height="15"
66 />
67 <span class="wp-block-surecart-currency-switcher__label"><?php echo esc_html( apply_filters( 'surecart/currency_switcher/label', strtoupper( $current_currency ) ) ); ?></span>
68 <span class="wp-block-surecart-currency-switcher__caret">
69 <?php
70 echo wp_kses(
71 SureCart::svg()->get(
72 'chevron-down',
73 [
74 'width' => 16,
75 'height' => 16,
76 ]
77 ),
78 sc_allowed_svg_html()
79 );
80 ?>
81 </span>
82 </div>
83
84 <div
85 class="sc-dropdown__panel sc-dropdown__panel--<?php echo esc_attr( $attributes['position'] ); ?>"
86 data-wp-bind--hidden="!context.isMenuOpen"
87 data-wp-bind--aria-hidden="!context.isMenuOpen"
88 hidden
89 role="menu"
90 aria-description="<?php esc_html_e( 'Press the arrow keys then enter to make a selection.', 'surecart' ); ?>"
91 aria-orientation="vertical"
92 >
93 <?php foreach ( $currencies as $currency ) : ?>
94 <?php
95 // Get the current URL.
96 $url = add_query_arg( 'currency', strtolower( $currency->currency ), remove_query_arg( 'currency' ) );
97 ?>
98 <a
99 role="menuitem"
100 tabindex="-1"
101 class="sc-dropdown__menu-item"
102 id="<?php echo esc_attr( wp_unique_id( 'sc-menu-item-' ) ); ?>"
103 href="<?php echo esc_url( $url ); ?>"
104 data-wp-on--click="surecart/currency-switcher::actions.navigate"
105 data-wp-class--sc-focused="surecart/dropdown::state.isMenuItemFocused"
106 >
107 <img
108 src="<?php echo esc_url( plugins_url( 'images/flags/' . strtolower( $currency->currency ) . '.svg', SURECART_PLUGIN_FILE ) ); ?>"
109 alt="<?php echo esc_attr( strtoupper( $currency->currency ) ); ?> flag"
110 class="sc-dropdown__menu-item__flag"
111 width="20"
112 height="15"
113 loading="lazy"
114 />
115 <span class="sc-dropdown__menu-item__label">
116 <?php echo esc_html( $currency->name ); ?>
117 <span class="sc-dropdown__menu-item__symbol">(<?php echo esc_html( $currency->currency_symbol ); ?>)</span>
118 </span>
119
120 <?php
121 if ( strtolower( $currency->currency ) === strtolower( $current_currency ) ) :
122 ?>
123 <span class="sc-menu-item__check sc-menu-item__check--right">
124 <?php echo wp_kses( SureCart::svg()->get( 'check' ), sc_allowed_svg_html() ); ?>
125 </span>
126 <?php endif; ?>
127 </a>
128 <?php endforeach; ?>
129 </div>
130 </div>
131