Files
roi-theme/wp-content/plugins/wp-marketing-automations/woofunnels/includes/bwf-functions.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

219 lines
4.8 KiB
PHP
Executable File

<?php
if ( ! function_exists( 'bwf_get_remote_rest_args' ) ) {
/**
* Get wp remote post arguments
*
* @param $data
* @param $method
*
* @return mixed|void
*/
function bwf_get_remote_rest_args( $data = '', $method = 'POST' ) {
return apply_filters( 'bwf_get_remote_rest_args', [
'method' => $method,
'body' => $data,
'timeout' => 0.01,
'sslverify' => false,
] );
}
}
if ( ! function_exists( 'bwf_clean' ) ) {
/**
* Sanitize the given string or array
*
* @param $var
*
* @return array|mixed|string
*/
function bwf_clean( $var ) {
if ( is_array( $var ) ) {
return array_map( 'bwf_clean', $var );
}
return is_scalar( $var ) ? sanitize_text_field( $var ) : $var;
}
}
if ( ! function_exists( 'bwf_get_states' ) ) {
/**
* Get states nice name from country and state slugs
*
* @param $country
* @param $state
*
* @return mixed|string
*/
function bwf_get_states( $country = '', $state = '' ) {
$country_states = apply_filters( 'bwf_get_states', include WooFunnel_Loader::$ultimate_path . 'helpers/states.php' );
if ( empty( $state ) ) {
return '';
}
if ( empty( $country ) ) {
return $state;
}
if ( ! isset( $country_states[ $country ] ) ) {
return $state;
}
if ( ! isset( $country_states[ $country ][ $state ] ) ) {
return $state;
}
return $country_states[ $country ][ $state ];
}
}
if ( ! function_exists( 'bwf_get_fonts_list' ) ) {
/**
* get the list of all the registered fonts
* we have 3 modes here, 'standard', 'name_only','name_key' and 'all'
*
* @param string $mode
*
* @return array|int[]|mixed|string[]
*/
function bwf_get_fonts_list( $mode = 'standard' ) {
$fonts = [];
$font_path = WooFunnel_Loader::$ultimate_path . '/helpers/fonts.json';
$google_fonts = json_decode( file_get_contents( $font_path ), true ); //phpcs:ignore WordPressVIPMinimum.Performance.FetchingRemoteData.FileGetContentsUnknown
$web_fonts = ( $mode !== 'all' ) ? array_keys( $google_fonts ) : $google_fonts;
if ( $mode === 'all' || $mode === 'name_only' ) {
return $web_fonts;
}
/**
* if the name_key mode
*/
if ( $mode === 'name_key' ) {
foreach ( $web_fonts as $web_font_family ) {
if ( $web_font_family !== 'Open Sans' ) {
$fonts[ $web_font_family ] = $web_font_family;
}
}
return $fonts;
}
/**
* if standard mode
*/
$fonts[] = array(
'id' => 'default',
'name' => __( 'Default', 'woofunnels' ) // phpcs:ignore WordPress.WP.I18n.TextDomainMismatch
);
foreach ( $web_fonts as $web_font_family ) {
if ( $web_font_family !== 'Open Sans' ) {
$fonts[] = array(
'id' => $web_font_family,
'name' => $web_font_family,
);
}
}
return $fonts;
}
}
/**
* Converts a string (e.g. 'yes' or 'no' , 'true') to a bool.
*
* @param $string
*
* @return bool
*/
if ( ! function_exists( 'bwf_string_to_bool' ) ) {
function bwf_string_to_bool( $string ) {
return is_bool( $string ) ? $string : ( 'yes' === strtolower( $string ) || 1 === $string || 'true' === strtolower( $string ) || '1' === $string );
}
}
if ( ! function_exists( 'bwf_clear_queries' ) ) {
/**
* Dev
* Make WPDB queries empty
* @return void
*/
function bwf_clear_queries() {
global $wpdb;
$wpdb->queries = [];
}
}
if ( ! function_exists( 'bwf_save_queries' ) ) {
/**
* Dev
* Save DB calls from WPDB class object
*
* @param $file_name
* @param $folder_name
* @param $reference
*
* @return void
*/
function bwf_save_queries( $file_name = 'general', $folder_name = 'funnelkit', $reference = 'DB Call' ) {
global $wpdb;
if ( empty( $wpdb->queries ) || ! is_array( $wpdb->queries ) ) {
return;
}
$queries = [];
foreach ( $wpdb->queries as $q ) {
$queries[] = [ $q[0], $q[2] ];
}
$message = print_r( $queries, true );
$file_name = sanitize_title( $file_name );
$logger_obj = BWF_Logger::get_instance();
add_filter( 'bwf_logs_allowed', 'bwf_return_true', 99999 );
if ( ! empty( $reference ) ) {
$logger_obj->log( $reference, $file_name, $folder_name );
}
$logger_obj->log( $message, $file_name, $folder_name );
remove_filter( 'bwf_logs_allowed', 'bwf_return_true', 99999 );
}
}
if ( ! function_exists( 'bwf_return_true' ) ) {
/**
* @return bool
*/
function bwf_return_true() {
return true;
}
}
if ( ! function_exists( 'bwf_generate_random_bytes' ) ) {
/**
* Generate random bytes for the given count
*
* @param $count
*
* @return string
*/
function bwf_generate_random_bytes( $count ) {
$output = '';
$state = microtime();
if ( function_exists( 'getmypid' ) ) {
$state .= getmypid();
}
if ( strlen( $output ) < $count ) {
$output = '';
for ( $i = 0; $i < $count; $i += 16 ) {
$state = md5( microtime() . $state );
$output .= md5( $state, true );
}
$output = substr( $output, 0, $count );
}
return $output;
}
}