@@ -1,243 +1,243 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | if ( ! defined( 'ABSPATH' ) ) { |
3 | - exit; |
|
3 | + exit; |
|
4 | 4 | } |
5 | 5 | |
6 | 6 | if ( ! class_exists( 'WP_Super_Duper' ) ) { |
7 | 7 | |
8 | 8 | |
9 | - /** |
|
10 | - * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
|
11 | - * |
|
12 | - * Should not be called direct but extended instead. |
|
13 | - * |
|
14 | - * Class WP_Super_Duper |
|
15 | - * @since 1.0.16 change log moved to file change-log.txt - CHANGED |
|
16 | - * @ver 1.0.16 |
|
17 | - */ |
|
18 | - class WP_Super_Duper extends WP_Widget { |
|
19 | - |
|
20 | - public $version = "1.0.16"; |
|
21 | - public $font_awesome_icon_version = "5.11.2"; |
|
22 | - public $block_code; |
|
23 | - public $options; |
|
24 | - public $base_id; |
|
25 | - public $arguments = array(); |
|
26 | - public $instance = array(); |
|
27 | - private $class_name; |
|
28 | - |
|
29 | - /** |
|
30 | - * The relative url to the current folder. |
|
31 | - * |
|
32 | - * @var string |
|
33 | - */ |
|
34 | - public $url = ''; |
|
35 | - |
|
36 | - /** |
|
37 | - * Take the array options and use them to build. |
|
38 | - */ |
|
39 | - public function __construct( $options ) { |
|
40 | - global $sd_widgets; |
|
41 | - |
|
42 | - $sd_widgets[ $options['base_id'] ] = array( |
|
43 | - 'name' => $options['name'], |
|
44 | - 'class_name' => $options['class_name'] |
|
45 | - ); |
|
46 | - $this->base_id = $options['base_id']; |
|
47 | - // lets filter the options before we do anything |
|
48 | - $options = apply_filters( "wp_super_duper_options", $options ); |
|
49 | - $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
50 | - $options = $this->add_name_from_key( $options ); |
|
51 | - $this->options = $options; |
|
52 | - |
|
53 | - $this->base_id = $options['base_id']; |
|
54 | - $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
55 | - |
|
56 | - // init parent |
|
57 | - parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] ); |
|
58 | - |
|
59 | - if ( isset( $options['class_name'] ) ) { |
|
60 | - // register widget |
|
61 | - $this->class_name = $options['class_name']; |
|
62 | - |
|
63 | - // register shortcode |
|
64 | - $this->register_shortcode(); |
|
65 | - |
|
66 | - // Fusion Builder (avada) support |
|
67 | - if( function_exists('fusion_builder_map') ){ $this->register_fusion_element(); } |
|
68 | - |
|
69 | - // register block |
|
70 | - add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
71 | - } |
|
72 | - |
|
73 | - // add the CSS and JS we need ONCE |
|
74 | - global $sd_widget_scripts; |
|
75 | - |
|
76 | - if ( ! $sd_widget_scripts ) { |
|
77 | - wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
78 | - wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
79 | - wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
80 | - |
|
81 | - $sd_widget_scripts = true; |
|
82 | - |
|
83 | - // add shortcode insert button once |
|
84 | - add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
85 | - // generatepress theme sections compatibility |
|
86 | - if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
87 | - add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
88 | - } |
|
89 | - if ( $this->is_preview() ) { |
|
90 | - add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
91 | - // this makes the insert button work for elementor |
|
92 | - add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
93 | - $this, |
|
94 | - 'shortcode_insert_button_script' |
|
95 | - ) ); // for elementor |
|
96 | - } |
|
97 | - // this makes the insert button work for cornerstone |
|
98 | - add_action('wp_print_footer_scripts',array( __CLASS__, 'maybe_cornerstone_builder' )); |
|
99 | - |
|
100 | - add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
101 | - add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
102 | - |
|
103 | - // add generator text to admin head |
|
104 | - add_action( 'admin_head', array( $this, 'generator' ) ); |
|
105 | - } |
|
106 | - |
|
107 | - do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
108 | - } |
|
109 | - |
|
110 | - public function register_fusion_element(){ |
|
111 | - |
|
112 | - $options = $this->options; |
|
113 | - |
|
114 | - if($this->base_id){ |
|
115 | - |
|
116 | - $params = $this->get_fusion_params(); |
|
117 | - |
|
118 | - $args = array( |
|
119 | - 'name' => $options['name'], |
|
120 | - 'shortcode' => $this->base_id, |
|
121 | - 'icon' => $options['block-icon'] ? $options['block-icon'] : 'far fa-square', |
|
122 | - 'allow_generator' => true, |
|
123 | - ); |
|
124 | - |
|
125 | - if(!empty($params)){ |
|
126 | - $args['params'] = $params; |
|
127 | - } |
|
128 | - |
|
129 | - fusion_builder_map($args); |
|
130 | - } |
|
131 | - |
|
132 | - } |
|
133 | - |
|
134 | - public function get_fusion_params(){ |
|
135 | - $params = array(); |
|
136 | - $arguments = $this->get_arguments(); |
|
137 | - |
|
138 | - if(!empty($arguments)){ |
|
139 | - foreach($arguments as $key => $val){ |
|
140 | - $param = array(); |
|
141 | - // type |
|
142 | - $param['type'] = str_replace( |
|
143 | - array( |
|
144 | - "text", |
|
145 | - "number", |
|
146 | - "email", |
|
147 | - "color", |
|
148 | - "checkbox" |
|
149 | - ), |
|
150 | - array( |
|
151 | - "textfield", |
|
152 | - "textfield", |
|
153 | - "textfield", |
|
154 | - "colorpicker", |
|
155 | - "select", |
|
156 | - |
|
157 | - ), |
|
158 | - $val['type']); |
|
159 | - |
|
160 | - // heading |
|
161 | - $param['heading'] = $val['title']; |
|
162 | - |
|
163 | - // description |
|
164 | - $param['description'] = isset($val['desc']) ? $val['desc'] : ''; |
|
165 | - |
|
166 | - // param_name |
|
167 | - $param['param_name'] = $key; |
|
168 | - |
|
169 | - // Default |
|
170 | - $param['default'] = isset($val['default']) ? $val['default'] : ''; |
|
171 | - |
|
172 | - // Group |
|
173 | - if(isset($val['group'])){ |
|
174 | - $param['group'] = $val['group']; |
|
175 | - } |
|
176 | - |
|
177 | - // value |
|
178 | - if($val['type'] == 'checkbox'){ |
|
179 | - if(isset($val['default']) && $val['default'] == '0'){ |
|
180 | - unset($param['default']); |
|
181 | - } |
|
182 | - $param['value'] = array(''=>__("No"),'1'=>__("Yes")); |
|
183 | - }elseif($param['type'] == 'select'){ |
|
184 | - $param['value'] = isset($val['options']) ? $val['options'] : array(); |
|
185 | - }else{ |
|
186 | - $param['value'] = isset($val['default']) ? $val['default'] : ''; |
|
187 | - } |
|
188 | - |
|
189 | - // setup the param |
|
190 | - $params[] = $param; |
|
191 | - |
|
192 | - } |
|
193 | - } |
|
194 | - |
|
195 | - |
|
196 | - return $params; |
|
197 | - } |
|
198 | - |
|
199 | - /** |
|
200 | - * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
|
201 | - */ |
|
202 | - public static function maybe_cornerstone_builder(){ |
|
203 | - if(did_action('cornerstone_before_boot_app')){ |
|
204 | - self::shortcode_insert_button_script(); |
|
205 | - } |
|
206 | - } |
|
207 | - |
|
208 | - /** |
|
209 | - * A function to ge the shortcode builder picker html. |
|
210 | - * |
|
211 | - * @param string $editor_id |
|
212 | - * |
|
213 | - * @return string |
|
214 | - */ |
|
215 | - public static function get_picker( $editor_id = '' ) { |
|
216 | - |
|
217 | - ob_start(); |
|
218 | - if ( isset( $_POST['editor_id'] ) ) { |
|
219 | - $editor_id = esc_attr( $_POST['editor_id'] ); |
|
220 | - } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
221 | - $editor_id = 'main_content_content_vb_tiny_mce'; |
|
222 | - } |
|
223 | - |
|
224 | - global $sd_widgets; |
|
225 | - ?> |
|
9 | + /** |
|
10 | + * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress. |
|
11 | + * |
|
12 | + * Should not be called direct but extended instead. |
|
13 | + * |
|
14 | + * Class WP_Super_Duper |
|
15 | + * @since 1.0.16 change log moved to file change-log.txt - CHANGED |
|
16 | + * @ver 1.0.16 |
|
17 | + */ |
|
18 | + class WP_Super_Duper extends WP_Widget { |
|
19 | + |
|
20 | + public $version = "1.0.16"; |
|
21 | + public $font_awesome_icon_version = "5.11.2"; |
|
22 | + public $block_code; |
|
23 | + public $options; |
|
24 | + public $base_id; |
|
25 | + public $arguments = array(); |
|
26 | + public $instance = array(); |
|
27 | + private $class_name; |
|
28 | + |
|
29 | + /** |
|
30 | + * The relative url to the current folder. |
|
31 | + * |
|
32 | + * @var string |
|
33 | + */ |
|
34 | + public $url = ''; |
|
35 | + |
|
36 | + /** |
|
37 | + * Take the array options and use them to build. |
|
38 | + */ |
|
39 | + public function __construct( $options ) { |
|
40 | + global $sd_widgets; |
|
41 | + |
|
42 | + $sd_widgets[ $options['base_id'] ] = array( |
|
43 | + 'name' => $options['name'], |
|
44 | + 'class_name' => $options['class_name'] |
|
45 | + ); |
|
46 | + $this->base_id = $options['base_id']; |
|
47 | + // lets filter the options before we do anything |
|
48 | + $options = apply_filters( "wp_super_duper_options", $options ); |
|
49 | + $options = apply_filters( "wp_super_duper_options_{$this->base_id}", $options ); |
|
50 | + $options = $this->add_name_from_key( $options ); |
|
51 | + $this->options = $options; |
|
52 | + |
|
53 | + $this->base_id = $options['base_id']; |
|
54 | + $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array(); |
|
55 | + |
|
56 | + // init parent |
|
57 | + parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] ); |
|
58 | + |
|
59 | + if ( isset( $options['class_name'] ) ) { |
|
60 | + // register widget |
|
61 | + $this->class_name = $options['class_name']; |
|
62 | + |
|
63 | + // register shortcode |
|
64 | + $this->register_shortcode(); |
|
65 | + |
|
66 | + // Fusion Builder (avada) support |
|
67 | + if( function_exists('fusion_builder_map') ){ $this->register_fusion_element(); } |
|
68 | + |
|
69 | + // register block |
|
70 | + add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) ); |
|
71 | + } |
|
72 | + |
|
73 | + // add the CSS and JS we need ONCE |
|
74 | + global $sd_widget_scripts; |
|
75 | + |
|
76 | + if ( ! $sd_widget_scripts ) { |
|
77 | + wp_add_inline_script( 'admin-widgets', $this->widget_js() ); |
|
78 | + wp_add_inline_script( 'customize-controls', $this->widget_js() ); |
|
79 | + wp_add_inline_style( 'widgets', $this->widget_css() ); |
|
80 | + |
|
81 | + $sd_widget_scripts = true; |
|
82 | + |
|
83 | + // add shortcode insert button once |
|
84 | + add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) ); |
|
85 | + // generatepress theme sections compatibility |
|
86 | + if ( function_exists( 'generate_sections_sections_metabox' ) ) { |
|
87 | + add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) ); |
|
88 | + } |
|
89 | + if ( $this->is_preview() ) { |
|
90 | + add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) ); |
|
91 | + // this makes the insert button work for elementor |
|
92 | + add_action( 'elementor/editor/after_enqueue_scripts', array( |
|
93 | + $this, |
|
94 | + 'shortcode_insert_button_script' |
|
95 | + ) ); // for elementor |
|
96 | + } |
|
97 | + // this makes the insert button work for cornerstone |
|
98 | + add_action('wp_print_footer_scripts',array( __CLASS__, 'maybe_cornerstone_builder' )); |
|
99 | + |
|
100 | + add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) ); |
|
101 | + add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) ); |
|
102 | + |
|
103 | + // add generator text to admin head |
|
104 | + add_action( 'admin_head', array( $this, 'generator' ) ); |
|
105 | + } |
|
106 | + |
|
107 | + do_action( 'wp_super_duper_widget_init', $options, $this ); |
|
108 | + } |
|
109 | + |
|
110 | + public function register_fusion_element(){ |
|
111 | + |
|
112 | + $options = $this->options; |
|
113 | + |
|
114 | + if($this->base_id){ |
|
115 | + |
|
116 | + $params = $this->get_fusion_params(); |
|
117 | + |
|
118 | + $args = array( |
|
119 | + 'name' => $options['name'], |
|
120 | + 'shortcode' => $this->base_id, |
|
121 | + 'icon' => $options['block-icon'] ? $options['block-icon'] : 'far fa-square', |
|
122 | + 'allow_generator' => true, |
|
123 | + ); |
|
124 | + |
|
125 | + if(!empty($params)){ |
|
126 | + $args['params'] = $params; |
|
127 | + } |
|
128 | + |
|
129 | + fusion_builder_map($args); |
|
130 | + } |
|
131 | + |
|
132 | + } |
|
133 | + |
|
134 | + public function get_fusion_params(){ |
|
135 | + $params = array(); |
|
136 | + $arguments = $this->get_arguments(); |
|
137 | + |
|
138 | + if(!empty($arguments)){ |
|
139 | + foreach($arguments as $key => $val){ |
|
140 | + $param = array(); |
|
141 | + // type |
|
142 | + $param['type'] = str_replace( |
|
143 | + array( |
|
144 | + "text", |
|
145 | + "number", |
|
146 | + "email", |
|
147 | + "color", |
|
148 | + "checkbox" |
|
149 | + ), |
|
150 | + array( |
|
151 | + "textfield", |
|
152 | + "textfield", |
|
153 | + "textfield", |
|
154 | + "colorpicker", |
|
155 | + "select", |
|
156 | + |
|
157 | + ), |
|
158 | + $val['type']); |
|
159 | + |
|
160 | + // heading |
|
161 | + $param['heading'] = $val['title']; |
|
162 | + |
|
163 | + // description |
|
164 | + $param['description'] = isset($val['desc']) ? $val['desc'] : ''; |
|
165 | + |
|
166 | + // param_name |
|
167 | + $param['param_name'] = $key; |
|
168 | + |
|
169 | + // Default |
|
170 | + $param['default'] = isset($val['default']) ? $val['default'] : ''; |
|
171 | + |
|
172 | + // Group |
|
173 | + if(isset($val['group'])){ |
|
174 | + $param['group'] = $val['group']; |
|
175 | + } |
|
176 | + |
|
177 | + // value |
|
178 | + if($val['type'] == 'checkbox'){ |
|
179 | + if(isset($val['default']) && $val['default'] == '0'){ |
|
180 | + unset($param['default']); |
|
181 | + } |
|
182 | + $param['value'] = array(''=>__("No"),'1'=>__("Yes")); |
|
183 | + }elseif($param['type'] == 'select'){ |
|
184 | + $param['value'] = isset($val['options']) ? $val['options'] : array(); |
|
185 | + }else{ |
|
186 | + $param['value'] = isset($val['default']) ? $val['default'] : ''; |
|
187 | + } |
|
188 | + |
|
189 | + // setup the param |
|
190 | + $params[] = $param; |
|
191 | + |
|
192 | + } |
|
193 | + } |
|
194 | + |
|
195 | + |
|
196 | + return $params; |
|
197 | + } |
|
198 | + |
|
199 | + /** |
|
200 | + * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder |
|
201 | + */ |
|
202 | + public static function maybe_cornerstone_builder(){ |
|
203 | + if(did_action('cornerstone_before_boot_app')){ |
|
204 | + self::shortcode_insert_button_script(); |
|
205 | + } |
|
206 | + } |
|
207 | + |
|
208 | + /** |
|
209 | + * A function to ge the shortcode builder picker html. |
|
210 | + * |
|
211 | + * @param string $editor_id |
|
212 | + * |
|
213 | + * @return string |
|
214 | + */ |
|
215 | + public static function get_picker( $editor_id = '' ) { |
|
216 | + |
|
217 | + ob_start(); |
|
218 | + if ( isset( $_POST['editor_id'] ) ) { |
|
219 | + $editor_id = esc_attr( $_POST['editor_id'] ); |
|
220 | + } elseif ( isset( $_REQUEST['et_fb'] ) ) { |
|
221 | + $editor_id = 'main_content_content_vb_tiny_mce'; |
|
222 | + } |
|
223 | + |
|
224 | + global $sd_widgets; |
|
225 | + ?> |
|
226 | 226 | |
227 | 227 | <div class="sd-shortcode-left-wrap"> |
228 | 228 | <?php |
229 | - ksort( $sd_widgets ); |
|
230 | - // print_r($sd_widgets);exit; |
|
231 | - if ( ! empty( $sd_widgets ) ) { |
|
232 | - echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
|
233 | - echo "<option>" . __( 'Select shortcode' ) . "</option>"; |
|
234 | - foreach ( $sd_widgets as $shortcode => $class ) { |
|
235 | - echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
236 | - } |
|
237 | - echo "</select>"; |
|
238 | - |
|
239 | - } |
|
240 | - ?> |
|
229 | + ksort( $sd_widgets ); |
|
230 | + // print_r($sd_widgets);exit; |
|
231 | + if ( ! empty( $sd_widgets ) ) { |
|
232 | + echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">'; |
|
233 | + echo "<option>" . __( 'Select shortcode' ) . "</option>"; |
|
234 | + foreach ( $sd_widgets as $shortcode => $class ) { |
|
235 | + echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>"; |
|
236 | + } |
|
237 | + echo "</select>"; |
|
238 | + |
|
239 | + } |
|
240 | + ?> |
|
241 | 241 | <div class="sd-shortcode-settings"></div> |
242 | 242 | |
243 | 243 | </div> |
@@ -248,8 +248,8 @@ discard block |
||
248 | 248 | <?php if ( $editor_id != '' ) { ?> |
249 | 249 | <button class="button sd-insert-shortcode-button" |
250 | 250 | onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) { |
251 | - echo "'" . $editor_id . "'"; |
|
252 | - } ?>)"><?php _e( 'Insert shortcode' ); ?></button> |
|
251 | + echo "'" . $editor_id . "'"; |
|
252 | + } ?>)"><?php _e( 'Insert shortcode' ); ?></button> |
|
253 | 253 | <?php } ?> |
254 | 254 | <button class="button" |
255 | 255 | onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button> |
@@ -257,134 +257,134 @@ discard block |
||
257 | 257 | </div> |
258 | 258 | <?php |
259 | 259 | |
260 | - $html = ob_get_clean(); |
|
261 | - |
|
262 | - if ( wp_doing_ajax() ) { |
|
263 | - echo $html; |
|
264 | - $should_die = true; |
|
265 | - |
|
266 | - // some builder get the editor via ajax so we should not die on those ocasions |
|
267 | - $dont_die = array( |
|
268 | - 'parent_tag',// WP Bakery |
|
269 | - 'avia_request' // enfold |
|
270 | - ); |
|
271 | - |
|
272 | - foreach ( $dont_die as $request ) { |
|
273 | - if ( isset( $_REQUEST[ $request ] ) ) { |
|
274 | - $should_die = false; |
|
275 | - } |
|
276 | - } |
|
277 | - |
|
278 | - if ( $should_die ) { |
|
279 | - wp_die(); |
|
280 | - } |
|
281 | - |
|
282 | - } else { |
|
283 | - return $html; |
|
284 | - } |
|
285 | - |
|
286 | - return ''; |
|
287 | - |
|
288 | - } |
|
289 | - |
|
290 | - /** |
|
291 | - * Output the version in the admin header. |
|
292 | - */ |
|
293 | - public function generator() { |
|
294 | - echo '<meta name="generator" content="WP Super Duper v' . $this->version . '" />'; |
|
295 | - } |
|
296 | - |
|
297 | - /** |
|
298 | - * Get widget settings. |
|
299 | - * |
|
300 | - * @since 1.0.0 |
|
301 | - */ |
|
302 | - public static function get_widget_settings() { |
|
303 | - global $sd_widgets; |
|
304 | - |
|
305 | - $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
306 | - if ( ! $shortcode ) { |
|
307 | - wp_die(); |
|
308 | - } |
|
309 | - $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
310 | - if ( ! $widget_args ) { |
|
311 | - wp_die(); |
|
312 | - } |
|
313 | - $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
314 | - if ( ! $class_name ) { |
|
315 | - wp_die(); |
|
316 | - } |
|
317 | - |
|
318 | - // invoke an instance method |
|
319 | - $widget = new $class_name; |
|
320 | - |
|
321 | - ob_start(); |
|
322 | - $widget->form( array() ); |
|
323 | - $form = ob_get_clean(); |
|
324 | - echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
|
325 | - echo "<style>" . $widget->widget_css() . "</style>"; |
|
326 | - echo "<script>" . $widget->widget_js() . "</script>"; |
|
327 | - ?> |
|
260 | + $html = ob_get_clean(); |
|
261 | + |
|
262 | + if ( wp_doing_ajax() ) { |
|
263 | + echo $html; |
|
264 | + $should_die = true; |
|
265 | + |
|
266 | + // some builder get the editor via ajax so we should not die on those ocasions |
|
267 | + $dont_die = array( |
|
268 | + 'parent_tag',// WP Bakery |
|
269 | + 'avia_request' // enfold |
|
270 | + ); |
|
271 | + |
|
272 | + foreach ( $dont_die as $request ) { |
|
273 | + if ( isset( $_REQUEST[ $request ] ) ) { |
|
274 | + $should_die = false; |
|
275 | + } |
|
276 | + } |
|
277 | + |
|
278 | + if ( $should_die ) { |
|
279 | + wp_die(); |
|
280 | + } |
|
281 | + |
|
282 | + } else { |
|
283 | + return $html; |
|
284 | + } |
|
285 | + |
|
286 | + return ''; |
|
287 | + |
|
288 | + } |
|
289 | + |
|
290 | + /** |
|
291 | + * Output the version in the admin header. |
|
292 | + */ |
|
293 | + public function generator() { |
|
294 | + echo '<meta name="generator" content="WP Super Duper v' . $this->version . '" />'; |
|
295 | + } |
|
296 | + |
|
297 | + /** |
|
298 | + * Get widget settings. |
|
299 | + * |
|
300 | + * @since 1.0.0 |
|
301 | + */ |
|
302 | + public static function get_widget_settings() { |
|
303 | + global $sd_widgets; |
|
304 | + |
|
305 | + $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : ''; |
|
306 | + if ( ! $shortcode ) { |
|
307 | + wp_die(); |
|
308 | + } |
|
309 | + $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : ''; |
|
310 | + if ( ! $widget_args ) { |
|
311 | + wp_die(); |
|
312 | + } |
|
313 | + $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : ''; |
|
314 | + if ( ! $class_name ) { |
|
315 | + wp_die(); |
|
316 | + } |
|
317 | + |
|
318 | + // invoke an instance method |
|
319 | + $widget = new $class_name; |
|
320 | + |
|
321 | + ob_start(); |
|
322 | + $widget->form( array() ); |
|
323 | + $form = ob_get_clean(); |
|
324 | + echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>"; |
|
325 | + echo "<style>" . $widget->widget_css() . "</style>"; |
|
326 | + echo "<script>" . $widget->widget_js() . "</script>"; |
|
327 | + ?> |
|
328 | 328 | <?php |
329 | - wp_die(); |
|
330 | - } |
|
331 | - |
|
332 | - /** |
|
333 | - * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed). |
|
334 | - * |
|
335 | - * @since 1.0.0 |
|
336 | - * |
|
337 | - * @param string $editor_id Optional. Shortcode editor id. Default null. |
|
338 | - * @param string $insert_shortcode_function Optional. Insert shotcode function. Default null. |
|
339 | - */ |
|
340 | - public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
341 | - global $sd_widgets, $shortcode_insert_button_once; |
|
342 | - if ( $shortcode_insert_button_once ) { |
|
343 | - return; |
|
344 | - } |
|
345 | - add_thickbox(); |
|
346 | - |
|
347 | - |
|
348 | - /** |
|
349 | - * Cornerstone makes us play dirty tricks :/ |
|
350 | - * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
|
351 | - */ |
|
352 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
353 | - echo '<span id="insert-media-button">'; |
|
354 | - } |
|
355 | - |
|
356 | - echo self::shortcode_button( 'this', 'true' ); |
|
357 | - |
|
358 | - // see opening note |
|
359 | - if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
360 | - echo '</span>'; // end #insert-media-button |
|
361 | - } |
|
362 | - |
|
363 | - // Add separate script for generatepress theme sections |
|
364 | - if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
365 | - } else { |
|
366 | - self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
367 | - } |
|
368 | - |
|
369 | - $shortcode_insert_button_once = true; |
|
370 | - } |
|
371 | - |
|
372 | - /** |
|
373 | - * Gets the shortcode insert button html. |
|
374 | - * |
|
375 | - * @param string $id |
|
376 | - * @param string $search_for_id |
|
377 | - * |
|
378 | - * @return mixed |
|
379 | - */ |
|
380 | - public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
381 | - ob_start(); |
|
382 | - ?> |
|
329 | + wp_die(); |
|
330 | + } |
|
331 | + |
|
332 | + /** |
|
333 | + * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed). |
|
334 | + * |
|
335 | + * @since 1.0.0 |
|
336 | + * |
|
337 | + * @param string $editor_id Optional. Shortcode editor id. Default null. |
|
338 | + * @param string $insert_shortcode_function Optional. Insert shotcode function. Default null. |
|
339 | + */ |
|
340 | + public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) { |
|
341 | + global $sd_widgets, $shortcode_insert_button_once; |
|
342 | + if ( $shortcode_insert_button_once ) { |
|
343 | + return; |
|
344 | + } |
|
345 | + add_thickbox(); |
|
346 | + |
|
347 | + |
|
348 | + /** |
|
349 | + * Cornerstone makes us play dirty tricks :/ |
|
350 | + * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed. |
|
351 | + */ |
|
352 | + if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
353 | + echo '<span id="insert-media-button">'; |
|
354 | + } |
|
355 | + |
|
356 | + echo self::shortcode_button( 'this', 'true' ); |
|
357 | + |
|
358 | + // see opening note |
|
359 | + if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) { |
|
360 | + echo '</span>'; // end #insert-media-button |
|
361 | + } |
|
362 | + |
|
363 | + // Add separate script for generatepress theme sections |
|
364 | + if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) { |
|
365 | + } else { |
|
366 | + self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function ); |
|
367 | + } |
|
368 | + |
|
369 | + $shortcode_insert_button_once = true; |
|
370 | + } |
|
371 | + |
|
372 | + /** |
|
373 | + * Gets the shortcode insert button html. |
|
374 | + * |
|
375 | + * @param string $id |
|
376 | + * @param string $search_for_id |
|
377 | + * |
|
378 | + * @return mixed |
|
379 | + */ |
|
380 | + public static function shortcode_button( $id = '', $search_for_id = '' ) { |
|
381 | + ob_start(); |
|
382 | + ?> |
|
383 | 383 | <span class="sd-lable-shortcode-inserter"> |
384 | 384 | <a onclick="sd_ajax_get_picker(<?php echo $id; |
385 | - if ( $search_for_id ) { |
|
386 | - echo "," . $search_for_id; |
|
387 | - } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
|
385 | + if ( $search_for_id ) { |
|
386 | + echo "," . $search_for_id; |
|
387 | + } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed" |
|
388 | 388 | class="thickbox button super-duper-content-open" title="Add Shortcode"> |
389 | 389 | <span style="vertical-align: middle;line-height: 18px;font-size: 20px;" |
390 | 390 | class="dashicons dashicons-screenoptions"></span> |
@@ -395,21 +395,21 @@ discard block |
||
395 | 395 | </span> |
396 | 396 | |
397 | 397 | <?php |
398 | - $html = ob_get_clean(); |
|
399 | - |
|
400 | - // remove line breaks so we can use it in js |
|
401 | - return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
402 | - } |
|
403 | - |
|
404 | - /** |
|
405 | - * Makes SD work with the siteOrigin page builder. |
|
406 | - * |
|
407 | - * @since 1.0.6 |
|
408 | - * @return mixed |
|
409 | - */ |
|
410 | - public static function siteorigin_js() { |
|
411 | - ob_start(); |
|
412 | - ?> |
|
398 | + $html = ob_get_clean(); |
|
399 | + |
|
400 | + // remove line breaks so we can use it in js |
|
401 | + return preg_replace( "/\r|\n/", "", trim( $html ) ); |
|
402 | + } |
|
403 | + |
|
404 | + /** |
|
405 | + * Makes SD work with the siteOrigin page builder. |
|
406 | + * |
|
407 | + * @since 1.0.6 |
|
408 | + * @return mixed |
|
409 | + */ |
|
410 | + public static function siteorigin_js() { |
|
411 | + ob_start(); |
|
412 | + ?> |
|
413 | 413 | <script> |
414 | 414 | /** |
415 | 415 | * Check a form to see what items shoudl be shown or hidden. |
@@ -487,28 +487,28 @@ discard block |
||
487 | 487 | }); |
488 | 488 | </script> |
489 | 489 | <?php |
490 | - $output = ob_get_clean(); |
|
490 | + $output = ob_get_clean(); |
|
491 | 491 | |
492 | - /* |
|
492 | + /* |
|
493 | 493 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
494 | 494 | */ |
495 | 495 | |
496 | - return str_replace( array( |
|
497 | - '<script>', |
|
498 | - '</script>' |
|
499 | - ), '', $output ); |
|
500 | - } |
|
501 | - |
|
502 | - /** |
|
503 | - * Output the JS and CSS for the shortcode insert button. |
|
504 | - * |
|
505 | - * @since 1.0.6 |
|
506 | - * |
|
507 | - * @param string $editor_id |
|
508 | - * @param string $insert_shortcode_function |
|
509 | - */ |
|
510 | - public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
511 | - ?> |
|
496 | + return str_replace( array( |
|
497 | + '<script>', |
|
498 | + '</script>' |
|
499 | + ), '', $output ); |
|
500 | + } |
|
501 | + |
|
502 | + /** |
|
503 | + * Output the JS and CSS for the shortcode insert button. |
|
504 | + * |
|
505 | + * @since 1.0.6 |
|
506 | + * |
|
507 | + * @param string $editor_id |
|
508 | + * @param string $insert_shortcode_function |
|
509 | + */ |
|
510 | + public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) { |
|
511 | + ?> |
|
512 | 512 | <style> |
513 | 513 | .sd-shortcode-left-wrap { |
514 | 514 | float: left; |
@@ -632,35 +632,35 @@ discard block |
||
632 | 632 | <?php } ?> |
633 | 633 | </style> |
634 | 634 | <?php |
635 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
636 | - echo "<script>" . self::siteorigin_js() . "</script>"; |
|
637 | - } |
|
638 | - ?> |
|
635 | + if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
636 | + echo "<script>" . self::siteorigin_js() . "</script>"; |
|
637 | + } |
|
638 | + ?> |
|
639 | 639 | <script> |
640 | 640 | <?php |
641 | - if(! empty( $insert_shortcode_function )){ |
|
642 | - echo $insert_shortcode_function; |
|
643 | - }else{ |
|
644 | - |
|
645 | - /** |
|
646 | - * Function for super duper insert shortcode. |
|
647 | - * |
|
648 | - * @since 1.0.0 |
|
649 | - */ |
|
650 | - ?> |
|
641 | + if(! empty( $insert_shortcode_function )){ |
|
642 | + echo $insert_shortcode_function; |
|
643 | + }else{ |
|
644 | + |
|
645 | + /** |
|
646 | + * Function for super duper insert shortcode. |
|
647 | + * |
|
648 | + * @since 1.0.0 |
|
649 | + */ |
|
650 | + ?> |
|
651 | 651 | function sd_insert_shortcode($editor_id) { |
652 | 652 | $shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val(); |
653 | 653 | if ($shortcode) { |
654 | 654 | if (!$editor_id) { |
655 | 655 | <?php |
656 | - if ( isset( $_REQUEST['et_fb'] ) ) { |
|
657 | - echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
|
658 | - } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
659 | - echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
|
660 | - } else { |
|
661 | - echo '$editor_id = "#wp-content-editor-container textarea";'; |
|
662 | - } |
|
663 | - ?> |
|
656 | + if ( isset( $_REQUEST['et_fb'] ) ) { |
|
657 | + echo '$editor_id = "#main_content_content_vb_tiny_mce";'; |
|
658 | + } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) { |
|
659 | + echo '$editor_id = "#elementor-controls .wp-editor-container textarea";'; |
|
660 | + } else { |
|
661 | + echo '$editor_id = "#wp-content-editor-container textarea";'; |
|
662 | + } |
|
663 | + ?> |
|
664 | 664 | } else { |
665 | 665 | $editor_id = '#' + $editor_id; |
666 | 666 | } |
@@ -986,16 +986,16 @@ discard block |
||
986 | 986 | |
987 | 987 | </script> |
988 | 988 | <?php |
989 | - } |
|
990 | - |
|
991 | - /** |
|
992 | - * Gets some CSS for the widgets screen. |
|
993 | - * |
|
994 | - * @return mixed |
|
995 | - */ |
|
996 | - public function widget_css() { |
|
997 | - ob_start(); |
|
998 | - ?> |
|
989 | + } |
|
990 | + |
|
991 | + /** |
|
992 | + * Gets some CSS for the widgets screen. |
|
993 | + * |
|
994 | + * @return mixed |
|
995 | + */ |
|
996 | + public function widget_css() { |
|
997 | + ob_start(); |
|
998 | + ?> |
|
999 | 999 | <style> |
1000 | 1000 | .sd-advanced-setting { |
1001 | 1001 | display: none; |
@@ -1030,26 +1030,26 @@ discard block |
||
1030 | 1030 | } |
1031 | 1031 | </style> |
1032 | 1032 | <?php |
1033 | - $output = ob_get_clean(); |
|
1033 | + $output = ob_get_clean(); |
|
1034 | 1034 | |
1035 | - /* |
|
1035 | + /* |
|
1036 | 1036 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
1037 | 1037 | */ |
1038 | 1038 | |
1039 | - return str_replace( array( |
|
1040 | - '<style>', |
|
1041 | - '</style>' |
|
1042 | - ), '', $output ); |
|
1043 | - } |
|
1044 | - |
|
1045 | - /** |
|
1046 | - * Gets some JS for the widgets screen. |
|
1047 | - * |
|
1048 | - * @return mixed |
|
1049 | - */ |
|
1050 | - public function widget_js() { |
|
1051 | - ob_start(); |
|
1052 | - ?> |
|
1039 | + return str_replace( array( |
|
1040 | + '<style>', |
|
1041 | + '</style>' |
|
1042 | + ), '', $output ); |
|
1043 | + } |
|
1044 | + |
|
1045 | + /** |
|
1046 | + * Gets some JS for the widgets screen. |
|
1047 | + * |
|
1048 | + * @return mixed |
|
1049 | + */ |
|
1050 | + public function widget_js() { |
|
1051 | + ob_start(); |
|
1052 | + ?> |
|
1053 | 1053 | <script> |
1054 | 1054 | |
1055 | 1055 | /** |
@@ -1204,397 +1204,397 @@ discard block |
||
1204 | 1204 | <?php do_action( 'wp_super_duper_widget_js', $this ); ?> |
1205 | 1205 | </script> |
1206 | 1206 | <?php |
1207 | - $output = ob_get_clean(); |
|
1207 | + $output = ob_get_clean(); |
|
1208 | 1208 | |
1209 | - /* |
|
1209 | + /* |
|
1210 | 1210 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
1211 | 1211 | */ |
1212 | 1212 | |
1213 | - return str_replace( array( |
|
1214 | - '<script>', |
|
1215 | - '</script>' |
|
1216 | - ), '', $output ); |
|
1217 | - } |
|
1218 | - |
|
1219 | - |
|
1220 | - /** |
|
1221 | - * Set the name from the argument key. |
|
1222 | - * |
|
1223 | - * @param $options |
|
1224 | - * |
|
1225 | - * @return mixed |
|
1226 | - */ |
|
1227 | - private function add_name_from_key( $options, $arguments = false ) { |
|
1228 | - if ( ! empty( $options['arguments'] ) ) { |
|
1229 | - foreach ( $options['arguments'] as $key => $val ) { |
|
1230 | - $options['arguments'][ $key ]['name'] = $key; |
|
1231 | - } |
|
1232 | - } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
1233 | - foreach ( $options as $key => $val ) { |
|
1234 | - $options[ $key ]['name'] = $key; |
|
1235 | - } |
|
1236 | - } |
|
1237 | - |
|
1238 | - return $options; |
|
1239 | - } |
|
1240 | - |
|
1241 | - /** |
|
1242 | - * Register the parent shortcode. |
|
1243 | - * |
|
1244 | - * @since 1.0.0 |
|
1245 | - */ |
|
1246 | - public function register_shortcode() { |
|
1247 | - add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
1248 | - add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) ); |
|
1249 | - } |
|
1250 | - |
|
1251 | - /** |
|
1252 | - * Render the shortcode via ajax so we can return it to Gutenberg. |
|
1253 | - * |
|
1254 | - * @since 1.0.0 |
|
1255 | - */ |
|
1256 | - public static function render_shortcode() { |
|
1257 | - |
|
1258 | - check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
1259 | - if ( ! current_user_can( 'manage_options' ) ) { |
|
1260 | - wp_die(); |
|
1261 | - } |
|
1262 | - |
|
1263 | - // we might need the $post value here so lets set it. |
|
1264 | - if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
1265 | - $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
1266 | - if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
1267 | - global $post; |
|
1268 | - $post = $post_obj; |
|
1269 | - } |
|
1270 | - } |
|
1271 | - |
|
1272 | - if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
1273 | - $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
1274 | - $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
1275 | - $attributes = ''; |
|
1276 | - if ( ! empty( $attributes_array ) ) { |
|
1277 | - foreach ( $attributes_array as $key => $value ) { |
|
1278 | - $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' "; |
|
1279 | - } |
|
1280 | - } |
|
1281 | - |
|
1282 | - $shortcode = "[" . $shortcode_name . " " . $attributes . "]"; |
|
1283 | - |
|
1284 | - echo do_shortcode( $shortcode ); |
|
1285 | - |
|
1286 | - } |
|
1287 | - wp_die(); |
|
1288 | - } |
|
1289 | - |
|
1290 | - /** |
|
1291 | - * Output the shortcode. |
|
1292 | - * |
|
1293 | - * @param array $args |
|
1294 | - * @param string $content |
|
1295 | - * |
|
1296 | - * @return string |
|
1297 | - */ |
|
1298 | - public function shortcode_output( $args = array(), $content = '' ) { |
|
1299 | - $args = self::argument_values( $args ); |
|
1300 | - |
|
1301 | - // add extra argument so we know its a output to gutenberg |
|
1302 | - //$args |
|
1303 | - $args = $this->string_to_bool( $args ); |
|
1304 | - |
|
1305 | - // if we have a enclosed shortcode we add it to the special `html` argument |
|
1306 | - if(!empty($content)){ |
|
1307 | - $args['html'] = $content; |
|
1308 | - } |
|
1309 | - |
|
1310 | - $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
1311 | - |
|
1312 | - $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
1313 | - $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
1314 | - |
|
1315 | - $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
1316 | - $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran? |
|
1317 | - |
|
1318 | - $shortcode_args = array(); |
|
1319 | - $output = ''; |
|
1320 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
1321 | - if( isset( $args['no_wrap'] ) && $args['no_wrap'] ){ $no_wrap = true; } |
|
1322 | - $main_content = $this->output( $args, $shortcode_args, $content ); |
|
1323 | - if ( $main_content && ! $no_wrap ) { |
|
1324 | - // wrap the shortcode in a div with the same class as the widget |
|
1325 | - $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
|
1326 | - if ( ! empty( $args['title'] ) ) { |
|
1327 | - // if its a shortcode and there is a title try to grab the title wrappers |
|
1328 | - $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
1329 | - if ( empty( $instance ) ) { |
|
1330 | - global $wp_registered_sidebars; |
|
1331 | - if ( ! empty( $wp_registered_sidebars ) ) { |
|
1332 | - foreach ( $wp_registered_sidebars as $sidebar ) { |
|
1333 | - if ( ! empty( $sidebar['before_title'] ) ) { |
|
1334 | - $shortcode_args['before_title'] = $sidebar['before_title']; |
|
1335 | - $shortcode_args['after_title'] = $sidebar['after_title']; |
|
1336 | - break; |
|
1337 | - } |
|
1338 | - } |
|
1339 | - } |
|
1340 | - } |
|
1341 | - $output .= $this->output_title( $shortcode_args, $args ); |
|
1342 | - } |
|
1343 | - $output .= $main_content; |
|
1344 | - $output .= '</div>'; |
|
1345 | - } elseif ( $main_content && $no_wrap ) { |
|
1346 | - $output .= $main_content; |
|
1347 | - } |
|
1348 | - |
|
1349 | - // if preview show a placeholder if empty |
|
1350 | - if ( $this->is_preview() && $output == '' ) { |
|
1351 | - $output = $this->preview_placeholder_text( "[{" . $this->base_id . "}]" ); |
|
1352 | - } |
|
1353 | - |
|
1354 | - return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
1355 | - } |
|
1356 | - |
|
1357 | - /** |
|
1358 | - * Placeholder text to show if output is empty and we are on a preview/builder page. |
|
1359 | - * |
|
1360 | - * @param string $name |
|
1361 | - * |
|
1362 | - * @return string |
|
1363 | - */ |
|
1364 | - public function preview_placeholder_text( $name = '' ) { |
|
1365 | - return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>"; |
|
1366 | - } |
|
1367 | - |
|
1368 | - /** |
|
1369 | - * Sometimes booleans values can be turned to strings, so we fix that. |
|
1370 | - * |
|
1371 | - * @param $options |
|
1372 | - * |
|
1373 | - * @return mixed |
|
1374 | - */ |
|
1375 | - public function string_to_bool( $options ) { |
|
1376 | - // convert bool strings to booleans |
|
1377 | - foreach ( $options as $key => $val ) { |
|
1378 | - if ( $val == 'false' ) { |
|
1379 | - $options[ $key ] = false; |
|
1380 | - } elseif ( $val == 'true' ) { |
|
1381 | - $options[ $key ] = true; |
|
1382 | - } |
|
1383 | - } |
|
1384 | - |
|
1385 | - return $options; |
|
1386 | - } |
|
1387 | - |
|
1388 | - /** |
|
1389 | - * Get the argument values that are also filterable. |
|
1390 | - * |
|
1391 | - * @param $instance |
|
1392 | - * |
|
1393 | - * @since 1.0.12 Don't set checkbox default value if the value is empty. |
|
1394 | - * |
|
1395 | - * @return array |
|
1396 | - */ |
|
1397 | - public function argument_values( $instance ) { |
|
1398 | - $argument_values = array(); |
|
1399 | - |
|
1400 | - // set widget instance |
|
1401 | - $this->instance = $instance; |
|
1402 | - |
|
1403 | - if ( empty( $this->arguments ) ) { |
|
1404 | - $this->arguments = $this->get_arguments(); |
|
1405 | - } |
|
1406 | - |
|
1407 | - if ( ! empty( $this->arguments ) ) { |
|
1408 | - foreach ( $this->arguments as $key => $args ) { |
|
1409 | - // set the input name from the key |
|
1410 | - $args['name'] = $key; |
|
1411 | - // |
|
1412 | - $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
1413 | - if($args['type']=='checkbox' && $argument_values[ $key ] == ''){ |
|
1414 | - // don't set default for an empty checkbox |
|
1415 | - } |
|
1416 | - elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
1417 | - $argument_values[ $key ] = $args['default']; |
|
1418 | - } |
|
1419 | - } |
|
1420 | - } |
|
1421 | - |
|
1422 | - return $argument_values; |
|
1423 | - } |
|
1424 | - |
|
1425 | - /** |
|
1426 | - * Set arguments in super duper. |
|
1427 | - * |
|
1428 | - * @since 1.0.0 |
|
1429 | - * |
|
1430 | - * @return array Set arguments. |
|
1431 | - */ |
|
1432 | - public function set_arguments() { |
|
1433 | - return $this->arguments; |
|
1434 | - } |
|
1435 | - |
|
1436 | - /** |
|
1437 | - * Get arguments in super duper. |
|
1438 | - * |
|
1439 | - * @since 1.0.0 |
|
1440 | - * |
|
1441 | - * @return array Get arguments. |
|
1442 | - */ |
|
1443 | - public function get_arguments() { |
|
1444 | - if ( empty( $this->arguments ) ) { |
|
1445 | - $this->arguments = $this->set_arguments(); |
|
1446 | - } |
|
1447 | - |
|
1448 | - $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
1449 | - $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
1450 | - |
|
1451 | - return $this->arguments; |
|
1452 | - } |
|
1453 | - |
|
1454 | - /** |
|
1455 | - * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class. |
|
1456 | - * |
|
1457 | - * @param array $args |
|
1458 | - * @param array $widget_args |
|
1459 | - * @param string $content |
|
1460 | - */ |
|
1461 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
1462 | - |
|
1463 | - } |
|
1464 | - |
|
1465 | - /** |
|
1466 | - * Add the dynamic block code inline when the wp-block in enqueued. |
|
1467 | - */ |
|
1468 | - public function register_block() { |
|
1469 | - wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
1470 | - if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
1471 | - |
|
1472 | - wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
1473 | - |
|
1474 | - } |
|
1475 | - } |
|
1476 | - |
|
1477 | - /** |
|
1478 | - * Check if we need to show advanced options. |
|
1479 | - * |
|
1480 | - * @return bool |
|
1481 | - */ |
|
1482 | - public function block_show_advanced() { |
|
1483 | - |
|
1484 | - $show = false; |
|
1485 | - $arguments = $this->arguments; |
|
1486 | - |
|
1487 | - if ( empty( $arguments ) ) { |
|
1488 | - $arguments = $this->get_arguments(); |
|
1489 | - } |
|
1490 | - |
|
1491 | - if ( ! empty( $arguments ) ) { |
|
1492 | - foreach ( $arguments as $argument ) { |
|
1493 | - if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
1494 | - $show = true; |
|
1495 | - break; // no need to continue if we know we have it |
|
1496 | - } |
|
1497 | - } |
|
1498 | - } |
|
1499 | - |
|
1500 | - return $show; |
|
1501 | - } |
|
1502 | - |
|
1503 | - /** |
|
1504 | - * Get the url path to the current folder. |
|
1505 | - * |
|
1506 | - * @return string |
|
1507 | - */ |
|
1508 | - public function get_url() { |
|
1509 | - |
|
1510 | - $url = $this->url; |
|
1511 | - |
|
1512 | - if(!$url){ |
|
1513 | - // check if we are inside a plugin |
|
1514 | - $file_dir = str_replace("/includes","", dirname( __FILE__ )); |
|
1515 | - |
|
1516 | - $dir_parts = explode("/wp-content/",$file_dir); |
|
1517 | - $url_parts = explode("/wp-content/",plugins_url()); |
|
1518 | - |
|
1519 | - if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
1520 | - $url = trailingslashit( $url_parts[0]."/wp-content/".$dir_parts[1] ); |
|
1521 | - $this->url = $url; |
|
1522 | - } |
|
1523 | - } |
|
1524 | - |
|
1525 | - |
|
1526 | - return $url; |
|
1527 | - } |
|
1528 | - |
|
1529 | - /** |
|
1530 | - * Generate the block icon. |
|
1531 | - * |
|
1532 | - * Enables the use of Font Awesome icons. |
|
1533 | - * |
|
1534 | - * @note xlink:href is actually deprecated but href is not supported by all so we use both. |
|
1535 | - * @param $icon |
|
1536 | - * @since 1.1.0 |
|
1537 | - * @return string |
|
1538 | - */ |
|
1539 | - public function get_block_icon($icon){ |
|
1540 | - |
|
1541 | - // check if we have a Font Awesome icon |
|
1542 | - $fa_type = ''; |
|
1543 | - if(substr( $icon, 0, 7 ) === "fas fa-"){ |
|
1544 | - $fa_type = 'solid'; |
|
1545 | - }elseif(substr( $icon, 0, 7 ) === "far fa-"){ |
|
1546 | - $fa_type = 'regular'; |
|
1547 | - }elseif(substr( $icon, 0, 7 ) === "fab fa-"){ |
|
1548 | - $fa_type = 'brands'; |
|
1549 | - }else{ |
|
1550 | - $icon = "'".$icon."'"; |
|
1551 | - } |
|
1552 | - |
|
1553 | - // set the icon if we found one |
|
1554 | - if($fa_type){ |
|
1555 | - $fa_icon = str_replace(array("fas fa-","far fa-","fab fa-"),"",$icon); |
|
1556 | - $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '".$this->get_url()."icons/".$fa_type.".svg#".$fa_icon."','href': '".$this->get_url()."icons/".$fa_type.".svg#".$fa_icon."'}))"; |
|
1557 | - } |
|
1558 | - |
|
1559 | - return $icon; |
|
1560 | - } |
|
1561 | - |
|
1562 | - public function group_arguments($arguments){ |
|
1213 | + return str_replace( array( |
|
1214 | + '<script>', |
|
1215 | + '</script>' |
|
1216 | + ), '', $output ); |
|
1217 | + } |
|
1218 | + |
|
1219 | + |
|
1220 | + /** |
|
1221 | + * Set the name from the argument key. |
|
1222 | + * |
|
1223 | + * @param $options |
|
1224 | + * |
|
1225 | + * @return mixed |
|
1226 | + */ |
|
1227 | + private function add_name_from_key( $options, $arguments = false ) { |
|
1228 | + if ( ! empty( $options['arguments'] ) ) { |
|
1229 | + foreach ( $options['arguments'] as $key => $val ) { |
|
1230 | + $options['arguments'][ $key ]['name'] = $key; |
|
1231 | + } |
|
1232 | + } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) { |
|
1233 | + foreach ( $options as $key => $val ) { |
|
1234 | + $options[ $key ]['name'] = $key; |
|
1235 | + } |
|
1236 | + } |
|
1237 | + |
|
1238 | + return $options; |
|
1239 | + } |
|
1240 | + |
|
1241 | + /** |
|
1242 | + * Register the parent shortcode. |
|
1243 | + * |
|
1244 | + * @since 1.0.0 |
|
1245 | + */ |
|
1246 | + public function register_shortcode() { |
|
1247 | + add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) ); |
|
1248 | + add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) ); |
|
1249 | + } |
|
1250 | + |
|
1251 | + /** |
|
1252 | + * Render the shortcode via ajax so we can return it to Gutenberg. |
|
1253 | + * |
|
1254 | + * @since 1.0.0 |
|
1255 | + */ |
|
1256 | + public static function render_shortcode() { |
|
1257 | + |
|
1258 | + check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true ); |
|
1259 | + if ( ! current_user_can( 'manage_options' ) ) { |
|
1260 | + wp_die(); |
|
1261 | + } |
|
1262 | + |
|
1263 | + // we might need the $post value here so lets set it. |
|
1264 | + if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) { |
|
1265 | + $post_obj = get_post( absint( $_POST['post_id'] ) ); |
|
1266 | + if ( ! empty( $post_obj ) && empty( $post ) ) { |
|
1267 | + global $post; |
|
1268 | + $post = $post_obj; |
|
1269 | + } |
|
1270 | + } |
|
1271 | + |
|
1272 | + if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) { |
|
1273 | + $shortcode_name = sanitize_title_with_dashes( $_POST['shortcode'] ); |
|
1274 | + $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array(); |
|
1275 | + $attributes = ''; |
|
1276 | + if ( ! empty( $attributes_array ) ) { |
|
1277 | + foreach ( $attributes_array as $key => $value ) { |
|
1278 | + $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' "; |
|
1279 | + } |
|
1280 | + } |
|
1281 | + |
|
1282 | + $shortcode = "[" . $shortcode_name . " " . $attributes . "]"; |
|
1283 | + |
|
1284 | + echo do_shortcode( $shortcode ); |
|
1285 | + |
|
1286 | + } |
|
1287 | + wp_die(); |
|
1288 | + } |
|
1289 | + |
|
1290 | + /** |
|
1291 | + * Output the shortcode. |
|
1292 | + * |
|
1293 | + * @param array $args |
|
1294 | + * @param string $content |
|
1295 | + * |
|
1296 | + * @return string |
|
1297 | + */ |
|
1298 | + public function shortcode_output( $args = array(), $content = '' ) { |
|
1299 | + $args = self::argument_values( $args ); |
|
1300 | + |
|
1301 | + // add extra argument so we know its a output to gutenberg |
|
1302 | + //$args |
|
1303 | + $args = $this->string_to_bool( $args ); |
|
1304 | + |
|
1305 | + // if we have a enclosed shortcode we add it to the special `html` argument |
|
1306 | + if(!empty($content)){ |
|
1307 | + $args['html'] = $content; |
|
1308 | + } |
|
1309 | + |
|
1310 | + $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : ''; |
|
1311 | + |
|
1312 | + $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this ); |
|
1313 | + $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this ); |
|
1314 | + |
|
1315 | + $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this ); |
|
1316 | + $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this ); //@todo this does not seem right @kiran? |
|
1317 | + |
|
1318 | + $shortcode_args = array(); |
|
1319 | + $output = ''; |
|
1320 | + $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
1321 | + if( isset( $args['no_wrap'] ) && $args['no_wrap'] ){ $no_wrap = true; } |
|
1322 | + $main_content = $this->output( $args, $shortcode_args, $content ); |
|
1323 | + if ( $main_content && ! $no_wrap ) { |
|
1324 | + // wrap the shortcode in a div with the same class as the widget |
|
1325 | + $output .= '<div class="' . $class . '" ' . $attrs . '>'; |
|
1326 | + if ( ! empty( $args['title'] ) ) { |
|
1327 | + // if its a shortcode and there is a title try to grab the title wrappers |
|
1328 | + $shortcode_args = array( 'before_title' => '', 'after_title' => '' ); |
|
1329 | + if ( empty( $instance ) ) { |
|
1330 | + global $wp_registered_sidebars; |
|
1331 | + if ( ! empty( $wp_registered_sidebars ) ) { |
|
1332 | + foreach ( $wp_registered_sidebars as $sidebar ) { |
|
1333 | + if ( ! empty( $sidebar['before_title'] ) ) { |
|
1334 | + $shortcode_args['before_title'] = $sidebar['before_title']; |
|
1335 | + $shortcode_args['after_title'] = $sidebar['after_title']; |
|
1336 | + break; |
|
1337 | + } |
|
1338 | + } |
|
1339 | + } |
|
1340 | + } |
|
1341 | + $output .= $this->output_title( $shortcode_args, $args ); |
|
1342 | + } |
|
1343 | + $output .= $main_content; |
|
1344 | + $output .= '</div>'; |
|
1345 | + } elseif ( $main_content && $no_wrap ) { |
|
1346 | + $output .= $main_content; |
|
1347 | + } |
|
1348 | + |
|
1349 | + // if preview show a placeholder if empty |
|
1350 | + if ( $this->is_preview() && $output == '' ) { |
|
1351 | + $output = $this->preview_placeholder_text( "[{" . $this->base_id . "}]" ); |
|
1352 | + } |
|
1353 | + |
|
1354 | + return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this ); |
|
1355 | + } |
|
1356 | + |
|
1357 | + /** |
|
1358 | + * Placeholder text to show if output is empty and we are on a preview/builder page. |
|
1359 | + * |
|
1360 | + * @param string $name |
|
1361 | + * |
|
1362 | + * @return string |
|
1363 | + */ |
|
1364 | + public function preview_placeholder_text( $name = '' ) { |
|
1365 | + return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>"; |
|
1366 | + } |
|
1367 | + |
|
1368 | + /** |
|
1369 | + * Sometimes booleans values can be turned to strings, so we fix that. |
|
1370 | + * |
|
1371 | + * @param $options |
|
1372 | + * |
|
1373 | + * @return mixed |
|
1374 | + */ |
|
1375 | + public function string_to_bool( $options ) { |
|
1376 | + // convert bool strings to booleans |
|
1377 | + foreach ( $options as $key => $val ) { |
|
1378 | + if ( $val == 'false' ) { |
|
1379 | + $options[ $key ] = false; |
|
1380 | + } elseif ( $val == 'true' ) { |
|
1381 | + $options[ $key ] = true; |
|
1382 | + } |
|
1383 | + } |
|
1384 | + |
|
1385 | + return $options; |
|
1386 | + } |
|
1387 | + |
|
1388 | + /** |
|
1389 | + * Get the argument values that are also filterable. |
|
1390 | + * |
|
1391 | + * @param $instance |
|
1392 | + * |
|
1393 | + * @since 1.0.12 Don't set checkbox default value if the value is empty. |
|
1394 | + * |
|
1395 | + * @return array |
|
1396 | + */ |
|
1397 | + public function argument_values( $instance ) { |
|
1398 | + $argument_values = array(); |
|
1399 | + |
|
1400 | + // set widget instance |
|
1401 | + $this->instance = $instance; |
|
1402 | + |
|
1403 | + if ( empty( $this->arguments ) ) { |
|
1404 | + $this->arguments = $this->get_arguments(); |
|
1405 | + } |
|
1406 | + |
|
1407 | + if ( ! empty( $this->arguments ) ) { |
|
1408 | + foreach ( $this->arguments as $key => $args ) { |
|
1409 | + // set the input name from the key |
|
1410 | + $args['name'] = $key; |
|
1411 | + // |
|
1412 | + $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : ''; |
|
1413 | + if($args['type']=='checkbox' && $argument_values[ $key ] == ''){ |
|
1414 | + // don't set default for an empty checkbox |
|
1415 | + } |
|
1416 | + elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) { |
|
1417 | + $argument_values[ $key ] = $args['default']; |
|
1418 | + } |
|
1419 | + } |
|
1420 | + } |
|
1421 | + |
|
1422 | + return $argument_values; |
|
1423 | + } |
|
1424 | + |
|
1425 | + /** |
|
1426 | + * Set arguments in super duper. |
|
1427 | + * |
|
1428 | + * @since 1.0.0 |
|
1429 | + * |
|
1430 | + * @return array Set arguments. |
|
1431 | + */ |
|
1432 | + public function set_arguments() { |
|
1433 | + return $this->arguments; |
|
1434 | + } |
|
1435 | + |
|
1436 | + /** |
|
1437 | + * Get arguments in super duper. |
|
1438 | + * |
|
1439 | + * @since 1.0.0 |
|
1440 | + * |
|
1441 | + * @return array Get arguments. |
|
1442 | + */ |
|
1443 | + public function get_arguments() { |
|
1444 | + if ( empty( $this->arguments ) ) { |
|
1445 | + $this->arguments = $this->set_arguments(); |
|
1446 | + } |
|
1447 | + |
|
1448 | + $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance ); |
|
1449 | + $this->arguments = $this->add_name_from_key( $this->arguments, true ); |
|
1450 | + |
|
1451 | + return $this->arguments; |
|
1452 | + } |
|
1453 | + |
|
1454 | + /** |
|
1455 | + * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class. |
|
1456 | + * |
|
1457 | + * @param array $args |
|
1458 | + * @param array $widget_args |
|
1459 | + * @param string $content |
|
1460 | + */ |
|
1461 | + public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
1462 | + |
|
1463 | + } |
|
1464 | + |
|
1465 | + /** |
|
1466 | + * Add the dynamic block code inline when the wp-block in enqueued. |
|
1467 | + */ |
|
1468 | + public function register_block() { |
|
1469 | + wp_add_inline_script( 'wp-blocks', $this->block() ); |
|
1470 | + if ( class_exists( 'SiteOrigin_Panels' ) ) { |
|
1471 | + |
|
1472 | + wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() ); |
|
1473 | + |
|
1474 | + } |
|
1475 | + } |
|
1476 | + |
|
1477 | + /** |
|
1478 | + * Check if we need to show advanced options. |
|
1479 | + * |
|
1480 | + * @return bool |
|
1481 | + */ |
|
1482 | + public function block_show_advanced() { |
|
1483 | + |
|
1484 | + $show = false; |
|
1485 | + $arguments = $this->arguments; |
|
1486 | + |
|
1487 | + if ( empty( $arguments ) ) { |
|
1488 | + $arguments = $this->get_arguments(); |
|
1489 | + } |
|
1490 | + |
|
1491 | + if ( ! empty( $arguments ) ) { |
|
1492 | + foreach ( $arguments as $argument ) { |
|
1493 | + if ( isset( $argument['advanced'] ) && $argument['advanced'] ) { |
|
1494 | + $show = true; |
|
1495 | + break; // no need to continue if we know we have it |
|
1496 | + } |
|
1497 | + } |
|
1498 | + } |
|
1499 | + |
|
1500 | + return $show; |
|
1501 | + } |
|
1502 | + |
|
1503 | + /** |
|
1504 | + * Get the url path to the current folder. |
|
1505 | + * |
|
1506 | + * @return string |
|
1507 | + */ |
|
1508 | + public function get_url() { |
|
1509 | + |
|
1510 | + $url = $this->url; |
|
1511 | + |
|
1512 | + if(!$url){ |
|
1513 | + // check if we are inside a plugin |
|
1514 | + $file_dir = str_replace("/includes","", dirname( __FILE__ )); |
|
1515 | + |
|
1516 | + $dir_parts = explode("/wp-content/",$file_dir); |
|
1517 | + $url_parts = explode("/wp-content/",plugins_url()); |
|
1518 | + |
|
1519 | + if(!empty($url_parts[0]) && !empty($dir_parts[1])){ |
|
1520 | + $url = trailingslashit( $url_parts[0]."/wp-content/".$dir_parts[1] ); |
|
1521 | + $this->url = $url; |
|
1522 | + } |
|
1523 | + } |
|
1524 | + |
|
1525 | + |
|
1526 | + return $url; |
|
1527 | + } |
|
1528 | + |
|
1529 | + /** |
|
1530 | + * Generate the block icon. |
|
1531 | + * |
|
1532 | + * Enables the use of Font Awesome icons. |
|
1533 | + * |
|
1534 | + * @note xlink:href is actually deprecated but href is not supported by all so we use both. |
|
1535 | + * @param $icon |
|
1536 | + * @since 1.1.0 |
|
1537 | + * @return string |
|
1538 | + */ |
|
1539 | + public function get_block_icon($icon){ |
|
1540 | + |
|
1541 | + // check if we have a Font Awesome icon |
|
1542 | + $fa_type = ''; |
|
1543 | + if(substr( $icon, 0, 7 ) === "fas fa-"){ |
|
1544 | + $fa_type = 'solid'; |
|
1545 | + }elseif(substr( $icon, 0, 7 ) === "far fa-"){ |
|
1546 | + $fa_type = 'regular'; |
|
1547 | + }elseif(substr( $icon, 0, 7 ) === "fab fa-"){ |
|
1548 | + $fa_type = 'brands'; |
|
1549 | + }else{ |
|
1550 | + $icon = "'".$icon."'"; |
|
1551 | + } |
|
1552 | + |
|
1553 | + // set the icon if we found one |
|
1554 | + if($fa_type){ |
|
1555 | + $fa_icon = str_replace(array("fas fa-","far fa-","fab fa-"),"",$icon); |
|
1556 | + $icon = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '".$this->get_url()."icons/".$fa_type.".svg#".$fa_icon."','href': '".$this->get_url()."icons/".$fa_type.".svg#".$fa_icon."'}))"; |
|
1557 | + } |
|
1558 | + |
|
1559 | + return $icon; |
|
1560 | + } |
|
1561 | + |
|
1562 | + public function group_arguments($arguments){ |
|
1563 | 1563 | // echo '###';print_r($arguments); |
1564 | - if(!empty($arguments)){ |
|
1565 | - $temp_arguments = array(); |
|
1566 | - $general = __("General"); |
|
1567 | - $add_sections = false; |
|
1568 | - foreach($arguments as $key => $args){ |
|
1569 | - if(isset($args['group'])){ |
|
1570 | - $temp_arguments[$args['group']][$key] = $args; |
|
1571 | - $add_sections = true; |
|
1572 | - }else{ |
|
1573 | - $temp_arguments[$general][$key] = $args; |
|
1574 | - } |
|
1575 | - } |
|
1576 | - |
|
1577 | - // only add sections if more than one |
|
1578 | - if($add_sections){ |
|
1579 | - $arguments = $temp_arguments; |
|
1580 | - } |
|
1581 | - } |
|
1564 | + if(!empty($arguments)){ |
|
1565 | + $temp_arguments = array(); |
|
1566 | + $general = __("General"); |
|
1567 | + $add_sections = false; |
|
1568 | + foreach($arguments as $key => $args){ |
|
1569 | + if(isset($args['group'])){ |
|
1570 | + $temp_arguments[$args['group']][$key] = $args; |
|
1571 | + $add_sections = true; |
|
1572 | + }else{ |
|
1573 | + $temp_arguments[$general][$key] = $args; |
|
1574 | + } |
|
1575 | + } |
|
1576 | + |
|
1577 | + // only add sections if more than one |
|
1578 | + if($add_sections){ |
|
1579 | + $arguments = $temp_arguments; |
|
1580 | + } |
|
1581 | + } |
|
1582 | 1582 | // echo '###';print_r($arguments); |
1583 | - return $arguments; |
|
1584 | - } |
|
1585 | - |
|
1586 | - |
|
1587 | - /** |
|
1588 | - * Output the JS for building the dynamic Guntenberg block. |
|
1589 | - * |
|
1590 | - * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap. |
|
1591 | - * @since 1.0.9 Save numbers as numbers and not strings. |
|
1592 | - * @since 1.1.0 Font Awesome classes can be used for icons. |
|
1593 | - * @return mixed |
|
1594 | - */ |
|
1595 | - public function block() { |
|
1596 | - ob_start(); |
|
1597 | - ?> |
|
1583 | + return $arguments; |
|
1584 | + } |
|
1585 | + |
|
1586 | + |
|
1587 | + /** |
|
1588 | + * Output the JS for building the dynamic Guntenberg block. |
|
1589 | + * |
|
1590 | + * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap. |
|
1591 | + * @since 1.0.9 Save numbers as numbers and not strings. |
|
1592 | + * @since 1.1.0 Font Awesome classes can be used for icons. |
|
1593 | + * @return mixed |
|
1594 | + */ |
|
1595 | + public function block() { |
|
1596 | + ob_start(); |
|
1597 | + ?> |
|
1598 | 1598 | <script> |
1599 | 1599 | /** |
1600 | 1600 | * BLOCK: Basic |
@@ -1633,93 +1633,93 @@ discard block |
||
1633 | 1633 | icon: <?php echo $this->get_block_icon($this->options['block-icon']);?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/. |
1634 | 1634 | supports: { |
1635 | 1635 | <?php |
1636 | - if(isset($this->options['block-supports'])){ |
|
1637 | - echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
1638 | - } |
|
1639 | - ?> |
|
1636 | + if(isset($this->options['block-supports'])){ |
|
1637 | + echo $this->array_to_attributes( $this->options['block-supports'] ); |
|
1638 | + } |
|
1639 | + ?> |
|
1640 | 1640 | }, |
1641 | 1641 | category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed. |
1642 | 1642 | <?php if ( isset( $this->options['block-keywords'] ) ) { |
1643 | - echo "keywords : " . $this->options['block-keywords'] . ","; |
|
1644 | - }?> |
|
1643 | + echo "keywords : " . $this->options['block-keywords'] . ","; |
|
1644 | + }?> |
|
1645 | 1645 | |
1646 | 1646 | <?php |
1647 | 1647 | |
1648 | - // maybe set no_wrap |
|
1649 | - $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
1650 | - if( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ){ $no_wrap = true; } |
|
1651 | - if( $no_wrap ){ $this->options['block-wrap'] = ''; } |
|
1648 | + // maybe set no_wrap |
|
1649 | + $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false; |
|
1650 | + if( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ){ $no_wrap = true; } |
|
1651 | + if( $no_wrap ){ $this->options['block-wrap'] = ''; } |
|
1652 | 1652 | |
1653 | - $show_advanced = $this->block_show_advanced(); |
|
1653 | + $show_advanced = $this->block_show_advanced(); |
|
1654 | 1654 | |
1655 | - $show_alignment = false; |
|
1656 | - // align feature |
|
1657 | - /*echo "supports: {"; |
|
1655 | + $show_alignment = false; |
|
1656 | + // align feature |
|
1657 | + /*echo "supports: {"; |
|
1658 | 1658 | echo " align: true,"; |
1659 | 1659 | echo " html: false"; |
1660 | 1660 | echo "},";*/ |
1661 | 1661 | |
1662 | - if ( ! empty( $this->arguments ) ) { |
|
1663 | - echo "attributes : {"; |
|
1664 | - |
|
1665 | - if ( $show_advanced ) { |
|
1666 | - echo "show_advanced: {"; |
|
1667 | - echo " type: 'boolean',"; |
|
1668 | - echo " default: false,"; |
|
1669 | - echo "},"; |
|
1670 | - } |
|
1671 | - |
|
1672 | - // block wrap element |
|
1673 | - if ( !empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
1674 | - echo "block_wrap: {"; |
|
1675 | - echo " type: 'string',"; |
|
1676 | - echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
1677 | - echo "},"; |
|
1678 | - } |
|
1679 | - |
|
1680 | - foreach ( $this->arguments as $key => $args ) { |
|
1681 | - |
|
1682 | - // set if we should show alignment |
|
1683 | - if ( $key == 'alignment' ) { |
|
1684 | - $show_alignment = true; |
|
1685 | - } |
|
1686 | - |
|
1687 | - $extra = ''; |
|
1688 | - |
|
1689 | - if ( $args['type'] == 'checkbox' ) { |
|
1690 | - $type = 'boolean'; |
|
1691 | - $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
1692 | - } elseif ( $args['type'] == 'number' ) { |
|
1693 | - $type = 'number'; |
|
1694 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1695 | - } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
1696 | - $type = 'array'; |
|
1697 | - if ( is_array( $args['default'] ) ) { |
|
1698 | - $default = isset( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
1699 | - } else { |
|
1700 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1701 | - } |
|
1702 | - } elseif ( $args['type'] == 'multiselect' ) { |
|
1703 | - $type = 'array'; |
|
1704 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1705 | - } else { |
|
1706 | - $type = 'string'; |
|
1707 | - $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1708 | - } |
|
1709 | - echo $key . " : {"; |
|
1710 | - echo "type : '$type',"; |
|
1711 | - echo "default : $default,"; |
|
1712 | - echo "},"; |
|
1713 | - } |
|
1714 | - |
|
1715 | - echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
|
1716 | - echo "className: { type: 'string', default: '' },"; |
|
1717 | - |
|
1718 | - echo "},"; |
|
1719 | - |
|
1720 | - } |
|
1721 | - |
|
1722 | - ?> |
|
1662 | + if ( ! empty( $this->arguments ) ) { |
|
1663 | + echo "attributes : {"; |
|
1664 | + |
|
1665 | + if ( $show_advanced ) { |
|
1666 | + echo "show_advanced: {"; |
|
1667 | + echo " type: 'boolean',"; |
|
1668 | + echo " default: false,"; |
|
1669 | + echo "},"; |
|
1670 | + } |
|
1671 | + |
|
1672 | + // block wrap element |
|
1673 | + if ( !empty( $this->options['block-wrap'] ) ) { //@todo we should validate this? |
|
1674 | + echo "block_wrap: {"; |
|
1675 | + echo " type: 'string',"; |
|
1676 | + echo " default: '" . esc_attr( $this->options['block-wrap'] ) . "',"; |
|
1677 | + echo "},"; |
|
1678 | + } |
|
1679 | + |
|
1680 | + foreach ( $this->arguments as $key => $args ) { |
|
1681 | + |
|
1682 | + // set if we should show alignment |
|
1683 | + if ( $key == 'alignment' ) { |
|
1684 | + $show_alignment = true; |
|
1685 | + } |
|
1686 | + |
|
1687 | + $extra = ''; |
|
1688 | + |
|
1689 | + if ( $args['type'] == 'checkbox' ) { |
|
1690 | + $type = 'boolean'; |
|
1691 | + $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false'; |
|
1692 | + } elseif ( $args['type'] == 'number' ) { |
|
1693 | + $type = 'number'; |
|
1694 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1695 | + } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) { |
|
1696 | + $type = 'array'; |
|
1697 | + if ( is_array( $args['default'] ) ) { |
|
1698 | + $default = isset( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]"; |
|
1699 | + } else { |
|
1700 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1701 | + } |
|
1702 | + } elseif ( $args['type'] == 'multiselect' ) { |
|
1703 | + $type = 'array'; |
|
1704 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1705 | + } else { |
|
1706 | + $type = 'string'; |
|
1707 | + $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''"; |
|
1708 | + } |
|
1709 | + echo $key . " : {"; |
|
1710 | + echo "type : '$type',"; |
|
1711 | + echo "default : $default,"; |
|
1712 | + echo "},"; |
|
1713 | + } |
|
1714 | + |
|
1715 | + echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},"; |
|
1716 | + echo "className: { type: 'string', default: '' },"; |
|
1717 | + |
|
1718 | + echo "},"; |
|
1719 | + |
|
1720 | + } |
|
1721 | + |
|
1722 | + ?> |
|
1723 | 1723 | |
1724 | 1724 | // The "edit" property must be a valid function. |
1725 | 1725 | edit: function (props) { |
@@ -1738,8 +1738,8 @@ discard block |
||
1738 | 1738 | 'shortcode': '<?php echo $this->options['base_id'];?>', |
1739 | 1739 | 'attributes': props.attributes, |
1740 | 1740 | 'post_id': <?php global $post; if ( isset( $post->ID ) ) { |
1741 | - echo $post->ID; |
|
1742 | - }?>, |
|
1741 | + echo $post->ID; |
|
1742 | + }?>, |
|
1743 | 1743 | '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>' |
1744 | 1744 | }; |
1745 | 1745 | |
@@ -1786,10 +1786,10 @@ discard block |
||
1786 | 1786 | |
1787 | 1787 | <?php |
1788 | 1788 | |
1789 | - if(! empty( $this->arguments )){ |
|
1789 | + if(! empty( $this->arguments )){ |
|
1790 | 1790 | |
1791 | - if ( $show_advanced ) { |
|
1792 | - ?> |
|
1791 | + if ( $show_advanced ) { |
|
1792 | + ?> |
|
1793 | 1793 | el( |
1794 | 1794 | wp.components.ToggleControl, |
1795 | 1795 | { |
@@ -1802,61 +1802,61 @@ discard block |
||
1802 | 1802 | ), |
1803 | 1803 | <?php |
1804 | 1804 | |
1805 | - } |
|
1805 | + } |
|
1806 | 1806 | |
1807 | - $arguments = $this->group_arguments($this->arguments); |
|
1807 | + $arguments = $this->group_arguments($this->arguments); |
|
1808 | 1808 | |
1809 | - // Do we have sections? |
|
1810 | - $has_sections = $arguments == $this->arguments ? false : true; |
|
1809 | + // Do we have sections? |
|
1810 | + $has_sections = $arguments == $this->arguments ? false : true; |
|
1811 | 1811 | |
1812 | 1812 | |
1813 | - if($has_sections){ |
|
1814 | - $panel_count = 0; |
|
1815 | - foreach($arguments as $key => $args){ |
|
1816 | - ?> |
|
1813 | + if($has_sections){ |
|
1814 | + $panel_count = 0; |
|
1815 | + foreach($arguments as $key => $args){ |
|
1816 | + ?> |
|
1817 | 1817 | el(wp.components.PanelBody, { |
1818 | 1818 | title: '<?php esc_attr_e($key); ?>', |
1819 | 1819 | initialOpen: <?php if($panel_count){echo "false";}else{echo "true";}?> |
1820 | 1820 | }, |
1821 | 1821 | <?php |
1822 | 1822 | |
1823 | - foreach($args as $k => $a){ |
|
1824 | - $this->build_block_arguments($k, $a); |
|
1825 | - } |
|
1826 | - ?> |
|
1823 | + foreach($args as $k => $a){ |
|
1824 | + $this->build_block_arguments($k, $a); |
|
1825 | + } |
|
1826 | + ?> |
|
1827 | 1827 | ), |
1828 | 1828 | <?php |
1829 | - $panel_count++; |
|
1829 | + $panel_count++; |
|
1830 | 1830 | |
1831 | - } |
|
1832 | - }else{ |
|
1833 | - foreach($this->arguments as $key => $args){ |
|
1834 | - $this->build_block_arguments($key, $args); |
|
1835 | - } |
|
1836 | - } |
|
1831 | + } |
|
1832 | + }else{ |
|
1833 | + foreach($this->arguments as $key => $args){ |
|
1834 | + $this->build_block_arguments($key, $args); |
|
1835 | + } |
|
1836 | + } |
|
1837 | 1837 | |
1838 | 1838 | |
1839 | 1839 | |
1840 | - } |
|
1841 | - ?> |
|
1840 | + } |
|
1841 | + ?> |
|
1842 | 1842 | |
1843 | 1843 | ), |
1844 | 1844 | |
1845 | 1845 | <?php |
1846 | - // If the user sets block-output array then build it |
|
1847 | - if ( ! empty( $this->options['block-output'] ) ) { |
|
1848 | - $this->block_element( $this->options['block-output'] ); |
|
1849 | - }else{ |
|
1850 | - // if no block-output is set then we try and get the shortcode html output via ajax. |
|
1851 | - ?> |
|
1846 | + // If the user sets block-output array then build it |
|
1847 | + if ( ! empty( $this->options['block-output'] ) ) { |
|
1848 | + $this->block_element( $this->options['block-output'] ); |
|
1849 | + }else{ |
|
1850 | + // if no block-output is set then we try and get the shortcode html output via ajax. |
|
1851 | + ?> |
|
1852 | 1852 | el('div', { |
1853 | 1853 | dangerouslySetInnerHTML: {__html: onChangeContent()}, |
1854 | 1854 | className: props.className, |
1855 | 1855 | style: {'min-height': '30px'} |
1856 | 1856 | }) |
1857 | 1857 | <?php |
1858 | - } |
|
1859 | - ?> |
|
1858 | + } |
|
1859 | + ?> |
|
1860 | 1860 | ]; // end return |
1861 | 1861 | }, |
1862 | 1862 | |
@@ -1874,10 +1874,10 @@ discard block |
||
1874 | 1874 | $html = ''; |
1875 | 1875 | <?php |
1876 | 1876 | |
1877 | - if(! empty( $this->arguments )){ |
|
1877 | + if(! empty( $this->arguments )){ |
|
1878 | 1878 | |
1879 | - foreach($this->arguments as $key => $args){ |
|
1880 | - ?> |
|
1879 | + foreach($this->arguments as $key => $args){ |
|
1880 | + ?> |
|
1881 | 1881 | if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) { |
1882 | 1882 | if('<?php echo esc_attr( $key );?>' == 'html'){ |
1883 | 1883 | $html = attr.<?php echo esc_attr( $key );?>; |
@@ -1886,10 +1886,10 @@ discard block |
||
1886 | 1886 | } |
1887 | 1887 | } |
1888 | 1888 | <?php |
1889 | - } |
|
1890 | - } |
|
1889 | + } |
|
1890 | + } |
|
1891 | 1891 | |
1892 | - ?> |
|
1892 | + ?> |
|
1893 | 1893 | content += "]"; |
1894 | 1894 | |
1895 | 1895 | // if has html element |
@@ -1912,20 +1912,20 @@ discard block |
||
1912 | 1912 | } |
1913 | 1913 | |
1914 | 1914 | <?php |
1915 | - if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
1916 | - ?> |
|
1915 | + if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){ |
|
1916 | + ?> |
|
1917 | 1917 | return content; |
1918 | 1918 | <?php |
1919 | - }else{ |
|
1920 | - ?> |
|
1919 | + }else{ |
|
1920 | + ?> |
|
1921 | 1921 | var block_wrap = 'div'; |
1922 | 1922 | if (attr.hasOwnProperty("block_wrap")) { |
1923 | 1923 | block_wrap = attr.block_wrap; |
1924 | 1924 | } |
1925 | 1925 | return el(block_wrap, {dangerouslySetInnerHTML: {__html: content}, className: align}); |
1926 | 1926 | <?php |
1927 | - } |
|
1928 | - ?> |
|
1927 | + } |
|
1928 | + ?> |
|
1929 | 1929 | |
1930 | 1930 | |
1931 | 1931 | } |
@@ -1933,89 +1933,89 @@ discard block |
||
1933 | 1933 | })(); |
1934 | 1934 | </script> |
1935 | 1935 | <?php |
1936 | - $output = ob_get_clean(); |
|
1936 | + $output = ob_get_clean(); |
|
1937 | 1937 | |
1938 | - /* |
|
1938 | + /* |
|
1939 | 1939 | * We only add the <script> tags for code highlighting, so we strip them from the output. |
1940 | 1940 | */ |
1941 | 1941 | |
1942 | - return str_replace( array( |
|
1943 | - '<script>', |
|
1944 | - '</script>' |
|
1945 | - ), '', $output ); |
|
1946 | - } |
|
1947 | - |
|
1948 | - public function build_block_arguments($key,$args){ |
|
1949 | - $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
1950 | - $options = ''; |
|
1951 | - $extra = ''; |
|
1952 | - $require = ''; |
|
1953 | - |
|
1954 | - // `content` is a protected and special argument |
|
1955 | - if($key == 'content'){return;} |
|
1956 | - |
|
1957 | - $onchange = "props.setAttributes({ $key: $key } )"; |
|
1958 | - $value = "props.attributes.$key"; |
|
1959 | - $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'color' ); |
|
1960 | - if ( in_array( $args['type'], $text_type ) ) { |
|
1961 | - $type = 'TextControl'; |
|
1962 | - // Save numbers as numbers and not strings |
|
1963 | - if ( $args['type'] == 'number' ) { |
|
1964 | - $onchange = "props.setAttributes({ $key: Number($key) } )"; |
|
1965 | - } |
|
1966 | - } |
|
1967 | - // elseif ( $args['type'] == 'color' ) { //@todo ColorPicker labels are not shown yet, we use html5 color input for now https://github.com/WordPress/gutenberg/issues/14378 |
|
1968 | - // $type = 'ColorPicker'; |
|
1969 | - // } |
|
1970 | - elseif ( $args['type'] == 'checkbox' ) { |
|
1971 | - $type = 'CheckboxControl'; |
|
1972 | - $extra .= "checked: props.attributes.$key,"; |
|
1973 | - $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
|
1974 | - }elseif ( $args['type'] == 'textarea' ) { |
|
1975 | - $type = 'TextareaControl'; |
|
1976 | - } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
1977 | - $type = 'SelectControl'; |
|
1978 | - if ( ! empty( $args['options'] ) ) { |
|
1979 | - $options .= "options : ["; |
|
1980 | - foreach ( $args['options'] as $option_val => $option_label ) { |
|
1981 | - $options .= "{ value : '" . esc_attr( $option_val ) . "', label : '" . esc_attr( $option_label ) . "' },"; |
|
1982 | - } |
|
1983 | - $options .= "],"; |
|
1984 | - } |
|
1985 | - if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
1986 | - $extra .= ' multiple: true, '; |
|
1987 | - //$onchange = "props.setAttributes({ $key: ['edit'] } )"; |
|
1988 | - //$value = "['edit', 'delete']"; |
|
1989 | - } |
|
1990 | - } elseif ( $args['type'] == 'alignment' ) { |
|
1991 | - $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
|
1992 | - } else { |
|
1993 | - return;// if we have not implemented the control then don't break the JS. |
|
1994 | - } |
|
1995 | - |
|
1996 | - // add show only if advanced |
|
1997 | - if ( ! empty( $args['advanced'] ) ) { |
|
1998 | - echo "props.attributes.show_advanced && "; |
|
1999 | - } |
|
2000 | - // add setting require if defined |
|
2001 | - if ( ! empty( $args['element_require'] ) ) { |
|
2002 | - echo $this->block_props_replace( $args['element_require'], true ) . " && "; |
|
2003 | - } |
|
2004 | - ?> |
|
1942 | + return str_replace( array( |
|
1943 | + '<script>', |
|
1944 | + '</script>' |
|
1945 | + ), '', $output ); |
|
1946 | + } |
|
1947 | + |
|
1948 | + public function build_block_arguments($key,$args){ |
|
1949 | + $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : ''; |
|
1950 | + $options = ''; |
|
1951 | + $extra = ''; |
|
1952 | + $require = ''; |
|
1953 | + |
|
1954 | + // `content` is a protected and special argument |
|
1955 | + if($key == 'content'){return;} |
|
1956 | + |
|
1957 | + $onchange = "props.setAttributes({ $key: $key } )"; |
|
1958 | + $value = "props.attributes.$key"; |
|
1959 | + $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'color' ); |
|
1960 | + if ( in_array( $args['type'], $text_type ) ) { |
|
1961 | + $type = 'TextControl'; |
|
1962 | + // Save numbers as numbers and not strings |
|
1963 | + if ( $args['type'] == 'number' ) { |
|
1964 | + $onchange = "props.setAttributes({ $key: Number($key) } )"; |
|
1965 | + } |
|
1966 | + } |
|
1967 | + // elseif ( $args['type'] == 'color' ) { //@todo ColorPicker labels are not shown yet, we use html5 color input for now https://github.com/WordPress/gutenberg/issues/14378 |
|
1968 | + // $type = 'ColorPicker'; |
|
1969 | + // } |
|
1970 | + elseif ( $args['type'] == 'checkbox' ) { |
|
1971 | + $type = 'CheckboxControl'; |
|
1972 | + $extra .= "checked: props.attributes.$key,"; |
|
1973 | + $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
|
1974 | + }elseif ( $args['type'] == 'textarea' ) { |
|
1975 | + $type = 'TextareaControl'; |
|
1976 | + } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) { |
|
1977 | + $type = 'SelectControl'; |
|
1978 | + if ( ! empty( $args['options'] ) ) { |
|
1979 | + $options .= "options : ["; |
|
1980 | + foreach ( $args['options'] as $option_val => $option_label ) { |
|
1981 | + $options .= "{ value : '" . esc_attr( $option_val ) . "', label : '" . esc_attr( $option_label ) . "' },"; |
|
1982 | + } |
|
1983 | + $options .= "],"; |
|
1984 | + } |
|
1985 | + if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550 |
|
1986 | + $extra .= ' multiple: true, '; |
|
1987 | + //$onchange = "props.setAttributes({ $key: ['edit'] } )"; |
|
1988 | + //$value = "['edit', 'delete']"; |
|
1989 | + } |
|
1990 | + } elseif ( $args['type'] == 'alignment' ) { |
|
1991 | + $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
|
1992 | + } else { |
|
1993 | + return;// if we have not implemented the control then don't break the JS. |
|
1994 | + } |
|
1995 | + |
|
1996 | + // add show only if advanced |
|
1997 | + if ( ! empty( $args['advanced'] ) ) { |
|
1998 | + echo "props.attributes.show_advanced && "; |
|
1999 | + } |
|
2000 | + // add setting require if defined |
|
2001 | + if ( ! empty( $args['element_require'] ) ) { |
|
2002 | + echo $this->block_props_replace( $args['element_require'], true ) . " && "; |
|
2003 | + } |
|
2004 | + ?> |
|
2005 | 2005 | el( |
2006 | 2006 | wp.components.<?php echo esc_attr( $type );?>, |
2007 | 2007 | { |
2008 | 2008 | label: '<?php echo esc_attr( $args['title'] );?>', |
2009 | 2009 | help: '<?php if ( isset( $args['desc'] ) ) { |
2010 | - echo esc_attr( $args['desc'] ); |
|
2011 | - }?>', |
|
2010 | + echo esc_attr( $args['desc'] ); |
|
2011 | + }?>', |
|
2012 | 2012 | value: <?php echo $value;?>, |
2013 | 2013 | <?php if ( $type == 'TextControl' && $args['type'] != 'text' ) { |
2014 | - echo "type: '" . esc_attr( $args['type'] ) . "',"; |
|
2015 | - }?> |
|
2014 | + echo "type: '" . esc_attr( $args['type'] ) . "',"; |
|
2015 | + }?> |
|
2016 | 2016 | <?php if ( ! empty( $args['placeholder'] ) ) { |
2017 | - echo "placeholder: '" . esc_attr( $args['placeholder'] ) . "',"; |
|
2018 | - }?> |
|
2017 | + echo "placeholder: '" . esc_attr( $args['placeholder'] ) . "',"; |
|
2018 | + }?> |
|
2019 | 2019 | <?php echo $options;?> |
2020 | 2020 | <?php echo $extra;?> |
2021 | 2021 | <?php echo $custom_attributes;?> |
@@ -2025,508 +2025,508 @@ discard block |
||
2025 | 2025 | } |
2026 | 2026 | ), |
2027 | 2027 | <?php |
2028 | - } |
|
2029 | - |
|
2030 | - /** |
|
2031 | - * Convert an array of attributes to block string. |
|
2032 | - * |
|
2033 | - * @todo there is prob a faster way to do this, also we could add some validation here. |
|
2034 | - * |
|
2035 | - * @param $custom_attributes |
|
2036 | - * |
|
2037 | - * @return string |
|
2038 | - */ |
|
2039 | - public function array_to_attributes( $custom_attributes, $html = false ) { |
|
2040 | - $attributes = ''; |
|
2041 | - if ( ! empty( $custom_attributes ) ) { |
|
2042 | - |
|
2043 | - if ( $html ) { |
|
2044 | - foreach ( $custom_attributes as $key => $val ) { |
|
2045 | - $attributes .= " $key='$val' "; |
|
2046 | - } |
|
2047 | - } else { |
|
2048 | - foreach ( $custom_attributes as $key => $val ) { |
|
2049 | - $attributes .= "'$key': '$val',"; |
|
2050 | - } |
|
2051 | - } |
|
2052 | - } |
|
2053 | - |
|
2054 | - return $attributes; |
|
2055 | - } |
|
2056 | - |
|
2057 | - /** |
|
2058 | - * A self looping function to create the output for JS block elements. |
|
2059 | - * |
|
2060 | - * This is what is output in the WP Editor visual view. |
|
2061 | - * |
|
2062 | - * @param $args |
|
2063 | - */ |
|
2064 | - public function block_element( $args ) { |
|
2065 | - |
|
2066 | - |
|
2067 | - if ( ! empty( $args ) ) { |
|
2068 | - foreach ( $args as $element => $new_args ) { |
|
2069 | - |
|
2070 | - if ( is_array( $new_args ) ) { // its an element |
|
2071 | - |
|
2072 | - |
|
2073 | - if ( isset( $new_args['element'] ) ) { |
|
2074 | - |
|
2075 | - if ( isset( $new_args['element_require'] ) ) { |
|
2076 | - echo str_replace( array( |
|
2077 | - "'+", |
|
2078 | - "+'" |
|
2079 | - ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
2080 | - unset( $new_args['element_require'] ); |
|
2081 | - } |
|
2082 | - |
|
2083 | - echo "\n el( '" . $new_args['element'] . "', {"; |
|
2084 | - |
|
2085 | - // get the attributes |
|
2086 | - foreach ( $new_args as $new_key => $new_value ) { |
|
2087 | - |
|
2088 | - |
|
2089 | - if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
2090 | - // do nothing |
|
2091 | - } else { |
|
2092 | - echo $this->block_element( array( $new_key => $new_value ) ); |
|
2093 | - } |
|
2094 | - } |
|
2095 | - |
|
2096 | - echo "},";// end attributes |
|
2097 | - |
|
2098 | - // get the content |
|
2099 | - $first_item = 0; |
|
2100 | - foreach ( $new_args as $new_key => $new_value ) { |
|
2101 | - if ( $new_key === 'content' || is_array( $new_value ) ) { |
|
2102 | - |
|
2103 | - if ( $new_key === 'content' ) { |
|
2104 | - echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
2105 | - } |
|
2106 | - |
|
2107 | - if ( is_array( $new_value ) ) { |
|
2108 | - |
|
2109 | - if ( isset( $new_value['element_require'] ) ) { |
|
2110 | - echo str_replace( array( |
|
2111 | - "'+", |
|
2112 | - "+'" |
|
2113 | - ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
2114 | - unset( $new_value['element_require'] ); |
|
2115 | - } |
|
2116 | - |
|
2117 | - if ( isset( $new_value['element_repeat'] ) ) { |
|
2118 | - $x = 1; |
|
2119 | - while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
2120 | - $this->block_element( array( '' => $new_value ) ); |
|
2121 | - $x ++; |
|
2122 | - } |
|
2123 | - } else { |
|
2124 | - $this->block_element( array( '' => $new_value ) ); |
|
2125 | - } |
|
2126 | - } |
|
2127 | - $first_item ++; |
|
2128 | - } |
|
2129 | - } |
|
2130 | - |
|
2131 | - echo ")";// end content |
|
2132 | - |
|
2133 | - echo ", \n"; |
|
2134 | - |
|
2135 | - } |
|
2136 | - } else { |
|
2137 | - |
|
2138 | - if ( substr( $element, 0, 3 ) === "if_" ) { |
|
2139 | - echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
2140 | - } elseif ( $element == 'style' ) { |
|
2141 | - echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
2142 | - } else { |
|
2143 | - echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
2144 | - } |
|
2145 | - |
|
2146 | - } |
|
2147 | - } |
|
2148 | - } |
|
2149 | - } |
|
2150 | - |
|
2151 | - /** |
|
2152 | - * Replace block attributes placeholders with the proper naming. |
|
2153 | - * |
|
2154 | - * @param $string |
|
2155 | - * |
|
2156 | - * @return mixed |
|
2157 | - */ |
|
2158 | - public function block_props_replace( $string, $no_wrap = false ) { |
|
2159 | - |
|
2160 | - if ( $no_wrap ) { |
|
2161 | - $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string ); |
|
2162 | - } else { |
|
2163 | - $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string ); |
|
2164 | - } |
|
2165 | - |
|
2166 | - return $string; |
|
2167 | - } |
|
2168 | - |
|
2169 | - /** |
|
2170 | - * Outputs the content of the widget |
|
2171 | - * |
|
2172 | - * @param array $args |
|
2173 | - * @param array $instance |
|
2174 | - */ |
|
2175 | - public function widget( $args, $instance ) { |
|
2176 | - |
|
2177 | - // get the filtered values |
|
2178 | - $argument_values = $this->argument_values( $instance ); |
|
2179 | - $argument_values = $this->string_to_bool( $argument_values ); |
|
2180 | - $output = $this->output( $argument_values, $args ); |
|
2181 | - |
|
2182 | - $no_wrap = false; |
|
2183 | - if( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ){ $no_wrap = true; } |
|
2184 | - |
|
2185 | - ob_start(); |
|
2186 | - if ( $output && !$no_wrap) { |
|
2187 | - // Before widget |
|
2188 | - $before_widget = $args['before_widget']; |
|
2189 | - $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
2190 | - $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
2191 | - |
|
2192 | - // After widget |
|
2193 | - $after_widget = $args['after_widget']; |
|
2194 | - $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
2195 | - $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
2196 | - |
|
2197 | - echo $before_widget; |
|
2198 | - // elementor strips the widget wrapping div so we check for and add it back if needed |
|
2199 | - if ( $this->is_elementor_widget_output() ) { |
|
2200 | - echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $this->options['widget_ops']['classname'] ) . "'>" : ''; |
|
2201 | - } |
|
2202 | - echo $this->output_title( $args, $instance ); |
|
2203 | - echo $output; |
|
2204 | - if ( $this->is_elementor_widget_output() ) { |
|
2205 | - echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : ''; |
|
2206 | - } |
|
2207 | - echo $after_widget; |
|
2208 | - } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
2209 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
2210 | - echo $output; |
|
2211 | - } elseif($output && $no_wrap){ |
|
2212 | - echo $output; |
|
2213 | - } |
|
2214 | - $output = ob_get_clean(); |
|
2215 | - |
|
2216 | - $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
2217 | - |
|
2218 | - echo $output; |
|
2219 | - } |
|
2220 | - |
|
2221 | - /** |
|
2222 | - * Tests if the current output is inside a elementor container. |
|
2223 | - * |
|
2224 | - * @since 1.0.4 |
|
2225 | - * @return bool |
|
2226 | - */ |
|
2227 | - public function is_elementor_widget_output() { |
|
2228 | - $result = false; |
|
2229 | - if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
2230 | - $result = true; |
|
2231 | - } |
|
2232 | - |
|
2233 | - return $result; |
|
2234 | - } |
|
2235 | - |
|
2236 | - /** |
|
2237 | - * Tests if the current output is inside a elementor preview. |
|
2238 | - * |
|
2239 | - * @since 1.0.4 |
|
2240 | - * @return bool |
|
2241 | - */ |
|
2242 | - public function is_elementor_preview() { |
|
2243 | - $result = false; |
|
2244 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
2245 | - $result = true; |
|
2246 | - } |
|
2247 | - |
|
2248 | - return $result; |
|
2249 | - } |
|
2250 | - |
|
2251 | - /** |
|
2252 | - * Tests if the current output is inside a Divi preview. |
|
2253 | - * |
|
2254 | - * @since 1.0.6 |
|
2255 | - * @return bool |
|
2256 | - */ |
|
2257 | - public function is_divi_preview() { |
|
2258 | - $result = false; |
|
2259 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
2260 | - $result = true; |
|
2261 | - } |
|
2262 | - |
|
2263 | - return $result; |
|
2264 | - } |
|
2265 | - |
|
2266 | - /** |
|
2267 | - * Tests if the current output is inside a Beaver builder preview. |
|
2268 | - * |
|
2269 | - * @since 1.0.6 |
|
2270 | - * @return bool |
|
2271 | - */ |
|
2272 | - public function is_beaver_preview() { |
|
2273 | - $result = false; |
|
2274 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
2275 | - $result = true; |
|
2276 | - } |
|
2277 | - |
|
2278 | - return $result; |
|
2279 | - } |
|
2280 | - |
|
2281 | - /** |
|
2282 | - * Tests if the current output is inside a siteorigin builder preview. |
|
2283 | - * |
|
2284 | - * @since 1.0.6 |
|
2285 | - * @return bool |
|
2286 | - */ |
|
2287 | - public function is_siteorigin_preview() { |
|
2288 | - $result = false; |
|
2289 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
2290 | - $result = true; |
|
2291 | - } |
|
2292 | - |
|
2293 | - return $result; |
|
2294 | - } |
|
2295 | - |
|
2296 | - /** |
|
2297 | - * Tests if the current output is inside a cornerstone builder preview. |
|
2298 | - * |
|
2299 | - * @since 1.0.8 |
|
2300 | - * @return bool |
|
2301 | - */ |
|
2302 | - public function is_cornerstone_preview() { |
|
2303 | - $result = false; |
|
2304 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
2305 | - $result = true; |
|
2306 | - } |
|
2307 | - |
|
2308 | - return $result; |
|
2309 | - } |
|
2310 | - |
|
2311 | - /** |
|
2312 | - * Tests if the current output is inside a fusion builder preview. |
|
2313 | - * |
|
2314 | - * @since 1.1.0 |
|
2315 | - * @return bool |
|
2316 | - */ |
|
2317 | - public function is_fusion_preview() { |
|
2318 | - $result = false; |
|
2319 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
2320 | - $result = true; |
|
2321 | - } |
|
2322 | - |
|
2323 | - return $result; |
|
2324 | - } |
|
2325 | - |
|
2326 | - /** |
|
2327 | - * General function to check if we are in a preview situation. |
|
2328 | - * |
|
2329 | - * @since 1.0.6 |
|
2330 | - * @return bool |
|
2331 | - */ |
|
2332 | - public function is_preview() { |
|
2333 | - $preview = false; |
|
2334 | - if ( $this->is_divi_preview() ) { |
|
2335 | - $preview = true; |
|
2336 | - } elseif ( $this->is_elementor_preview() ) { |
|
2337 | - $preview = true; |
|
2338 | - } elseif ( $this->is_beaver_preview() ) { |
|
2339 | - $preview = true; |
|
2340 | - } elseif ( $this->is_siteorigin_preview() ) { |
|
2341 | - $preview = true; |
|
2342 | - } elseif ( $this->is_cornerstone_preview() ) { |
|
2343 | - $preview = true; |
|
2344 | - } elseif ( $this->is_fusion_preview() ) { |
|
2345 | - $preview = true; |
|
2346 | - } |
|
2347 | - |
|
2348 | - return $preview; |
|
2349 | - } |
|
2350 | - |
|
2351 | - /** |
|
2352 | - * Output the super title. |
|
2353 | - * |
|
2354 | - * @param $args |
|
2355 | - * @param array $instance |
|
2356 | - * |
|
2357 | - * @return string |
|
2358 | - */ |
|
2359 | - public function output_title( $args, $instance = array() ) { |
|
2360 | - $output = ''; |
|
2361 | - if ( ! empty( $instance['title'] ) ) { |
|
2362 | - /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
2363 | - $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
2364 | - $output = $args['before_title'] . $title . $args['after_title']; |
|
2365 | - } |
|
2366 | - |
|
2367 | - return $output; |
|
2368 | - } |
|
2369 | - |
|
2370 | - /** |
|
2371 | - * Outputs the options form inputs for the widget. |
|
2372 | - * |
|
2373 | - * @param array $instance The widget options. |
|
2374 | - */ |
|
2375 | - public function form( $instance ) { |
|
2376 | - |
|
2377 | - // set widget instance |
|
2378 | - $this->instance = $instance; |
|
2379 | - |
|
2380 | - // set it as a SD widget |
|
2381 | - echo $this->widget_advanced_toggle(); |
|
2382 | - |
|
2383 | - echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
2384 | - $arguments_raw = $this->get_arguments(); |
|
2385 | - |
|
2386 | - if ( is_array( $arguments_raw ) ) { |
|
2387 | - |
|
2388 | - $arguments = $this->group_arguments($arguments_raw); |
|
2389 | - |
|
2390 | - // Do we have sections? |
|
2391 | - $has_sections = $arguments == $arguments_raw ? false : true; |
|
2392 | - |
|
2393 | - |
|
2394 | - if($has_sections){ |
|
2395 | - $panel_count = 0; |
|
2396 | - foreach($arguments as $key => $args){ |
|
2397 | - |
|
2398 | - ?> |
|
2028 | + } |
|
2029 | + |
|
2030 | + /** |
|
2031 | + * Convert an array of attributes to block string. |
|
2032 | + * |
|
2033 | + * @todo there is prob a faster way to do this, also we could add some validation here. |
|
2034 | + * |
|
2035 | + * @param $custom_attributes |
|
2036 | + * |
|
2037 | + * @return string |
|
2038 | + */ |
|
2039 | + public function array_to_attributes( $custom_attributes, $html = false ) { |
|
2040 | + $attributes = ''; |
|
2041 | + if ( ! empty( $custom_attributes ) ) { |
|
2042 | + |
|
2043 | + if ( $html ) { |
|
2044 | + foreach ( $custom_attributes as $key => $val ) { |
|
2045 | + $attributes .= " $key='$val' "; |
|
2046 | + } |
|
2047 | + } else { |
|
2048 | + foreach ( $custom_attributes as $key => $val ) { |
|
2049 | + $attributes .= "'$key': '$val',"; |
|
2050 | + } |
|
2051 | + } |
|
2052 | + } |
|
2053 | + |
|
2054 | + return $attributes; |
|
2055 | + } |
|
2056 | + |
|
2057 | + /** |
|
2058 | + * A self looping function to create the output for JS block elements. |
|
2059 | + * |
|
2060 | + * This is what is output in the WP Editor visual view. |
|
2061 | + * |
|
2062 | + * @param $args |
|
2063 | + */ |
|
2064 | + public function block_element( $args ) { |
|
2065 | + |
|
2066 | + |
|
2067 | + if ( ! empty( $args ) ) { |
|
2068 | + foreach ( $args as $element => $new_args ) { |
|
2069 | + |
|
2070 | + if ( is_array( $new_args ) ) { // its an element |
|
2071 | + |
|
2072 | + |
|
2073 | + if ( isset( $new_args['element'] ) ) { |
|
2074 | + |
|
2075 | + if ( isset( $new_args['element_require'] ) ) { |
|
2076 | + echo str_replace( array( |
|
2077 | + "'+", |
|
2078 | + "+'" |
|
2079 | + ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " && "; |
|
2080 | + unset( $new_args['element_require'] ); |
|
2081 | + } |
|
2082 | + |
|
2083 | + echo "\n el( '" . $new_args['element'] . "', {"; |
|
2084 | + |
|
2085 | + // get the attributes |
|
2086 | + foreach ( $new_args as $new_key => $new_value ) { |
|
2087 | + |
|
2088 | + |
|
2089 | + if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) { |
|
2090 | + // do nothing |
|
2091 | + } else { |
|
2092 | + echo $this->block_element( array( $new_key => $new_value ) ); |
|
2093 | + } |
|
2094 | + } |
|
2095 | + |
|
2096 | + echo "},";// end attributes |
|
2097 | + |
|
2098 | + // get the content |
|
2099 | + $first_item = 0; |
|
2100 | + foreach ( $new_args as $new_key => $new_value ) { |
|
2101 | + if ( $new_key === 'content' || is_array( $new_value ) ) { |
|
2102 | + |
|
2103 | + if ( $new_key === 'content' ) { |
|
2104 | + echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'"; |
|
2105 | + } |
|
2106 | + |
|
2107 | + if ( is_array( $new_value ) ) { |
|
2108 | + |
|
2109 | + if ( isset( $new_value['element_require'] ) ) { |
|
2110 | + echo str_replace( array( |
|
2111 | + "'+", |
|
2112 | + "+'" |
|
2113 | + ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " && "; |
|
2114 | + unset( $new_value['element_require'] ); |
|
2115 | + } |
|
2116 | + |
|
2117 | + if ( isset( $new_value['element_repeat'] ) ) { |
|
2118 | + $x = 1; |
|
2119 | + while ( $x <= absint( $new_value['element_repeat'] ) ) { |
|
2120 | + $this->block_element( array( '' => $new_value ) ); |
|
2121 | + $x ++; |
|
2122 | + } |
|
2123 | + } else { |
|
2124 | + $this->block_element( array( '' => $new_value ) ); |
|
2125 | + } |
|
2126 | + } |
|
2127 | + $first_item ++; |
|
2128 | + } |
|
2129 | + } |
|
2130 | + |
|
2131 | + echo ")";// end content |
|
2132 | + |
|
2133 | + echo ", \n"; |
|
2134 | + |
|
2135 | + } |
|
2136 | + } else { |
|
2137 | + |
|
2138 | + if ( substr( $element, 0, 3 ) === "if_" ) { |
|
2139 | + echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ","; |
|
2140 | + } elseif ( $element == 'style' ) { |
|
2141 | + echo $element . ": " . $this->block_props_replace( $new_args ) . ","; |
|
2142 | + } else { |
|
2143 | + echo $element . ": '" . $this->block_props_replace( $new_args ) . "',"; |
|
2144 | + } |
|
2145 | + |
|
2146 | + } |
|
2147 | + } |
|
2148 | + } |
|
2149 | + } |
|
2150 | + |
|
2151 | + /** |
|
2152 | + * Replace block attributes placeholders with the proper naming. |
|
2153 | + * |
|
2154 | + * @param $string |
|
2155 | + * |
|
2156 | + * @return mixed |
|
2157 | + */ |
|
2158 | + public function block_props_replace( $string, $no_wrap = false ) { |
|
2159 | + |
|
2160 | + if ( $no_wrap ) { |
|
2161 | + $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string ); |
|
2162 | + } else { |
|
2163 | + $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string ); |
|
2164 | + } |
|
2165 | + |
|
2166 | + return $string; |
|
2167 | + } |
|
2168 | + |
|
2169 | + /** |
|
2170 | + * Outputs the content of the widget |
|
2171 | + * |
|
2172 | + * @param array $args |
|
2173 | + * @param array $instance |
|
2174 | + */ |
|
2175 | + public function widget( $args, $instance ) { |
|
2176 | + |
|
2177 | + // get the filtered values |
|
2178 | + $argument_values = $this->argument_values( $instance ); |
|
2179 | + $argument_values = $this->string_to_bool( $argument_values ); |
|
2180 | + $output = $this->output( $argument_values, $args ); |
|
2181 | + |
|
2182 | + $no_wrap = false; |
|
2183 | + if( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ){ $no_wrap = true; } |
|
2184 | + |
|
2185 | + ob_start(); |
|
2186 | + if ( $output && !$no_wrap) { |
|
2187 | + // Before widget |
|
2188 | + $before_widget = $args['before_widget']; |
|
2189 | + $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this ); |
|
2190 | + $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this ); |
|
2191 | + |
|
2192 | + // After widget |
|
2193 | + $after_widget = $args['after_widget']; |
|
2194 | + $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this ); |
|
2195 | + $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this ); |
|
2196 | + |
|
2197 | + echo $before_widget; |
|
2198 | + // elementor strips the widget wrapping div so we check for and add it back if needed |
|
2199 | + if ( $this->is_elementor_widget_output() ) { |
|
2200 | + echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $this->options['widget_ops']['classname'] ) . "'>" : ''; |
|
2201 | + } |
|
2202 | + echo $this->output_title( $args, $instance ); |
|
2203 | + echo $output; |
|
2204 | + if ( $this->is_elementor_widget_output() ) { |
|
2205 | + echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : ''; |
|
2206 | + } |
|
2207 | + echo $after_widget; |
|
2208 | + } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
2209 | + $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
2210 | + echo $output; |
|
2211 | + } elseif($output && $no_wrap){ |
|
2212 | + echo $output; |
|
2213 | + } |
|
2214 | + $output = ob_get_clean(); |
|
2215 | + |
|
2216 | + $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
2217 | + |
|
2218 | + echo $output; |
|
2219 | + } |
|
2220 | + |
|
2221 | + /** |
|
2222 | + * Tests if the current output is inside a elementor container. |
|
2223 | + * |
|
2224 | + * @since 1.0.4 |
|
2225 | + * @return bool |
|
2226 | + */ |
|
2227 | + public function is_elementor_widget_output() { |
|
2228 | + $result = false; |
|
2229 | + if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
2230 | + $result = true; |
|
2231 | + } |
|
2232 | + |
|
2233 | + return $result; |
|
2234 | + } |
|
2235 | + |
|
2236 | + /** |
|
2237 | + * Tests if the current output is inside a elementor preview. |
|
2238 | + * |
|
2239 | + * @since 1.0.4 |
|
2240 | + * @return bool |
|
2241 | + */ |
|
2242 | + public function is_elementor_preview() { |
|
2243 | + $result = false; |
|
2244 | + if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
2245 | + $result = true; |
|
2246 | + } |
|
2247 | + |
|
2248 | + return $result; |
|
2249 | + } |
|
2250 | + |
|
2251 | + /** |
|
2252 | + * Tests if the current output is inside a Divi preview. |
|
2253 | + * |
|
2254 | + * @since 1.0.6 |
|
2255 | + * @return bool |
|
2256 | + */ |
|
2257 | + public function is_divi_preview() { |
|
2258 | + $result = false; |
|
2259 | + if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
2260 | + $result = true; |
|
2261 | + } |
|
2262 | + |
|
2263 | + return $result; |
|
2264 | + } |
|
2265 | + |
|
2266 | + /** |
|
2267 | + * Tests if the current output is inside a Beaver builder preview. |
|
2268 | + * |
|
2269 | + * @since 1.0.6 |
|
2270 | + * @return bool |
|
2271 | + */ |
|
2272 | + public function is_beaver_preview() { |
|
2273 | + $result = false; |
|
2274 | + if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
2275 | + $result = true; |
|
2276 | + } |
|
2277 | + |
|
2278 | + return $result; |
|
2279 | + } |
|
2280 | + |
|
2281 | + /** |
|
2282 | + * Tests if the current output is inside a siteorigin builder preview. |
|
2283 | + * |
|
2284 | + * @since 1.0.6 |
|
2285 | + * @return bool |
|
2286 | + */ |
|
2287 | + public function is_siteorigin_preview() { |
|
2288 | + $result = false; |
|
2289 | + if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
2290 | + $result = true; |
|
2291 | + } |
|
2292 | + |
|
2293 | + return $result; |
|
2294 | + } |
|
2295 | + |
|
2296 | + /** |
|
2297 | + * Tests if the current output is inside a cornerstone builder preview. |
|
2298 | + * |
|
2299 | + * @since 1.0.8 |
|
2300 | + * @return bool |
|
2301 | + */ |
|
2302 | + public function is_cornerstone_preview() { |
|
2303 | + $result = false; |
|
2304 | + if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
2305 | + $result = true; |
|
2306 | + } |
|
2307 | + |
|
2308 | + return $result; |
|
2309 | + } |
|
2310 | + |
|
2311 | + /** |
|
2312 | + * Tests if the current output is inside a fusion builder preview. |
|
2313 | + * |
|
2314 | + * @since 1.1.0 |
|
2315 | + * @return bool |
|
2316 | + */ |
|
2317 | + public function is_fusion_preview() { |
|
2318 | + $result = false; |
|
2319 | + if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
2320 | + $result = true; |
|
2321 | + } |
|
2322 | + |
|
2323 | + return $result; |
|
2324 | + } |
|
2325 | + |
|
2326 | + /** |
|
2327 | + * General function to check if we are in a preview situation. |
|
2328 | + * |
|
2329 | + * @since 1.0.6 |
|
2330 | + * @return bool |
|
2331 | + */ |
|
2332 | + public function is_preview() { |
|
2333 | + $preview = false; |
|
2334 | + if ( $this->is_divi_preview() ) { |
|
2335 | + $preview = true; |
|
2336 | + } elseif ( $this->is_elementor_preview() ) { |
|
2337 | + $preview = true; |
|
2338 | + } elseif ( $this->is_beaver_preview() ) { |
|
2339 | + $preview = true; |
|
2340 | + } elseif ( $this->is_siteorigin_preview() ) { |
|
2341 | + $preview = true; |
|
2342 | + } elseif ( $this->is_cornerstone_preview() ) { |
|
2343 | + $preview = true; |
|
2344 | + } elseif ( $this->is_fusion_preview() ) { |
|
2345 | + $preview = true; |
|
2346 | + } |
|
2347 | + |
|
2348 | + return $preview; |
|
2349 | + } |
|
2350 | + |
|
2351 | + /** |
|
2352 | + * Output the super title. |
|
2353 | + * |
|
2354 | + * @param $args |
|
2355 | + * @param array $instance |
|
2356 | + * |
|
2357 | + * @return string |
|
2358 | + */ |
|
2359 | + public function output_title( $args, $instance = array() ) { |
|
2360 | + $output = ''; |
|
2361 | + if ( ! empty( $instance['title'] ) ) { |
|
2362 | + /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
2363 | + $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
2364 | + $output = $args['before_title'] . $title . $args['after_title']; |
|
2365 | + } |
|
2366 | + |
|
2367 | + return $output; |
|
2368 | + } |
|
2369 | + |
|
2370 | + /** |
|
2371 | + * Outputs the options form inputs for the widget. |
|
2372 | + * |
|
2373 | + * @param array $instance The widget options. |
|
2374 | + */ |
|
2375 | + public function form( $instance ) { |
|
2376 | + |
|
2377 | + // set widget instance |
|
2378 | + $this->instance = $instance; |
|
2379 | + |
|
2380 | + // set it as a SD widget |
|
2381 | + echo $this->widget_advanced_toggle(); |
|
2382 | + |
|
2383 | + echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
2384 | + $arguments_raw = $this->get_arguments(); |
|
2385 | + |
|
2386 | + if ( is_array( $arguments_raw ) ) { |
|
2387 | + |
|
2388 | + $arguments = $this->group_arguments($arguments_raw); |
|
2389 | + |
|
2390 | + // Do we have sections? |
|
2391 | + $has_sections = $arguments == $arguments_raw ? false : true; |
|
2392 | + |
|
2393 | + |
|
2394 | + if($has_sections){ |
|
2395 | + $panel_count = 0; |
|
2396 | + foreach($arguments as $key => $args){ |
|
2397 | + |
|
2398 | + ?> |
|
2399 | 2399 | <script> |
2400 | 2400 | // jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle(); |
2401 | 2401 | </script> |
2402 | 2402 | <?php |
2403 | 2403 | |
2404 | - $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
2405 | - $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
2406 | - echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle".sanitize_title_with_dashes($key)."'>".esc_attr($key)." <i style='float:right;' class='".$icon_class."'></i></button>"; |
|
2407 | - echo "<div class='sd-toggle-group sd-input-group-".sanitize_title_with_dashes($key)."' $hide>"; |
|
2408 | - |
|
2409 | - foreach($args as $k => $a){ |
|
2410 | - $this->widget_inputs($a, $instance); |
|
2411 | - } |
|
2412 | - |
|
2413 | - echo "</div>"; |
|
2414 | - |
|
2415 | - $panel_count++; |
|
2416 | - |
|
2417 | - } |
|
2418 | - }else{ |
|
2419 | - foreach ( $arguments as $key => $args ) { |
|
2420 | - $this->widget_inputs( $args, $instance ); |
|
2421 | - } |
|
2422 | - } |
|
2423 | - |
|
2424 | - } |
|
2425 | - } |
|
2426 | - |
|
2427 | - /** |
|
2428 | - * Get the hidden input that when added makes the advanced button show on widget settings. |
|
2429 | - * |
|
2430 | - * @return string |
|
2431 | - */ |
|
2432 | - public function widget_advanced_toggle() { |
|
2433 | - |
|
2434 | - $output = ''; |
|
2435 | - if ( $this->block_show_advanced() ) { |
|
2436 | - $val = 1; |
|
2437 | - } else { |
|
2438 | - $val = 0; |
|
2439 | - } |
|
2440 | - |
|
2441 | - $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
2442 | - |
|
2443 | - return $output; |
|
2444 | - } |
|
2445 | - |
|
2446 | - /** |
|
2447 | - * Convert require element. |
|
2448 | - * |
|
2449 | - * @since 1.0.0 |
|
2450 | - * |
|
2451 | - * @param string $input Input element. |
|
2452 | - * |
|
2453 | - * @return string $output |
|
2454 | - */ |
|
2455 | - public function convert_element_require( $input ) { |
|
2456 | - |
|
2457 | - $input = str_replace( "'", '"', $input );// we only want double quotes |
|
2458 | - |
|
2459 | - $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
2460 | - "jQuery(form).find('[data-argument=\"", |
|
2461 | - "\"]').find('input,select,textarea').val()" |
|
2462 | - ), $input ) ); |
|
2463 | - |
|
2464 | - return $output; |
|
2465 | - } |
|
2466 | - |
|
2467 | - /** |
|
2468 | - * Builds the inputs for the widget options. |
|
2469 | - * |
|
2470 | - * @param $args |
|
2471 | - * @param $instance |
|
2472 | - */ |
|
2473 | - public function widget_inputs( $args, $instance ) { |
|
2474 | - |
|
2475 | - $class = ""; |
|
2476 | - $element_require = ""; |
|
2477 | - $custom_attributes = ""; |
|
2478 | - |
|
2479 | - // get value |
|
2480 | - if ( isset( $instance[ $args['name'] ] ) ) { |
|
2481 | - $value = $instance[ $args['name'] ]; |
|
2482 | - } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
2483 | - $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
2484 | - } else { |
|
2485 | - $value = ''; |
|
2486 | - } |
|
2487 | - |
|
2488 | - // get placeholder |
|
2489 | - if ( ! empty( $args['placeholder'] ) ) { |
|
2490 | - $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
2491 | - } else { |
|
2492 | - $placeholder = ''; |
|
2493 | - } |
|
2494 | - |
|
2495 | - // get if advanced |
|
2496 | - if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
2497 | - $class .= " sd-advanced-setting "; |
|
2498 | - } |
|
2499 | - |
|
2500 | - // element_require |
|
2501 | - if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
2502 | - $element_require = $args['element_require']; |
|
2503 | - } |
|
2504 | - |
|
2505 | - // custom_attributes |
|
2506 | - if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
2507 | - $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
2508 | - } |
|
2509 | - |
|
2510 | - // before wrapper |
|
2511 | - ?> |
|
2404 | + $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
2405 | + $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
2406 | + echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle".sanitize_title_with_dashes($key)."'>".esc_attr($key)." <i style='float:right;' class='".$icon_class."'></i></button>"; |
|
2407 | + echo "<div class='sd-toggle-group sd-input-group-".sanitize_title_with_dashes($key)."' $hide>"; |
|
2408 | + |
|
2409 | + foreach($args as $k => $a){ |
|
2410 | + $this->widget_inputs($a, $instance); |
|
2411 | + } |
|
2412 | + |
|
2413 | + echo "</div>"; |
|
2414 | + |
|
2415 | + $panel_count++; |
|
2416 | + |
|
2417 | + } |
|
2418 | + }else{ |
|
2419 | + foreach ( $arguments as $key => $args ) { |
|
2420 | + $this->widget_inputs( $args, $instance ); |
|
2421 | + } |
|
2422 | + } |
|
2423 | + |
|
2424 | + } |
|
2425 | + } |
|
2426 | + |
|
2427 | + /** |
|
2428 | + * Get the hidden input that when added makes the advanced button show on widget settings. |
|
2429 | + * |
|
2430 | + * @return string |
|
2431 | + */ |
|
2432 | + public function widget_advanced_toggle() { |
|
2433 | + |
|
2434 | + $output = ''; |
|
2435 | + if ( $this->block_show_advanced() ) { |
|
2436 | + $val = 1; |
|
2437 | + } else { |
|
2438 | + $val = 0; |
|
2439 | + } |
|
2440 | + |
|
2441 | + $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
2442 | + |
|
2443 | + return $output; |
|
2444 | + } |
|
2445 | + |
|
2446 | + /** |
|
2447 | + * Convert require element. |
|
2448 | + * |
|
2449 | + * @since 1.0.0 |
|
2450 | + * |
|
2451 | + * @param string $input Input element. |
|
2452 | + * |
|
2453 | + * @return string $output |
|
2454 | + */ |
|
2455 | + public function convert_element_require( $input ) { |
|
2456 | + |
|
2457 | + $input = str_replace( "'", '"', $input );// we only want double quotes |
|
2458 | + |
|
2459 | + $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
2460 | + "jQuery(form).find('[data-argument=\"", |
|
2461 | + "\"]').find('input,select,textarea').val()" |
|
2462 | + ), $input ) ); |
|
2463 | + |
|
2464 | + return $output; |
|
2465 | + } |
|
2466 | + |
|
2467 | + /** |
|
2468 | + * Builds the inputs for the widget options. |
|
2469 | + * |
|
2470 | + * @param $args |
|
2471 | + * @param $instance |
|
2472 | + */ |
|
2473 | + public function widget_inputs( $args, $instance ) { |
|
2474 | + |
|
2475 | + $class = ""; |
|
2476 | + $element_require = ""; |
|
2477 | + $custom_attributes = ""; |
|
2478 | + |
|
2479 | + // get value |
|
2480 | + if ( isset( $instance[ $args['name'] ] ) ) { |
|
2481 | + $value = $instance[ $args['name'] ]; |
|
2482 | + } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
2483 | + $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
2484 | + } else { |
|
2485 | + $value = ''; |
|
2486 | + } |
|
2487 | + |
|
2488 | + // get placeholder |
|
2489 | + if ( ! empty( $args['placeholder'] ) ) { |
|
2490 | + $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
2491 | + } else { |
|
2492 | + $placeholder = ''; |
|
2493 | + } |
|
2494 | + |
|
2495 | + // get if advanced |
|
2496 | + if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
2497 | + $class .= " sd-advanced-setting "; |
|
2498 | + } |
|
2499 | + |
|
2500 | + // element_require |
|
2501 | + if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
2502 | + $element_require = $args['element_require']; |
|
2503 | + } |
|
2504 | + |
|
2505 | + // custom_attributes |
|
2506 | + if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
2507 | + $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
2508 | + } |
|
2509 | + |
|
2510 | + // before wrapper |
|
2511 | + ?> |
|
2512 | 2512 | <p class="sd-argument <?php echo esc_attr( $class ); ?>" |
2513 | 2513 | data-argument='<?php echo esc_attr( $args['name'] ); ?>' |
2514 | 2514 | data-element_require='<?php if ( $element_require ) { |
2515 | - echo $this->convert_element_require( $element_require ); |
|
2516 | - } ?>' |
|
2515 | + echo $this->convert_element_require( $element_require ); |
|
2516 | + } ?>' |
|
2517 | 2517 | > |
2518 | 2518 | <?php |
2519 | 2519 | |
2520 | - switch ( $args['type'] ) { |
|
2521 | - //array('text','password','number','email','tel','url','color') |
|
2522 | - case "text": |
|
2523 | - case "password": |
|
2524 | - case "number": |
|
2525 | - case "email": |
|
2526 | - case "tel": |
|
2527 | - case "url": |
|
2528 | - case "color": |
|
2529 | - ?> |
|
2520 | + switch ( $args['type'] ) { |
|
2521 | + //array('text','password','number','email','tel','url','color') |
|
2522 | + case "text": |
|
2523 | + case "password": |
|
2524 | + case "number": |
|
2525 | + case "email": |
|
2526 | + case "tel": |
|
2527 | + case "url": |
|
2528 | + case "color": |
|
2529 | + ?> |
|
2530 | 2530 | <label |
2531 | 2531 | for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo esc_attr( $args['title'] ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
2532 | 2532 | <input <?php echo $placeholder; ?> class="widefat" |
@@ -2537,47 +2537,47 @@ discard block |
||
2537 | 2537 | value="<?php echo esc_attr( $value ); ?>"> |
2538 | 2538 | <?php |
2539 | 2539 | |
2540 | - break; |
|
2541 | - case "select": |
|
2542 | - $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
2543 | - if ( $multiple ) { |
|
2544 | - if ( empty( $value ) ) { |
|
2545 | - $value = array(); |
|
2546 | - } |
|
2547 | - } |
|
2548 | - ?> |
|
2540 | + break; |
|
2541 | + case "select": |
|
2542 | + $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
2543 | + if ( $multiple ) { |
|
2544 | + if ( empty( $value ) ) { |
|
2545 | + $value = array(); |
|
2546 | + } |
|
2547 | + } |
|
2548 | + ?> |
|
2549 | 2549 | <label |
2550 | 2550 | for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo esc_attr( $args['title'] ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
2551 | 2551 | <select <?php echo $placeholder; ?> class="widefat" |
2552 | 2552 | <?php echo $custom_attributes; ?> |
2553 | 2553 | id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
2554 | 2554 | name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); |
2555 | - if ( $multiple ) { |
|
2556 | - echo "[]"; |
|
2557 | - } ?>" |
|
2555 | + if ( $multiple ) { |
|
2556 | + echo "[]"; |
|
2557 | + } ?>" |
|
2558 | 2558 | <?php if ( $multiple ) { |
2559 | - echo "multiple"; |
|
2560 | - } //@todo not implemented yet due to gutenberg not supporting it |
|
2561 | - ?> |
|
2559 | + echo "multiple"; |
|
2560 | + } //@todo not implemented yet due to gutenberg not supporting it |
|
2561 | + ?> |
|
2562 | 2562 | > |
2563 | 2563 | <?php |
2564 | 2564 | |
2565 | - if ( ! empty( $args['options'] ) ) { |
|
2566 | - foreach ( $args['options'] as $val => $label ) { |
|
2567 | - if ( $multiple ) { |
|
2568 | - $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
2569 | - } else { |
|
2570 | - $selected = selected( $value, $val, false ); |
|
2571 | - } |
|
2572 | - echo "<option value='$val' " . $selected . ">$label</option>"; |
|
2573 | - } |
|
2574 | - } |
|
2575 | - ?> |
|
2565 | + if ( ! empty( $args['options'] ) ) { |
|
2566 | + foreach ( $args['options'] as $val => $label ) { |
|
2567 | + if ( $multiple ) { |
|
2568 | + $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
2569 | + } else { |
|
2570 | + $selected = selected( $value, $val, false ); |
|
2571 | + } |
|
2572 | + echo "<option value='$val' " . $selected . ">$label</option>"; |
|
2573 | + } |
|
2574 | + } |
|
2575 | + ?> |
|
2576 | 2576 | </select> |
2577 | 2577 | <?php |
2578 | - break; |
|
2579 | - case "checkbox": |
|
2580 | - ?> |
|
2578 | + break; |
|
2579 | + case "checkbox": |
|
2580 | + ?> |
|
2581 | 2581 | <input <?php echo $placeholder; ?> |
2582 | 2582 | <?php checked( 1, $value, true ) ?> |
2583 | 2583 | <?php echo $custom_attributes; ?> |
@@ -2587,9 +2587,9 @@ discard block |
||
2587 | 2587 | <label |
2588 | 2588 | for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo esc_attr( $args['title'] ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
2589 | 2589 | <?php |
2590 | - break; |
|
2591 | - case "textarea": |
|
2592 | - ?> |
|
2590 | + break; |
|
2591 | + case "textarea": |
|
2592 | + ?> |
|
2593 | 2593 | <label |
2594 | 2594 | for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo esc_attr( $args['title'] ); ?><?php echo $this->widget_field_desc( $args ); ?></label> |
2595 | 2595 | <textarea <?php echo $placeholder; ?> class="widefat" |
@@ -2599,136 +2599,136 @@ discard block |
||
2599 | 2599 | ><?php echo esc_attr( $value ); ?></textarea> |
2600 | 2600 | <?php |
2601 | 2601 | |
2602 | - break; |
|
2603 | - case "hidden": |
|
2604 | - ?> |
|
2602 | + break; |
|
2603 | + case "hidden": |
|
2604 | + ?> |
|
2605 | 2605 | <input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
2606 | 2606 | name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" |
2607 | 2607 | value="<?php echo esc_attr( $value ); ?>"> |
2608 | 2608 | <?php |
2609 | - break; |
|
2610 | - default: |
|
2611 | - echo "No input type found!"; // @todo we need to add more input types. |
|
2612 | - } |
|
2609 | + break; |
|
2610 | + default: |
|
2611 | + echo "No input type found!"; // @todo we need to add more input types. |
|
2612 | + } |
|
2613 | 2613 | |
2614 | - // after wrapper |
|
2615 | - ?> |
|
2614 | + // after wrapper |
|
2615 | + ?> |
|
2616 | 2616 | </p> |
2617 | 2617 | <?php |
2618 | 2618 | |
2619 | - } |
|
2620 | - |
|
2621 | - /** |
|
2622 | - * Get the widget input description html. |
|
2623 | - * |
|
2624 | - * @param $args |
|
2625 | - * |
|
2626 | - * @return string |
|
2627 | - * @todo, need to make its own tooltip script |
|
2628 | - */ |
|
2629 | - public function widget_field_desc( $args ) { |
|
2630 | - |
|
2631 | - $description = ''; |
|
2632 | - if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
2633 | - if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
2634 | - $description = $this->desc_tip( $args['desc'] ); |
|
2635 | - } else { |
|
2636 | - $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
2637 | - } |
|
2638 | - } |
|
2639 | - |
|
2640 | - return $description; |
|
2641 | - } |
|
2642 | - |
|
2643 | - /** |
|
2644 | - * Get the tool tip html. |
|
2645 | - * |
|
2646 | - * @param $tip |
|
2647 | - * @param bool $allow_html |
|
2648 | - * |
|
2649 | - * @return string |
|
2650 | - */ |
|
2651 | - function desc_tip( $tip, $allow_html = false ) { |
|
2652 | - if ( $allow_html ) { |
|
2653 | - $tip = $this->sanitize_tooltip( $tip ); |
|
2654 | - } else { |
|
2655 | - $tip = esc_attr( $tip ); |
|
2656 | - } |
|
2657 | - |
|
2658 | - return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
2659 | - } |
|
2660 | - |
|
2661 | - /** |
|
2662 | - * Sanitize a string destined to be a tooltip. |
|
2663 | - * |
|
2664 | - * @param string $var |
|
2665 | - * |
|
2666 | - * @return string |
|
2667 | - */ |
|
2668 | - public function sanitize_tooltip( $var ) { |
|
2669 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
2670 | - 'br' => array(), |
|
2671 | - 'em' => array(), |
|
2672 | - 'strong' => array(), |
|
2673 | - 'small' => array(), |
|
2674 | - 'span' => array(), |
|
2675 | - 'ul' => array(), |
|
2676 | - 'li' => array(), |
|
2677 | - 'ol' => array(), |
|
2678 | - 'p' => array(), |
|
2679 | - ) ) ); |
|
2680 | - } |
|
2681 | - |
|
2682 | - /** |
|
2683 | - * Processing widget options on save |
|
2684 | - * |
|
2685 | - * @param array $new_instance The new options |
|
2686 | - * @param array $old_instance The previous options |
|
2687 | - * |
|
2688 | - * @return array |
|
2689 | - * @todo we should add some sanitation here. |
|
2690 | - */ |
|
2691 | - public function update( $new_instance, $old_instance ) { |
|
2692 | - |
|
2693 | - //save the widget |
|
2694 | - $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
2695 | - |
|
2696 | - // set widget instance |
|
2697 | - $this->instance = $instance; |
|
2698 | - |
|
2699 | - if ( empty( $this->arguments ) ) { |
|
2700 | - $this->get_arguments(); |
|
2701 | - } |
|
2702 | - |
|
2703 | - // check for checkboxes |
|
2704 | - if ( ! empty( $this->arguments ) ) { |
|
2705 | - foreach ( $this->arguments as $argument ) { |
|
2706 | - if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
2707 | - $instance[ $argument['name'] ] = '0'; |
|
2708 | - } |
|
2709 | - } |
|
2710 | - } |
|
2711 | - |
|
2712 | - return $instance; |
|
2713 | - } |
|
2714 | - |
|
2715 | - /** |
|
2716 | - * Checks if the current call is a ajax call to get the block content. |
|
2717 | - * |
|
2718 | - * This can be used in your widget to return different content as the block content. |
|
2719 | - * |
|
2720 | - * @since 1.0.3 |
|
2721 | - * @return bool |
|
2722 | - */ |
|
2723 | - public function is_block_content_call() { |
|
2724 | - $result = false; |
|
2725 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
2726 | - $result = true; |
|
2727 | - } |
|
2728 | - |
|
2729 | - return $result; |
|
2730 | - } |
|
2731 | - |
|
2732 | - } |
|
2619 | + } |
|
2620 | + |
|
2621 | + /** |
|
2622 | + * Get the widget input description html. |
|
2623 | + * |
|
2624 | + * @param $args |
|
2625 | + * |
|
2626 | + * @return string |
|
2627 | + * @todo, need to make its own tooltip script |
|
2628 | + */ |
|
2629 | + public function widget_field_desc( $args ) { |
|
2630 | + |
|
2631 | + $description = ''; |
|
2632 | + if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
2633 | + if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
2634 | + $description = $this->desc_tip( $args['desc'] ); |
|
2635 | + } else { |
|
2636 | + $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
2637 | + } |
|
2638 | + } |
|
2639 | + |
|
2640 | + return $description; |
|
2641 | + } |
|
2642 | + |
|
2643 | + /** |
|
2644 | + * Get the tool tip html. |
|
2645 | + * |
|
2646 | + * @param $tip |
|
2647 | + * @param bool $allow_html |
|
2648 | + * |
|
2649 | + * @return string |
|
2650 | + */ |
|
2651 | + function desc_tip( $tip, $allow_html = false ) { |
|
2652 | + if ( $allow_html ) { |
|
2653 | + $tip = $this->sanitize_tooltip( $tip ); |
|
2654 | + } else { |
|
2655 | + $tip = esc_attr( $tip ); |
|
2656 | + } |
|
2657 | + |
|
2658 | + return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
2659 | + } |
|
2660 | + |
|
2661 | + /** |
|
2662 | + * Sanitize a string destined to be a tooltip. |
|
2663 | + * |
|
2664 | + * @param string $var |
|
2665 | + * |
|
2666 | + * @return string |
|
2667 | + */ |
|
2668 | + public function sanitize_tooltip( $var ) { |
|
2669 | + return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
2670 | + 'br' => array(), |
|
2671 | + 'em' => array(), |
|
2672 | + 'strong' => array(), |
|
2673 | + 'small' => array(), |
|
2674 | + 'span' => array(), |
|
2675 | + 'ul' => array(), |
|
2676 | + 'li' => array(), |
|
2677 | + 'ol' => array(), |
|
2678 | + 'p' => array(), |
|
2679 | + ) ) ); |
|
2680 | + } |
|
2681 | + |
|
2682 | + /** |
|
2683 | + * Processing widget options on save |
|
2684 | + * |
|
2685 | + * @param array $new_instance The new options |
|
2686 | + * @param array $old_instance The previous options |
|
2687 | + * |
|
2688 | + * @return array |
|
2689 | + * @todo we should add some sanitation here. |
|
2690 | + */ |
|
2691 | + public function update( $new_instance, $old_instance ) { |
|
2692 | + |
|
2693 | + //save the widget |
|
2694 | + $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
2695 | + |
|
2696 | + // set widget instance |
|
2697 | + $this->instance = $instance; |
|
2698 | + |
|
2699 | + if ( empty( $this->arguments ) ) { |
|
2700 | + $this->get_arguments(); |
|
2701 | + } |
|
2702 | + |
|
2703 | + // check for checkboxes |
|
2704 | + if ( ! empty( $this->arguments ) ) { |
|
2705 | + foreach ( $this->arguments as $argument ) { |
|
2706 | + if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
2707 | + $instance[ $argument['name'] ] = '0'; |
|
2708 | + } |
|
2709 | + } |
|
2710 | + } |
|
2711 | + |
|
2712 | + return $instance; |
|
2713 | + } |
|
2714 | + |
|
2715 | + /** |
|
2716 | + * Checks if the current call is a ajax call to get the block content. |
|
2717 | + * |
|
2718 | + * This can be used in your widget to return different content as the block content. |
|
2719 | + * |
|
2720 | + * @since 1.0.3 |
|
2721 | + * @return bool |
|
2722 | + */ |
|
2723 | + public function is_block_content_call() { |
|
2724 | + $result = false; |
|
2725 | + if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
2726 | + $result = true; |
|
2727 | + } |
|
2728 | + |
|
2729 | + return $result; |
|
2730 | + } |
|
2731 | + |
|
2732 | + } |
|
2733 | 2733 | |
2734 | 2734 | } |
2735 | 2735 | \ No newline at end of file |
@@ -103,29 +103,29 @@ discard block |
||
103 | 103 | |
104 | 104 | function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
105 | 105 | if ( ! empty( $args ) && is_array( $args ) ) { |
106 | - extract( $args ); |
|
107 | - } |
|
106 | + extract( $args ); |
|
107 | + } |
|
108 | 108 | |
109 | - $located = wpinv_locate_template( $template_name, $template_path, $default_path ); |
|
110 | - // Allow 3rd party plugin filter template file from their plugin. |
|
111 | - $located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path ); |
|
109 | + $located = wpinv_locate_template( $template_name, $template_path, $default_path ); |
|
110 | + // Allow 3rd party plugin filter template file from their plugin. |
|
111 | + $located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path ); |
|
112 | 112 | |
113 | - if ( ! file_exists( $located ) ) { |
|
113 | + if ( ! file_exists( $located ) ) { |
|
114 | 114 | _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' ); |
115 | - return; |
|
116 | - } |
|
115 | + return; |
|
116 | + } |
|
117 | 117 | |
118 | - do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args ); |
|
118 | + do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args ); |
|
119 | 119 | |
120 | - include( $located ); |
|
120 | + include( $located ); |
|
121 | 121 | |
122 | - do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args ); |
|
122 | + do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args ); |
|
123 | 123 | } |
124 | 124 | |
125 | 125 | function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
126 | - ob_start(); |
|
127 | - wpinv_get_template( $template_name, $args, $template_path, $default_path ); |
|
128 | - return ob_get_clean(); |
|
126 | + ob_start(); |
|
127 | + wpinv_get_template( $template_name, $args, $template_path, $default_path ); |
|
128 | + return ob_get_clean(); |
|
129 | 129 | } |
130 | 130 | |
131 | 131 | function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) { |
@@ -155,126 +155,126 @@ discard block |
||
155 | 155 | } |
156 | 156 | |
157 | 157 | function wpinv_get_template_part( $slug, $name = null, $load = true ) { |
158 | - do_action( 'get_template_part_' . $slug, $slug, $name ); |
|
158 | + do_action( 'get_template_part_' . $slug, $slug, $name ); |
|
159 | 159 | |
160 | - // Setup possible parts |
|
161 | - $templates = array(); |
|
162 | - if ( isset( $name ) ) |
|
163 | - $templates[] = $slug . '-' . $name . '.php'; |
|
164 | - $templates[] = $slug . '.php'; |
|
160 | + // Setup possible parts |
|
161 | + $templates = array(); |
|
162 | + if ( isset( $name ) ) |
|
163 | + $templates[] = $slug . '-' . $name . '.php'; |
|
164 | + $templates[] = $slug . '.php'; |
|
165 | 165 | |
166 | - // Allow template parts to be filtered |
|
167 | - $templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name ); |
|
166 | + // Allow template parts to be filtered |
|
167 | + $templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name ); |
|
168 | 168 | |
169 | - // Return the part that is found |
|
170 | - return wpinv_locate_tmpl( $templates, $load, false ); |
|
169 | + // Return the part that is found |
|
170 | + return wpinv_locate_tmpl( $templates, $load, false ); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) { |
174 | - // No file found yet |
|
175 | - $located = false; |
|
174 | + // No file found yet |
|
175 | + $located = false; |
|
176 | 176 | |
177 | - // Try to find a template file |
|
178 | - foreach ( (array)$template_names as $template_name ) { |
|
177 | + // Try to find a template file |
|
178 | + foreach ( (array)$template_names as $template_name ) { |
|
179 | 179 | |
180 | - // Continue if template is empty |
|
181 | - if ( empty( $template_name ) ) |
|
182 | - continue; |
|
180 | + // Continue if template is empty |
|
181 | + if ( empty( $template_name ) ) |
|
182 | + continue; |
|
183 | 183 | |
184 | - // Trim off any slashes from the template name |
|
185 | - $template_name = ltrim( $template_name, '/' ); |
|
184 | + // Trim off any slashes from the template name |
|
185 | + $template_name = ltrim( $template_name, '/' ); |
|
186 | 186 | |
187 | - // try locating this template file by looping through the template paths |
|
188 | - foreach( wpinv_get_theme_template_paths() as $template_path ) { |
|
187 | + // try locating this template file by looping through the template paths |
|
188 | + foreach( wpinv_get_theme_template_paths() as $template_path ) { |
|
189 | 189 | |
190 | - if( file_exists( $template_path . $template_name ) ) { |
|
191 | - $located = $template_path . $template_name; |
|
192 | - break; |
|
193 | - } |
|
194 | - } |
|
190 | + if( file_exists( $template_path . $template_name ) ) { |
|
191 | + $located = $template_path . $template_name; |
|
192 | + break; |
|
193 | + } |
|
194 | + } |
|
195 | 195 | |
196 | - if( !empty( $located ) ) { |
|
197 | - break; |
|
198 | - } |
|
199 | - } |
|
196 | + if( !empty( $located ) ) { |
|
197 | + break; |
|
198 | + } |
|
199 | + } |
|
200 | 200 | |
201 | - if ( ( true == $load ) && ! empty( $located ) ) |
|
202 | - load_template( $located, $require_once ); |
|
201 | + if ( ( true == $load ) && ! empty( $located ) ) |
|
202 | + load_template( $located, $require_once ); |
|
203 | 203 | |
204 | - return $located; |
|
204 | + return $located; |
|
205 | 205 | } |
206 | 206 | |
207 | 207 | function wpinv_get_theme_template_paths() { |
208 | - $template_dir = wpinv_get_theme_template_dir_name(); |
|
208 | + $template_dir = wpinv_get_theme_template_dir_name(); |
|
209 | 209 | |
210 | - $file_paths = array( |
|
211 | - 1 => trailingslashit( get_stylesheet_directory() ) . $template_dir, |
|
212 | - 10 => trailingslashit( get_template_directory() ) . $template_dir, |
|
213 | - 100 => wpinv_get_templates_dir() |
|
214 | - ); |
|
210 | + $file_paths = array( |
|
211 | + 1 => trailingslashit( get_stylesheet_directory() ) . $template_dir, |
|
212 | + 10 => trailingslashit( get_template_directory() ) . $template_dir, |
|
213 | + 100 => wpinv_get_templates_dir() |
|
214 | + ); |
|
215 | 215 | |
216 | - $file_paths = apply_filters( 'wpinv_template_paths', $file_paths ); |
|
216 | + $file_paths = apply_filters( 'wpinv_template_paths', $file_paths ); |
|
217 | 217 | |
218 | - // sort the file paths based on priority |
|
219 | - ksort( $file_paths, SORT_NUMERIC ); |
|
218 | + // sort the file paths based on priority |
|
219 | + ksort( $file_paths, SORT_NUMERIC ); |
|
220 | 220 | |
221 | - return array_map( 'trailingslashit', $file_paths ); |
|
221 | + return array_map( 'trailingslashit', $file_paths ); |
|
222 | 222 | } |
223 | 223 | |
224 | 224 | function wpinv_get_theme_template_dir_name() { |
225 | - return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) ); |
|
225 | + return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) ); |
|
226 | 226 | } |
227 | 227 | |
228 | 228 | function wpinv_checkout_meta_tags() { |
229 | 229 | |
230 | - $pages = array(); |
|
231 | - $pages[] = wpinv_get_option( 'success_page' ); |
|
232 | - $pages[] = wpinv_get_option( 'failure_page' ); |
|
233 | - $pages[] = wpinv_get_option( 'invoice_history_page' ); |
|
234 | - $pages[] = wpinv_get_option( 'invoice_subscription_page' ); |
|
230 | + $pages = array(); |
|
231 | + $pages[] = wpinv_get_option( 'success_page' ); |
|
232 | + $pages[] = wpinv_get_option( 'failure_page' ); |
|
233 | + $pages[] = wpinv_get_option( 'invoice_history_page' ); |
|
234 | + $pages[] = wpinv_get_option( 'invoice_subscription_page' ); |
|
235 | 235 | |
236 | - if( !wpinv_is_checkout() && !is_page( $pages ) ) { |
|
237 | - return; |
|
238 | - } |
|
236 | + if( !wpinv_is_checkout() && !is_page( $pages ) ) { |
|
237 | + return; |
|
238 | + } |
|
239 | 239 | |
240 | - echo '<meta name="robots" content="noindex,nofollow" />' . "\n"; |
|
240 | + echo '<meta name="robots" content="noindex,nofollow" />' . "\n"; |
|
241 | 241 | } |
242 | 242 | add_action( 'wp_head', 'wpinv_checkout_meta_tags' ); |
243 | 243 | |
244 | 244 | function wpinv_add_body_classes( $class ) { |
245 | - $classes = (array)$class; |
|
245 | + $classes = (array)$class; |
|
246 | 246 | |
247 | - if( wpinv_is_checkout() ) { |
|
248 | - $classes[] = 'wpinv-checkout'; |
|
249 | - $classes[] = 'wpinv-page'; |
|
250 | - } |
|
247 | + if( wpinv_is_checkout() ) { |
|
248 | + $classes[] = 'wpinv-checkout'; |
|
249 | + $classes[] = 'wpinv-page'; |
|
250 | + } |
|
251 | 251 | |
252 | - if( wpinv_is_success_page() ) { |
|
253 | - $classes[] = 'wpinv-success'; |
|
254 | - $classes[] = 'wpinv-page'; |
|
255 | - } |
|
252 | + if( wpinv_is_success_page() ) { |
|
253 | + $classes[] = 'wpinv-success'; |
|
254 | + $classes[] = 'wpinv-page'; |
|
255 | + } |
|
256 | 256 | |
257 | - if( wpinv_is_failed_transaction_page() ) { |
|
258 | - $classes[] = 'wpinv-failed-transaction'; |
|
259 | - $classes[] = 'wpinv-page'; |
|
260 | - } |
|
257 | + if( wpinv_is_failed_transaction_page() ) { |
|
258 | + $classes[] = 'wpinv-failed-transaction'; |
|
259 | + $classes[] = 'wpinv-page'; |
|
260 | + } |
|
261 | 261 | |
262 | - if( wpinv_is_invoice_history_page() ) { |
|
263 | - $classes[] = 'wpinv-history'; |
|
264 | - $classes[] = 'wpinv-page'; |
|
265 | - } |
|
262 | + if( wpinv_is_invoice_history_page() ) { |
|
263 | + $classes[] = 'wpinv-history'; |
|
264 | + $classes[] = 'wpinv-page'; |
|
265 | + } |
|
266 | 266 | |
267 | - if( wpinv_is_subscriptions_history_page() ) { |
|
268 | - $classes[] = 'wpinv-subscription'; |
|
269 | - $classes[] = 'wpinv-page'; |
|
270 | - } |
|
267 | + if( wpinv_is_subscriptions_history_page() ) { |
|
268 | + $classes[] = 'wpinv-subscription'; |
|
269 | + $classes[] = 'wpinv-page'; |
|
270 | + } |
|
271 | 271 | |
272 | - if( wpinv_is_test_mode() ) { |
|
273 | - $classes[] = 'wpinv-test-mode'; |
|
274 | - $classes[] = 'wpinv-page'; |
|
275 | - } |
|
272 | + if( wpinv_is_test_mode() ) { |
|
273 | + $classes[] = 'wpinv-test-mode'; |
|
274 | + $classes[] = 'wpinv-page'; |
|
275 | + } |
|
276 | 276 | |
277 | - return array_unique( $classes ); |
|
277 | + return array_unique( $classes ); |
|
278 | 278 | } |
279 | 279 | add_filter( 'body_class', 'wpinv_add_body_classes' ); |
280 | 280 | |
@@ -947,21 +947,21 @@ discard block |
||
947 | 947 | |
948 | 948 | $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format ); |
949 | 949 | |
950 | - // Remove unavailable tags. |
|
950 | + // Remove unavailable tags. |
|
951 | 951 | $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address ); |
952 | 952 | |
953 | 953 | // Clean up white space. |
954 | - $formatted_address = preg_replace( '/ +/', ' ', trim( $formatted_address ) ); |
|
954 | + $formatted_address = preg_replace( '/ +/', ' ', trim( $formatted_address ) ); |
|
955 | 955 | $formatted_address = preg_replace( '/\n\n+/', "\n", $formatted_address ); |
956 | 956 | |
957 | 957 | // Break newlines apart and remove empty lines/trim commas and white space. |
958 | - $formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) ); |
|
958 | + $formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) ); |
|
959 | 959 | |
960 | 960 | // Add html breaks. |
961 | - $formatted_address = implode( $separator, $formatted_address ); |
|
961 | + $formatted_address = implode( $separator, $formatted_address ); |
|
962 | 962 | |
963 | - // We're done! |
|
964 | - return $formatted_address; |
|
963 | + // We're done! |
|
964 | + return $formatted_address; |
|
965 | 965 | |
966 | 966 | } |
967 | 967 | |
@@ -1048,7 +1048,7 @@ discard block |
||
1048 | 1048 | |
1049 | 1049 | $item = $item_id ? new WPInv_Item( $item_id ) : NULL; |
1050 | 1050 | $summary = ''; |
1051 | - $item_name = ''; |
|
1051 | + $item_name = ''; |
|
1052 | 1052 | $cols = 3; |
1053 | 1053 | if ( !empty($item) ) { |
1054 | 1054 | $item_name = $item->get_name(); |
@@ -1426,7 +1426,7 @@ discard block |
||
1426 | 1426 | $form_action = esc_url( wpinv_get_checkout_uri() ); |
1427 | 1427 | |
1428 | 1428 | ob_start(); |
1429 | - do_action( 'wpinv_checkout_content_before' ); |
|
1429 | + do_action( 'wpinv_checkout_content_before' ); |
|
1430 | 1430 | echo '<div id="wpinv_checkout_wrap">'; |
1431 | 1431 | |
1432 | 1432 | if ( wpinv_get_cart_contents() || wpinv_cart_has_fees() ) { |
@@ -1449,7 +1449,7 @@ discard block |
||
1449 | 1449 | do_action( 'wpinv_cart_empty' ); |
1450 | 1450 | } |
1451 | 1451 | echo '</div><!--end #wpinv_checkout_wrap-->'; |
1452 | - do_action( 'wpinv_checkout_content_after' ); |
|
1452 | + do_action( 'wpinv_checkout_content_after' ); |
|
1453 | 1453 | return ob_get_clean(); |
1454 | 1454 | } |
1455 | 1455 | |
@@ -1476,7 +1476,7 @@ discard block |
||
1476 | 1476 | add_action( 'wpinv_checkout_cart', 'wpinv_checkout_cart', 10 ); |
1477 | 1477 | |
1478 | 1478 | function wpinv_empty_cart_message() { |
1479 | - return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' ); |
|
1479 | + return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' ); |
|
1480 | 1480 | } |
1481 | 1481 | |
1482 | 1482 | /** |
@@ -1486,7 +1486,7 @@ discard block |
||
1486 | 1486 | * @return void |
1487 | 1487 | */ |
1488 | 1488 | function wpinv_empty_checkout_cart() { |
1489 | - echo wpinv_empty_cart_message(); |
|
1489 | + echo wpinv_empty_cart_message(); |
|
1490 | 1490 | } |
1491 | 1491 | add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' ); |
1492 | 1492 |
@@ -11,289 +11,289 @@ |
||
11 | 11 | defined( 'ABSPATH' ) || exit; |
12 | 12 | |
13 | 13 | return array( |
14 | - 'AF' => array( |
|
15 | - 'name' => __( 'Africa', 'invoicing' ), |
|
16 | - 'countries' => array( |
|
17 | - 'AO', |
|
18 | - 'BF', |
|
19 | - 'BI', |
|
20 | - 'BJ', |
|
21 | - 'BW', |
|
22 | - 'CD', |
|
23 | - 'CF', |
|
24 | - 'CG', |
|
25 | - 'CI', |
|
26 | - 'CM', |
|
27 | - 'CV', |
|
28 | - 'DJ', |
|
29 | - 'DZ', |
|
30 | - 'EG', |
|
31 | - 'EH', |
|
32 | - 'ER', |
|
33 | - 'ET', |
|
34 | - 'GA', |
|
35 | - 'GH', |
|
36 | - 'GM', |
|
37 | - 'GN', |
|
38 | - 'GQ', |
|
39 | - 'GW', |
|
40 | - 'KE', |
|
41 | - 'KM', |
|
42 | - 'LR', |
|
43 | - 'LS', |
|
44 | - 'LY', |
|
45 | - 'MA', |
|
46 | - 'MG', |
|
47 | - 'ML', |
|
48 | - 'MR', |
|
49 | - 'MU', |
|
50 | - 'MW', |
|
51 | - 'MZ', |
|
52 | - 'NA', |
|
53 | - 'NE', |
|
54 | - 'NG', |
|
55 | - 'RE', |
|
56 | - 'RW', |
|
57 | - 'SC', |
|
58 | - 'SD', |
|
59 | - 'SH', |
|
60 | - 'SL', |
|
61 | - 'SN', |
|
62 | - 'SO', |
|
63 | - 'SS', |
|
64 | - 'ST', |
|
65 | - 'SZ', |
|
66 | - 'TD', |
|
67 | - 'TG', |
|
68 | - 'TN', |
|
69 | - 'TZ', |
|
70 | - 'UG', |
|
71 | - 'YT', |
|
72 | - 'ZA', |
|
73 | - 'ZM', |
|
74 | - 'ZW', |
|
75 | - ), |
|
76 | - ), |
|
77 | - 'AN' => array( |
|
78 | - 'name' => __( 'Antarctica', 'invoicing' ), |
|
79 | - 'countries' => array( |
|
80 | - 'AQ', |
|
81 | - 'BV', |
|
82 | - 'GS', |
|
83 | - 'HM', |
|
84 | - 'TF', |
|
85 | - ), |
|
86 | - ), |
|
87 | - 'AS' => array( |
|
88 | - 'name' => __( 'Asia', 'invoicing' ), |
|
89 | - 'countries' => array( |
|
90 | - 'AE', |
|
91 | - 'AF', |
|
92 | - 'AM', |
|
93 | - 'AZ', |
|
94 | - 'BD', |
|
95 | - 'BH', |
|
96 | - 'BN', |
|
97 | - 'BT', |
|
98 | - 'CC', |
|
99 | - 'CN', |
|
100 | - 'CX', |
|
101 | - 'CY', |
|
102 | - 'GE', |
|
103 | - 'HK', |
|
104 | - 'ID', |
|
105 | - 'IL', |
|
106 | - 'IN', |
|
107 | - 'IO', |
|
108 | - 'IQ', |
|
109 | - 'IR', |
|
110 | - 'JO', |
|
111 | - 'JP', |
|
112 | - 'KG', |
|
113 | - 'KH', |
|
114 | - 'KP', |
|
115 | - 'KR', |
|
116 | - 'KW', |
|
117 | - 'KZ', |
|
118 | - 'LA', |
|
119 | - 'LB', |
|
120 | - 'LK', |
|
121 | - 'MM', |
|
122 | - 'MN', |
|
123 | - 'MO', |
|
124 | - 'MV', |
|
125 | - 'MY', |
|
126 | - 'NP', |
|
127 | - 'OM', |
|
128 | - 'PH', |
|
129 | - 'PK', |
|
130 | - 'PS', |
|
131 | - 'QA', |
|
132 | - 'SA', |
|
133 | - 'SG', |
|
134 | - 'SY', |
|
135 | - 'TH', |
|
136 | - 'TJ', |
|
137 | - 'TL', |
|
138 | - 'TM', |
|
139 | - 'TW', |
|
140 | - 'UZ', |
|
141 | - 'VN', |
|
142 | - 'YE', |
|
143 | - ), |
|
144 | - ), |
|
145 | - 'EU' => array( |
|
146 | - 'name' => __( 'Europe', 'invoicing' ), |
|
147 | - 'countries' => array( |
|
148 | - 'AD', |
|
149 | - 'AL', |
|
150 | - 'AT', |
|
151 | - 'AX', |
|
152 | - 'BA', |
|
153 | - 'BE', |
|
154 | - 'BG', |
|
155 | - 'BY', |
|
156 | - 'CH', |
|
157 | - 'CY', |
|
158 | - 'CZ', |
|
159 | - 'DE', |
|
160 | - 'DK', |
|
161 | - 'EE', |
|
162 | - 'ES', |
|
163 | - 'FI', |
|
164 | - 'FO', |
|
165 | - 'FR', |
|
166 | - 'GB', |
|
167 | - 'GG', |
|
168 | - 'GI', |
|
169 | - 'GR', |
|
170 | - 'HR', |
|
171 | - 'HU', |
|
172 | - 'IE', |
|
173 | - 'IM', |
|
174 | - 'IS', |
|
175 | - 'IT', |
|
176 | - 'JE', |
|
177 | - 'LI', |
|
178 | - 'LT', |
|
179 | - 'LU', |
|
180 | - 'LV', |
|
181 | - 'MC', |
|
182 | - 'MD', |
|
183 | - 'ME', |
|
184 | - 'MK', |
|
185 | - 'MT', |
|
186 | - 'NL', |
|
187 | - 'NO', |
|
188 | - 'PL', |
|
189 | - 'PT', |
|
190 | - 'RO', |
|
191 | - 'RS', |
|
192 | - 'RU', |
|
193 | - 'SE', |
|
194 | - 'SI', |
|
195 | - 'SJ', |
|
196 | - 'SK', |
|
197 | - 'SM', |
|
198 | - 'TR', |
|
199 | - 'UA', |
|
200 | - 'VA', |
|
201 | - ), |
|
202 | - ), |
|
203 | - 'NA' => array( |
|
204 | - 'name' => __( 'North America', 'invoicing' ), |
|
205 | - 'countries' => array( |
|
206 | - 'AG', |
|
207 | - 'AI', |
|
208 | - 'AW', |
|
209 | - 'BB', |
|
210 | - 'BL', |
|
211 | - 'BM', |
|
212 | - 'BQ', |
|
213 | - 'BS', |
|
214 | - 'BZ', |
|
215 | - 'CA', |
|
216 | - 'CR', |
|
217 | - 'CU', |
|
218 | - 'CW', |
|
219 | - 'DM', |
|
220 | - 'DO', |
|
221 | - 'GD', |
|
222 | - 'GL', |
|
223 | - 'GP', |
|
224 | - 'GT', |
|
225 | - 'HN', |
|
226 | - 'HT', |
|
227 | - 'JM', |
|
228 | - 'KN', |
|
229 | - 'KY', |
|
230 | - 'LC', |
|
231 | - 'MF', |
|
232 | - 'MQ', |
|
233 | - 'MS', |
|
234 | - 'MX', |
|
235 | - 'NI', |
|
236 | - 'PA', |
|
237 | - 'PM', |
|
238 | - 'PR', |
|
239 | - 'SV', |
|
240 | - 'SX', |
|
241 | - 'TC', |
|
242 | - 'TT', |
|
243 | - 'US', |
|
244 | - 'VC', |
|
245 | - 'VG', |
|
246 | - 'VI', |
|
247 | - ), |
|
248 | - ), |
|
249 | - 'OC' => array( |
|
250 | - 'name' => __( 'Oceania', 'invoicing' ), |
|
251 | - 'countries' => array( |
|
252 | - 'AS', |
|
253 | - 'AU', |
|
254 | - 'CK', |
|
255 | - 'FJ', |
|
256 | - 'FM', |
|
257 | - 'GU', |
|
258 | - 'KI', |
|
259 | - 'MH', |
|
260 | - 'MP', |
|
261 | - 'NC', |
|
262 | - 'NF', |
|
263 | - 'NR', |
|
264 | - 'NU', |
|
265 | - 'NZ', |
|
266 | - 'PF', |
|
267 | - 'PG', |
|
268 | - 'PN', |
|
269 | - 'PW', |
|
270 | - 'SB', |
|
271 | - 'TK', |
|
272 | - 'TO', |
|
273 | - 'TV', |
|
274 | - 'UM', |
|
275 | - 'VU', |
|
276 | - 'WF', |
|
277 | - 'WS', |
|
278 | - ), |
|
279 | - ), |
|
280 | - 'SA' => array( |
|
281 | - 'name' => __( 'South America', 'invoicing' ), |
|
282 | - 'countries' => array( |
|
283 | - 'AR', |
|
284 | - 'BO', |
|
285 | - 'BR', |
|
286 | - 'CL', |
|
287 | - 'CO', |
|
288 | - 'EC', |
|
289 | - 'FK', |
|
290 | - 'GF', |
|
291 | - 'GY', |
|
292 | - 'PE', |
|
293 | - 'PY', |
|
294 | - 'SR', |
|
295 | - 'UY', |
|
296 | - 'VE', |
|
297 | - ), |
|
298 | - ), |
|
14 | + 'AF' => array( |
|
15 | + 'name' => __( 'Africa', 'invoicing' ), |
|
16 | + 'countries' => array( |
|
17 | + 'AO', |
|
18 | + 'BF', |
|
19 | + 'BI', |
|
20 | + 'BJ', |
|
21 | + 'BW', |
|
22 | + 'CD', |
|
23 | + 'CF', |
|
24 | + 'CG', |
|
25 | + 'CI', |
|
26 | + 'CM', |
|
27 | + 'CV', |
|
28 | + 'DJ', |
|
29 | + 'DZ', |
|
30 | + 'EG', |
|
31 | + 'EH', |
|
32 | + 'ER', |
|
33 | + 'ET', |
|
34 | + 'GA', |
|
35 | + 'GH', |
|
36 | + 'GM', |
|
37 | + 'GN', |
|
38 | + 'GQ', |
|
39 | + 'GW', |
|
40 | + 'KE', |
|
41 | + 'KM', |
|
42 | + 'LR', |
|
43 | + 'LS', |
|
44 | + 'LY', |
|
45 | + 'MA', |
|
46 | + 'MG', |
|
47 | + 'ML', |
|
48 | + 'MR', |
|
49 | + 'MU', |
|
50 | + 'MW', |
|
51 | + 'MZ', |
|
52 | + 'NA', |
|
53 | + 'NE', |
|
54 | + 'NG', |
|
55 | + 'RE', |
|
56 | + 'RW', |
|
57 | + 'SC', |
|
58 | + 'SD', |
|
59 | + 'SH', |
|
60 | + 'SL', |
|
61 | + 'SN', |
|
62 | + 'SO', |
|
63 | + 'SS', |
|
64 | + 'ST', |
|
65 | + 'SZ', |
|
66 | + 'TD', |
|
67 | + 'TG', |
|
68 | + 'TN', |
|
69 | + 'TZ', |
|
70 | + 'UG', |
|
71 | + 'YT', |
|
72 | + 'ZA', |
|
73 | + 'ZM', |
|
74 | + 'ZW', |
|
75 | + ), |
|
76 | + ), |
|
77 | + 'AN' => array( |
|
78 | + 'name' => __( 'Antarctica', 'invoicing' ), |
|
79 | + 'countries' => array( |
|
80 | + 'AQ', |
|
81 | + 'BV', |
|
82 | + 'GS', |
|
83 | + 'HM', |
|
84 | + 'TF', |
|
85 | + ), |
|
86 | + ), |
|
87 | + 'AS' => array( |
|
88 | + 'name' => __( 'Asia', 'invoicing' ), |
|
89 | + 'countries' => array( |
|
90 | + 'AE', |
|
91 | + 'AF', |
|
92 | + 'AM', |
|
93 | + 'AZ', |
|
94 | + 'BD', |
|
95 | + 'BH', |
|
96 | + 'BN', |
|
97 | + 'BT', |
|
98 | + 'CC', |
|
99 | + 'CN', |
|
100 | + 'CX', |
|
101 | + 'CY', |
|
102 | + 'GE', |
|
103 | + 'HK', |
|
104 | + 'ID', |
|
105 | + 'IL', |
|
106 | + 'IN', |
|
107 | + 'IO', |
|
108 | + 'IQ', |
|
109 | + 'IR', |
|
110 | + 'JO', |
|
111 | + 'JP', |
|
112 | + 'KG', |
|
113 | + 'KH', |
|
114 | + 'KP', |
|
115 | + 'KR', |
|
116 | + 'KW', |
|
117 | + 'KZ', |
|
118 | + 'LA', |
|
119 | + 'LB', |
|
120 | + 'LK', |
|
121 | + 'MM', |
|
122 | + 'MN', |
|
123 | + 'MO', |
|
124 | + 'MV', |
|
125 | + 'MY', |
|
126 | + 'NP', |
|
127 | + 'OM', |
|
128 | + 'PH', |
|
129 | + 'PK', |
|
130 | + 'PS', |
|
131 | + 'QA', |
|
132 | + 'SA', |
|
133 | + 'SG', |
|
134 | + 'SY', |
|
135 | + 'TH', |
|
136 | + 'TJ', |
|
137 | + 'TL', |
|
138 | + 'TM', |
|
139 | + 'TW', |
|
140 | + 'UZ', |
|
141 | + 'VN', |
|
142 | + 'YE', |
|
143 | + ), |
|
144 | + ), |
|
145 | + 'EU' => array( |
|
146 | + 'name' => __( 'Europe', 'invoicing' ), |
|
147 | + 'countries' => array( |
|
148 | + 'AD', |
|
149 | + 'AL', |
|
150 | + 'AT', |
|
151 | + 'AX', |
|
152 | + 'BA', |
|
153 | + 'BE', |
|
154 | + 'BG', |
|
155 | + 'BY', |
|
156 | + 'CH', |
|
157 | + 'CY', |
|
158 | + 'CZ', |
|
159 | + 'DE', |
|
160 | + 'DK', |
|
161 | + 'EE', |
|
162 | + 'ES', |
|
163 | + 'FI', |
|
164 | + 'FO', |
|
165 | + 'FR', |
|
166 | + 'GB', |
|
167 | + 'GG', |
|
168 | + 'GI', |
|
169 | + 'GR', |
|
170 | + 'HR', |
|
171 | + 'HU', |
|
172 | + 'IE', |
|
173 | + 'IM', |
|
174 | + 'IS', |
|
175 | + 'IT', |
|
176 | + 'JE', |
|
177 | + 'LI', |
|
178 | + 'LT', |
|
179 | + 'LU', |
|
180 | + 'LV', |
|
181 | + 'MC', |
|
182 | + 'MD', |
|
183 | + 'ME', |
|
184 | + 'MK', |
|
185 | + 'MT', |
|
186 | + 'NL', |
|
187 | + 'NO', |
|
188 | + 'PL', |
|
189 | + 'PT', |
|
190 | + 'RO', |
|
191 | + 'RS', |
|
192 | + 'RU', |
|
193 | + 'SE', |
|
194 | + 'SI', |
|
195 | + 'SJ', |
|
196 | + 'SK', |
|
197 | + 'SM', |
|
198 | + 'TR', |
|
199 | + 'UA', |
|
200 | + 'VA', |
|
201 | + ), |
|
202 | + ), |
|
203 | + 'NA' => array( |
|
204 | + 'name' => __( 'North America', 'invoicing' ), |
|
205 | + 'countries' => array( |
|
206 | + 'AG', |
|
207 | + 'AI', |
|
208 | + 'AW', |
|
209 | + 'BB', |
|
210 | + 'BL', |
|
211 | + 'BM', |
|
212 | + 'BQ', |
|
213 | + 'BS', |
|
214 | + 'BZ', |
|
215 | + 'CA', |
|
216 | + 'CR', |
|
217 | + 'CU', |
|
218 | + 'CW', |
|
219 | + 'DM', |
|
220 | + 'DO', |
|
221 | + 'GD', |
|
222 | + 'GL', |
|
223 | + 'GP', |
|
224 | + 'GT', |
|
225 | + 'HN', |
|
226 | + 'HT', |
|
227 | + 'JM', |
|
228 | + 'KN', |
|
229 | + 'KY', |
|
230 | + 'LC', |
|
231 | + 'MF', |
|
232 | + 'MQ', |
|
233 | + 'MS', |
|
234 | + 'MX', |
|
235 | + 'NI', |
|
236 | + 'PA', |
|
237 | + 'PM', |
|
238 | + 'PR', |
|
239 | + 'SV', |
|
240 | + 'SX', |
|
241 | + 'TC', |
|
242 | + 'TT', |
|
243 | + 'US', |
|
244 | + 'VC', |
|
245 | + 'VG', |
|
246 | + 'VI', |
|
247 | + ), |
|
248 | + ), |
|
249 | + 'OC' => array( |
|
250 | + 'name' => __( 'Oceania', 'invoicing' ), |
|
251 | + 'countries' => array( |
|
252 | + 'AS', |
|
253 | + 'AU', |
|
254 | + 'CK', |
|
255 | + 'FJ', |
|
256 | + 'FM', |
|
257 | + 'GU', |
|
258 | + 'KI', |
|
259 | + 'MH', |
|
260 | + 'MP', |
|
261 | + 'NC', |
|
262 | + 'NF', |
|
263 | + 'NR', |
|
264 | + 'NU', |
|
265 | + 'NZ', |
|
266 | + 'PF', |
|
267 | + 'PG', |
|
268 | + 'PN', |
|
269 | + 'PW', |
|
270 | + 'SB', |
|
271 | + 'TK', |
|
272 | + 'TO', |
|
273 | + 'TV', |
|
274 | + 'UM', |
|
275 | + 'VU', |
|
276 | + 'WF', |
|
277 | + 'WS', |
|
278 | + ), |
|
279 | + ), |
|
280 | + 'SA' => array( |
|
281 | + 'name' => __( 'South America', 'invoicing' ), |
|
282 | + 'countries' => array( |
|
283 | + 'AR', |
|
284 | + 'BO', |
|
285 | + 'BR', |
|
286 | + 'CL', |
|
287 | + 'CO', |
|
288 | + 'EC', |
|
289 | + 'FK', |
|
290 | + 'GF', |
|
291 | + 'GY', |
|
292 | + 'PE', |
|
293 | + 'PY', |
|
294 | + 'SR', |
|
295 | + 'UY', |
|
296 | + 'VE', |
|
297 | + ), |
|
298 | + ), |
|
299 | 299 | ); |
@@ -14,1537 +14,1537 @@ |
||
14 | 14 | defined( 'ABSPATH' ) || exit; |
15 | 15 | |
16 | 16 | return array( |
17 | - 'AF' => array(), |
|
18 | - 'AO' => array( // Angola states. |
|
19 | - 'BGO' => __( 'Bengo', 'invoicing' ), |
|
20 | - 'BLU' => __( 'Benguela', 'invoicing' ), |
|
21 | - 'BIE' => __( 'Bié', 'invoicing' ), |
|
22 | - 'CAB' => __( 'Cabinda', 'invoicing' ), |
|
23 | - 'CNN' => __( 'Cunene', 'invoicing' ), |
|
24 | - 'HUA' => __( 'Huambo', 'invoicing' ), |
|
25 | - 'HUI' => __( 'Huíla', 'invoicing' ), |
|
26 | - 'CCU' => __( 'Kuando Kubango', 'invoicing' ), |
|
27 | - 'CNO' => __( 'Kwanza-Norte', 'invoicing' ), |
|
28 | - 'CUS' => __( 'Kwanza-Sul', 'invoicing' ), |
|
29 | - 'LUA' => __( 'Luanda', 'invoicing' ), |
|
30 | - 'LNO' => __( 'Lunda-Norte', 'invoicing' ), |
|
31 | - 'LSU' => __( 'Lunda-Sul', 'invoicing' ), |
|
32 | - 'MAL' => __( 'Malanje', 'invoicing' ), |
|
33 | - 'MOX' => __( 'Moxico', 'invoicing' ), |
|
34 | - 'NAM' => __( 'Namibe', 'invoicing' ), |
|
35 | - 'UIG' => __( 'Uíge', 'invoicing' ), |
|
36 | - 'ZAI' => __( 'Zaire', 'invoicing' ), |
|
37 | - ), |
|
38 | - 'AR' => array( // Argentinian provinces. |
|
39 | - 'C' => __( 'Ciudad Autónoma de Buenos Aires', 'invoicing' ), |
|
40 | - 'B' => __( 'Buenos Aires', 'invoicing' ), |
|
41 | - 'K' => __( 'Catamarca', 'invoicing' ), |
|
42 | - 'H' => __( 'Chaco', 'invoicing' ), |
|
43 | - 'U' => __( 'Chubut', 'invoicing' ), |
|
44 | - 'X' => __( 'Córdoba', 'invoicing' ), |
|
45 | - 'W' => __( 'Corrientes', 'invoicing' ), |
|
46 | - 'E' => __( 'Entre Ríos', 'invoicing' ), |
|
47 | - 'P' => __( 'Formosa', 'invoicing' ), |
|
48 | - 'Y' => __( 'Jujuy', 'invoicing' ), |
|
49 | - 'L' => __( 'La Pampa', 'invoicing' ), |
|
50 | - 'F' => __( 'La Rioja', 'invoicing' ), |
|
51 | - 'M' => __( 'Mendoza', 'invoicing' ), |
|
52 | - 'N' => __( 'Misiones', 'invoicing' ), |
|
53 | - 'Q' => __( 'Neuquén', 'invoicing' ), |
|
54 | - 'R' => __( 'Río Negro', 'invoicing' ), |
|
55 | - 'A' => __( 'Salta', 'invoicing' ), |
|
56 | - 'J' => __( 'San Juan', 'invoicing' ), |
|
57 | - 'D' => __( 'San Luis', 'invoicing' ), |
|
58 | - 'Z' => __( 'Santa Cruz', 'invoicing' ), |
|
59 | - 'S' => __( 'Santa Fe', 'invoicing' ), |
|
60 | - 'G' => __( 'Santiago del Estero', 'invoicing' ), |
|
61 | - 'V' => __( 'Tierra del Fuego', 'invoicing' ), |
|
62 | - 'T' => __( 'Tucumán', 'invoicing' ), |
|
63 | - ), |
|
64 | - 'AT' => array(), |
|
65 | - 'AU' => array( // Australian states. |
|
66 | - 'ACT' => __( 'Australian Capital Territory', 'invoicing' ), |
|
67 | - 'NSW' => __( 'New South Wales', 'invoicing' ), |
|
68 | - 'NT' => __( 'Northern Territory', 'invoicing' ), |
|
69 | - 'QLD' => __( 'Queensland', 'invoicing' ), |
|
70 | - 'SA' => __( 'South Australia', 'invoicing' ), |
|
71 | - 'TAS' => __( 'Tasmania', 'invoicing' ), |
|
72 | - 'VIC' => __( 'Victoria', 'invoicing' ), |
|
73 | - 'WA' => __( 'Western Australia', 'invoicing' ), |
|
74 | - ), |
|
75 | - 'AX' => array(), |
|
76 | - 'BD' => array( // Bangladeshi states (districts). |
|
77 | - 'BD-05' => __( 'Bagerhat', 'invoicing' ), |
|
78 | - 'BD-01' => __( 'Bandarban', 'invoicing' ), |
|
79 | - 'BD-02' => __( 'Barguna', 'invoicing' ), |
|
80 | - 'BD-06' => __( 'Barishal', 'invoicing' ), |
|
81 | - 'BD-07' => __( 'Bhola', 'invoicing' ), |
|
82 | - 'BD-03' => __( 'Bogura', 'invoicing' ), |
|
83 | - 'BD-04' => __( 'Brahmanbaria', 'invoicing' ), |
|
84 | - 'BD-09' => __( 'Chandpur', 'invoicing' ), |
|
85 | - 'BD-10' => __( 'Chattogram', 'invoicing' ), |
|
86 | - 'BD-12' => __( 'Chuadanga', 'invoicing' ), |
|
87 | - 'BD-11' => __( "Cox's Bazar", 'invoicing' ), |
|
88 | - 'BD-08' => __( 'Cumilla', 'invoicing' ), |
|
89 | - 'BD-13' => __( 'Dhaka', 'invoicing' ), |
|
90 | - 'BD-14' => __( 'Dinajpur', 'invoicing' ), |
|
91 | - 'BD-15' => __( 'Faridpur ', 'invoicing' ), |
|
92 | - 'BD-16' => __( 'Feni', 'invoicing' ), |
|
93 | - 'BD-19' => __( 'Gaibandha', 'invoicing' ), |
|
94 | - 'BD-18' => __( 'Gazipur', 'invoicing' ), |
|
95 | - 'BD-17' => __( 'Gopalganj', 'invoicing' ), |
|
96 | - 'BD-20' => __( 'Habiganj', 'invoicing' ), |
|
97 | - 'BD-21' => __( 'Jamalpur', 'invoicing' ), |
|
98 | - 'BD-22' => __( 'Jashore', 'invoicing' ), |
|
99 | - 'BD-25' => __( 'Jhalokati', 'invoicing' ), |
|
100 | - 'BD-23' => __( 'Jhenaidah', 'invoicing' ), |
|
101 | - 'BD-24' => __( 'Joypurhat', 'invoicing' ), |
|
102 | - 'BD-29' => __( 'Khagrachhari', 'invoicing' ), |
|
103 | - 'BD-27' => __( 'Khulna', 'invoicing' ), |
|
104 | - 'BD-26' => __( 'Kishoreganj', 'invoicing' ), |
|
105 | - 'BD-28' => __( 'Kurigram', 'invoicing' ), |
|
106 | - 'BD-30' => __( 'Kushtia', 'invoicing' ), |
|
107 | - 'BD-31' => __( 'Lakshmipur', 'invoicing' ), |
|
108 | - 'BD-32' => __( 'Lalmonirhat', 'invoicing' ), |
|
109 | - 'BD-36' => __( 'Madaripur', 'invoicing' ), |
|
110 | - 'BD-37' => __( 'Magura', 'invoicing' ), |
|
111 | - 'BD-33' => __( 'Manikganj ', 'invoicing' ), |
|
112 | - 'BD-39' => __( 'Meherpur', 'invoicing' ), |
|
113 | - 'BD-38' => __( 'Moulvibazar', 'invoicing' ), |
|
114 | - 'BD-35' => __( 'Munshiganj', 'invoicing' ), |
|
115 | - 'BD-34' => __( 'Mymensingh', 'invoicing' ), |
|
116 | - 'BD-48' => __( 'Naogaon', 'invoicing' ), |
|
117 | - 'BD-43' => __( 'Narail', 'invoicing' ), |
|
118 | - 'BD-40' => __( 'Narayanganj', 'invoicing' ), |
|
119 | - 'BD-42' => __( 'Narsingdi', 'invoicing' ), |
|
120 | - 'BD-44' => __( 'Natore', 'invoicing' ), |
|
121 | - 'BD-45' => __( 'Nawabganj', 'invoicing' ), |
|
122 | - 'BD-41' => __( 'Netrakona', 'invoicing' ), |
|
123 | - 'BD-46' => __( 'Nilphamari', 'invoicing' ), |
|
124 | - 'BD-47' => __( 'Noakhali', 'invoicing' ), |
|
125 | - 'BD-49' => __( 'Pabna', 'invoicing' ), |
|
126 | - 'BD-52' => __( 'Panchagarh', 'invoicing' ), |
|
127 | - 'BD-51' => __( 'Patuakhali', 'invoicing' ), |
|
128 | - 'BD-50' => __( 'Pirojpur', 'invoicing' ), |
|
129 | - 'BD-53' => __( 'Rajbari', 'invoicing' ), |
|
130 | - 'BD-54' => __( 'Rajshahi', 'invoicing' ), |
|
131 | - 'BD-56' => __( 'Rangamati', 'invoicing' ), |
|
132 | - 'BD-55' => __( 'Rangpur', 'invoicing' ), |
|
133 | - 'BD-58' => __( 'Satkhira', 'invoicing' ), |
|
134 | - 'BD-62' => __( 'Shariatpur', 'invoicing' ), |
|
135 | - 'BD-57' => __( 'Sherpur', 'invoicing' ), |
|
136 | - 'BD-59' => __( 'Sirajganj', 'invoicing' ), |
|
137 | - 'BD-61' => __( 'Sunamganj', 'invoicing' ), |
|
138 | - 'BD-60' => __( 'Sylhet', 'invoicing' ), |
|
139 | - 'BD-63' => __( 'Tangail', 'invoicing' ), |
|
140 | - 'BD-64' => __( 'Thakurgaon', 'invoicing' ), |
|
141 | - ), |
|
142 | - 'BE' => array(), |
|
143 | - 'BG' => array( // Bulgarian states. |
|
144 | - 'BG-01' => __( 'Blagoevgrad', 'invoicing' ), |
|
145 | - 'BG-02' => __( 'Burgas', 'invoicing' ), |
|
146 | - 'BG-08' => __( 'Dobrich', 'invoicing' ), |
|
147 | - 'BG-07' => __( 'Gabrovo', 'invoicing' ), |
|
148 | - 'BG-26' => __( 'Haskovo', 'invoicing' ), |
|
149 | - 'BG-09' => __( 'Kardzhali', 'invoicing' ), |
|
150 | - 'BG-10' => __( 'Kyustendil', 'invoicing' ), |
|
151 | - 'BG-11' => __( 'Lovech', 'invoicing' ), |
|
152 | - 'BG-12' => __( 'Montana', 'invoicing' ), |
|
153 | - 'BG-13' => __( 'Pazardzhik', 'invoicing' ), |
|
154 | - 'BG-14' => __( 'Pernik', 'invoicing' ), |
|
155 | - 'BG-15' => __( 'Pleven', 'invoicing' ), |
|
156 | - 'BG-16' => __( 'Plovdiv', 'invoicing' ), |
|
157 | - 'BG-17' => __( 'Razgrad', 'invoicing' ), |
|
158 | - 'BG-18' => __( 'Ruse', 'invoicing' ), |
|
159 | - 'BG-27' => __( 'Shumen', 'invoicing' ), |
|
160 | - 'BG-19' => __( 'Silistra', 'invoicing' ), |
|
161 | - 'BG-20' => __( 'Sliven', 'invoicing' ), |
|
162 | - 'BG-21' => __( 'Smolyan', 'invoicing' ), |
|
163 | - 'BG-23' => __( 'Sofia', 'invoicing' ), |
|
164 | - 'BG-22' => __( 'Sofia-Grad', 'invoicing' ), |
|
165 | - 'BG-24' => __( 'Stara Zagora', 'invoicing' ), |
|
166 | - 'BG-25' => __( 'Targovishte', 'invoicing' ), |
|
167 | - 'BG-03' => __( 'Varna', 'invoicing' ), |
|
168 | - 'BG-04' => __( 'Veliko Tarnovo', 'invoicing' ), |
|
169 | - 'BG-05' => __( 'Vidin', 'invoicing' ), |
|
170 | - 'BG-06' => __( 'Vratsa', 'invoicing' ), |
|
171 | - 'BG-28' => __( 'Yambol', 'invoicing' ), |
|
172 | - ), |
|
173 | - 'BH' => array(), |
|
174 | - 'BI' => array(), |
|
175 | - 'BO' => array( // Bolivian states. |
|
176 | - 'B' => __( 'Chuquisaca', 'invoicing' ), |
|
177 | - 'H' => __( 'Beni', 'invoicing' ), |
|
178 | - 'C' => __( 'Cochabamba', 'invoicing' ), |
|
179 | - 'L' => __( 'La Paz', 'invoicing' ), |
|
180 | - 'O' => __( 'Oruro', 'invoicing' ), |
|
181 | - 'N' => __( 'Pando', 'invoicing' ), |
|
182 | - 'P' => __( 'Potosí', 'invoicing' ), |
|
183 | - 'S' => __( 'Santa Cruz', 'invoicing' ), |
|
184 | - 'T' => __( 'Tarija', 'invoicing' ), |
|
185 | - ), |
|
186 | - 'BR' => array( // Brazillian states. |
|
187 | - 'AC' => __( 'Acre', 'invoicing' ), |
|
188 | - 'AL' => __( 'Alagoas', 'invoicing' ), |
|
189 | - 'AP' => __( 'Amapá', 'invoicing' ), |
|
190 | - 'AM' => __( 'Amazonas', 'invoicing' ), |
|
191 | - 'BA' => __( 'Bahia', 'invoicing' ), |
|
192 | - 'CE' => __( 'Ceará', 'invoicing' ), |
|
193 | - 'DF' => __( 'Distrito Federal', 'invoicing' ), |
|
194 | - 'ES' => __( 'Espírito Santo', 'invoicing' ), |
|
195 | - 'GO' => __( 'Goiás', 'invoicing' ), |
|
196 | - 'MA' => __( 'Maranhão', 'invoicing' ), |
|
197 | - 'MT' => __( 'Mato Grosso', 'invoicing' ), |
|
198 | - 'MS' => __( 'Mato Grosso do Sul', 'invoicing' ), |
|
199 | - 'MG' => __( 'Minas Gerais', 'invoicing' ), |
|
200 | - 'PA' => __( 'Pará', 'invoicing' ), |
|
201 | - 'PB' => __( 'Paraíba', 'invoicing' ), |
|
202 | - 'PR' => __( 'Paraná', 'invoicing' ), |
|
203 | - 'PE' => __( 'Pernambuco', 'invoicing' ), |
|
204 | - 'PI' => __( 'Piauí', 'invoicing' ), |
|
205 | - 'RJ' => __( 'Rio de Janeiro', 'invoicing' ), |
|
206 | - 'RN' => __( 'Rio Grande do Norte', 'invoicing' ), |
|
207 | - 'RS' => __( 'Rio Grande do Sul', 'invoicing' ), |
|
208 | - 'RO' => __( 'Rondônia', 'invoicing' ), |
|
209 | - 'RR' => __( 'Roraima', 'invoicing' ), |
|
210 | - 'SC' => __( 'Santa Catarina', 'invoicing' ), |
|
211 | - 'SP' => __( 'São Paulo', 'invoicing' ), |
|
212 | - 'SE' => __( 'Sergipe', 'invoicing' ), |
|
213 | - 'TO' => __( 'Tocantins', 'invoicing' ), |
|
214 | - ), |
|
215 | - 'CA' => array( // Canadian states. |
|
216 | - 'AB' => __( 'Alberta', 'invoicing' ), |
|
217 | - 'BC' => __( 'British Columbia', 'invoicing' ), |
|
218 | - 'MB' => __( 'Manitoba', 'invoicing' ), |
|
219 | - 'NB' => __( 'New Brunswick', 'invoicing' ), |
|
220 | - 'NL' => __( 'Newfoundland and Labrador', 'invoicing' ), |
|
221 | - 'NT' => __( 'Northwest Territories', 'invoicing' ), |
|
222 | - 'NS' => __( 'Nova Scotia', 'invoicing' ), |
|
223 | - 'NU' => __( 'Nunavut', 'invoicing' ), |
|
224 | - 'ON' => __( 'Ontario', 'invoicing' ), |
|
225 | - 'PE' => __( 'Prince Edward Island', 'invoicing' ), |
|
226 | - 'QC' => __( 'Quebec', 'invoicing' ), |
|
227 | - 'SK' => __( 'Saskatchewan', 'invoicing' ), |
|
228 | - 'YT' => __( 'Yukon Territory', 'invoicing' ), |
|
229 | - ), |
|
230 | - 'CH' => array( // Cantons of Switzerland. |
|
231 | - 'AG' => __( 'Aargau', 'invoicing' ), |
|
232 | - 'AR' => __( 'Appenzell Ausserrhoden', 'invoicing' ), |
|
233 | - 'AI' => __( 'Appenzell Innerrhoden', 'invoicing' ), |
|
234 | - 'BL' => __( 'Basel-Landschaft', 'invoicing' ), |
|
235 | - 'BS' => __( 'Basel-Stadt', 'invoicing' ), |
|
236 | - 'BE' => __( 'Bern', 'invoicing' ), |
|
237 | - 'FR' => __( 'Fribourg', 'invoicing' ), |
|
238 | - 'GE' => __( 'Geneva', 'invoicing' ), |
|
239 | - 'GL' => __( 'Glarus', 'invoicing' ), |
|
240 | - 'GR' => __( 'Graubünden', 'invoicing' ), |
|
241 | - 'JU' => __( 'Jura', 'invoicing' ), |
|
242 | - 'LU' => __( 'Luzern', 'invoicing' ), |
|
243 | - 'NE' => __( 'Neuchâtel', 'invoicing' ), |
|
244 | - 'NW' => __( 'Nidwalden', 'invoicing' ), |
|
245 | - 'OW' => __( 'Obwalden', 'invoicing' ), |
|
246 | - 'SH' => __( 'Schaffhausen', 'invoicing' ), |
|
247 | - 'SZ' => __( 'Schwyz', 'invoicing' ), |
|
248 | - 'SO' => __( 'Solothurn', 'invoicing' ), |
|
249 | - 'SG' => __( 'St. Gallen', 'invoicing' ), |
|
250 | - 'TG' => __( 'Thurgau', 'invoicing' ), |
|
251 | - 'TI' => __( 'Ticino', 'invoicing' ), |
|
252 | - 'UR' => __( 'Uri', 'invoicing' ), |
|
253 | - 'VS' => __( 'Valais', 'invoicing' ), |
|
254 | - 'VD' => __( 'Vaud', 'invoicing' ), |
|
255 | - 'ZG' => __( 'Zug', 'invoicing' ), |
|
256 | - 'ZH' => __( 'Zürich', 'invoicing' ), |
|
257 | - ), |
|
258 | - 'CN' => array( // Chinese states. |
|
259 | - 'CN1' => __( 'Yunnan / 云南', 'invoicing' ), |
|
260 | - 'CN2' => __( 'Beijing / 北京', 'invoicing' ), |
|
261 | - 'CN3' => __( 'Tianjin / 天津', 'invoicing' ), |
|
262 | - 'CN4' => __( 'Hebei / 河北', 'invoicing' ), |
|
263 | - 'CN5' => __( 'Shanxi / 山西', 'invoicing' ), |
|
264 | - 'CN6' => __( 'Inner Mongolia / 內蒙古', 'invoicing' ), |
|
265 | - 'CN7' => __( 'Liaoning / 辽宁', 'invoicing' ), |
|
266 | - 'CN8' => __( 'Jilin / 吉林', 'invoicing' ), |
|
267 | - 'CN9' => __( 'Heilongjiang / 黑龙江', 'invoicing' ), |
|
268 | - 'CN10' => __( 'Shanghai / 上海', 'invoicing' ), |
|
269 | - 'CN11' => __( 'Jiangsu / 江苏', 'invoicing' ), |
|
270 | - 'CN12' => __( 'Zhejiang / 浙江', 'invoicing' ), |
|
271 | - 'CN13' => __( 'Anhui / 安徽', 'invoicing' ), |
|
272 | - 'CN14' => __( 'Fujian / 福建', 'invoicing' ), |
|
273 | - 'CN15' => __( 'Jiangxi / 江西', 'invoicing' ), |
|
274 | - 'CN16' => __( 'Shandong / 山东', 'invoicing' ), |
|
275 | - 'CN17' => __( 'Henan / 河南', 'invoicing' ), |
|
276 | - 'CN18' => __( 'Hubei / 湖北', 'invoicing' ), |
|
277 | - 'CN19' => __( 'Hunan / 湖南', 'invoicing' ), |
|
278 | - 'CN20' => __( 'Guangdong / 广东', 'invoicing' ), |
|
279 | - 'CN21' => __( 'Guangxi Zhuang / 广西壮族', 'invoicing' ), |
|
280 | - 'CN22' => __( 'Hainan / 海南', 'invoicing' ), |
|
281 | - 'CN23' => __( 'Chongqing / 重庆', 'invoicing' ), |
|
282 | - 'CN24' => __( 'Sichuan / 四川', 'invoicing' ), |
|
283 | - 'CN25' => __( 'Guizhou / 贵州', 'invoicing' ), |
|
284 | - 'CN26' => __( 'Shaanxi / 陕西', 'invoicing' ), |
|
285 | - 'CN27' => __( 'Gansu / 甘肃', 'invoicing' ), |
|
286 | - 'CN28' => __( 'Qinghai / 青海', 'invoicing' ), |
|
287 | - 'CN29' => __( 'Ningxia Hui / 宁夏', 'invoicing' ), |
|
288 | - 'CN30' => __( 'Macao / 澳门', 'invoicing' ), |
|
289 | - 'CN31' => __( 'Tibet / 西藏', 'invoicing' ), |
|
290 | - 'CN32' => __( 'Xinjiang / 新疆', 'invoicing' ), |
|
291 | - ), |
|
292 | - 'CZ' => array(), |
|
293 | - 'DE' => array(), |
|
294 | - 'DK' => array(), |
|
295 | - 'EE' => array(), |
|
296 | - 'ES' => array( // Spanish states. |
|
297 | - 'C' => __( 'A Coruña', 'invoicing' ), |
|
298 | - 'VI' => __( 'Araba/Álava', 'invoicing' ), |
|
299 | - 'AB' => __( 'Albacete', 'invoicing' ), |
|
300 | - 'A' => __( 'Alicante', 'invoicing' ), |
|
301 | - 'AL' => __( 'Almería', 'invoicing' ), |
|
302 | - 'O' => __( 'Asturias', 'invoicing' ), |
|
303 | - 'AV' => __( 'Ávila', 'invoicing' ), |
|
304 | - 'BA' => __( 'Badajoz', 'invoicing' ), |
|
305 | - 'PM' => __( 'Baleares', 'invoicing' ), |
|
306 | - 'B' => __( 'Barcelona', 'invoicing' ), |
|
307 | - 'BU' => __( 'Burgos', 'invoicing' ), |
|
308 | - 'CC' => __( 'Cáceres', 'invoicing' ), |
|
309 | - 'CA' => __( 'Cádiz', 'invoicing' ), |
|
310 | - 'S' => __( 'Cantabria', 'invoicing' ), |
|
311 | - 'CS' => __( 'Castellón', 'invoicing' ), |
|
312 | - 'CE' => __( 'Ceuta', 'invoicing' ), |
|
313 | - 'CR' => __( 'Ciudad Real', 'invoicing' ), |
|
314 | - 'CO' => __( 'Córdoba', 'invoicing' ), |
|
315 | - 'CU' => __( 'Cuenca', 'invoicing' ), |
|
316 | - 'GI' => __( 'Girona', 'invoicing' ), |
|
317 | - 'GR' => __( 'Granada', 'invoicing' ), |
|
318 | - 'GU' => __( 'Guadalajara', 'invoicing' ), |
|
319 | - 'SS' => __( 'Gipuzkoa', 'invoicing' ), |
|
320 | - 'H' => __( 'Huelva', 'invoicing' ), |
|
321 | - 'HU' => __( 'Huesca', 'invoicing' ), |
|
322 | - 'J' => __( 'Jaén', 'invoicing' ), |
|
323 | - 'LO' => __( 'La Rioja', 'invoicing' ), |
|
324 | - 'GC' => __( 'Las Palmas', 'invoicing' ), |
|
325 | - 'LE' => __( 'León', 'invoicing' ), |
|
326 | - 'L' => __( 'Lleida', 'invoicing' ), |
|
327 | - 'LU' => __( 'Lugo', 'invoicing' ), |
|
328 | - 'M' => __( 'Madrid', 'invoicing' ), |
|
329 | - 'MA' => __( 'Málaga', 'invoicing' ), |
|
330 | - 'ML' => __( 'Melilla', 'invoicing' ), |
|
331 | - 'MU' => __( 'Murcia', 'invoicing' ), |
|
332 | - 'NA' => __( 'Navarra', 'invoicing' ), |
|
333 | - 'OR' => __( 'Ourense', 'invoicing' ), |
|
334 | - 'P' => __( 'Palencia', 'invoicing' ), |
|
335 | - 'PO' => __( 'Pontevedra', 'invoicing' ), |
|
336 | - 'SA' => __( 'Salamanca', 'invoicing' ), |
|
337 | - 'TF' => __( 'Santa Cruz de Tenerife', 'invoicing' ), |
|
338 | - 'SG' => __( 'Segovia', 'invoicing' ), |
|
339 | - 'SE' => __( 'Sevilla', 'invoicing' ), |
|
340 | - 'SO' => __( 'Soria', 'invoicing' ), |
|
341 | - 'T' => __( 'Tarragona', 'invoicing' ), |
|
342 | - 'TE' => __( 'Teruel', 'invoicing' ), |
|
343 | - 'TO' => __( 'Toledo', 'invoicing' ), |
|
344 | - 'V' => __( 'Valencia', 'invoicing' ), |
|
345 | - 'VA' => __( 'Valladolid', 'invoicing' ), |
|
346 | - 'BI' => __( 'Bizkaia', 'invoicing' ), |
|
347 | - 'ZA' => __( 'Zamora', 'invoicing' ), |
|
348 | - 'Z' => __( 'Zaragoza', 'invoicing' ), |
|
349 | - ), |
|
350 | - 'FI' => array(), |
|
351 | - 'FR' => array(), |
|
352 | - 'GP' => array(), |
|
353 | - 'GR' => array( // Greek Regions. |
|
354 | - 'I' => __( 'Αττική', 'invoicing' ), |
|
355 | - 'A' => __( 'Ανατολική Μακεδονία και Θράκη', 'invoicing' ), |
|
356 | - 'B' => __( 'Κεντρική Μακεδονία', 'invoicing' ), |
|
357 | - 'C' => __( 'Δυτική Μακεδονία', 'invoicing' ), |
|
358 | - 'D' => __( 'Ήπειρος', 'invoicing' ), |
|
359 | - 'E' => __( 'Θεσσαλία', 'invoicing' ), |
|
360 | - 'F' => __( 'Ιόνιοι Νήσοι', 'invoicing' ), |
|
361 | - 'G' => __( 'Δυτική Ελλάδα', 'invoicing' ), |
|
362 | - 'H' => __( 'Στερεά Ελλάδα', 'invoicing' ), |
|
363 | - 'J' => __( 'Πελοπόννησος', 'invoicing' ), |
|
364 | - 'K' => __( 'Βόρειο Αιγαίο', 'invoicing' ), |
|
365 | - 'L' => __( 'Νότιο Αιγαίο', 'invoicing' ), |
|
366 | - 'M' => __( 'Κρήτη', 'invoicing' ), |
|
367 | - ), |
|
368 | - 'GF' => array(), |
|
369 | - 'HK' => array( // Hong Kong states. |
|
370 | - 'HONG KONG' => __( 'Hong Kong Island', 'invoicing' ), |
|
371 | - 'KOWLOON' => __( 'Kowloon', 'invoicing' ), |
|
372 | - 'NEW TERRITORIES' => __( 'New Territories', 'invoicing' ), |
|
373 | - ), |
|
374 | - 'HU' => array( // Hungary states. |
|
375 | - 'BK' => __( 'Bács-Kiskun', 'invoicing' ), |
|
376 | - 'BE' => __( 'Békés', 'invoicing' ), |
|
377 | - 'BA' => __( 'Baranya', 'invoicing' ), |
|
378 | - 'BZ' => __( 'Borsod-Abaúj-Zemplén', 'invoicing' ), |
|
379 | - 'BU' => __( 'Budapest', 'invoicing' ), |
|
380 | - 'CS' => __( 'Csongrád', 'invoicing' ), |
|
381 | - 'FE' => __( 'Fejér', 'invoicing' ), |
|
382 | - 'GS' => __( 'Győr-Moson-Sopron', 'invoicing' ), |
|
383 | - 'HB' => __( 'Hajdú-Bihar', 'invoicing' ), |
|
384 | - 'HE' => __( 'Heves', 'invoicing' ), |
|
385 | - 'JN' => __( 'Jász-Nagykun-Szolnok', 'invoicing' ), |
|
386 | - 'KE' => __( 'Komárom-Esztergom', 'invoicing' ), |
|
387 | - 'NO' => __( 'Nógrád', 'invoicing' ), |
|
388 | - 'PE' => __( 'Pest', 'invoicing' ), |
|
389 | - 'SO' => __( 'Somogy', 'invoicing' ), |
|
390 | - 'SZ' => __( 'Szabolcs-Szatmár-Bereg', 'invoicing' ), |
|
391 | - 'TO' => __( 'Tolna', 'invoicing' ), |
|
392 | - 'VA' => __( 'Vas', 'invoicing' ), |
|
393 | - 'VE' => __( 'Veszprém', 'invoicing' ), |
|
394 | - 'ZA' => __( 'Zala', 'invoicing' ), |
|
395 | - ), |
|
396 | - 'ID' => array( // Indonesia Provinces. |
|
397 | - 'AC' => __( 'Daerah Istimewa Aceh', 'invoicing' ), |
|
398 | - 'SU' => __( 'Sumatera Utara', 'invoicing' ), |
|
399 | - 'SB' => __( 'Sumatera Barat', 'invoicing' ), |
|
400 | - 'RI' => __( 'Riau', 'invoicing' ), |
|
401 | - 'KR' => __( 'Kepulauan Riau', 'invoicing' ), |
|
402 | - 'JA' => __( 'Jambi', 'invoicing' ), |
|
403 | - 'SS' => __( 'Sumatera Selatan', 'invoicing' ), |
|
404 | - 'BB' => __( 'Bangka Belitung', 'invoicing' ), |
|
405 | - 'BE' => __( 'Bengkulu', 'invoicing' ), |
|
406 | - 'LA' => __( 'Lampung', 'invoicing' ), |
|
407 | - 'JK' => __( 'DKI Jakarta', 'invoicing' ), |
|
408 | - 'JB' => __( 'Jawa Barat', 'invoicing' ), |
|
409 | - 'BT' => __( 'Banten', 'invoicing' ), |
|
410 | - 'JT' => __( 'Jawa Tengah', 'invoicing' ), |
|
411 | - 'JI' => __( 'Jawa Timur', 'invoicing' ), |
|
412 | - 'YO' => __( 'Daerah Istimewa Yogyakarta', 'invoicing' ), |
|
413 | - 'BA' => __( 'Bali', 'invoicing' ), |
|
414 | - 'NB' => __( 'Nusa Tenggara Barat', 'invoicing' ), |
|
415 | - 'NT' => __( 'Nusa Tenggara Timur', 'invoicing' ), |
|
416 | - 'KB' => __( 'Kalimantan Barat', 'invoicing' ), |
|
417 | - 'KT' => __( 'Kalimantan Tengah', 'invoicing' ), |
|
418 | - 'KI' => __( 'Kalimantan Timur', 'invoicing' ), |
|
419 | - 'KS' => __( 'Kalimantan Selatan', 'invoicing' ), |
|
420 | - 'KU' => __( 'Kalimantan Utara', 'invoicing' ), |
|
421 | - 'SA' => __( 'Sulawesi Utara', 'invoicing' ), |
|
422 | - 'ST' => __( 'Sulawesi Tengah', 'invoicing' ), |
|
423 | - 'SG' => __( 'Sulawesi Tenggara', 'invoicing' ), |
|
424 | - 'SR' => __( 'Sulawesi Barat', 'invoicing' ), |
|
425 | - 'SN' => __( 'Sulawesi Selatan', 'invoicing' ), |
|
426 | - 'GO' => __( 'Gorontalo', 'invoicing' ), |
|
427 | - 'MA' => __( 'Maluku', 'invoicing' ), |
|
428 | - 'MU' => __( 'Maluku Utara', 'invoicing' ), |
|
429 | - 'PA' => __( 'Papua', 'invoicing' ), |
|
430 | - 'PB' => __( 'Papua Barat', 'invoicing' ), |
|
431 | - ), |
|
432 | - 'IE' => array( // Republic of Ireland. |
|
433 | - 'CW' => __( 'Carlow', 'invoicing' ), |
|
434 | - 'CN' => __( 'Cavan', 'invoicing' ), |
|
435 | - 'CE' => __( 'Clare', 'invoicing' ), |
|
436 | - 'CO' => __( 'Cork', 'invoicing' ), |
|
437 | - 'DL' => __( 'Donegal', 'invoicing' ), |
|
438 | - 'D' => __( 'Dublin', 'invoicing' ), |
|
439 | - 'G' => __( 'Galway', 'invoicing' ), |
|
440 | - 'KY' => __( 'Kerry', 'invoicing' ), |
|
441 | - 'KE' => __( 'Kildare', 'invoicing' ), |
|
442 | - 'KK' => __( 'Kilkenny', 'invoicing' ), |
|
443 | - 'LS' => __( 'Laois', 'invoicing' ), |
|
444 | - 'LM' => __( 'Leitrim', 'invoicing' ), |
|
445 | - 'LK' => __( 'Limerick', 'invoicing' ), |
|
446 | - 'LD' => __( 'Longford', 'invoicing' ), |
|
447 | - 'LH' => __( 'Louth', 'invoicing' ), |
|
448 | - 'MO' => __( 'Mayo', 'invoicing' ), |
|
449 | - 'MH' => __( 'Meath', 'invoicing' ), |
|
450 | - 'MN' => __( 'Monaghan', 'invoicing' ), |
|
451 | - 'OY' => __( 'Offaly', 'invoicing' ), |
|
452 | - 'RN' => __( 'Roscommon', 'invoicing' ), |
|
453 | - 'SO' => __( 'Sligo', 'invoicing' ), |
|
454 | - 'TA' => __( 'Tipperary', 'invoicing' ), |
|
455 | - 'WD' => __( 'Waterford', 'invoicing' ), |
|
456 | - 'WH' => __( 'Westmeath', 'invoicing' ), |
|
457 | - 'WX' => __( 'Wexford', 'invoicing' ), |
|
458 | - 'WW' => __( 'Wicklow', 'invoicing' ), |
|
459 | - ), |
|
460 | - 'IN' => array( // Indian states. |
|
461 | - 'AP' => __( 'Andhra Pradesh', 'invoicing' ), |
|
462 | - 'AR' => __( 'Arunachal Pradesh', 'invoicing' ), |
|
463 | - 'AS' => __( 'Assam', 'invoicing' ), |
|
464 | - 'BR' => __( 'Bihar', 'invoicing' ), |
|
465 | - 'CT' => __( 'Chhattisgarh', 'invoicing' ), |
|
466 | - 'GA' => __( 'Goa', 'invoicing' ), |
|
467 | - 'GJ' => __( 'Gujarat', 'invoicing' ), |
|
468 | - 'HR' => __( 'Haryana', 'invoicing' ), |
|
469 | - 'HP' => __( 'Himachal Pradesh', 'invoicing' ), |
|
470 | - 'JK' => __( 'Jammu and Kashmir', 'invoicing' ), |
|
471 | - 'JH' => __( 'Jharkhand', 'invoicing' ), |
|
472 | - 'KA' => __( 'Karnataka', 'invoicing' ), |
|
473 | - 'KL' => __( 'Kerala', 'invoicing' ), |
|
474 | - 'MP' => __( 'Madhya Pradesh', 'invoicing' ), |
|
475 | - 'MH' => __( 'Maharashtra', 'invoicing' ), |
|
476 | - 'MN' => __( 'Manipur', 'invoicing' ), |
|
477 | - 'ML' => __( 'Meghalaya', 'invoicing' ), |
|
478 | - 'MZ' => __( 'Mizoram', 'invoicing' ), |
|
479 | - 'NL' => __( 'Nagaland', 'invoicing' ), |
|
480 | - 'OR' => __( 'Orissa', 'invoicing' ), |
|
481 | - 'PB' => __( 'Punjab', 'invoicing' ), |
|
482 | - 'RJ' => __( 'Rajasthan', 'invoicing' ), |
|
483 | - 'SK' => __( 'Sikkim', 'invoicing' ), |
|
484 | - 'TN' => __( 'Tamil Nadu', 'invoicing' ), |
|
485 | - 'TS' => __( 'Telangana', 'invoicing' ), |
|
486 | - 'TR' => __( 'Tripura', 'invoicing' ), |
|
487 | - 'UK' => __( 'Uttarakhand', 'invoicing' ), |
|
488 | - 'UP' => __( 'Uttar Pradesh', 'invoicing' ), |
|
489 | - 'WB' => __( 'West Bengal', 'invoicing' ), |
|
490 | - 'AN' => __( 'Andaman and Nicobar Islands', 'invoicing' ), |
|
491 | - 'CH' => __( 'Chandigarh', 'invoicing' ), |
|
492 | - 'DN' => __( 'Dadra and Nagar Haveli', 'invoicing' ), |
|
493 | - 'DD' => __( 'Daman and Diu', 'invoicing' ), |
|
494 | - 'DL' => __( 'Delhi', 'invoicing' ), |
|
495 | - 'LD' => __( 'Lakshadeep', 'invoicing' ), |
|
496 | - 'PY' => __( 'Pondicherry (Puducherry)', 'invoicing' ), |
|
497 | - ), |
|
498 | - 'IR' => array( // Iran States. |
|
499 | - 'KHZ' => __( 'Khuzestan (خوزستان)', 'invoicing' ), |
|
500 | - 'THR' => __( 'Tehran (تهران)', 'invoicing' ), |
|
501 | - 'ILM' => __( 'Ilaam (ایلام)', 'invoicing' ), |
|
502 | - 'BHR' => __( 'Bushehr (بوشهر)', 'invoicing' ), |
|
503 | - 'ADL' => __( 'Ardabil (اردبیل)', 'invoicing' ), |
|
504 | - 'ESF' => __( 'Isfahan (اصفهان)', 'invoicing' ), |
|
505 | - 'YZD' => __( 'Yazd (یزد)', 'invoicing' ), |
|
506 | - 'KRH' => __( 'Kermanshah (کرمانشاه)', 'invoicing' ), |
|
507 | - 'KRN' => __( 'Kerman (کرمان)', 'invoicing' ), |
|
508 | - 'HDN' => __( 'Hamadan (همدان)', 'invoicing' ), |
|
509 | - 'GZN' => __( 'Ghazvin (قزوین)', 'invoicing' ), |
|
510 | - 'ZJN' => __( 'Zanjan (زنجان)', 'invoicing' ), |
|
511 | - 'LRS' => __( 'Luristan (لرستان)', 'invoicing' ), |
|
512 | - 'ABZ' => __( 'Alborz (البرز)', 'invoicing' ), |
|
513 | - 'EAZ' => __( 'East Azarbaijan (آذربایجان شرقی)', 'invoicing' ), |
|
514 | - 'WAZ' => __( 'West Azarbaijan (آذربایجان غربی)', 'invoicing' ), |
|
515 | - 'CHB' => __( 'Chaharmahal and Bakhtiari (چهارمحال و بختیاری)', 'invoicing' ), |
|
516 | - 'SKH' => __( 'South Khorasan (خراسان جنوبی)', 'invoicing' ), |
|
517 | - 'RKH' => __( 'Razavi Khorasan (خراسان رضوی)', 'invoicing' ), |
|
518 | - 'NKH' => __( 'North Khorasan (خراسان شمالی)', 'invoicing' ), |
|
519 | - 'SMN' => __( 'Semnan (سمنان)', 'invoicing' ), |
|
520 | - 'FRS' => __( 'Fars (فارس)', 'invoicing' ), |
|
521 | - 'QHM' => __( 'Qom (قم)', 'invoicing' ), |
|
522 | - 'KRD' => __( 'Kurdistan / کردستان)', 'invoicing' ), |
|
523 | - 'KBD' => __( 'Kohgiluyeh and BoyerAhmad (کهگیلوییه و بویراحمد)', 'invoicing' ), |
|
524 | - 'GLS' => __( 'Golestan (گلستان)', 'invoicing' ), |
|
525 | - 'GIL' => __( 'Gilan (گیلان)', 'invoicing' ), |
|
526 | - 'MZN' => __( 'Mazandaran (مازندران)', 'invoicing' ), |
|
527 | - 'MKZ' => __( 'Markazi (مرکزی)', 'invoicing' ), |
|
528 | - 'HRZ' => __( 'Hormozgan (هرمزگان)', 'invoicing' ), |
|
529 | - 'SBN' => __( 'Sistan and Baluchestan (سیستان و بلوچستان)', 'invoicing' ), |
|
530 | - ), |
|
531 | - 'IS' => array(), |
|
532 | - 'IT' => array( // Italy Provinces. |
|
533 | - 'AG' => __( 'Agrigento', 'invoicing' ), |
|
534 | - 'AL' => __( 'Alessandria', 'invoicing' ), |
|
535 | - 'AN' => __( 'Ancona', 'invoicing' ), |
|
536 | - 'AO' => __( 'Aosta', 'invoicing' ), |
|
537 | - 'AR' => __( 'Arezzo', 'invoicing' ), |
|
538 | - 'AP' => __( 'Ascoli Piceno', 'invoicing' ), |
|
539 | - 'AT' => __( 'Asti', 'invoicing' ), |
|
540 | - 'AV' => __( 'Avellino', 'invoicing' ), |
|
541 | - 'BA' => __( 'Bari', 'invoicing' ), |
|
542 | - 'BT' => __( 'Barletta-Andria-Trani', 'invoicing' ), |
|
543 | - 'BL' => __( 'Belluno', 'invoicing' ), |
|
544 | - 'BN' => __( 'Benevento', 'invoicing' ), |
|
545 | - 'BG' => __( 'Bergamo', 'invoicing' ), |
|
546 | - 'BI' => __( 'Biella', 'invoicing' ), |
|
547 | - 'BO' => __( 'Bologna', 'invoicing' ), |
|
548 | - 'BZ' => __( 'Bolzano', 'invoicing' ), |
|
549 | - 'BS' => __( 'Brescia', 'invoicing' ), |
|
550 | - 'BR' => __( 'Brindisi', 'invoicing' ), |
|
551 | - 'CA' => __( 'Cagliari', 'invoicing' ), |
|
552 | - 'CL' => __( 'Caltanissetta', 'invoicing' ), |
|
553 | - 'CB' => __( 'Campobasso', 'invoicing' ), |
|
554 | - 'CE' => __( 'Caserta', 'invoicing' ), |
|
555 | - 'CT' => __( 'Catania', 'invoicing' ), |
|
556 | - 'CZ' => __( 'Catanzaro', 'invoicing' ), |
|
557 | - 'CH' => __( 'Chieti', 'invoicing' ), |
|
558 | - 'CO' => __( 'Como', 'invoicing' ), |
|
559 | - 'CS' => __( 'Cosenza', 'invoicing' ), |
|
560 | - 'CR' => __( 'Cremona', 'invoicing' ), |
|
561 | - 'KR' => __( 'Crotone', 'invoicing' ), |
|
562 | - 'CN' => __( 'Cuneo', 'invoicing' ), |
|
563 | - 'EN' => __( 'Enna', 'invoicing' ), |
|
564 | - 'FM' => __( 'Fermo', 'invoicing' ), |
|
565 | - 'FE' => __( 'Ferrara', 'invoicing' ), |
|
566 | - 'FI' => __( 'Firenze', 'invoicing' ), |
|
567 | - 'FG' => __( 'Foggia', 'invoicing' ), |
|
568 | - 'FC' => __( 'Forlì-Cesena', 'invoicing' ), |
|
569 | - 'FR' => __( 'Frosinone', 'invoicing' ), |
|
570 | - 'GE' => __( 'Genova', 'invoicing' ), |
|
571 | - 'GO' => __( 'Gorizia', 'invoicing' ), |
|
572 | - 'GR' => __( 'Grosseto', 'invoicing' ), |
|
573 | - 'IM' => __( 'Imperia', 'invoicing' ), |
|
574 | - 'IS' => __( 'Isernia', 'invoicing' ), |
|
575 | - 'SP' => __( 'La Spezia', 'invoicing' ), |
|
576 | - 'AQ' => __( "L'Aquila", 'invoicing' ), |
|
577 | - 'LT' => __( 'Latina', 'invoicing' ), |
|
578 | - 'LE' => __( 'Lecce', 'invoicing' ), |
|
579 | - 'LC' => __( 'Lecco', 'invoicing' ), |
|
580 | - 'LI' => __( 'Livorno', 'invoicing' ), |
|
581 | - 'LO' => __( 'Lodi', 'invoicing' ), |
|
582 | - 'LU' => __( 'Lucca', 'invoicing' ), |
|
583 | - 'MC' => __( 'Macerata', 'invoicing' ), |
|
584 | - 'MN' => __( 'Mantova', 'invoicing' ), |
|
585 | - 'MS' => __( 'Massa-Carrara', 'invoicing' ), |
|
586 | - 'MT' => __( 'Matera', 'invoicing' ), |
|
587 | - 'ME' => __( 'Messina', 'invoicing' ), |
|
588 | - 'MI' => __( 'Milano', 'invoicing' ), |
|
589 | - 'MO' => __( 'Modena', 'invoicing' ), |
|
590 | - 'MB' => __( 'Monza e della Brianza', 'invoicing' ), |
|
591 | - 'NA' => __( 'Napoli', 'invoicing' ), |
|
592 | - 'NO' => __( 'Novara', 'invoicing' ), |
|
593 | - 'NU' => __( 'Nuoro', 'invoicing' ), |
|
594 | - 'OR' => __( 'Oristano', 'invoicing' ), |
|
595 | - 'PD' => __( 'Padova', 'invoicing' ), |
|
596 | - 'PA' => __( 'Palermo', 'invoicing' ), |
|
597 | - 'PR' => __( 'Parma', 'invoicing' ), |
|
598 | - 'PV' => __( 'Pavia', 'invoicing' ), |
|
599 | - 'PG' => __( 'Perugia', 'invoicing' ), |
|
600 | - 'PU' => __( 'Pesaro e Urbino', 'invoicing' ), |
|
601 | - 'PE' => __( 'Pescara', 'invoicing' ), |
|
602 | - 'PC' => __( 'Piacenza', 'invoicing' ), |
|
603 | - 'PI' => __( 'Pisa', 'invoicing' ), |
|
604 | - 'PT' => __( 'Pistoia', 'invoicing' ), |
|
605 | - 'PN' => __( 'Pordenone', 'invoicing' ), |
|
606 | - 'PZ' => __( 'Potenza', 'invoicing' ), |
|
607 | - 'PO' => __( 'Prato', 'invoicing' ), |
|
608 | - 'RG' => __( 'Ragusa', 'invoicing' ), |
|
609 | - 'RA' => __( 'Ravenna', 'invoicing' ), |
|
610 | - 'RC' => __( 'Reggio Calabria', 'invoicing' ), |
|
611 | - 'RE' => __( 'Reggio Emilia', 'invoicing' ), |
|
612 | - 'RI' => __( 'Rieti', 'invoicing' ), |
|
613 | - 'RN' => __( 'Rimini', 'invoicing' ), |
|
614 | - 'RM' => __( 'Roma', 'invoicing' ), |
|
615 | - 'RO' => __( 'Rovigo', 'invoicing' ), |
|
616 | - 'SA' => __( 'Salerno', 'invoicing' ), |
|
617 | - 'SS' => __( 'Sassari', 'invoicing' ), |
|
618 | - 'SV' => __( 'Savona', 'invoicing' ), |
|
619 | - 'SI' => __( 'Siena', 'invoicing' ), |
|
620 | - 'SR' => __( 'Siracusa', 'invoicing' ), |
|
621 | - 'SO' => __( 'Sondrio', 'invoicing' ), |
|
622 | - 'SU' => __( 'Sud Sardegna', 'invoicing' ), |
|
623 | - 'TA' => __( 'Taranto', 'invoicing' ), |
|
624 | - 'TE' => __( 'Teramo', 'invoicing' ), |
|
625 | - 'TR' => __( 'Terni', 'invoicing' ), |
|
626 | - 'TO' => __( 'Torino', 'invoicing' ), |
|
627 | - 'TP' => __( 'Trapani', 'invoicing' ), |
|
628 | - 'TN' => __( 'Trento', 'invoicing' ), |
|
629 | - 'TV' => __( 'Treviso', 'invoicing' ), |
|
630 | - 'TS' => __( 'Trieste', 'invoicing' ), |
|
631 | - 'UD' => __( 'Udine', 'invoicing' ), |
|
632 | - 'VA' => __( 'Varese', 'invoicing' ), |
|
633 | - 'VE' => __( 'Venezia', 'invoicing' ), |
|
634 | - 'VB' => __( 'Verbano-Cusio-Ossola', 'invoicing' ), |
|
635 | - 'VC' => __( 'Vercelli', 'invoicing' ), |
|
636 | - 'VR' => __( 'Verona', 'invoicing' ), |
|
637 | - 'VV' => __( 'Vibo Valentia', 'invoicing' ), |
|
638 | - 'VI' => __( 'Vicenza', 'invoicing' ), |
|
639 | - 'VT' => __( 'Viterbo', 'invoicing' ), |
|
640 | - ), |
|
641 | - 'IL' => array(), |
|
642 | - 'IM' => array(), |
|
17 | + 'AF' => array(), |
|
18 | + 'AO' => array( // Angola states. |
|
19 | + 'BGO' => __( 'Bengo', 'invoicing' ), |
|
20 | + 'BLU' => __( 'Benguela', 'invoicing' ), |
|
21 | + 'BIE' => __( 'Bié', 'invoicing' ), |
|
22 | + 'CAB' => __( 'Cabinda', 'invoicing' ), |
|
23 | + 'CNN' => __( 'Cunene', 'invoicing' ), |
|
24 | + 'HUA' => __( 'Huambo', 'invoicing' ), |
|
25 | + 'HUI' => __( 'Huíla', 'invoicing' ), |
|
26 | + 'CCU' => __( 'Kuando Kubango', 'invoicing' ), |
|
27 | + 'CNO' => __( 'Kwanza-Norte', 'invoicing' ), |
|
28 | + 'CUS' => __( 'Kwanza-Sul', 'invoicing' ), |
|
29 | + 'LUA' => __( 'Luanda', 'invoicing' ), |
|
30 | + 'LNO' => __( 'Lunda-Norte', 'invoicing' ), |
|
31 | + 'LSU' => __( 'Lunda-Sul', 'invoicing' ), |
|
32 | + 'MAL' => __( 'Malanje', 'invoicing' ), |
|
33 | + 'MOX' => __( 'Moxico', 'invoicing' ), |
|
34 | + 'NAM' => __( 'Namibe', 'invoicing' ), |
|
35 | + 'UIG' => __( 'Uíge', 'invoicing' ), |
|
36 | + 'ZAI' => __( 'Zaire', 'invoicing' ), |
|
37 | + ), |
|
38 | + 'AR' => array( // Argentinian provinces. |
|
39 | + 'C' => __( 'Ciudad Autónoma de Buenos Aires', 'invoicing' ), |
|
40 | + 'B' => __( 'Buenos Aires', 'invoicing' ), |
|
41 | + 'K' => __( 'Catamarca', 'invoicing' ), |
|
42 | + 'H' => __( 'Chaco', 'invoicing' ), |
|
43 | + 'U' => __( 'Chubut', 'invoicing' ), |
|
44 | + 'X' => __( 'Córdoba', 'invoicing' ), |
|
45 | + 'W' => __( 'Corrientes', 'invoicing' ), |
|
46 | + 'E' => __( 'Entre Ríos', 'invoicing' ), |
|
47 | + 'P' => __( 'Formosa', 'invoicing' ), |
|
48 | + 'Y' => __( 'Jujuy', 'invoicing' ), |
|
49 | + 'L' => __( 'La Pampa', 'invoicing' ), |
|
50 | + 'F' => __( 'La Rioja', 'invoicing' ), |
|
51 | + 'M' => __( 'Mendoza', 'invoicing' ), |
|
52 | + 'N' => __( 'Misiones', 'invoicing' ), |
|
53 | + 'Q' => __( 'Neuquén', 'invoicing' ), |
|
54 | + 'R' => __( 'Río Negro', 'invoicing' ), |
|
55 | + 'A' => __( 'Salta', 'invoicing' ), |
|
56 | + 'J' => __( 'San Juan', 'invoicing' ), |
|
57 | + 'D' => __( 'San Luis', 'invoicing' ), |
|
58 | + 'Z' => __( 'Santa Cruz', 'invoicing' ), |
|
59 | + 'S' => __( 'Santa Fe', 'invoicing' ), |
|
60 | + 'G' => __( 'Santiago del Estero', 'invoicing' ), |
|
61 | + 'V' => __( 'Tierra del Fuego', 'invoicing' ), |
|
62 | + 'T' => __( 'Tucumán', 'invoicing' ), |
|
63 | + ), |
|
64 | + 'AT' => array(), |
|
65 | + 'AU' => array( // Australian states. |
|
66 | + 'ACT' => __( 'Australian Capital Territory', 'invoicing' ), |
|
67 | + 'NSW' => __( 'New South Wales', 'invoicing' ), |
|
68 | + 'NT' => __( 'Northern Territory', 'invoicing' ), |
|
69 | + 'QLD' => __( 'Queensland', 'invoicing' ), |
|
70 | + 'SA' => __( 'South Australia', 'invoicing' ), |
|
71 | + 'TAS' => __( 'Tasmania', 'invoicing' ), |
|
72 | + 'VIC' => __( 'Victoria', 'invoicing' ), |
|
73 | + 'WA' => __( 'Western Australia', 'invoicing' ), |
|
74 | + ), |
|
75 | + 'AX' => array(), |
|
76 | + 'BD' => array( // Bangladeshi states (districts). |
|
77 | + 'BD-05' => __( 'Bagerhat', 'invoicing' ), |
|
78 | + 'BD-01' => __( 'Bandarban', 'invoicing' ), |
|
79 | + 'BD-02' => __( 'Barguna', 'invoicing' ), |
|
80 | + 'BD-06' => __( 'Barishal', 'invoicing' ), |
|
81 | + 'BD-07' => __( 'Bhola', 'invoicing' ), |
|
82 | + 'BD-03' => __( 'Bogura', 'invoicing' ), |
|
83 | + 'BD-04' => __( 'Brahmanbaria', 'invoicing' ), |
|
84 | + 'BD-09' => __( 'Chandpur', 'invoicing' ), |
|
85 | + 'BD-10' => __( 'Chattogram', 'invoicing' ), |
|
86 | + 'BD-12' => __( 'Chuadanga', 'invoicing' ), |
|
87 | + 'BD-11' => __( "Cox's Bazar", 'invoicing' ), |
|
88 | + 'BD-08' => __( 'Cumilla', 'invoicing' ), |
|
89 | + 'BD-13' => __( 'Dhaka', 'invoicing' ), |
|
90 | + 'BD-14' => __( 'Dinajpur', 'invoicing' ), |
|
91 | + 'BD-15' => __( 'Faridpur ', 'invoicing' ), |
|
92 | + 'BD-16' => __( 'Feni', 'invoicing' ), |
|
93 | + 'BD-19' => __( 'Gaibandha', 'invoicing' ), |
|
94 | + 'BD-18' => __( 'Gazipur', 'invoicing' ), |
|
95 | + 'BD-17' => __( 'Gopalganj', 'invoicing' ), |
|
96 | + 'BD-20' => __( 'Habiganj', 'invoicing' ), |
|
97 | + 'BD-21' => __( 'Jamalpur', 'invoicing' ), |
|
98 | + 'BD-22' => __( 'Jashore', 'invoicing' ), |
|
99 | + 'BD-25' => __( 'Jhalokati', 'invoicing' ), |
|
100 | + 'BD-23' => __( 'Jhenaidah', 'invoicing' ), |
|
101 | + 'BD-24' => __( 'Joypurhat', 'invoicing' ), |
|
102 | + 'BD-29' => __( 'Khagrachhari', 'invoicing' ), |
|
103 | + 'BD-27' => __( 'Khulna', 'invoicing' ), |
|
104 | + 'BD-26' => __( 'Kishoreganj', 'invoicing' ), |
|
105 | + 'BD-28' => __( 'Kurigram', 'invoicing' ), |
|
106 | + 'BD-30' => __( 'Kushtia', 'invoicing' ), |
|
107 | + 'BD-31' => __( 'Lakshmipur', 'invoicing' ), |
|
108 | + 'BD-32' => __( 'Lalmonirhat', 'invoicing' ), |
|
109 | + 'BD-36' => __( 'Madaripur', 'invoicing' ), |
|
110 | + 'BD-37' => __( 'Magura', 'invoicing' ), |
|
111 | + 'BD-33' => __( 'Manikganj ', 'invoicing' ), |
|
112 | + 'BD-39' => __( 'Meherpur', 'invoicing' ), |
|
113 | + 'BD-38' => __( 'Moulvibazar', 'invoicing' ), |
|
114 | + 'BD-35' => __( 'Munshiganj', 'invoicing' ), |
|
115 | + 'BD-34' => __( 'Mymensingh', 'invoicing' ), |
|
116 | + 'BD-48' => __( 'Naogaon', 'invoicing' ), |
|
117 | + 'BD-43' => __( 'Narail', 'invoicing' ), |
|
118 | + 'BD-40' => __( 'Narayanganj', 'invoicing' ), |
|
119 | + 'BD-42' => __( 'Narsingdi', 'invoicing' ), |
|
120 | + 'BD-44' => __( 'Natore', 'invoicing' ), |
|
121 | + 'BD-45' => __( 'Nawabganj', 'invoicing' ), |
|
122 | + 'BD-41' => __( 'Netrakona', 'invoicing' ), |
|
123 | + 'BD-46' => __( 'Nilphamari', 'invoicing' ), |
|
124 | + 'BD-47' => __( 'Noakhali', 'invoicing' ), |
|
125 | + 'BD-49' => __( 'Pabna', 'invoicing' ), |
|
126 | + 'BD-52' => __( 'Panchagarh', 'invoicing' ), |
|
127 | + 'BD-51' => __( 'Patuakhali', 'invoicing' ), |
|
128 | + 'BD-50' => __( 'Pirojpur', 'invoicing' ), |
|
129 | + 'BD-53' => __( 'Rajbari', 'invoicing' ), |
|
130 | + 'BD-54' => __( 'Rajshahi', 'invoicing' ), |
|
131 | + 'BD-56' => __( 'Rangamati', 'invoicing' ), |
|
132 | + 'BD-55' => __( 'Rangpur', 'invoicing' ), |
|
133 | + 'BD-58' => __( 'Satkhira', 'invoicing' ), |
|
134 | + 'BD-62' => __( 'Shariatpur', 'invoicing' ), |
|
135 | + 'BD-57' => __( 'Sherpur', 'invoicing' ), |
|
136 | + 'BD-59' => __( 'Sirajganj', 'invoicing' ), |
|
137 | + 'BD-61' => __( 'Sunamganj', 'invoicing' ), |
|
138 | + 'BD-60' => __( 'Sylhet', 'invoicing' ), |
|
139 | + 'BD-63' => __( 'Tangail', 'invoicing' ), |
|
140 | + 'BD-64' => __( 'Thakurgaon', 'invoicing' ), |
|
141 | + ), |
|
142 | + 'BE' => array(), |
|
143 | + 'BG' => array( // Bulgarian states. |
|
144 | + 'BG-01' => __( 'Blagoevgrad', 'invoicing' ), |
|
145 | + 'BG-02' => __( 'Burgas', 'invoicing' ), |
|
146 | + 'BG-08' => __( 'Dobrich', 'invoicing' ), |
|
147 | + 'BG-07' => __( 'Gabrovo', 'invoicing' ), |
|
148 | + 'BG-26' => __( 'Haskovo', 'invoicing' ), |
|
149 | + 'BG-09' => __( 'Kardzhali', 'invoicing' ), |
|
150 | + 'BG-10' => __( 'Kyustendil', 'invoicing' ), |
|
151 | + 'BG-11' => __( 'Lovech', 'invoicing' ), |
|
152 | + 'BG-12' => __( 'Montana', 'invoicing' ), |
|
153 | + 'BG-13' => __( 'Pazardzhik', 'invoicing' ), |
|
154 | + 'BG-14' => __( 'Pernik', 'invoicing' ), |
|
155 | + 'BG-15' => __( 'Pleven', 'invoicing' ), |
|
156 | + 'BG-16' => __( 'Plovdiv', 'invoicing' ), |
|
157 | + 'BG-17' => __( 'Razgrad', 'invoicing' ), |
|
158 | + 'BG-18' => __( 'Ruse', 'invoicing' ), |
|
159 | + 'BG-27' => __( 'Shumen', 'invoicing' ), |
|
160 | + 'BG-19' => __( 'Silistra', 'invoicing' ), |
|
161 | + 'BG-20' => __( 'Sliven', 'invoicing' ), |
|
162 | + 'BG-21' => __( 'Smolyan', 'invoicing' ), |
|
163 | + 'BG-23' => __( 'Sofia', 'invoicing' ), |
|
164 | + 'BG-22' => __( 'Sofia-Grad', 'invoicing' ), |
|
165 | + 'BG-24' => __( 'Stara Zagora', 'invoicing' ), |
|
166 | + 'BG-25' => __( 'Targovishte', 'invoicing' ), |
|
167 | + 'BG-03' => __( 'Varna', 'invoicing' ), |
|
168 | + 'BG-04' => __( 'Veliko Tarnovo', 'invoicing' ), |
|
169 | + 'BG-05' => __( 'Vidin', 'invoicing' ), |
|
170 | + 'BG-06' => __( 'Vratsa', 'invoicing' ), |
|
171 | + 'BG-28' => __( 'Yambol', 'invoicing' ), |
|
172 | + ), |
|
173 | + 'BH' => array(), |
|
174 | + 'BI' => array(), |
|
175 | + 'BO' => array( // Bolivian states. |
|
176 | + 'B' => __( 'Chuquisaca', 'invoicing' ), |
|
177 | + 'H' => __( 'Beni', 'invoicing' ), |
|
178 | + 'C' => __( 'Cochabamba', 'invoicing' ), |
|
179 | + 'L' => __( 'La Paz', 'invoicing' ), |
|
180 | + 'O' => __( 'Oruro', 'invoicing' ), |
|
181 | + 'N' => __( 'Pando', 'invoicing' ), |
|
182 | + 'P' => __( 'Potosí', 'invoicing' ), |
|
183 | + 'S' => __( 'Santa Cruz', 'invoicing' ), |
|
184 | + 'T' => __( 'Tarija', 'invoicing' ), |
|
185 | + ), |
|
186 | + 'BR' => array( // Brazillian states. |
|
187 | + 'AC' => __( 'Acre', 'invoicing' ), |
|
188 | + 'AL' => __( 'Alagoas', 'invoicing' ), |
|
189 | + 'AP' => __( 'Amapá', 'invoicing' ), |
|
190 | + 'AM' => __( 'Amazonas', 'invoicing' ), |
|
191 | + 'BA' => __( 'Bahia', 'invoicing' ), |
|
192 | + 'CE' => __( 'Ceará', 'invoicing' ), |
|
193 | + 'DF' => __( 'Distrito Federal', 'invoicing' ), |
|
194 | + 'ES' => __( 'Espírito Santo', 'invoicing' ), |
|
195 | + 'GO' => __( 'Goiás', 'invoicing' ), |
|
196 | + 'MA' => __( 'Maranhão', 'invoicing' ), |
|
197 | + 'MT' => __( 'Mato Grosso', 'invoicing' ), |
|
198 | + 'MS' => __( 'Mato Grosso do Sul', 'invoicing' ), |
|
199 | + 'MG' => __( 'Minas Gerais', 'invoicing' ), |
|
200 | + 'PA' => __( 'Pará', 'invoicing' ), |
|
201 | + 'PB' => __( 'Paraíba', 'invoicing' ), |
|
202 | + 'PR' => __( 'Paraná', 'invoicing' ), |
|
203 | + 'PE' => __( 'Pernambuco', 'invoicing' ), |
|
204 | + 'PI' => __( 'Piauí', 'invoicing' ), |
|
205 | + 'RJ' => __( 'Rio de Janeiro', 'invoicing' ), |
|
206 | + 'RN' => __( 'Rio Grande do Norte', 'invoicing' ), |
|
207 | + 'RS' => __( 'Rio Grande do Sul', 'invoicing' ), |
|
208 | + 'RO' => __( 'Rondônia', 'invoicing' ), |
|
209 | + 'RR' => __( 'Roraima', 'invoicing' ), |
|
210 | + 'SC' => __( 'Santa Catarina', 'invoicing' ), |
|
211 | + 'SP' => __( 'São Paulo', 'invoicing' ), |
|
212 | + 'SE' => __( 'Sergipe', 'invoicing' ), |
|
213 | + 'TO' => __( 'Tocantins', 'invoicing' ), |
|
214 | + ), |
|
215 | + 'CA' => array( // Canadian states. |
|
216 | + 'AB' => __( 'Alberta', 'invoicing' ), |
|
217 | + 'BC' => __( 'British Columbia', 'invoicing' ), |
|
218 | + 'MB' => __( 'Manitoba', 'invoicing' ), |
|
219 | + 'NB' => __( 'New Brunswick', 'invoicing' ), |
|
220 | + 'NL' => __( 'Newfoundland and Labrador', 'invoicing' ), |
|
221 | + 'NT' => __( 'Northwest Territories', 'invoicing' ), |
|
222 | + 'NS' => __( 'Nova Scotia', 'invoicing' ), |
|
223 | + 'NU' => __( 'Nunavut', 'invoicing' ), |
|
224 | + 'ON' => __( 'Ontario', 'invoicing' ), |
|
225 | + 'PE' => __( 'Prince Edward Island', 'invoicing' ), |
|
226 | + 'QC' => __( 'Quebec', 'invoicing' ), |
|
227 | + 'SK' => __( 'Saskatchewan', 'invoicing' ), |
|
228 | + 'YT' => __( 'Yukon Territory', 'invoicing' ), |
|
229 | + ), |
|
230 | + 'CH' => array( // Cantons of Switzerland. |
|
231 | + 'AG' => __( 'Aargau', 'invoicing' ), |
|
232 | + 'AR' => __( 'Appenzell Ausserrhoden', 'invoicing' ), |
|
233 | + 'AI' => __( 'Appenzell Innerrhoden', 'invoicing' ), |
|
234 | + 'BL' => __( 'Basel-Landschaft', 'invoicing' ), |
|
235 | + 'BS' => __( 'Basel-Stadt', 'invoicing' ), |
|
236 | + 'BE' => __( 'Bern', 'invoicing' ), |
|
237 | + 'FR' => __( 'Fribourg', 'invoicing' ), |
|
238 | + 'GE' => __( 'Geneva', 'invoicing' ), |
|
239 | + 'GL' => __( 'Glarus', 'invoicing' ), |
|
240 | + 'GR' => __( 'Graubünden', 'invoicing' ), |
|
241 | + 'JU' => __( 'Jura', 'invoicing' ), |
|
242 | + 'LU' => __( 'Luzern', 'invoicing' ), |
|
243 | + 'NE' => __( 'Neuchâtel', 'invoicing' ), |
|
244 | + 'NW' => __( 'Nidwalden', 'invoicing' ), |
|
245 | + 'OW' => __( 'Obwalden', 'invoicing' ), |
|
246 | + 'SH' => __( 'Schaffhausen', 'invoicing' ), |
|
247 | + 'SZ' => __( 'Schwyz', 'invoicing' ), |
|
248 | + 'SO' => __( 'Solothurn', 'invoicing' ), |
|
249 | + 'SG' => __( 'St. Gallen', 'invoicing' ), |
|
250 | + 'TG' => __( 'Thurgau', 'invoicing' ), |
|
251 | + 'TI' => __( 'Ticino', 'invoicing' ), |
|
252 | + 'UR' => __( 'Uri', 'invoicing' ), |
|
253 | + 'VS' => __( 'Valais', 'invoicing' ), |
|
254 | + 'VD' => __( 'Vaud', 'invoicing' ), |
|
255 | + 'ZG' => __( 'Zug', 'invoicing' ), |
|
256 | + 'ZH' => __( 'Zürich', 'invoicing' ), |
|
257 | + ), |
|
258 | + 'CN' => array( // Chinese states. |
|
259 | + 'CN1' => __( 'Yunnan / 云南', 'invoicing' ), |
|
260 | + 'CN2' => __( 'Beijing / 北京', 'invoicing' ), |
|
261 | + 'CN3' => __( 'Tianjin / 天津', 'invoicing' ), |
|
262 | + 'CN4' => __( 'Hebei / 河北', 'invoicing' ), |
|
263 | + 'CN5' => __( 'Shanxi / 山西', 'invoicing' ), |
|
264 | + 'CN6' => __( 'Inner Mongolia / 內蒙古', 'invoicing' ), |
|
265 | + 'CN7' => __( 'Liaoning / 辽宁', 'invoicing' ), |
|
266 | + 'CN8' => __( 'Jilin / 吉林', 'invoicing' ), |
|
267 | + 'CN9' => __( 'Heilongjiang / 黑龙江', 'invoicing' ), |
|
268 | + 'CN10' => __( 'Shanghai / 上海', 'invoicing' ), |
|
269 | + 'CN11' => __( 'Jiangsu / 江苏', 'invoicing' ), |
|
270 | + 'CN12' => __( 'Zhejiang / 浙江', 'invoicing' ), |
|
271 | + 'CN13' => __( 'Anhui / 安徽', 'invoicing' ), |
|
272 | + 'CN14' => __( 'Fujian / 福建', 'invoicing' ), |
|
273 | + 'CN15' => __( 'Jiangxi / 江西', 'invoicing' ), |
|
274 | + 'CN16' => __( 'Shandong / 山东', 'invoicing' ), |
|
275 | + 'CN17' => __( 'Henan / 河南', 'invoicing' ), |
|
276 | + 'CN18' => __( 'Hubei / 湖北', 'invoicing' ), |
|
277 | + 'CN19' => __( 'Hunan / 湖南', 'invoicing' ), |
|
278 | + 'CN20' => __( 'Guangdong / 广东', 'invoicing' ), |
|
279 | + 'CN21' => __( 'Guangxi Zhuang / 广西壮族', 'invoicing' ), |
|
280 | + 'CN22' => __( 'Hainan / 海南', 'invoicing' ), |
|
281 | + 'CN23' => __( 'Chongqing / 重庆', 'invoicing' ), |
|
282 | + 'CN24' => __( 'Sichuan / 四川', 'invoicing' ), |
|
283 | + 'CN25' => __( 'Guizhou / 贵州', 'invoicing' ), |
|
284 | + 'CN26' => __( 'Shaanxi / 陕西', 'invoicing' ), |
|
285 | + 'CN27' => __( 'Gansu / 甘肃', 'invoicing' ), |
|
286 | + 'CN28' => __( 'Qinghai / 青海', 'invoicing' ), |
|
287 | + 'CN29' => __( 'Ningxia Hui / 宁夏', 'invoicing' ), |
|
288 | + 'CN30' => __( 'Macao / 澳门', 'invoicing' ), |
|
289 | + 'CN31' => __( 'Tibet / 西藏', 'invoicing' ), |
|
290 | + 'CN32' => __( 'Xinjiang / 新疆', 'invoicing' ), |
|
291 | + ), |
|
292 | + 'CZ' => array(), |
|
293 | + 'DE' => array(), |
|
294 | + 'DK' => array(), |
|
295 | + 'EE' => array(), |
|
296 | + 'ES' => array( // Spanish states. |
|
297 | + 'C' => __( 'A Coruña', 'invoicing' ), |
|
298 | + 'VI' => __( 'Araba/Álava', 'invoicing' ), |
|
299 | + 'AB' => __( 'Albacete', 'invoicing' ), |
|
300 | + 'A' => __( 'Alicante', 'invoicing' ), |
|
301 | + 'AL' => __( 'Almería', 'invoicing' ), |
|
302 | + 'O' => __( 'Asturias', 'invoicing' ), |
|
303 | + 'AV' => __( 'Ávila', 'invoicing' ), |
|
304 | + 'BA' => __( 'Badajoz', 'invoicing' ), |
|
305 | + 'PM' => __( 'Baleares', 'invoicing' ), |
|
306 | + 'B' => __( 'Barcelona', 'invoicing' ), |
|
307 | + 'BU' => __( 'Burgos', 'invoicing' ), |
|
308 | + 'CC' => __( 'Cáceres', 'invoicing' ), |
|
309 | + 'CA' => __( 'Cádiz', 'invoicing' ), |
|
310 | + 'S' => __( 'Cantabria', 'invoicing' ), |
|
311 | + 'CS' => __( 'Castellón', 'invoicing' ), |
|
312 | + 'CE' => __( 'Ceuta', 'invoicing' ), |
|
313 | + 'CR' => __( 'Ciudad Real', 'invoicing' ), |
|
314 | + 'CO' => __( 'Córdoba', 'invoicing' ), |
|
315 | + 'CU' => __( 'Cuenca', 'invoicing' ), |
|
316 | + 'GI' => __( 'Girona', 'invoicing' ), |
|
317 | + 'GR' => __( 'Granada', 'invoicing' ), |
|
318 | + 'GU' => __( 'Guadalajara', 'invoicing' ), |
|
319 | + 'SS' => __( 'Gipuzkoa', 'invoicing' ), |
|
320 | + 'H' => __( 'Huelva', 'invoicing' ), |
|
321 | + 'HU' => __( 'Huesca', 'invoicing' ), |
|
322 | + 'J' => __( 'Jaén', 'invoicing' ), |
|
323 | + 'LO' => __( 'La Rioja', 'invoicing' ), |
|
324 | + 'GC' => __( 'Las Palmas', 'invoicing' ), |
|
325 | + 'LE' => __( 'León', 'invoicing' ), |
|
326 | + 'L' => __( 'Lleida', 'invoicing' ), |
|
327 | + 'LU' => __( 'Lugo', 'invoicing' ), |
|
328 | + 'M' => __( 'Madrid', 'invoicing' ), |
|
329 | + 'MA' => __( 'Málaga', 'invoicing' ), |
|
330 | + 'ML' => __( 'Melilla', 'invoicing' ), |
|
331 | + 'MU' => __( 'Murcia', 'invoicing' ), |
|
332 | + 'NA' => __( 'Navarra', 'invoicing' ), |
|
333 | + 'OR' => __( 'Ourense', 'invoicing' ), |
|
334 | + 'P' => __( 'Palencia', 'invoicing' ), |
|
335 | + 'PO' => __( 'Pontevedra', 'invoicing' ), |
|
336 | + 'SA' => __( 'Salamanca', 'invoicing' ), |
|
337 | + 'TF' => __( 'Santa Cruz de Tenerife', 'invoicing' ), |
|
338 | + 'SG' => __( 'Segovia', 'invoicing' ), |
|
339 | + 'SE' => __( 'Sevilla', 'invoicing' ), |
|
340 | + 'SO' => __( 'Soria', 'invoicing' ), |
|
341 | + 'T' => __( 'Tarragona', 'invoicing' ), |
|
342 | + 'TE' => __( 'Teruel', 'invoicing' ), |
|
343 | + 'TO' => __( 'Toledo', 'invoicing' ), |
|
344 | + 'V' => __( 'Valencia', 'invoicing' ), |
|
345 | + 'VA' => __( 'Valladolid', 'invoicing' ), |
|
346 | + 'BI' => __( 'Bizkaia', 'invoicing' ), |
|
347 | + 'ZA' => __( 'Zamora', 'invoicing' ), |
|
348 | + 'Z' => __( 'Zaragoza', 'invoicing' ), |
|
349 | + ), |
|
350 | + 'FI' => array(), |
|
351 | + 'FR' => array(), |
|
352 | + 'GP' => array(), |
|
353 | + 'GR' => array( // Greek Regions. |
|
354 | + 'I' => __( 'Αττική', 'invoicing' ), |
|
355 | + 'A' => __( 'Ανατολική Μακεδονία και Θράκη', 'invoicing' ), |
|
356 | + 'B' => __( 'Κεντρική Μακεδονία', 'invoicing' ), |
|
357 | + 'C' => __( 'Δυτική Μακεδονία', 'invoicing' ), |
|
358 | + 'D' => __( 'Ήπειρος', 'invoicing' ), |
|
359 | + 'E' => __( 'Θεσσαλία', 'invoicing' ), |
|
360 | + 'F' => __( 'Ιόνιοι Νήσοι', 'invoicing' ), |
|
361 | + 'G' => __( 'Δυτική Ελλάδα', 'invoicing' ), |
|
362 | + 'H' => __( 'Στερεά Ελλάδα', 'invoicing' ), |
|
363 | + 'J' => __( 'Πελοπόννησος', 'invoicing' ), |
|
364 | + 'K' => __( 'Βόρειο Αιγαίο', 'invoicing' ), |
|
365 | + 'L' => __( 'Νότιο Αιγαίο', 'invoicing' ), |
|
366 | + 'M' => __( 'Κρήτη', 'invoicing' ), |
|
367 | + ), |
|
368 | + 'GF' => array(), |
|
369 | + 'HK' => array( // Hong Kong states. |
|
370 | + 'HONG KONG' => __( 'Hong Kong Island', 'invoicing' ), |
|
371 | + 'KOWLOON' => __( 'Kowloon', 'invoicing' ), |
|
372 | + 'NEW TERRITORIES' => __( 'New Territories', 'invoicing' ), |
|
373 | + ), |
|
374 | + 'HU' => array( // Hungary states. |
|
375 | + 'BK' => __( 'Bács-Kiskun', 'invoicing' ), |
|
376 | + 'BE' => __( 'Békés', 'invoicing' ), |
|
377 | + 'BA' => __( 'Baranya', 'invoicing' ), |
|
378 | + 'BZ' => __( 'Borsod-Abaúj-Zemplén', 'invoicing' ), |
|
379 | + 'BU' => __( 'Budapest', 'invoicing' ), |
|
380 | + 'CS' => __( 'Csongrád', 'invoicing' ), |
|
381 | + 'FE' => __( 'Fejér', 'invoicing' ), |
|
382 | + 'GS' => __( 'Győr-Moson-Sopron', 'invoicing' ), |
|
383 | + 'HB' => __( 'Hajdú-Bihar', 'invoicing' ), |
|
384 | + 'HE' => __( 'Heves', 'invoicing' ), |
|
385 | + 'JN' => __( 'Jász-Nagykun-Szolnok', 'invoicing' ), |
|
386 | + 'KE' => __( 'Komárom-Esztergom', 'invoicing' ), |
|
387 | + 'NO' => __( 'Nógrád', 'invoicing' ), |
|
388 | + 'PE' => __( 'Pest', 'invoicing' ), |
|
389 | + 'SO' => __( 'Somogy', 'invoicing' ), |
|
390 | + 'SZ' => __( 'Szabolcs-Szatmár-Bereg', 'invoicing' ), |
|
391 | + 'TO' => __( 'Tolna', 'invoicing' ), |
|
392 | + 'VA' => __( 'Vas', 'invoicing' ), |
|
393 | + 'VE' => __( 'Veszprém', 'invoicing' ), |
|
394 | + 'ZA' => __( 'Zala', 'invoicing' ), |
|
395 | + ), |
|
396 | + 'ID' => array( // Indonesia Provinces. |
|
397 | + 'AC' => __( 'Daerah Istimewa Aceh', 'invoicing' ), |
|
398 | + 'SU' => __( 'Sumatera Utara', 'invoicing' ), |
|
399 | + 'SB' => __( 'Sumatera Barat', 'invoicing' ), |
|
400 | + 'RI' => __( 'Riau', 'invoicing' ), |
|
401 | + 'KR' => __( 'Kepulauan Riau', 'invoicing' ), |
|
402 | + 'JA' => __( 'Jambi', 'invoicing' ), |
|
403 | + 'SS' => __( 'Sumatera Selatan', 'invoicing' ), |
|
404 | + 'BB' => __( 'Bangka Belitung', 'invoicing' ), |
|
405 | + 'BE' => __( 'Bengkulu', 'invoicing' ), |
|
406 | + 'LA' => __( 'Lampung', 'invoicing' ), |
|
407 | + 'JK' => __( 'DKI Jakarta', 'invoicing' ), |
|
408 | + 'JB' => __( 'Jawa Barat', 'invoicing' ), |
|
409 | + 'BT' => __( 'Banten', 'invoicing' ), |
|
410 | + 'JT' => __( 'Jawa Tengah', 'invoicing' ), |
|
411 | + 'JI' => __( 'Jawa Timur', 'invoicing' ), |
|
412 | + 'YO' => __( 'Daerah Istimewa Yogyakarta', 'invoicing' ), |
|
413 | + 'BA' => __( 'Bali', 'invoicing' ), |
|
414 | + 'NB' => __( 'Nusa Tenggara Barat', 'invoicing' ), |
|
415 | + 'NT' => __( 'Nusa Tenggara Timur', 'invoicing' ), |
|
416 | + 'KB' => __( 'Kalimantan Barat', 'invoicing' ), |
|
417 | + 'KT' => __( 'Kalimantan Tengah', 'invoicing' ), |
|
418 | + 'KI' => __( 'Kalimantan Timur', 'invoicing' ), |
|
419 | + 'KS' => __( 'Kalimantan Selatan', 'invoicing' ), |
|
420 | + 'KU' => __( 'Kalimantan Utara', 'invoicing' ), |
|
421 | + 'SA' => __( 'Sulawesi Utara', 'invoicing' ), |
|
422 | + 'ST' => __( 'Sulawesi Tengah', 'invoicing' ), |
|
423 | + 'SG' => __( 'Sulawesi Tenggara', 'invoicing' ), |
|
424 | + 'SR' => __( 'Sulawesi Barat', 'invoicing' ), |
|
425 | + 'SN' => __( 'Sulawesi Selatan', 'invoicing' ), |
|
426 | + 'GO' => __( 'Gorontalo', 'invoicing' ), |
|
427 | + 'MA' => __( 'Maluku', 'invoicing' ), |
|
428 | + 'MU' => __( 'Maluku Utara', 'invoicing' ), |
|
429 | + 'PA' => __( 'Papua', 'invoicing' ), |
|
430 | + 'PB' => __( 'Papua Barat', 'invoicing' ), |
|
431 | + ), |
|
432 | + 'IE' => array( // Republic of Ireland. |
|
433 | + 'CW' => __( 'Carlow', 'invoicing' ), |
|
434 | + 'CN' => __( 'Cavan', 'invoicing' ), |
|
435 | + 'CE' => __( 'Clare', 'invoicing' ), |
|
436 | + 'CO' => __( 'Cork', 'invoicing' ), |
|
437 | + 'DL' => __( 'Donegal', 'invoicing' ), |
|
438 | + 'D' => __( 'Dublin', 'invoicing' ), |
|
439 | + 'G' => __( 'Galway', 'invoicing' ), |
|
440 | + 'KY' => __( 'Kerry', 'invoicing' ), |
|
441 | + 'KE' => __( 'Kildare', 'invoicing' ), |
|
442 | + 'KK' => __( 'Kilkenny', 'invoicing' ), |
|
443 | + 'LS' => __( 'Laois', 'invoicing' ), |
|
444 | + 'LM' => __( 'Leitrim', 'invoicing' ), |
|
445 | + 'LK' => __( 'Limerick', 'invoicing' ), |
|
446 | + 'LD' => __( 'Longford', 'invoicing' ), |
|
447 | + 'LH' => __( 'Louth', 'invoicing' ), |
|
448 | + 'MO' => __( 'Mayo', 'invoicing' ), |
|
449 | + 'MH' => __( 'Meath', 'invoicing' ), |
|
450 | + 'MN' => __( 'Monaghan', 'invoicing' ), |
|
451 | + 'OY' => __( 'Offaly', 'invoicing' ), |
|
452 | + 'RN' => __( 'Roscommon', 'invoicing' ), |
|
453 | + 'SO' => __( 'Sligo', 'invoicing' ), |
|
454 | + 'TA' => __( 'Tipperary', 'invoicing' ), |
|
455 | + 'WD' => __( 'Waterford', 'invoicing' ), |
|
456 | + 'WH' => __( 'Westmeath', 'invoicing' ), |
|
457 | + 'WX' => __( 'Wexford', 'invoicing' ), |
|
458 | + 'WW' => __( 'Wicklow', 'invoicing' ), |
|
459 | + ), |
|
460 | + 'IN' => array( // Indian states. |
|
461 | + 'AP' => __( 'Andhra Pradesh', 'invoicing' ), |
|
462 | + 'AR' => __( 'Arunachal Pradesh', 'invoicing' ), |
|
463 | + 'AS' => __( 'Assam', 'invoicing' ), |
|
464 | + 'BR' => __( 'Bihar', 'invoicing' ), |
|
465 | + 'CT' => __( 'Chhattisgarh', 'invoicing' ), |
|
466 | + 'GA' => __( 'Goa', 'invoicing' ), |
|
467 | + 'GJ' => __( 'Gujarat', 'invoicing' ), |
|
468 | + 'HR' => __( 'Haryana', 'invoicing' ), |
|
469 | + 'HP' => __( 'Himachal Pradesh', 'invoicing' ), |
|
470 | + 'JK' => __( 'Jammu and Kashmir', 'invoicing' ), |
|
471 | + 'JH' => __( 'Jharkhand', 'invoicing' ), |
|
472 | + 'KA' => __( 'Karnataka', 'invoicing' ), |
|
473 | + 'KL' => __( 'Kerala', 'invoicing' ), |
|
474 | + 'MP' => __( 'Madhya Pradesh', 'invoicing' ), |
|
475 | + 'MH' => __( 'Maharashtra', 'invoicing' ), |
|
476 | + 'MN' => __( 'Manipur', 'invoicing' ), |
|
477 | + 'ML' => __( 'Meghalaya', 'invoicing' ), |
|
478 | + 'MZ' => __( 'Mizoram', 'invoicing' ), |
|
479 | + 'NL' => __( 'Nagaland', 'invoicing' ), |
|
480 | + 'OR' => __( 'Orissa', 'invoicing' ), |
|
481 | + 'PB' => __( 'Punjab', 'invoicing' ), |
|
482 | + 'RJ' => __( 'Rajasthan', 'invoicing' ), |
|
483 | + 'SK' => __( 'Sikkim', 'invoicing' ), |
|
484 | + 'TN' => __( 'Tamil Nadu', 'invoicing' ), |
|
485 | + 'TS' => __( 'Telangana', 'invoicing' ), |
|
486 | + 'TR' => __( 'Tripura', 'invoicing' ), |
|
487 | + 'UK' => __( 'Uttarakhand', 'invoicing' ), |
|
488 | + 'UP' => __( 'Uttar Pradesh', 'invoicing' ), |
|
489 | + 'WB' => __( 'West Bengal', 'invoicing' ), |
|
490 | + 'AN' => __( 'Andaman and Nicobar Islands', 'invoicing' ), |
|
491 | + 'CH' => __( 'Chandigarh', 'invoicing' ), |
|
492 | + 'DN' => __( 'Dadra and Nagar Haveli', 'invoicing' ), |
|
493 | + 'DD' => __( 'Daman and Diu', 'invoicing' ), |
|
494 | + 'DL' => __( 'Delhi', 'invoicing' ), |
|
495 | + 'LD' => __( 'Lakshadeep', 'invoicing' ), |
|
496 | + 'PY' => __( 'Pondicherry (Puducherry)', 'invoicing' ), |
|
497 | + ), |
|
498 | + 'IR' => array( // Iran States. |
|
499 | + 'KHZ' => __( 'Khuzestan (خوزستان)', 'invoicing' ), |
|
500 | + 'THR' => __( 'Tehran (تهران)', 'invoicing' ), |
|
501 | + 'ILM' => __( 'Ilaam (ایلام)', 'invoicing' ), |
|
502 | + 'BHR' => __( 'Bushehr (بوشهر)', 'invoicing' ), |
|
503 | + 'ADL' => __( 'Ardabil (اردبیل)', 'invoicing' ), |
|
504 | + 'ESF' => __( 'Isfahan (اصفهان)', 'invoicing' ), |
|
505 | + 'YZD' => __( 'Yazd (یزد)', 'invoicing' ), |
|
506 | + 'KRH' => __( 'Kermanshah (کرمانشاه)', 'invoicing' ), |
|
507 | + 'KRN' => __( 'Kerman (کرمان)', 'invoicing' ), |
|
508 | + 'HDN' => __( 'Hamadan (همدان)', 'invoicing' ), |
|
509 | + 'GZN' => __( 'Ghazvin (قزوین)', 'invoicing' ), |
|
510 | + 'ZJN' => __( 'Zanjan (زنجان)', 'invoicing' ), |
|
511 | + 'LRS' => __( 'Luristan (لرستان)', 'invoicing' ), |
|
512 | + 'ABZ' => __( 'Alborz (البرز)', 'invoicing' ), |
|
513 | + 'EAZ' => __( 'East Azarbaijan (آذربایجان شرقی)', 'invoicing' ), |
|
514 | + 'WAZ' => __( 'West Azarbaijan (آذربایجان غربی)', 'invoicing' ), |
|
515 | + 'CHB' => __( 'Chaharmahal and Bakhtiari (چهارمحال و بختیاری)', 'invoicing' ), |
|
516 | + 'SKH' => __( 'South Khorasan (خراسان جنوبی)', 'invoicing' ), |
|
517 | + 'RKH' => __( 'Razavi Khorasan (خراسان رضوی)', 'invoicing' ), |
|
518 | + 'NKH' => __( 'North Khorasan (خراسان شمالی)', 'invoicing' ), |
|
519 | + 'SMN' => __( 'Semnan (سمنان)', 'invoicing' ), |
|
520 | + 'FRS' => __( 'Fars (فارس)', 'invoicing' ), |
|
521 | + 'QHM' => __( 'Qom (قم)', 'invoicing' ), |
|
522 | + 'KRD' => __( 'Kurdistan / کردستان)', 'invoicing' ), |
|
523 | + 'KBD' => __( 'Kohgiluyeh and BoyerAhmad (کهگیلوییه و بویراحمد)', 'invoicing' ), |
|
524 | + 'GLS' => __( 'Golestan (گلستان)', 'invoicing' ), |
|
525 | + 'GIL' => __( 'Gilan (گیلان)', 'invoicing' ), |
|
526 | + 'MZN' => __( 'Mazandaran (مازندران)', 'invoicing' ), |
|
527 | + 'MKZ' => __( 'Markazi (مرکزی)', 'invoicing' ), |
|
528 | + 'HRZ' => __( 'Hormozgan (هرمزگان)', 'invoicing' ), |
|
529 | + 'SBN' => __( 'Sistan and Baluchestan (سیستان و بلوچستان)', 'invoicing' ), |
|
530 | + ), |
|
531 | + 'IS' => array(), |
|
532 | + 'IT' => array( // Italy Provinces. |
|
533 | + 'AG' => __( 'Agrigento', 'invoicing' ), |
|
534 | + 'AL' => __( 'Alessandria', 'invoicing' ), |
|
535 | + 'AN' => __( 'Ancona', 'invoicing' ), |
|
536 | + 'AO' => __( 'Aosta', 'invoicing' ), |
|
537 | + 'AR' => __( 'Arezzo', 'invoicing' ), |
|
538 | + 'AP' => __( 'Ascoli Piceno', 'invoicing' ), |
|
539 | + 'AT' => __( 'Asti', 'invoicing' ), |
|
540 | + 'AV' => __( 'Avellino', 'invoicing' ), |
|
541 | + 'BA' => __( 'Bari', 'invoicing' ), |
|
542 | + 'BT' => __( 'Barletta-Andria-Trani', 'invoicing' ), |
|
543 | + 'BL' => __( 'Belluno', 'invoicing' ), |
|
544 | + 'BN' => __( 'Benevento', 'invoicing' ), |
|
545 | + 'BG' => __( 'Bergamo', 'invoicing' ), |
|
546 | + 'BI' => __( 'Biella', 'invoicing' ), |
|
547 | + 'BO' => __( 'Bologna', 'invoicing' ), |
|
548 | + 'BZ' => __( 'Bolzano', 'invoicing' ), |
|
549 | + 'BS' => __( 'Brescia', 'invoicing' ), |
|
550 | + 'BR' => __( 'Brindisi', 'invoicing' ), |
|
551 | + 'CA' => __( 'Cagliari', 'invoicing' ), |
|
552 | + 'CL' => __( 'Caltanissetta', 'invoicing' ), |
|
553 | + 'CB' => __( 'Campobasso', 'invoicing' ), |
|
554 | + 'CE' => __( 'Caserta', 'invoicing' ), |
|
555 | + 'CT' => __( 'Catania', 'invoicing' ), |
|
556 | + 'CZ' => __( 'Catanzaro', 'invoicing' ), |
|
557 | + 'CH' => __( 'Chieti', 'invoicing' ), |
|
558 | + 'CO' => __( 'Como', 'invoicing' ), |
|
559 | + 'CS' => __( 'Cosenza', 'invoicing' ), |
|
560 | + 'CR' => __( 'Cremona', 'invoicing' ), |
|
561 | + 'KR' => __( 'Crotone', 'invoicing' ), |
|
562 | + 'CN' => __( 'Cuneo', 'invoicing' ), |
|
563 | + 'EN' => __( 'Enna', 'invoicing' ), |
|
564 | + 'FM' => __( 'Fermo', 'invoicing' ), |
|
565 | + 'FE' => __( 'Ferrara', 'invoicing' ), |
|
566 | + 'FI' => __( 'Firenze', 'invoicing' ), |
|
567 | + 'FG' => __( 'Foggia', 'invoicing' ), |
|
568 | + 'FC' => __( 'Forlì-Cesena', 'invoicing' ), |
|
569 | + 'FR' => __( 'Frosinone', 'invoicing' ), |
|
570 | + 'GE' => __( 'Genova', 'invoicing' ), |
|
571 | + 'GO' => __( 'Gorizia', 'invoicing' ), |
|
572 | + 'GR' => __( 'Grosseto', 'invoicing' ), |
|
573 | + 'IM' => __( 'Imperia', 'invoicing' ), |
|
574 | + 'IS' => __( 'Isernia', 'invoicing' ), |
|
575 | + 'SP' => __( 'La Spezia', 'invoicing' ), |
|
576 | + 'AQ' => __( "L'Aquila", 'invoicing' ), |
|
577 | + 'LT' => __( 'Latina', 'invoicing' ), |
|
578 | + 'LE' => __( 'Lecce', 'invoicing' ), |
|
579 | + 'LC' => __( 'Lecco', 'invoicing' ), |
|
580 | + 'LI' => __( 'Livorno', 'invoicing' ), |
|
581 | + 'LO' => __( 'Lodi', 'invoicing' ), |
|
582 | + 'LU' => __( 'Lucca', 'invoicing' ), |
|
583 | + 'MC' => __( 'Macerata', 'invoicing' ), |
|
584 | + 'MN' => __( 'Mantova', 'invoicing' ), |
|
585 | + 'MS' => __( 'Massa-Carrara', 'invoicing' ), |
|
586 | + 'MT' => __( 'Matera', 'invoicing' ), |
|
587 | + 'ME' => __( 'Messina', 'invoicing' ), |
|
588 | + 'MI' => __( 'Milano', 'invoicing' ), |
|
589 | + 'MO' => __( 'Modena', 'invoicing' ), |
|
590 | + 'MB' => __( 'Monza e della Brianza', 'invoicing' ), |
|
591 | + 'NA' => __( 'Napoli', 'invoicing' ), |
|
592 | + 'NO' => __( 'Novara', 'invoicing' ), |
|
593 | + 'NU' => __( 'Nuoro', 'invoicing' ), |
|
594 | + 'OR' => __( 'Oristano', 'invoicing' ), |
|
595 | + 'PD' => __( 'Padova', 'invoicing' ), |
|
596 | + 'PA' => __( 'Palermo', 'invoicing' ), |
|
597 | + 'PR' => __( 'Parma', 'invoicing' ), |
|
598 | + 'PV' => __( 'Pavia', 'invoicing' ), |
|
599 | + 'PG' => __( 'Perugia', 'invoicing' ), |
|
600 | + 'PU' => __( 'Pesaro e Urbino', 'invoicing' ), |
|
601 | + 'PE' => __( 'Pescara', 'invoicing' ), |
|
602 | + 'PC' => __( 'Piacenza', 'invoicing' ), |
|
603 | + 'PI' => __( 'Pisa', 'invoicing' ), |
|
604 | + 'PT' => __( 'Pistoia', 'invoicing' ), |
|
605 | + 'PN' => __( 'Pordenone', 'invoicing' ), |
|
606 | + 'PZ' => __( 'Potenza', 'invoicing' ), |
|
607 | + 'PO' => __( 'Prato', 'invoicing' ), |
|
608 | + 'RG' => __( 'Ragusa', 'invoicing' ), |
|
609 | + 'RA' => __( 'Ravenna', 'invoicing' ), |
|
610 | + 'RC' => __( 'Reggio Calabria', 'invoicing' ), |
|
611 | + 'RE' => __( 'Reggio Emilia', 'invoicing' ), |
|
612 | + 'RI' => __( 'Rieti', 'invoicing' ), |
|
613 | + 'RN' => __( 'Rimini', 'invoicing' ), |
|
614 | + 'RM' => __( 'Roma', 'invoicing' ), |
|
615 | + 'RO' => __( 'Rovigo', 'invoicing' ), |
|
616 | + 'SA' => __( 'Salerno', 'invoicing' ), |
|
617 | + 'SS' => __( 'Sassari', 'invoicing' ), |
|
618 | + 'SV' => __( 'Savona', 'invoicing' ), |
|
619 | + 'SI' => __( 'Siena', 'invoicing' ), |
|
620 | + 'SR' => __( 'Siracusa', 'invoicing' ), |
|
621 | + 'SO' => __( 'Sondrio', 'invoicing' ), |
|
622 | + 'SU' => __( 'Sud Sardegna', 'invoicing' ), |
|
623 | + 'TA' => __( 'Taranto', 'invoicing' ), |
|
624 | + 'TE' => __( 'Teramo', 'invoicing' ), |
|
625 | + 'TR' => __( 'Terni', 'invoicing' ), |
|
626 | + 'TO' => __( 'Torino', 'invoicing' ), |
|
627 | + 'TP' => __( 'Trapani', 'invoicing' ), |
|
628 | + 'TN' => __( 'Trento', 'invoicing' ), |
|
629 | + 'TV' => __( 'Treviso', 'invoicing' ), |
|
630 | + 'TS' => __( 'Trieste', 'invoicing' ), |
|
631 | + 'UD' => __( 'Udine', 'invoicing' ), |
|
632 | + 'VA' => __( 'Varese', 'invoicing' ), |
|
633 | + 'VE' => __( 'Venezia', 'invoicing' ), |
|
634 | + 'VB' => __( 'Verbano-Cusio-Ossola', 'invoicing' ), |
|
635 | + 'VC' => __( 'Vercelli', 'invoicing' ), |
|
636 | + 'VR' => __( 'Verona', 'invoicing' ), |
|
637 | + 'VV' => __( 'Vibo Valentia', 'invoicing' ), |
|
638 | + 'VI' => __( 'Vicenza', 'invoicing' ), |
|
639 | + 'VT' => __( 'Viterbo', 'invoicing' ), |
|
640 | + ), |
|
641 | + 'IL' => array(), |
|
642 | + 'IM' => array(), |
|
643 | 643 | |
644 | - /** |
|
645 | - * Japan States. |
|
646 | - * |
|
647 | - * English notation of prefectures conform to the notation of Japan Post. |
|
648 | - * The suffix corresponds with the Japanese translation file. |
|
649 | - */ |
|
650 | - 'JP' => array( |
|
651 | - 'JP01' => __( 'Hokkaido', 'invoicing' ), |
|
652 | - 'JP02' => __( 'Aomori', 'invoicing' ), |
|
653 | - 'JP03' => __( 'Iwate', 'invoicing' ), |
|
654 | - 'JP04' => __( 'Miyagi', 'invoicing' ), |
|
655 | - 'JP05' => __( 'Akita', 'invoicing' ), |
|
656 | - 'JP06' => __( 'Yamagata', 'invoicing' ), |
|
657 | - 'JP07' => __( 'Fukushima', 'invoicing' ), |
|
658 | - 'JP08' => __( 'Ibaraki', 'invoicing' ), |
|
659 | - 'JP09' => __( 'Tochigi', 'invoicing' ), |
|
660 | - 'JP10' => __( 'Gunma', 'invoicing' ), |
|
661 | - 'JP11' => __( 'Saitama', 'invoicing' ), |
|
662 | - 'JP12' => __( 'Chiba', 'invoicing' ), |
|
663 | - 'JP13' => __( 'Tokyo', 'invoicing' ), |
|
664 | - 'JP14' => __( 'Kanagawa', 'invoicing' ), |
|
665 | - 'JP15' => __( 'Niigata', 'invoicing' ), |
|
666 | - 'JP16' => __( 'Toyama', 'invoicing' ), |
|
667 | - 'JP17' => __( 'Ishikawa', 'invoicing' ), |
|
668 | - 'JP18' => __( 'Fukui', 'invoicing' ), |
|
669 | - 'JP19' => __( 'Yamanashi', 'invoicing' ), |
|
670 | - 'JP20' => __( 'Nagano', 'invoicing' ), |
|
671 | - 'JP21' => __( 'Gifu', 'invoicing' ), |
|
672 | - 'JP22' => __( 'Shizuoka', 'invoicing' ), |
|
673 | - 'JP23' => __( 'Aichi', 'invoicing' ), |
|
674 | - 'JP24' => __( 'Mie', 'invoicing' ), |
|
675 | - 'JP25' => __( 'Shiga', 'invoicing' ), |
|
676 | - 'JP26' => __( 'Kyoto', 'invoicing' ), |
|
677 | - 'JP27' => __( 'Osaka', 'invoicing' ), |
|
678 | - 'JP28' => __( 'Hyogo', 'invoicing' ), |
|
679 | - 'JP29' => __( 'Nara', 'invoicing' ), |
|
680 | - 'JP30' => __( 'Wakayama', 'invoicing' ), |
|
681 | - 'JP31' => __( 'Tottori', 'invoicing' ), |
|
682 | - 'JP32' => __( 'Shimane', 'invoicing' ), |
|
683 | - 'JP33' => __( 'Okayama', 'invoicing' ), |
|
684 | - 'JP34' => __( 'Hiroshima', 'invoicing' ), |
|
685 | - 'JP35' => __( 'Yamaguchi', 'invoicing' ), |
|
686 | - 'JP36' => __( 'Tokushima', 'invoicing' ), |
|
687 | - 'JP37' => __( 'Kagawa', 'invoicing' ), |
|
688 | - 'JP38' => __( 'Ehime', 'invoicing' ), |
|
689 | - 'JP39' => __( 'Kochi', 'invoicing' ), |
|
690 | - 'JP40' => __( 'Fukuoka', 'invoicing' ), |
|
691 | - 'JP41' => __( 'Saga', 'invoicing' ), |
|
692 | - 'JP42' => __( 'Nagasaki', 'invoicing' ), |
|
693 | - 'JP43' => __( 'Kumamoto', 'invoicing' ), |
|
694 | - 'JP44' => __( 'Oita', 'invoicing' ), |
|
695 | - 'JP45' => __( 'Miyazaki', 'invoicing' ), |
|
696 | - 'JP46' => __( 'Kagoshima', 'invoicing' ), |
|
697 | - 'JP47' => __( 'Okinawa', 'invoicing' ), |
|
698 | - ), |
|
699 | - 'KE' => array( // Kenya Counties. |
|
700 | - '1' => __( 'Mombasa', 'invoicing' ), |
|
701 | - '2' => __( 'Kwale', 'invoicing' ), |
|
702 | - '3' => __( 'Kilifi', 'invoicing' ), |
|
703 | - '4' => __( 'Tana River', 'invoicing' ), |
|
704 | - '5' => __( 'Lamu', 'invoicing' ), |
|
705 | - '6' => __( 'Taita-Taveta', 'invoicing' ), |
|
706 | - '7' => __( 'Garissa', 'invoicing' ), |
|
707 | - '8' => __( 'Wajir', 'invoicing' ), |
|
708 | - '9' => __( 'Mandera', 'invoicing' ), |
|
709 | - '10' => __( 'Marsabit', 'invoicing' ), |
|
710 | - '11' => __( 'Isiolo', 'invoicing' ), |
|
711 | - '12' => __( 'Meru', 'invoicing' ), |
|
712 | - '13' => __( 'Tharaka-Nithi', 'invoicing' ), |
|
713 | - '14' => __( 'Embu', 'invoicing' ), |
|
714 | - '15' => __( 'Kitui', 'invoicing' ), |
|
715 | - '16' => __( 'Machakos', 'invoicing' ), |
|
716 | - '17' => __( 'Makueni', 'invoicing' ), |
|
717 | - '18' => __( 'Nyandarua', 'invoicing' ), |
|
718 | - '19' => __( 'Nyeri', 'invoicing' ), |
|
719 | - '20' => __( 'Kirinyaga', 'invoicing' ), |
|
720 | - '21' => __( "Murang'a", 'invoicing' ), |
|
721 | - '22' => __( 'Kiambu', 'invoicing' ), |
|
722 | - '23' => __( 'Turkana', 'invoicing' ), |
|
723 | - '24' => __( 'West Pokot', 'invoicing' ), |
|
724 | - '25' => __( 'Samburu', 'invoicing' ), |
|
725 | - '26' => __( 'Trans-Nzoia', 'invoicing' ), |
|
726 | - '27' => __( 'Uasin Gishu', 'invoicing' ), |
|
727 | - '28' => __( 'Elgeyo-Marakwet', 'invoicing' ), |
|
728 | - '29' => __( 'Nandi', 'invoicing' ), |
|
729 | - '30' => __( 'Baringo', 'invoicing' ), |
|
730 | - '31' => __( 'Laikipia', 'invoicing' ), |
|
731 | - '32' => __( 'Nakuru', 'invoicing' ), |
|
732 | - '33' => __( 'Narok', 'invoicing' ), |
|
733 | - '34' => __( 'Kajiado', 'invoicing' ), |
|
734 | - '35' => __( 'Kericho', 'invoicing' ), |
|
735 | - '36' => __( 'Bomet', 'invoicing' ), |
|
736 | - '37' => __( 'Kakamega', 'invoicing' ), |
|
737 | - '38' => __( 'Vihiga', 'invoicing' ), |
|
738 | - '39' => __( 'Bungoma', 'invoicing' ), |
|
739 | - '40' => __( 'Busia', 'invoicing' ), |
|
740 | - '41' => __( 'Siaya', 'invoicing' ), |
|
741 | - '42' => __( 'Kisumu', 'invoicing' ), |
|
742 | - '43' => __( 'Homa bay', 'invoicing' ), |
|
743 | - '44' => __( 'Migori', 'invoicing' ), |
|
744 | - '45' => __( 'Kisii', 'invoicing' ), |
|
745 | - '46' => __( 'Nyamira', 'invoicing' ), |
|
746 | - '47' => __( 'Nairobi', 'invoicing' ), |
|
747 | - ), |
|
748 | - 'KR' => array(), |
|
749 | - 'KW' => array(), |
|
750 | - 'LB' => array(), |
|
751 | - 'LR' => array( // Liberia provinces. |
|
752 | - 'BM' => __( 'Bomi', 'invoicing' ), |
|
753 | - 'BN' => __( 'Bong', 'invoicing' ), |
|
754 | - 'GA' => __( 'Gbarpolu', 'invoicing' ), |
|
755 | - 'GB' => __( 'Grand Bassa', 'invoicing' ), |
|
756 | - 'GC' => __( 'Grand Cape Mount', 'invoicing' ), |
|
757 | - 'GG' => __( 'Grand Gedeh', 'invoicing' ), |
|
758 | - 'GK' => __( 'Grand Kru', 'invoicing' ), |
|
759 | - 'LO' => __( 'Lofa', 'invoicing' ), |
|
760 | - 'MA' => __( 'Margibi', 'invoicing' ), |
|
761 | - 'MY' => __( 'Maryland', 'invoicing' ), |
|
762 | - 'MO' => __( 'Montserrado', 'invoicing' ), |
|
763 | - 'NM' => __( 'Nimba', 'invoicing' ), |
|
764 | - 'RV' => __( 'Rivercess', 'invoicing' ), |
|
765 | - 'RG' => __( 'River Gee', 'invoicing' ), |
|
766 | - 'SN' => __( 'Sinoe', 'invoicing' ), |
|
767 | - ), |
|
768 | - 'LU' => array(), |
|
769 | - 'MD' => array( // Moldova states. |
|
770 | - 'C' => __( 'Chișinău', 'invoicing' ), |
|
771 | - 'BL' => __( 'Bălți', 'invoicing' ), |
|
772 | - 'AN' => __( 'Anenii Noi', 'invoicing' ), |
|
773 | - 'BS' => __( 'Basarabeasca', 'invoicing' ), |
|
774 | - 'BR' => __( 'Briceni', 'invoicing' ), |
|
775 | - 'CH' => __( 'Cahul', 'invoicing' ), |
|
776 | - 'CT' => __( 'Cantemir', 'invoicing' ), |
|
777 | - 'CL' => __( 'Călărași', 'invoicing' ), |
|
778 | - 'CS' => __( 'Căușeni', 'invoicing' ), |
|
779 | - 'CM' => __( 'Cimișlia', 'invoicing' ), |
|
780 | - 'CR' => __( 'Criuleni', 'invoicing' ), |
|
781 | - 'DN' => __( 'Dondușeni', 'invoicing' ), |
|
782 | - 'DR' => __( 'Drochia', 'invoicing' ), |
|
783 | - 'DB' => __( 'Dubăsari', 'invoicing' ), |
|
784 | - 'ED' => __( 'Edineț', 'invoicing' ), |
|
785 | - 'FL' => __( 'Fălești', 'invoicing' ), |
|
786 | - 'FR' => __( 'Florești', 'invoicing' ), |
|
787 | - 'GE' => __( 'UTA Găgăuzia', 'invoicing' ), |
|
788 | - 'GL' => __( 'Glodeni', 'invoicing' ), |
|
789 | - 'HN' => __( 'Hîncești', 'invoicing' ), |
|
790 | - 'IL' => __( 'Ialoveni', 'invoicing' ), |
|
791 | - 'LV' => __( 'Leova', 'invoicing' ), |
|
792 | - 'NS' => __( 'Nisporeni', 'invoicing' ), |
|
793 | - 'OC' => __( 'Ocnița', 'invoicing' ), |
|
794 | - 'OR' => __( 'Orhei', 'invoicing' ), |
|
795 | - 'RZ' => __( 'Rezina', 'invoicing' ), |
|
796 | - 'RS' => __( 'Rîșcani', 'invoicing' ), |
|
797 | - 'SG' => __( 'Sîngerei', 'invoicing' ), |
|
798 | - 'SR' => __( 'Soroca', 'invoicing' ), |
|
799 | - 'ST' => __( 'Strășeni', 'invoicing' ), |
|
800 | - 'SD' => __( 'Șoldănești', 'invoicing' ), |
|
801 | - 'SV' => __( 'Ștefan Vodă', 'invoicing' ), |
|
802 | - 'TR' => __( 'Taraclia', 'invoicing' ), |
|
803 | - 'TL' => __( 'Telenești', 'invoicing' ), |
|
804 | - 'UN' => __( 'Ungheni', 'invoicing' ), |
|
805 | - ), |
|
806 | - 'MQ' => array(), |
|
807 | - 'MT' => array(), |
|
808 | - 'MX' => array( // Mexico States. |
|
809 | - 'DF' => __( 'Ciudad de México', 'invoicing' ), |
|
810 | - 'JA' => __( 'Jalisco', 'invoicing' ), |
|
811 | - 'NL' => __( 'Nuevo León', 'invoicing' ), |
|
812 | - 'AG' => __( 'Aguascalientes', 'invoicing' ), |
|
813 | - 'BC' => __( 'Baja California', 'invoicing' ), |
|
814 | - 'BS' => __( 'Baja California Sur', 'invoicing' ), |
|
815 | - 'CM' => __( 'Campeche', 'invoicing' ), |
|
816 | - 'CS' => __( 'Chiapas', 'invoicing' ), |
|
817 | - 'CH' => __( 'Chihuahua', 'invoicing' ), |
|
818 | - 'CO' => __( 'Coahuila', 'invoicing' ), |
|
819 | - 'CL' => __( 'Colima', 'invoicing' ), |
|
820 | - 'DG' => __( 'Durango', 'invoicing' ), |
|
821 | - 'GT' => __( 'Guanajuato', 'invoicing' ), |
|
822 | - 'GR' => __( 'Guerrero', 'invoicing' ), |
|
823 | - 'HG' => __( 'Hidalgo', 'invoicing' ), |
|
824 | - 'MX' => __( 'Estado de México', 'invoicing' ), |
|
825 | - 'MI' => __( 'Michoacán', 'invoicing' ), |
|
826 | - 'MO' => __( 'Morelos', 'invoicing' ), |
|
827 | - 'NA' => __( 'Nayarit', 'invoicing' ), |
|
828 | - 'OA' => __( 'Oaxaca', 'invoicing' ), |
|
829 | - 'PU' => __( 'Puebla', 'invoicing' ), |
|
830 | - 'QT' => __( 'Querétaro', 'invoicing' ), |
|
831 | - 'QR' => __( 'Quintana Roo', 'invoicing' ), |
|
832 | - 'SL' => __( 'San Luis Potosí', 'invoicing' ), |
|
833 | - 'SI' => __( 'Sinaloa', 'invoicing' ), |
|
834 | - 'SO' => __( 'Sonora', 'invoicing' ), |
|
835 | - 'TB' => __( 'Tabasco', 'invoicing' ), |
|
836 | - 'TM' => __( 'Tamaulipas', 'invoicing' ), |
|
837 | - 'TL' => __( 'Tlaxcala', 'invoicing' ), |
|
838 | - 'VE' => __( 'Veracruz', 'invoicing' ), |
|
839 | - 'YU' => __( 'Yucatán', 'invoicing' ), |
|
840 | - 'ZA' => __( 'Zacatecas', 'invoicing' ), |
|
841 | - ), |
|
842 | - 'MY' => array( // Malaysian states. |
|
843 | - 'JHR' => __( 'Johor', 'invoicing' ), |
|
844 | - 'KDH' => __( 'Kedah', 'invoicing' ), |
|
845 | - 'KTN' => __( 'Kelantan', 'invoicing' ), |
|
846 | - 'LBN' => __( 'Labuan', 'invoicing' ), |
|
847 | - 'MLK' => __( 'Malacca (Melaka)', 'invoicing' ), |
|
848 | - 'NSN' => __( 'Negeri Sembilan', 'invoicing' ), |
|
849 | - 'PHG' => __( 'Pahang', 'invoicing' ), |
|
850 | - 'PNG' => __( 'Penang (Pulau Pinang)', 'invoicing' ), |
|
851 | - 'PRK' => __( 'Perak', 'invoicing' ), |
|
852 | - 'PLS' => __( 'Perlis', 'invoicing' ), |
|
853 | - 'SBH' => __( 'Sabah', 'invoicing' ), |
|
854 | - 'SWK' => __( 'Sarawak', 'invoicing' ), |
|
855 | - 'SGR' => __( 'Selangor', 'invoicing' ), |
|
856 | - 'TRG' => __( 'Terengganu', 'invoicing' ), |
|
857 | - 'PJY' => __( 'Putrajaya', 'invoicing' ), |
|
858 | - 'KUL' => __( 'Kuala Lumpur', 'invoicing' ), |
|
859 | - ), |
|
860 | - 'NG' => array( // Nigerian provinces. |
|
861 | - 'AB' => __( 'Abia', 'invoicing' ), |
|
862 | - 'FC' => __( 'Abuja', 'invoicing' ), |
|
863 | - 'AD' => __( 'Adamawa', 'invoicing' ), |
|
864 | - 'AK' => __( 'Akwa Ibom', 'invoicing' ), |
|
865 | - 'AN' => __( 'Anambra', 'invoicing' ), |
|
866 | - 'BA' => __( 'Bauchi', 'invoicing' ), |
|
867 | - 'BY' => __( 'Bayelsa', 'invoicing' ), |
|
868 | - 'BE' => __( 'Benue', 'invoicing' ), |
|
869 | - 'BO' => __( 'Borno', 'invoicing' ), |
|
870 | - 'CR' => __( 'Cross River', 'invoicing' ), |
|
871 | - 'DE' => __( 'Delta', 'invoicing' ), |
|
872 | - 'EB' => __( 'Ebonyi', 'invoicing' ), |
|
873 | - 'ED' => __( 'Edo', 'invoicing' ), |
|
874 | - 'EK' => __( 'Ekiti', 'invoicing' ), |
|
875 | - 'EN' => __( 'Enugu', 'invoicing' ), |
|
876 | - 'GO' => __( 'Gombe', 'invoicing' ), |
|
877 | - 'IM' => __( 'Imo', 'invoicing' ), |
|
878 | - 'JI' => __( 'Jigawa', 'invoicing' ), |
|
879 | - 'KD' => __( 'Kaduna', 'invoicing' ), |
|
880 | - 'KN' => __( 'Kano', 'invoicing' ), |
|
881 | - 'KT' => __( 'Katsina', 'invoicing' ), |
|
882 | - 'KE' => __( 'Kebbi', 'invoicing' ), |
|
883 | - 'KO' => __( 'Kogi', 'invoicing' ), |
|
884 | - 'KW' => __( 'Kwara', 'invoicing' ), |
|
885 | - 'LA' => __( 'Lagos', 'invoicing' ), |
|
886 | - 'NA' => __( 'Nasarawa', 'invoicing' ), |
|
887 | - 'NI' => __( 'Niger', 'invoicing' ), |
|
888 | - 'OG' => __( 'Ogun', 'invoicing' ), |
|
889 | - 'ON' => __( 'Ondo', 'invoicing' ), |
|
890 | - 'OS' => __( 'Osun', 'invoicing' ), |
|
891 | - 'OY' => __( 'Oyo', 'invoicing' ), |
|
892 | - 'PL' => __( 'Plateau', 'invoicing' ), |
|
893 | - 'RI' => __( 'Rivers', 'invoicing' ), |
|
894 | - 'SO' => __( 'Sokoto', 'invoicing' ), |
|
895 | - 'TA' => __( 'Taraba', 'invoicing' ), |
|
896 | - 'YO' => __( 'Yobe', 'invoicing' ), |
|
897 | - 'ZA' => __( 'Zamfara', 'invoicing' ), |
|
898 | - ), |
|
899 | - 'NL' => array(), |
|
900 | - 'NO' => array(), |
|
901 | - 'NP' => array( // Nepal states (Zones). |
|
902 | - 'BAG' => __( 'Bagmati', 'invoicing' ), |
|
903 | - 'BHE' => __( 'Bheri', 'invoicing' ), |
|
904 | - 'DHA' => __( 'Dhaulagiri', 'invoicing' ), |
|
905 | - 'GAN' => __( 'Gandaki', 'invoicing' ), |
|
906 | - 'JAN' => __( 'Janakpur', 'invoicing' ), |
|
907 | - 'KAR' => __( 'Karnali', 'invoicing' ), |
|
908 | - 'KOS' => __( 'Koshi', 'invoicing' ), |
|
909 | - 'LUM' => __( 'Lumbini', 'invoicing' ), |
|
910 | - 'MAH' => __( 'Mahakali', 'invoicing' ), |
|
911 | - 'MEC' => __( 'Mechi', 'invoicing' ), |
|
912 | - 'NAR' => __( 'Narayani', 'invoicing' ), |
|
913 | - 'RAP' => __( 'Rapti', 'invoicing' ), |
|
914 | - 'SAG' => __( 'Sagarmatha', 'invoicing' ), |
|
915 | - 'SET' => __( 'Seti', 'invoicing' ), |
|
916 | - ), |
|
917 | - 'NZ' => array( // New Zealand States. |
|
918 | - 'NL' => __( 'Northland', 'invoicing' ), |
|
919 | - 'AK' => __( 'Auckland', 'invoicing' ), |
|
920 | - 'WA' => __( 'Waikato', 'invoicing' ), |
|
921 | - 'BP' => __( 'Bay of Plenty', 'invoicing' ), |
|
922 | - 'TK' => __( 'Taranaki', 'invoicing' ), |
|
923 | - 'GI' => __( 'Gisborne', 'invoicing' ), |
|
924 | - 'HB' => __( 'Hawke’s Bay', 'invoicing' ), |
|
925 | - 'MW' => __( 'Manawatu-Wanganui', 'invoicing' ), |
|
926 | - 'WE' => __( 'Wellington', 'invoicing' ), |
|
927 | - 'NS' => __( 'Nelson', 'invoicing' ), |
|
928 | - 'MB' => __( 'Marlborough', 'invoicing' ), |
|
929 | - 'TM' => __( 'Tasman', 'invoicing' ), |
|
930 | - 'WC' => __( 'West Coast', 'invoicing' ), |
|
931 | - 'CT' => __( 'Canterbury', 'invoicing' ), |
|
932 | - 'OT' => __( 'Otago', 'invoicing' ), |
|
933 | - 'SL' => __( 'Southland', 'invoicing' ), |
|
934 | - ), |
|
935 | - 'PE' => array( // Peru states. |
|
936 | - 'CAL' => __( 'El Callao', 'invoicing' ), |
|
937 | - 'LMA' => __( 'Municipalidad Metropolitana de Lima', 'invoicing' ), |
|
938 | - 'AMA' => __( 'Amazonas', 'invoicing' ), |
|
939 | - 'ANC' => __( 'Ancash', 'invoicing' ), |
|
940 | - 'APU' => __( 'Apurímac', 'invoicing' ), |
|
941 | - 'ARE' => __( 'Arequipa', 'invoicing' ), |
|
942 | - 'AYA' => __( 'Ayacucho', 'invoicing' ), |
|
943 | - 'CAJ' => __( 'Cajamarca', 'invoicing' ), |
|
944 | - 'CUS' => __( 'Cusco', 'invoicing' ), |
|
945 | - 'HUV' => __( 'Huancavelica', 'invoicing' ), |
|
946 | - 'HUC' => __( 'Huánuco', 'invoicing' ), |
|
947 | - 'ICA' => __( 'Ica', 'invoicing' ), |
|
948 | - 'JUN' => __( 'Junín', 'invoicing' ), |
|
949 | - 'LAL' => __( 'La Libertad', 'invoicing' ), |
|
950 | - 'LAM' => __( 'Lambayeque', 'invoicing' ), |
|
951 | - 'LIM' => __( 'Lima', 'invoicing' ), |
|
952 | - 'LOR' => __( 'Loreto', 'invoicing' ), |
|
953 | - 'MDD' => __( 'Madre de Dios', 'invoicing' ), |
|
954 | - 'MOQ' => __( 'Moquegua', 'invoicing' ), |
|
955 | - 'PAS' => __( 'Pasco', 'invoicing' ), |
|
956 | - 'PIU' => __( 'Piura', 'invoicing' ), |
|
957 | - 'PUN' => __( 'Puno', 'invoicing' ), |
|
958 | - 'SAM' => __( 'San Martín', 'invoicing' ), |
|
959 | - 'TAC' => __( 'Tacna', 'invoicing' ), |
|
960 | - 'TUM' => __( 'Tumbes', 'invoicing' ), |
|
961 | - 'UCA' => __( 'Ucayali', 'invoicing' ), |
|
962 | - ), |
|
644 | + /** |
|
645 | + * Japan States. |
|
646 | + * |
|
647 | + * English notation of prefectures conform to the notation of Japan Post. |
|
648 | + * The suffix corresponds with the Japanese translation file. |
|
649 | + */ |
|
650 | + 'JP' => array( |
|
651 | + 'JP01' => __( 'Hokkaido', 'invoicing' ), |
|
652 | + 'JP02' => __( 'Aomori', 'invoicing' ), |
|
653 | + 'JP03' => __( 'Iwate', 'invoicing' ), |
|
654 | + 'JP04' => __( 'Miyagi', 'invoicing' ), |
|
655 | + 'JP05' => __( 'Akita', 'invoicing' ), |
|
656 | + 'JP06' => __( 'Yamagata', 'invoicing' ), |
|
657 | + 'JP07' => __( 'Fukushima', 'invoicing' ), |
|
658 | + 'JP08' => __( 'Ibaraki', 'invoicing' ), |
|
659 | + 'JP09' => __( 'Tochigi', 'invoicing' ), |
|
660 | + 'JP10' => __( 'Gunma', 'invoicing' ), |
|
661 | + 'JP11' => __( 'Saitama', 'invoicing' ), |
|
662 | + 'JP12' => __( 'Chiba', 'invoicing' ), |
|
663 | + 'JP13' => __( 'Tokyo', 'invoicing' ), |
|
664 | + 'JP14' => __( 'Kanagawa', 'invoicing' ), |
|
665 | + 'JP15' => __( 'Niigata', 'invoicing' ), |
|
666 | + 'JP16' => __( 'Toyama', 'invoicing' ), |
|
667 | + 'JP17' => __( 'Ishikawa', 'invoicing' ), |
|
668 | + 'JP18' => __( 'Fukui', 'invoicing' ), |
|
669 | + 'JP19' => __( 'Yamanashi', 'invoicing' ), |
|
670 | + 'JP20' => __( 'Nagano', 'invoicing' ), |
|
671 | + 'JP21' => __( 'Gifu', 'invoicing' ), |
|
672 | + 'JP22' => __( 'Shizuoka', 'invoicing' ), |
|
673 | + 'JP23' => __( 'Aichi', 'invoicing' ), |
|
674 | + 'JP24' => __( 'Mie', 'invoicing' ), |
|
675 | + 'JP25' => __( 'Shiga', 'invoicing' ), |
|
676 | + 'JP26' => __( 'Kyoto', 'invoicing' ), |
|
677 | + 'JP27' => __( 'Osaka', 'invoicing' ), |
|
678 | + 'JP28' => __( 'Hyogo', 'invoicing' ), |
|
679 | + 'JP29' => __( 'Nara', 'invoicing' ), |
|
680 | + 'JP30' => __( 'Wakayama', 'invoicing' ), |
|
681 | + 'JP31' => __( 'Tottori', 'invoicing' ), |
|
682 | + 'JP32' => __( 'Shimane', 'invoicing' ), |
|
683 | + 'JP33' => __( 'Okayama', 'invoicing' ), |
|
684 | + 'JP34' => __( 'Hiroshima', 'invoicing' ), |
|
685 | + 'JP35' => __( 'Yamaguchi', 'invoicing' ), |
|
686 | + 'JP36' => __( 'Tokushima', 'invoicing' ), |
|
687 | + 'JP37' => __( 'Kagawa', 'invoicing' ), |
|
688 | + 'JP38' => __( 'Ehime', 'invoicing' ), |
|
689 | + 'JP39' => __( 'Kochi', 'invoicing' ), |
|
690 | + 'JP40' => __( 'Fukuoka', 'invoicing' ), |
|
691 | + 'JP41' => __( 'Saga', 'invoicing' ), |
|
692 | + 'JP42' => __( 'Nagasaki', 'invoicing' ), |
|
693 | + 'JP43' => __( 'Kumamoto', 'invoicing' ), |
|
694 | + 'JP44' => __( 'Oita', 'invoicing' ), |
|
695 | + 'JP45' => __( 'Miyazaki', 'invoicing' ), |
|
696 | + 'JP46' => __( 'Kagoshima', 'invoicing' ), |
|
697 | + 'JP47' => __( 'Okinawa', 'invoicing' ), |
|
698 | + ), |
|
699 | + 'KE' => array( // Kenya Counties. |
|
700 | + '1' => __( 'Mombasa', 'invoicing' ), |
|
701 | + '2' => __( 'Kwale', 'invoicing' ), |
|
702 | + '3' => __( 'Kilifi', 'invoicing' ), |
|
703 | + '4' => __( 'Tana River', 'invoicing' ), |
|
704 | + '5' => __( 'Lamu', 'invoicing' ), |
|
705 | + '6' => __( 'Taita-Taveta', 'invoicing' ), |
|
706 | + '7' => __( 'Garissa', 'invoicing' ), |
|
707 | + '8' => __( 'Wajir', 'invoicing' ), |
|
708 | + '9' => __( 'Mandera', 'invoicing' ), |
|
709 | + '10' => __( 'Marsabit', 'invoicing' ), |
|
710 | + '11' => __( 'Isiolo', 'invoicing' ), |
|
711 | + '12' => __( 'Meru', 'invoicing' ), |
|
712 | + '13' => __( 'Tharaka-Nithi', 'invoicing' ), |
|
713 | + '14' => __( 'Embu', 'invoicing' ), |
|
714 | + '15' => __( 'Kitui', 'invoicing' ), |
|
715 | + '16' => __( 'Machakos', 'invoicing' ), |
|
716 | + '17' => __( 'Makueni', 'invoicing' ), |
|
717 | + '18' => __( 'Nyandarua', 'invoicing' ), |
|
718 | + '19' => __( 'Nyeri', 'invoicing' ), |
|
719 | + '20' => __( 'Kirinyaga', 'invoicing' ), |
|
720 | + '21' => __( "Murang'a", 'invoicing' ), |
|
721 | + '22' => __( 'Kiambu', 'invoicing' ), |
|
722 | + '23' => __( 'Turkana', 'invoicing' ), |
|
723 | + '24' => __( 'West Pokot', 'invoicing' ), |
|
724 | + '25' => __( 'Samburu', 'invoicing' ), |
|
725 | + '26' => __( 'Trans-Nzoia', 'invoicing' ), |
|
726 | + '27' => __( 'Uasin Gishu', 'invoicing' ), |
|
727 | + '28' => __( 'Elgeyo-Marakwet', 'invoicing' ), |
|
728 | + '29' => __( 'Nandi', 'invoicing' ), |
|
729 | + '30' => __( 'Baringo', 'invoicing' ), |
|
730 | + '31' => __( 'Laikipia', 'invoicing' ), |
|
731 | + '32' => __( 'Nakuru', 'invoicing' ), |
|
732 | + '33' => __( 'Narok', 'invoicing' ), |
|
733 | + '34' => __( 'Kajiado', 'invoicing' ), |
|
734 | + '35' => __( 'Kericho', 'invoicing' ), |
|
735 | + '36' => __( 'Bomet', 'invoicing' ), |
|
736 | + '37' => __( 'Kakamega', 'invoicing' ), |
|
737 | + '38' => __( 'Vihiga', 'invoicing' ), |
|
738 | + '39' => __( 'Bungoma', 'invoicing' ), |
|
739 | + '40' => __( 'Busia', 'invoicing' ), |
|
740 | + '41' => __( 'Siaya', 'invoicing' ), |
|
741 | + '42' => __( 'Kisumu', 'invoicing' ), |
|
742 | + '43' => __( 'Homa bay', 'invoicing' ), |
|
743 | + '44' => __( 'Migori', 'invoicing' ), |
|
744 | + '45' => __( 'Kisii', 'invoicing' ), |
|
745 | + '46' => __( 'Nyamira', 'invoicing' ), |
|
746 | + '47' => __( 'Nairobi', 'invoicing' ), |
|
747 | + ), |
|
748 | + 'KR' => array(), |
|
749 | + 'KW' => array(), |
|
750 | + 'LB' => array(), |
|
751 | + 'LR' => array( // Liberia provinces. |
|
752 | + 'BM' => __( 'Bomi', 'invoicing' ), |
|
753 | + 'BN' => __( 'Bong', 'invoicing' ), |
|
754 | + 'GA' => __( 'Gbarpolu', 'invoicing' ), |
|
755 | + 'GB' => __( 'Grand Bassa', 'invoicing' ), |
|
756 | + 'GC' => __( 'Grand Cape Mount', 'invoicing' ), |
|
757 | + 'GG' => __( 'Grand Gedeh', 'invoicing' ), |
|
758 | + 'GK' => __( 'Grand Kru', 'invoicing' ), |
|
759 | + 'LO' => __( 'Lofa', 'invoicing' ), |
|
760 | + 'MA' => __( 'Margibi', 'invoicing' ), |
|
761 | + 'MY' => __( 'Maryland', 'invoicing' ), |
|
762 | + 'MO' => __( 'Montserrado', 'invoicing' ), |
|
763 | + 'NM' => __( 'Nimba', 'invoicing' ), |
|
764 | + 'RV' => __( 'Rivercess', 'invoicing' ), |
|
765 | + 'RG' => __( 'River Gee', 'invoicing' ), |
|
766 | + 'SN' => __( 'Sinoe', 'invoicing' ), |
|
767 | + ), |
|
768 | + 'LU' => array(), |
|
769 | + 'MD' => array( // Moldova states. |
|
770 | + 'C' => __( 'Chișinău', 'invoicing' ), |
|
771 | + 'BL' => __( 'Bălți', 'invoicing' ), |
|
772 | + 'AN' => __( 'Anenii Noi', 'invoicing' ), |
|
773 | + 'BS' => __( 'Basarabeasca', 'invoicing' ), |
|
774 | + 'BR' => __( 'Briceni', 'invoicing' ), |
|
775 | + 'CH' => __( 'Cahul', 'invoicing' ), |
|
776 | + 'CT' => __( 'Cantemir', 'invoicing' ), |
|
777 | + 'CL' => __( 'Călărași', 'invoicing' ), |
|
778 | + 'CS' => __( 'Căușeni', 'invoicing' ), |
|
779 | + 'CM' => __( 'Cimișlia', 'invoicing' ), |
|
780 | + 'CR' => __( 'Criuleni', 'invoicing' ), |
|
781 | + 'DN' => __( 'Dondușeni', 'invoicing' ), |
|
782 | + 'DR' => __( 'Drochia', 'invoicing' ), |
|
783 | + 'DB' => __( 'Dubăsari', 'invoicing' ), |
|
784 | + 'ED' => __( 'Edineț', 'invoicing' ), |
|
785 | + 'FL' => __( 'Fălești', 'invoicing' ), |
|
786 | + 'FR' => __( 'Florești', 'invoicing' ), |
|
787 | + 'GE' => __( 'UTA Găgăuzia', 'invoicing' ), |
|
788 | + 'GL' => __( 'Glodeni', 'invoicing' ), |
|
789 | + 'HN' => __( 'Hîncești', 'invoicing' ), |
|
790 | + 'IL' => __( 'Ialoveni', 'invoicing' ), |
|
791 | + 'LV' => __( 'Leova', 'invoicing' ), |
|
792 | + 'NS' => __( 'Nisporeni', 'invoicing' ), |
|
793 | + 'OC' => __( 'Ocnița', 'invoicing' ), |
|
794 | + 'OR' => __( 'Orhei', 'invoicing' ), |
|
795 | + 'RZ' => __( 'Rezina', 'invoicing' ), |
|
796 | + 'RS' => __( 'Rîșcani', 'invoicing' ), |
|
797 | + 'SG' => __( 'Sîngerei', 'invoicing' ), |
|
798 | + 'SR' => __( 'Soroca', 'invoicing' ), |
|
799 | + 'ST' => __( 'Strășeni', 'invoicing' ), |
|
800 | + 'SD' => __( 'Șoldănești', 'invoicing' ), |
|
801 | + 'SV' => __( 'Ștefan Vodă', 'invoicing' ), |
|
802 | + 'TR' => __( 'Taraclia', 'invoicing' ), |
|
803 | + 'TL' => __( 'Telenești', 'invoicing' ), |
|
804 | + 'UN' => __( 'Ungheni', 'invoicing' ), |
|
805 | + ), |
|
806 | + 'MQ' => array(), |
|
807 | + 'MT' => array(), |
|
808 | + 'MX' => array( // Mexico States. |
|
809 | + 'DF' => __( 'Ciudad de México', 'invoicing' ), |
|
810 | + 'JA' => __( 'Jalisco', 'invoicing' ), |
|
811 | + 'NL' => __( 'Nuevo León', 'invoicing' ), |
|
812 | + 'AG' => __( 'Aguascalientes', 'invoicing' ), |
|
813 | + 'BC' => __( 'Baja California', 'invoicing' ), |
|
814 | + 'BS' => __( 'Baja California Sur', 'invoicing' ), |
|
815 | + 'CM' => __( 'Campeche', 'invoicing' ), |
|
816 | + 'CS' => __( 'Chiapas', 'invoicing' ), |
|
817 | + 'CH' => __( 'Chihuahua', 'invoicing' ), |
|
818 | + 'CO' => __( 'Coahuila', 'invoicing' ), |
|
819 | + 'CL' => __( 'Colima', 'invoicing' ), |
|
820 | + 'DG' => __( 'Durango', 'invoicing' ), |
|
821 | + 'GT' => __( 'Guanajuato', 'invoicing' ), |
|
822 | + 'GR' => __( 'Guerrero', 'invoicing' ), |
|
823 | + 'HG' => __( 'Hidalgo', 'invoicing' ), |
|
824 | + 'MX' => __( 'Estado de México', 'invoicing' ), |
|
825 | + 'MI' => __( 'Michoacán', 'invoicing' ), |
|
826 | + 'MO' => __( 'Morelos', 'invoicing' ), |
|
827 | + 'NA' => __( 'Nayarit', 'invoicing' ), |
|
828 | + 'OA' => __( 'Oaxaca', 'invoicing' ), |
|
829 | + 'PU' => __( 'Puebla', 'invoicing' ), |
|
830 | + 'QT' => __( 'Querétaro', 'invoicing' ), |
|
831 | + 'QR' => __( 'Quintana Roo', 'invoicing' ), |
|
832 | + 'SL' => __( 'San Luis Potosí', 'invoicing' ), |
|
833 | + 'SI' => __( 'Sinaloa', 'invoicing' ), |
|
834 | + 'SO' => __( 'Sonora', 'invoicing' ), |
|
835 | + 'TB' => __( 'Tabasco', 'invoicing' ), |
|
836 | + 'TM' => __( 'Tamaulipas', 'invoicing' ), |
|
837 | + 'TL' => __( 'Tlaxcala', 'invoicing' ), |
|
838 | + 'VE' => __( 'Veracruz', 'invoicing' ), |
|
839 | + 'YU' => __( 'Yucatán', 'invoicing' ), |
|
840 | + 'ZA' => __( 'Zacatecas', 'invoicing' ), |
|
841 | + ), |
|
842 | + 'MY' => array( // Malaysian states. |
|
843 | + 'JHR' => __( 'Johor', 'invoicing' ), |
|
844 | + 'KDH' => __( 'Kedah', 'invoicing' ), |
|
845 | + 'KTN' => __( 'Kelantan', 'invoicing' ), |
|
846 | + 'LBN' => __( 'Labuan', 'invoicing' ), |
|
847 | + 'MLK' => __( 'Malacca (Melaka)', 'invoicing' ), |
|
848 | + 'NSN' => __( 'Negeri Sembilan', 'invoicing' ), |
|
849 | + 'PHG' => __( 'Pahang', 'invoicing' ), |
|
850 | + 'PNG' => __( 'Penang (Pulau Pinang)', 'invoicing' ), |
|
851 | + 'PRK' => __( 'Perak', 'invoicing' ), |
|
852 | + 'PLS' => __( 'Perlis', 'invoicing' ), |
|
853 | + 'SBH' => __( 'Sabah', 'invoicing' ), |
|
854 | + 'SWK' => __( 'Sarawak', 'invoicing' ), |
|
855 | + 'SGR' => __( 'Selangor', 'invoicing' ), |
|
856 | + 'TRG' => __( 'Terengganu', 'invoicing' ), |
|
857 | + 'PJY' => __( 'Putrajaya', 'invoicing' ), |
|
858 | + 'KUL' => __( 'Kuala Lumpur', 'invoicing' ), |
|
859 | + ), |
|
860 | + 'NG' => array( // Nigerian provinces. |
|
861 | + 'AB' => __( 'Abia', 'invoicing' ), |
|
862 | + 'FC' => __( 'Abuja', 'invoicing' ), |
|
863 | + 'AD' => __( 'Adamawa', 'invoicing' ), |
|
864 | + 'AK' => __( 'Akwa Ibom', 'invoicing' ), |
|
865 | + 'AN' => __( 'Anambra', 'invoicing' ), |
|
866 | + 'BA' => __( 'Bauchi', 'invoicing' ), |
|
867 | + 'BY' => __( 'Bayelsa', 'invoicing' ), |
|
868 | + 'BE' => __( 'Benue', 'invoicing' ), |
|
869 | + 'BO' => __( 'Borno', 'invoicing' ), |
|
870 | + 'CR' => __( 'Cross River', 'invoicing' ), |
|
871 | + 'DE' => __( 'Delta', 'invoicing' ), |
|
872 | + 'EB' => __( 'Ebonyi', 'invoicing' ), |
|
873 | + 'ED' => __( 'Edo', 'invoicing' ), |
|
874 | + 'EK' => __( 'Ekiti', 'invoicing' ), |
|
875 | + 'EN' => __( 'Enugu', 'invoicing' ), |
|
876 | + 'GO' => __( 'Gombe', 'invoicing' ), |
|
877 | + 'IM' => __( 'Imo', 'invoicing' ), |
|
878 | + 'JI' => __( 'Jigawa', 'invoicing' ), |
|
879 | + 'KD' => __( 'Kaduna', 'invoicing' ), |
|
880 | + 'KN' => __( 'Kano', 'invoicing' ), |
|
881 | + 'KT' => __( 'Katsina', 'invoicing' ), |
|
882 | + 'KE' => __( 'Kebbi', 'invoicing' ), |
|
883 | + 'KO' => __( 'Kogi', 'invoicing' ), |
|
884 | + 'KW' => __( 'Kwara', 'invoicing' ), |
|
885 | + 'LA' => __( 'Lagos', 'invoicing' ), |
|
886 | + 'NA' => __( 'Nasarawa', 'invoicing' ), |
|
887 | + 'NI' => __( 'Niger', 'invoicing' ), |
|
888 | + 'OG' => __( 'Ogun', 'invoicing' ), |
|
889 | + 'ON' => __( 'Ondo', 'invoicing' ), |
|
890 | + 'OS' => __( 'Osun', 'invoicing' ), |
|
891 | + 'OY' => __( 'Oyo', 'invoicing' ), |
|
892 | + 'PL' => __( 'Plateau', 'invoicing' ), |
|
893 | + 'RI' => __( 'Rivers', 'invoicing' ), |
|
894 | + 'SO' => __( 'Sokoto', 'invoicing' ), |
|
895 | + 'TA' => __( 'Taraba', 'invoicing' ), |
|
896 | + 'YO' => __( 'Yobe', 'invoicing' ), |
|
897 | + 'ZA' => __( 'Zamfara', 'invoicing' ), |
|
898 | + ), |
|
899 | + 'NL' => array(), |
|
900 | + 'NO' => array(), |
|
901 | + 'NP' => array( // Nepal states (Zones). |
|
902 | + 'BAG' => __( 'Bagmati', 'invoicing' ), |
|
903 | + 'BHE' => __( 'Bheri', 'invoicing' ), |
|
904 | + 'DHA' => __( 'Dhaulagiri', 'invoicing' ), |
|
905 | + 'GAN' => __( 'Gandaki', 'invoicing' ), |
|
906 | + 'JAN' => __( 'Janakpur', 'invoicing' ), |
|
907 | + 'KAR' => __( 'Karnali', 'invoicing' ), |
|
908 | + 'KOS' => __( 'Koshi', 'invoicing' ), |
|
909 | + 'LUM' => __( 'Lumbini', 'invoicing' ), |
|
910 | + 'MAH' => __( 'Mahakali', 'invoicing' ), |
|
911 | + 'MEC' => __( 'Mechi', 'invoicing' ), |
|
912 | + 'NAR' => __( 'Narayani', 'invoicing' ), |
|
913 | + 'RAP' => __( 'Rapti', 'invoicing' ), |
|
914 | + 'SAG' => __( 'Sagarmatha', 'invoicing' ), |
|
915 | + 'SET' => __( 'Seti', 'invoicing' ), |
|
916 | + ), |
|
917 | + 'NZ' => array( // New Zealand States. |
|
918 | + 'NL' => __( 'Northland', 'invoicing' ), |
|
919 | + 'AK' => __( 'Auckland', 'invoicing' ), |
|
920 | + 'WA' => __( 'Waikato', 'invoicing' ), |
|
921 | + 'BP' => __( 'Bay of Plenty', 'invoicing' ), |
|
922 | + 'TK' => __( 'Taranaki', 'invoicing' ), |
|
923 | + 'GI' => __( 'Gisborne', 'invoicing' ), |
|
924 | + 'HB' => __( 'Hawke’s Bay', 'invoicing' ), |
|
925 | + 'MW' => __( 'Manawatu-Wanganui', 'invoicing' ), |
|
926 | + 'WE' => __( 'Wellington', 'invoicing' ), |
|
927 | + 'NS' => __( 'Nelson', 'invoicing' ), |
|
928 | + 'MB' => __( 'Marlborough', 'invoicing' ), |
|
929 | + 'TM' => __( 'Tasman', 'invoicing' ), |
|
930 | + 'WC' => __( 'West Coast', 'invoicing' ), |
|
931 | + 'CT' => __( 'Canterbury', 'invoicing' ), |
|
932 | + 'OT' => __( 'Otago', 'invoicing' ), |
|
933 | + 'SL' => __( 'Southland', 'invoicing' ), |
|
934 | + ), |
|
935 | + 'PE' => array( // Peru states. |
|
936 | + 'CAL' => __( 'El Callao', 'invoicing' ), |
|
937 | + 'LMA' => __( 'Municipalidad Metropolitana de Lima', 'invoicing' ), |
|
938 | + 'AMA' => __( 'Amazonas', 'invoicing' ), |
|
939 | + 'ANC' => __( 'Ancash', 'invoicing' ), |
|
940 | + 'APU' => __( 'Apurímac', 'invoicing' ), |
|
941 | + 'ARE' => __( 'Arequipa', 'invoicing' ), |
|
942 | + 'AYA' => __( 'Ayacucho', 'invoicing' ), |
|
943 | + 'CAJ' => __( 'Cajamarca', 'invoicing' ), |
|
944 | + 'CUS' => __( 'Cusco', 'invoicing' ), |
|
945 | + 'HUV' => __( 'Huancavelica', 'invoicing' ), |
|
946 | + 'HUC' => __( 'Huánuco', 'invoicing' ), |
|
947 | + 'ICA' => __( 'Ica', 'invoicing' ), |
|
948 | + 'JUN' => __( 'Junín', 'invoicing' ), |
|
949 | + 'LAL' => __( 'La Libertad', 'invoicing' ), |
|
950 | + 'LAM' => __( 'Lambayeque', 'invoicing' ), |
|
951 | + 'LIM' => __( 'Lima', 'invoicing' ), |
|
952 | + 'LOR' => __( 'Loreto', 'invoicing' ), |
|
953 | + 'MDD' => __( 'Madre de Dios', 'invoicing' ), |
|
954 | + 'MOQ' => __( 'Moquegua', 'invoicing' ), |
|
955 | + 'PAS' => __( 'Pasco', 'invoicing' ), |
|
956 | + 'PIU' => __( 'Piura', 'invoicing' ), |
|
957 | + 'PUN' => __( 'Puno', 'invoicing' ), |
|
958 | + 'SAM' => __( 'San Martín', 'invoicing' ), |
|
959 | + 'TAC' => __( 'Tacna', 'invoicing' ), |
|
960 | + 'TUM' => __( 'Tumbes', 'invoicing' ), |
|
961 | + 'UCA' => __( 'Ucayali', 'invoicing' ), |
|
962 | + ), |
|
963 | 963 | |
964 | - /** |
|
965 | - * Philippine Provinces. |
|
966 | - */ |
|
967 | - 'PH' => array( |
|
968 | - 'ABR' => __( 'Abra', 'invoicing' ), |
|
969 | - 'AGN' => __( 'Agusan del Norte', 'invoicing' ), |
|
970 | - 'AGS' => __( 'Agusan del Sur', 'invoicing' ), |
|
971 | - 'AKL' => __( 'Aklan', 'invoicing' ), |
|
972 | - 'ALB' => __( 'Albay', 'invoicing' ), |
|
973 | - 'ANT' => __( 'Antique', 'invoicing' ), |
|
974 | - 'APA' => __( 'Apayao', 'invoicing' ), |
|
975 | - 'AUR' => __( 'Aurora', 'invoicing' ), |
|
976 | - 'BAS' => __( 'Basilan', 'invoicing' ), |
|
977 | - 'BAN' => __( 'Bataan', 'invoicing' ), |
|
978 | - 'BTN' => __( 'Batanes', 'invoicing' ), |
|
979 | - 'BTG' => __( 'Batangas', 'invoicing' ), |
|
980 | - 'BEN' => __( 'Benguet', 'invoicing' ), |
|
981 | - 'BIL' => __( 'Biliran', 'invoicing' ), |
|
982 | - 'BOH' => __( 'Bohol', 'invoicing' ), |
|
983 | - 'BUK' => __( 'Bukidnon', 'invoicing' ), |
|
984 | - 'BUL' => __( 'Bulacan', 'invoicing' ), |
|
985 | - 'CAG' => __( 'Cagayan', 'invoicing' ), |
|
986 | - 'CAN' => __( 'Camarines Norte', 'invoicing' ), |
|
987 | - 'CAS' => __( 'Camarines Sur', 'invoicing' ), |
|
988 | - 'CAM' => __( 'Camiguin', 'invoicing' ), |
|
989 | - 'CAP' => __( 'Capiz', 'invoicing' ), |
|
990 | - 'CAT' => __( 'Catanduanes', 'invoicing' ), |
|
991 | - 'CAV' => __( 'Cavite', 'invoicing' ), |
|
992 | - 'CEB' => __( 'Cebu', 'invoicing' ), |
|
993 | - 'COM' => __( 'Compostela Valley', 'invoicing' ), |
|
994 | - 'NCO' => __( 'Cotabato', 'invoicing' ), |
|
995 | - 'DAV' => __( 'Davao del Norte', 'invoicing' ), |
|
996 | - 'DAS' => __( 'Davao del Sur', 'invoicing' ), |
|
997 | - 'DAC' => __( 'Davao Occidental', 'invoicing' ), |
|
998 | - 'DAO' => __( 'Davao Oriental', 'invoicing' ), |
|
999 | - 'DIN' => __( 'Dinagat Islands', 'invoicing' ), |
|
1000 | - 'EAS' => __( 'Eastern Samar', 'invoicing' ), |
|
1001 | - 'GUI' => __( 'Guimaras', 'invoicing' ), |
|
1002 | - 'IFU' => __( 'Ifugao', 'invoicing' ), |
|
1003 | - 'ILN' => __( 'Ilocos Norte', 'invoicing' ), |
|
1004 | - 'ILS' => __( 'Ilocos Sur', 'invoicing' ), |
|
1005 | - 'ILI' => __( 'Iloilo', 'invoicing' ), |
|
1006 | - 'ISA' => __( 'Isabela', 'invoicing' ), |
|
1007 | - 'KAL' => __( 'Kalinga', 'invoicing' ), |
|
1008 | - 'LUN' => __( 'La Union', 'invoicing' ), |
|
1009 | - 'LAG' => __( 'Laguna', 'invoicing' ), |
|
1010 | - 'LAN' => __( 'Lanao del Norte', 'invoicing' ), |
|
1011 | - 'LAS' => __( 'Lanao del Sur', 'invoicing' ), |
|
1012 | - 'LEY' => __( 'Leyte', 'invoicing' ), |
|
1013 | - 'MAG' => __( 'Maguindanao', 'invoicing' ), |
|
1014 | - 'MAD' => __( 'Marinduque', 'invoicing' ), |
|
1015 | - 'MAS' => __( 'Masbate', 'invoicing' ), |
|
1016 | - 'MSC' => __( 'Misamis Occidental', 'invoicing' ), |
|
1017 | - 'MSR' => __( 'Misamis Oriental', 'invoicing' ), |
|
1018 | - 'MOU' => __( 'Mountain Province', 'invoicing' ), |
|
1019 | - 'NEC' => __( 'Negros Occidental', 'invoicing' ), |
|
1020 | - 'NER' => __( 'Negros Oriental', 'invoicing' ), |
|
1021 | - 'NSA' => __( 'Northern Samar', 'invoicing' ), |
|
1022 | - 'NUE' => __( 'Nueva Ecija', 'invoicing' ), |
|
1023 | - 'NUV' => __( 'Nueva Vizcaya', 'invoicing' ), |
|
1024 | - 'MDC' => __( 'Occidental Mindoro', 'invoicing' ), |
|
1025 | - 'MDR' => __( 'Oriental Mindoro', 'invoicing' ), |
|
1026 | - 'PLW' => __( 'Palawan', 'invoicing' ), |
|
1027 | - 'PAM' => __( 'Pampanga', 'invoicing' ), |
|
1028 | - 'PAN' => __( 'Pangasinan', 'invoicing' ), |
|
1029 | - 'QUE' => __( 'Quezon', 'invoicing' ), |
|
1030 | - 'QUI' => __( 'Quirino', 'invoicing' ), |
|
1031 | - 'RIZ' => __( 'Rizal', 'invoicing' ), |
|
1032 | - 'ROM' => __( 'Romblon', 'invoicing' ), |
|
1033 | - 'WSA' => __( 'Samar', 'invoicing' ), |
|
1034 | - 'SAR' => __( 'Sarangani', 'invoicing' ), |
|
1035 | - 'SIQ' => __( 'Siquijor', 'invoicing' ), |
|
1036 | - 'SOR' => __( 'Sorsogon', 'invoicing' ), |
|
1037 | - 'SCO' => __( 'South Cotabato', 'invoicing' ), |
|
1038 | - 'SLE' => __( 'Southern Leyte', 'invoicing' ), |
|
1039 | - 'SUK' => __( 'Sultan Kudarat', 'invoicing' ), |
|
1040 | - 'SLU' => __( 'Sulu', 'invoicing' ), |
|
1041 | - 'SUN' => __( 'Surigao del Norte', 'invoicing' ), |
|
1042 | - 'SUR' => __( 'Surigao del Sur', 'invoicing' ), |
|
1043 | - 'TAR' => __( 'Tarlac', 'invoicing' ), |
|
1044 | - 'TAW' => __( 'Tawi-Tawi', 'invoicing' ), |
|
1045 | - 'ZMB' => __( 'Zambales', 'invoicing' ), |
|
1046 | - 'ZAN' => __( 'Zamboanga del Norte', 'invoicing' ), |
|
1047 | - 'ZAS' => __( 'Zamboanga del Sur', 'invoicing' ), |
|
1048 | - 'ZSI' => __( 'Zamboanga Sibugay', 'invoicing' ), |
|
1049 | - '00' => __( 'Metro Manila', 'invoicing' ), |
|
1050 | - ), |
|
1051 | - 'PK' => array( // Pakistan's states. |
|
1052 | - 'JK' => __( 'Azad Kashmir', 'invoicing' ), |
|
1053 | - 'BA' => __( 'Balochistan', 'invoicing' ), |
|
1054 | - 'TA' => __( 'FATA', 'invoicing' ), |
|
1055 | - 'GB' => __( 'Gilgit Baltistan', 'invoicing' ), |
|
1056 | - 'IS' => __( 'Islamabad Capital Territory', 'invoicing' ), |
|
1057 | - 'KP' => __( 'Khyber Pakhtunkhwa', 'invoicing' ), |
|
1058 | - 'PB' => __( 'Punjab', 'invoicing' ), |
|
1059 | - 'SD' => __( 'Sindh', 'invoicing' ), |
|
1060 | - ), |
|
1061 | - 'PL' => array(), |
|
1062 | - 'PT' => array(), |
|
1063 | - 'PY' => array( // Paraguay states. |
|
1064 | - 'PY-ASU' => __( 'Asunción', 'invoicing' ), |
|
1065 | - 'PY-1' => __( 'Concepción', 'invoicing' ), |
|
1066 | - 'PY-2' => __( 'San Pedro', 'invoicing' ), |
|
1067 | - 'PY-3' => __( 'Cordillera', 'invoicing' ), |
|
1068 | - 'PY-4' => __( 'Guairá', 'invoicing' ), |
|
1069 | - 'PY-5' => __( 'Caaguazú', 'invoicing' ), |
|
1070 | - 'PY-6' => __( 'Caazapá', 'invoicing' ), |
|
1071 | - 'PY-7' => __( 'Itapúa', 'invoicing' ), |
|
1072 | - 'PY-8' => __( 'Misiones', 'invoicing' ), |
|
1073 | - 'PY-9' => __( 'Paraguarí', 'invoicing' ), |
|
1074 | - 'PY-10' => __( 'Alto Paraná', 'invoicing' ), |
|
1075 | - 'PY-11' => __( 'Central', 'invoicing' ), |
|
1076 | - 'PY-12' => __( 'Ñeembucú', 'invoicing' ), |
|
1077 | - 'PY-13' => __( 'Amambay', 'invoicing' ), |
|
1078 | - 'PY-14' => __( 'Canindeyú', 'invoicing' ), |
|
1079 | - 'PY-15' => __( 'Presidente Hayes', 'invoicing' ), |
|
1080 | - 'PY-16' => __( 'Alto Paraguay', 'invoicing' ), |
|
1081 | - 'PY-17' => __( 'Boquerón', 'invoicing' ), |
|
1082 | - ), |
|
1083 | - 'RE' => array(), |
|
1084 | - 'RO' => array( // Romania states. |
|
1085 | - 'AB' => __( 'Alba', 'invoicing' ), |
|
1086 | - 'AR' => __( 'Arad', 'invoicing' ), |
|
1087 | - 'AG' => __( 'Argeș', 'invoicing' ), |
|
1088 | - 'BC' => __( 'Bacău', 'invoicing' ), |
|
1089 | - 'BH' => __( 'Bihor', 'invoicing' ), |
|
1090 | - 'BN' => __( 'Bistrița-Năsăud', 'invoicing' ), |
|
1091 | - 'BT' => __( 'Botoșani', 'invoicing' ), |
|
1092 | - 'BR' => __( 'Brăila', 'invoicing' ), |
|
1093 | - 'BV' => __( 'Brașov', 'invoicing' ), |
|
1094 | - 'B' => __( 'București', 'invoicing' ), |
|
1095 | - 'BZ' => __( 'Buzău', 'invoicing' ), |
|
1096 | - 'CL' => __( 'Călărași', 'invoicing' ), |
|
1097 | - 'CS' => __( 'Caraș-Severin', 'invoicing' ), |
|
1098 | - 'CJ' => __( 'Cluj', 'invoicing' ), |
|
1099 | - 'CT' => __( 'Constanța', 'invoicing' ), |
|
1100 | - 'CV' => __( 'Covasna', 'invoicing' ), |
|
1101 | - 'DB' => __( 'Dâmbovița', 'invoicing' ), |
|
1102 | - 'DJ' => __( 'Dolj', 'invoicing' ), |
|
1103 | - 'GL' => __( 'Galați', 'invoicing' ), |
|
1104 | - 'GR' => __( 'Giurgiu', 'invoicing' ), |
|
1105 | - 'GJ' => __( 'Gorj', 'invoicing' ), |
|
1106 | - 'HR' => __( 'Harghita', 'invoicing' ), |
|
1107 | - 'HD' => __( 'Hunedoara', 'invoicing' ), |
|
1108 | - 'IL' => __( 'Ialomița', 'invoicing' ), |
|
1109 | - 'IS' => __( 'Iași', 'invoicing' ), |
|
1110 | - 'IF' => __( 'Ilfov', 'invoicing' ), |
|
1111 | - 'MM' => __( 'Maramureș', 'invoicing' ), |
|
1112 | - 'MH' => __( 'Mehedinți', 'invoicing' ), |
|
1113 | - 'MS' => __( 'Mureș', 'invoicing' ), |
|
1114 | - 'NT' => __( 'Neamț', 'invoicing' ), |
|
1115 | - 'OT' => __( 'Olt', 'invoicing' ), |
|
1116 | - 'PH' => __( 'Prahova', 'invoicing' ), |
|
1117 | - 'SJ' => __( 'Sălaj', 'invoicing' ), |
|
1118 | - 'SM' => __( 'Satu Mare', 'invoicing' ), |
|
1119 | - 'SB' => __( 'Sibiu', 'invoicing' ), |
|
1120 | - 'SV' => __( 'Suceava', 'invoicing' ), |
|
1121 | - 'TR' => __( 'Teleorman', 'invoicing' ), |
|
1122 | - 'TM' => __( 'Timiș', 'invoicing' ), |
|
1123 | - 'TL' => __( 'Tulcea', 'invoicing' ), |
|
1124 | - 'VL' => __( 'Vâlcea', 'invoicing' ), |
|
1125 | - 'VS' => __( 'Vaslui', 'invoicing' ), |
|
1126 | - 'VN' => __( 'Vrancea', 'invoicing' ), |
|
1127 | - ), |
|
1128 | - 'RS' => array(), |
|
1129 | - 'SG' => array(), |
|
1130 | - 'SK' => array(), |
|
1131 | - 'SI' => array(), |
|
1132 | - 'TH' => array( // Thailand states. |
|
1133 | - 'TH-37' => __( 'Amnat Charoen', 'invoicing' ), |
|
1134 | - 'TH-15' => __( 'Ang Thong', 'invoicing' ), |
|
1135 | - 'TH-14' => __( 'Ayutthaya', 'invoicing' ), |
|
1136 | - 'TH-10' => __( 'Bangkok', 'invoicing' ), |
|
1137 | - 'TH-38' => __( 'Bueng Kan', 'invoicing' ), |
|
1138 | - 'TH-31' => __( 'Buri Ram', 'invoicing' ), |
|
1139 | - 'TH-24' => __( 'Chachoengsao', 'invoicing' ), |
|
1140 | - 'TH-18' => __( 'Chai Nat', 'invoicing' ), |
|
1141 | - 'TH-36' => __( 'Chaiyaphum', 'invoicing' ), |
|
1142 | - 'TH-22' => __( 'Chanthaburi', 'invoicing' ), |
|
1143 | - 'TH-50' => __( 'Chiang Mai', 'invoicing' ), |
|
1144 | - 'TH-57' => __( 'Chiang Rai', 'invoicing' ), |
|
1145 | - 'TH-20' => __( 'Chonburi', 'invoicing' ), |
|
1146 | - 'TH-86' => __( 'Chumphon', 'invoicing' ), |
|
1147 | - 'TH-46' => __( 'Kalasin', 'invoicing' ), |
|
1148 | - 'TH-62' => __( 'Kamphaeng Phet', 'invoicing' ), |
|
1149 | - 'TH-71' => __( 'Kanchanaburi', 'invoicing' ), |
|
1150 | - 'TH-40' => __( 'Khon Kaen', 'invoicing' ), |
|
1151 | - 'TH-81' => __( 'Krabi', 'invoicing' ), |
|
1152 | - 'TH-52' => __( 'Lampang', 'invoicing' ), |
|
1153 | - 'TH-51' => __( 'Lamphun', 'invoicing' ), |
|
1154 | - 'TH-42' => __( 'Loei', 'invoicing' ), |
|
1155 | - 'TH-16' => __( 'Lopburi', 'invoicing' ), |
|
1156 | - 'TH-58' => __( 'Mae Hong Son', 'invoicing' ), |
|
1157 | - 'TH-44' => __( 'Maha Sarakham', 'invoicing' ), |
|
1158 | - 'TH-49' => __( 'Mukdahan', 'invoicing' ), |
|
1159 | - 'TH-26' => __( 'Nakhon Nayok', 'invoicing' ), |
|
1160 | - 'TH-73' => __( 'Nakhon Pathom', 'invoicing' ), |
|
1161 | - 'TH-48' => __( 'Nakhon Phanom', 'invoicing' ), |
|
1162 | - 'TH-30' => __( 'Nakhon Ratchasima', 'invoicing' ), |
|
1163 | - 'TH-60' => __( 'Nakhon Sawan', 'invoicing' ), |
|
1164 | - 'TH-80' => __( 'Nakhon Si Thammarat', 'invoicing' ), |
|
1165 | - 'TH-55' => __( 'Nan', 'invoicing' ), |
|
1166 | - 'TH-96' => __( 'Narathiwat', 'invoicing' ), |
|
1167 | - 'TH-39' => __( 'Nong Bua Lam Phu', 'invoicing' ), |
|
1168 | - 'TH-43' => __( 'Nong Khai', 'invoicing' ), |
|
1169 | - 'TH-12' => __( 'Nonthaburi', 'invoicing' ), |
|
1170 | - 'TH-13' => __( 'Pathum Thani', 'invoicing' ), |
|
1171 | - 'TH-94' => __( 'Pattani', 'invoicing' ), |
|
1172 | - 'TH-82' => __( 'Phang Nga', 'invoicing' ), |
|
1173 | - 'TH-93' => __( 'Phatthalung', 'invoicing' ), |
|
1174 | - 'TH-56' => __( 'Phayao', 'invoicing' ), |
|
1175 | - 'TH-67' => __( 'Phetchabun', 'invoicing' ), |
|
1176 | - 'TH-76' => __( 'Phetchaburi', 'invoicing' ), |
|
1177 | - 'TH-66' => __( 'Phichit', 'invoicing' ), |
|
1178 | - 'TH-65' => __( 'Phitsanulok', 'invoicing' ), |
|
1179 | - 'TH-54' => __( 'Phrae', 'invoicing' ), |
|
1180 | - 'TH-83' => __( 'Phuket', 'invoicing' ), |
|
1181 | - 'TH-25' => __( 'Prachin Buri', 'invoicing' ), |
|
1182 | - 'TH-77' => __( 'Prachuap Khiri Khan', 'invoicing' ), |
|
1183 | - 'TH-85' => __( 'Ranong', 'invoicing' ), |
|
1184 | - 'TH-70' => __( 'Ratchaburi', 'invoicing' ), |
|
1185 | - 'TH-21' => __( 'Rayong', 'invoicing' ), |
|
1186 | - 'TH-45' => __( 'Roi Et', 'invoicing' ), |
|
1187 | - 'TH-27' => __( 'Sa Kaeo', 'invoicing' ), |
|
1188 | - 'TH-47' => __( 'Sakon Nakhon', 'invoicing' ), |
|
1189 | - 'TH-11' => __( 'Samut Prakan', 'invoicing' ), |
|
1190 | - 'TH-74' => __( 'Samut Sakhon', 'invoicing' ), |
|
1191 | - 'TH-75' => __( 'Samut Songkhram', 'invoicing' ), |
|
1192 | - 'TH-19' => __( 'Saraburi', 'invoicing' ), |
|
1193 | - 'TH-91' => __( 'Satun', 'invoicing' ), |
|
1194 | - 'TH-17' => __( 'Sing Buri', 'invoicing' ), |
|
1195 | - 'TH-33' => __( 'Sisaket', 'invoicing' ), |
|
1196 | - 'TH-90' => __( 'Songkhla', 'invoicing' ), |
|
1197 | - 'TH-64' => __( 'Sukhothai', 'invoicing' ), |
|
1198 | - 'TH-72' => __( 'Suphan Buri', 'invoicing' ), |
|
1199 | - 'TH-84' => __( 'Surat Thani', 'invoicing' ), |
|
1200 | - 'TH-32' => __( 'Surin', 'invoicing' ), |
|
1201 | - 'TH-63' => __( 'Tak', 'invoicing' ), |
|
1202 | - 'TH-92' => __( 'Trang', 'invoicing' ), |
|
1203 | - 'TH-23' => __( 'Trat', 'invoicing' ), |
|
1204 | - 'TH-34' => __( 'Ubon Ratchathani', 'invoicing' ), |
|
1205 | - 'TH-41' => __( 'Udon Thani', 'invoicing' ), |
|
1206 | - 'TH-61' => __( 'Uthai Thani', 'invoicing' ), |
|
1207 | - 'TH-53' => __( 'Uttaradit', 'invoicing' ), |
|
1208 | - 'TH-95' => __( 'Yala', 'invoicing' ), |
|
1209 | - 'TH-35' => __( 'Yasothon', 'invoicing' ), |
|
1210 | - ), |
|
1211 | - 'TR' => array( // Turkey States. |
|
1212 | - 'TR01' => __( 'Adana', 'invoicing' ), |
|
1213 | - 'TR02' => __( 'Adıyaman', 'invoicing' ), |
|
1214 | - 'TR03' => __( 'Afyon', 'invoicing' ), |
|
1215 | - 'TR04' => __( 'Ağrı', 'invoicing' ), |
|
1216 | - 'TR05' => __( 'Amasya', 'invoicing' ), |
|
1217 | - 'TR06' => __( 'Ankara', 'invoicing' ), |
|
1218 | - 'TR07' => __( 'Antalya', 'invoicing' ), |
|
1219 | - 'TR08' => __( 'Artvin', 'invoicing' ), |
|
1220 | - 'TR09' => __( 'Aydın', 'invoicing' ), |
|
1221 | - 'TR10' => __( 'Balıkesir', 'invoicing' ), |
|
1222 | - 'TR11' => __( 'Bilecik', 'invoicing' ), |
|
1223 | - 'TR12' => __( 'Bingöl', 'invoicing' ), |
|
1224 | - 'TR13' => __( 'Bitlis', 'invoicing' ), |
|
1225 | - 'TR14' => __( 'Bolu', 'invoicing' ), |
|
1226 | - 'TR15' => __( 'Burdur', 'invoicing' ), |
|
1227 | - 'TR16' => __( 'Bursa', 'invoicing' ), |
|
1228 | - 'TR17' => __( 'Çanakkale', 'invoicing' ), |
|
1229 | - 'TR18' => __( 'Çankırı', 'invoicing' ), |
|
1230 | - 'TR19' => __( 'Çorum', 'invoicing' ), |
|
1231 | - 'TR20' => __( 'Denizli', 'invoicing' ), |
|
1232 | - 'TR21' => __( 'Diyarbakır', 'invoicing' ), |
|
1233 | - 'TR22' => __( 'Edirne', 'invoicing' ), |
|
1234 | - 'TR23' => __( 'Elazığ', 'invoicing' ), |
|
1235 | - 'TR24' => __( 'Erzincan', 'invoicing' ), |
|
1236 | - 'TR25' => __( 'Erzurum', 'invoicing' ), |
|
1237 | - 'TR26' => __( 'Eskişehir', 'invoicing' ), |
|
1238 | - 'TR27' => __( 'Gaziantep', 'invoicing' ), |
|
1239 | - 'TR28' => __( 'Giresun', 'invoicing' ), |
|
1240 | - 'TR29' => __( 'Gümüşhane', 'invoicing' ), |
|
1241 | - 'TR30' => __( 'Hakkari', 'invoicing' ), |
|
1242 | - 'TR31' => __( 'Hatay', 'invoicing' ), |
|
1243 | - 'TR32' => __( 'Isparta', 'invoicing' ), |
|
1244 | - 'TR33' => __( 'İçel', 'invoicing' ), |
|
1245 | - 'TR34' => __( 'İstanbul', 'invoicing' ), |
|
1246 | - 'TR35' => __( 'İzmir', 'invoicing' ), |
|
1247 | - 'TR36' => __( 'Kars', 'invoicing' ), |
|
1248 | - 'TR37' => __( 'Kastamonu', 'invoicing' ), |
|
1249 | - 'TR38' => __( 'Kayseri', 'invoicing' ), |
|
1250 | - 'TR39' => __( 'Kırklareli', 'invoicing' ), |
|
1251 | - 'TR40' => __( 'Kırşehir', 'invoicing' ), |
|
1252 | - 'TR41' => __( 'Kocaeli', 'invoicing' ), |
|
1253 | - 'TR42' => __( 'Konya', 'invoicing' ), |
|
1254 | - 'TR43' => __( 'Kütahya', 'invoicing' ), |
|
1255 | - 'TR44' => __( 'Malatya', 'invoicing' ), |
|
1256 | - 'TR45' => __( 'Manisa', 'invoicing' ), |
|
1257 | - 'TR46' => __( 'Kahramanmaraş', 'invoicing' ), |
|
1258 | - 'TR47' => __( 'Mardin', 'invoicing' ), |
|
1259 | - 'TR48' => __( 'Muğla', 'invoicing' ), |
|
1260 | - 'TR49' => __( 'Muş', 'invoicing' ), |
|
1261 | - 'TR50' => __( 'Nevşehir', 'invoicing' ), |
|
1262 | - 'TR51' => __( 'Niğde', 'invoicing' ), |
|
1263 | - 'TR52' => __( 'Ordu', 'invoicing' ), |
|
1264 | - 'TR53' => __( 'Rize', 'invoicing' ), |
|
1265 | - 'TR54' => __( 'Sakarya', 'invoicing' ), |
|
1266 | - 'TR55' => __( 'Samsun', 'invoicing' ), |
|
1267 | - 'TR56' => __( 'Siirt', 'invoicing' ), |
|
1268 | - 'TR57' => __( 'Sinop', 'invoicing' ), |
|
1269 | - 'TR58' => __( 'Sivas', 'invoicing' ), |
|
1270 | - 'TR59' => __( 'Tekirdağ', 'invoicing' ), |
|
1271 | - 'TR60' => __( 'Tokat', 'invoicing' ), |
|
1272 | - 'TR61' => __( 'Trabzon', 'invoicing' ), |
|
1273 | - 'TR62' => __( 'Tunceli', 'invoicing' ), |
|
1274 | - 'TR63' => __( 'Şanlıurfa', 'invoicing' ), |
|
1275 | - 'TR64' => __( 'Uşak', 'invoicing' ), |
|
1276 | - 'TR65' => __( 'Van', 'invoicing' ), |
|
1277 | - 'TR66' => __( 'Yozgat', 'invoicing' ), |
|
1278 | - 'TR67' => __( 'Zonguldak', 'invoicing' ), |
|
1279 | - 'TR68' => __( 'Aksaray', 'invoicing' ), |
|
1280 | - 'TR69' => __( 'Bayburt', 'invoicing' ), |
|
1281 | - 'TR70' => __( 'Karaman', 'invoicing' ), |
|
1282 | - 'TR71' => __( 'Kırıkkale', 'invoicing' ), |
|
1283 | - 'TR72' => __( 'Batman', 'invoicing' ), |
|
1284 | - 'TR73' => __( 'Şırnak', 'invoicing' ), |
|
1285 | - 'TR74' => __( 'Bartın', 'invoicing' ), |
|
1286 | - 'TR75' => __( 'Ardahan', 'invoicing' ), |
|
1287 | - 'TR76' => __( 'Iğdır', 'invoicing' ), |
|
1288 | - 'TR77' => __( 'Yalova', 'invoicing' ), |
|
1289 | - 'TR78' => __( 'Karabük', 'invoicing' ), |
|
1290 | - 'TR79' => __( 'Kilis', 'invoicing' ), |
|
1291 | - 'TR80' => __( 'Osmaniye', 'invoicing' ), |
|
1292 | - 'TR81' => __( 'Düzce', 'invoicing' ), |
|
1293 | - ), |
|
1294 | - 'TZ' => array( // Tanzania States. |
|
1295 | - 'TZ01' => __( 'Arusha', 'invoicing' ), |
|
1296 | - 'TZ02' => __( 'Dar es Salaam', 'invoicing' ), |
|
1297 | - 'TZ03' => __( 'Dodoma', 'invoicing' ), |
|
1298 | - 'TZ04' => __( 'Iringa', 'invoicing' ), |
|
1299 | - 'TZ05' => __( 'Kagera', 'invoicing' ), |
|
1300 | - 'TZ06' => __( 'Pemba North', 'invoicing' ), |
|
1301 | - 'TZ07' => __( 'Zanzibar North', 'invoicing' ), |
|
1302 | - 'TZ08' => __( 'Kigoma', 'invoicing' ), |
|
1303 | - 'TZ09' => __( 'Kilimanjaro', 'invoicing' ), |
|
1304 | - 'TZ10' => __( 'Pemba South', 'invoicing' ), |
|
1305 | - 'TZ11' => __( 'Zanzibar South', 'invoicing' ), |
|
1306 | - 'TZ12' => __( 'Lindi', 'invoicing' ), |
|
1307 | - 'TZ13' => __( 'Mara', 'invoicing' ), |
|
1308 | - 'TZ14' => __( 'Mbeya', 'invoicing' ), |
|
1309 | - 'TZ15' => __( 'Zanzibar West', 'invoicing' ), |
|
1310 | - 'TZ16' => __( 'Morogoro', 'invoicing' ), |
|
1311 | - 'TZ17' => __( 'Mtwara', 'invoicing' ), |
|
1312 | - 'TZ18' => __( 'Mwanza', 'invoicing' ), |
|
1313 | - 'TZ19' => __( 'Coast', 'invoicing' ), |
|
1314 | - 'TZ20' => __( 'Rukwa', 'invoicing' ), |
|
1315 | - 'TZ21' => __( 'Ruvuma', 'invoicing' ), |
|
1316 | - 'TZ22' => __( 'Shinyanga', 'invoicing' ), |
|
1317 | - 'TZ23' => __( 'Singida', 'invoicing' ), |
|
1318 | - 'TZ24' => __( 'Tabora', 'invoicing' ), |
|
1319 | - 'TZ25' => __( 'Tanga', 'invoicing' ), |
|
1320 | - 'TZ26' => __( 'Manyara', 'invoicing' ), |
|
1321 | - 'TZ27' => __( 'Geita', 'invoicing' ), |
|
1322 | - 'TZ28' => __( 'Katavi', 'invoicing' ), |
|
1323 | - 'TZ29' => __( 'Njombe', 'invoicing' ), |
|
1324 | - 'TZ30' => __( 'Simiyu', 'invoicing' ), |
|
1325 | - ), |
|
1326 | - 'LK' => array(), |
|
1327 | - 'SE' => array(), |
|
1328 | - 'UG' => array( // Uganda districts. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:UG. |
|
1329 | - 'UG314' => __( 'Abim', 'invoicing' ), |
|
1330 | - 'UG301' => __( 'Adjumani', 'invoicing' ), |
|
1331 | - 'UG322' => __( 'Agago', 'invoicing' ), |
|
1332 | - 'UG323' => __( 'Alebtong', 'invoicing' ), |
|
1333 | - 'UG315' => __( 'Amolatar', 'invoicing' ), |
|
1334 | - 'UG324' => __( 'Amudat', 'invoicing' ), |
|
1335 | - 'UG216' => __( 'Amuria', 'invoicing' ), |
|
1336 | - 'UG316' => __( 'Amuru', 'invoicing' ), |
|
1337 | - 'UG302' => __( 'Apac', 'invoicing' ), |
|
1338 | - 'UG303' => __( 'Arua', 'invoicing' ), |
|
1339 | - 'UG217' => __( 'Budaka', 'invoicing' ), |
|
1340 | - 'UG218' => __( 'Bududa', 'invoicing' ), |
|
1341 | - 'UG201' => __( 'Bugiri', 'invoicing' ), |
|
1342 | - 'UG235' => __( 'Bugweri', 'invoicing' ), |
|
1343 | - 'UG420' => __( 'Buhweju', 'invoicing' ), |
|
1344 | - 'UG117' => __( 'Buikwe', 'invoicing' ), |
|
1345 | - 'UG219' => __( 'Bukedea', 'invoicing' ), |
|
1346 | - 'UG118' => __( 'Bukomansimbi', 'invoicing' ), |
|
1347 | - 'UG220' => __( 'Bukwa', 'invoicing' ), |
|
1348 | - 'UG225' => __( 'Bulambuli', 'invoicing' ), |
|
1349 | - 'UG416' => __( 'Buliisa', 'invoicing' ), |
|
1350 | - 'UG401' => __( 'Bundibugyo', 'invoicing' ), |
|
1351 | - 'UG430' => __( 'Bunyangabu', 'invoicing' ), |
|
1352 | - 'UG402' => __( 'Bushenyi', 'invoicing' ), |
|
1353 | - 'UG202' => __( 'Busia', 'invoicing' ), |
|
1354 | - 'UG221' => __( 'Butaleja', 'invoicing' ), |
|
1355 | - 'UG119' => __( 'Butambala', 'invoicing' ), |
|
1356 | - 'UG233' => __( 'Butebo', 'invoicing' ), |
|
1357 | - 'UG120' => __( 'Buvuma', 'invoicing' ), |
|
1358 | - 'UG226' => __( 'Buyende', 'invoicing' ), |
|
1359 | - 'UG317' => __( 'Dokolo', 'invoicing' ), |
|
1360 | - 'UG121' => __( 'Gomba', 'invoicing' ), |
|
1361 | - 'UG304' => __( 'Gulu', 'invoicing' ), |
|
1362 | - 'UG403' => __( 'Hoima', 'invoicing' ), |
|
1363 | - 'UG417' => __( 'Ibanda', 'invoicing' ), |
|
1364 | - 'UG203' => __( 'Iganga', 'invoicing' ), |
|
1365 | - 'UG418' => __( 'Isingiro', 'invoicing' ), |
|
1366 | - 'UG204' => __( 'Jinja', 'invoicing' ), |
|
1367 | - 'UG318' => __( 'Kaabong', 'invoicing' ), |
|
1368 | - 'UG404' => __( 'Kabale', 'invoicing' ), |
|
1369 | - 'UG405' => __( 'Kabarole', 'invoicing' ), |
|
1370 | - 'UG213' => __( 'Kaberamaido', 'invoicing' ), |
|
1371 | - 'UG427' => __( 'Kagadi', 'invoicing' ), |
|
1372 | - 'UG428' => __( 'Kakumiro', 'invoicing' ), |
|
1373 | - 'UG101' => __( 'Kalangala', 'invoicing' ), |
|
1374 | - 'UG222' => __( 'Kaliro', 'invoicing' ), |
|
1375 | - 'UG122' => __( 'Kalungu', 'invoicing' ), |
|
1376 | - 'UG102' => __( 'Kampala', 'invoicing' ), |
|
1377 | - 'UG205' => __( 'Kamuli', 'invoicing' ), |
|
1378 | - 'UG413' => __( 'Kamwenge', 'invoicing' ), |
|
1379 | - 'UG414' => __( 'Kanungu', 'invoicing' ), |
|
1380 | - 'UG206' => __( 'Kapchorwa', 'invoicing' ), |
|
1381 | - 'UG236' => __( 'Kapelebyong', 'invoicing' ), |
|
1382 | - 'UG126' => __( 'Kasanda', 'invoicing' ), |
|
1383 | - 'UG406' => __( 'Kasese', 'invoicing' ), |
|
1384 | - 'UG207' => __( 'Katakwi', 'invoicing' ), |
|
1385 | - 'UG112' => __( 'Kayunga', 'invoicing' ), |
|
1386 | - 'UG407' => __( 'Kibaale', 'invoicing' ), |
|
1387 | - 'UG103' => __( 'Kiboga', 'invoicing' ), |
|
1388 | - 'UG227' => __( 'Kibuku', 'invoicing' ), |
|
1389 | - 'UG432' => __( 'Kikuube', 'invoicing' ), |
|
1390 | - 'UG419' => __( 'Kiruhura', 'invoicing' ), |
|
1391 | - 'UG421' => __( 'Kiryandongo', 'invoicing' ), |
|
1392 | - 'UG408' => __( 'Kisoro', 'invoicing' ), |
|
1393 | - 'UG305' => __( 'Kitgum', 'invoicing' ), |
|
1394 | - 'UG319' => __( 'Koboko', 'invoicing' ), |
|
1395 | - 'UG325' => __( 'Kole', 'invoicing' ), |
|
1396 | - 'UG306' => __( 'Kotido', 'invoicing' ), |
|
1397 | - 'UG208' => __( 'Kumi', 'invoicing' ), |
|
1398 | - 'UG333' => __( 'Kwania', 'invoicing' ), |
|
1399 | - 'UG228' => __( 'Kween', 'invoicing' ), |
|
1400 | - 'UG123' => __( 'Kyankwanzi', 'invoicing' ), |
|
1401 | - 'UG422' => __( 'Kyegegwa', 'invoicing' ), |
|
1402 | - 'UG415' => __( 'Kyenjojo', 'invoicing' ), |
|
1403 | - 'UG125' => __( 'Kyotera', 'invoicing' ), |
|
1404 | - 'UG326' => __( 'Lamwo', 'invoicing' ), |
|
1405 | - 'UG307' => __( 'Lira', 'invoicing' ), |
|
1406 | - 'UG229' => __( 'Luuka', 'invoicing' ), |
|
1407 | - 'UG104' => __( 'Luwero', 'invoicing' ), |
|
1408 | - 'UG124' => __( 'Lwengo', 'invoicing' ), |
|
1409 | - 'UG114' => __( 'Lyantonde', 'invoicing' ), |
|
1410 | - 'UG223' => __( 'Manafwa', 'invoicing' ), |
|
1411 | - 'UG320' => __( 'Maracha', 'invoicing' ), |
|
1412 | - 'UG105' => __( 'Masaka', 'invoicing' ), |
|
1413 | - 'UG409' => __( 'Masindi', 'invoicing' ), |
|
1414 | - 'UG214' => __( 'Mayuge', 'invoicing' ), |
|
1415 | - 'UG209' => __( 'Mbale', 'invoicing' ), |
|
1416 | - 'UG410' => __( 'Mbarara', 'invoicing' ), |
|
1417 | - 'UG423' => __( 'Mitooma', 'invoicing' ), |
|
1418 | - 'UG115' => __( 'Mityana', 'invoicing' ), |
|
1419 | - 'UG308' => __( 'Moroto', 'invoicing' ), |
|
1420 | - 'UG309' => __( 'Moyo', 'invoicing' ), |
|
1421 | - 'UG106' => __( 'Mpigi', 'invoicing' ), |
|
1422 | - 'UG107' => __( 'Mubende', 'invoicing' ), |
|
1423 | - 'UG108' => __( 'Mukono', 'invoicing' ), |
|
1424 | - 'UG334' => __( 'Nabilatuk', 'invoicing' ), |
|
1425 | - 'UG311' => __( 'Nakapiripirit', 'invoicing' ), |
|
1426 | - 'UG116' => __( 'Nakaseke', 'invoicing' ), |
|
1427 | - 'UG109' => __( 'Nakasongola', 'invoicing' ), |
|
1428 | - 'UG230' => __( 'Namayingo', 'invoicing' ), |
|
1429 | - 'UG234' => __( 'Namisindwa', 'invoicing' ), |
|
1430 | - 'UG224' => __( 'Namutumba', 'invoicing' ), |
|
1431 | - 'UG327' => __( 'Napak', 'invoicing' ), |
|
1432 | - 'UG310' => __( 'Nebbi', 'invoicing' ), |
|
1433 | - 'UG231' => __( 'Ngora', 'invoicing' ), |
|
1434 | - 'UG424' => __( 'Ntoroko', 'invoicing' ), |
|
1435 | - 'UG411' => __( 'Ntungamo', 'invoicing' ), |
|
1436 | - 'UG328' => __( 'Nwoya', 'invoicing' ), |
|
1437 | - 'UG331' => __( 'Omoro', 'invoicing' ), |
|
1438 | - 'UG329' => __( 'Otuke', 'invoicing' ), |
|
1439 | - 'UG321' => __( 'Oyam', 'invoicing' ), |
|
1440 | - 'UG312' => __( 'Pader', 'invoicing' ), |
|
1441 | - 'UG332' => __( 'Pakwach', 'invoicing' ), |
|
1442 | - 'UG210' => __( 'Pallisa', 'invoicing' ), |
|
1443 | - 'UG110' => __( 'Rakai', 'invoicing' ), |
|
1444 | - 'UG429' => __( 'Rubanda', 'invoicing' ), |
|
1445 | - 'UG425' => __( 'Rubirizi', 'invoicing' ), |
|
1446 | - 'UG431' => __( 'Rukiga', 'invoicing' ), |
|
1447 | - 'UG412' => __( 'Rukungiri', 'invoicing' ), |
|
1448 | - 'UG111' => __( 'Sembabule', 'invoicing' ), |
|
1449 | - 'UG232' => __( 'Serere', 'invoicing' ), |
|
1450 | - 'UG426' => __( 'Sheema', 'invoicing' ), |
|
1451 | - 'UG215' => __( 'Sironko', 'invoicing' ), |
|
1452 | - 'UG211' => __( 'Soroti', 'invoicing' ), |
|
1453 | - 'UG212' => __( 'Tororo', 'invoicing' ), |
|
1454 | - 'UG113' => __( 'Wakiso', 'invoicing' ), |
|
1455 | - 'UG313' => __( 'Yumbe', 'invoicing' ), |
|
1456 | - 'UG330' => __( 'Zombo', 'invoicing' ), |
|
1457 | - ), |
|
1458 | - 'UM' => array( |
|
1459 | - '81' => __( 'Baker Island', 'invoicing' ), |
|
1460 | - '84' => __( 'Howland Island', 'invoicing' ), |
|
1461 | - '86' => __( 'Jarvis Island', 'invoicing' ), |
|
1462 | - '67' => __( 'Johnston Atoll', 'invoicing' ), |
|
1463 | - '89' => __( 'Kingman Reef', 'invoicing' ), |
|
1464 | - '71' => __( 'Midway Atoll', 'invoicing' ), |
|
1465 | - '76' => __( 'Navassa Island', 'invoicing' ), |
|
1466 | - '95' => __( 'Palmyra Atoll', 'invoicing' ), |
|
1467 | - '79' => __( 'Wake Island', 'invoicing' ), |
|
1468 | - ), |
|
1469 | - 'US' => array( // United States. |
|
1470 | - 'AL' => __( 'Alabama', 'invoicing' ), |
|
1471 | - 'AK' => __( 'Alaska', 'invoicing' ), |
|
1472 | - 'AZ' => __( 'Arizona', 'invoicing' ), |
|
1473 | - 'AR' => __( 'Arkansas', 'invoicing' ), |
|
1474 | - 'CA' => __( 'California', 'invoicing' ), |
|
1475 | - 'CO' => __( 'Colorado', 'invoicing' ), |
|
1476 | - 'CT' => __( 'Connecticut', 'invoicing' ), |
|
1477 | - 'DE' => __( 'Delaware', 'invoicing' ), |
|
1478 | - 'DC' => __( 'District Of Columbia', 'invoicing' ), |
|
1479 | - 'FL' => __( 'Florida', 'invoicing' ), |
|
1480 | - 'GA' => _x( 'Georgia', 'US state of Georgia', 'invoicing' ), |
|
1481 | - 'HI' => __( 'Hawaii', 'invoicing' ), |
|
1482 | - 'ID' => __( 'Idaho', 'invoicing' ), |
|
1483 | - 'IL' => __( 'Illinois', 'invoicing' ), |
|
1484 | - 'IN' => __( 'Indiana', 'invoicing' ), |
|
1485 | - 'IA' => __( 'Iowa', 'invoicing' ), |
|
1486 | - 'KS' => __( 'Kansas', 'invoicing' ), |
|
1487 | - 'KY' => __( 'Kentucky', 'invoicing' ), |
|
1488 | - 'LA' => __( 'Louisiana', 'invoicing' ), |
|
1489 | - 'ME' => __( 'Maine', 'invoicing' ), |
|
1490 | - 'MD' => __( 'Maryland', 'invoicing' ), |
|
1491 | - 'MA' => __( 'Massachusetts', 'invoicing' ), |
|
1492 | - 'MI' => __( 'Michigan', 'invoicing' ), |
|
1493 | - 'MN' => __( 'Minnesota', 'invoicing' ), |
|
1494 | - 'MS' => __( 'Mississippi', 'invoicing' ), |
|
1495 | - 'MO' => __( 'Missouri', 'invoicing' ), |
|
1496 | - 'MT' => __( 'Montana', 'invoicing' ), |
|
1497 | - 'NE' => __( 'Nebraska', 'invoicing' ), |
|
1498 | - 'NV' => __( 'Nevada', 'invoicing' ), |
|
1499 | - 'NH' => __( 'New Hampshire', 'invoicing' ), |
|
1500 | - 'NJ' => __( 'New Jersey', 'invoicing' ), |
|
1501 | - 'NM' => __( 'New Mexico', 'invoicing' ), |
|
1502 | - 'NY' => __( 'New York', 'invoicing' ), |
|
1503 | - 'NC' => __( 'North Carolina', 'invoicing' ), |
|
1504 | - 'ND' => __( 'North Dakota', 'invoicing' ), |
|
1505 | - 'OH' => __( 'Ohio', 'invoicing' ), |
|
1506 | - 'OK' => __( 'Oklahoma', 'invoicing' ), |
|
1507 | - 'OR' => __( 'Oregon', 'invoicing' ), |
|
1508 | - 'PA' => __( 'Pennsylvania', 'invoicing' ), |
|
1509 | - 'RI' => __( 'Rhode Island', 'invoicing' ), |
|
1510 | - 'SC' => __( 'South Carolina', 'invoicing' ), |
|
1511 | - 'SD' => __( 'South Dakota', 'invoicing' ), |
|
1512 | - 'TN' => __( 'Tennessee', 'invoicing' ), |
|
1513 | - 'TX' => __( 'Texas', 'invoicing' ), |
|
1514 | - 'UT' => __( 'Utah', 'invoicing' ), |
|
1515 | - 'VT' => __( 'Vermont', 'invoicing' ), |
|
1516 | - 'VA' => __( 'Virginia', 'invoicing' ), |
|
1517 | - 'WA' => __( 'Washington', 'invoicing' ), |
|
1518 | - 'WV' => __( 'West Virginia', 'invoicing' ), |
|
1519 | - 'WI' => __( 'Wisconsin', 'invoicing' ), |
|
1520 | - 'WY' => __( 'Wyoming', 'invoicing' ), |
|
1521 | - 'AA' => __( 'Armed Forces (AA)', 'invoicing' ), |
|
1522 | - 'AE' => __( 'Armed Forces (AE)', 'invoicing' ), |
|
1523 | - 'AP' => __( 'Armed Forces (AP)', 'invoicing' ), |
|
1524 | - ), |
|
1525 | - 'VN' => array(), |
|
1526 | - 'YT' => array(), |
|
1527 | - 'ZA' => array( // South African states. |
|
1528 | - 'EC' => __( 'Eastern Cape', 'invoicing' ), |
|
1529 | - 'FS' => __( 'Free State', 'invoicing' ), |
|
1530 | - 'GP' => __( 'Gauteng', 'invoicing' ), |
|
1531 | - 'KZN' => __( 'KwaZulu-Natal', 'invoicing' ), |
|
1532 | - 'LP' => __( 'Limpopo', 'invoicing' ), |
|
1533 | - 'MP' => __( 'Mpumalanga', 'invoicing' ), |
|
1534 | - 'NC' => __( 'Northern Cape', 'invoicing' ), |
|
1535 | - 'NW' => __( 'North West', 'invoicing' ), |
|
1536 | - 'WC' => __( 'Western Cape', 'invoicing' ), |
|
1537 | - ), |
|
1538 | - 'ZM' => array( // Zambia's Provinces. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:ZM. |
|
1539 | - 'ZM-01' => __( 'Western', 'invoicing' ), |
|
1540 | - 'ZM-02' => __( 'Central', 'invoicing' ), |
|
1541 | - 'ZM-03' => __( 'Eastern', 'invoicing' ), |
|
1542 | - 'ZM-04' => __( 'Luapula', 'invoicing' ), |
|
1543 | - 'ZM-05' => __( 'Northern', 'invoicing' ), |
|
1544 | - 'ZM-06' => __( 'North-Western', 'invoicing' ), |
|
1545 | - 'ZM-07' => __( 'Southern', 'invoicing' ), |
|
1546 | - 'ZM-08' => __( 'Copperbelt', 'invoicing' ), |
|
1547 | - 'ZM-09' => __( 'Lusaka', 'invoicing' ), |
|
1548 | - 'ZM-10' => __( 'Muchinga', 'invoicing' ), |
|
1549 | - ), |
|
964 | + /** |
|
965 | + * Philippine Provinces. |
|
966 | + */ |
|
967 | + 'PH' => array( |
|
968 | + 'ABR' => __( 'Abra', 'invoicing' ), |
|
969 | + 'AGN' => __( 'Agusan del Norte', 'invoicing' ), |
|
970 | + 'AGS' => __( 'Agusan del Sur', 'invoicing' ), |
|
971 | + 'AKL' => __( 'Aklan', 'invoicing' ), |
|
972 | + 'ALB' => __( 'Albay', 'invoicing' ), |
|
973 | + 'ANT' => __( 'Antique', 'invoicing' ), |
|
974 | + 'APA' => __( 'Apayao', 'invoicing' ), |
|
975 | + 'AUR' => __( 'Aurora', 'invoicing' ), |
|
976 | + 'BAS' => __( 'Basilan', 'invoicing' ), |
|
977 | + 'BAN' => __( 'Bataan', 'invoicing' ), |
|
978 | + 'BTN' => __( 'Batanes', 'invoicing' ), |
|
979 | + 'BTG' => __( 'Batangas', 'invoicing' ), |
|
980 | + 'BEN' => __( 'Benguet', 'invoicing' ), |
|
981 | + 'BIL' => __( 'Biliran', 'invoicing' ), |
|
982 | + 'BOH' => __( 'Bohol', 'invoicing' ), |
|
983 | + 'BUK' => __( 'Bukidnon', 'invoicing' ), |
|
984 | + 'BUL' => __( 'Bulacan', 'invoicing' ), |
|
985 | + 'CAG' => __( 'Cagayan', 'invoicing' ), |
|
986 | + 'CAN' => __( 'Camarines Norte', 'invoicing' ), |
|
987 | + 'CAS' => __( 'Camarines Sur', 'invoicing' ), |
|
988 | + 'CAM' => __( 'Camiguin', 'invoicing' ), |
|
989 | + 'CAP' => __( 'Capiz', 'invoicing' ), |
|
990 | + 'CAT' => __( 'Catanduanes', 'invoicing' ), |
|
991 | + 'CAV' => __( 'Cavite', 'invoicing' ), |
|
992 | + 'CEB' => __( 'Cebu', 'invoicing' ), |
|
993 | + 'COM' => __( 'Compostela Valley', 'invoicing' ), |
|
994 | + 'NCO' => __( 'Cotabato', 'invoicing' ), |
|
995 | + 'DAV' => __( 'Davao del Norte', 'invoicing' ), |
|
996 | + 'DAS' => __( 'Davao del Sur', 'invoicing' ), |
|
997 | + 'DAC' => __( 'Davao Occidental', 'invoicing' ), |
|
998 | + 'DAO' => __( 'Davao Oriental', 'invoicing' ), |
|
999 | + 'DIN' => __( 'Dinagat Islands', 'invoicing' ), |
|
1000 | + 'EAS' => __( 'Eastern Samar', 'invoicing' ), |
|
1001 | + 'GUI' => __( 'Guimaras', 'invoicing' ), |
|
1002 | + 'IFU' => __( 'Ifugao', 'invoicing' ), |
|
1003 | + 'ILN' => __( 'Ilocos Norte', 'invoicing' ), |
|
1004 | + 'ILS' => __( 'Ilocos Sur', 'invoicing' ), |
|
1005 | + 'ILI' => __( 'Iloilo', 'invoicing' ), |
|
1006 | + 'ISA' => __( 'Isabela', 'invoicing' ), |
|
1007 | + 'KAL' => __( 'Kalinga', 'invoicing' ), |
|
1008 | + 'LUN' => __( 'La Union', 'invoicing' ), |
|
1009 | + 'LAG' => __( 'Laguna', 'invoicing' ), |
|
1010 | + 'LAN' => __( 'Lanao del Norte', 'invoicing' ), |
|
1011 | + 'LAS' => __( 'Lanao del Sur', 'invoicing' ), |
|
1012 | + 'LEY' => __( 'Leyte', 'invoicing' ), |
|
1013 | + 'MAG' => __( 'Maguindanao', 'invoicing' ), |
|
1014 | + 'MAD' => __( 'Marinduque', 'invoicing' ), |
|
1015 | + 'MAS' => __( 'Masbate', 'invoicing' ), |
|
1016 | + 'MSC' => __( 'Misamis Occidental', 'invoicing' ), |
|
1017 | + 'MSR' => __( 'Misamis Oriental', 'invoicing' ), |
|
1018 | + 'MOU' => __( 'Mountain Province', 'invoicing' ), |
|
1019 | + 'NEC' => __( 'Negros Occidental', 'invoicing' ), |
|
1020 | + 'NER' => __( 'Negros Oriental', 'invoicing' ), |
|
1021 | + 'NSA' => __( 'Northern Samar', 'invoicing' ), |
|
1022 | + 'NUE' => __( 'Nueva Ecija', 'invoicing' ), |
|
1023 | + 'NUV' => __( 'Nueva Vizcaya', 'invoicing' ), |
|
1024 | + 'MDC' => __( 'Occidental Mindoro', 'invoicing' ), |
|
1025 | + 'MDR' => __( 'Oriental Mindoro', 'invoicing' ), |
|
1026 | + 'PLW' => __( 'Palawan', 'invoicing' ), |
|
1027 | + 'PAM' => __( 'Pampanga', 'invoicing' ), |
|
1028 | + 'PAN' => __( 'Pangasinan', 'invoicing' ), |
|
1029 | + 'QUE' => __( 'Quezon', 'invoicing' ), |
|
1030 | + 'QUI' => __( 'Quirino', 'invoicing' ), |
|
1031 | + 'RIZ' => __( 'Rizal', 'invoicing' ), |
|
1032 | + 'ROM' => __( 'Romblon', 'invoicing' ), |
|
1033 | + 'WSA' => __( 'Samar', 'invoicing' ), |
|
1034 | + 'SAR' => __( 'Sarangani', 'invoicing' ), |
|
1035 | + 'SIQ' => __( 'Siquijor', 'invoicing' ), |
|
1036 | + 'SOR' => __( 'Sorsogon', 'invoicing' ), |
|
1037 | + 'SCO' => __( 'South Cotabato', 'invoicing' ), |
|
1038 | + 'SLE' => __( 'Southern Leyte', 'invoicing' ), |
|
1039 | + 'SUK' => __( 'Sultan Kudarat', 'invoicing' ), |
|
1040 | + 'SLU' => __( 'Sulu', 'invoicing' ), |
|
1041 | + 'SUN' => __( 'Surigao del Norte', 'invoicing' ), |
|
1042 | + 'SUR' => __( 'Surigao del Sur', 'invoicing' ), |
|
1043 | + 'TAR' => __( 'Tarlac', 'invoicing' ), |
|
1044 | + 'TAW' => __( 'Tawi-Tawi', 'invoicing' ), |
|
1045 | + 'ZMB' => __( 'Zambales', 'invoicing' ), |
|
1046 | + 'ZAN' => __( 'Zamboanga del Norte', 'invoicing' ), |
|
1047 | + 'ZAS' => __( 'Zamboanga del Sur', 'invoicing' ), |
|
1048 | + 'ZSI' => __( 'Zamboanga Sibugay', 'invoicing' ), |
|
1049 | + '00' => __( 'Metro Manila', 'invoicing' ), |
|
1050 | + ), |
|
1051 | + 'PK' => array( // Pakistan's states. |
|
1052 | + 'JK' => __( 'Azad Kashmir', 'invoicing' ), |
|
1053 | + 'BA' => __( 'Balochistan', 'invoicing' ), |
|
1054 | + 'TA' => __( 'FATA', 'invoicing' ), |
|
1055 | + 'GB' => __( 'Gilgit Baltistan', 'invoicing' ), |
|
1056 | + 'IS' => __( 'Islamabad Capital Territory', 'invoicing' ), |
|
1057 | + 'KP' => __( 'Khyber Pakhtunkhwa', 'invoicing' ), |
|
1058 | + 'PB' => __( 'Punjab', 'invoicing' ), |
|
1059 | + 'SD' => __( 'Sindh', 'invoicing' ), |
|
1060 | + ), |
|
1061 | + 'PL' => array(), |
|
1062 | + 'PT' => array(), |
|
1063 | + 'PY' => array( // Paraguay states. |
|
1064 | + 'PY-ASU' => __( 'Asunción', 'invoicing' ), |
|
1065 | + 'PY-1' => __( 'Concepción', 'invoicing' ), |
|
1066 | + 'PY-2' => __( 'San Pedro', 'invoicing' ), |
|
1067 | + 'PY-3' => __( 'Cordillera', 'invoicing' ), |
|
1068 | + 'PY-4' => __( 'Guairá', 'invoicing' ), |
|
1069 | + 'PY-5' => __( 'Caaguazú', 'invoicing' ), |
|
1070 | + 'PY-6' => __( 'Caazapá', 'invoicing' ), |
|
1071 | + 'PY-7' => __( 'Itapúa', 'invoicing' ), |
|
1072 | + 'PY-8' => __( 'Misiones', 'invoicing' ), |
|
1073 | + 'PY-9' => __( 'Paraguarí', 'invoicing' ), |
|
1074 | + 'PY-10' => __( 'Alto Paraná', 'invoicing' ), |
|
1075 | + 'PY-11' => __( 'Central', 'invoicing' ), |
|
1076 | + 'PY-12' => __( 'Ñeembucú', 'invoicing' ), |
|
1077 | + 'PY-13' => __( 'Amambay', 'invoicing' ), |
|
1078 | + 'PY-14' => __( 'Canindeyú', 'invoicing' ), |
|
1079 | + 'PY-15' => __( 'Presidente Hayes', 'invoicing' ), |
|
1080 | + 'PY-16' => __( 'Alto Paraguay', 'invoicing' ), |
|
1081 | + 'PY-17' => __( 'Boquerón', 'invoicing' ), |
|
1082 | + ), |
|
1083 | + 'RE' => array(), |
|
1084 | + 'RO' => array( // Romania states. |
|
1085 | + 'AB' => __( 'Alba', 'invoicing' ), |
|
1086 | + 'AR' => __( 'Arad', 'invoicing' ), |
|
1087 | + 'AG' => __( 'Argeș', 'invoicing' ), |
|
1088 | + 'BC' => __( 'Bacău', 'invoicing' ), |
|
1089 | + 'BH' => __( 'Bihor', 'invoicing' ), |
|
1090 | + 'BN' => __( 'Bistrița-Năsăud', 'invoicing' ), |
|
1091 | + 'BT' => __( 'Botoșani', 'invoicing' ), |
|
1092 | + 'BR' => __( 'Brăila', 'invoicing' ), |
|
1093 | + 'BV' => __( 'Brașov', 'invoicing' ), |
|
1094 | + 'B' => __( 'București', 'invoicing' ), |
|
1095 | + 'BZ' => __( 'Buzău', 'invoicing' ), |
|
1096 | + 'CL' => __( 'Călărași', 'invoicing' ), |
|
1097 | + 'CS' => __( 'Caraș-Severin', 'invoicing' ), |
|
1098 | + 'CJ' => __( 'Cluj', 'invoicing' ), |
|
1099 | + 'CT' => __( 'Constanța', 'invoicing' ), |
|
1100 | + 'CV' => __( 'Covasna', 'invoicing' ), |
|
1101 | + 'DB' => __( 'Dâmbovița', 'invoicing' ), |
|
1102 | + 'DJ' => __( 'Dolj', 'invoicing' ), |
|
1103 | + 'GL' => __( 'Galați', 'invoicing' ), |
|
1104 | + 'GR' => __( 'Giurgiu', 'invoicing' ), |
|
1105 | + 'GJ' => __( 'Gorj', 'invoicing' ), |
|
1106 | + 'HR' => __( 'Harghita', 'invoicing' ), |
|
1107 | + 'HD' => __( 'Hunedoara', 'invoicing' ), |
|
1108 | + 'IL' => __( 'Ialomița', 'invoicing' ), |
|
1109 | + 'IS' => __( 'Iași', 'invoicing' ), |
|
1110 | + 'IF' => __( 'Ilfov', 'invoicing' ), |
|
1111 | + 'MM' => __( 'Maramureș', 'invoicing' ), |
|
1112 | + 'MH' => __( 'Mehedinți', 'invoicing' ), |
|
1113 | + 'MS' => __( 'Mureș', 'invoicing' ), |
|
1114 | + 'NT' => __( 'Neamț', 'invoicing' ), |
|
1115 | + 'OT' => __( 'Olt', 'invoicing' ), |
|
1116 | + 'PH' => __( 'Prahova', 'invoicing' ), |
|
1117 | + 'SJ' => __( 'Sălaj', 'invoicing' ), |
|
1118 | + 'SM' => __( 'Satu Mare', 'invoicing' ), |
|
1119 | + 'SB' => __( 'Sibiu', 'invoicing' ), |
|
1120 | + 'SV' => __( 'Suceava', 'invoicing' ), |
|
1121 | + 'TR' => __( 'Teleorman', 'invoicing' ), |
|
1122 | + 'TM' => __( 'Timiș', 'invoicing' ), |
|
1123 | + 'TL' => __( 'Tulcea', 'invoicing' ), |
|
1124 | + 'VL' => __( 'Vâlcea', 'invoicing' ), |
|
1125 | + 'VS' => __( 'Vaslui', 'invoicing' ), |
|
1126 | + 'VN' => __( 'Vrancea', 'invoicing' ), |
|
1127 | + ), |
|
1128 | + 'RS' => array(), |
|
1129 | + 'SG' => array(), |
|
1130 | + 'SK' => array(), |
|
1131 | + 'SI' => array(), |
|
1132 | + 'TH' => array( // Thailand states. |
|
1133 | + 'TH-37' => __( 'Amnat Charoen', 'invoicing' ), |
|
1134 | + 'TH-15' => __( 'Ang Thong', 'invoicing' ), |
|
1135 | + 'TH-14' => __( 'Ayutthaya', 'invoicing' ), |
|
1136 | + 'TH-10' => __( 'Bangkok', 'invoicing' ), |
|
1137 | + 'TH-38' => __( 'Bueng Kan', 'invoicing' ), |
|
1138 | + 'TH-31' => __( 'Buri Ram', 'invoicing' ), |
|
1139 | + 'TH-24' => __( 'Chachoengsao', 'invoicing' ), |
|
1140 | + 'TH-18' => __( 'Chai Nat', 'invoicing' ), |
|
1141 | + 'TH-36' => __( 'Chaiyaphum', 'invoicing' ), |
|
1142 | + 'TH-22' => __( 'Chanthaburi', 'invoicing' ), |
|
1143 | + 'TH-50' => __( 'Chiang Mai', 'invoicing' ), |
|
1144 | + 'TH-57' => __( 'Chiang Rai', 'invoicing' ), |
|
1145 | + 'TH-20' => __( 'Chonburi', 'invoicing' ), |
|
1146 | + 'TH-86' => __( 'Chumphon', 'invoicing' ), |
|
1147 | + 'TH-46' => __( 'Kalasin', 'invoicing' ), |
|
1148 | + 'TH-62' => __( 'Kamphaeng Phet', 'invoicing' ), |
|
1149 | + 'TH-71' => __( 'Kanchanaburi', 'invoicing' ), |
|
1150 | + 'TH-40' => __( 'Khon Kaen', 'invoicing' ), |
|
1151 | + 'TH-81' => __( 'Krabi', 'invoicing' ), |
|
1152 | + 'TH-52' => __( 'Lampang', 'invoicing' ), |
|
1153 | + 'TH-51' => __( 'Lamphun', 'invoicing' ), |
|
1154 | + 'TH-42' => __( 'Loei', 'invoicing' ), |
|
1155 | + 'TH-16' => __( 'Lopburi', 'invoicing' ), |
|
1156 | + 'TH-58' => __( 'Mae Hong Son', 'invoicing' ), |
|
1157 | + 'TH-44' => __( 'Maha Sarakham', 'invoicing' ), |
|
1158 | + 'TH-49' => __( 'Mukdahan', 'invoicing' ), |
|
1159 | + 'TH-26' => __( 'Nakhon Nayok', 'invoicing' ), |
|
1160 | + 'TH-73' => __( 'Nakhon Pathom', 'invoicing' ), |
|
1161 | + 'TH-48' => __( 'Nakhon Phanom', 'invoicing' ), |
|
1162 | + 'TH-30' => __( 'Nakhon Ratchasima', 'invoicing' ), |
|
1163 | + 'TH-60' => __( 'Nakhon Sawan', 'invoicing' ), |
|
1164 | + 'TH-80' => __( 'Nakhon Si Thammarat', 'invoicing' ), |
|
1165 | + 'TH-55' => __( 'Nan', 'invoicing' ), |
|
1166 | + 'TH-96' => __( 'Narathiwat', 'invoicing' ), |
|
1167 | + 'TH-39' => __( 'Nong Bua Lam Phu', 'invoicing' ), |
|
1168 | + 'TH-43' => __( 'Nong Khai', 'invoicing' ), |
|
1169 | + 'TH-12' => __( 'Nonthaburi', 'invoicing' ), |
|
1170 | + 'TH-13' => __( 'Pathum Thani', 'invoicing' ), |
|
1171 | + 'TH-94' => __( 'Pattani', 'invoicing' ), |
|
1172 | + 'TH-82' => __( 'Phang Nga', 'invoicing' ), |
|
1173 | + 'TH-93' => __( 'Phatthalung', 'invoicing' ), |
|
1174 | + 'TH-56' => __( 'Phayao', 'invoicing' ), |
|
1175 | + 'TH-67' => __( 'Phetchabun', 'invoicing' ), |
|
1176 | + 'TH-76' => __( 'Phetchaburi', 'invoicing' ), |
|
1177 | + 'TH-66' => __( 'Phichit', 'invoicing' ), |
|
1178 | + 'TH-65' => __( 'Phitsanulok', 'invoicing' ), |
|
1179 | + 'TH-54' => __( 'Phrae', 'invoicing' ), |
|
1180 | + 'TH-83' => __( 'Phuket', 'invoicing' ), |
|
1181 | + 'TH-25' => __( 'Prachin Buri', 'invoicing' ), |
|
1182 | + 'TH-77' => __( 'Prachuap Khiri Khan', 'invoicing' ), |
|
1183 | + 'TH-85' => __( 'Ranong', 'invoicing' ), |
|
1184 | + 'TH-70' => __( 'Ratchaburi', 'invoicing' ), |
|
1185 | + 'TH-21' => __( 'Rayong', 'invoicing' ), |
|
1186 | + 'TH-45' => __( 'Roi Et', 'invoicing' ), |
|
1187 | + 'TH-27' => __( 'Sa Kaeo', 'invoicing' ), |
|
1188 | + 'TH-47' => __( 'Sakon Nakhon', 'invoicing' ), |
|
1189 | + 'TH-11' => __( 'Samut Prakan', 'invoicing' ), |
|
1190 | + 'TH-74' => __( 'Samut Sakhon', 'invoicing' ), |
|
1191 | + 'TH-75' => __( 'Samut Songkhram', 'invoicing' ), |
|
1192 | + 'TH-19' => __( 'Saraburi', 'invoicing' ), |
|
1193 | + 'TH-91' => __( 'Satun', 'invoicing' ), |
|
1194 | + 'TH-17' => __( 'Sing Buri', 'invoicing' ), |
|
1195 | + 'TH-33' => __( 'Sisaket', 'invoicing' ), |
|
1196 | + 'TH-90' => __( 'Songkhla', 'invoicing' ), |
|
1197 | + 'TH-64' => __( 'Sukhothai', 'invoicing' ), |
|
1198 | + 'TH-72' => __( 'Suphan Buri', 'invoicing' ), |
|
1199 | + 'TH-84' => __( 'Surat Thani', 'invoicing' ), |
|
1200 | + 'TH-32' => __( 'Surin', 'invoicing' ), |
|
1201 | + 'TH-63' => __( 'Tak', 'invoicing' ), |
|
1202 | + 'TH-92' => __( 'Trang', 'invoicing' ), |
|
1203 | + 'TH-23' => __( 'Trat', 'invoicing' ), |
|
1204 | + 'TH-34' => __( 'Ubon Ratchathani', 'invoicing' ), |
|
1205 | + 'TH-41' => __( 'Udon Thani', 'invoicing' ), |
|
1206 | + 'TH-61' => __( 'Uthai Thani', 'invoicing' ), |
|
1207 | + 'TH-53' => __( 'Uttaradit', 'invoicing' ), |
|
1208 | + 'TH-95' => __( 'Yala', 'invoicing' ), |
|
1209 | + 'TH-35' => __( 'Yasothon', 'invoicing' ), |
|
1210 | + ), |
|
1211 | + 'TR' => array( // Turkey States. |
|
1212 | + 'TR01' => __( 'Adana', 'invoicing' ), |
|
1213 | + 'TR02' => __( 'Adıyaman', 'invoicing' ), |
|
1214 | + 'TR03' => __( 'Afyon', 'invoicing' ), |
|
1215 | + 'TR04' => __( 'Ağrı', 'invoicing' ), |
|
1216 | + 'TR05' => __( 'Amasya', 'invoicing' ), |
|
1217 | + 'TR06' => __( 'Ankara', 'invoicing' ), |
|
1218 | + 'TR07' => __( 'Antalya', 'invoicing' ), |
|
1219 | + 'TR08' => __( 'Artvin', 'invoicing' ), |
|
1220 | + 'TR09' => __( 'Aydın', 'invoicing' ), |
|
1221 | + 'TR10' => __( 'Balıkesir', 'invoicing' ), |
|
1222 | + 'TR11' => __( 'Bilecik', 'invoicing' ), |
|
1223 | + 'TR12' => __( 'Bingöl', 'invoicing' ), |
|
1224 | + 'TR13' => __( 'Bitlis', 'invoicing' ), |
|
1225 | + 'TR14' => __( 'Bolu', 'invoicing' ), |
|
1226 | + 'TR15' => __( 'Burdur', 'invoicing' ), |
|
1227 | + 'TR16' => __( 'Bursa', 'invoicing' ), |
|
1228 | + 'TR17' => __( 'Çanakkale', 'invoicing' ), |
|
1229 | + 'TR18' => __( 'Çankırı', 'invoicing' ), |
|
1230 | + 'TR19' => __( 'Çorum', 'invoicing' ), |
|
1231 | + 'TR20' => __( 'Denizli', 'invoicing' ), |
|
1232 | + 'TR21' => __( 'Diyarbakır', 'invoicing' ), |
|
1233 | + 'TR22' => __( 'Edirne', 'invoicing' ), |
|
1234 | + 'TR23' => __( 'Elazığ', 'invoicing' ), |
|
1235 | + 'TR24' => __( 'Erzincan', 'invoicing' ), |
|
1236 | + 'TR25' => __( 'Erzurum', 'invoicing' ), |
|
1237 | + 'TR26' => __( 'Eskişehir', 'invoicing' ), |
|
1238 | + 'TR27' => __( 'Gaziantep', 'invoicing' ), |
|
1239 | + 'TR28' => __( 'Giresun', 'invoicing' ), |
|
1240 | + 'TR29' => __( 'Gümüşhane', 'invoicing' ), |
|
1241 | + 'TR30' => __( 'Hakkari', 'invoicing' ), |
|
1242 | + 'TR31' => __( 'Hatay', 'invoicing' ), |
|
1243 | + 'TR32' => __( 'Isparta', 'invoicing' ), |
|
1244 | + 'TR33' => __( 'İçel', 'invoicing' ), |
|
1245 | + 'TR34' => __( 'İstanbul', 'invoicing' ), |
|
1246 | + 'TR35' => __( 'İzmir', 'invoicing' ), |
|
1247 | + 'TR36' => __( 'Kars', 'invoicing' ), |
|
1248 | + 'TR37' => __( 'Kastamonu', 'invoicing' ), |
|
1249 | + 'TR38' => __( 'Kayseri', 'invoicing' ), |
|
1250 | + 'TR39' => __( 'Kırklareli', 'invoicing' ), |
|
1251 | + 'TR40' => __( 'Kırşehir', 'invoicing' ), |
|
1252 | + 'TR41' => __( 'Kocaeli', 'invoicing' ), |
|
1253 | + 'TR42' => __( 'Konya', 'invoicing' ), |
|
1254 | + 'TR43' => __( 'Kütahya', 'invoicing' ), |
|
1255 | + 'TR44' => __( 'Malatya', 'invoicing' ), |
|
1256 | + 'TR45' => __( 'Manisa', 'invoicing' ), |
|
1257 | + 'TR46' => __( 'Kahramanmaraş', 'invoicing' ), |
|
1258 | + 'TR47' => __( 'Mardin', 'invoicing' ), |
|
1259 | + 'TR48' => __( 'Muğla', 'invoicing' ), |
|
1260 | + 'TR49' => __( 'Muş', 'invoicing' ), |
|
1261 | + 'TR50' => __( 'Nevşehir', 'invoicing' ), |
|
1262 | + 'TR51' => __( 'Niğde', 'invoicing' ), |
|
1263 | + 'TR52' => __( 'Ordu', 'invoicing' ), |
|
1264 | + 'TR53' => __( 'Rize', 'invoicing' ), |
|
1265 | + 'TR54' => __( 'Sakarya', 'invoicing' ), |
|
1266 | + 'TR55' => __( 'Samsun', 'invoicing' ), |
|
1267 | + 'TR56' => __( 'Siirt', 'invoicing' ), |
|
1268 | + 'TR57' => __( 'Sinop', 'invoicing' ), |
|
1269 | + 'TR58' => __( 'Sivas', 'invoicing' ), |
|
1270 | + 'TR59' => __( 'Tekirdağ', 'invoicing' ), |
|
1271 | + 'TR60' => __( 'Tokat', 'invoicing' ), |
|
1272 | + 'TR61' => __( 'Trabzon', 'invoicing' ), |
|
1273 | + 'TR62' => __( 'Tunceli', 'invoicing' ), |
|
1274 | + 'TR63' => __( 'Şanlıurfa', 'invoicing' ), |
|
1275 | + 'TR64' => __( 'Uşak', 'invoicing' ), |
|
1276 | + 'TR65' => __( 'Van', 'invoicing' ), |
|
1277 | + 'TR66' => __( 'Yozgat', 'invoicing' ), |
|
1278 | + 'TR67' => __( 'Zonguldak', 'invoicing' ), |
|
1279 | + 'TR68' => __( 'Aksaray', 'invoicing' ), |
|
1280 | + 'TR69' => __( 'Bayburt', 'invoicing' ), |
|
1281 | + 'TR70' => __( 'Karaman', 'invoicing' ), |
|
1282 | + 'TR71' => __( 'Kırıkkale', 'invoicing' ), |
|
1283 | + 'TR72' => __( 'Batman', 'invoicing' ), |
|
1284 | + 'TR73' => __( 'Şırnak', 'invoicing' ), |
|
1285 | + 'TR74' => __( 'Bartın', 'invoicing' ), |
|
1286 | + 'TR75' => __( 'Ardahan', 'invoicing' ), |
|
1287 | + 'TR76' => __( 'Iğdır', 'invoicing' ), |
|
1288 | + 'TR77' => __( 'Yalova', 'invoicing' ), |
|
1289 | + 'TR78' => __( 'Karabük', 'invoicing' ), |
|
1290 | + 'TR79' => __( 'Kilis', 'invoicing' ), |
|
1291 | + 'TR80' => __( 'Osmaniye', 'invoicing' ), |
|
1292 | + 'TR81' => __( 'Düzce', 'invoicing' ), |
|
1293 | + ), |
|
1294 | + 'TZ' => array( // Tanzania States. |
|
1295 | + 'TZ01' => __( 'Arusha', 'invoicing' ), |
|
1296 | + 'TZ02' => __( 'Dar es Salaam', 'invoicing' ), |
|
1297 | + 'TZ03' => __( 'Dodoma', 'invoicing' ), |
|
1298 | + 'TZ04' => __( 'Iringa', 'invoicing' ), |
|
1299 | + 'TZ05' => __( 'Kagera', 'invoicing' ), |
|
1300 | + 'TZ06' => __( 'Pemba North', 'invoicing' ), |
|
1301 | + 'TZ07' => __( 'Zanzibar North', 'invoicing' ), |
|
1302 | + 'TZ08' => __( 'Kigoma', 'invoicing' ), |
|
1303 | + 'TZ09' => __( 'Kilimanjaro', 'invoicing' ), |
|
1304 | + 'TZ10' => __( 'Pemba South', 'invoicing' ), |
|
1305 | + 'TZ11' => __( 'Zanzibar South', 'invoicing' ), |
|
1306 | + 'TZ12' => __( 'Lindi', 'invoicing' ), |
|
1307 | + 'TZ13' => __( 'Mara', 'invoicing' ), |
|
1308 | + 'TZ14' => __( 'Mbeya', 'invoicing' ), |
|
1309 | + 'TZ15' => __( 'Zanzibar West', 'invoicing' ), |
|
1310 | + 'TZ16' => __( 'Morogoro', 'invoicing' ), |
|
1311 | + 'TZ17' => __( 'Mtwara', 'invoicing' ), |
|
1312 | + 'TZ18' => __( 'Mwanza', 'invoicing' ), |
|
1313 | + 'TZ19' => __( 'Coast', 'invoicing' ), |
|
1314 | + 'TZ20' => __( 'Rukwa', 'invoicing' ), |
|
1315 | + 'TZ21' => __( 'Ruvuma', 'invoicing' ), |
|
1316 | + 'TZ22' => __( 'Shinyanga', 'invoicing' ), |
|
1317 | + 'TZ23' => __( 'Singida', 'invoicing' ), |
|
1318 | + 'TZ24' => __( 'Tabora', 'invoicing' ), |
|
1319 | + 'TZ25' => __( 'Tanga', 'invoicing' ), |
|
1320 | + 'TZ26' => __( 'Manyara', 'invoicing' ), |
|
1321 | + 'TZ27' => __( 'Geita', 'invoicing' ), |
|
1322 | + 'TZ28' => __( 'Katavi', 'invoicing' ), |
|
1323 | + 'TZ29' => __( 'Njombe', 'invoicing' ), |
|
1324 | + 'TZ30' => __( 'Simiyu', 'invoicing' ), |
|
1325 | + ), |
|
1326 | + 'LK' => array(), |
|
1327 | + 'SE' => array(), |
|
1328 | + 'UG' => array( // Uganda districts. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:UG. |
|
1329 | + 'UG314' => __( 'Abim', 'invoicing' ), |
|
1330 | + 'UG301' => __( 'Adjumani', 'invoicing' ), |
|
1331 | + 'UG322' => __( 'Agago', 'invoicing' ), |
|
1332 | + 'UG323' => __( 'Alebtong', 'invoicing' ), |
|
1333 | + 'UG315' => __( 'Amolatar', 'invoicing' ), |
|
1334 | + 'UG324' => __( 'Amudat', 'invoicing' ), |
|
1335 | + 'UG216' => __( 'Amuria', 'invoicing' ), |
|
1336 | + 'UG316' => __( 'Amuru', 'invoicing' ), |
|
1337 | + 'UG302' => __( 'Apac', 'invoicing' ), |
|
1338 | + 'UG303' => __( 'Arua', 'invoicing' ), |
|
1339 | + 'UG217' => __( 'Budaka', 'invoicing' ), |
|
1340 | + 'UG218' => __( 'Bududa', 'invoicing' ), |
|
1341 | + 'UG201' => __( 'Bugiri', 'invoicing' ), |
|
1342 | + 'UG235' => __( 'Bugweri', 'invoicing' ), |
|
1343 | + 'UG420' => __( 'Buhweju', 'invoicing' ), |
|
1344 | + 'UG117' => __( 'Buikwe', 'invoicing' ), |
|
1345 | + 'UG219' => __( 'Bukedea', 'invoicing' ), |
|
1346 | + 'UG118' => __( 'Bukomansimbi', 'invoicing' ), |
|
1347 | + 'UG220' => __( 'Bukwa', 'invoicing' ), |
|
1348 | + 'UG225' => __( 'Bulambuli', 'invoicing' ), |
|
1349 | + 'UG416' => __( 'Buliisa', 'invoicing' ), |
|
1350 | + 'UG401' => __( 'Bundibugyo', 'invoicing' ), |
|
1351 | + 'UG430' => __( 'Bunyangabu', 'invoicing' ), |
|
1352 | + 'UG402' => __( 'Bushenyi', 'invoicing' ), |
|
1353 | + 'UG202' => __( 'Busia', 'invoicing' ), |
|
1354 | + 'UG221' => __( 'Butaleja', 'invoicing' ), |
|
1355 | + 'UG119' => __( 'Butambala', 'invoicing' ), |
|
1356 | + 'UG233' => __( 'Butebo', 'invoicing' ), |
|
1357 | + 'UG120' => __( 'Buvuma', 'invoicing' ), |
|
1358 | + 'UG226' => __( 'Buyende', 'invoicing' ), |
|
1359 | + 'UG317' => __( 'Dokolo', 'invoicing' ), |
|
1360 | + 'UG121' => __( 'Gomba', 'invoicing' ), |
|
1361 | + 'UG304' => __( 'Gulu', 'invoicing' ), |
|
1362 | + 'UG403' => __( 'Hoima', 'invoicing' ), |
|
1363 | + 'UG417' => __( 'Ibanda', 'invoicing' ), |
|
1364 | + 'UG203' => __( 'Iganga', 'invoicing' ), |
|
1365 | + 'UG418' => __( 'Isingiro', 'invoicing' ), |
|
1366 | + 'UG204' => __( 'Jinja', 'invoicing' ), |
|
1367 | + 'UG318' => __( 'Kaabong', 'invoicing' ), |
|
1368 | + 'UG404' => __( 'Kabale', 'invoicing' ), |
|
1369 | + 'UG405' => __( 'Kabarole', 'invoicing' ), |
|
1370 | + 'UG213' => __( 'Kaberamaido', 'invoicing' ), |
|
1371 | + 'UG427' => __( 'Kagadi', 'invoicing' ), |
|
1372 | + 'UG428' => __( 'Kakumiro', 'invoicing' ), |
|
1373 | + 'UG101' => __( 'Kalangala', 'invoicing' ), |
|
1374 | + 'UG222' => __( 'Kaliro', 'invoicing' ), |
|
1375 | + 'UG122' => __( 'Kalungu', 'invoicing' ), |
|
1376 | + 'UG102' => __( 'Kampala', 'invoicing' ), |
|
1377 | + 'UG205' => __( 'Kamuli', 'invoicing' ), |
|
1378 | + 'UG413' => __( 'Kamwenge', 'invoicing' ), |
|
1379 | + 'UG414' => __( 'Kanungu', 'invoicing' ), |
|
1380 | + 'UG206' => __( 'Kapchorwa', 'invoicing' ), |
|
1381 | + 'UG236' => __( 'Kapelebyong', 'invoicing' ), |
|
1382 | + 'UG126' => __( 'Kasanda', 'invoicing' ), |
|
1383 | + 'UG406' => __( 'Kasese', 'invoicing' ), |
|
1384 | + 'UG207' => __( 'Katakwi', 'invoicing' ), |
|
1385 | + 'UG112' => __( 'Kayunga', 'invoicing' ), |
|
1386 | + 'UG407' => __( 'Kibaale', 'invoicing' ), |
|
1387 | + 'UG103' => __( 'Kiboga', 'invoicing' ), |
|
1388 | + 'UG227' => __( 'Kibuku', 'invoicing' ), |
|
1389 | + 'UG432' => __( 'Kikuube', 'invoicing' ), |
|
1390 | + 'UG419' => __( 'Kiruhura', 'invoicing' ), |
|
1391 | + 'UG421' => __( 'Kiryandongo', 'invoicing' ), |
|
1392 | + 'UG408' => __( 'Kisoro', 'invoicing' ), |
|
1393 | + 'UG305' => __( 'Kitgum', 'invoicing' ), |
|
1394 | + 'UG319' => __( 'Koboko', 'invoicing' ), |
|
1395 | + 'UG325' => __( 'Kole', 'invoicing' ), |
|
1396 | + 'UG306' => __( 'Kotido', 'invoicing' ), |
|
1397 | + 'UG208' => __( 'Kumi', 'invoicing' ), |
|
1398 | + 'UG333' => __( 'Kwania', 'invoicing' ), |
|
1399 | + 'UG228' => __( 'Kween', 'invoicing' ), |
|
1400 | + 'UG123' => __( 'Kyankwanzi', 'invoicing' ), |
|
1401 | + 'UG422' => __( 'Kyegegwa', 'invoicing' ), |
|
1402 | + 'UG415' => __( 'Kyenjojo', 'invoicing' ), |
|
1403 | + 'UG125' => __( 'Kyotera', 'invoicing' ), |
|
1404 | + 'UG326' => __( 'Lamwo', 'invoicing' ), |
|
1405 | + 'UG307' => __( 'Lira', 'invoicing' ), |
|
1406 | + 'UG229' => __( 'Luuka', 'invoicing' ), |
|
1407 | + 'UG104' => __( 'Luwero', 'invoicing' ), |
|
1408 | + 'UG124' => __( 'Lwengo', 'invoicing' ), |
|
1409 | + 'UG114' => __( 'Lyantonde', 'invoicing' ), |
|
1410 | + 'UG223' => __( 'Manafwa', 'invoicing' ), |
|
1411 | + 'UG320' => __( 'Maracha', 'invoicing' ), |
|
1412 | + 'UG105' => __( 'Masaka', 'invoicing' ), |
|
1413 | + 'UG409' => __( 'Masindi', 'invoicing' ), |
|
1414 | + 'UG214' => __( 'Mayuge', 'invoicing' ), |
|
1415 | + 'UG209' => __( 'Mbale', 'invoicing' ), |
|
1416 | + 'UG410' => __( 'Mbarara', 'invoicing' ), |
|
1417 | + 'UG423' => __( 'Mitooma', 'invoicing' ), |
|
1418 | + 'UG115' => __( 'Mityana', 'invoicing' ), |
|
1419 | + 'UG308' => __( 'Moroto', 'invoicing' ), |
|
1420 | + 'UG309' => __( 'Moyo', 'invoicing' ), |
|
1421 | + 'UG106' => __( 'Mpigi', 'invoicing' ), |
|
1422 | + 'UG107' => __( 'Mubende', 'invoicing' ), |
|
1423 | + 'UG108' => __( 'Mukono', 'invoicing' ), |
|
1424 | + 'UG334' => __( 'Nabilatuk', 'invoicing' ), |
|
1425 | + 'UG311' => __( 'Nakapiripirit', 'invoicing' ), |
|
1426 | + 'UG116' => __( 'Nakaseke', 'invoicing' ), |
|
1427 | + 'UG109' => __( 'Nakasongola', 'invoicing' ), |
|
1428 | + 'UG230' => __( 'Namayingo', 'invoicing' ), |
|
1429 | + 'UG234' => __( 'Namisindwa', 'invoicing' ), |
|
1430 | + 'UG224' => __( 'Namutumba', 'invoicing' ), |
|
1431 | + 'UG327' => __( 'Napak', 'invoicing' ), |
|
1432 | + 'UG310' => __( 'Nebbi', 'invoicing' ), |
|
1433 | + 'UG231' => __( 'Ngora', 'invoicing' ), |
|
1434 | + 'UG424' => __( 'Ntoroko', 'invoicing' ), |
|
1435 | + 'UG411' => __( 'Ntungamo', 'invoicing' ), |
|
1436 | + 'UG328' => __( 'Nwoya', 'invoicing' ), |
|
1437 | + 'UG331' => __( 'Omoro', 'invoicing' ), |
|
1438 | + 'UG329' => __( 'Otuke', 'invoicing' ), |
|
1439 | + 'UG321' => __( 'Oyam', 'invoicing' ), |
|
1440 | + 'UG312' => __( 'Pader', 'invoicing' ), |
|
1441 | + 'UG332' => __( 'Pakwach', 'invoicing' ), |
|
1442 | + 'UG210' => __( 'Pallisa', 'invoicing' ), |
|
1443 | + 'UG110' => __( 'Rakai', 'invoicing' ), |
|
1444 | + 'UG429' => __( 'Rubanda', 'invoicing' ), |
|
1445 | + 'UG425' => __( 'Rubirizi', 'invoicing' ), |
|
1446 | + 'UG431' => __( 'Rukiga', 'invoicing' ), |
|
1447 | + 'UG412' => __( 'Rukungiri', 'invoicing' ), |
|
1448 | + 'UG111' => __( 'Sembabule', 'invoicing' ), |
|
1449 | + 'UG232' => __( 'Serere', 'invoicing' ), |
|
1450 | + 'UG426' => __( 'Sheema', 'invoicing' ), |
|
1451 | + 'UG215' => __( 'Sironko', 'invoicing' ), |
|
1452 | + 'UG211' => __( 'Soroti', 'invoicing' ), |
|
1453 | + 'UG212' => __( 'Tororo', 'invoicing' ), |
|
1454 | + 'UG113' => __( 'Wakiso', 'invoicing' ), |
|
1455 | + 'UG313' => __( 'Yumbe', 'invoicing' ), |
|
1456 | + 'UG330' => __( 'Zombo', 'invoicing' ), |
|
1457 | + ), |
|
1458 | + 'UM' => array( |
|
1459 | + '81' => __( 'Baker Island', 'invoicing' ), |
|
1460 | + '84' => __( 'Howland Island', 'invoicing' ), |
|
1461 | + '86' => __( 'Jarvis Island', 'invoicing' ), |
|
1462 | + '67' => __( 'Johnston Atoll', 'invoicing' ), |
|
1463 | + '89' => __( 'Kingman Reef', 'invoicing' ), |
|
1464 | + '71' => __( 'Midway Atoll', 'invoicing' ), |
|
1465 | + '76' => __( 'Navassa Island', 'invoicing' ), |
|
1466 | + '95' => __( 'Palmyra Atoll', 'invoicing' ), |
|
1467 | + '79' => __( 'Wake Island', 'invoicing' ), |
|
1468 | + ), |
|
1469 | + 'US' => array( // United States. |
|
1470 | + 'AL' => __( 'Alabama', 'invoicing' ), |
|
1471 | + 'AK' => __( 'Alaska', 'invoicing' ), |
|
1472 | + 'AZ' => __( 'Arizona', 'invoicing' ), |
|
1473 | + 'AR' => __( 'Arkansas', 'invoicing' ), |
|
1474 | + 'CA' => __( 'California', 'invoicing' ), |
|
1475 | + 'CO' => __( 'Colorado', 'invoicing' ), |
|
1476 | + 'CT' => __( 'Connecticut', 'invoicing' ), |
|
1477 | + 'DE' => __( 'Delaware', 'invoicing' ), |
|
1478 | + 'DC' => __( 'District Of Columbia', 'invoicing' ), |
|
1479 | + 'FL' => __( 'Florida', 'invoicing' ), |
|
1480 | + 'GA' => _x( 'Georgia', 'US state of Georgia', 'invoicing' ), |
|
1481 | + 'HI' => __( 'Hawaii', 'invoicing' ), |
|
1482 | + 'ID' => __( 'Idaho', 'invoicing' ), |
|
1483 | + 'IL' => __( 'Illinois', 'invoicing' ), |
|
1484 | + 'IN' => __( 'Indiana', 'invoicing' ), |
|
1485 | + 'IA' => __( 'Iowa', 'invoicing' ), |
|
1486 | + 'KS' => __( 'Kansas', 'invoicing' ), |
|
1487 | + 'KY' => __( 'Kentucky', 'invoicing' ), |
|
1488 | + 'LA' => __( 'Louisiana', 'invoicing' ), |
|
1489 | + 'ME' => __( 'Maine', 'invoicing' ), |
|
1490 | + 'MD' => __( 'Maryland', 'invoicing' ), |
|
1491 | + 'MA' => __( 'Massachusetts', 'invoicing' ), |
|
1492 | + 'MI' => __( 'Michigan', 'invoicing' ), |
|
1493 | + 'MN' => __( 'Minnesota', 'invoicing' ), |
|
1494 | + 'MS' => __( 'Mississippi', 'invoicing' ), |
|
1495 | + 'MO' => __( 'Missouri', 'invoicing' ), |
|
1496 | + 'MT' => __( 'Montana', 'invoicing' ), |
|
1497 | + 'NE' => __( 'Nebraska', 'invoicing' ), |
|
1498 | + 'NV' => __( 'Nevada', 'invoicing' ), |
|
1499 | + 'NH' => __( 'New Hampshire', 'invoicing' ), |
|
1500 | + 'NJ' => __( 'New Jersey', 'invoicing' ), |
|
1501 | + 'NM' => __( 'New Mexico', 'invoicing' ), |
|
1502 | + 'NY' => __( 'New York', 'invoicing' ), |
|
1503 | + 'NC' => __( 'North Carolina', 'invoicing' ), |
|
1504 | + 'ND' => __( 'North Dakota', 'invoicing' ), |
|
1505 | + 'OH' => __( 'Ohio', 'invoicing' ), |
|
1506 | + 'OK' => __( 'Oklahoma', 'invoicing' ), |
|
1507 | + 'OR' => __( 'Oregon', 'invoicing' ), |
|
1508 | + 'PA' => __( 'Pennsylvania', 'invoicing' ), |
|
1509 | + 'RI' => __( 'Rhode Island', 'invoicing' ), |
|
1510 | + 'SC' => __( 'South Carolina', 'invoicing' ), |
|
1511 | + 'SD' => __( 'South Dakota', 'invoicing' ), |
|
1512 | + 'TN' => __( 'Tennessee', 'invoicing' ), |
|
1513 | + 'TX' => __( 'Texas', 'invoicing' ), |
|
1514 | + 'UT' => __( 'Utah', 'invoicing' ), |
|
1515 | + 'VT' => __( 'Vermont', 'invoicing' ), |
|
1516 | + 'VA' => __( 'Virginia', 'invoicing' ), |
|
1517 | + 'WA' => __( 'Washington', 'invoicing' ), |
|
1518 | + 'WV' => __( 'West Virginia', 'invoicing' ), |
|
1519 | + 'WI' => __( 'Wisconsin', 'invoicing' ), |
|
1520 | + 'WY' => __( 'Wyoming', 'invoicing' ), |
|
1521 | + 'AA' => __( 'Armed Forces (AA)', 'invoicing' ), |
|
1522 | + 'AE' => __( 'Armed Forces (AE)', 'invoicing' ), |
|
1523 | + 'AP' => __( 'Armed Forces (AP)', 'invoicing' ), |
|
1524 | + ), |
|
1525 | + 'VN' => array(), |
|
1526 | + 'YT' => array(), |
|
1527 | + 'ZA' => array( // South African states. |
|
1528 | + 'EC' => __( 'Eastern Cape', 'invoicing' ), |
|
1529 | + 'FS' => __( 'Free State', 'invoicing' ), |
|
1530 | + 'GP' => __( 'Gauteng', 'invoicing' ), |
|
1531 | + 'KZN' => __( 'KwaZulu-Natal', 'invoicing' ), |
|
1532 | + 'LP' => __( 'Limpopo', 'invoicing' ), |
|
1533 | + 'MP' => __( 'Mpumalanga', 'invoicing' ), |
|
1534 | + 'NC' => __( 'Northern Cape', 'invoicing' ), |
|
1535 | + 'NW' => __( 'North West', 'invoicing' ), |
|
1536 | + 'WC' => __( 'Western Cape', 'invoicing' ), |
|
1537 | + ), |
|
1538 | + 'ZM' => array( // Zambia's Provinces. Ref: https://en.wikipedia.org/wiki/ISO_3166-2:ZM. |
|
1539 | + 'ZM-01' => __( 'Western', 'invoicing' ), |
|
1540 | + 'ZM-02' => __( 'Central', 'invoicing' ), |
|
1541 | + 'ZM-03' => __( 'Eastern', 'invoicing' ), |
|
1542 | + 'ZM-04' => __( 'Luapula', 'invoicing' ), |
|
1543 | + 'ZM-05' => __( 'Northern', 'invoicing' ), |
|
1544 | + 'ZM-06' => __( 'North-Western', 'invoicing' ), |
|
1545 | + 'ZM-07' => __( 'Southern', 'invoicing' ), |
|
1546 | + 'ZM-08' => __( 'Copperbelt', 'invoicing' ), |
|
1547 | + 'ZM-09' => __( 'Lusaka', 'invoicing' ), |
|
1548 | + 'ZM-10' => __( 'Muchinga', 'invoicing' ), |
|
1549 | + ), |
|
1550 | 1550 | ); |
@@ -10,261 +10,261 @@ |
||
10 | 10 | defined( 'ABSPATH' ) || exit; |
11 | 11 | |
12 | 12 | return array( |
13 | - 'BD' => '+880', |
|
14 | - 'BE' => '+32', |
|
15 | - 'BF' => '+226', |
|
16 | - 'BG' => '+359', |
|
17 | - 'BA' => '+387', |
|
18 | - 'BB' => '+1246', |
|
19 | - 'WF' => '+681', |
|
20 | - 'BL' => '+590', |
|
21 | - 'BM' => '+1441', |
|
22 | - 'BN' => '+673', |
|
23 | - 'BO' => '+591', |
|
24 | - 'BH' => '+973', |
|
25 | - 'BI' => '+257', |
|
26 | - 'BJ' => '+229', |
|
27 | - 'BT' => '+975', |
|
28 | - 'JM' => '+1876', |
|
29 | - 'BV' => '', |
|
30 | - 'BW' => '+267', |
|
31 | - 'WS' => '+685', |
|
32 | - 'BQ' => '+599', |
|
33 | - 'BR' => '+55', |
|
34 | - 'BS' => '+1242', |
|
35 | - 'JE' => '+441534', |
|
36 | - 'BY' => '+375', |
|
37 | - 'BZ' => '+501', |
|
38 | - 'RU' => '+7', |
|
39 | - 'RW' => '+250', |
|
40 | - 'RS' => '+381', |
|
41 | - 'TL' => '+670', |
|
42 | - 'RE' => '+262', |
|
43 | - 'TM' => '+993', |
|
44 | - 'TJ' => '+992', |
|
45 | - 'RO' => '+40', |
|
46 | - 'TK' => '+690', |
|
47 | - 'GW' => '+245', |
|
48 | - 'GU' => '+1671', |
|
49 | - 'GT' => '+502', |
|
50 | - 'GS' => '', |
|
51 | - 'GR' => '+30', |
|
52 | - 'GQ' => '+240', |
|
53 | - 'GP' => '+590', |
|
54 | - 'JP' => '+81', |
|
55 | - 'GY' => '+592', |
|
56 | - 'GG' => '+441481', |
|
57 | - 'GF' => '+594', |
|
58 | - 'GE' => '+995', |
|
59 | - 'GD' => '+1473', |
|
60 | - 'GB' => '+44', |
|
61 | - 'GA' => '+241', |
|
62 | - 'SV' => '+503', |
|
63 | - 'GN' => '+224', |
|
64 | - 'GM' => '+220', |
|
65 | - 'GL' => '+299', |
|
66 | - 'GI' => '+350', |
|
67 | - 'GH' => '+233', |
|
68 | - 'OM' => '+968', |
|
69 | - 'TN' => '+216', |
|
70 | - 'JO' => '+962', |
|
71 | - 'HR' => '+385', |
|
72 | - 'HT' => '+509', |
|
73 | - 'HU' => '+36', |
|
74 | - 'HK' => '+852', |
|
75 | - 'HN' => '+504', |
|
76 | - 'HM' => '', |
|
77 | - 'VE' => '+58', |
|
78 | - 'PR' => array( |
|
79 | - '+1787', |
|
80 | - '+1939', |
|
81 | - ), |
|
82 | - 'PS' => '+970', |
|
83 | - 'PW' => '+680', |
|
84 | - 'PT' => '+351', |
|
85 | - 'SJ' => '+47', |
|
86 | - 'PY' => '+595', |
|
87 | - 'IQ' => '+964', |
|
88 | - 'PA' => '+507', |
|
89 | - 'PF' => '+689', |
|
90 | - 'PG' => '+675', |
|
91 | - 'PE' => '+51', |
|
92 | - 'PK' => '+92', |
|
93 | - 'PH' => '+63', |
|
94 | - 'PN' => '+870', |
|
95 | - 'PL' => '+48', |
|
96 | - 'PM' => '+508', |
|
97 | - 'ZM' => '+260', |
|
98 | - 'EH' => '+212', |
|
99 | - 'EE' => '+372', |
|
100 | - 'EG' => '+20', |
|
101 | - 'ZA' => '+27', |
|
102 | - 'EC' => '+593', |
|
103 | - 'IT' => '+39', |
|
104 | - 'VN' => '+84', |
|
105 | - 'SB' => '+677', |
|
106 | - 'ET' => '+251', |
|
107 | - 'SO' => '+252', |
|
108 | - 'ZW' => '+263', |
|
109 | - 'SA' => '+966', |
|
110 | - 'ES' => '+34', |
|
111 | - 'ER' => '+291', |
|
112 | - 'ME' => '+382', |
|
113 | - 'MD' => '+373', |
|
114 | - 'MG' => '+261', |
|
115 | - 'MF' => '+590', |
|
116 | - 'MA' => '+212', |
|
117 | - 'MC' => '+377', |
|
118 | - 'UZ' => '+998', |
|
119 | - 'MM' => '+95', |
|
120 | - 'ML' => '+223', |
|
121 | - 'MO' => '+853', |
|
122 | - 'MN' => '+976', |
|
123 | - 'MH' => '+692', |
|
124 | - 'MK' => '+389', |
|
125 | - 'MU' => '+230', |
|
126 | - 'MT' => '+356', |
|
127 | - 'MW' => '+265', |
|
128 | - 'MV' => '+960', |
|
129 | - 'MQ' => '+596', |
|
130 | - 'MP' => '+1670', |
|
131 | - 'MS' => '+1664', |
|
132 | - 'MR' => '+222', |
|
133 | - 'IM' => '+441624', |
|
134 | - 'UG' => '+256', |
|
135 | - 'TZ' => '+255', |
|
136 | - 'MY' => '+60', |
|
137 | - 'MX' => '+52', |
|
138 | - 'IL' => '+972', |
|
139 | - 'FR' => '+33', |
|
140 | - 'IO' => '+246', |
|
141 | - 'SH' => '+290', |
|
142 | - 'FI' => '+358', |
|
143 | - 'FJ' => '+679', |
|
144 | - 'FK' => '+500', |
|
145 | - 'FM' => '+691', |
|
146 | - 'FO' => '+298', |
|
147 | - 'NI' => '+505', |
|
148 | - 'NL' => '+31', |
|
149 | - 'NO' => '+47', |
|
150 | - 'NA' => '+264', |
|
151 | - 'VU' => '+678', |
|
152 | - 'NC' => '+687', |
|
153 | - 'NE' => '+227', |
|
154 | - 'NF' => '+672', |
|
155 | - 'NG' => '+234', |
|
156 | - 'NZ' => '+64', |
|
157 | - 'NP' => '+977', |
|
158 | - 'NR' => '+674', |
|
159 | - 'NU' => '+683', |
|
160 | - 'CK' => '+682', |
|
161 | - 'XK' => '', |
|
162 | - 'CI' => '+225', |
|
163 | - 'CH' => '+41', |
|
164 | - 'CO' => '+57', |
|
165 | - 'CN' => '+86', |
|
166 | - 'CM' => '+237', |
|
167 | - 'CL' => '+56', |
|
168 | - 'CC' => '+61', |
|
169 | - 'CA' => '+1', |
|
170 | - 'CG' => '+242', |
|
171 | - 'CF' => '+236', |
|
172 | - 'CD' => '+243', |
|
173 | - 'CZ' => '+420', |
|
174 | - 'CY' => '+357', |
|
175 | - 'CX' => '+61', |
|
176 | - 'CR' => '+506', |
|
177 | - 'CW' => '+599', |
|
178 | - 'CV' => '+238', |
|
179 | - 'CU' => '+53', |
|
180 | - 'SZ' => '+268', |
|
181 | - 'SY' => '+963', |
|
182 | - 'SX' => '+599', |
|
183 | - 'KG' => '+996', |
|
184 | - 'KE' => '+254', |
|
185 | - 'SS' => '+211', |
|
186 | - 'SR' => '+597', |
|
187 | - 'KI' => '+686', |
|
188 | - 'KH' => '+855', |
|
189 | - 'KN' => '+1869', |
|
190 | - 'KM' => '+269', |
|
191 | - 'ST' => '+239', |
|
192 | - 'SK' => '+421', |
|
193 | - 'KR' => '+82', |
|
194 | - 'SI' => '+386', |
|
195 | - 'KP' => '+850', |
|
196 | - 'KW' => '+965', |
|
197 | - 'SN' => '+221', |
|
198 | - 'SM' => '+378', |
|
199 | - 'SL' => '+232', |
|
200 | - 'SC' => '+248', |
|
201 | - 'KZ' => '+7', |
|
202 | - 'KY' => '+1345', |
|
203 | - 'SG' => '+65', |
|
204 | - 'SE' => '+46', |
|
205 | - 'SD' => '+249', |
|
206 | - 'DO' => array( |
|
207 | - '+1809', |
|
208 | - '+1829', |
|
209 | - '+1849', |
|
210 | - ), |
|
211 | - 'DM' => '+1767', |
|
212 | - 'DJ' => '+253', |
|
213 | - 'DK' => '+45', |
|
214 | - 'VG' => '+1284', |
|
215 | - 'DE' => '+49', |
|
216 | - 'YE' => '+967', |
|
217 | - 'DZ' => '+213', |
|
218 | - 'US' => '+1', |
|
219 | - 'UY' => '+598', |
|
220 | - 'YT' => '+262', |
|
221 | - 'UM' => '+1', |
|
222 | - 'LB' => '+961', |
|
223 | - 'LC' => '+1758', |
|
224 | - 'LA' => '+856', |
|
225 | - 'TV' => '+688', |
|
226 | - 'TW' => '+886', |
|
227 | - 'TT' => '+1868', |
|
228 | - 'TR' => '+90', |
|
229 | - 'LK' => '+94', |
|
230 | - 'LI' => '+423', |
|
231 | - 'LV' => '+371', |
|
232 | - 'TO' => '+676', |
|
233 | - 'LT' => '+370', |
|
234 | - 'LU' => '+352', |
|
235 | - 'LR' => '+231', |
|
236 | - 'LS' => '+266', |
|
237 | - 'TH' => '+66', |
|
238 | - 'TF' => '', |
|
239 | - 'TG' => '+228', |
|
240 | - 'TD' => '+235', |
|
241 | - 'TC' => '+1649', |
|
242 | - 'LY' => '+218', |
|
243 | - 'VA' => '+379', |
|
244 | - 'VC' => '+1784', |
|
245 | - 'AE' => '+971', |
|
246 | - 'AD' => '+376', |
|
247 | - 'AG' => '+1268', |
|
248 | - 'AF' => '+93', |
|
249 | - 'AI' => '+1264', |
|
250 | - 'VI' => '+1340', |
|
251 | - 'IS' => '+354', |
|
252 | - 'IR' => '+98', |
|
253 | - 'AM' => '+374', |
|
254 | - 'AL' => '+355', |
|
255 | - 'AO' => '+244', |
|
256 | - 'AQ' => '', |
|
257 | - 'AS' => '+1684', |
|
258 | - 'AR' => '+54', |
|
259 | - 'AU' => '+61', |
|
260 | - 'AT' => '+43', |
|
261 | - 'AW' => '+297', |
|
262 | - 'IN' => '+91', |
|
263 | - 'AX' => '+35818', |
|
264 | - 'AZ' => '+994', |
|
265 | - 'IE' => '+353', |
|
266 | - 'ID' => '+62', |
|
267 | - 'UA' => '+380', |
|
268 | - 'QA' => '+974', |
|
269 | - 'MZ' => '+258', |
|
13 | + 'BD' => '+880', |
|
14 | + 'BE' => '+32', |
|
15 | + 'BF' => '+226', |
|
16 | + 'BG' => '+359', |
|
17 | + 'BA' => '+387', |
|
18 | + 'BB' => '+1246', |
|
19 | + 'WF' => '+681', |
|
20 | + 'BL' => '+590', |
|
21 | + 'BM' => '+1441', |
|
22 | + 'BN' => '+673', |
|
23 | + 'BO' => '+591', |
|
24 | + 'BH' => '+973', |
|
25 | + 'BI' => '+257', |
|
26 | + 'BJ' => '+229', |
|
27 | + 'BT' => '+975', |
|
28 | + 'JM' => '+1876', |
|
29 | + 'BV' => '', |
|
30 | + 'BW' => '+267', |
|
31 | + 'WS' => '+685', |
|
32 | + 'BQ' => '+599', |
|
33 | + 'BR' => '+55', |
|
34 | + 'BS' => '+1242', |
|
35 | + 'JE' => '+441534', |
|
36 | + 'BY' => '+375', |
|
37 | + 'BZ' => '+501', |
|
38 | + 'RU' => '+7', |
|
39 | + 'RW' => '+250', |
|
40 | + 'RS' => '+381', |
|
41 | + 'TL' => '+670', |
|
42 | + 'RE' => '+262', |
|
43 | + 'TM' => '+993', |
|
44 | + 'TJ' => '+992', |
|
45 | + 'RO' => '+40', |
|
46 | + 'TK' => '+690', |
|
47 | + 'GW' => '+245', |
|
48 | + 'GU' => '+1671', |
|
49 | + 'GT' => '+502', |
|
50 | + 'GS' => '', |
|
51 | + 'GR' => '+30', |
|
52 | + 'GQ' => '+240', |
|
53 | + 'GP' => '+590', |
|
54 | + 'JP' => '+81', |
|
55 | + 'GY' => '+592', |
|
56 | + 'GG' => '+441481', |
|
57 | + 'GF' => '+594', |
|
58 | + 'GE' => '+995', |
|
59 | + 'GD' => '+1473', |
|
60 | + 'GB' => '+44', |
|
61 | + 'GA' => '+241', |
|
62 | + 'SV' => '+503', |
|
63 | + 'GN' => '+224', |
|
64 | + 'GM' => '+220', |
|
65 | + 'GL' => '+299', |
|
66 | + 'GI' => '+350', |
|
67 | + 'GH' => '+233', |
|
68 | + 'OM' => '+968', |
|
69 | + 'TN' => '+216', |
|
70 | + 'JO' => '+962', |
|
71 | + 'HR' => '+385', |
|
72 | + 'HT' => '+509', |
|
73 | + 'HU' => '+36', |
|
74 | + 'HK' => '+852', |
|
75 | + 'HN' => '+504', |
|
76 | + 'HM' => '', |
|
77 | + 'VE' => '+58', |
|
78 | + 'PR' => array( |
|
79 | + '+1787', |
|
80 | + '+1939', |
|
81 | + ), |
|
82 | + 'PS' => '+970', |
|
83 | + 'PW' => '+680', |
|
84 | + 'PT' => '+351', |
|
85 | + 'SJ' => '+47', |
|
86 | + 'PY' => '+595', |
|
87 | + 'IQ' => '+964', |
|
88 | + 'PA' => '+507', |
|
89 | + 'PF' => '+689', |
|
90 | + 'PG' => '+675', |
|
91 | + 'PE' => '+51', |
|
92 | + 'PK' => '+92', |
|
93 | + 'PH' => '+63', |
|
94 | + 'PN' => '+870', |
|
95 | + 'PL' => '+48', |
|
96 | + 'PM' => '+508', |
|
97 | + 'ZM' => '+260', |
|
98 | + 'EH' => '+212', |
|
99 | + 'EE' => '+372', |
|
100 | + 'EG' => '+20', |
|
101 | + 'ZA' => '+27', |
|
102 | + 'EC' => '+593', |
|
103 | + 'IT' => '+39', |
|
104 | + 'VN' => '+84', |
|
105 | + 'SB' => '+677', |
|
106 | + 'ET' => '+251', |
|
107 | + 'SO' => '+252', |
|
108 | + 'ZW' => '+263', |
|
109 | + 'SA' => '+966', |
|
110 | + 'ES' => '+34', |
|
111 | + 'ER' => '+291', |
|
112 | + 'ME' => '+382', |
|
113 | + 'MD' => '+373', |
|
114 | + 'MG' => '+261', |
|
115 | + 'MF' => '+590', |
|
116 | + 'MA' => '+212', |
|
117 | + 'MC' => '+377', |
|
118 | + 'UZ' => '+998', |
|
119 | + 'MM' => '+95', |
|
120 | + 'ML' => '+223', |
|
121 | + 'MO' => '+853', |
|
122 | + 'MN' => '+976', |
|
123 | + 'MH' => '+692', |
|
124 | + 'MK' => '+389', |
|
125 | + 'MU' => '+230', |
|
126 | + 'MT' => '+356', |
|
127 | + 'MW' => '+265', |
|
128 | + 'MV' => '+960', |
|
129 | + 'MQ' => '+596', |
|
130 | + 'MP' => '+1670', |
|
131 | + 'MS' => '+1664', |
|
132 | + 'MR' => '+222', |
|
133 | + 'IM' => '+441624', |
|
134 | + 'UG' => '+256', |
|
135 | + 'TZ' => '+255', |
|
136 | + 'MY' => '+60', |
|
137 | + 'MX' => '+52', |
|
138 | + 'IL' => '+972', |
|
139 | + 'FR' => '+33', |
|
140 | + 'IO' => '+246', |
|
141 | + 'SH' => '+290', |
|
142 | + 'FI' => '+358', |
|
143 | + 'FJ' => '+679', |
|
144 | + 'FK' => '+500', |
|
145 | + 'FM' => '+691', |
|
146 | + 'FO' => '+298', |
|
147 | + 'NI' => '+505', |
|
148 | + 'NL' => '+31', |
|
149 | + 'NO' => '+47', |
|
150 | + 'NA' => '+264', |
|
151 | + 'VU' => '+678', |
|
152 | + 'NC' => '+687', |
|
153 | + 'NE' => '+227', |
|
154 | + 'NF' => '+672', |
|
155 | + 'NG' => '+234', |
|
156 | + 'NZ' => '+64', |
|
157 | + 'NP' => '+977', |
|
158 | + 'NR' => '+674', |
|
159 | + 'NU' => '+683', |
|
160 | + 'CK' => '+682', |
|
161 | + 'XK' => '', |
|
162 | + 'CI' => '+225', |
|
163 | + 'CH' => '+41', |
|
164 | + 'CO' => '+57', |
|
165 | + 'CN' => '+86', |
|
166 | + 'CM' => '+237', |
|
167 | + 'CL' => '+56', |
|
168 | + 'CC' => '+61', |
|
169 | + 'CA' => '+1', |
|
170 | + 'CG' => '+242', |
|
171 | + 'CF' => '+236', |
|
172 | + 'CD' => '+243', |
|
173 | + 'CZ' => '+420', |
|
174 | + 'CY' => '+357', |
|
175 | + 'CX' => '+61', |
|
176 | + 'CR' => '+506', |
|
177 | + 'CW' => '+599', |
|
178 | + 'CV' => '+238', |
|
179 | + 'CU' => '+53', |
|
180 | + 'SZ' => '+268', |
|
181 | + 'SY' => '+963', |
|
182 | + 'SX' => '+599', |
|
183 | + 'KG' => '+996', |
|
184 | + 'KE' => '+254', |
|
185 | + 'SS' => '+211', |
|
186 | + 'SR' => '+597', |
|
187 | + 'KI' => '+686', |
|
188 | + 'KH' => '+855', |
|
189 | + 'KN' => '+1869', |
|
190 | + 'KM' => '+269', |
|
191 | + 'ST' => '+239', |
|
192 | + 'SK' => '+421', |
|
193 | + 'KR' => '+82', |
|
194 | + 'SI' => '+386', |
|
195 | + 'KP' => '+850', |
|
196 | + 'KW' => '+965', |
|
197 | + 'SN' => '+221', |
|
198 | + 'SM' => '+378', |
|
199 | + 'SL' => '+232', |
|
200 | + 'SC' => '+248', |
|
201 | + 'KZ' => '+7', |
|
202 | + 'KY' => '+1345', |
|
203 | + 'SG' => '+65', |
|
204 | + 'SE' => '+46', |
|
205 | + 'SD' => '+249', |
|
206 | + 'DO' => array( |
|
207 | + '+1809', |
|
208 | + '+1829', |
|
209 | + '+1849', |
|
210 | + ), |
|
211 | + 'DM' => '+1767', |
|
212 | + 'DJ' => '+253', |
|
213 | + 'DK' => '+45', |
|
214 | + 'VG' => '+1284', |
|
215 | + 'DE' => '+49', |
|
216 | + 'YE' => '+967', |
|
217 | + 'DZ' => '+213', |
|
218 | + 'US' => '+1', |
|
219 | + 'UY' => '+598', |
|
220 | + 'YT' => '+262', |
|
221 | + 'UM' => '+1', |
|
222 | + 'LB' => '+961', |
|
223 | + 'LC' => '+1758', |
|
224 | + 'LA' => '+856', |
|
225 | + 'TV' => '+688', |
|
226 | + 'TW' => '+886', |
|
227 | + 'TT' => '+1868', |
|
228 | + 'TR' => '+90', |
|
229 | + 'LK' => '+94', |
|
230 | + 'LI' => '+423', |
|
231 | + 'LV' => '+371', |
|
232 | + 'TO' => '+676', |
|
233 | + 'LT' => '+370', |
|
234 | + 'LU' => '+352', |
|
235 | + 'LR' => '+231', |
|
236 | + 'LS' => '+266', |
|
237 | + 'TH' => '+66', |
|
238 | + 'TF' => '', |
|
239 | + 'TG' => '+228', |
|
240 | + 'TD' => '+235', |
|
241 | + 'TC' => '+1649', |
|
242 | + 'LY' => '+218', |
|
243 | + 'VA' => '+379', |
|
244 | + 'VC' => '+1784', |
|
245 | + 'AE' => '+971', |
|
246 | + 'AD' => '+376', |
|
247 | + 'AG' => '+1268', |
|
248 | + 'AF' => '+93', |
|
249 | + 'AI' => '+1264', |
|
250 | + 'VI' => '+1340', |
|
251 | + 'IS' => '+354', |
|
252 | + 'IR' => '+98', |
|
253 | + 'AM' => '+374', |
|
254 | + 'AL' => '+355', |
|
255 | + 'AO' => '+244', |
|
256 | + 'AQ' => '', |
|
257 | + 'AS' => '+1684', |
|
258 | + 'AR' => '+54', |
|
259 | + 'AU' => '+61', |
|
260 | + 'AT' => '+43', |
|
261 | + 'AW' => '+297', |
|
262 | + 'IN' => '+91', |
|
263 | + 'AX' => '+35818', |
|
264 | + 'AZ' => '+994', |
|
265 | + 'IE' => '+353', |
|
266 | + 'ID' => '+62', |
|
267 | + 'UA' => '+380', |
|
268 | + 'QA' => '+974', |
|
269 | + 'MZ' => '+258', |
|
270 | 270 | ); |
@@ -12,256 +12,256 @@ |
||
12 | 12 | defined( 'ABSPATH' ) || exit; |
13 | 13 | |
14 | 14 | return array( |
15 | - 'US' => __('United States', 'invoicing'), |
|
16 | - 'CA' => __('Canada', 'invoicing'), |
|
17 | - 'GB' => __('United Kingdom', 'invoicing'), |
|
18 | - 'AF' => __('Afghanistan', 'invoicing'), |
|
19 | - 'AX' => __('Aland Islands', 'invoicing'), |
|
20 | - 'AL' => __('Albania', 'invoicing'), |
|
21 | - 'DZ' => __('Algeria', 'invoicing'), |
|
22 | - 'AS' => __('American Samoa', 'invoicing'), |
|
23 | - 'AD' => __('Andorra', 'invoicing'), |
|
24 | - 'AO' => __('Angola', 'invoicing'), |
|
25 | - 'AI' => __('Anguilla', 'invoicing'), |
|
26 | - 'AQ' => __('Antarctica', 'invoicing'), |
|
27 | - 'AG' => __('Antigua and Barbuda', 'invoicing'), |
|
28 | - 'AR' => __('Argentina', 'invoicing'), |
|
29 | - 'AM' => __('Armenia', 'invoicing'), |
|
30 | - 'AW' => __('Aruba', 'invoicing'), |
|
31 | - 'AU' => __('Australia', 'invoicing'), |
|
32 | - 'AT' => __('Austria', 'invoicing'), |
|
33 | - 'AZ' => __('Azerbaijan', 'invoicing'), |
|
34 | - 'BS' => __('Bahamas', 'invoicing'), |
|
35 | - 'BH' => __('Bahrain', 'invoicing'), |
|
36 | - 'BD' => __('Bangladesh', 'invoicing'), |
|
37 | - 'BB' => __('Barbados', 'invoicing'), |
|
38 | - 'BY' => __('Belarus', 'invoicing'), |
|
39 | - 'BE' => __('Belgium', 'invoicing'), |
|
40 | - 'BZ' => __('Belize', 'invoicing'), |
|
41 | - 'BJ' => __('Benin', 'invoicing'), |
|
42 | - 'BM' => __('Bermuda', 'invoicing'), |
|
43 | - 'BT' => __('Bhutan', 'invoicing'), |
|
44 | - 'BO' => __('Bolivia', 'invoicing'), |
|
45 | - 'BQ' => __('Bonaire, Saint Eustatius and Saba', 'invoicing'), |
|
46 | - 'BA' => __('Bosnia and Herzegovina', 'invoicing'), |
|
47 | - 'BW' => __('Botswana', 'invoicing'), |
|
48 | - 'BV' => __('Bouvet Island', 'invoicing'), |
|
49 | - 'BR' => __('Brazil', 'invoicing'), |
|
50 | - 'IO' => __('British Indian Ocean Territory', 'invoicing'), |
|
51 | - 'BN' => __('Brunei Darrussalam', 'invoicing'), |
|
52 | - 'BG' => __('Bulgaria', 'invoicing'), |
|
53 | - 'BF' => __('Burkina Faso', 'invoicing'), |
|
54 | - 'BI' => __('Burundi', 'invoicing'), |
|
55 | - 'KH' => __('Cambodia', 'invoicing'), |
|
56 | - 'CM' => __('Cameroon', 'invoicing'), |
|
57 | - 'CV' => __('Cape Verde', 'invoicing'), |
|
58 | - 'KY' => __('Cayman Islands', 'invoicing'), |
|
59 | - 'CF' => __('Central African Republic', 'invoicing'), |
|
60 | - 'TD' => __('Chad', 'invoicing'), |
|
61 | - 'CL' => __('Chile', 'invoicing'), |
|
62 | - 'CN' => __('China', 'invoicing'), |
|
63 | - 'CX' => __('Christmas Island', 'invoicing'), |
|
64 | - 'CC' => __('Cocos Islands', 'invoicing'), |
|
65 | - 'CO' => __('Colombia', 'invoicing'), |
|
66 | - 'KM' => __('Comoros', 'invoicing'), |
|
67 | - 'CD' => __('Congo, Democratic People\'s Republic', 'invoicing'), |
|
68 | - 'CG' => __('Congo, Republic of', 'invoicing'), |
|
69 | - 'CK' => __('Cook Islands', 'invoicing'), |
|
70 | - 'CR' => __('Costa Rica', 'invoicing'), |
|
71 | - 'CI' => __('Cote d\'Ivoire', 'invoicing'), |
|
72 | - 'HR' => __('Croatia/Hrvatska', 'invoicing'), |
|
73 | - 'CU' => __('Cuba', 'invoicing'), |
|
74 | - 'CW' => __('CuraÇao', 'invoicing'), |
|
75 | - 'CY' => __('Cyprus', 'invoicing'), |
|
76 | - 'CZ' => __('Czech Republic', 'invoicing'), |
|
77 | - 'DK' => __('Denmark', 'invoicing'), |
|
78 | - 'DJ' => __('Djibouti', 'invoicing'), |
|
79 | - 'DM' => __('Dominica', 'invoicing'), |
|
80 | - 'DO' => __('Dominican Republic', 'invoicing'), |
|
81 | - 'TP' => __('East Timor', 'invoicing'), |
|
82 | - 'EC' => __('Ecuador', 'invoicing'), |
|
83 | - 'EG' => __('Egypt', 'invoicing'), |
|
84 | - 'GQ' => __('Equatorial Guinea', 'invoicing'), |
|
85 | - 'SV' => __('El Salvador', 'invoicing'), |
|
86 | - 'ER' => __('Eritrea', 'invoicing'), |
|
87 | - 'EE' => __('Estonia', 'invoicing'), |
|
88 | - 'ET' => __('Ethiopia', 'invoicing'), |
|
89 | - 'FK' => __('Falkland Islands', 'invoicing'), |
|
90 | - 'FO' => __('Faroe Islands', 'invoicing'), |
|
91 | - 'FJ' => __('Fiji', 'invoicing'), |
|
92 | - 'FI' => __('Finland', 'invoicing'), |
|
93 | - 'FR' => __('France', 'invoicing'), |
|
94 | - 'GF' => __('French Guiana', 'invoicing'), |
|
95 | - 'PF' => __('French Polynesia', 'invoicing'), |
|
96 | - 'TF' => __('French Southern Territories', 'invoicing'), |
|
97 | - 'GA' => __('Gabon', 'invoicing'), |
|
98 | - 'GM' => __('Gambia', 'invoicing'), |
|
99 | - 'GE' => __('Georgia', 'invoicing'), |
|
100 | - 'DE' => __('Germany', 'invoicing'), |
|
101 | - 'GR' => __('Greece', 'invoicing'), |
|
102 | - 'GH' => __('Ghana', 'invoicing'), |
|
103 | - 'GI' => __('Gibraltar', 'invoicing'), |
|
104 | - 'GL' => __('Greenland', 'invoicing'), |
|
105 | - 'GD' => __('Grenada', 'invoicing'), |
|
106 | - 'GP' => __('Guadeloupe', 'invoicing'), |
|
107 | - 'GU' => __('Guam', 'invoicing'), |
|
108 | - 'GT' => __('Guatemala', 'invoicing'), |
|
109 | - 'GG' => __('Guernsey', 'invoicing'), |
|
110 | - 'GN' => __('Guinea', 'invoicing'), |
|
111 | - 'GW' => __('Guinea-Bissau', 'invoicing'), |
|
112 | - 'GY' => __('Guyana', 'invoicing'), |
|
113 | - 'HT' => __('Haiti', 'invoicing'), |
|
114 | - 'HM' => __('Heard and McDonald Islands', 'invoicing'), |
|
115 | - 'VA' => __('Holy See (City Vatican State)', 'invoicing'), |
|
116 | - 'HN' => __('Honduras', 'invoicing'), |
|
117 | - 'HK' => __('Hong Kong', 'invoicing'), |
|
118 | - 'HU' => __('Hungary', 'invoicing'), |
|
119 | - 'IS' => __('Iceland', 'invoicing'), |
|
120 | - 'IN' => __('India', 'invoicing'), |
|
121 | - 'ID' => __('Indonesia', 'invoicing'), |
|
122 | - 'IR' => __('Iran', 'invoicing'), |
|
123 | - 'IQ' => __('Iraq', 'invoicing'), |
|
124 | - 'IE' => __('Ireland', 'invoicing'), |
|
125 | - 'IM' => __('Isle of Man', 'invoicing'), |
|
126 | - 'IL' => __('Israel', 'invoicing'), |
|
127 | - 'IT' => __('Italy', 'invoicing'), |
|
128 | - 'JM' => __('Jamaica', 'invoicing'), |
|
129 | - 'JP' => __('Japan', 'invoicing'), |
|
130 | - 'JE' => __('Jersey', 'invoicing'), |
|
131 | - 'JO' => __('Jordan', 'invoicing'), |
|
132 | - 'KZ' => __('Kazakhstan', 'invoicing'), |
|
133 | - 'KE' => __('Kenya', 'invoicing'), |
|
134 | - 'KI' => __('Kiribati', 'invoicing'), |
|
135 | - 'KW' => __('Kuwait', 'invoicing'), |
|
136 | - 'KG' => __('Kyrgyzstan', 'invoicing'), |
|
137 | - 'LA' => __('Lao People\'s Democratic Republic', 'invoicing'), |
|
138 | - 'LV' => __('Latvia', 'invoicing'), |
|
139 | - 'LB' => __('Lebanon', 'invoicing'), |
|
140 | - 'LS' => __('Lesotho', 'invoicing'), |
|
141 | - 'LR' => __('Liberia', 'invoicing'), |
|
142 | - 'LY' => __('Libyan Arab Jamahiriya', 'invoicing'), |
|
143 | - 'LI' => __('Liechtenstein', 'invoicing'), |
|
144 | - 'LT' => __('Lithuania', 'invoicing'), |
|
145 | - 'LU' => __('Luxembourg', 'invoicing'), |
|
146 | - 'MO' => __('Macau', 'invoicing'), |
|
147 | - 'MK' => __('Macedonia', 'invoicing'), |
|
148 | - 'MG' => __('Madagascar', 'invoicing'), |
|
149 | - 'MW' => __('Malawi', 'invoicing'), |
|
150 | - 'MY' => __('Malaysia', 'invoicing'), |
|
151 | - 'MV' => __('Maldives', 'invoicing'), |
|
152 | - 'ML' => __('Mali', 'invoicing'), |
|
153 | - 'MT' => __('Malta', 'invoicing'), |
|
154 | - 'MH' => __('Marshall Islands', 'invoicing'), |
|
155 | - 'MQ' => __('Martinique', 'invoicing'), |
|
156 | - 'MR' => __('Mauritania', 'invoicing'), |
|
157 | - 'MU' => __('Mauritius', 'invoicing'), |
|
158 | - 'YT' => __('Mayotte', 'invoicing'), |
|
159 | - 'MX' => __('Mexico', 'invoicing'), |
|
160 | - 'FM' => __('Micronesia', 'invoicing'), |
|
161 | - 'MD' => __('Moldova, Republic of', 'invoicing'), |
|
162 | - 'MC' => __('Monaco', 'invoicing'), |
|
163 | - 'MN' => __('Mongolia', 'invoicing'), |
|
164 | - 'ME' => __('Montenegro', 'invoicing'), |
|
165 | - 'MS' => __('Montserrat', 'invoicing'), |
|
166 | - 'MA' => __('Morocco', 'invoicing'), |
|
167 | - 'MZ' => __('Mozambique', 'invoicing'), |
|
168 | - 'MM' => __('Myanmar', 'invoicing'), |
|
169 | - 'NA' => __('Namibia', 'invoicing'), |
|
170 | - 'NR' => __('Nauru', 'invoicing'), |
|
171 | - 'NP' => __('Nepal', 'invoicing'), |
|
172 | - 'NL' => __('Netherlands', 'invoicing'), |
|
173 | - 'AN' => __('Netherlands Antilles', 'invoicing'), |
|
174 | - 'NC' => __('New Caledonia', 'invoicing'), |
|
175 | - 'NZ' => __('New Zealand', 'invoicing'), |
|
176 | - 'NI' => __('Nicaragua', 'invoicing'), |
|
177 | - 'NE' => __('Niger', 'invoicing'), |
|
178 | - 'NG' => __('Nigeria', 'invoicing'), |
|
179 | - 'NU' => __('Niue', 'invoicing'), |
|
180 | - 'NF' => __('Norfolk Island', 'invoicing'), |
|
181 | - 'KP' => __('North Korea', 'invoicing'), |
|
182 | - 'MP' => __('Northern Mariana Islands', 'invoicing'), |
|
183 | - 'NO' => __('Norway', 'invoicing'), |
|
184 | - 'OM' => __('Oman', 'invoicing'), |
|
185 | - 'PK' => __('Pakistan', 'invoicing'), |
|
186 | - 'PW' => __('Palau', 'invoicing'), |
|
187 | - 'PS' => __('Palestinian Territories', 'invoicing'), |
|
188 | - 'PA' => __('Panama', 'invoicing'), |
|
189 | - 'PG' => __('Papua New Guinea', 'invoicing'), |
|
190 | - 'PY' => __('Paraguay', 'invoicing'), |
|
191 | - 'PE' => __('Peru', 'invoicing'), |
|
192 | - 'PH' => __('Phillipines', 'invoicing'), |
|
193 | - 'PN' => __('Pitcairn Island', 'invoicing'), |
|
194 | - 'PL' => __('Poland', 'invoicing'), |
|
195 | - 'PT' => __('Portugal', 'invoicing'), |
|
196 | - 'PR' => __('Puerto Rico', 'invoicing'), |
|
197 | - 'QA' => __('Qatar', 'invoicing'), |
|
198 | - 'XK' => __('Republic of Kosovo', 'invoicing'), |
|
199 | - 'RE' => __('Reunion Island', 'invoicing'), |
|
200 | - 'RO' => __('Romania', 'invoicing'), |
|
201 | - 'RU' => __('Russian Federation', 'invoicing'), |
|
202 | - 'RW' => __('Rwanda', 'invoicing'), |
|
203 | - 'BL' => __('Saint Barthélemy', 'invoicing'), |
|
204 | - 'SH' => __('Saint Helena', 'invoicing'), |
|
205 | - 'KN' => __('Saint Kitts and Nevis', 'invoicing'), |
|
206 | - 'LC' => __('Saint Lucia', 'invoicing'), |
|
207 | - 'MF' => __('Saint Martin (French)', 'invoicing'), |
|
208 | - 'SX' => __('Saint Martin (Dutch)', 'invoicing'), |
|
209 | - 'PM' => __('Saint Pierre and Miquelon', 'invoicing'), |
|
210 | - 'VC' => __('Saint Vincent and the Grenadines', 'invoicing'), |
|
211 | - 'SM' => __('San Marino', 'invoicing'), |
|
212 | - 'ST' => __('São Tomé and Príncipe', 'invoicing'), |
|
213 | - 'SA' => __('Saudi Arabia', 'invoicing'), |
|
214 | - 'SN' => __('Senegal', 'invoicing'), |
|
215 | - 'RS' => __('Serbia', 'invoicing'), |
|
216 | - 'SC' => __('Seychelles', 'invoicing'), |
|
217 | - 'SL' => __('Sierra Leone', 'invoicing'), |
|
218 | - 'SG' => __('Singapore', 'invoicing'), |
|
219 | - 'SK' => __('Slovak Republic', 'invoicing'), |
|
220 | - 'SI' => __('Slovenia', 'invoicing'), |
|
221 | - 'SB' => __('Solomon Islands', 'invoicing'), |
|
222 | - 'SO' => __('Somalia', 'invoicing'), |
|
223 | - 'ZA' => __('South Africa', 'invoicing'), |
|
224 | - 'GS' => __('South Georgia', 'invoicing'), |
|
225 | - 'KR' => __('South Korea', 'invoicing'), |
|
226 | - 'SS' => __('South Sudan', 'invoicing'), |
|
227 | - 'ES' => __('Spain', 'invoicing'), |
|
228 | - 'LK' => __('Sri Lanka', 'invoicing'), |
|
229 | - 'SD' => __('Sudan', 'invoicing'), |
|
230 | - 'SR' => __('Suriname', 'invoicing'), |
|
231 | - 'SJ' => __('Svalbard and Jan Mayen Islands', 'invoicing'), |
|
232 | - 'SZ' => __('Swaziland', 'invoicing'), |
|
233 | - 'SE' => __('Sweden', 'invoicing'), |
|
234 | - 'CH' => __('Switzerland', 'invoicing'), |
|
235 | - 'SY' => __('Syrian Arab Republic', 'invoicing'), |
|
236 | - 'TW' => __('Taiwan', 'invoicing'), |
|
237 | - 'TJ' => __('Tajikistan', 'invoicing'), |
|
238 | - 'TZ' => __('Tanzania', 'invoicing'), |
|
239 | - 'TH' => __('Thailand', 'invoicing'), |
|
240 | - 'TL' => __('Timor-Leste', 'invoicing'), |
|
241 | - 'TG' => __('Togo', 'invoicing'), |
|
242 | - 'TK' => __('Tokelau', 'invoicing'), |
|
243 | - 'TO' => __('Tonga', 'invoicing'), |
|
244 | - 'TT' => __('Trinidad and Tobago', 'invoicing'), |
|
245 | - 'TN' => __('Tunisia', 'invoicing'), |
|
246 | - 'TR' => __('Turkey', 'invoicing'), |
|
247 | - 'TM' => __('Turkmenistan', 'invoicing'), |
|
248 | - 'TC' => __('Turks and Caicos Islands', 'invoicing'), |
|
249 | - 'TV' => __('Tuvalu', 'invoicing'), |
|
250 | - 'UG' => __('Uganda', 'invoicing'), |
|
251 | - 'UA' => __('Ukraine', 'invoicing'), |
|
252 | - 'AE' => __('United Arab Emirates', 'invoicing'), |
|
253 | - 'UY' => __('Uruguay', 'invoicing'), |
|
254 | - 'UM' => __('US Minor Outlying Islands', 'invoicing'), |
|
255 | - 'UZ' => __('Uzbekistan', 'invoicing'), |
|
256 | - 'VU' => __('Vanuatu', 'invoicing'), |
|
257 | - 'VE' => __('Venezuela', 'invoicing'), |
|
258 | - 'VN' => __('Vietnam', 'invoicing'), |
|
259 | - 'VG' => __('Virgin Islands (British)', 'invoicing'), |
|
260 | - 'VI' => __('Virgin Islands (USA)', 'invoicing'), |
|
261 | - 'WF' => __('Wallis and Futuna Islands', 'invoicing'), |
|
262 | - 'EH' => __('Western Sahara', 'invoicing'), |
|
263 | - 'WS' => __('Western Samoa', 'invoicing'), |
|
264 | - 'YE' => __('Yemen', 'invoicing'), |
|
265 | - 'ZM' => __('Zambia', 'invoicing'), |
|
266 | - 'ZW' => __('Zimbabwe', 'invoicing'), |
|
15 | + 'US' => __('United States', 'invoicing'), |
|
16 | + 'CA' => __('Canada', 'invoicing'), |
|
17 | + 'GB' => __('United Kingdom', 'invoicing'), |
|
18 | + 'AF' => __('Afghanistan', 'invoicing'), |
|
19 | + 'AX' => __('Aland Islands', 'invoicing'), |
|
20 | + 'AL' => __('Albania', 'invoicing'), |
|
21 | + 'DZ' => __('Algeria', 'invoicing'), |
|
22 | + 'AS' => __('American Samoa', 'invoicing'), |
|
23 | + 'AD' => __('Andorra', 'invoicing'), |
|
24 | + 'AO' => __('Angola', 'invoicing'), |
|
25 | + 'AI' => __('Anguilla', 'invoicing'), |
|
26 | + 'AQ' => __('Antarctica', 'invoicing'), |
|
27 | + 'AG' => __('Antigua and Barbuda', 'invoicing'), |
|
28 | + 'AR' => __('Argentina', 'invoicing'), |
|
29 | + 'AM' => __('Armenia', 'invoicing'), |
|
30 | + 'AW' => __('Aruba', 'invoicing'), |
|
31 | + 'AU' => __('Australia', 'invoicing'), |
|
32 | + 'AT' => __('Austria', 'invoicing'), |
|
33 | + 'AZ' => __('Azerbaijan', 'invoicing'), |
|
34 | + 'BS' => __('Bahamas', 'invoicing'), |
|
35 | + 'BH' => __('Bahrain', 'invoicing'), |
|
36 | + 'BD' => __('Bangladesh', 'invoicing'), |
|
37 | + 'BB' => __('Barbados', 'invoicing'), |
|
38 | + 'BY' => __('Belarus', 'invoicing'), |
|
39 | + 'BE' => __('Belgium', 'invoicing'), |
|
40 | + 'BZ' => __('Belize', 'invoicing'), |
|
41 | + 'BJ' => __('Benin', 'invoicing'), |
|
42 | + 'BM' => __('Bermuda', 'invoicing'), |
|
43 | + 'BT' => __('Bhutan', 'invoicing'), |
|
44 | + 'BO' => __('Bolivia', 'invoicing'), |
|
45 | + 'BQ' => __('Bonaire, Saint Eustatius and Saba', 'invoicing'), |
|
46 | + 'BA' => __('Bosnia and Herzegovina', 'invoicing'), |
|
47 | + 'BW' => __('Botswana', 'invoicing'), |
|
48 | + 'BV' => __('Bouvet Island', 'invoicing'), |
|
49 | + 'BR' => __('Brazil', 'invoicing'), |
|
50 | + 'IO' => __('British Indian Ocean Territory', 'invoicing'), |
|
51 | + 'BN' => __('Brunei Darrussalam', 'invoicing'), |
|
52 | + 'BG' => __('Bulgaria', 'invoicing'), |
|
53 | + 'BF' => __('Burkina Faso', 'invoicing'), |
|
54 | + 'BI' => __('Burundi', 'invoicing'), |
|
55 | + 'KH' => __('Cambodia', 'invoicing'), |
|
56 | + 'CM' => __('Cameroon', 'invoicing'), |
|
57 | + 'CV' => __('Cape Verde', 'invoicing'), |
|
58 | + 'KY' => __('Cayman Islands', 'invoicing'), |
|
59 | + 'CF' => __('Central African Republic', 'invoicing'), |
|
60 | + 'TD' => __('Chad', 'invoicing'), |
|
61 | + 'CL' => __('Chile', 'invoicing'), |
|
62 | + 'CN' => __('China', 'invoicing'), |
|
63 | + 'CX' => __('Christmas Island', 'invoicing'), |
|
64 | + 'CC' => __('Cocos Islands', 'invoicing'), |
|
65 | + 'CO' => __('Colombia', 'invoicing'), |
|
66 | + 'KM' => __('Comoros', 'invoicing'), |
|
67 | + 'CD' => __('Congo, Democratic People\'s Republic', 'invoicing'), |
|
68 | + 'CG' => __('Congo, Republic of', 'invoicing'), |
|
69 | + 'CK' => __('Cook Islands', 'invoicing'), |
|
70 | + 'CR' => __('Costa Rica', 'invoicing'), |
|
71 | + 'CI' => __('Cote d\'Ivoire', 'invoicing'), |
|
72 | + 'HR' => __('Croatia/Hrvatska', 'invoicing'), |
|
73 | + 'CU' => __('Cuba', 'invoicing'), |
|
74 | + 'CW' => __('CuraÇao', 'invoicing'), |
|
75 | + 'CY' => __('Cyprus', 'invoicing'), |
|
76 | + 'CZ' => __('Czech Republic', 'invoicing'), |
|
77 | + 'DK' => __('Denmark', 'invoicing'), |
|
78 | + 'DJ' => __('Djibouti', 'invoicing'), |
|
79 | + 'DM' => __('Dominica', 'invoicing'), |
|
80 | + 'DO' => __('Dominican Republic', 'invoicing'), |
|
81 | + 'TP' => __('East Timor', 'invoicing'), |
|
82 | + 'EC' => __('Ecuador', 'invoicing'), |
|
83 | + 'EG' => __('Egypt', 'invoicing'), |
|
84 | + 'GQ' => __('Equatorial Guinea', 'invoicing'), |
|
85 | + 'SV' => __('El Salvador', 'invoicing'), |
|
86 | + 'ER' => __('Eritrea', 'invoicing'), |
|
87 | + 'EE' => __('Estonia', 'invoicing'), |
|
88 | + 'ET' => __('Ethiopia', 'invoicing'), |
|
89 | + 'FK' => __('Falkland Islands', 'invoicing'), |
|
90 | + 'FO' => __('Faroe Islands', 'invoicing'), |
|
91 | + 'FJ' => __('Fiji', 'invoicing'), |
|
92 | + 'FI' => __('Finland', 'invoicing'), |
|
93 | + 'FR' => __('France', 'invoicing'), |
|
94 | + 'GF' => __('French Guiana', 'invoicing'), |
|
95 | + 'PF' => __('French Polynesia', 'invoicing'), |
|
96 | + 'TF' => __('French Southern Territories', 'invoicing'), |
|
97 | + 'GA' => __('Gabon', 'invoicing'), |
|
98 | + 'GM' => __('Gambia', 'invoicing'), |
|
99 | + 'GE' => __('Georgia', 'invoicing'), |
|
100 | + 'DE' => __('Germany', 'invoicing'), |
|
101 | + 'GR' => __('Greece', 'invoicing'), |
|
102 | + 'GH' => __('Ghana', 'invoicing'), |
|
103 | + 'GI' => __('Gibraltar', 'invoicing'), |
|
104 | + 'GL' => __('Greenland', 'invoicing'), |
|
105 | + 'GD' => __('Grenada', 'invoicing'), |
|
106 | + 'GP' => __('Guadeloupe', 'invoicing'), |
|
107 | + 'GU' => __('Guam', 'invoicing'), |
|
108 | + 'GT' => __('Guatemala', 'invoicing'), |
|
109 | + 'GG' => __('Guernsey', 'invoicing'), |
|
110 | + 'GN' => __('Guinea', 'invoicing'), |
|
111 | + 'GW' => __('Guinea-Bissau', 'invoicing'), |
|
112 | + 'GY' => __('Guyana', 'invoicing'), |
|
113 | + 'HT' => __('Haiti', 'invoicing'), |
|
114 | + 'HM' => __('Heard and McDonald Islands', 'invoicing'), |
|
115 | + 'VA' => __('Holy See (City Vatican State)', 'invoicing'), |
|
116 | + 'HN' => __('Honduras', 'invoicing'), |
|
117 | + 'HK' => __('Hong Kong', 'invoicing'), |
|
118 | + 'HU' => __('Hungary', 'invoicing'), |
|
119 | + 'IS' => __('Iceland', 'invoicing'), |
|
120 | + 'IN' => __('India', 'invoicing'), |
|
121 | + 'ID' => __('Indonesia', 'invoicing'), |
|
122 | + 'IR' => __('Iran', 'invoicing'), |
|
123 | + 'IQ' => __('Iraq', 'invoicing'), |
|
124 | + 'IE' => __('Ireland', 'invoicing'), |
|
125 | + 'IM' => __('Isle of Man', 'invoicing'), |
|
126 | + 'IL' => __('Israel', 'invoicing'), |
|
127 | + 'IT' => __('Italy', 'invoicing'), |
|
128 | + 'JM' => __('Jamaica', 'invoicing'), |
|
129 | + 'JP' => __('Japan', 'invoicing'), |
|
130 | + 'JE' => __('Jersey', 'invoicing'), |
|
131 | + 'JO' => __('Jordan', 'invoicing'), |
|
132 | + 'KZ' => __('Kazakhstan', 'invoicing'), |
|
133 | + 'KE' => __('Kenya', 'invoicing'), |
|
134 | + 'KI' => __('Kiribati', 'invoicing'), |
|
135 | + 'KW' => __('Kuwait', 'invoicing'), |
|
136 | + 'KG' => __('Kyrgyzstan', 'invoicing'), |
|
137 | + 'LA' => __('Lao People\'s Democratic Republic', 'invoicing'), |
|
138 | + 'LV' => __('Latvia', 'invoicing'), |
|
139 | + 'LB' => __('Lebanon', 'invoicing'), |
|
140 | + 'LS' => __('Lesotho', 'invoicing'), |
|
141 | + 'LR' => __('Liberia', 'invoicing'), |
|
142 | + 'LY' => __('Libyan Arab Jamahiriya', 'invoicing'), |
|
143 | + 'LI' => __('Liechtenstein', 'invoicing'), |
|
144 | + 'LT' => __('Lithuania', 'invoicing'), |
|
145 | + 'LU' => __('Luxembourg', 'invoicing'), |
|
146 | + 'MO' => __('Macau', 'invoicing'), |
|
147 | + 'MK' => __('Macedonia', 'invoicing'), |
|
148 | + 'MG' => __('Madagascar', 'invoicing'), |
|
149 | + 'MW' => __('Malawi', 'invoicing'), |
|
150 | + 'MY' => __('Malaysia', 'invoicing'), |
|
151 | + 'MV' => __('Maldives', 'invoicing'), |
|
152 | + 'ML' => __('Mali', 'invoicing'), |
|
153 | + 'MT' => __('Malta', 'invoicing'), |
|
154 | + 'MH' => __('Marshall Islands', 'invoicing'), |
|
155 | + 'MQ' => __('Martinique', 'invoicing'), |
|
156 | + 'MR' => __('Mauritania', 'invoicing'), |
|
157 | + 'MU' => __('Mauritius', 'invoicing'), |
|
158 | + 'YT' => __('Mayotte', 'invoicing'), |
|
159 | + 'MX' => __('Mexico', 'invoicing'), |
|
160 | + 'FM' => __('Micronesia', 'invoicing'), |
|
161 | + 'MD' => __('Moldova, Republic of', 'invoicing'), |
|
162 | + 'MC' => __('Monaco', 'invoicing'), |
|
163 | + 'MN' => __('Mongolia', 'invoicing'), |
|
164 | + 'ME' => __('Montenegro', 'invoicing'), |
|
165 | + 'MS' => __('Montserrat', 'invoicing'), |
|
166 | + 'MA' => __('Morocco', 'invoicing'), |
|
167 | + 'MZ' => __('Mozambique', 'invoicing'), |
|
168 | + 'MM' => __('Myanmar', 'invoicing'), |
|
169 | + 'NA' => __('Namibia', 'invoicing'), |
|
170 | + 'NR' => __('Nauru', 'invoicing'), |
|
171 | + 'NP' => __('Nepal', 'invoicing'), |
|
172 | + 'NL' => __('Netherlands', 'invoicing'), |
|
173 | + 'AN' => __('Netherlands Antilles', 'invoicing'), |
|
174 | + 'NC' => __('New Caledonia', 'invoicing'), |
|
175 | + 'NZ' => __('New Zealand', 'invoicing'), |
|
176 | + 'NI' => __('Nicaragua', 'invoicing'), |
|
177 | + 'NE' => __('Niger', 'invoicing'), |
|
178 | + 'NG' => __('Nigeria', 'invoicing'), |
|
179 | + 'NU' => __('Niue', 'invoicing'), |
|
180 | + 'NF' => __('Norfolk Island', 'invoicing'), |
|
181 | + 'KP' => __('North Korea', 'invoicing'), |
|
182 | + 'MP' => __('Northern Mariana Islands', 'invoicing'), |
|
183 | + 'NO' => __('Norway', 'invoicing'), |
|
184 | + 'OM' => __('Oman', 'invoicing'), |
|
185 | + 'PK' => __('Pakistan', 'invoicing'), |
|
186 | + 'PW' => __('Palau', 'invoicing'), |
|
187 | + 'PS' => __('Palestinian Territories', 'invoicing'), |
|
188 | + 'PA' => __('Panama', 'invoicing'), |
|
189 | + 'PG' => __('Papua New Guinea', 'invoicing'), |
|
190 | + 'PY' => __('Paraguay', 'invoicing'), |
|
191 | + 'PE' => __('Peru', 'invoicing'), |
|
192 | + 'PH' => __('Phillipines', 'invoicing'), |
|
193 | + 'PN' => __('Pitcairn Island', 'invoicing'), |
|
194 | + 'PL' => __('Poland', 'invoicing'), |
|
195 | + 'PT' => __('Portugal', 'invoicing'), |
|
196 | + 'PR' => __('Puerto Rico', 'invoicing'), |
|
197 | + 'QA' => __('Qatar', 'invoicing'), |
|
198 | + 'XK' => __('Republic of Kosovo', 'invoicing'), |
|
199 | + 'RE' => __('Reunion Island', 'invoicing'), |
|
200 | + 'RO' => __('Romania', 'invoicing'), |
|
201 | + 'RU' => __('Russian Federation', 'invoicing'), |
|
202 | + 'RW' => __('Rwanda', 'invoicing'), |
|
203 | + 'BL' => __('Saint Barthélemy', 'invoicing'), |
|
204 | + 'SH' => __('Saint Helena', 'invoicing'), |
|
205 | + 'KN' => __('Saint Kitts and Nevis', 'invoicing'), |
|
206 | + 'LC' => __('Saint Lucia', 'invoicing'), |
|
207 | + 'MF' => __('Saint Martin (French)', 'invoicing'), |
|
208 | + 'SX' => __('Saint Martin (Dutch)', 'invoicing'), |
|
209 | + 'PM' => __('Saint Pierre and Miquelon', 'invoicing'), |
|
210 | + 'VC' => __('Saint Vincent and the Grenadines', 'invoicing'), |
|
211 | + 'SM' => __('San Marino', 'invoicing'), |
|
212 | + 'ST' => __('São Tomé and Príncipe', 'invoicing'), |
|
213 | + 'SA' => __('Saudi Arabia', 'invoicing'), |
|
214 | + 'SN' => __('Senegal', 'invoicing'), |
|
215 | + 'RS' => __('Serbia', 'invoicing'), |
|
216 | + 'SC' => __('Seychelles', 'invoicing'), |
|
217 | + 'SL' => __('Sierra Leone', 'invoicing'), |
|
218 | + 'SG' => __('Singapore', 'invoicing'), |
|
219 | + 'SK' => __('Slovak Republic', 'invoicing'), |
|
220 | + 'SI' => __('Slovenia', 'invoicing'), |
|
221 | + 'SB' => __('Solomon Islands', 'invoicing'), |
|
222 | + 'SO' => __('Somalia', 'invoicing'), |
|
223 | + 'ZA' => __('South Africa', 'invoicing'), |
|
224 | + 'GS' => __('South Georgia', 'invoicing'), |
|
225 | + 'KR' => __('South Korea', 'invoicing'), |
|
226 | + 'SS' => __('South Sudan', 'invoicing'), |
|
227 | + 'ES' => __('Spain', 'invoicing'), |
|
228 | + 'LK' => __('Sri Lanka', 'invoicing'), |
|
229 | + 'SD' => __('Sudan', 'invoicing'), |
|
230 | + 'SR' => __('Suriname', 'invoicing'), |
|
231 | + 'SJ' => __('Svalbard and Jan Mayen Islands', 'invoicing'), |
|
232 | + 'SZ' => __('Swaziland', 'invoicing'), |
|
233 | + 'SE' => __('Sweden', 'invoicing'), |
|
234 | + 'CH' => __('Switzerland', 'invoicing'), |
|
235 | + 'SY' => __('Syrian Arab Republic', 'invoicing'), |
|
236 | + 'TW' => __('Taiwan', 'invoicing'), |
|
237 | + 'TJ' => __('Tajikistan', 'invoicing'), |
|
238 | + 'TZ' => __('Tanzania', 'invoicing'), |
|
239 | + 'TH' => __('Thailand', 'invoicing'), |
|
240 | + 'TL' => __('Timor-Leste', 'invoicing'), |
|
241 | + 'TG' => __('Togo', 'invoicing'), |
|
242 | + 'TK' => __('Tokelau', 'invoicing'), |
|
243 | + 'TO' => __('Tonga', 'invoicing'), |
|
244 | + 'TT' => __('Trinidad and Tobago', 'invoicing'), |
|
245 | + 'TN' => __('Tunisia', 'invoicing'), |
|
246 | + 'TR' => __('Turkey', 'invoicing'), |
|
247 | + 'TM' => __('Turkmenistan', 'invoicing'), |
|
248 | + 'TC' => __('Turks and Caicos Islands', 'invoicing'), |
|
249 | + 'TV' => __('Tuvalu', 'invoicing'), |
|
250 | + 'UG' => __('Uganda', 'invoicing'), |
|
251 | + 'UA' => __('Ukraine', 'invoicing'), |
|
252 | + 'AE' => __('United Arab Emirates', 'invoicing'), |
|
253 | + 'UY' => __('Uruguay', 'invoicing'), |
|
254 | + 'UM' => __('US Minor Outlying Islands', 'invoicing'), |
|
255 | + 'UZ' => __('Uzbekistan', 'invoicing'), |
|
256 | + 'VU' => __('Vanuatu', 'invoicing'), |
|
257 | + 'VE' => __('Venezuela', 'invoicing'), |
|
258 | + 'VN' => __('Vietnam', 'invoicing'), |
|
259 | + 'VG' => __('Virgin Islands (British)', 'invoicing'), |
|
260 | + 'VI' => __('Virgin Islands (USA)', 'invoicing'), |
|
261 | + 'WF' => __('Wallis and Futuna Islands', 'invoicing'), |
|
262 | + 'EH' => __('Western Sahara', 'invoicing'), |
|
263 | + 'WS' => __('Western Samoa', 'invoicing'), |
|
264 | + 'YE' => __('Yemen', 'invoicing'), |
|
265 | + 'ZM' => __('Zambia', 'invoicing'), |
|
266 | + 'ZW' => __('Zimbabwe', 'invoicing'), |
|
267 | 267 | ); |
@@ -31,25 +31,25 @@ |
||
31 | 31 | public function get_privacy_message() { |
32 | 32 | |
33 | 33 | $content = '<div class="wp-suggested-text">' . |
34 | - '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' . |
|
35 | - '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' . |
|
36 | - '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' . |
|
37 | - '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' . |
|
38 | - '<ul>' . |
|
39 | - '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' . |
|
40 | - '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' . |
|
41 | - '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' . |
|
42 | - '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
43 | - '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' . |
|
44 | - '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
45 | - '</ul>' . |
|
46 | - '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' . |
|
47 | - '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' . |
|
48 | - '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' . |
|
49 | - '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' . |
|
50 | - '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' . |
|
51 | - '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' . |
|
52 | - '</div>'; |
|
34 | + '<h2>' . __( 'Invoices and checkout', 'invoicing' ) . '</h2>' . |
|
35 | + '<p class="privacy-policy-tutorial">' . __( 'Example privacy texts.', 'invoicing' ) . '</p>' . |
|
36 | + '<p>' . __( 'We collect information about you during the checkout process on our site. This information may include, but is not limited to, your name, email address, phone number, address, IP and any other details that might be requested from you for the purpose of processing your payment and retaining your invoice details for legal reasons.', 'invoicing' ) . '</p>' . |
|
37 | + '<p>' . __( 'Handling this data also allows us to:', 'invoicing' ) . '</p>' . |
|
38 | + '<ul>' . |
|
39 | + '<li>' . __( '- Send you important account/order/service information.', 'invoicing' ) . '</li>' . |
|
40 | + '<li>' . __( '- Estimate taxes based on your location.', 'invoicing' ) . '</li>' . |
|
41 | + '<li>' . __( '- Respond to your queries or complaints.', 'invoicing' ) . '</li>' . |
|
42 | + '<li>' . __( '- Process payments and to prevent fraudulent transactions. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
43 | + '<li>' . __( '- Retain historical payment and invoice history. We do this on the basis of legal obligations.', 'invoicing' ) . '</li>' . |
|
44 | + '<li>' . __( '- Set up and administer your account, provide technical and/or customer support, and to verify your identity. We do this on the basis of our legitimate business interests.', 'invoicing' ) . '</li>' . |
|
45 | + '</ul>' . |
|
46 | + '<p>' . __( 'In addition to collecting information at checkout we may also use and store your contact details when manually creating invoices for require payments relating to prior contractual agreements or agreed terms.', 'invoicing' ) . '</p>' . |
|
47 | + '<h2>' . __( 'What we share with others', 'invoicing' ) . '</h2>' . |
|
48 | + '<p>' . __( 'We share information with third parties who help us provide our payment and invoicing services to you; for example --', 'invoicing' ) . '</p>' . |
|
49 | + '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list which third party payment processors you’re using to take payments since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'invoicing' ) . '</p>' . |
|
50 | + '<p>' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'invoicing' ) . '</p>' . |
|
51 | + '<p>' . __( 'Please see the <a href="https://www.paypal.com/us/webapps/mpp/ua/privacy-full">PayPal Privacy Policy</a> for more details.', 'invoicing' ) . '</p>' . |
|
52 | + '</div>'; |
|
53 | 53 | |
54 | 54 | return apply_filters( 'wpinv_privacy_policy_content', $content ); |
55 | 55 | } |
@@ -13,9 +13,9 @@ discard block |
||
13 | 13 | |
14 | 14 | |
15 | 15 | function wpinv_get_default_country() { |
16 | - $country = wpinv_get_option( 'default_country', 'UK' ); |
|
16 | + $country = wpinv_get_option( 'default_country', 'UK' ); |
|
17 | 17 | |
18 | - return apply_filters( 'wpinv_default_country', $country ); |
|
18 | + return apply_filters( 'wpinv_default_country', $country ); |
|
19 | 19 | } |
20 | 20 | |
21 | 21 | /** |
@@ -26,7 +26,7 @@ discard block |
||
26 | 26 | */ |
27 | 27 | function wpinv_sanitize_country( $country ) { |
28 | 28 | |
29 | - // Enure the country is specified |
|
29 | + // Enure the country is specified |
|
30 | 30 | if ( empty( $country ) ) { |
31 | 31 | $country = wpinv_get_default_country(); |
32 | 32 | } |
@@ -56,9 +56,9 @@ discard block |
||
56 | 56 | } |
57 | 57 | |
58 | 58 | function wpinv_get_default_state() { |
59 | - $state = wpinv_get_option( 'default_state', false ); |
|
59 | + $state = wpinv_get_option( 'default_state', false ); |
|
60 | 60 | |
61 | - return apply_filters( 'wpinv_default_state', $state ); |
|
61 | + return apply_filters( 'wpinv_default_state', $state ); |
|
62 | 62 | } |
63 | 63 | |
64 | 64 | function wpinv_state_name( $state_code = '', $country_code = '' ) { |
@@ -166,11 +166,11 @@ discard block |
||
166 | 166 | |
167 | 167 | $country = wpinv_sanitize_country( $country ); |
168 | 168 | |
169 | - foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) { |
|
170 | - if ( false !== array_search( $country, $countries, true ) ) { |
|
171 | - return $continent_code; |
|
172 | - } |
|
173 | - } |
|
169 | + foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) { |
|
170 | + if ( false !== array_search( $country, $countries, true ) ) { |
|
171 | + return $continent_code; |
|
172 | + } |
|
173 | + } |
|
174 | 174 | |
175 | 175 | return ''; |
176 | 176 | |
@@ -462,30 +462,30 @@ discard block |
||
462 | 462 | } |
463 | 463 | |
464 | 464 | function wpinv_get_states_field() { |
465 | - if( empty( $_POST['country'] ) ) { |
|
466 | - $_POST['country'] = wpinv_get_default_country(); |
|
467 | - } |
|
468 | - $states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) ); |
|
465 | + if( empty( $_POST['country'] ) ) { |
|
466 | + $_POST['country'] = wpinv_get_default_country(); |
|
467 | + } |
|
468 | + $states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) ); |
|
469 | 469 | |
470 | - if( !empty( $states ) ) { |
|
471 | - $sanitized_field_name = sanitize_text_field( $_POST['field_name'] ); |
|
470 | + if( !empty( $states ) ) { |
|
471 | + $sanitized_field_name = sanitize_text_field( $_POST['field_name'] ); |
|
472 | 472 | |
473 | 473 | $args = array( |
474 | - 'name' => $sanitized_field_name, |
|
475 | - 'id' => $sanitized_field_name, |
|
476 | - 'class' => $sanitized_field_name . ' wpinv-select wpi_select2', |
|
477 | - 'options' => array_merge( array( '' => '' ), $states ), |
|
478 | - 'show_option_all' => false, |
|
479 | - 'show_option_none' => false |
|
480 | - ); |
|
481 | - |
|
482 | - $response = wpinv_html_select( $args ); |
|
483 | - |
|
484 | - } else { |
|
485 | - $response = 'nostates'; |
|
486 | - } |
|
474 | + 'name' => $sanitized_field_name, |
|
475 | + 'id' => $sanitized_field_name, |
|
476 | + 'class' => $sanitized_field_name . ' wpinv-select wpi_select2', |
|
477 | + 'options' => array_merge( array( '' => '' ), $states ), |
|
478 | + 'show_option_all' => false, |
|
479 | + 'show_option_none' => false |
|
480 | + ); |
|
481 | + |
|
482 | + $response = wpinv_html_select( $args ); |
|
483 | + |
|
484 | + } else { |
|
485 | + $response = 'nostates'; |
|
486 | + } |
|
487 | 487 | |
488 | - return $response; |
|
488 | + return $response; |
|
489 | 489 | } |
490 | 490 | |
491 | 491 | function wpinv_default_billing_country( $country = '', $user_id = 0 ) { |
@@ -503,46 +503,46 @@ discard block |
||
503 | 503 | */ |
504 | 504 | function wpinv_get_address_formats() { |
505 | 505 | |
506 | - return apply_filters( 'wpinv_localisation_address_formats', |
|
507 | - array( |
|
508 | - 'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}", |
|
509 | - 'AU' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}", |
|
510 | - 'AT' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
511 | - 'BE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
512 | - 'CA' => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{state_code}} {{zip}}\n{{country}}", |
|
513 | - 'CH' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
514 | - 'CL' => "{{company}}\n{{name}}\n{{address}}\n{{state}}\n{{zip}} {{city}}\n{{country}}", |
|
515 | - 'CN' => "{{country}} {{zip}}\n{{state}}, {{city}}, {{address}}\n{{company}}\n{{name}}", |
|
516 | - 'CZ' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
517 | - 'DE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
518 | - 'EE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
519 | - 'FI' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
520 | - 'DK' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
521 | - 'FR' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city_upper}}\n{{country}}", |
|
522 | - 'HK' => "{{company}}\n{{first_name}} {{last_name_upper}}\n{{address}}\n{{city_upper}}\n{{state_upper}}\n{{country}}", |
|
523 | - 'HU' => "{{name}}\n{{company}}\n{{city}}\n{{address}}\n{{zip}}\n{{country}}", |
|
524 | - 'IN' => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{zip}}\n{{state}}, {{country}}", |
|
525 | - 'IS' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
526 | - 'IT' => "{{company}}\n{{name}}\n{{address}}\n{{zip}}\n{{city}}\n{{state_upper}}\n{{country}}", |
|
527 | - 'JP' => "{{zip}}\n{{state}} {{city}} {{address}}\n{{company}}\n{{last_name}} {{first_name}}\n{{country}}", |
|
528 | - 'TW' => "{{company}}\n{{last_name}} {{first_name}}\n{{address}}\n{{state}}, {{city}} {{zip}}\n{{country}}", |
|
529 | - 'LI' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
530 | - 'NL' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
531 | - 'NZ' => "{{name}}\n{{company}}\n{{address}}\n{{city}} {{zip}}\n{{country}}", |
|
532 | - 'NO' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
533 | - 'PL' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
534 | - 'PT' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
535 | - 'SK' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
536 | - 'RS' => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
537 | - 'SI' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
538 | - 'ES' => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{state}}\n{{country}}", |
|
539 | - 'SE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
540 | - 'TR' => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}} {{state}}\n{{country}}", |
|
541 | - 'UG' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}, {{country}}", |
|
542 | - 'US' => "{{name}}\n{{company}}\n{{address}}\n{{city}}, {{state_code}} {{zip}}\n{{country}}", |
|
543 | - 'VN' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{country}}", |
|
544 | - ) |
|
545 | - ); |
|
506 | + return apply_filters( 'wpinv_localisation_address_formats', |
|
507 | + array( |
|
508 | + 'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}", |
|
509 | + 'AU' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}", |
|
510 | + 'AT' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
511 | + 'BE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
512 | + 'CA' => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{state_code}} {{zip}}\n{{country}}", |
|
513 | + 'CH' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
514 | + 'CL' => "{{company}}\n{{name}}\n{{address}}\n{{state}}\n{{zip}} {{city}}\n{{country}}", |
|
515 | + 'CN' => "{{country}} {{zip}}\n{{state}}, {{city}}, {{address}}\n{{company}}\n{{name}}", |
|
516 | + 'CZ' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
517 | + 'DE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
518 | + 'EE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
519 | + 'FI' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
520 | + 'DK' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
521 | + 'FR' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city_upper}}\n{{country}}", |
|
522 | + 'HK' => "{{company}}\n{{first_name}} {{last_name_upper}}\n{{address}}\n{{city_upper}}\n{{state_upper}}\n{{country}}", |
|
523 | + 'HU' => "{{name}}\n{{company}}\n{{city}}\n{{address}}\n{{zip}}\n{{country}}", |
|
524 | + 'IN' => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{zip}}\n{{state}}, {{country}}", |
|
525 | + 'IS' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
526 | + 'IT' => "{{company}}\n{{name}}\n{{address}}\n{{zip}}\n{{city}}\n{{state_upper}}\n{{country}}", |
|
527 | + 'JP' => "{{zip}}\n{{state}} {{city}} {{address}}\n{{company}}\n{{last_name}} {{first_name}}\n{{country}}", |
|
528 | + 'TW' => "{{company}}\n{{last_name}} {{first_name}}\n{{address}}\n{{state}}, {{city}} {{zip}}\n{{country}}", |
|
529 | + 'LI' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
530 | + 'NL' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
531 | + 'NZ' => "{{name}}\n{{company}}\n{{address}}\n{{city}} {{zip}}\n{{country}}", |
|
532 | + 'NO' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
533 | + 'PL' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
534 | + 'PT' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
535 | + 'SK' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
536 | + 'RS' => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
537 | + 'SI' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
538 | + 'ES' => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{state}}\n{{country}}", |
|
539 | + 'SE' => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}", |
|
540 | + 'TR' => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}} {{state}}\n{{country}}", |
|
541 | + 'UG' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}, {{country}}", |
|
542 | + 'US' => "{{name}}\n{{company}}\n{{address}}\n{{city}}, {{state_code}} {{zip}}\n{{country}}", |
|
543 | + 'VN' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{country}}", |
|
544 | + ) |
|
545 | + ); |
|
546 | 546 | } |
547 | 547 | |
548 | 548 | /** |
@@ -559,21 +559,21 @@ discard block |
||
559 | 559 | } |
560 | 560 | |
561 | 561 | // Get all formats. |
562 | - $formats = wpinv_get_address_formats(); |
|
562 | + $formats = wpinv_get_address_formats(); |
|
563 | 563 | |
564 | - // Get format for the specified country. |
|
565 | - $format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default']; |
|
564 | + // Get format for the specified country. |
|
565 | + $format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default']; |
|
566 | 566 | |
567 | 567 | /** |
568 | - * Filters the address format to use on Invoices. |
|
568 | + * Filters the address format to use on Invoices. |
|
569 | 569 | * |
570 | 570 | * New lines will be replaced by a `br` element. Double new lines will be replaced by a paragraph. HTML tags are allowed. |
571 | - * |
|
572 | - * @since 1.0.13 |
|
573 | - * |
|
574 | - * @param string $format The address format to use. |
|
571 | + * |
|
572 | + * @since 1.0.13 |
|
573 | + * |
|
574 | + * @param string $format The address format to use. |
|
575 | 575 | * @param string $country The country who's address format is being retrieved. |
576 | - */ |
|
576 | + */ |
|
577 | 577 | return apply_filters( 'wpinv_get_full_address_format', $format, $country ); |
578 | 578 | } |
579 | 579 | |
@@ -594,8 +594,8 @@ discard block |
||
594 | 594 | 'country' => '', |
595 | 595 | 'zip' => '', |
596 | 596 | 'first_name' => '', |
597 | - 'last_name' => '', |
|
598 | - 'company' => '', |
|
597 | + 'last_name' => '', |
|
598 | + 'company' => '', |
|
599 | 599 | ); |
600 | 600 | |
601 | 601 | $args = array_map( 'trim', wp_parse_args( $billing_details, $default_args ) ); |
@@ -616,14 +616,14 @@ discard block |
||
616 | 616 | $args['country_code']= $country; |
617 | 617 | |
618 | 618 | /** |
619 | - * Filters the address format replacements to use on Invoices. |
|
619 | + * Filters the address format replacements to use on Invoices. |
|
620 | 620 | * |
621 | - * |
|
622 | - * @since 1.0.13 |
|
623 | - * |
|
624 | - * @param array $replacements The address replacements to use. |
|
621 | + * |
|
622 | + * @since 1.0.13 |
|
623 | + * |
|
624 | + * @param array $replacements The address replacements to use. |
|
625 | 625 | * @param array $billing_details The billing details to use. |
626 | - */ |
|
626 | + */ |
|
627 | 627 | $replacements = apply_filters( 'wpinv_get_invoice_address_replacements', $args, $billing_details ); |
628 | 628 | |
629 | 629 | $return = array(); |
@@ -646,5 +646,5 @@ discard block |
||
646 | 646 | * @return string |
647 | 647 | */ |
648 | 648 | function wpinv_trim_formatted_address_line( $line ) { |
649 | - return trim( $line, ', ' ); |
|
649 | + return trim( $line, ', ' ); |
|
650 | 650 | } |
651 | 651 | \ No newline at end of file |
@@ -38,29 +38,29 @@ discard block |
||
38 | 38 | 'advanced' => false |
39 | 39 | ), |
40 | 40 | 'items' => array( |
41 | - 'title' => __( 'Items to buy', 'invoicing' ), |
|
42 | - 'desc' => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ), |
|
43 | - 'type' => 'text', |
|
44 | - 'desc_tip' => true, |
|
45 | - 'default' => '', |
|
46 | - 'placeholder' => __('Items to buy','invoicing'), |
|
47 | - 'advanced' => false |
|
41 | + 'title' => __( 'Items to buy', 'invoicing' ), |
|
42 | + 'desc' => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2 ', 'invoicing' ), |
|
43 | + 'type' => 'text', |
|
44 | + 'desc_tip' => true, |
|
45 | + 'default' => '', |
|
46 | + 'placeholder' => __('Items to buy','invoicing'), |
|
47 | + 'advanced' => false |
|
48 | 48 | ), |
49 | 49 | 'label' => array( |
50 | - 'title' => __( 'Button Label', 'invoicing' ), |
|
51 | - 'desc' => __( 'Enter button label. Default "Buy Now".', 'invoicing' ), |
|
52 | - 'type' => 'text', |
|
53 | - 'desc_tip' => true, |
|
54 | - 'default' => __( 'Buy Now', 'invoicing' ), |
|
55 | - 'advanced' => false |
|
50 | + 'title' => __( 'Button Label', 'invoicing' ), |
|
51 | + 'desc' => __( 'Enter button label. Default "Buy Now".', 'invoicing' ), |
|
52 | + 'type' => 'text', |
|
53 | + 'desc_tip' => true, |
|
54 | + 'default' => __( 'Buy Now', 'invoicing' ), |
|
55 | + 'advanced' => false |
|
56 | 56 | ), |
57 | 57 | 'post_id' => array( |
58 | - 'title' => __( 'Post ID', 'invoicing' ), |
|
59 | - 'desc' => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ), |
|
60 | - 'type' => 'number', |
|
61 | - 'desc_tip' => true, |
|
62 | - 'default' => '', |
|
63 | - 'advanced' => true |
|
58 | + 'title' => __( 'Post ID', 'invoicing' ), |
|
59 | + 'desc' => __( 'Enter related post ID. This is for 3rd party add ons and not mandatory field.', 'invoicing' ), |
|
60 | + 'type' => 'number', |
|
61 | + 'desc_tip' => true, |
|
62 | + 'default' => '', |
|
63 | + 'advanced' => true |
|
64 | 64 | ), |
65 | 65 | ) |
66 | 66 | |
@@ -70,43 +70,43 @@ discard block |
||
70 | 70 | parent::__construct( $options ); |
71 | 71 | } |
72 | 72 | |
73 | - /** |
|
74 | - * The Super block output function. |
|
75 | - * |
|
76 | - * @param array $args |
|
77 | - * @param array $widget_args |
|
78 | - * @param string $content |
|
79 | - * |
|
80 | - * @return string |
|
81 | - */ |
|
73 | + /** |
|
74 | + * The Super block output function. |
|
75 | + * |
|
76 | + * @param array $args |
|
77 | + * @param array $widget_args |
|
78 | + * @param string $content |
|
79 | + * |
|
80 | + * @return string |
|
81 | + */ |
|
82 | 82 | public function output( $args = array(), $widget_args = array(), $content = '' ) { |
83 | 83 | |
84 | - $defaults = array( |
|
85 | - 'items' => '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity |
|
86 | - 'label' => __( 'Buy Now', 'invoicing' ), // the button title |
|
87 | - 'post_id' => '', // any related post_id |
|
88 | - ); |
|
84 | + $defaults = array( |
|
85 | + 'items' => '', // should be used like: item_id|quantity,item_id|quantity,item_id|quantity |
|
86 | + 'label' => __( 'Buy Now', 'invoicing' ), // the button title |
|
87 | + 'post_id' => '', // any related post_id |
|
88 | + ); |
|
89 | 89 | |
90 | - /** |
|
91 | - * Parse incoming $args into an array and merge it with $defaults |
|
92 | - */ |
|
93 | - $args = wp_parse_args( $args, $defaults ); |
|
90 | + /** |
|
91 | + * Parse incoming $args into an array and merge it with $defaults |
|
92 | + */ |
|
93 | + $args = wp_parse_args( $args, $defaults ); |
|
94 | 94 | |
95 | - $html = '<div class="wpi-buy-button-wrapper wpi-g">'; |
|
95 | + $html = '<div class="wpi-buy-button-wrapper wpi-g">'; |
|
96 | 96 | |
97 | - if ( empty( $args['items'] ) ) { |
|
98 | - $html .= __( 'No items selected', 'invoicing' ); |
|
99 | - } else { |
|
100 | - $post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0; |
|
101 | - $label = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' ); |
|
102 | - $items = esc_attr( $args['items'] ); |
|
103 | - $html .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>"; |
|
104 | - } |
|
97 | + if ( empty( $args['items'] ) ) { |
|
98 | + $html .= __( 'No items selected', 'invoicing' ); |
|
99 | + } else { |
|
100 | + $post_id = isset( $args['post_id'] ) && is_numeric( $args['post_id'] ) ? sanitize_text_field( $args['post_id'] ) : 0; |
|
101 | + $label = isset( $args['label'] ) ? sanitize_text_field( $args['label'] ) : __( 'Buy Now', 'invoicing' ); |
|
102 | + $items = esc_attr( $args['items'] ); |
|
103 | + $html .= "<button class='button button-primary wpi-buy-button' type='button' onclick=\"wpi_buy(this, '$items','$post_id');\">$label</button>"; |
|
104 | + } |
|
105 | 105 | |
106 | - $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false ); |
|
107 | - $html .= '</div>'; |
|
106 | + $html .= wp_nonce_field( 'wpinv_buy_items', 'wpinv_buy_nonce', true, false ); |
|
107 | + $html .= '</div>'; |
|
108 | 108 | |
109 | - return $html; |
|
109 | + return $html; |
|
110 | 110 | |
111 | 111 | } |
112 | 112 |