HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpprm/wp-content/themes/ronneby/inc/vc_custom/dfd_vc_addons/params/param_border.php
<?php
if ( ! defined( 'ABSPATH' ) ) { exit; }
if(!class_exists('Dfd_Border_Param')) {
	class Dfd_Border_Param extends Dfd_Params_Constructor {
		function __construct() {
			add_action( 'admin_enqueue_scripts', array( $this, 'param_scripts' ) );

			if(function_exists('vc_add_shortcode_param')) {
				vc_add_shortcode_param('dfd_param_border', array($this, 'border_param'), get_template_directory_uri().'/inc/vc_custom/dfd_vc_addons/admin/vc_extend/js/dfd_additional_param.js');
			}
		}
		function border_styles() {
			return array(
				'none' => esc_html__('None','dfd'),
				'solid' => esc_html__('Solid','dfd'),
				'dotted' => esc_html__('Dotted','dfd'),
				'dashed' => esc_html__('Dashed','dfd'),
				'default' => esc_html__('Theme default','dfd'),
			);
		}
		function border_param($settings, $value) {
			$label = isset($settings['label']) ? $settings['label'] : esc_html__('Border style','dfd');
			$simple = isset($settings['simple']) && $settings['simple'] ? '' : 'expandable';
			$unit = isset($settings['unit']) ? $settings['unit'] : 'px';
			$enable_radius = isset($settings['enable_radius']) ? $settings['enable_radius'] : true ;

			$values = Dfd_Theme_Helpers::vc_param_parse_value($value, 'vc_border_get_params');
			
			$styles = self::border_styles();
			
			$html  = '<div class="dfd-border-param-container">';

			$html .= '	<div class="dfd-border-style">';
			$html .= '		<div class="border-select-block">';
			$html .= '			<div class="wpb_element_label">'.esc_html__('Border style','dfd').'</div>';
			$html .= '			<select class="vc_container_form_field-border_style wpb_vc_param_value">';
			foreach($styles as $k => $v) {
				$html .=				$this->style_select($values['border_style'], $k, $v);
			}
			$html .= '			</select>';
			$html .= '		</div>';
			$html .= '	</div>';
			
			$html .= $this->color($values['border_color']);
			
			if($enable_radius) {
				$html .= '	<div class="dfd-border-radius">';
				$html .= '		<div class="border-radius-block">';
				$html .= '			<div class="wpb_element_label">'.esc_html__('Border radius','dfd').'</div>';
				$html .=			'<div class="crum-number-field-wrap">'.$this->input_number($values['border_radius'], 'border_radius', '').'</div>';
				$html .= '		</div>';
				$html .= '	</div>';
			}
			
			$html .= '	<div class="dfd-border-width '.esc_attr($simple).'">';
			$html .= '		<div class="wpb_element_label">'.esc_html__('Border width','dfd').'</div>';
			$html .= '		<div class="border-width-block">';
			$html .= '			<a href="#" class="dfd-border-expand" title="expand"></a>';
			$borders = array(
				'border_width' => esc_html__('All','dfd'),
				'border_top_width' => esc_html__('Top','dfd'),
				'border_bottom_width' => esc_html__('Bottom','dfd'),
				'border_left_width' => esc_html__('Left','dfd'),
				'border_right_width' => esc_html__('Right','dfd'),
			);
			foreach($borders as $k => $v) {
				$html .=		$this->input_number($values[$k], $k, $v);
			}
			$html .= '		</div>';
			$html .= '	</div>';
			
			$html .= '</div>';
			
			$html .= '<input name="' . $settings['param_name'] . '" class="wpb_vc_param_value  ' . $settings['param_name'] . ' ' . $settings['type'] . '_field" type="hidden" value="' . $value . '" />';
			
			return $html;
		}
		function param_scripts($hook) {
			wp_enqueue_style( 'wp-color-picker' );
//			wp_enqueue_style( 'dfd-border-style', DFD_EXTENSIONS_PLUGIN_URL.'vc_custom/admin/css/dfd_border.css');
		}
		public static function border_css($value) {
			if(!$value || empty($value)) return;
			
			$css = '';
			
			$values = Dfd_Theme_Helpers::vc_param_parse_value($value, 'vc_border_get_params');
			
			if(isset($values['border_style']) && $values['border_style'] != '' && $values['border_style'] != 'default') {
				$css .= 'border-style: '.esc_attr($values['border_style']).';';
				if(isset($values['border_width']) && $values['border_width'] != '') {
					$css .= 'border-width: '.esc_attr($values['border_width']).'px;';
				} else {
					if(isset($values['border_top_width']) && $values['border_top_width'] != '') {
						$css .= 'border-top-width: '.esc_attr($values['border_top_width']).'px;';
					}
					if(isset($values['border_bottom_width']) && $values['border_bottom_width'] != '') {
						$css .= 'border-bottom-width: '.esc_attr($values['border_bottom_width']).'px;';
					}
					if(isset($values['border_left_width']) && $values['border_left_width'] != '') {
						$css .= 'border-left-width: '.esc_attr($values['border_left_width']).'px;';
					}
					if(isset($values['border_right_width']) && $values['border_right_width'] != '') {
						$css .= 'border-right-width: '.esc_attr($values['border_right_width']).'px;';
					}
				}
				if(isset($values['border_color']) && $values['border_color'] != '') {
					$css .= 'border-color: '.esc_attr($values['border_color']).';';
				}
				if(isset($values['border_radius']) && $values['border_radius'] != '') {
					$css .= 'border-radius: '.esc_attr($values['border_radius']).'px;';
				}
			}
			
			return $css;
		}
	}
}
if(class_exists('Dfd_Border_Param')) {
	$Dfd_Border_Param = new Dfd_Border_Param();
}