public function build_shortcode_clean_atts($atts) { unset($atts['_type']); unset($atts['elements']); foreach ($atts as $key => $value) { if ($value == '' || !is_scalar($value)) { unset($atts[$key]); continue; } if ($value === true) { $atts[$key] = 'true'; continue; } if ($value === false) { $atts[$key] = 'false'; continue; } if (is_array($value) && 5 == count($value) && ($value[4] == 'linked' || $value[4] == 'unlinked')) { $atts[$key] = Cornerstone_Control_Dimensions::simplify($value); continue; } } if (isset($atts['class'])) { $atts['class'] = cs_sanitize_html_classes($atts['class']); } return $atts; }
public static function legacy_injections($atts) { // Split generated and user values for access in render method $classes = array(); $styles = array(); if (isset($atts['margin']) && $atts['margin'] != '') { if (is_array($atts['margin'])) { $atts['margin'] = Cornerstone_Control_Dimensions::simplify($atts['margin']); } $styles[] = 'margin: ' . $atts['margin'] . ';'; } if (isset($atts['padding']) && $atts['padding'] != '') { if (is_array($atts['padding'])) { $atts['padding'] = Cornerstone_Control_Dimensions::simplify($atts['padding']); } $styles[] = 'padding: ' . $atts['padding'] . ';'; } if (isset($atts['border_style']) && $atts['border_style'] != 'none') { $styles[] = 'border-style: ' . $atts['border_style'] . ';'; if (isset($atts['border_width']) && $atts['border_width'] != '') { if (is_array($atts['border_width'])) { $atts['border_width'] = Cornerstone_Control_Dimensions::simplify($atts['border_width']); } $styles[] = 'border-width: ' . $atts['border_width'] . ';'; } if (isset($atts['border']) && $atts['border'] != '') { if (is_array($atts['border'])) { $atts['border'] = Cornerstone_Control_Dimensions::simplify($atts['border']); } $styles[] = 'border-width: ' . $atts['border'] . ';'; } if (isset($atts['border_color']) && $atts['border_color'] != '') { $styles[] = 'border-color: ' . $atts['border_color'] . ';'; } } if (isset($atts['visibility']) && is_array($atts['visibility']) && count($atts['visibility']) > 0) { $classes = array_merge($classes, $atts['visibility']); } if (isset($atts['text_align']) && $atts['text_align'] != 'none') { $classes[] = $atts['text_align']; } if (isset($atts['class'])) { $classes[] = $atts['class']; } if (isset($atts['style'])) { $styles[] = $atts['style']; } $classes = array_values($classes); // Combine user and injected values for shortcode injection if (count($classes) > 0) { $atts['class'] = implode($classes, ' '); } $styles = array_values($styles); if (count($styles) > 0) { $atts['style'] = implode($styles, ' '); } unset($atts['margin']); unset($atts['padding']); unset($atts['border_width']); unset($atts['border']); unset($atts['border_style']); unset($atts['border_color']); unset($atts['text_align']); return $atts; }