1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
<?php
namespace Objectiv\Plugins\Checkout\Admin\Pages;
use Objectiv\Plugins\Checkout\Managers\SettingsManager;
class PageController { protected $pages = array();
public function __construct( PageAbstract ...$pages ) { $this->pages = $pages; }
public function init() { add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ), 1000 );
$this->maybe_add_body_class();
foreach ( $this->pages as $page ) { $page->init(); } }
public function is_cfw_admin_page(): bool { foreach ( $this->pages as $page ) { if ( $page->is_current_page() ) { return true; } }
return false; }
public function enqueue_scripts() { if ( ! $this->is_cfw_admin_page() ) { return; }
// Minified extension $min = ( ! CFW_DEV_MODE ) ? '.min' : '';
// Version extension $version = CFW_VERSION;
wp_enqueue_code_editor( array( 'type' => 'text/html' ) ); wp_enqueue_script( 'objectiv-cfw-admin', CFW_URL . "assets/dist/js/checkoutwc-admin-{$version}{$min}.js", array( 'jquery', 'wp-color-picker', 'wc-enhanced-select' ), CFW_VERSION );
if ( $this->is_cfw_admin_page() ) { wp_enqueue_style( 'objectiv-cfw-admin-styles', CFW_URL . "assets/dist/css/checkoutwc-admin-$version}{$min}.css", array(), CFW_VERSION ); }
wp_enqueue_style( 'woocommerce_admin_styles' );
$settings_array = array( 'logo_attachment_id' => SettingsManager::instance()->get_setting( 'logo_attachment_id' ), ); wp_localize_script( 'objectiv-cfw-admin', 'objectiv_cfw_admin', $settings_array ); }
protected function maybe_add_body_class() { if ( ! $this->is_cfw_admin_page() ) { return; }
add_filter( 'admin_body_class', function( $classes ) { return $classes . ' cfw-admin-page'; }, 10000 ); } }
|