Completed
Branch 2.0.0 (814c19)
by Jimmy
03:05
created

Core_Action   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 80
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 80
rs 10
c 0
b 0
f 0
wmc 4
lcom 0
cbo 1
1
<?php
2
/**
3
 * Inclusions de wpeo_assets
4
 *
5
 * @author Eoxia <[email protected]>
6
 * @since 1.0.0
7
 * @version 1.0.0
8
 * @copyright 2015-2018 Eoxia
9
 * @package EO_Framework\Core\Action
10
 */
11
12
namespace eoxia;
13
14
if ( ! defined( 'ABSPATH' ) ) {
15
	exit;
16
}
17
18
/**
19
 * Inclusions de wpeo_assets
20
 */
21
class Core_Action {
22
23
	/**
24
	 * Le constructeur ajoutes les actions WordPress suivantes:
25
	 * admin_enqueue_scripts (Pour appeller les scripts JS et CSS dans l'admin)
26
	 * wp_enqueue_script (Pour appeller les scripts JS et CSS dans le frontend)
27
	 *
28
	 * @since 1.0.0
29
	 * @version 1.0.0
30
	 */
31
	public function __construct() {
32
		add_action( 'admin_enqueue_scripts', array( $this, 'callback_mixed_enqueue_scripts' ), 9 );
33
		add_action( 'wp_enqueue_scripts', array( $this, 'callback_mixed_enqueue_scripts' ), 9 );
34
		add_action( 'init', array( $this, 'callback_plugins_loaded' ) );
35
	}
36
37
	/**
38
	 * Initialise les fichiers JS inclus dans WordPress (jQuery, wp.media et thickbox)
39
	 *
40
	 * @since 1.0.0
41
	 * @version 1.0.0
42
	 *
43
	 * @return void
44
	 */
45
	public function callback_mixed_enqueue_scripts() {
46
		wp_register_script( 'wpeo-assets-scripts', Config_Util::$init['eo-framework']->core->url . 'assets/js/dest/wpeo-assets.js', array( 'jquery' ), \eoxia\Config_Util::$init['eo-framework']->version, false );
47
		wp_enqueue_script( 'wpeo-assets-datepicker-js', Config_Util::$init['eo-framework']->core->url . 'assets/js/dest/jquery.datetimepicker.full.js', array( 'jquery' ), \eoxia\Config_Util::$init['eo-framework']->version, false );
48
49
		wp_enqueue_style( 'wpeo-font-awesome-free', Config_Util::$init['eo-framework']->core->url . 'assets/css/fontawesome/fontawesome-all.min.css', array(), \eoxia\Config_Util::$init['eo-framework']->version );
50
		wp_enqueue_style( 'wpeo-assets-styles', Config_Util::$init['eo-framework']->core->url . 'assets/css/style.min.css', \eoxia\Config_Util::$init['eo-framework']->version );
51
		wp_enqueue_style( 'wpeo-assets-datepicker', Config_Util::$init['eo-framework']->core->url . 'assets/css/jquery.datetimepicker.css', array(), \eoxia\Config_Util::$init['eo-framework']->version );
52
53
		wp_localize_script( 'wpeo-assets-scripts', 'wpeo_framework', $this->get_localize_script_data() );
54
		wp_enqueue_script( 'wpeo-assets-scripts' );
55
	}
56
57
	/**
58
	 * Renvoies les données pour les scripts JS.
59
	 *
60
	 * @since 1.0.0
61
	 * @version 1.0.0
62
	 *
63
	 * @return array {
64
	 * }.
65
	 */
66
	public function get_localize_script_data() {
67
		ob_start();
68
		require \eoxia\Config_Util::$init['eo-framework']->path . 'core/view/modal.view.php';
69
		$view_modal = ob_get_clean();
70
71
		ob_start();
72
		require \eoxia\Config_Util::$init['eo-framework']->path . 'core/view/modal-title.view.php';
73
		$view_modal_title = ob_get_clean();
74
75
		ob_start();
76
		require \eoxia\Config_Util::$init['eo-framework']->path . 'core/view/modal-buttons.view.php';
77
		$view_modal_buttons = ob_get_clean();
78
79
		$data = array(
80
			'modalDefaultTitle'   => $view_modal_title,
81
			'modalView'           => $view_modal,
82
			'modalDefaultButtons' => $view_modal_buttons,
83
		);
84
85
		return $data;
86
	}
87
88
	/**
89
	 * Initialise le fichier MO
90
	 *
91
	 * @since 1.0.0
92
	 * @version 1.0.0
93
	 */
94
	public function callback_plugins_loaded() {
95
		$plugin_dir       = str_replace( '\\', '/', WP_PLUGIN_DIR );
96
		$full_plugin_path = str_replace( '\\', '/', \eoxia\Config_Util::$init['main']->full_plugin_path );
97
		$path             = str_replace( $plugin_dir, '', $full_plugin_path );
98
		load_plugin_textdomain( 'eoxia', false, $path . 'core/external/' . PLUGIN_EO_FRAMEWORK_DIR . '/core/assets/languages/' );
99
	}
100
}
101
102
new Core_Action();
103