PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.4.3
WooCommerce Square v5.4.3
5.4.3 5.4.2 5.4.1 5.4.0 trunk 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.7.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 4.0.0 4.1.0 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5.0.0 5.0.1 5.1.0 5.1.1 5.1.2 5.2.0 5.3.0 5.3.1 5.3.2 5.3.3
woocommerce-square / includes / Utilities / Helper.php
woocommerce-square / includes / Utilities Last commit date
Array_Utility.php 3 years ago Coupon_Utility.php 5 months ago Encryption_Utility.php 2 years ago Helper.php 4 months ago Money_Utility.php 3 years ago Order_Ajax_Authorization.php 2 months ago Performance_Logger.php 1 year ago String_Utility.php 9 months ago Token_Scope_Utility.php 5 months ago
Helper.php
102 lines
1 <?php
2 namespace WooCommerce\Square\Utilities;
3
4 defined( 'ABSPATH' ) || exit;
5
6 /**
7 * WooCommerce Square Helper Class
8 *
9 * The purpose of this class is to centralize common utility functions.
10 *
11 * @since 2.2.0
12 */
13 class Helper {
14 /**
15 * Format a number with 2 decimal points, using a period for the decimal
16 * separator and no thousands separator.
17 *
18 * Commonly used for payment gateways which require amounts in this format.
19 *
20 * @since 3.0.0
21 * @param float $number
22 * @return string
23 */
24 public static function number_format( $number ) {
25
26 return number_format( (float) $number, 2, '.', '' );
27 }
28
29 /**
30 * Safely get and trim data from $_POST
31 *
32 * @since 3.0.0
33 * @param string $key array key to get from $_POST array
34 * @return string value from $_POST or blank string if $_POST[ $key ] is not set
35 */
36 public static function get_post( $key ) {
37 wc_deprecated_function( __METHOD__, '4.6.3', 'Square_Helper::get_post' );
38
39 // phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce verification is not required here as this is a helper function
40 if ( isset( $_POST[ $key ] ) ) {
41 return trim( wc_clean( wp_unslash( $_POST[ $key ] ) ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
42 }
43
44 return '';
45 }
46
47 /**
48 * Add and store a notice.
49 *
50 * WC notice functions are not available in the admin
51 *
52 * @since 3.0.2
53 * @param string $message The text to display in the notice.
54 * @param string $notice_type The singular name of the notice type - either error, success or notice. [optional]
55 */
56 public static function wc_add_notice( $message, $notice_type = 'success' ) {
57
58 if ( function_exists( 'wc_add_notice' ) ) {
59 wc_add_notice( $message, $notice_type );
60 }
61 }
62
63 /**
64 * Gets the full URL to the log file for a given $handle
65 *
66 * @since 3.0.0
67 * @param string $handle log handle
68 * @return string URL to the WC log file identified by $handle
69 */
70 public static function get_wc_log_file_url( $handle ) {
71 return admin_url( sprintf( 'admin.php?page=wc-status&tab=logs&log_file=%s-%s-log', $handle, sanitize_file_name( wp_hash( $handle ) ) ) );
72 }
73
74 /**
75 * Helper method to get the version of the currently installed WooCommerce
76 *
77 * @since 3.0.0
78 * @return string woocommerce version number or null
79 */
80 public static function get_wc_version() {
81
82 return defined( 'WC_VERSION' ) && WC_VERSION ? WC_VERSION : null;
83 }
84
85 /**
86 * Registers, enqueues, and adds an inline script (replaces repeated wp_register_script + wp_enqueue_script + wp_add_inline_script).
87 *
88 * @since 5.3.0
89 * @param string $script_handle Script handle.
90 * @param string $javascript Inline JavaScript code.
91 * @param array $dependencies Optional. Script dependencies. Default array( 'jquery' ).
92 * @param string|null $version Optional. Script version. Default WC_SQUARE_PLUGIN_VERSION.
93 * @param bool $in_footer Optional. Whether to enqueue in footer. Default true.
94 */
95 public static function enqueue_inline_script( string $script_handle, string $javascript, array $dependencies = array( 'jquery' ), ?string $version = null, bool $in_footer = true ): void {
96 $version = $version ?? WC_SQUARE_PLUGIN_VERSION;
97 wp_register_script( $script_handle, '', $dependencies, $version, $in_footer );
98 wp_enqueue_script( $script_handle );
99 wp_add_inline_script( $script_handle, $javascript );
100 }
101 }
102