PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / vendor / otgs / ui / src / php / OTGS_Assets_Store.php
woocommerce-multilingual / vendor / otgs / ui / src / php Last commit date
OTGS_Assets_Handles.php 1 month ago OTGS_Assets_Store.php 1 month ago OTGS_UI_Assets.php 1 month ago OTGS_UI_Loader.php 1 month ago
OTGS_Assets_Store.php
70 lines
1 <?php
2
3 class OTGS_Assets_Store {
4
5 private $assets_files_store = array();
6 private $assets = array();
7
8 public function get( $type, $handle = null ) {
9 $result = array();
10
11 $this->parse_assets();
12
13 if ( array_key_exists( $type, $this->assets ) ) {
14 $result = $this->assets[ $type ];
15
16 if ( $handle ) {
17 if ( array_key_exists( $handle, $this->assets[ $type ] ) ) {
18 $result = $this->assets[ $type ][ $handle ];
19 } else {
20 $result = array();
21 }
22 }
23 }
24
25 return $result;
26 }
27
28 public function add_assets_location( $path ) {
29 if ( ! in_array( $path, $this->assets, true ) ) {
30 $this->assets_files_store[] = $path;
31 }
32 }
33
34 private function parse_assets() {
35 if ( ! $this->assets ) {
36 foreach ( $this->assets_files_store as $assets_file ) {
37 $this->add_asset( $assets_file );
38 }
39 }
40 }
41
42 private function add_asset( $assets_file ) {
43 if ( ! is_file( $assets_file ) ) {
44 return;
45 }
46
47 $assets = file_get_contents( $assets_file );
48 if ( ! $assets || ! is_string( $assets ) ) {
49 return;
50 }
51
52 $assets_data = json_decode( $assets, true );
53
54 if ( $assets_data && array_key_exists( 'entrypoints', $assets_data ) ) {
55 foreach ( $assets_data['entrypoints'] as $handle => $resources ) {
56 $this->add_resources( $handle, $resources );
57 }
58 }
59 }
60
61 private function add_resources( $handle, $resources ) {
62 foreach ( $resources as $type => $path ) {
63 if ( ! array_key_exists( $type, $this->assets ) ) {
64 $this->assets[ $type ] = array();
65 }
66 $this->assets[ $type ][ $handle ] = $path;
67 }
68 }
69 }
70