????JFIF??x?x????'
| Server IP : 104.21.30.238  /  Your IP : 216.73.216.83 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/themes/layerswp/core/helpers/ | 
| Upload File : | 
<?php
/**
 * Helper function to assist with modifying the Customizer Controls (add, remove, etc).
 *
 */
/**
 * Insert controls before specific controls in the config array.
 *
 * @param    string $key           Key of the elemt that you want to insert-before
 * @param    array $config         The existing config array to be modified
 * @param    array $new_elements   Nested array containing new field elements
 * @return   array                 The newly modified config array
 */
if( ! function_exists( 'layers_insert_config_elements_before' ) ) {
	function layers_insert_config_elements_before( $key, $config, $new_elements ) {
		
		if ( isset( $config[$key] ) ) {
			
			/**
			 * This case is for one-dimentional config arrays e.g. Sections, Panels
			 */
			$offset = ( array_search( $key, array_keys( $config ) ) );
			
			$config =	array_slice( $config, 0, $offset, true ) +
							$new_elements +
							array_slice( $config, $offset, count( $config ) - 1, true );
		}
		else {
			
			/**
			 * This case is for multi-dimentional config arrays e.g. Controls
			 */
			foreach ( $config as $group_key => $group_array ) {
				
				if ( isset( $group_array[$key] ) ) {
					
					$offset = ( array_search( $key, array_keys( $group_array ) ) );
					
					$group_array =	array_slice( $group_array, 0, $offset, true ) +
									$new_elements +
									array_slice( $group_array, $offset, count( $group_array ) - 1, true );
									
					$config[$group_key] = $group_array;
				}
			}
		}
		
		return $config;
	}
}
/**
 * Insert controls after specific controls in the config array.
 *
 * @param    string $key           Key of the elemt that you want to insert-after
 * @param    array $config         The existing config array to be modified
 * @param    array $new_elements   Nested array containing new field elements
 * @return   array                 The newly modified config array
 */
if( ! function_exists( 'layers_insert_config_elements_after' ) ) {
	function layers_insert_config_elements_after( $key, $config, $new_elements ) {
		
		if ( isset( $config[$key] ) ) {
			
			/**
			 * This case is for one-dimentional config arrays e.g. Sections, Panels
			 */
			$offset = ( array_search( $key, array_keys( $config ) ) ) + 1;
			
			$config =	array_slice( $config, 0, $offset, true ) +
						$new_elements +
						array_slice( $config, $offset, count( $config ) - 1, true );
		}
		else {
			
			/**
			 * This case is for multi-dimentional config arrays e.g. Controls
			 */
			foreach ( $config as $group_key => $group_array ) {
			
				if ( isset( $group_array[$key] ) ) {
					
					$offset = ( array_search( $key, array_keys( $group_array ) ) ) + 1;
					
					$group_array =	array_slice( $group_array, 0, $offset, true ) +
									$new_elements +
									array_slice( $group_array, $offset, count( $group_array ) - 1, true );
									
					$config[$group_key] = $group_array;
				}
			}
		}
		
		return $config;
	}
}
/**
 * Remove control from config array.
 *
 * @param    string $key           Key of the element that you want to remove
 * @param    array $config         The existing config array to be modified
 * @return   array                 The newly modified config array
 */
if( ! function_exists( 'layers_remove_config_element' ) ) {
	function layers_remove_config_element( $key, $config ) {
		
		foreach ( $config as $group_key => $group_array ) {
			
			// Remove top level elements - like the Panels & Sections.
			if ( $key == $group_key ) unset( $config[$key] );
			
			// Remove deeper level elements - like the Controls.
			if ( isset( $group_array[$key] ) ) {
				unset( $group_array[$key] ); // Remove it.
				$config[$group_key] = $group_array; // Return it to the config array.
			}
		}
		
		return $config;
	}
}
/**
 * Function used to get all the settings that pertain to a specific partial key.
 *
 * @param  string $key Key string
 * @return array       Array of settings keys.
 */
if( ! function_exists( 'layers_get_partial_settings' ) ) {
	function layers_get_partial_settings( $key ) {
		
		// Get the main Layers controls (config array).
		$config = Layers_Customizer_Config::get_instance();
		$controls = $config->controls;
		
		// Get the partials from the config.
		return ( isset( $config->partials[$key] ) ? $config->partials[$key] : array() );
	}
}
/**
 * Function used to merge a parial key into all the elements in an existing config array.
 *
 * @param  string $key      Key string
 * @param  array  $controls Config array
 * @return array            Config array
 */
if ( ! function_exists( 'layers_set_partial_keys' ) ) {
	function layers_set_partial_keys( $key, $controls ) {
		
		// Loop all the controls and add the partial key.
		foreach ( $controls as $controls_key => $controls_setting ) {
			$controls[$controls_key]['partial'] = $key;
		}
		
		return $controls;
	}
}