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;
 }