/
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/navigation.class.php
(20206B)
<?php /** * @package Revolution Slider * @author ThemePunch <info@themepunch.com> * @link https://revolution.themepunch.com/ * @copyright 2019 ThemePunch */ if(!defined('ABSPATH')) exit(); class RevSliderNavigation extends RevSliderFunctions { public $version = '6.0.0'; public function init_by_id($nav_id){ if(intval($nav_id) == 0) return false; global $wpdb; $row = $wpdb->get_row($wpdb->prepare("SELECT `id`, `handle`, `type`, `css`, `settings` FROM ".$wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS." WHERE `id` = %d", $nav_id), ARRAY_A); return $row; } /** * Get all Navigations Short * @since: 5.0 **/ public function get_all_navigations_short(){ global $wpdb; $navigations = $wpdb->get_results("SELECT `id`, `handle`, `name` FROM ".$wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, ARRAY_A); return $navigations; } public function get_all_navigations_builder($defaults = true, $raw = false){ $navs = $this->get_all_navigations($defaults, $raw); $real_navs = array( 'arrows' => array(), 'thumbs' => array(), 'bullets' => array(), 'tabs' => array() ); if(!empty($navs)){ foreach($navs as $nav){ $real_navs[$this->get_val($nav, 'type')][$this->get_val($nav, 'id')] = $nav; /*array( 'id' => $this->get_val($nav, 'id'), 'handle' => $this->get_val($nav, 'handle'), 'name' => $this->get_val($nav, 'name'), 'factory' => $this->get_val($nav, 'factory'), 'css' => $this->get_val($nav, 'css'), 'markup' => $this->get_val($nav, 'markup'), 'dim' => $this->get_val($nav, 'dim', array()), 'placeholders' => $this->get_val($nav, 'placeholders', array()), 'presets' => $this->get_val($nav, 'presets', array()) );*/ } } return $real_navs; } /** * Get all Navigations * @since: 5.0 **/ public function get_all_navigations($defaults = true, $raw = false, $old = false){ global $wpdb; $navigations = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, ARRAY_A); if($raw == false){ foreach($navigations as $key => $nav){ $navigations[$key]['factory'] = false; $navigations[$key]['css'] = ($old === true) ? $navigations[$key]['css'] : stripslashes($navigations[$key]['css']); $navigations[$key]['markup'] = ($old === true) ? $navigations[$key]['markup'] : stripslashes($navigations[$key]['markup']); if(isset($navigations[$key]['settings'])){ $navigations[$key]['settings'] = RevSliderFunctions::stripslashes_deep(json_decode($navigations[$key]['settings'], true)); if(!is_array($navigations[$key]['settings'])){ $navigations[$key]['settings'] = json_decode($navigations[$key]['settings'], true); } } } } if($defaults){ $def = self::get_default_navigations(); $default_presets = get_option('revslider-nav-preset-default', array()); if(!empty($def)){ if($raw == false){ foreach($def as $key => $nav){ $def[$key]['factory'] = true; if(isset($def[$key]['settings'])){ $def[$key]['settings'] = json_decode($def[$key]['settings'], true); } //add custom settings (placeholders) to the default navigation if(!empty($default_presets)){ if(!isset($def[$key]['settings'])) $def[$key]['settings'] = array(); if(!isset($def[$key]['settings']['presets'])) $def[$key]['settings']['presets'] = array(); foreach($default_presets as $id => $v){ if($id !== $def[$key]['id']) continue; if(!empty($v)){ foreach($v as $pr_v){ if($this->get_val($pr_v, 'type') !== $def[$key]['type']) continue; $def[$key]['settings']['presets'][$this->get_val($pr_v, 'name')] = array( 'name' => $this->get_val($pr_v, 'name'), 'values' => $this->get_val($pr_v, 'values') ); } } } } } } $navigations = array_merge($navigations, $def); } } foreach($navigations as $key => $nav){ //check if this is the v6 version if(version_compare($this->get_val($navigations[$key], array('settings', 'version'), false), $this->version, '>=')){ //we are v6, push settings to root $navigations[$key]['dim'] = $this->get_val($navigations[$key], array('settings', 'dim'), false); $navigations[$key]['placeholders'] = $this->get_val($navigations[$key], array('settings', 'placeholders'), false); $navigations[$key]['presets'] = $this->get_val($navigations[$key], array('settings', 'presets'), false); $navigations[$key]['version'] = $this->get_val($navigations[$key], array('settings', 'version'), false); unset($navigations[$key]['settings']); } } return $navigations; } /** * Creates / Updates Navigation skins * @since: 5.0 **/ public function create_update_full_navigation($data){ global $wpdb; if(!empty($data) && is_array($data)){ $navigations = $this->get_all_navigations(false); foreach($data as $vals){ $found = false; if(!isset($vals['markup']) || !isset($vals['css'])) continue; if($this->get_val($vals, 'factory', false) == 'true') continue; //defaults can't be deleted if(isset($vals['id'])){ //new will be added temporary to navs to tell here that they are new foreach($navigations as $nav){ if($vals['id'] == $nav['id']){ $found = true; break; } } } if($found == true){ //update $this->create_update_navigation($vals, $vals['id']); }else{ //create $this->create_update_navigation($vals); } } } return true; } /** * Creates / Updates Navigation skins * @since: 5.0 **/ public function create_update_navigation($data, $nav_id = 0){ global $wpdb; if($this->get_val($data, 'factory', false) == 'true') return false; $data['settings'] = array( 'dim' => $this->get_val($data, 'dim'), 'placeholders' => $this->get_val($data, 'placeholders'), 'presets' => $this->get_val($data, 'presets'), 'version' => $this->version ); $nav_id = intval($nav_id); if($nav_id > 0){ $response = $wpdb->update( $wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, array( 'name' => $this->get_val($data, 'name'), 'handle' => $this->get_val($data, 'handle'), 'markup' => $this->get_val($data, 'markup'), 'css' => $this->get_val($data, 'css'), 'settings' => json_encode($this->get_val($data, 'settings')) ), array('id' => $nav_id) ); }else{ $response = $wpdb->insert( $wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, array( 'name' => $this->get_val($data, 'name'), 'handle' => $this->get_val($data, 'handle'), 'type' => $this->get_val($data, 'type'), 'css' => $this->get_val($data, 'css'), 'markup' => $this->get_val($data, 'markup'), 'settings' => json_encode($this->get_val($data, 'settings')) ) ); } return $response; } /** * Delete Navigation * @since: 5.0 **/ public function delete_navigation($nav_id = 0){ global $wpdb; if(!isset($nav_id) || intval($nav_id) == 0) return __('Invalid ID', 'revslider'); $response = $wpdb->delete($wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, array('id' => $nav_id)); if($response === false) return __('Navigation could not be deleted', 'revslider'); return true; } /** * Get Default Navigation * @since: 5.0 **/ public static function get_default_navigations(){ $navigations = array(); include(RS_PLUGIN_PATH.'includes/navigations.php'); return apply_filters('revslider_mod_default_navigations', $navigations); } /** * Translate Navigation for backwards compatibility * @since: 5.0 **/ public static function translate_navigation($handle){ $translation = array( 'round' => 'hesperiden', 'navbar' => 'gyges', 'preview1' => 'hades', 'preview2' => 'ares', 'preview3' => 'hebe', 'preview4' => 'hermes', 'custom' => 'custom', 'round-old' => 'hephaistos', 'square-old' => 'persephone', 'navbar-old' => 'erinyen' ); return (isset($translation[$handle])) ? $translation[$handle] : $handle; } /** * Check if given Navigation is custom, if yes, export it * @since: 5.1.1 **/ public function export_navigation($nav_handle){ $navs = self::get_all_navigations(false, true); if(!is_array($nav_handle)) $nav_handle = array($nav_handle => true); $entries = array(); if(!empty($nav_handle) && !empty($navs)){ foreach($nav_handle as $nav_id => $u){ foreach($navs as $n => $v){ //if($v['handle'] == $nav_id){ if($v['id'] == $nav_id){ $entries[$nav_id] = $navs[$n]; break; } } } if(!empty($entries)) return $entries; } return false; } /** * Check the CSS for placeholders, replace them with correspinding values * @since: 5.2.0 **/ public function add_placeholder_modifications($def_navi, $slider, $output){ if(!is_array($def_navi)) $def_navi = json_decode($def_navi, true); $css = $this->get_val($def_navi, 'css'); $type = $this->get_val($def_navi, 'type'); $handle = $this->get_val($def_navi, 'handle'); if(!in_array($type, array('arrows', 'bullets', 'thumbs', 'tabs'))) return $css; $placeholders = $this->get_val($def_navi, 'placeholders', array()); if(is_array($placeholders) && !empty($placeholders)){ foreach($placeholders as $phandle => $ph){ $def = $slider->get_param(array('nav', $type, 'presets', $phandle.'-def'), false); $replace = ($def === true) ? $slider->get_param(array('nav', $type, 'presets', $phandle), $ph['data']) : $ph['data']; $css = str_replace('##'.$phandle.'##', $replace, $css); } $css = str_replace('.'.$handle, '#'.$output->get_html_id().'_wrapper .'.$handle, $css); } return $css; } /** * change rgb, rgba and hex to rgba like 120,130,50,0.5 (no () and rgb/rgba) * @since: 3.0.0 **/ public static function parse_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); 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; } /** * Check the CSS for placeholders, replace them with correspinding values * @since: x.x.x **/ public function add_placeholder_sub_modifications($css, $handle, $type, $placeholders, $slide, $output){ $css_class = new RevSliderCssParser(); $c_css = ''; if(!is_array($placeholders)) $placeholders = json_decode($placeholders, true); if(isset($placeholders) && is_array($placeholders) && !empty($placeholders)){ //first check for media queries, generate more than one staple $marr = $css_class->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 = $css_class->clear_media_block($mr); //remove media query and bracket $d = $css_class->css_to_array($mr); $ret = $this->preset_return_array_css($d, $placeholders, $slide, $handle, $type, $output); if(trim($ret) !== ''){ $c_css .= "\n".$media.' {'."\n"; $c_css .= $ret; $c_css .= "\n".'}'."\n"; } } } $c = $css_class->css_to_array($css); $c_css .= $this->preset_return_array_css($c, $placeholders, $slide, $handle, $type, $output); } return $c_css; } /** * Returns Array CSS modifications * @since: 5.2.0 **/ public function preset_return_array_css($c, $placeholders, $slide, $handle, $type, $output){ $c_css = ''; $array_css = array(); if(!empty($c)){ if(!empty($placeholders)){ foreach($placeholders as $k => $d){ if($slide->get_param(array('nav', $type, 'presets', $k.'-def'), false) === true){ //get from Slide foreach($c as $class => $styles){ foreach($styles as $name => $val){ if(strpos($val, '##'.$k.'##') !== false){ $e = $slide->get_param(array('nav', $type, 'presets', $k)); $array_css[$class][$name] = str_replace('##'.$k.'##', $e, $val); } } } } } } if(!empty($array_css)){ foreach($array_css as $class => $styles){ if(!empty($styles)){ //class needs to get current slider and slide id $slide_id = $slide->get_id(); $class = str_replace('.'.$handle, '#'.$output->get_html_id().'[data-slideactive="rs-'.$slide_id.'"] .'.$handle, $class); $c_css .= $class.'{'."\n"; foreach($styles as $style => $value){ //check if there are still defaults that needs to be replaced if(strpos($value, '##') !== false){ foreach($placeholders as $k => $d){ if(strpos($value, '##'.$k.'##') !== false){ $value = str_replace('##'.$k.'##', $d['data'], $value); } } } $c_css .= $style.': '.$value.' !important;'."\n"; } $c_css .= '}'."\n"; } } } } return $c_css; } /** * Add Navigation Preset to existing navigation * @since: 5.2.0 **/ public function add_preset($data){ if(!isset($data['navigation'])) return false; $navs = $this->get_all_navigations(); foreach($navs as $nav){ if($nav['id'] == $data['navigation']){ //found the navigation, get ID and update settings //check if default, they cant have presets in the table if(isset($nav['factory']) && $nav['factory'] == true){ //check if we are a default preset, if yes return error if(isset($nav['presets'])){ foreach($nav['presets'] as $prkey => $preset){ if($prkey == $data['handle']){ if(!isset($preset['editable'])){ return __("Can't modify a default preset of default navigations", 'revslider'); } } } } //we want to add the preset somewhere $overwrite = false; $default_presets = get_option('revslider-nav-preset-default', array()); if(!empty($default_presets) && isset($default_presets[$nav['id']])){ foreach($default_presets[$nav['id']] as $prkey => $preset){ if($prkey == $data['handle']){ if($data['do_overwrite'] === false || $data['do_overwrite'] === 'false'){ return __('Preset handle already exists, please choose a different name', 'revslider'); } $default_presets[$nav['id']][$prkey] = array( 'name' => esc_attr($data['name']), //'handle' => esc_attr($data['handle']), 'type' => esc_attr($data['type']), 'values' => $data['values'], 'editable' => true ); $overwrite = true; } } }/*else{ $default_presets = array(); }*/ if($overwrite === false){ $default_presets[$nav['id']][$data['handle']] = array( 'name' => esc_attr($data['name']), //'handle' => esc_attr($data['handle']), 'type' => esc_attr($data['type']), 'values' => $data['values'], 'editable' => true ); } update_option('revslider-nav-preset-default', $default_presets); //return __('Can\'t add a preset to default navigations', 'revslider'); }else{ $overwrite = false; if(isset($nav['presets']) && is_array($nav['presets']) && !empty($nav['presets'])){ foreach($nav['presets'] as $prkey => $preset){ if($prkey == $data['handle']){ if($data['do_overwrite'] === false || $data['do_overwrite'] === 'false'){ return __('Preset handle already exists, please choose a different name', 'revslider'); } $nav['presets'][$prkey] = array( 'name' => esc_attr($data['name']), //'handle' => esc_attr($data['handle']), 'type' => esc_attr($data['type']), 'values' => $data['values'] ); $overwrite = true; } } }else{ $nav['presets'] = array(); } if($overwrite === false){ $nav['presets'][$data['handle']] = array( 'name' => esc_attr($data['name']), //'handle' => esc_attr($data['handle']), 'type' => esc_attr($data['type']), 'values' => $data['values'] ); } $placeholders = $this->get_val($nav, 'placeholders'); if(!empty($placeholders)){ foreach($placeholders as $k => $pl){ if(isset($pl['data'])){ $placeholders[$k]['data'] = addslashes($pl['data']); } } } global $wpdb; //save this navigation $response = $wpdb->update( $wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, array( 'settings' => json_encode( array( 'dim' => $this->get_val($nav, 'dim'), 'placeholders' => $placeholders, 'presets' => $this->get_val($nav, 'presets'), 'version' => $this->version ) ) ), array('id' => $nav['id']) ); if($response == 0) $response = false; } return true; } } return __('Navigation not found, could not add preset', 'revslider'); } /** * Add Navigation Preset to existing navigation * @since: 5.2.0 **/ public function delete_preset($data){ if(!isset($data['style_handle']) || !isset($data['handle']) || !isset($data['type'])) return false; $navs = $this->get_all_navigations(); foreach($navs as $nav){ if($nav['id'] != $data['style_handle']) continue; if($nav['type'] != $data['type']) continue; //found the navigation, get ID and update settings //check if default, they cant have presets if(isset($nav['factory']) && $nav['factory'] == true){ $default_presets = get_option('revslider-nav-preset-default', array()); if(!empty($default_presets) && isset($default_presets[$nav['id']])){ foreach($default_presets[$nav['id']] as $prkey => $preset){ if($preset['name'] == $data['handle']){ unset($default_presets[$nav['id']][$prkey]); update_option('revslider-nav-preset-default', $default_presets); return true; } } return __('Can\'t delete default preset of default navigations', 'revslider'); } return __('Preset not found in default navigations', 'revslider'); }else{ if(isset($nav['presets'])){ foreach($nav['presets'] as $pkey => $preset){ if($preset['handle'] == $data['handle']){ //delete unset($nav['presets'][$pkey]); break; } } }else{ return __('Preset not found', 'revslider'); } global $wpdb; //save this navigation $response = $wpdb->update( $wpdb->prefix.RevSliderFront::TABLE_NAVIGATIONS, array( 'settings' => json_encode( array( 'dim' => $this->get_val($nav, 'dim'), 'placeholders' => $this->get_val($nav, 'placeholders'), 'presets' => $this->get_val($nav, 'presets'), 'version' => $this->version ) ) ), array('id' => $nav['id']) ); return $response; } } return __('Navigation not found, could not delete preset', 'revslider'); } } ?>
Save
cmd:
run