????JFIF??x?x????'
Server IP : 104.21.32.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/pontiacques.org/wp-content/plugins/give/includes/admin/ |
Upload File : |
<?php /** * Admin Filters * * @package Give * @subpackage Admin/Filters * @copyright Copyright (c) 2016, GiveWP * @license https://opensource.org/licenses/gpl-license GNU Public License * @since 1.0 */ // Exit if accessed directly. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Sanitize number of decimals setting field. * * 1. User can only set absolute integer value as number of decimals. * 2. number_decimals setting will be zero if no decimal separator defined * * @since 1.8 * @used-by Give_Plugin_Settings::give_settings() * * @param string $value * * @return mixed */ function __give_sanitize_number_decimals_setting_field( $value ) { $value_changed = false; $show_notice = false; $old_value = $value; if ( isset( $_POST['decimal_separator'] ) ) { $value = ! empty( $_POST['decimal_separator'] ) ? $value : 0; $value_changed = true; } if ( $value_changed && ( $old_value !== $value ) ) { Give_Admin_Settings::add_error( 'give-number-decimal', __( 'The \'Number of Decimals\' option has been automatically set to zero because the \'Decimal Separator\' is not set.', 'give' ) ); } $value = absint( $value ); $is_currency_set_to_bitcoin = ( 'XBT' === give_get_option( 'currency' ) && ! isset( $_POST['currency'] ) ) || 'XBT' === $_POST['currency']; if ( $is_currency_set_to_bitcoin && 8 < $value ) { $value = 8; $show_notice = true; } elseif ( ! $is_currency_set_to_bitcoin && 6 <= $value ) { $value = 5; $show_notice = true; } if ( $show_notice ) { Give_Admin_Settings::add_error( 'give-number-decimal', sprintf( __( 'The \'Number of Decimals\' option has been automatically set to %s because you entered a number higher than the maximum allowed.', 'give' ), $value ) ); } return absint( $value ); } add_filter( 'give_admin_settings_sanitize_option_number_decimals', '__give_sanitize_number_decimals_setting_field', 10 ); /** * Sanitize number of decimals setting field. * * 1. User can only set absolute integer value as number of decimals. * 2. number_decimals setting will be zero if no decimal separator defined * * @since 1.8 * @used-by Give_Plugin_Settings::give_settings() * * @param string $value * * @return mixed */ function __give_validate_decimal_separator_setting_field( $value ) { $thousand_separator = isset( $_POST['thousands_separator'] ) ? give_clean( $_POST['thousands_separator'] ) : ''; $decimal_separator = isset( $_POST['decimal_separator'] ) ? give_clean( $_POST['decimal_separator'] ) : ''; if ( $decimal_separator === $thousand_separator ) { $value = ''; $_POST['number_decimals'] = 0; Give_Admin_Settings::add_error( 'give-decimal-separator', __( 'The \'Decimal Separator\' option has automatically been set to empty because it can not be equal to the \'Thousand Separator\'', 'give' ) ); } return $value; } add_filter( 'give_admin_settings_sanitize_option_decimal_separator', '__give_validate_decimal_separator_setting_field', 10 ); /** * Change $delimiter text to symbol. * * @since 1.8.14 * * @param string $delimiter * * @return string $delimiter. */ function __give_import_delimiter_set_callback( $delimiter ) { $delimite_type = array( 'csv' => ',', 'tab-separated-values' => "\t", ); return ( array_key_exists( $delimiter, $delimite_type ) ? $delimite_type[ $delimiter ] : ',' ); } add_filter( 'give_import_delimiter_set', '__give_import_delimiter_set_callback', 10 ); /** * Give unset the page id from the core setting data from the json files. * * @since 1.8.17 * * @param array $json_to_array Data from json file * @param string $type * * @return array $json_to_array */ function give_import_core_settings_merge_pages( $json_to_array, $type ) { if ( 'merge' === $type ) { unset( $json_to_array['success_page'] ); unset( $json_to_array['failure_page'] ); unset( $json_to_array['history_page'] ); } return $json_to_array; } add_filter( 'give_import_core_settings_data', 'give_import_core_settings_merge_pages', 11, 2 ); /** * Give check the image size from the core setting data from the json files. * * @since 1.8.17 * * @param $json_to_array * @param string $type * * @return array $json_to_array */ function give_import_core_settings_merge_image_size( $json_to_array, $type ) { if ( 'merge' === $type ) { // Featured image sizes import under Display Options > Post Types > Featured Image Size. if ( ! empty( $json_to_array['form_featured_img'] ) && ! empty( $json_to_array['featured_image_size'] ) && give_is_setting_enabled( $json_to_array['form_featured_img'] ) ) { $images_sizes = get_intermediate_image_sizes(); if ( ! in_array( $json_to_array['featured_image_size'], $images_sizes, true ) ) { unset( $json_to_array['featured_image_size'] ); } } } return $json_to_array; } add_filter( 'give_import_core_settings_data', 'give_import_core_settings_merge_image_size', 12, 2 ); /** * Give upload the image logo from the core setting data from the json files. * * @since 1.8.17 * * @param $json_to_array * @param string $type * * @return array $json_to_array */ function give_import_core_settings_merge_upload_image( $json_to_array, $type ) { if ( 'merge' === $type ) { // Emails > Email Settings > Logo. if ( ! empty( $json_to_array['email_logo'] ) ) { // Need to require these files. if ( ! function_exists( 'media_handle_upload' ) ) { require_once ABSPATH . 'wp-admin/includes/image.php'; require_once ABSPATH . 'wp-admin/includes/file.php'; require_once ABSPATH . 'wp-admin/includes/media.php'; } $url = $json_to_array['email_logo']; $new_url = media_sideload_image( $url, 0, null, 'src' ); if ( ! is_wp_error( $new_url ) ) { $json_to_array['email_logo'] = $new_url; } else { unset( $json_to_array['email_logo'] ); } } } return $json_to_array; } add_filter( 'give_import_core_settings_data', 'give_import_core_settings_merge_upload_image', 13, 2 ); /** * Give unset the license key from the core setting data from the json files. * * @since 1.8.17 * * @param array $json_to_array Data from json file * @param string $type * * @return array $json_to_array */ function give_import_core_settings_merge_license_key( $json_to_array, $type ) { if ( 'merge' === $type ) { foreach ( $json_to_array as $key => $value ) { $is_license_key = strpos( '_license_key', $key ); if ( ! empty( $is_license_key ) ) { unset( $json_to_array[ $key ] ); } } } return $json_to_array; } add_filter( 'give_import_core_settings_data', 'give_import_core_settings_merge_license_key', 14, 2 ); /** * Give merge the json data and setting data. * * @since 1.8.17 * * @param $json_to_array * @param $type * @param $host_give_options * * @return array $json_to_array */ function give_import_core_settings_merge_data( $json_to_array, $type, $host_give_options ) { if ( 'merge' === $type ) { $json_to_array_merge = array_merge( $host_give_options, $json_to_array ); $json_to_array = $json_to_array_merge; } return $json_to_array; } add_filter( 'give_import_core_settings_data', 'give_import_core_settings_merge_data', 1000, 3 ); /** * Backward Compatibility - Cleanup User Roles. * * @param array $caps List of capabilities. * * @since 1.8.17 * * @return mixed */ function give_bc_1817_cleanup_user_roles( $caps ) { if ( ! give_has_upgrade_completed( 'v1817_cleanup_user_roles' ) && ! isset( $caps['view_give_payments'] ) ) { give_v1817_process_cleanup_user_roles(); } return $caps; } add_filter( 'user_has_cap', 'give_bc_1817_cleanup_user_roles' );