Example #1
0
 function process_advanced_custom_margin_options($function_name)
 {
     if (!isset($this->advanced_options['custom_margin_padding'])) {
         return;
     }
     $style = '';
     $important_options = array();
     $is_important_set = isset($this->advanced_options['custom_margin_padding']['css']['important']);
     $use_global_important = $is_important_set && 'all' === $this->advanced_options['custom_margin_padding']['css']['important'];
     if ($is_important_set && is_array($this->advanced_options['custom_margin_padding']['css']['important'])) {
         $important_options = $this->advanced_options['custom_margin_padding']['css']['important'];
     }
     $custom_margin = $this->advanced_options['custom_margin_padding']['use_margin'] ? $this->shortcode_atts['custom_margin'] : '';
     $custom_padding = $this->advanced_options['custom_margin_padding']['use_padding'] ? $this->shortcode_atts['custom_padding'] : '';
     if ('' !== $custom_padding) {
         $important = in_array('custom_padding', $important_options) || $use_global_important ? true : false;
         $style .= et_builder_get_element_style_css($custom_padding, 'padding', $important);
     }
     if ('' !== $custom_margin) {
         $important = in_array('custom_margin', $important_options) || $use_global_important ? true : false;
         $style .= et_builder_get_element_style_css($custom_margin, 'margin', $important);
     }
     if ('' !== $style) {
         $css_element = !empty($this->advanced_options['custom_margin_padding']['css']['main']) ? $this->advanced_options['custom_margin_padding']['css']['main'] : $this->main_css_element;
         self::set_style($function_name, array('selector' => $css_element, 'declaration' => rtrim($style), 'priority' => $this->_style_priority));
     }
 }
 function process_advanced_custom_margin_options($function_name)
 {
     if (!isset($this->advanced_options['custom_margin_padding'])) {
         return;
     }
     $style = '';
     $style_mobile = array();
     $important_options = array();
     $is_important_set = isset($this->advanced_options['custom_margin_padding']['css']['important']);
     $use_global_important = $is_important_set && 'all' === $this->advanced_options['custom_margin_padding']['css']['important'];
     if ($is_important_set && is_array($this->advanced_options['custom_margin_padding']['css']['important'])) {
         $important_options = $this->advanced_options['custom_margin_padding']['css']['important'];
     }
     $custom_margin = $this->advanced_options['custom_margin_padding']['use_margin'] ? $this->shortcode_atts['custom_margin'] : '';
     $custom_padding = $this->advanced_options['custom_margin_padding']['use_padding'] ? $this->shortcode_atts['custom_padding'] : '';
     $custom_margin_mobile = $this->advanced_options['custom_margin_padding']['use_margin'] && (isset($this->shortcode_atts['custom_margin_tablet']) || isset($this->shortcode_atts['custom_margin_phone'])) ? array('tablet' => isset($this->shortcode_atts['custom_margin_tablet']) ? $this->shortcode_atts['custom_margin_tablet'] : '', 'phone' => isset($this->shortcode_atts['custom_margin_phone']) ? $this->shortcode_atts['custom_margin_phone'] : '') : '';
     $custom_padding_mobile = $this->advanced_options['custom_margin_padding']['use_padding'] && (isset($this->shortcode_atts['custom_padding_tablet']) || isset($this->shortcode_atts['custom_padding_phone'])) ? array('tablet' => isset($this->shortcode_atts['custom_padding_tablet']) ? $this->shortcode_atts['custom_padding_tablet'] : '', 'phone' => isset($this->shortcode_atts['custom_padding_phone']) ? $this->shortcode_atts['custom_padding_phone'] : '') : '';
     if ('' !== $custom_padding || !empty($custom_padding_mobile)) {
         $important = in_array('custom_padding', $important_options) || $use_global_important ? true : false;
         $style .= '' !== $custom_padding ? et_builder_get_element_style_css($custom_padding, 'padding', $important) : '';
         if (!empty($custom_padding_mobile)) {
             foreach ($custom_padding_mobile as $device => $settings) {
                 $style_mobile[$device][] = '' !== $settings ? et_builder_get_element_style_css($settings, 'padding', $important) : '';
             }
         }
     }
     if ('' !== $custom_margin || !empty($custom_margin_mobile)) {
         $important = in_array('custom_margin', $important_options) || $use_global_important ? true : false;
         $style .= '' !== $custom_margin ? et_builder_get_element_style_css($custom_margin, 'margin', $important) : '';
         if (!empty($custom_margin_mobile)) {
             foreach ($custom_margin_mobile as $device => $settings) {
                 $style_mobile[$device][] = '' !== $settings ? et_builder_get_element_style_css($settings, 'margin', $important) : '';
             }
         }
     }
     if ('' !== $style) {
         $css_element = !empty($this->advanced_options['custom_margin_padding']['css']['main']) ? $this->advanced_options['custom_margin_padding']['css']['main'] : $this->main_css_element;
         self::set_style($function_name, array('selector' => $css_element, 'declaration' => rtrim($style), 'priority' => $this->_style_priority));
     }
     if (!empty($style_mobile)) {
         $css_element = !empty($this->advanced_options['custom_margin_padding']['css']['main']) ? $this->advanced_options['custom_margin_padding']['css']['main'] : $this->main_css_element;
         foreach ($style_mobile as $device => $style) {
             if (!empty($style)) {
                 $current_media_query = 'tablet' === $device ? 'max_width_980' : 'max_width_767';
                 $current_media_css = '';
                 foreach ($style as $css_code) {
                     $current_media_css .= $css_code;
                 }
                 if ('' === $current_media_css) {
                     continue;
                 }
                 self::set_style($function_name, array('selector' => $css_element, 'declaration' => rtrim($current_media_css), 'priority' => $this->_style_priority, 'media_query' => ET_Builder_Element::get_media_query($current_media_query)));
             }
         }
     }
 }