예제 #1
0
 /**
  * Check the CSS for placeholders, replace them with correspinding values
  * @since: 5.2.0
  **/
 public function add_placeholder_sub_modifications($css, $handle, $type, $settings, $slide, $output)
 {
     $c_css = '';
     if (!is_array($settings)) {
         $settings = json_decode($settings, true);
     }
     if (isset($settings['placeholders']) && is_array($settings['placeholders']) && !empty($settings['placeholders'])) {
         //first check for media queries, generate more than one staple
         $marr = RevSliderCssParser::parse_media_blocks($css);
         if (!empty($marr)) {
             //handle them separated
             foreach ($marr as $media => $mr) {
                 $css = str_replace($mr, '', $css);
                 //clean @media query from $mr
                 $mr = RevSliderCssParser::clear_media_block($mr);
                 //remove media query and bracket
                 $d = RevSliderCssParser::parseCssToArray($mr);
                 $ret = $this->preset_return_array_css($d, $settings, $slide, $handle, $type, $output);
                 if (trim($ret) !== '') {
                     $c_css .= "\n" . $media . ' {' . "\n";
                     $c_css .= $ret;
                     $c_css .= "\n" . '}' . "\n";
                 }
             }
         }
         $c = RevSliderCssParser::parseCssToArray($css);
         $c_css .= $this->preset_return_array_css($c, $settings, $slide, $handle, $type, $output);
     }
     return $c_css;
 }