This commit introduces a more reliable and consistent approach to setting up the development environment using backups: - Add setup-from-backup.sh script for environment setup from existing backups - Standardize script naming and organization - Move obsolete scripts to bin/obsolete directory - Update documentation with new workflow instructions - Create migration guide for transitioning to new workflow - Update Memory Bank with workflow improvements The new workflow provides: - More reliable environment setup - Faster setup process - Offline development capability - Consistent development environments across team members Breaking changes: - setup-dev.sh is replaced by setup-from-backup.sh - sync-and-setup.sh is replaced by separate scripts - verify-with-wpcli.sh is no longer used Migration path is documented in MIGRATION_GUIDE.md
		
			
				
	
	
		
			468 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			468 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | ||
| /**
 | ||
|  * UserRegistration Modules
 | ||
|  *
 | ||
|  * Functions for the modules.
 | ||
|  *
 | ||
|  * @package  UserRegistration/Functions
 | ||
|  * @version  4.0
 | ||
|  */
 | ||
| 
 | ||
| if ( ! defined( 'ABSPATH' ) ) {
 | ||
| 	exit; // Exit if accessed directly.
 | ||
| }
 | ||
| 
 | ||
| if ( ! function_exists( 'ur_check_module_activation' ) ) {
 | ||
| 	/**
 | ||
| 	 * Check if provided module is activated or not.
 | ||
| 	 *
 | ||
| 	 * @param string Module key to check.
 | ||
| 	 *
 | ||
| 	 * @return bool
 | ||
| 	 */
 | ||
| 	function ur_check_module_activation( $module ) {
 | ||
| 		$enabled_features = get_option( 'user_registration_enabled_features', array() );
 | ||
| 
 | ||
| 		return in_array( 'user-registration-' . $module, $enabled_features, true ) ? true : false;
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| if ( ! function_exists( 'ur_payment_integration_get_currencies' ) ) {
 | ||
| 	/**
 | ||
| 	 * Get supported currencies.
 | ||
| 	 *
 | ||
| 	 * @return array
 | ||
| 	 * @since 1.0.0
 | ||
| 	 */
 | ||
| 	function ur_payment_integration_get_currencies() {
 | ||
| 
 | ||
| 		$currencies = array(
 | ||
| 			'USD' => array(
 | ||
| 				'name'                => esc_html__( 'U.S. Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'GBP' => array(
 | ||
| 				'name'                => esc_html__( 'Pound Sterling', 'user-registration' ),
 | ||
| 				'symbol'              => '£',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'EUR' => array(
 | ||
| 				'name'                => esc_html__( 'Euro', 'user-registration' ),
 | ||
| 				'symbol'              => '€',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'AUD' => array(
 | ||
| 				'name'                => esc_html__( 'Australian Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'BRL' => array(
 | ||
| 				'name'                => esc_html__( 'Brazilian Real', 'user-registration' ),
 | ||
| 				'symbol'              => 'R$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'CAD' => array(
 | ||
| 				'name'                => esc_html__( 'Canadian Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'CZK' => array(
 | ||
| 				'name'                => esc_html__( 'Czech Koruna', 'user-registration' ),
 | ||
| 				'symbol'              => 'Kč',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'DKK' => array(
 | ||
| 				'name'                => esc_html__( 'Danish Krone', 'user-registration' ),
 | ||
| 				'symbol'              => 'kr.',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'HKD' => array(
 | ||
| 				'name'                => esc_html__( 'Hong Kong Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'HUF' => array(
 | ||
| 				'name'                => esc_html__( 'Hungarian Forint', 'user-registration' ),
 | ||
| 				'symbol'              => 'Ft',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'ILS' => array(
 | ||
| 				'name'                => esc_html__( 'Israeli New Sheqel', 'user-registration' ),
 | ||
| 				'symbol'              => '₪',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'MYR' => array(
 | ||
| 				'name'                => esc_html__( 'Malaysian Ringgit', 'user-registration' ),
 | ||
| 				'symbol'              => 'RM',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'MXN' => array(
 | ||
| 				'name'                => esc_html__( 'Mexican Peso', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'NOK' => array(
 | ||
| 				'name'                => esc_html__( 'Norwegian Krone', 'user-registration' ),
 | ||
| 				'symbol'              => 'Kr',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'NZD' => array(
 | ||
| 				'name'                => esc_html__( 'New Zealand Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'PHP' => array(
 | ||
| 				'name'                => esc_html__( 'Philippine Peso', 'user-registration' ),
 | ||
| 				'symbol'              => 'Php',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'PLN' => array(
 | ||
| 				'name'                => esc_html__( 'Polish Zloty', 'user-registration' ),
 | ||
| 				'symbol'              => 'zł',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'RUB' => array(
 | ||
| 				'name'                => esc_html__( 'Russian Ruble', 'user-registration' ),
 | ||
| 				'symbol'              => 'pyб',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => ' ',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'SGD' => array(
 | ||
| 				'name'                => esc_html__( 'Singapore Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'ZAR' => array(
 | ||
| 				'name'                => esc_html__( 'South African Rand', 'user-registration' ),
 | ||
| 				'symbol'              => 'R',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'SEK' => array(
 | ||
| 				'name'                => esc_html__( 'Swedish Krona', 'user-registration' ),
 | ||
| 				'symbol'              => 'Kr',
 | ||
| 				'symbol_pos'          => 'right',
 | ||
| 				'thousands_separator' => '.',
 | ||
| 				'decimal_separator'   => ',',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'CHF' => array(
 | ||
| 				'name'                => esc_html__( 'Swiss Franc', 'user-registration' ),
 | ||
| 				'symbol'              => 'CHF',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'TWD' => array(
 | ||
| 				'name'                => esc_html__( 'Taiwan New Dollar', 'user-registration' ),
 | ||
| 				'symbol'              => '$',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 			'THB' => array(
 | ||
| 				'name'                => esc_html__( 'Thai Baht', 'user-registration' ),
 | ||
| 				'symbol'              => '฿',
 | ||
| 				'symbol_pos'          => 'left',
 | ||
| 				'thousands_separator' => ',',
 | ||
| 				'decimal_separator'   => '.',
 | ||
| 				'decimals'            => 2,
 | ||
| 			),
 | ||
| 		);
 | ||
| 
 | ||
| 		return apply_filters( 'user_registration_payments_currencies', $currencies );
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| if ( ! function_exists( 'paypal_supported_currencies_list' ) ) {
 | ||
| 	/**
 | ||
| 	 * Paypal Supported Currencies list.
 | ||
| 	 * From https://developer.paypal.com/docs/reports/reference/paypal-supported-currencies/
 | ||
| 	 *
 | ||
| 	 * @since 1.4.3
 | ||
| 	 */
 | ||
| 	function paypal_supported_currencies_list() {
 | ||
| 		return array(
 | ||
| 			'AUD',
 | ||
| 			'BRL',
 | ||
| 			'CAD',
 | ||
| 			'CNY',
 | ||
| 			'CZK',
 | ||
| 			'DKK',
 | ||
| 			'EUR',
 | ||
| 			'HKD',
 | ||
| 			'HUF',
 | ||
| 			'ILS',
 | ||
| 			'JPY',
 | ||
| 			'MYR',
 | ||
| 			'MXN',
 | ||
| 			'TWD',
 | ||
| 			'NZD',
 | ||
| 			'NOK',
 | ||
| 			'PHP',
 | ||
| 			'PLN',
 | ||
| 			'GBP',
 | ||
| 			'RUB',
 | ||
| 			'SGD',
 | ||
| 			'SEK',
 | ||
| 			'CHF',
 | ||
| 			'THB',
 | ||
| 			'USD',
 | ||
| 		);
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| if ( ! function_exists( 'user_registration_sanitize_amount' ) ) {
 | ||
| 	/**
 | ||
| 	 * Sanitize Amount.
 | ||
| 	 *
 | ||
| 	 * Returns a sanitized amount by stripping out thousands separators.
 | ||
| 	 *
 | ||
| 	 * @param string $amount Amount.
 | ||
| 	 * @param string $currency Currency.
 | ||
| 	 *
 | ||
| 	 * @return string $amount
 | ||
| 	 * @link https://github.com/easydigitaldownloads/easy-digital-downloads/blob/master/includes/formatting.php#L24
 | ||
| 	 *
 | ||
| 	 * @since 1.0.0
 | ||
| 	 */
 | ||
| 	function user_registration_sanitize_amount( $amount, $currency = 'USD' ) {
 | ||
| 
 | ||
| 		$currency      = strtoupper( $currency );
 | ||
| 		$currencies    = ur_payment_integration_get_currencies();
 | ||
| 		$thousands_sep = $currencies[ $currency ]['thousands_separator'];
 | ||
| 		$decimal_sep   = $currencies[ $currency ]['decimal_separator'];
 | ||
| 		$is_negative   = false;
 | ||
| 
 | ||
| 		// Sanitize the amount.
 | ||
| 		if ( ',' === $decimal_sep && false !== ( strpos( $amount, $decimal_sep ) ) ) {
 | ||
| 			if ( ( '.' === $thousands_sep || ' ' === $thousands_sep ) && false !== ( strpos( $amount, $thousands_sep ) ) ) {
 | ||
| 				$amount = str_replace( $thousands_sep, '', $amount );
 | ||
| 			} elseif ( empty( $thousands_sep ) && false !== ( strpos( $amount, '.' ) ) ) {
 | ||
| 				$amount = str_replace( '.', '', $amount );
 | ||
| 			}
 | ||
| 			$amount = str_replace( $decimal_sep, '.', $amount );
 | ||
| 		} elseif ( ',' === $thousands_sep && false !== ( strpos( $amount, $thousands_sep ) ) ) {
 | ||
| 			$amount = str_replace( $thousands_sep, '', $amount );
 | ||
| 		}
 | ||
| 
 | ||
| 		if ( $amount < 0 ) {
 | ||
| 			$is_negative = true;
 | ||
| 		}
 | ||
| 
 | ||
| 		$amount   = preg_replace( '/[^0-9\.]/', '', $amount );
 | ||
| 		$decimals = apply_filters( 'user_registration_sanitize_amount_decimals', 2, $amount );
 | ||
| 		$amount   = number_format( (float) $amount, $decimals, '.', '' );
 | ||
| 
 | ||
| 		if ( $is_negative ) {
 | ||
| 			$amount *= - 1;
 | ||
| 		}
 | ||
| 
 | ||
| 		return $amount;
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| if ( ! function_exists( 'ur_membership_install_required_pages' ) ) {
 | ||
| 
 | ||
| 	/**
 | ||
| 	 * Install required membership pages.
 | ||
| 	 */
 | ||
| 	function ur_membership_install_required_pages() {
 | ||
| 		include_once untrailingslashit( plugin_dir_path( UR_PLUGIN_FILE ) ) . '/includes/admin/functions-ur-admin.php';
 | ||
| 
 | ||
| 		WPEverest\URMembership\Admin\Database\Database::create_tables();
 | ||
| 		update_option( 'ur_membership_default_membership_field_name', $membership_field_name );
 | ||
| 		$membership_id       = UR_Install::create_default_membership();
 | ||
| //		$membership_group_id = UR_Install::create_default_membership_group( array( array( 'ID' => "$membership_id" ) ) );
 | ||
| 
 | ||
| 		$pages                = apply_filters( 'user_registration_create_pages', array() );
 | ||
| 		$default_form_page_id = 0;
 | ||
| 
 | ||
| 		$membership_field_name = 'membership_field_' . ur_get_random_number();
 | ||
| 		$post_content          = '[[[{"field_key":"user_login","general_setting":{"label":"Username","description":"","field_name":"user_login","placeholder":"","required":"1","hide_label":"false"},"advance_setting":{"custom_class":"","username_length":"","username_character":"1"},"icon":"ur-icon ur-icon-user"}],[{"field_key":"user_email","general_setting":{"label":"User Email","description":"","field_name":"user_email","placeholder":"","required":"1","hide_label":"false"},"advance_setting":{"custom_class":""},"icon":"ur-icon ur-icon-email"}]],[[{"field_key":"user_pass","general_setting":{"label":"User Password","description":"","field_name":"user_pass","placeholder":"","required":"1","hide_label":"false"},"advance_setting":{"custom_class":""},"icon":"ur-icon ur-icon-password"}],[{"field_key":"user_confirm_password","general_setting":{"label":"Confirm Password","description":"","field_name":"user_confirm_password","placeholder":"","required":"1","hide_label":"false"},"advance_setting":{"custom_class":""},"icon":"ur-icon ur-icon-password-confirm"}]],[[{"field_key":"membership","general_setting":{"membership_group":"0","label":"Membership Field","description":"","field_name":"' . $membership_field_name . '","hide_label":"false","membership_listing_option":"all"},"advance_setting":{},"icon":"ur-icon ur-icon-membership-field"}]]]';
 | ||
| 
 | ||
| 		// Insert default form.
 | ||
| 		$default_form_page_id = wp_insert_post(
 | ||
| 			array(
 | ||
| 				'post_type'      => 'user_registration',
 | ||
| 				'post_title'     => esc_html__( 'Default Membership Registration Form', 'user-registration' ),
 | ||
| 				'post_content'   => $post_content,
 | ||
| 				'post_status'    => 'publish',
 | ||
| 				'comment_status' => 'closed',
 | ||
| 				'ping_status'    => 'closed',
 | ||
| 			)
 | ||
| 		);
 | ||
| 
 | ||
| 		$pages['membership_registration'] = array(
 | ||
| 			'name'    => _x( 'membership-registration', 'Page slug', 'user-registration' ),
 | ||
| 			'title'   => _x( 'Membership Registration', 'Page title', 'user-registration' ),
 | ||
| 			'content' => '[' . apply_filters( 'user_registration_form_shortcode_tag', 'user_registration_form' ) . ' id="' . esc_attr( $default_form_page_id ) . '"]',
 | ||
| 			'option'  => 'user_registration_member_registration_page_id',
 | ||
| 		);
 | ||
| 
 | ||
| 		$pages['membership_pricing']  = array(
 | ||
| 			'name'    => _x( 'membership-pricing', 'Page slug', 'user-registration' ),
 | ||
| 			'title'   => _x( 'Membership Pricing', 'Page title', 'user-registration' ),
 | ||
| 			'content' => '[user_registration_groups]',
 | ||
| 			'option'  => ''
 | ||
| 		);
 | ||
| 		$pages['membership_thankyou'] = array(
 | ||
| 			'name'    => _x( 'membership-thankyou', 'Page slug', 'user-registration' ),
 | ||
| 			'title'   => _x( 'Membership ThankYou', 'Page title', 'user-registration' ),
 | ||
| 			'content' => '[user_registration_membership_thank_you]',
 | ||
| 			'option'  => 'user_registration_thank_you_page_id',
 | ||
| 		);
 | ||
| 
 | ||
| 		foreach ( $pages as $key => $page ) {
 | ||
| 			$post_id = ur_create_page( esc_sql( $page['name'] ), 'user_registration_' . $key . '_page_id', wp_kses_post( ( $page['title'] ) ), wp_kses_post( $page['content'] ) );
 | ||
| 			if ( ! empty( $page['option'] ) ) {
 | ||
| 				update_option( $page['option'], $post_id );
 | ||
| 			}
 | ||
| 		}
 | ||
| 		$enabled_features = get_option( 'user_registration_enabled_features', array() );
 | ||
| 		array_push( $enabled_features, 'user-registration-membership' );
 | ||
| 		array_push( $enabled_features, 'user-registration-payment-history' );
 | ||
| 		array_push( $enabled_features, 'user-registration-content-restriction' );
 | ||
| 		update_option( 'user_registration_enabled_features', $enabled_features );
 | ||
| 		update_option( 'user_registration_membership_installed_flag', true );
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| if ( ! function_exists( 'ur_get_all_roles' ) ) {
 | ||
| 
 | ||
| 	/**
 | ||
| 	 * Retrieve list of roles.
 | ||
| 	 */
 | ||
| 	function ur_get_all_roles() {
 | ||
| 		global $wp_roles;
 | ||
| 
 | ||
| 		if ( ! class_exists( 'WP_Roles' ) ) {
 | ||
| 			return;
 | ||
| 		}
 | ||
| 
 | ||
| 		$roles = array();
 | ||
| 		if ( ! isset( $wp_roles ) ) {
 | ||
| 			$wp_roles = new WP_Roles();
 | ||
| 		}
 | ||
| 		$roles = $wp_roles->roles;
 | ||
| 
 | ||
| 		$all_roles = array();
 | ||
| 
 | ||
| 		foreach ( $roles as $role_key => $role ) {
 | ||
| 
 | ||
| 			$all_roles[ $role_key ] = $role['name'];
 | ||
| 		}
 | ||
| 
 | ||
| 		return apply_filters( 'user_registration_all_roles', $all_roles );
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| 
 | ||
| if ( ! function_exists( 'check_membership_field_in_form' ) ) {
 | ||
| 	/**
 | ||
| 	 * check_membership_field_in_form
 | ||
| 	 *
 | ||
| 	 * @return bool
 | ||
| 	 */
 | ||
| 	function check_membership_field_in_form($form_id) {
 | ||
| 
 | ||
| 		$payment_fields       = ur_get_form_fields( $form_id );
 | ||
| 		$has_membership_field = false;
 | ||
| 		foreach ( $payment_fields as $k => $field ) {
 | ||
| 			if ( 'membership' === $field->field_key ) {
 | ||
| 				$has_membership_field = true;
 | ||
| 			}
 | ||
| 		}
 | ||
| 
 | ||
| 		return $has_membership_field;
 | ||
| 	}
 | ||
| }
 | ||
| 
 | ||
| /**
 | ||
|  * Deprecating function code start
 | ||
|  *
 | ||
|  * @deprecated
 | ||
|  */
 | ||
| $modules = array(
 | ||
| 	'coupons'             => 'ur_pro_is_coupons_addon_activated',
 | ||
| 	'payments'            => 'ur_pro_is_paypal_activated',
 | ||
| 	'sms-integration'     => 'ur_pro_is_sms_integration_activated',
 | ||
| 	'content-restriction' => 'ur_pro_is_content_restriction_activated',
 | ||
| 	'payment-history'     => 'ur_pro_is_payment_history_activated',
 | ||
| );
 | ||
| 
 | ||
| foreach ( $modules as $module_key => $function_name ) {
 | ||
| 	if ( ! function_exists( $function_name ) ) {
 | ||
| 		eval(
 | ||
| 		"
 | ||
| 		        function $function_name() {
 | ||
| 		            return ur_check_module_activation('$module_key');
 | ||
| 		        }
 | ||
|         "
 | ||
| 		);
 | ||
| 	}
 | ||
| }
 | ||
| // deprecating function code ends
 |