AlkantarClanX12

Your IP : 216.73.217.24


Current Path : /www/capitalgmcbuickregina_830/public/wp-content/plugins/popup-maker/classes/
Upload File :
Current File : /www/capitalgmcbuickregina_830/public/wp-content/plugins/popup-maker/classes/Cookies.php

<?php
/**
 * Cookies class
 *
 * @package   PopupMaker
 * @copyright Copyright (c) 2024, Code Atlantic LLC
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Class PUM_Cookies
 */
class PUM_Cookies {

	/**
	 * @var PUM_Cookies
	 */
	public static $instance;

	/**
	 * @var bool
	 */
	public $preload_posts = false;

	/**
	 * @var array
	 */
	public $cookies;


	/**
	 *
	 */
	public static function init() {
		self::instance();
	}

	/**
	 * @return PUM_Cookies
	 */
	public static function instance() {
		if ( ! isset( self::$instance ) ) {
			self::$instance                = new self();
			self::$instance->preload_posts = pum_is_popup_editor();
		}

		return self::$instance;
	}

	/**
	 * @param null $cookie
	 *
	 * @return mixed|null
	 */
	public function get_cookie( $cookie = null ) {
		$cookies = $this->get_cookies();

		return isset( $cookies[ $cookie ] ) ? $cookies[ $cookie ] : null;
	}

	/**
	 * @return array
	 */
	public function get_cookies() {
		if ( ! isset( $this->cookies ) ) {
			$this->register_cookies();
		}

		return $this->cookies;
	}

	/**
	 * Registers all known cookies when called.
	 */
	public function register_cookies() {
		$cookies = apply_filters(
			'pum_registered_cookies',
			[
				'on_popup_close'                  => [
					'name' => __( 'On Popup Close', 'popup-maker' ),
				],
				'on_popup_open'                   => [
					'name' => __( 'On Popup Open', 'popup-maker' ),
				],
				'on_popup_conversion'             => [
					'name' => __( 'On Popup Conversion', 'popup-maker' ),
				],
				'form_submission'                 => [
					'name'   => __( 'Form Submission', 'popup-maker' ),
					'fields' => array_merge_recursive(
						$this->cookie_fields(),
						[
							'general' => [
								'form'          => [
									'type'    => 'select',
									'label'   => __( 'Form', 'popup-maker' ),
									'options' => $this->preload_posts ? array_merge(
										[
											'any' => __( 'Any Supported Form*', 'popup-maker' ),
											__( 'Popup Maker', 'popup-maker' ) => [
												'pumsubform' => __( 'Subscription Form', 'popup-maker' ),
											],
										],
										PUM_Integrations::get_integrated_forms_selectlist()
									) : [],
									'pri'     => - 1,
									'std'     => 'any',
								],
								'only_in_popup' => [
									'type'  => 'checkbox',
									'label' => __( 'Only in this popup', 'popup-maker' ),
									'std'   => '1',
								],
							],
						]
					),
				],
				'pum_sub_form_success'            => [
					'name' => __( 'Subscription Form: Successful', 'popup-maker' ),
				],
				'pum_sub_form_already_subscribed' => [
					'name' => __( 'Subscription Form: Already Subscribed', 'popup-maker' ),
				],
				'manual'                          => [
					'name'            => __( 'Manual', 'popup-maker' ),
					'settings_column' => '<pre class="manual-cookie-shortcode"><code>[popup_cookie name="{{data.name}}" expires="{{data.time}}" sitewide="{{data.path ? 1 : 0}}"]</code></pre>',
				],
			]
		);

		// @deprecated filter.
		$cookies = apply_filters( 'pum_get_cookies', $cookies );

		$this->add_cookies( $cookies );
	}

	/**
	 * @param array $cookies
	 */
	public function add_cookies( $cookies = [] ) {
		foreach ( $cookies as $key => $cookie ) {
			if ( empty( $cookie['id'] ) && ! is_numeric( $key ) ) {
				$cookie['id'] = $key;
			}

			$this->add_cookie( $cookie );
		}
	}

	/**
	 * @param null $cookie
	 */
	public function add_cookie( $cookie = null ) {
		if ( ! empty( $cookie['id'] ) && ! isset( $this->cookies[ $cookie['id'] ] ) ) {
			$cookie = wp_parse_args(
				$cookie,
				[
					'id'              => '',
					'name'            => '',
					'modal_title'     => __( 'Cookie Settings', 'popup-maker' ),
					'settings_column' => sprintf( '%s%s%s', '{{ (typeof data.session === "undefined" || data.session !== "1") ? data.time : "', __( 'Sessions', 'popup-maker' ), '" }}' ),
					'priority'        => 10,
					'tabs'            => $this->get_tabs(),
					'fields'          => $this->cookie_fields(),
				]
			);

			// Here for backward compatibility to merge in labels properly.
			if ( ! empty( $cookie['labels'] ) ) {
				foreach ( $cookie['labels'] as $key => $value ) {
					$cookie[ $key ] = $value;
					unset( $cookie['labels'][ $key ] );
				}
				unset( $cookie['labels'] );
			}

			// Add cookie fields for all cookies automatically.
			if ( empty( $cookie['fields'] ) ) {
				$cookie['fields'] = $this->cookie_fields();
			}

			$cookie['fields'] = PUM_Admin_Helpers::parse_tab_fields(
				$cookie['fields'],
				[
					'has_subtabs' => false,
					'name'        => '%s',
				]
			);

			$this->cookies[ $cookie['id'] ] = $cookie;
		}
	}

