%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/1857783/root/var/www/cwg/wp-content/plugins/wp-grid-builder/admin/
Upload File :
Create Path :
Current File : //proc/1857783/root/var/www/cwg/wp-content/plugins/wp-grid-builder/admin/class-localize.php

<?php
/**
 * Localize
 *
 * @package   WP Grid Builder
 * @author    Loïc Blascos
 * @copyright 2019-2021 Loïc Blascos
 */

namespace WP_Grid_Builder\Admin;

use WP_Grid_Builder\Includes\I18n;
use WP_Grid_Builder\Includes\Helpers;
use WP_Grid_Builder\Includes\Animations;

// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

/**
 * Localize strings
 *
 * @class WP_Grid_Builder\Admin\Localize
 * @since 1.0.0
 */
class Localize {

	/**
	 * Constructor
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function __construct() {

		add_action( 'admin_enqueue_scripts', [ $this, 'localize_scripts' ] );

	}

	/**
	 * Localize all data attach to plugin scripts
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function localize_scripts() {

		$this->main();
		$this->date();
		$this->animations();
		$this->select_field();
		$this->popup_messages();
		$this->dialog_messages();
		$this->color_picker_field();

	}

	/**
	 * Localize script
	 *
	 * @since 1.0.0
	 * @access public
	 *
	 * @param string $handle      Script handle the data will be attached to.
	 * @param string $object_name Name for the JavaScript object. Passed directly, so it should be qualified JS variable.
	 * @param array  $l10n        The data itself. The data can be either a single or multi-dimensional array.
	 */
	public function localize_script( $handle, $object_name, $l10n ) {

		$l10n = apply_filters( 'wp_grid_builder/admin/localize_script', $l10n, $handle, $object_name );
		wp_localize_script( $handle, $object_name, $l10n );

	}

