options = $wdwt_options;
/*var_dump($this->options['slider_head']);
var_dump($this->options['slider_head_href']);
var_dump($this->options['slider_head_title']);
var_dump($this->options['slider_head_desc']);
*/
}
/**
*
* return value of parameter for post, page or index page
* first looks for parameter in meta, then if not found there, in options
* @param $param_name 'menu_bg_color' or '[colors][menu][bg_color]'
*/
public function get_param($param_name, $meta_array = array(), $default =''){
$value=false;
$options_array = $this->options;
preg_match_all("/\[([^\]]*)\]/", $param_name, $matches);
/*if param name is string*/
if(empty($matches[1])){
if(isset($meta_array[$param_name])){
$value = $meta_array[$param_name];
}
elseif(isset($options_array[$param_name])){
$value = $options_array[$param_name];
}
else{
$value = $default;
}
return $value;
}
else{/*if param name is array*/
$in_options = false;
$in_meta = false;
$value = $meta_array;
foreach($matches[1] as $subparam)
{
if(isset($value[$subparam])){
/*dig into meta array*/
$value = $value[$subparam];
$in_meta = true;
}
else{
$in_meta = false;
break;
}
}
if($in_meta){
/*param value is found in meta*/
return $value;
}
$value = $options_array;
foreach($matches[1] as $subparam)
{
if(isset($value[$subparam])){
/*dig into options array*/
$value = $value[$subparam];
$in_options = true;
}
else{
$in_options = false;
break;
}
}
if($in_options){
/*param value is found in options*/
return $value;
}
else{
return $default;
}
}
return $default;
}
/*------------ Prints all front end TYPOGRAPHY styles-------------------*/
public function typography(){
echo '';
$headers = $this->typography_headers_script();
$primary = $this->typography_primary_script();
$secondary = $this->typography_secondary_script();
$inputs = $this->typography_inputs_script();
?>
check_fonts_gfont_update($this->get_param('text_headers_font'));
$text_headers_weight = $this->get_param('text_headers_weight');
$text_headers_kern = $this->get_param('text_headers_kern');
$text_headers_transform = $this->get_param('text_headers_transform');
$text_headers_variant = $this->get_param('text_headers_variant');
$text_headers_style = $this->get_param('text_headers_style');
?>
h1, h2, h3, h4, h5, h6 {
font-family: ;
font-weight: ;
letter-spacing: ;
text-transform: ;
font-variant: ;
font-style: ;
}
check_fonts_gfont_update($this->get_param('text_primary_font'));
$text_primary_weight = $this->get_param('text_primary_weight');
$text_primary_kern = $this->get_param('text_primary_kern');
$text_primary_transform = $this->get_param('text_primary_transform');
$text_primary_variant = $this->get_param('text_primary_variant');
$text_primary_style = $this->get_param('text_primary_style'); ?>
body {
font-family: ;
font-weight: ;
letter-spacing: ;
text-transform: ;
font-variant: ;
font-style: ;
}
check_fonts_gfont_update($this->get_param('text_secondary_font'));
$text_secondary_weight = $this->get_param('text_secondary_weight');
$text_secondary_kern = $this->get_param('text_secondary_kern');
$text_secondary_transform = $this->get_param('text_secondary_transform');
$text_secondary_variant = $this->get_param('text_secondary_variant');
$text_secondary_style = $this->get_param('text_secondary_style'); ?>
.nav, .metabar, .subtext, .subhead, .widget-title, .reply a, .editpage, #page .wp-pagenavi, .post-edit-link, #wp-calendar caption, #wp-calendar thead th, .soapbox-links a, .fancybox, .standard-form .admin-links, .ftitle small {
font-family: ;
font-weight: ;
letter-spacing: ;
text-transform: ;
font-variant: ;
font-style: ;
}
check_fonts_gfont_update($this->get_param('text_inputs_font'));
$text_inputs_weight = $this->get_param('text_inputs_weight');
$text_inputs_kern = $this->get_param('text_inputs_kern');
$text_inputs_transform = $this->get_param('text_inputs_transform');
$text_inputs_variant = $this->get_param('text_inputs_variant');
$text_inputs_style = $this->get_param('text_inputs_style'); ?>
input, textarea {
font-family: ;
font-weight: ;
letter-spacing: ;
text-transform: ;
font-variant: ;
font-style: ;
?>;
}
check_fonts_gfont_update($this->get_param('text_headers_font'));
$text_headers_weight = $this->get_param('text_headers_weight');
$text_headers_style = $this->get_param('text_headers_style');
$text_headers_font_array = explode(",",$text_headers_font[0]);
$headers_font = $text_headers_font_array[0];
$text_headers_style[0] == 'normal' ? '' : $text_headers_style[0];
return array($headers_font, $text_headers_weight[0], $text_headers_style[0] );
}
protected function typography_primary_script(){
$text_primary_font = $this->check_fonts_gfont_update($this->get_param('text_primary_font'));
$text_primary_weight = $this->get_param('text_primary_weight');
$text_primary_style = $this->get_param('text_primary_style');
$text_primary_font_array = explode(",",$text_primary_font[0]);
$primary_font = $text_primary_font_array[0];
$text_primary_style[0] == 'normal' ? '' : $text_primary_style[0];
return array($primary_font, $text_primary_weight[0], $text_primary_style[0] );
}
protected function typography_secondary_script(){
$text_secondary_font = $this->check_fonts_gfont_update($this->get_param('text_secondary_font'));
$text_secondary_weight = $this->get_param('text_secondary_weight');
$text_secondary_style = $this->get_param('text_secondary_style');
$text_secondary_font_array = explode(",",$text_secondary_font[0]);
$secondary_font = $text_secondary_font_array[0];
$text_secondary_style[0] == 'normal' ? '' : $text_secondary_style[0];
return array($secondary_font, $text_secondary_weight[0], $text_secondary_style[0] );
}
protected function typography_inputs_script(){
$text_inputs_font = $this->check_fonts_gfont_update($this->get_param('text_inputs_font'));
$text_inputs_weight = $this->get_param('text_inputs_weight');
$text_inputs_style = $this->get_param('text_inputs_style');
$text_inputs_font_array = explode(",",$text_inputs_font[0]);
$inputs_font = $text_inputs_font_array[0];
$text_inputs_style[0] == 'normal' ? '' : $text_inputs_style[0];
return array($inputs_font, $text_inputs_weight[0], $text_inputs_style[0] );
}
/**
* @since 1.1.11
* check if old value of font exists in new fonts array after gfonts update,
* if not resets to the default
*/
function check_fonts_gfont_update($font = array('')){
global $wdwt_typography_page;
$newfonts = $wdwt_typography_page->fonts_options();
if(is_array($font) && isset($font[0]) && array_key_exists($font[0], $newfonts)){
return $font;
}
else{
$keys = array_keys($newfonts);
$first_key = reset($keys); // return first which is default val
return array($first_key);
}
}
/**
* FRONT END FAVICON HTML
*/
public function favicon_img(){
if ( ! function_exists( 'has_site_icon' ) || ! has_site_icon() ) {
$favicon_img = esc_url(trim($this->get_param('favicon_img')));
$favicon_enable = $this->get_param('favicon_enable');
if($favicon_enable && $favicon_img) { ?>
get_param('custom_css_enable');
$custom_css_text = stripslashes($this->get_param('custom_css_text'));
if($custom_css_enable){
echo "";
}
}
/**
* Modify output color,
* add opacity
*/
protected function hex_to_rgba($color, $opacity = false) {
$default = 'rgb(0,0,0)';
//Return default if no color provided
if(empty($color))
return $default;
//Sanitize color if "#" is provided
if ($color[0] == '#' ) {
$color = substr( $color, 1 );
}
//Check if color has 6 or 3 characters and get values
if (strlen($color) == 6) {
$hex = array( $color[0] . $color[1], $color[2] . $color[3], $color[4] . $color[5] );
} elseif ( strlen( $color ) == 3 ) {
$hex = array( $color[0] . $color[0], $color[1] . $color[1], $color[2] . $color[2] );
} else {
return $default;
}
//Convert hexadec to rgb
$rgb = array_map('hexdec', $hex);
//Check if opacity is set(rgba or rgb)
if($opacity){
if(abs($opacity) > 1)
$opacity = 1.0;
$output = 'rgba('.implode(",",$rgb).','.$opacity.')';
} else {
$output = 'rgb('.implode(",",$rgb).')';
}
//Return rgb(a) color string
return $output;
}
public function hex2rgb($colour) {
if ($colour[0] == '#') {
$colour = substr( $colour, 1 );
}
if (strlen($colour) == 6) {
list( $r, $g, $b ) = array( $colour[0] . $colour[1], $colour[2] . $colour[3], $colour[4] . $colour[5]);
}
else if (strlen($colour) == 3) {
list($r, $g, $b) = array($colour[0] . $colour[0], $colour[1] . $colour[1], $colour[2] . $colour[2]);
}
else {
return FALSE;
}
$r = hexdec($r);
$g = hexdec($g);
$b = hexdec($b);
return array('red' => $r, 'green' => $g, 'blue' => $b);
}
/**
* Modify output color,
* make color darker
*/
protected function darker($color,$pracent){
$new_color=$color;
if(!(strlen($new_color==6) || strlen($new_color)==7))
{
return $color;
}
$color_vandakanishov=strpos($new_color,'#');
if($color_vandakanishov == false) {
$new_color= str_replace('#','',$new_color);
}
$color_part_1=substr($new_color, 0, 2);
$color_part_2=substr($new_color, 2, 2);
$color_part_3=substr($new_color, 4, 2);
$color_part_1=dechex( (int) (hexdec( $color_part_1 ) - (hexdec( $color_part_1 )* $pracent / 100 )));
$color_part_2=dechex( (int) (hexdec( $color_part_2) - (( ( hexdec( $color_part_2 ) ) ) * $pracent / 100 )));
$color_part_3=dechex( (int) (hexdec( $color_part_3 ) - (( ( hexdec( $color_part_3 ) ) ) * $pracent / 100 )));
if(strlen($color_part_1)<2) $color_part_1="0".$color_part_1;
if(strlen($color_part_2)<2) $color_part_2="0".$color_part_2;
if(strlen($color_part_3)<2) $color_part_3="0".$color_part_3;
$new_color=$color_part_1.$color_part_2.$color_part_3;
if($color_vandakanishov == false){
return $new_color;
}
else{
return '#'.$new_color;
}
}
/**
* Modify output color,
* make color lighter
*/
protected function ligther($color,$pracent=15){
$new_color=$color;
if(!(strlen($new_color==6) || strlen($new_color)==7))
{
return $color;
}
$color_vandakanishov=strpos($new_color,'#');
if($color_vandakanishov == false) {
$new_color= str_replace('#','',$new_color);
}
$color_part_1=substr($new_color, 0, 2);
$color_part_2=substr($new_color, 2, 2);
$color_part_3=substr($new_color, 4, 2);
$color_part_1=dechex( (int) (hexdec( $color_part_1 ) + (( 255-( hexdec( $color_part_1 ) ) ) * $pracent / 100 )));
$color_part_2=dechex( (int) (hexdec( $color_part_2) + (( 255-( hexdec( $color_part_2 ) ) ) * $pracent / 100 )));
$color_part_3=dechex( (int) (hexdec( $color_part_3 ) + (( 255-( hexdec( $color_part_3 ) ) ) * $pracent / 100 )));
$new_color=$color_part_1.$color_part_2.$color_part_3;
if($color_vandakanishov == false){
return $new_color;
}
else{
return '#'.$new_color;
}
}
/**
* return inverted color
*/
protected function invert($color)
{
//get red, green and blue
$r = substr($color, 0, 2);
$g = substr($color, 2, 2);
$b = substr($color, 4, 2);
//revert them, they are decimal now
$r = 0xff-hexdec($r);
$g = 0xff-hexdec($g);
$b = 0xff-hexdec($b);
//now convert them to hex and return.
return dechex($r).dechex($g).dechex($b);
}
/**
* Prints style for menu background image
*/
public function footer_text(){
$footer_text_enable = $this->get_param('footer_text_enable');
$footer_text = stripslashes($this->get_param('footer_text'));
if($footer_text_enable) {
echo stripslashes($footer_text);
}
}
}