oont-contents/plugins/woocommerce-square/includes/Utilities/Helper.php
2025-04-06 08:34:48 +02:00

84 lines
2.4 KiB
PHP

<?php
namespace WooCommerce\Square\Utilities;
defined( 'ABSPATH' ) || exit;
/**
* WooCommerce Square Helper Class
*
* The purpose of this class is to centralize common utility functions.
*
* @since 2.2.0
*/
class Helper {
/**
* Format a number with 2 decimal points, using a period for the decimal
* separator and no thousands separator.
*
* Commonly used for payment gateways which require amounts in this format.
*
* @since 3.0.0
* @param float $number
* @return string
*/
public static function number_format( $number ) {
return number_format( (float) $number, 2, '.', '' );
}
/**
* Safely get and trim data from $_POST
*
* @since 3.0.0
* @param string $key array key to get from $_POST array
* @return string value from $_POST or blank string if $_POST[ $key ] is not set
*/
public static function get_post( $key ) {
wc_deprecated_function( __METHOD__, '4.6.3', 'Square_Helper::get_post' );
// phpcs:ignore WordPress.Security.NonceVerification.Missing -- Nonce verification is not required here as this is a helper function
if ( isset( $_POST[ $key ] ) ) {
return trim( wc_clean( wp_unslash( $_POST[ $key ] ) ) ); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
}
return '';
}
/**
* Add and store a notice.
*
* WC notice functions are not available in the admin
*
* @since 3.0.2
* @param string $message The text to display in the notice.
* @param string $notice_type The singular name of the notice type - either error, success or notice. [optional]
*/
public static function wc_add_notice( $message, $notice_type = 'success' ) {
if ( function_exists( 'wc_add_notice' ) ) {
wc_add_notice( $message, $notice_type );
}
}
/**
* Gets the full URL to the log file for a given $handle
*
* @since 3.0.0
* @param string $handle log handle
* @return string URL to the WC log file identified by $handle
*/
public static function get_wc_log_file_url( $handle ) {
return admin_url( sprintf( 'admin.php?page=wc-status&tab=logs&log_file=%s-%s-log', $handle, sanitize_file_name( wp_hash( $handle ) ) ) );
}
/**
* Helper method to get the version of the currently installed WooCommerce
*
* @since 3.0.0
* @return string woocommerce version number or null
*/
public static function get_wc_version() {
return defined( 'WC_VERSION' ) && WC_VERSION ? WC_VERSION : null;
}
}