	/**
	 * Localize main data
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function main() {

		$action = admin_url( 'admin-post.php' );
		$action = add_query_arg( 'wpgb-preview', true, $action );
		$action = apply_filters( 'wp_grid_builder/admin/preview_action', $action );

		$strings = [
			'RTL'            => is_rtl(),
			'lang'           => I18n::current_lang(),
			'index'          => wp_create_nonce( WPGB_SLUG . '_index_facets' ),
			'search'         => wp_create_nonce( WPGB_SLUG . '_search_content' ),
			'export'         => wp_create_nonce( WPGB_SLUG . '_export_items' ),
			'preview'        => wp_create_nonce( WPGB_SLUG . '_preview_grid' ),
			'preview_action' => esc_url_raw( $action ),
		];

		$this->localize_script( WPGB_SLUG . '-admin', WPGB_SLUG . '_L10n', $strings );
		$this->localize_script( WPGB_SLUG . '-editor', WPGB_SLUG . '_L10n', $strings );

	}

	/**
	 * Localize dialog messages
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function dialog_messages() {

		$dialog = [
			'delete'       => [
				'title'   => esc_html__( 'Delete Item(s)', 'wp-grid-builder' ),
				'message' => esc_html__( 'Are you sure you want to delete this?', 'wp-grid-builder' ),
				'confirm' => esc_html__( 'Yes, delete', 'wp-grid-builder' ),
				'cancel'  => esc_html__( 'Cancel', 'wp-grid-builder' ),
			],
			'duplicate'    => [
				'title'   => esc_html__( 'Duplicate Item(s)', 'wp-grid-builder' ),
				'message' => esc_html__( 'Are you sure you want to duplicate this?', 'wp-grid-builder' ),
				'confirm' => esc_html__( 'Yes, duplicate', 'wp-grid-builder' ),
				'cancel'  => esc_html__( 'Cancel', 'wp-grid-builder' ),
			],
			'reset'        => [
				'title'   => esc_html__( 'Reset Settings', 'wp-grid-builder' ),
				'message' => esc_html__( 'Are you sure you want to reset your settings?', 'wp-grid-builder' ),
				'confirm' => esc_html__( 'Yes, reset', 'wp-grid-builder' ),
				'cancel'  => esc_html__( 'Cancel', 'wp-grid-builder' ),
			],
			'delete_block' => [
				'title'   => esc_html__( 'Delete Block', 'wp-grid-builder' ),
				'message' => esc_html__( 'Are you sure you want to delete this?', 'wp-grid-builder' ),
				'confirm' => esc_html__( 'Yes, delete', 'wp-grid-builder' ),
				'cancel'  => esc_html__( 'Cancel', 'wp-grid-builder' ),
			],
		];

		$this->localize_script( WPGB_SLUG . '-admin', WPGB_SLUG . '_dialog_L10n', $dialog );

	}

	/**
	 * Localize popup messages
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function popup_messages() {

		$popup = [
			'unknown'            => esc_html__( 'Sorry, an unknown error occurred.', 'wp-grid-builder' ),
			'beforeunload'       => esc_html__( 'You have unsaved changes. If you proceed, they will be lost.', 'wp-grid-builder' ),
			'no_action'          => esc_html__( 'Please, select an action to apply.', 'wp-grid-builder' ),
			'no_selection'       => esc_html__( 'Please, select at least one item.', 'wp-grid-builder' ),
			'no_content'         => esc_html__( 'Please, select a content type to export.', 'wp-grid-builder' ),
			'shortcode'          => esc_html__( 'Shortcode copied to clipboard', 'wp-grid-builder' ),
			'processing'         => esc_html__( 'Please wait. Processing...', 'wp-grid-builder' ),
			'read_file'          => esc_html__( 'Please wait. Reading file content...', 'wp-grid-builder' ),
			'import'             => esc_html__( 'Please wait. Importing items...', 'wp-grid-builder' ),
			'installing'         => esc_html__( 'Installing...', 'wp-grid-builder' ),
			'activating'         => esc_html__( 'Activating...', 'wp-grid-builder' ),
			'activate_plugin'    => esc_html__( 'Please wait. Activating licence...', 'wp-grid-builder' ),
			'deactivate_plugin'  => esc_html__( 'Please wait. Deactivating licence...', 'wp-grid-builder' ),
			'refresh_status'     => esc_html__( 'Please wait. Refreshing license info...', 'wp-grid-builder' ),
			'clear_cache'        => esc_html__( 'Please wait. Clearing cache...', 'wp-grid-builder' ),
			'save_changes'       => esc_html__( 'Please wait. Saving changes...', 'wp-grid-builder' ),
			'reset_settings'     => esc_html__( 'Please wait. Reset settings...', 'wp-grid-builder' ),
			'stop_indexer'       => esc_html__( 'Please wait. Stopping indexer...', 'wp-grid-builder' ),
			'clear_index'        => esc_html__( 'Please wait. Clearing index table...', 'wp-grid-builder' ),
			'delete_stylesheets' => esc_html__( 'Please wait. Deleting style sheets...', 'wp-grid-builder' ),
			'check_index'        => esc_html__( 'Checking...', 'wp-grid-builder' ),
			'pending_index'      => esc_html__( 'Pending...', 'wp-grid-builder' ),
			'indexing_start'     => esc_html__( 'Indexing...', 'wp-grid-builder' ),
			'indexing_complete'  => esc_html__( 'Complete', 'wp-grid-builder' ),
		];

		$this->localize_script( WPGB_SLUG . '-admin', WPGB_SLUG . '_popup_L10n', $popup );

	}

	/**
	 * Localize Color Picker field
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function color_picker_field() {

		$color_picker = [
			'color'    => esc_html__( 'Color', 'wp-grid-builder' ),
			'solid'    => esc_html__( 'Solid Color', 'wp-grid-builder' ),
			'gradient' => esc_html__( 'Gradient Color', 'wp-grid-builder' ),
			'linear'   => esc_html__( 'Linear', 'wp-grid-builder' ),
			'radial'   => esc_html__( 'Radial', 'wp-grid-builder' ),
			'reverse'  => esc_html__( 'Reverse', 'wp-grid-builder' ),
			'presets'  => esc_html__( 'Presets', 'wp-grid-builder' ),
			'position' => esc_html__( 'Position', 'wp-grid-builder' ),
			'delete'   => esc_html__( 'Delete Point', 'wp-grid-builder' ),
			'edit'     => esc_html__( 'Edit Color', 'wp-grid-builder' ),
			'add'      => esc_html__( 'Add Point', 'wp-grid-builder' ),
			'clear'    => esc_html__( 'Clear', 'wp-grid-builder' ),
			'pick'     => esc_html__( 'Select Color', 'wp-grid-builder' ),
			'current'  => esc_html__( 'Current Color', 'wp-grid-builder' ),
			'default'  => esc_html__( 'Default', 'wp-grid-builder' ),
			'icons'    => [
				'reverse' => Helpers::get_icon( 'reverse', true ),
				'presets' => Helpers::get_icon( 'switch', true ),
				'delete'  => Helpers::get_icon( 'delete', true ),
				'edit'    => Helpers::get_icon( 'color', true ),
			],
		];

		$this->localize_script( WPGB_SLUG . '-helpers', WPGB_SLUG . '_colorPicker_L10n', $color_picker );

	}

	/**
	 * Localize Select field
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function select_field() {

		$select = [
			'search'    => esc_html__( 'Please enter 1 or more characters.', 'wp-grid-builder' ),
			'searching' => esc_html__( 'Searching...', 'wp-grid-builder' ),
			'no_result' => esc_html__( 'No results found.', 'wp-grid-builder' ),
			'error'     => esc_html__( 'Sorry, an unknown error occurred.', 'wp-grid-builder' ),
		];

		$this->localize_script( WPGB_SLUG . '-admin', WPGB_SLUG . '_select_L10n', $select );

	}

	/**
	 * Localize Animations
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function animations() {

		$plugin_page = Helpers::get_plugin_page();

		if ( 'grid-settings' !== $plugin_page ) {
			return;
		}

		$this->localize_script( WPGB_SLUG . '-admin', WPGB_SLUG . '_animations_L10n', Animations::get() );

	}

	/**
	 * Localize date
	 *
	 * @since 1.0.0
	 * @access public
	 */
	public function date() {

		global $wp_locale;

		$timezone = get_option( 'timezone_string' );
		$timezone = ! empty( $timezone ) ? $timezone : 'UTC';

		$date = [
			'monthNames'      => array_values( $wp_locale->month ),
			'monthNamesShort' => array_values( $wp_locale->month_abbrev ),
			'dayNames'        => array_values( $wp_locale->weekday ),
			'dayNamesShort'   => array_values( $wp_locale->weekday_abbrev ),
			'timezone'        => $timezone,
			'timezone_abbr'   => gmdate( 'T' ),
		];

		$this->localize_script( WPGB_SLUG . '-builder', WPGB_SLUG . '_date_L10n', $date );

	}
}

Zerion Mini Shell 1.0