	/**
	 * Returns an array of section labels for all triggers.
	 *
	 * Use the filter pum_get_trigger_section_labels to add or modify labels.
	 *
	 * @return array
	 */
	public function get_tabs() {
		/**
		 * Filter the array of trigger section labels.
		 *
		 * @param array $to_do The list of trigger section labels.
		 */
		return apply_filters(
			'pum_get_trigger_tabs',
			[
				'general'  => __( 'General', 'popup-maker' ),
				'advanced' => __( 'Advanced', 'popup-maker' ),
			]
		);
	}

	/**
	 * Returns the cookie fields used for cookie options.
	 *
	 * @return array
	 *
	 * @uses filter pum_get_cookie_fields
	 */
	public function cookie_fields() {
		return apply_filters(
			'pum_get_cookie_fields',
			[
				'general'  => [
					'name' => [
						'label'       => __( 'Cookie Name', 'popup-maker' ),
						'placeholder' => __( 'Cookie Name ex. popmaker-123', 'popup-maker' ),
						'desc'        => __( 'The name that will be used when checking for or saving this cookie.', 'popup-maker' ),
						'std'         => '',
						'priority'    => 1,
					],
					'time' => [
						'label'       => __( 'Cookie Time', 'popup-maker' ),
						'placeholder' => __( '364 days 23 hours 59 minutes 59 seconds', 'popup-maker' ),
						'desc'        => __( 'Enter a plain english time before cookie expires.', 'popup-maker' ),
						'std'         => '1 month',
						'priority'    => 2,
					],
				],
				'advanced' => [
					'session' => [
						'label'    => __( 'Use Session Cookie?', 'popup-maker' ),
						'desc'     => __( 'Session cookies expire when the user closes their browser.', 'popup-maker' ) . ' ' . sprintf(
							/* translators: %1$s: bold start, %2$s: bold end. */
							__( '%1$sNote%2$s: Modern browsers that reopen your last browser session\'s tabs do not properly clear session cookies', 'popup-maker' ),
							'<strong>',
							'</strong>'
						),
						'type'     => 'checkbox',
						'std'      => false,
						'priority' => 1,
					],
					'path'    => [
						'label'    => __( 'Sitewide Cookie', 'popup-maker' ),
						'desc'     => __( 'This will prevent the popup from triggering on all pages until the cookie expires.', 'popup-maker' ),
						'type'     => 'checkbox',
						'std'      => true,
						'priority' => 2,
					],
					'key'     => [
						'label'    => __( 'Cookie Key', 'popup-maker' ),
						'desc'     => __( 'Changing this will cause all existing cookies to be invalid.', 'popup-maker' ),
						'type'     => 'cookie_key',
						'std'      => '',
						'priority' => 3,
					],
				],
			]
		);
	}

	/**
	 * @return array
	 */
	public function get_labels() {
		static $labels;

		if ( ! isset( $labels ) ) {
			/**
			 * Filter the array of cookie labels.
			 *
			 * @param array $to_do The list of cookie labels.
			 */
			$labels = apply_filters( 'pum_get_cookie_labels', [] );
		}

		return $labels;
	}

	/**
	 * @param null  $cookie
	 * @param array $settings
	 *
	 * @return array
	 * @deprecated
	 */
	public function validate_cookie( $cookie = null, $settings = [] ) {
		return $settings;
	}


	/**
	 * @return array
	 */
	public function dropdown_list() {
		$_cookies = $this->get_cookies();
		$cookies  = [];

		foreach ( $_cookies as $id => $cookie ) {
			$cookies[ $id ] = $cookie['name'];
		}

		return $cookies;
	}
}

Home - Capital GMC Buick Regina

No data

Welcome to Capital GMC BUICK – REGINA

Thank you for choosing Capital GMC Buick | Regina, your premier certified Buick and GMC dealership proudly serving drivers in Regina and the surrounding communities. Whether you’re searching for a brand-new Buick or GMC vehicle or a meticulously inspected pre-owned model, we have a diverse selection to match your needs and lifestyle.

Beyond our impressive inventory, we offer a seamless and stress-free financing experience through our well-connected finance centre, where our team of experts is dedicated to securing the best loan or lease options for you, quickly, transparently, and hassle-free.

But our commitment to you doesn’t stop at the sale. Our state-of-the-art service centre is staffed with skilled Buick and GMC technicians who use the latest equipment and genuine OEM parts to keep your vehicle running at its best. From routine maintenance to complex repairs, we’ve got you covered.

Experience top-tier customer service, quality vehicles, and expert care, all in one place. Visit Capital GMC Buick | Regina today or call us at 306-205-8072 with any questions. We’re here to help!

Ask a Question