File "generate_inline_style.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/go_portfolio/includes/generate_inline_style.php
File size: 12 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Generate Inline Styles
* Portfolio creator page
*
* @package Go Portfolio - WordPress Responsive Portfolio
* @author Granth <granthweb@gmail.com>
* @link http://granthweb.com
* @copyright 2017 Granth
*/
$styles = get_option( self::$plugin_prefix . '_styles' );
$id_prefix = ' #' . self::$plugin_prefix . '_' . $portfolio['id'];
$general_settings = get_option( self::$plugin_prefix . '_general_settings' );
/* Get style */
if ( isset( $portfolio['style'] ) && !empty( $portfolio['style'] ) && $styles[$portfolio['style']]['data'] ) {
$style = $portfolio['style'];
$style_data = stripslashes( isset( $portfolio['style-data'] ) ? $portfolio['style-data'] : $styles[$portfolio['style']]['data'] );
/* Replace variables */
foreach( $portfolio['css'] as $selector => $value ) {
if ( isset( $value['val'] ) && !empty( $value['val'] ) ) {
$value['val'] = trim( $value['val'] );
}
/* Check integers */
if ( isset( $value['type'] ) && $value['type'] == 'int' ) {
$value['val'] = floatval( $value['val'] );
if ( empty( $value['val'] ) ) { $value['val'] = 0; }
}
/* Set font families */
if ( $selector == 'font_family_xl' && isset ( $value['val'] ) ) {
if ( $value['val'] == '1' && isset( $general_settings['primary-font'] ) && !empty( $general_settings['primary-font'] ) ) {
$value['val'] = $general_settings['primary-font'];
} elseif ( $value['val'] == '2' && isset( $general_settings['secondary-font'] ) && !empty( $general_settings['secondary-font'] ) ) {
$value['val'] = $general_settings['secondary-font'];
} else {
$value['val'] = 'inherit';
}
}
if ( $selector == 'font_family_l' && isset ( $value['val'] ) ) {
if ( $value['val'] == '1' && isset( $general_settings['primary-font'] ) && !empty( $general_settings['primary-font'] ) ) {
$value['val'] = $general_settings['primary-font'];
} elseif ( $value['val'] == '2' && isset( $general_settings['secondary-font'] ) && !empty( $general_settings['secondary-font'] ) ) {
$value['val'] = $general_settings['secondary-font'];
} else {
$value['val'] = 'inherit';
}
}
if ( $selector == 'font_family_m' && isset ( $value['val'] ) ) {
if ( $value['val'] == '1' && isset( $general_settings['primary-font'] ) && !empty( $general_settings['primary-font'] ) ) {
$value['val'] = $general_settings['primary-font'];
} elseif ( $value['val'] == '2' && isset( $general_settings['secondary-font'] ) && !empty( $general_settings['secondary-font'] ) ) {
$value['val'] = $general_settings['secondary-font'];
} else {
$value['val'] = 'inherit';
}
}
if ( $selector == 'font_family_s' && isset ( $value['val'] ) ) {
if ( $value['val'] == '1' && isset( $general_settings['primary-font'] ) && !empty( $general_settings['primary-font'] ) ) {
$value['val'] = $general_settings['primary-font'];
} elseif ( $value['val'] == '2' && isset( $general_settings['secondary-font'] ) && !empty( $general_settings['secondary-font'] ) ) {
$value['val'] = $general_settings['secondary-font'];
} else {
$value['val'] = 'inherit';
}
}
/* Set opacity */
if ( $selector == 'post_opacity' && isset ( $value['val'] ) ) {
$value['val'] = $value['val']/100;
}
if ( $selector == 'box_shadow_opacity' && isset ( $value['val'] ) ) {
$value['val'] = $value['val']/100;
}
/* validate colors */
if ( $selector == 'main_color_1' && isset ( $value['val'] ) ) {
$value['val'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value['val'] ) ? $value['val'] : 'inherit';
}
if ( $selector == 'main_color_2' && isset ( $value['val'] ) ) {
$value['val'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value['val'] ) ? $value['val'] : 'inherit';
}
if ( $selector == 'main_color_3' && isset ( $value['val'] ) ) {
$value['val'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value['val'] ) ? $value['val'] : 'inherit';
}
if ( $selector == 'main_color_4' && isset ( $value['val'] ) ) {
$value['val'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value['val'] ) ? $value['val'] : 'inherit';
}
if ( $selector == 'highlight_color' && isset ( $value['val'] ) ) {
$value['val'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value['val'] ) ? $value['val'] : 'inherit';
}
if ( $selector == 'post_content_color' && isset ( $value['val'] ) ) {
$value['val'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $value['val'] ) ? $value['val'] : 'inherit';
}
$style_data = preg_replace( '~(\(\()\s?('. $selector .'+\s?)(\)\))~', $value['val'], $style_data );
}
/* Modify column and row space - ".gw-gopf-posts-wrap-inner" */
$css_prop = null;
if ( isset( $portfolio['h-space'] ) && !empty( $portfolio['h-space'] ) ) {
$css_prop = 'margin-left:' . floatval( $portfolio['h-space'] )*-1 . 'px;';
}
if ( isset( $portfolio['v-space'] ) && !empty( $portfolio['v-space'] ) ) {
$css_prop .= 'margin-top:' . floatval( $portfolio['v-space'] )*-1 . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-posts-wrap-inner { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* opacity change filtering */
$css_prop = null;
if ( isset( $portfolio['filter-inactive-opacity'] ) ) {
$css_prop = 'filter:alpha(opacity=' . floatval( $portfolio['filter-inactive-opacity'] ) . ') !important;';
$css_prop .= '-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=' . floatval( $portfolio['filter-inactive-opacity'] ) . ')" !important;';
$css_prop .= '-khtml-opacity:' . floatval( $portfolio['filter-inactive-opacity'] )/100 . ' !important;';
$css_prop .= '-moz-opacity:' . floatval( $portfolio['filter-inactive-opacity'] )/100 . ' !important;';
$css_prop .= 'opacity:' . floatval( $portfolio['filter-inactive-opacity'] )/100 . ' !important;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-filter-opacity .gw-gopf-col-wrap.gw-gopf-disabled { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify column and row space - ".gw-gopf-post-col" */
$css_prop = null;
if ( isset( $portfolio['h-space'] ) && !empty( $portfolio['h-space'] ) ) {
$css_prop = 'margin-left:' . floatval( $portfolio['h-space'] ) . 'px;';
}
if ( isset( $portfolio['v-space'] ) && !empty( $portfolio['v-space'] ) ) {
$css_prop .= 'margin-top:' . floatval( $portfolio['v-space'] ) . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-post-col { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify space between portfolio filter and portfolio items - ".gw-gopf-cats > div" */
$css_prop = null;
if ( isset( $portfolio['filter-v-space'] ) && !empty( $portfolio['filter-v-space'] ) ) {
if ( !isset( $portfolio['filter-v-pos'] ) || ( isset( $portfolio['filter-v-pos'] ) && $portfolio['filter-v-pos'] == 'top') ) {
$css_prop = 'margin-bottom:' . floatval( $portfolio['filter-v-space'] ) . 'px !important;';
} else {
$css_prop = 'margin-top:' . floatval( $portfolio['filter-v-space'] ) . 'px !important;';
}
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-cats { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify left space for portfolio filter categories - ".gw-gopf-filter" */
$css_prop = null;
if ( isset( $portfolio['filter-h-space'] ) && !empty( $portfolio['filter-h-space'] ) ) {
$css_prop = 'margin-left:' . floatval( $portfolio['filter-h-space'] ) * -1 . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-filter { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify space between portfolio filter categories - ".gw-gopf-cats > div" */
$css_prop = null;
if ( isset( $portfolio['filter-h-space'] ) && !empty( $portfolio['filter-h-space'] ) ) {
$css_prop = 'margin-left:' . floatval( $portfolio['filter-h-space'] ) . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-cats > span { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify slider arrow spaces - ".gw-gopf-slider-controls > div" */
$css_prop = null;
if ( isset( $portfolio['slider-arrows-v-space'] ) && !empty( $portfolio['slider-arrows-v-space'] ) ) {
$css_prop = 'margin-bottom:' . floatval( $portfolio['slider-arrows-v-space'] ) . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-slider-controls > div { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify slider arrow spaces - ".gw-gopf-slider-controls > div" */
$css_prop = null;
if ( isset( $portfolio['slider-arrows-h-space'] ) && !empty( $portfolio['slider-arrows-h-space'] ) ) {
$css_prop .= 'margin-left:' . floatval( $portfolio['slider-arrows-h-space'] ) . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-slider-controls > div { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify overlay color - ".gw-gopf-post-overlay-bg" */
$css_prop = null;
if ( isset( $portfolio['overlay-color'] ) && !empty( $portfolio['overlay-color'] ) ) {
$portfolio['overlay-color'] = preg_match( '/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/', $portfolio['overlay-color'] ) ? $portfolio['overlay-color'] : 'inherit';
$css_prop = 'background-color:' . $portfolio['overlay-color'] . ';';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-post-overlay-bg { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify overlay opacity - ".gw-gopf-post-overlay-bg" */
$css_prop = null;
if ( isset( $portfolio['overlay-opacity'] ) ) {
$css_prop = 'filter:alpha(opacity=' . floatval( $portfolio['overlay-opacity'] ) . ');';
$css_prop .= '-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=' . floatval( $portfolio['overlay-opacity'] ) . ')";';
$css_prop .= '-khtml-opacity:' . floatval( $portfolio['overlay-opacity'] )/100 . ';';
$css_prop .= '-moz-opacity:' . floatval( $portfolio['overlay-opacity'] )/100 . ';';
$css_prop .= 'opacity:' . floatval( $portfolio['overlay-opacity'] )/100 . ';';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-post-overlay-bg { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify post content align - ".gw-gopf-post-content" */
$css_prop = null;
if ( isset( $portfolio['post-align'] ) && !empty( $portfolio['post-align'] ) ) {
$css_prop = 'text-align:' . $portfolio['post-align'] . ';';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-post-content { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify button align - ".gw-gopf-post-more" */
$css_prop = null;
if ( isset( $portfolio['post-button-align'] ) && !empty( $portfolio['post-button-align'] ) ) {
$css_prop = 'text-align:' . $portfolio['post-button-align'] . ';';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-post-more { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify space between portfolio pagination and portfolio items - ".gw-gopf-pagination-wrapper" */
$css_prop = null;
if ( isset( $portfolio['pagination-v-space'] ) && !empty( $portfolio['pagination-v-space'] ) ) {
$css_prop = 'padding-top:' . floatval( $portfolio['pagination-v-space'] ) . 'px;';
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-pagination-wrapper { %2$s }', $id_prefix, $css_prop ) . "\n"; }
/* Modify column and row space - ".gw-gopf-post-media-wrap" */
$css_prop = null;
$css_prop2 = null;
if ( isset( $portfolio['thumb-bg-pos-x'] ) && isset( $portfolio['thumb-bg-pos-y'] ) ) {
$posx = floatval( $portfolio['thumb-bg-pos-x'] );
$posy = floatval( $portfolio['thumb-bg-pos-y'] );
$css_prop = sprintf( 'left:%s%%;', $posx );
$css_prop .= sprintf( 'top:%s%%;', $posy );
$css_prop .= sprintf( '-ms-transform: translateX(%1$s%%) translateY(%2$s%%) translateZ(0);', $posx * -1, $posy * -1 );
$css_prop .= sprintf( 'transform: translateX(%1$s%%) translateY(%2$s%%) translateZ(0);', $posx * -1, $posy * -1 );
$css_prop2 = sprintf( 'background-position: %1$s%% %2$s%%;', $posx, $posy );
}
if ( $css_prop ) { echo sprintf( '%1$s .gw-gopf-post-media-wrap img { %2$s }', $id_prefix, $css_prop ) . "\n"; }
if ( $css_prop2 ) { echo sprintf( '%1$s .gw-gopf-post-media-wrap { %2$s }', $id_prefix, $css_prop2 ) . "\n"; }
/* Add ID prefix to css selectors */
$style_data = preg_replace( '/(\/\*[\s\S]*?\*\/|[\t]|[\r]|[\n]|[\r\n])/',
'',
$style_data );
/* Remove comments & minify */
$style_data = preg_replace( '/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/',
$id_prefix . ' $0',
$style_data );
echo $style_data . "\n";
}