Current File : /home/kelaby89/cartel.express/wp-content/themes/detailx/plugins/booked/booked.php |
<?php
/* Booked Appointments support functions
------------------------------------------------------------------------------- */
// Theme init priorities:
// 9 - register other filters (for installer, etc.)
if ( ! function_exists( 'detailx_booked_theme_setup9' ) ) {
add_action( 'after_setup_theme', 'detailx_booked_theme_setup9', 9 );
function detailx_booked_theme_setup9() {
if ( detailx_exists_booked() ) {
add_action( 'wp_enqueue_scripts', 'detailx_booked_frontend_scripts', 1100 );
add_action( 'trx_addons_action_load_scripts_front_booked', 'detailx_booked_frontend_scripts', 10, 1 );
add_action( 'wp_enqueue_scripts', 'detailx_booked_frontend_scripts_responsive', 2000 );
add_action( 'trx_addons_action_load_scripts_front_booked', 'detailx_booked_frontend_scripts_responsive', 10, 1 );
add_filter( 'detailx_filter_merge_styles', 'detailx_booked_merge_styles' );
add_filter( 'detailx_filter_merge_styles_responsive', 'detailx_booked_merge_styles_responsive' );
}
if ( is_admin() ) {
add_filter( 'detailx_filter_tgmpa_required_plugins', 'detailx_booked_tgmpa_required_plugins' );
add_filter( 'detailx_filter_theme_plugins', 'detailx_booked_theme_plugins' );
}
}
}
// Filter to add in the required plugins list
if ( ! function_exists( 'detailx_booked_tgmpa_required_plugins' ) ) {
//Handler of the add_filter('detailx_filter_tgmpa_required_plugins', 'detailx_booked_tgmpa_required_plugins');
function detailx_booked_tgmpa_required_plugins( $list = array() ) {
if ( detailx_storage_isset( 'required_plugins', 'booked' ) && detailx_storage_get_array( 'required_plugins', 'booked', 'install' ) !== false && detailx_is_theme_activated() ) {
$path = detailx_get_plugin_source_path( 'plugins/booked/booked.zip' );
if ( ! empty( $path ) || detailx_get_theme_setting( 'tgmpa_upload' ) ) {
$list[] = array(
'name' => detailx_storage_get_array( 'required_plugins', 'booked', 'title' ),
'slug' => 'booked',
'source' => ! empty( $path ) ? $path : 'upload://booked.zip',
'version' => '2.4.3.1',
'required' => false,
);
}
}
return $list;
}
}
// Filter theme-supported plugins list
if ( ! function_exists( 'detailx_booked_theme_plugins' ) ) {
//Handler of the add_filter( 'detailx_filter_theme_plugins', 'detailx_booked_theme_plugins' );
function detailx_booked_theme_plugins( $list = array() ) {
return detailx_add_group_and_logo_to_slave( $list, 'booked', 'booked-' );
}
}
// Check if plugin installed and activated
if ( ! function_exists( 'detailx_exists_booked' ) ) {
function detailx_exists_booked() {
return class_exists( 'booked_plugin' );
}
}
// Return a relative path to the plugin styles depend the version
if ( ! function_exists( 'detailx_booked_get_styles_dir' ) ) {
function detailx_booked_get_styles_dir( $file ) {
$base_dir = 'plugins/booked/';
return $base_dir
. ( defined( 'BOOKED_VERSION' ) && version_compare( BOOKED_VERSION, '2.4', '<' ) && detailx_get_folder_dir( $base_dir . 'old' )
? 'old/'
: ''
)
. $file;
}
}
// Enqueue styles for frontend
if ( ! function_exists( 'detailx_booked_frontend_scripts' ) ) {
//Handler of the add_action( 'wp_enqueue_scripts', 'detailx_booked_frontend_scripts', 1100 );
//Handler of the add_action( 'trx_addons_action_load_scripts_front_booked', 'detailx_booked_frontend_scripts', 10, 1 );
function detailx_booked_frontend_scripts( $force = false ) {
detailx_enqueue_optimized( 'booked', $force, array(
'css' => array(
'detailx-booked' => array( 'src' => detailx_booked_get_styles_dir( 'booked.css' ) ),
)
) );
}
}
// Enqueue responsive styles for frontend
if ( ! function_exists( 'detailx_booked_frontend_scripts_responsive' ) ) {
//Handler of the add_action( 'wp_enqueue_scripts', 'detailx_booked_frontend_scripts_responsive', 2000 );
//Handler of the add_action( 'trx_addons_action_load_scripts_front_booked', 'detailx_booked_frontend_scripts_responsive', 10, 1 );
function detailx_booked_frontend_scripts_responsive( $force = false ) {
detailx_enqueue_optimized_responsive( 'booked', $force, array(
'css' => array(
'detailx-booked-responsive' => array( 'src' => detailx_booked_get_styles_dir( 'booked-responsive.css' ), 'media' => 'all' ),
)
) );
}
}
// Merge custom styles
if ( ! function_exists( 'detailx_booked_merge_styles' ) ) {
//Handler of the add_filter('detailx_filter_merge_styles', 'detailx_booked_merge_styles');
function detailx_booked_merge_styles( $list ) {
$list[ detailx_booked_get_styles_dir( 'booked.css' ) ] = false;
return $list;
}
}
// Merge responsive styles
if ( ! function_exists( 'detailx_booked_merge_styles_responsive' ) ) {
//Handler of the add_filter('detailx_filter_merge_styles_responsive', 'detailx_booked_merge_styles_responsive');
function detailx_booked_merge_styles_responsive( $list ) {
$list[ detailx_booked_get_styles_dir( 'booked-responsive.css' ) ] = false;
return $list;
}
}
// Add plugin-specific colors and fonts to the custom CSS
if ( detailx_exists_booked() ) {
$detailx_fdir = detailx_get_file_dir( detailx_booked_get_styles_dir( 'booked-style.php' ) );
if ( ! empty( $detailx_fdir ) ) {
require_once $detailx_fdir;
}
}