<?php
/* Essential Grid support functions
------------------------------------------------------------------------------- */


// Theme init priorities:
// 9 - register other filters (for installer, etc.)
if ( ! function_exists( 'tooth_fairy_essential_grid_theme_setup9' ) ) {
	add_action( 'after_setup_theme', 'tooth_fairy_essential_grid_theme_setup9', 9 );
	function tooth_fairy_essential_grid_theme_setup9() {
		if ( tooth_fairy_exists_essential_grid() ) {
			add_action( 'wp_enqueue_scripts', 'tooth_fairy_essential_grid_frontend_scripts', 1100 );
			add_action( 'trx_addons_action_load_scripts_front_essential_grid', 'tooth_fairy_essential_grid_frontend_scripts', 10, 1 );
			add_filter( 'tooth_fairy_filter_merge_styles', 'tooth_fairy_essential_grid_merge_styles' );
		}
		if ( is_admin() ) {
			add_filter( 'tooth_fairy_filter_tgmpa_required_plugins', 'tooth_fairy_essential_grid_tgmpa_required_plugins' );
		}
	}
}

// Filter to add in the required plugins list
if ( ! function_exists( 'tooth_fairy_essential_grid_tgmpa_required_plugins' ) ) {
	//Handler of the add_filter('tooth_fairy_filter_tgmpa_required_plugins',	'tooth_fairy_essential_grid_tgmpa_required_plugins');
	function tooth_fairy_essential_grid_tgmpa_required_plugins( $list = array() ) {
		if ( tooth_fairy_storage_isset( 'required_plugins', 'essential-grid' ) && tooth_fairy_storage_get_array( 'required_plugins', 'essential-grid', 'install' ) !== false && tooth_fairy_is_theme_activated() ) {
			$path = tooth_fairy_get_plugin_source_path( 'plugins/essential-grid/essential-grid.zip' );
			if ( ! empty( $path ) || tooth_fairy_get_theme_setting( 'tgmpa_upload' ) ) {
				$list[] = array(
					'name'     => tooth_fairy_storage_get_array( 'required_plugins', 'essential-grid', 'title' ),
					'slug'     => 'essential-grid',
					'source'   => ! empty( $path ) ? $path : 'upload://essential-grid.zip',
					'version'  => '2.2.4.2',
					'required' => false,
				);
			}
		}
		return $list;
	}
}

// Check if plugin installed and activated
if ( ! function_exists( 'tooth_fairy_exists_essential_grid' ) ) {
	function tooth_fairy_exists_essential_grid() {
		return defined( 'EG_PLUGIN_PATH' ) || defined( 'ESG_PLUGIN_PATH' );
	}
}

// Enqueue styles for frontend
if ( ! function_exists( 'tooth_fairy_essential_grid_frontend_scripts' ) ) {
	//Handler of the add_action( 'wp_enqueue_scripts', 'tooth_fairy_essential_grid_frontend_scripts', 1100 );
	//Handler of the add_action( 'trx_addons_action_load_scripts_front_essential_grid', 'tooth_fairy_essential_grid_frontend_scripts', 10, 1 );
	function tooth_fairy_essential_grid_frontend_scripts( $force = false ) {
		tooth_fairy_enqueue_optimized( 'essential_grid', $force, array(
			'css' => array(
				'tooth-fairy-essential-grid' => array( 'src' => 'plugins/essential-grid/essential-grid.css' ),
			)
		) );
	}
}

// Merge custom styles
if ( ! function_exists( 'tooth_fairy_essential_grid_merge_styles' ) ) {
	//Handler of the add_filter('tooth_fairy_filter_merge_styles', 'tooth_fairy_essential_grid_merge_styles');
	function tooth_fairy_essential_grid_merge_styles( $list ) {
		$list[ 'plugins/essential-grid/essential-grid.css' ] = false;
		return $list;
	}
}
