/
home
/
vianto5
/
hidalgoresidences.mx
/
wp-content
/
plugins
/
revslider
/
includes
/
/home/vianto5/hidalgoresidences.mx/wp-content/plugins/revslider/includes
mkdir
upload
Name
Size
Mode
Actions
framework/
-
0755
rm
InstagramScraper/
-
0755
rm
Unirest/
-
0755
rm
aq-resizer.class.php
7961
0644
edit
dl
rm
backwards.php
2206
0644
edit
dl
rm
basic-css.php
11854
0644
edit
dl
rm
coloreasing.class.php
6325
0644
edit
dl
rm
colorpicker.class.php
15631
0644
edit
dl
rm
cssparser.class.php
25436
0644
edit
dl
rm
data.class.php
38002
0644
edit
dl
rm
em-integration.class.php
5803
0644
edit
dl
rm
extension.class.php
6088
0644
edit
dl
rm
external-sources.class.php
47097
0644
edit
dl
rm
favorite.class.php
1385
0644
edit
dl
rm
functions.class.php
33809
0644
edit
dl
rm
globals.class.php
2080
0644
edit
dl
rm
googlefonts.php
133229
0644
edit
dl
rm
index.php
0
0644
edit
dl
rm
InstagramScraper.php
1013
0644
edit
dl
rm
main.class.php
0
0644
edit
dl
rm
navigation.class.php
20206
0644
edit
dl
rm
navigations.php
102711
0644
edit
dl
rm
object-library.class.php
44690
0644
edit
dl
rm
operations.class.php
283413
0644
edit
dl
rm
output.class.php
269178
0644
edit
dl
rm
page-template.class.php
3431
0644
edit
dl
rm
slide.class.php
105996
0644
edit
dl
rm
slider.class.php
74835
0644
edit
dl
rm
template.class.php
58590
0644
edit
dl
rm
tinybox.class.php
16546
0644
edit
dl
rm
Unirest.php
299
0644
edit
dl
rm
update.class.php
6172
0644
edit
dl
rm
widget.class.php
4321
0644
edit
dl
rm
woocommerce.class.php
3540
0644
edit
dl
rm
wpml.class.php
5601
0644
edit
dl
rm
Edit:
/home/vianto5/hidalgoresidences.mx/wp-content/plugins/revslider/includes/cssparser.class.php
(25436B)
<?php /** * @author ThemePunch <info@themepunch.com> * @link https://www.themepunch.com/ * @copyright 2019 ThemePunch */ if(!defined('ABSPATH')) exit(); class RevSliderCssParser extends RevSliderFunctions { public $css; /** * init the parser, set css content * @before: RevSliderCssParser::initContent() */ public function init_css($css){ $this->css = $css; } /** * get array of slide classes, between two sections. * @before: RevSliderCssParser::getArrClasses() */ public function get_classes($start_text = '', $end_text = '', $explodeonspace = false){ $content = $this->css; $classes = array(); //trim from top if(!empty($start_text)){ $pos_start = strpos($content, $start_text); $content = ($pos_start !== false) ? substr($content, $pos_start, strlen($content) - $pos_start) : $content; } //trim from bottom if(!empty($end_text)){ $pos_end = strpos($content, $end_text); $content = ($pos_end !== false) ? substr($content, 0, $pos_end) : $content; } //get styles $lines = explode("\n", $content); foreach($lines as $key => $line){ $line = trim($line); if(strpos($line, '{') === false || strpos($line, ".caption a") || strpos($line, ".tp-caption a") !== false) continue; //get style out of the line $class = trim(str_replace('{', '', $line)); //skip captions like this: .tp-caption.imageclass img if(strpos($class, ' ') !== false){ if(!$explodeonspace){ continue; }else{ $class = explode(',', $class); $class = $class[0]; } } //skip captions like this: .tp-caption.imageclass:hover, :before, :after if(strpos($class, ':') !== false) continue; $class = str_replace(array('.caption.', '.tp-caption.'), '.', $class); $class = trim(str_replace('.', '', $class)); $words = explode(' ', $class); $class = $words[count($words)-1]; $class = trim($class); $classes[] = $class; } sort($classes); return $classes; } /** * parse css stylesheet to an array * @before: RevSliderCssParser::parseCssToArray(); **/ public function css_to_array($css){ while(strpos($css, '/*') !== false){ if(strpos($css, '*/') === false) return false; $start = strpos($css, '/*'); $end = strpos($css, '*/') + 2; $css = str_replace(substr($css, $start, $end - $start), '', $css); } //preg_match_all('/(?ims)([a-z0-9\s\.\:#_\-@]+)\{([^\}]*)\}/', $css, $arr); preg_match_all('/(?ims)([a-z0-9\,\s\.\:#_\-@]+)\{([^\}]*)\}/', $css, $arr); $result = array(); foreach($arr[0] as $i => $x){ $selector = trim($arr[1][$i]); if(strpos($selector, '{') !== false || strpos($selector, '}') !== false) return false; $rules = explode(';', trim($arr[2][$i])); $result[$selector] = array(); foreach($rules as $strRule){ if(!empty($strRule)){ $rule = explode(':', $strRule); //does not work if in css is another { or } //if(strpos($rule[0], '{') !== false || strpos($rule[0], '}') !== false || strpos($rule[1], '{') !== false || strpos($rule[1], '}') !== false) return false; //put back everything but not $rule[0]; $key = trim($rule[0]); unset($rule[0]); $values = implode(':', $rule); $result[$selector][trim($key)] = trim(str_replace("'", '"', $values)); } } } return $result; } /** * parse database entry to css * @before: RevSliderCssParser::parseDbArrayToCss(); **/ public function parse_db_to_css($css_array, $nl = "\n\r"){ $css = ''; $deformations = $this->get_deformation_css_tags(); $transparency = array( 'color' => 'color-transparency', 'background-color' => 'background-transparency', 'border-color' => 'border-transparency' ); $check_parameters = array( 'border-width' => 'px', 'border-radius' => 'px', 'padding' => 'px', 'font-size' => 'px', 'line-height' => 'px' ); foreach($css_array as $id => $attr){ $stripped = (strpos($attr['handle'], '.tp-caption') !== false) ? trim(str_replace('.tp-caption', '', $attr['handle'])) : ''; $attr['advanced'] = json_decode($attr['advanced'], true); $styles = json_decode(str_replace("'", '"', $attr['params']), true); $styles_adv = $attr['advanced']['idle']; $css .= $attr['handle']; $css .= (!empty($stripped)) ? ', '.$stripped : ''; $css .= ' {'.$nl; if(is_array($styles) || is_array($styles_adv)){ if(is_array($styles)){ foreach($styles as $name => $style){ if(in_array($name, $deformations) && $name !== 'cursor') continue; if(!is_array($name) && isset($transparency[$name])){ //the style can have transparency! if(isset($styles[$transparency[$name]]) && $style !== 'transparent'){ $style = $this->hex2rgba($style, $styles[$transparency[$name]] * 100); } } if(!is_array($name) && isset($check_parameters[$name])){ $style = $this->add_missing_val($style, $check_parameters[$name]); } if(is_array($style) || is_object($style)) $style = implode(' ', $style); $ret = $this->check_for_modifications($name, $style); if($ret['name'] == 'cursor' && $ret['style'] == 'auto') continue; $css .= $ret['name'].':'.$ret['style'].";".$nl; } } if(is_array($styles_adv)){ foreach($styles_adv as $name => $style){ if(in_array($name, $deformations) && $name !== 'cursor') continue; if(is_array($style) || is_object($style)) $style = implode(' ', $style); $ret = $this->check_for_modifications($name, $style); if($ret['name'] == 'cursor' && $ret['style'] == 'auto') continue; $css .= $ret['name'].':'.$ret['style'].";".$nl; } } } $css .= '}'.$nl.$nl; //add hover $setting = json_decode($attr['settings'], true); if(isset($setting['hover']) && $setting['hover'] == 'true'){ $hover = json_decode(str_replace("'", '"', $attr['hover']), true); $hover_adv = $attr['advanced']['hover']; if(is_array($hover) || is_array($hover_adv)){ $css .= $attr['handle'].':hover'; if(!empty($stripped)) $css .= ', '.$stripped.':hover'; $css .= ' {'.$nl; if(is_array($hover)){ foreach($hover as $name => $style){ if(in_array($name, $deformations) && $name !== 'cursor') continue; if(!is_array($name) && isset($transparency[$name])){ //the style can have transparency! if(isset($hover[$transparency[$name]]) && $style !== 'transparent'){ $style = $this->hex2rgba($style, $hover[$transparency[$name]] * 100); } } if(!is_array($name) && isset($check_parameters[$name])){ $style = $this->add_missing_val($style, $check_parameters[$name]); } if(is_array($style)|| is_object($style)) $style = implode(' ', $style); $ret = $this->check_for_modifications($name, $style); if($ret['name'] == 'cursor' && $ret['style'] == 'auto') continue; $css .= $ret['name'].':'.$ret['style'].";".$nl; } } if(is_array($hover_adv)){ foreach($hover_adv as $name => $style){ if(in_array($name, $deformations) && $name !== 'cursor') continue; if(is_array($style)|| is_object($style)) $style = implode(' ', $style); $ret = $this->check_for_modifications($name, $style); if($ret['name'] == 'cursor' && $ret['style'] == 'auto') continue; $css .= $ret['name'].':'.$ret['style'].";".$nl; } } $css .= '}'.$nl.$nl; } } } return $css; } /** * Check for Modifications like with cursor * @since: 5.1.3 **/ public function check_for_modifications($name, $style){ if($name == 'cursor'){ $style = ($style == 'zoom-in') ? 'zoom-in; -webkit-zoom-in; cursor: -moz-zoom-in' : $style; $style = ($style == 'zoom-out') ? 'zoom-out; -webkit-zoom-out; cursor: -moz-zoom-out' : $style; $name = 'cursor'; } return array('name' => $name, 'style' => $style); } /** * Check for Modifications like with cursor * @before: RevSliderCssParser::parseArrayToCss(); **/ public function array_to_css($css_array, $nl = "\n\r", $adv = false){ $css = ''; $deformations = $this->get_deformation_css_tags(); foreach($css_array as $id => $attr){ $setting = (array)$attr['settings']; $advanced = (array)$attr['advanced']; $stripped = (strpos($attr['handle'], '.tp-caption') !== false) ? trim(str_replace('.tp-caption', '', $attr['handle'])) : ''; $styles = (array)$attr['params']; $css .= $attr['handle']; $css .= (!empty($stripped)) ? ', '.$stripped : $css; $css .= ' {'.$nl; if($adv && isset($advanced['idle'])){ $styles = array_merge($styles, (array)$advanced['idle']); if(isset($setting['type'])){ $styles['type'] = $setting['type']; } } if(is_array($styles) && !empty($styles)){ foreach($styles as $name => $style){ if(in_array($name, $deformations) && $name !== 'cursor') continue; if($name == 'background-color' && strpos($style, 'rgba') !== false){ //rgb && rgba $rgb = explode(',', str_replace('rgba', 'rgb', $style)); unset($rgb[count($rgb)-1]); $rgb = implode(',', $rgb).')'; $css .= $name.':'.$rgb.';'.$nl; } $style = (is_array($style) || is_object($style)) ? implode(' ', $style) : $style; $css .= $name.':'.$style.';'.$nl; } } $css .= '}'.$nl.$nl; //add hover if(isset($setting['hover']) && $setting['hover'] == 'true'){ $hover = (array)$attr['hover']; if($adv && isset($advanced['hover'])){ $styles = array_merge($styles, (array)$advanced['hover']); } if(is_array($hover)){ $css .= $attr['handle'].':hover'; if(!empty($stripped)) $css.= ', '.$stripped.':hover'; $css .= ' {'.$nl; foreach($hover as $name => $style){ if($name == 'background-color' && strpos($style, 'rgba') !== false){ //rgb && rgba $rgb = explode(',', str_replace('rgba', 'rgb', $style)); unset($rgb[count($rgb)-1]); $rgb = implode(',', $rgb).')'; $css .= $name.':'.$rgb.';'.$nl; } $style = (is_array($style) || is_object($style)) ? implode(' ', $style) : $style; $css .= $name.':'.$style.';'.$nl; } $css .= '}'.$nl.$nl; } } } return $css; } /** * parse static database to css * @before: RevSliderCssParser::parseStaticArrayToCss(); **/ public function static_to_css($css_array, $nl = "\n"){ return $this->simple_array_to_css($css_array); } /** * parse simple array to css * @before: RevSliderCssParser::parseSimpleArrayToCss(); **/ public function simple_array_to_css($css_array, $nl = "\n"){ $css = ''; foreach($css_array as $class => $styles){ $css .= $class.' {'.$nl; if(is_array($styles) && !empty($styles)){ foreach($styles as $name => $style){ $style = (is_array($style) || is_object($style)) ? implode(' ', $style) : $style; $css .= $name.':'.$style.';'.$nl; } } $css .= '}'.$nl.$nl; } return $css; } /** * parse db array to array * @before: RevSliderCssParser::parseDbArrayToArray(); **/ public function db_array_to_array($css_array, $handle = false){ if(!is_array($css_array) || empty($css_array)) return false; foreach($css_array as $key => $css){ if($handle != false){ if($this->get_val($css_array[$key], 'handle') == '.tp-caption.'.$handle){ $css_array[$key]['params'] = json_decode(str_replace("'", '"', $this->get_val($css, 'params'))); $css_array[$key]['hover'] = json_decode(str_replace("'", '"', $this->get_val($css, 'hover'))); $css_array[$key]['advanced'] = json_decode(str_replace("'", '"', $this->get_val($css, 'advanced'))); $css_array[$key]['settings'] = json_decode(str_replace("'", '"', $this->get_val($css, 'settings'))); return $css_array[$key]; }else{ unset($css_array[$key]); } }else{ $css_array[$key]['params'] = json_decode(str_replace("'", '"', $this->get_val($css, 'params'))); $css_array[$key]['hover'] = json_decode(str_replace("'", '"', $this->get_val($css, 'hover'))); $css_array[$key]['advanced'] = json_decode(str_replace("'", '"', $this->get_val($css, 'advanced'))); $css_array[$key]['settings'] = json_decode(str_replace("'", '"', $this->get_val($css, 'settings'))); } } return $css_array; } /** * compress the css **/ public function compress_css($buffer){ /* remove comments */ $buffer = preg_replace("!/\*[^*]*\*+([^/][^*]*\*+)*/!", '', $buffer) ; /* remove tabs, spaces, newlines, etc. */ $arr = array("\r\n", "\r", "\n", "\t", ' ', ' ', ' '); $rep = array('', '', '', '', ' ', ' ', ' '); $buffer = str_replace($arr, $rep, $buffer); /* remove whitespaces around {}:, */ $buffer = preg_replace("/\s*([\{\}:,])\s*/", "$1", $buffer); /* remove last ; */ $buffer = str_replace(';}', '}', $buffer); return $buffer; } /** * Defines the default CSS Classes, can be given a version number to order them accordingly * @since: 5.0 **/ public function default_css_classes(){ $c = '.tp-caption'; $default = array( $c.'.medium_grey' => '4', $c.'.small_text' => '4', $c.'.medium_text' => '4', $c.'.large_text' => '4', $c.'.very_large_text' => '4', $c.'.very_big_white' => '4', $c.'.very_big_black' => '4', $c.'.modern_medium_fat' => '4', $c.'.modern_medium_fat_white' => '4', $c.'.modern_medium_light' => '4', $c.'.modern_big_bluebg' => '4', $c.'.modern_big_redbg' => '4', $c.'.modern_small_text_dark' => '4', $c.'.boxshadow' => '4', $c.'.black' => '4', $c.'.noshadow' => '4', $c.'.thinheadline_dark' => '4', $c.'.thintext_dark' => '4', $c.'.largeblackbg' => '4', $c.'.largepinkbg' => '4', $c.'.largewhitebg' => '4', $c.'.largegreenbg' => '4', $c.'.excerpt' => '4', $c.'.large_bold_grey' => '4', $c.'.medium_thin_grey' => '4', $c.'.small_thin_grey' => '4', $c.'.lightgrey_divider' => '4', $c.'.large_bold_darkblue' => '4', $c.'.medium_bg_darkblue' => '4', $c.'.medium_bold_red' => '4', $c.'.medium_light_red' => '4', $c.'.medium_bg_red' => '4', $c.'.medium_bold_orange' => '4', $c.'.medium_bg_orange' => '4', $c.'.grassfloor' => '4', $c.'.large_bold_white' => '4', $c.'.medium_light_white' => '4', $c.'.mediumlarge_light_white' => '4', $c.'.mediumlarge_light_white_center' => '4', $c.'.medium_bg_asbestos' => '4', $c.'.medium_light_black' => '4', $c.'.large_bold_black' => '4', $c.'.mediumlarge_light_darkblue'=> '4', $c.'.small_light_white' => '4', $c.'.roundedimage' => '4', $c.'.large_bg_black' => '4', $c.'.mediumwhitebg' => '4', $c.'.MarkerDisplay' => '5.0', $c.'.Restaurant-Display' => '5.0', $c.'.Restaurant-Cursive' => '5.0', $c.'.Restaurant-ScrollDownText' => '5.0', $c.'.Restaurant-Description' => '5.0', $c.'.Restaurant-Price' => '5.0', $c.'.Restaurant-Menuitem' => '5.0', $c.'.Furniture-LogoText' => '5.0', $c.'.Furniture-Plus' => '5.0', $c.'.Furniture-Title' => '5.0', $c.'.Furniture-Subtitle' => '5.0', $c.'.Gym-Display' => '5.0', $c.'.Gym-Subline' => '5.0', $c.'.Gym-SmallText' => '5.0', $c.'.Fashion-SmallText' => '5.0', $c.'.Fashion-BigDisplay' => '5.0', $c.'.Fashion-TextBlock' => '5.0', $c.'.Sports-Display' => '5.0', $c.'.Sports-DisplayFat' => '5.0', $c.'.Sports-Subline' => '5.0', $c.'.Instagram-Caption' => '5.0', $c.'.News-Title' => '5.0', $c.'.News-Subtitle' => '5.0', $c.'.Photography-Display' => '5.0', $c.'.Photography-Subline' => '5.0', $c.'.Photography-ImageHover' => '5.0', $c.'.Photography-Menuitem' => '5.0', $c.'.Photography-Textblock' => '5.0', $c.'.Photography-Subline-2' => '5.0', $c.'.Photography-ImageHover2' => '5.0', $c.'.WebProduct-Title' => '5.0', $c.'.WebProduct-SubTitle' => '5.0', $c.'.WebProduct-Content' => '5.0', $c.'.WebProduct-Menuitem' => '5.0', $c.'.WebProduct-Title-Light' => '5.0', $c.'.WebProduct-SubTitle-Light' => '5.0', $c.'.WebProduct-Content-Light' => '5.0', $c.'.FatRounded' => '5.0', $c.'.NotGeneric-Title' => '5.0', $c.'.NotGeneric-SubTitle' => '5.0', $c.'.NotGeneric-CallToAction' => '5.0', $c.'.NotGeneric-Icon' => '5.0', $c.'.NotGeneric-Menuitem' => '5.0', $c.'.MarkerStyle' => '5.0', $c.'.Gym-Menuitem' => '5.0', $c.'.Newspaper-Button' => '5.0', $c.'.Newspaper-Subtitle' => '5.0', $c.'.Newspaper-Title' => '5.0', $c.'.Newspaper-Title-Centered' => '5.0', $c.'.Hero-Button' => '5.0', $c.'.Video-Title' => '5.0', $c.'.Video-SubTitle' => '5.0', $c.'.NotGeneric-Button' => '5.0', $c.'.NotGeneric-BigButton' => '5.0', $c.'.WebProduct-Button' => '5.0', $c.'.Restaurant-Button' => '5.0', $c.'.Gym-Button' => '5.0', $c.'.Gym-Button-Light' => '5.0', $c.'.Sports-Button-Light' => '5.0', $c.'.Sports-Button-Red' => '5.0', $c.'.Photography-Button' => '5.0', $c.'.Newspaper-Button-2' => '5.0' ); return apply_filters('revslider_mod_default_css_handles', $default); } /** * Defines the deformation CSS which is not directly usable as pure CSS * @since: 5.0 **/ public function get_deformation_css_tags(){ return array( 'x' => 'x', 'y' => 'y', 'z' => 'z', 'skewx' => 'skewx', 'skewy' => 'skewy', 'scalex' => 'scalex', 'scaley' => 'scaley', 'opacity' => 'opacity', 'xrotate' => 'xrotate', 'yrotate' => 'yrotate', '2d_rotation' => '2d_rotation', 'layer_2d_origin_x' => 'layer_2d_origin_x', 'layer_2d_origin_y' => 'layer_2d_origin_y', '2d_origin_x' => '2d_origin_x', '2d_origin_y' => '2d_origin_y', 'pers' => 'pers', 'color-transparency' => 'color-transparency', 'background-transparency' => 'background-transparency', 'border-transparency'=> 'border-transparency', 'cursor' => 'cursor', 'speed' => 'speed', 'easing' => 'easing', 'corner_left' => 'corner_left', 'corner_right' => 'corner_right', 'parallax' => 'parallax', 'type' => 'type', 'padding' => 'padding', 'margin' => 'margin', 'text-align' => 'text-align' ); } /** * return the captions sorted by handle name **/ public function get_captions_sorted(){ global $wpdb; $styles = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_CSS . " ORDER BY handle ASC", ARRAY_A); $arr = array('5.0' => array(), 'Custom' => array(), '4' => array()); foreach($styles as $style){ $setting = json_decode($this->get_val($style, 'settings'), true); if(!isset($setting['type'])) $setting['type'] = 'text'; if(array_key_exists('version', $setting) && isset($setting['version'])) $arr[ucfirst($setting['version'])][] = array('label' => trim(str_replace('.tp-caption.', '', $style['handle'])), 'type' => $setting['type']); } $sorted = array(); foreach($arr as $version => $class){ foreach($class as $name){ $sorted[] = array('label' => $this->get_val($name, 'label'), 'version' => $version, 'type' => $this->get_val($name, 'type')); } } return $sorted; } /** * Handles media queries * @since: 5.2.0 **/ public function parse_media_blocks($css){ $blocks = array(); $start = 0; while(($start = strpos($css, '@media', $start)) !== false){ $s = array(); $i = strpos($css, '{', $start); if ($i !== false){ $block = trim(substr($css, $start, $i - $start)); array_push($s, $css[$i]); $i++; while(!empty($s)){ if($css[$i] == '{'){ array_push($s, '{'); }elseif($css[$i] == '}'){ array_pop($s); }else{ //broken css? } $i++; } $blocks[$block] = substr($css, $start, ($i + 1) - $start); $start = $i; } } return $blocks; } /** * removes @media { ... } queries from CSS * @since: 5.2.0 **/ public function clear_media_block($css){ $start = 0; if(strpos($css, '@media', $start) !== false){ $start = strpos($css, '@media', 0); $i = strpos($css, '{', $start) + 1; $remove = substr($css, $start - 1, $i - $start + 1); //remove @media ... first { $css = str_replace($remove, '', $css); $css = preg_replace('/}$/', '', $css); //remove last } } return $css; } /** * import contents of the css file * @before: RevSliderOperations::importCaptionsCssContentArray() */ public function import_css_captions(){ global $wpdb; $css = $this->get_base_css_captions(); $static = array(); if(is_array($css) && $css !== false && count($css) > 0){ foreach($css as $class => $styles){ //check if static style or dynamic style $class = trim($class); if((strpos($class, ':hover') === false && strpos($class, ':') !== false) || //before, after strpos($class, ' ') !== false || // .tp-caption.imageclass img or .tp-caption .imageclass or .tp-caption.imageclass .img strpos($class, '.tp-caption') === false || // everything that is not tp-caption (strpos($class, '.') === false || strpos($class, '#') !== false) || // no class -> #ID or img strpos($class, '>') !== false){ //.tp-caption>.imageclass or .tp-caption.imageclass>img or .tp-caption.imageclass .img $static[$class] = $styles; continue; } //is a dynamic style if(strpos($class, ':hover') !== false){ $class = trim(str_replace(':hover', '', $class)); $add = array( 'hover' => json_encode($styles), 'settings' => json_encode(array('hover' => 'true')) ); }else{ $add = array( 'params' => json_encode($styles) ); } //check if class exists $result = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_CSS." WHERE handle = %s", $class), ARRAY_A); if(!empty($result)){ //update $wpdb->update($wpdb->prefix . RevSliderFront::TABLE_CSS, $add, array('handle' => $class)); }else{ //insert $add['handle'] = $class; $wpdb->insert($wpdb->prefix . RevSliderFront::TABLE_CSS, $add); } } } if(!empty($static)){ //save static into static-captions.css $css = $this->get_static_css()."\n".$this->static_to_css($static); //get the open sans line! $this->update_static_css($css); } } /** * get contents of the css file * @before: RevSliderOperations::getCaptionsCssContentArray(); */ public function get_base_css_captions(){ include(RS_PLUGIN_PATH . 'includes/basic-css.php'); return $this->css_to_array($css); } /** * get the css raw from the database */ public function get_raw_css(){ global $wpdb; $result = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix . RevSliderFront::TABLE_CSS, ARRAY_A); return $result; } /** * get the css from the database and set it into an object structure */ public function get_database_classes($adv = false){ $css = $this->get_raw_css(); if(!empty($css)){ foreach($css as $k => $v){ if($adv === true){ $css[$v['handle']]['hover'] = json_decode($this->get_val($v, 'hover', ''), true); $css[$v['handle']]['params'] = json_decode($this->get_val($v, 'params', ''), true); $css[$v['handle']]['settings'] = json_decode($this->get_val($v, 'settings', ''), true); }else{ unset($css[$v['handle']]['hover']); unset($css[$v['handle']]['params']); unset($css[$v['handle']]['settings']); } $css[$v['handle']]['advanced'] = json_decode($this->get_val($v, 'advanced', ''), true); } } return $css; } /** * add missing px/% to value, do also for object and array * @since: 5.0 **/ public function add_missing_val($obj, $set_to = 'px'){ if(is_array($obj)){ foreach($obj as $key => $value){ if(strpos($value, $set_to) === false){ $obj[$key] = $value.$set_to; } } }elseif(is_object($obj)){ foreach($obj as $key => $value){ if(is_object($value)){ if(isset($value->v)){ if(strpos($value->v, $set_to) === false){ $obj->$key->v = $value->v.$set_to; } } }else{ if(strpos($value, $set_to) === false){ $obj->$key = $value.$set_to; } } } }else{ if(strpos($obj, $set_to) === false){ $obj .= $set_to; } } return $obj; } /** * change hex to rgba */ public function hex2rgba($hex, $transparency = false, $raw = false, $do_rgb = false){ if($transparency !== false){ $transparency = ($transparency > 0) ? number_format(($transparency / 100), 2, '.', '') : 0; }else{ $transparency = 1; } $hex = str_replace('#', '', $hex); if(strlen($hex) == 3){ $r = hexdec(substr($hex,0,1).substr($hex,0,1)); $g = hexdec(substr($hex,1,1).substr($hex,1,1)); $b = hexdec(substr($hex,2,1).substr($hex,2,1)); }elseif($this->is_rgb($hex)){ return $hex; }else{ $r = hexdec(substr($hex,0,2)); $g = hexdec(substr($hex,2,2)); $b = hexdec(substr($hex,4,2)); } $ret = ($do_rgb) ? $r.', '.$g.', '.$b : $r.', '.$g.', '.$b.', '.$transparency; return ($raw) ? $ret : 'rgba('.$ret.')'; } } ?>
Save
cmd:
run