HEX
Server: Apache
System: Linux web2213.uni5.net 5.4.282-1.el8.elrepo.x86_64 #1 SMP Mon Aug 19 18:33:22 EDT 2024 x86_64
User: clinicamaciel (596848)
PHP: 7.3.33
Disabled: apache_child_terminate,c99_buff_prepare,c99_sess_put,dl,eval,exec,leak,link,myshellexec,openlog,passthru,pclose,pcntl_exec,php_check_syntax,php_strip_whitespace,popen,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,symlink,system,socket_listen,socket_create_listen,putenv
Upload Files
File: /home/clinicamaciel/www/wp-content/plugins/trx_addons/api/js_composer/params/icons/icons.php
<?php
/**
 * Plugin support: WPBakery Page Builder. Additional param's type 'icons': dropdown or inline list with images or font icons
 *
 * @package WordPress
 * @subpackage ThemeREX Addons
 * @since v1.6.24
 */

// Don't load directly
if ( ! defined( 'TRX_ADDONS_VERSION' ) ) {
	die( '-1' );
}

// Add param's type to VC
if (!function_exists('trx_addons_vc_params_icons_init')) {
	add_action( 'init', 'trx_addons_vc_params_icons_init' );
	function trx_addons_vc_params_icons_init() {
		vc_add_shortcode_param( 'icons',
								'trx_addons_vc_params_icons_settings_field',
								trx_addons_get_file_url('api/js_composer/params/icons/icons.js')
								);
	}
}

// Return param's field layout for VC editor
// Attention! This param's type need 'value' list as normal associative array 'key' => 'value', not in VC-style 'value' => 'key'
// Option 'style' => 'icons' | 'images'
// Option 'mode' => 'inline' | 'dropdown'
// Option 'return' => 'slug' | 'full'
if (!function_exists('trx_addons_vc_params_icons_settings_field')) {
	function trx_addons_vc_params_icons_settings_field( $settings, $value ) {
		if (empty($settings['mode'])) $settings['mode'] = 'dropdown';
		if (empty($settings['return'])) $settings['return'] = 'full';
		$output .= '<div class="trx_addons_vc_param_icons">'
						. '<input type="hidden"'
								. ' name="'.esc_attr($settings['param_name']).'"'
								. ' class="wpb_vc_param_value wpb-textinput '
										. esc_attr($settings['param_name'])
										. ' '
										. esc_attr($settings['type']).'_field"'
								. ' value="'.esc_attr($value).'" />'
						. ($settings['mode'] == 'dropdown'
							? '<span class="trx_addons_icon_selector'
											. ($settings['style']=='icons' && !empty($value) ? ' '.esc_attr($value) : '')
											. '"'
									. ' title="'.esc_attr__('Select icon', 'trx_addons').'"'
									. ' data-style="'.($settings['style']=='images' ? 'images' : 'icons').'"'
									. ($settings['style']=='images' && !empty($value) 
											? ' style="background-image: url('.esc_url($settings['return']=='slug' 
																						? $settings['value'][$value] 
																						: $value)
																			.');"' 
											: '')
								. '></span>'
							: '')
					. '<div class="trx_addons_list_icons trx_addons_list_icons_'.esc_attr($settings['mode']).'">';
		foreach ($settings['value'] as $slug=>$icon)
			$output .= '<span class="'
								. esc_attr($settings['style']=='icons' ? $icon : $slug)
								. (($settings['return']=='full' ? $icon : $slug) == $value ? ' trx_addons_active' : '')
								. '"'
							. ' title="'.esc_attr($slug).'"'
							. ' data-icon="'.esc_attr($settings['return']=='full' ? $icon : $slug).'"'
							. ($settings['style']=='images' ? ' style="background-image: url('.esc_url($icon).');"' : '')
							. '>'
								. ($settings['mode'] != 'dropdown'
									? '<i>'.esc_html($slug).'</i>' 
									: ''
									)
							. '</span>';
		$output .= '</div>'
				. '</div>';
		return $output;
	}
}
?>